বর্তমানে বাশে আমি set -o viআমার ব্যাশ প্রম্পটে vi মোড সক্ষম করতে ব্যবহার করি।
আমি আইপিথনে এটি কীভাবে পাব?
দ্রষ্টব্য: যদি উত্তরটি সমস্ত * নিক্সের সাথে প্রযোজ্য হয় তবে আমি ওএস এক্স শিরোনাম থেকে সরিয়ে দেব :)
উত্তর:
যদি কেউ এখানে সম্প্রতি ঘুরে বেড়ায়, আইপথন 5.0 রিডলাইন থেকে প্রম্পট_টোকলিতে স্যুইচ করেছে , সুতরাং এই প্রশ্নের একটি আপডেট হওয়া উত্তর একটি বিকল্পটি পাস করতে হবে:
$ ipython --TerminalInteractiveShell.editing_mode=vi
... বা প্রোফাইল কনফিগারেশনে এটি বিশ্বব্যাপী সেট করার জন্য ( ~/.ipython/profile_default/ipython_config.py; এটি ipython profile createনা থাকলে এটি তৈরি করুন):
c.TerminalInteractiveShell.editing_mode = 'vi'
দেখে মনে হচ্ছে একটি সমাধান অন্যান্য অনেক রিডলাইন সুসংগত অ্যাপ্লিকেশনগুলির জন্য কাজ করে:
আপনার ~/.inputrcফাইলে নিম্নলিখিতটি সেট করুন:
set editing-mode vi
set keymap vi
set convert-meta on
set convert-meta on। এটি ইউনিকোড এন্ট্রির সাথে সাংঘর্ষিক, সুতরাং আপনি যদি ইউনিকোড পেস্ট বা টাইপ করেন তবে আপনি বিভিন্ন অনুষ্ঠান ট্রিগার করতে পারেন, যা অবাক হওয়ার মতো হতে পারে। উদাহরণস্বরূপ, type টাইপ করার চেষ্টা করুন, এবং আপনি একটি আকর্ষণীয় ফলাফল দেখতে পাবেন।
set keymap viপরিবর্তনগুলি কীম্যাপ (অর্থাত্ মোড) নীচের কমান্ডগুলিকে প্রভাবিত করবে এবং set convert-meta onকিছু কী কী আচরণ করবে তা পরিবর্তন করে । আপনার যদি তাদের দরকার হয় তবে আমি নিশ্চিত নই।
set convert-meta on(এবং সেই লাইনের নীচে যে কোনও কিছু) কেবল কমান্ড মোডে প্রয়োগ করা হবে, সন্নিবেশ মোডে নয়।
আপনি ইন্টারঅ্যাকটিভভাবে ভাই-মোড এবং ইমাকস মোডের মধ্যেও যেতে পারেন। তাদের মধ্যে স্যুইচলাইন পঠন দস্তাবেজ অনুসারে আপনি MCj কী সংমিশ্রণটি ব্যবহার করতে সক্ষম হবেন বলে মনে করা হচ্ছে তবে এটি কেবল আমার মাইকে vi- মোডে স্যুইচ করার অনুমতি দেবে বলে মনে হয় - যেখানে ESC 'মেটা' কী হিসাবে ব্যবহৃত হয় ) এটি হ'ল: ESC+ CTRL+ j। ইমাকস মোডে ফিরে যেতে কেউ সি ব্যবহার করতে পারে তবে এটি আমার পক্ষে কাজ করে না বলে মনে হয় - আমাকে তার পরিবর্তে এমসিই করতে হয়েছিল - আমার ম্যাকটিতে এটি ছিল: ESC+ CTRL+ e।
নীচে FYI আমার। / .Inputrc সেট আপ করা হয়েছে:
set meta-flag on
set input-meta on
set convert-meta off
set output-meta on
ipythonপঠন পাঠাগারটি ব্যবহার করে এবং এটি ~/.inputrcফাইলটি ব্যবহার করে কনফিগার করা যায় । তুমি যোগ করতে পার
set editing-mode vi
সমস্ত readlineভিত্তিক অ্যাপ্লিকেশনগুলিকে ইমাসের পরিবর্তে vi স্টাইলের কী-বাইন্ডিংগুলি ব্যবহার করতে সেই ফাইলটিতে ।
ipythonreadlineএকটি অজগর লাইব্রেরিতে স্যুইচ করা prompt_toolkitহয়েছে 5.0.0যাতে এটি আর কাজ করে না।
আপনি আপনার আইপিথন স্টার্ট-আপ কনফিগারেশন ফাইলে vi সেট করতে পারেন। একটি তৈরি করুন যদি আপনি এটি করার জন্য একটি ফাইল যোগ করে না ~/.ipython/profile_default/startup/এরকম কিছু বলা start.py। এখানে একটি উদাহরণ:
# Initializing script for ipython in ~/.ipython/profile_default/startup/
from IPython import get_ipython
ipython = get_ipython()
# If in ipython, set vi and load autoreload extension
if 'ipython' in globals():
ipython.editing_mode = 'vi'
ipython.magic('load_ext autoreload')
ipython.magic('autoreload 2')
from Myapp.models import *
সেই শেষ লাইনটি যদি আপনি জ্যাঙ্গোর সাথে আইপিথন ব্যবহার করেন এবং আপনার সমস্ত মডেল ডিফল্টরূপে আমদানি করতে চান।