সন্নিবেশ মোডে নেভিগেশন


20

পরিশেষে আমি নেভিগেশনের পক্ষে তীর কীগুলি খাঁজ করার সিদ্ধান্ত নিয়েছি hjkl। আমি Vim hardmodeতীর কীগুলি অক্ষম করতে প্লাগইনটি ব্যবহার করেছি ।

আমি খুব দ্রুত নেভিগেশনে অভ্যস্ত হয়ে পড়েছি, তবে সন্নিবেশ মোডে নেভিগেশন হঠাৎ করে অসম্ভব হয়ে গেছে তা সক্রিয় করে দেয়।

এটির জন্য কি কোন সমাধান আছে ? (বিদ্যমান সন্নিবেশ মোড একটি সমাধান নয়)।


8
হ্যাঁ: তীরচিহ্নগুলি ব্যবহার করুন :-) এটাই তারা সেখানে রয়েছে ;-)
মার্টিন টর্নয়েজ

@ কারপেটসমোকার যদি তীরচিহ্নগুলি পাওয়া যায় তবে আমি তাদের hjkl এর পরিবর্তে ব্যবহার করতে পারি ....
stdcall

5
তবে ধারণাটি হ'ল সন্নিবেশ মোডটি (যেমন, এটি কেবল যার জন্য বোঝানো হয়েছে এটির জন্য ব্যবহার করা, অর্থাত, অন্যান্য কমান্ডের সাথে ছোট ছোট সন্নিবেশগুলি) হ'ল সমাধানটি solution যদি আমার ভুল না হয় তবে আমি এটি সাহায্যে দেখেছি, যদি আমি একটি লিঙ্ক খুঁজে পাই তবে আমি এটি পোস্ট করব। দেখে মনে হচ্ছে আপনি তীরচিহ্নগুলির সাথে না, বরং খুব বেশি অভ্যস্ত হয়ে গেছেন।
ভী

নীচে সরাতে <kbd> সুপার </ কেবিডি> + <kbd> জ </ কেবিডি> এর মতো শর্টকাট হিসাবে তীর ব্যবহার করতে আপনি আপনার কীবোর্ডকে বাঁধতে পারেন। <kbd> সুপার </ কেবিডি> যে কোনও বোতাম হতে পারে, উদাহরণস্বরূপ <kbd> Caps Lock </kbd> বেশ সাধারণ
ivanjermakov

উত্তর:


26

আপনার কাছে অনেকগুলি বিকল্প রয়েছে। একটি বিকল্প এবং আইএমও স্যানেষ্ট এবং সহজতম হ'ল কেবল তীর কীগুলি অক্ষম করা বন্ধ করা। আমি বুঝতে পেরেছি কেন অনেক হার্ড ভিমাররা এ জাতীয় জিনিস বলে

আপনার আর কখনও কখনও তীরচিহ্নগুলি ব্যবহার করা উচিত নয়! প্রতিবার আপনি তীর কীগুলি ব্যবহার করার সময়, আপনি 3 মিনিটের সময় নষ্ট করেন, একটি কুকুরছানা মারা যায় এবং কেউ ইমাসে স্যুইচ করে!

(অবশ্যই আমি মজা করছি) তবে তীর কীগুলির জন্য একটি উদ্দেশ্য রয়েছে। এগুলি নেভিগেটের জন্য অত্যন্ত দরকারী:

  • সন্নিবেশ মোডে

  • কমান্ড লাইনে

সাধারণত যখন লোকেরা আপনাকে তীরচিহ্নগুলি ব্যবহার না করার কথা বলে, কারণ তারা আপনাকে আরও vim- জাতীয় উপায়ে নেভিগেশন পুনরায় শিখিয়ে দিতে চান। আপনি যদি স্বাচ্ছন্দ্য বোধ করেন hjklএবং আপনি বেশিরভাগ সন্নিবেশ মোডে তীরচিহ্নগুলি ব্যবহার করেন তবে নিজেকে সেগুলি ব্যবহার না করার জন্য বাধ্য করার কোনও উপযুক্ত কারণ নেই।

বিকল্প # 2 টি ctrl-hjklকার্সার কীগুলির মতো কাজ করতে পুনরায় তৈরি করা। এটি দুর্দান্ত কারণ আপনি হোমরোতে থাকতে পারেন এবং এটি আপনি যে পেশীগুলির স্মৃতিতে ইতিমধ্যে hjklস্বাভাবিক মোডে ব্যবহার করে শিখেছেন তা ভালভাবে ফিট করে। আসলে, আমি এটিই করি । এই পদ্ধতির সবচেয়ে বড় ক্ষতিটি হ'ল টার্মিনাল ভিমে সেটআপ করার জন্য ব্যথা হতে পারে কারণ <C-j>একটি NULবাইট তৈরি করে । আমি জিভিম ব্যবহার করে এটি পেতে পারি। কনসোল ভিমের জন্য কোনও সহজ ফিক্স আছে কিনা তা আমি জানি না।

অপশন # 3 হ'ল <C-o>ছোট্ট মোডের নড়াচড়া করতে ব্যবহার করা। উদাহরণস্বরূপ, আপনি যদি টাইপ করছেন

Hello world!
     cursor^

এবং আপনি বুঝতে পেরেছেন যে আপনি কমাটি ভুলে গেছেন, না করে leftleftleftleftleftleftআপনি কেবল করতে পারেন <C-o>b<C-o>hবা <C-o>2Fo, বা আপনার পছন্দ মতো সাধারণ মোডের চলাফেরার কোনও সংমিশ্রণ।

অবশ্যই, অন্য একটি বিকল্প এবং আমি যেটি খুব পছন্দ করি তা হ'ল ব্যবহার করা Esc, সাধারণ মোডে ফিরে যাওয়ার আগে কয়েকটি ছোট ছোট আন্দোলন করা। আপনি উল্লেখ করেছেন যে আপনি এটি না করতে চাইবেন তবে কখনও কখনও এটি সবচেয়ে কার্যকর উপায় is

সম্ভবত কিছু অন্যান্য পদ্ধতিরও রয়েছে, তবে এগুলি আমার পক্ষে কাজ করেছে like


2
আকর্ষণীয় - আমি আপনি ব্যবহার করে নোট <c-o>gkএবং <c-o>gjপরিবর্তে <Up>এবং <Down>। তা কেন?
কাইল স্ট্র্যান্ড

4
@ কাইলস্ট্র্যান্ড gkএবং gjলাইনটি মোড়ানো থাকলেও দৃশ্যমানভাবে একটি লাইন উপরে এবং নীচে যান।
ডিজেএমসিএমহেম

4
আমি মনে করি না যে এটি নিজেই উত্তরটির পক্ষে যথেষ্ট, তবে আমি পছন্দ করি যে তীরচিহ্নগুলি সাধারণ মোডে অক্ষম করা হয়েছে (এটিই আমাকে এইচজেকেএল শিখতে বাধ্য করেছিল), এবং অন্যান্য সমস্ত মোডে সক্ষম করেছে ( noremap <Up> <NOP>...) । আপনি এইচজেকেএল শিখতে স্বাভাবিক মোডে যথেষ্ট সময় ব্যয় করেন, তবে আপনার যখন প্রয়োজন হয় তখন তারা সেখানে থাকে। বা কমপক্ষে, আমি এগুলিকে সর্বদা বন্ধ রাখার বা সর্বদা চালু রাখার মধ্যে একটি স্বাচ্ছন্দ্যময় মাঝারি জায়গা বলে মনে করি এবং এর জন্য অন্যান্য কীগুলি পুনর্নির্মাণের প্রয়োজন হয় না (প্যানগুলির মধ্যে চলার জন্য অনেক লোক Ctrl-HJKL এর মত)।
Itai Ferber

বিটিডব্লিউ, বেস এবং অন্যান্য সমর্থন vi কী বাইন্ডিং। এই ম্যাপিংগুলির সাহায্যে আপনি <ESC> ব্যবহার করতে পারেন এবং সেন্টিমিডি ইতিহাস (উপরে / নীচে) বা বর্তমান কমান্ডটি (বাম / ডানদিকে) যেতে hjkl ব্যবহার করতে পারেন
রল্ফ

9

আমি hjklআন্দোলন কীগুলিকে "সার্বজনীন" আন্দোলনের কীগুলিতে পরিণত করতে নিয়ন্ত্রণ কীটি ব্যবহার করতে চাই । আমার প্রাসঙ্গিক বিটটি এখানে .vimrc:

" In insert or command mode, move normally by using Ctrl
inoremap <C-h> <Left>
inoremap <C-j> <Down>
inoremap <C-k> <Up>
inoremap <C-l> <Right>
cnoremap <C-h> <Left>
cnoremap <C-j> <Down>
cnoremap <C-k> <Up>
cnoremap <C-l> <Right>

inoremapযখন বিবৃতি, মোড সন্নিবেশ করতে আবেদন cnoremapবেশী কমান্ড মোডে প্রযোজ্য। (আমি এই ম্যাপিংটি এত দিন ব্যবহার করে চলেছি যে কমান্ড-মোড ইতিহাস ছাড়া এটি নেভিগেট করার কোনও উপায় আছে কিনা তা আমি ভুলে গিয়েছি))

(সম্পাদনা করুন: আমি দেখতে পাচ্ছি অন্যান্য উত্তর ইতিমধ্যে এই সম্ভাবনার উল্লেখ করেছে


3

escতারপরে ব্যবহার হিট করুন hjklএবং wWbBআপনি করতে চান এমন কোনও ন্যাভিগেশন। হার্ড মোডের পুরো পয়েন্টটি আপনাকে আরও জটিল ভিএম গতি দিয়ে নেভিগেট করতে শেখা। ছোট ছোট সম্পাদনা করুন তারপরে সাধারণ মোড ব্যবহার করে একটি নতুন অবস্থানে যান।

আপনি যদি হার্ডমোড সক্ষম করে কীভাবে দ্রুত চলাচল করতে শিখতে না চান তবে একই বিষয়টির অন্য একটি প্রশ্ন থেকে আমার উত্তরটি দেখুন


3

আপনি যদি এক বা দুইটি অবস্থানেরও বেশি স্থানান্তর করতে চান ...

... সেরা পছন্দ হিট করা ESC, চারপাশে ঘোরাফেরা করা এবং আবার sertোকানো মোডে ফিরে আসা।

<C-h>বাম দিকে সরে যাওয়ার মতো ম্যাপিংস তৈরি করার মত কোনও বক্তব্য নেই এবং তারপরে এটি অনেক বার আঘাত করা শুরু করুন ... ভিআইএম ব্যবহারকারী হিসাবে আপনি স্মার্ট মুভমেন্টটি অর্জনের জন্য একই কী একাধিকবার আঘাত করার কথা নয়।

(যদি ESCচাবিটি আপনার আঙ্গুলের কাছে না থাকে তবে এটির জন্য ম্যাপিং তৈরি করা ভাল বিকল্প হবে))

আপনি যদি সন্নিবেশ মোডে এক বা দুটি পোস্টগুলি সরাতে চান ...

... আপনার পছন্দ ব্যবহার করে কিছু আন্দোলন সংজ্ঞায়িত করা একটি ভাল পছন্দ হবে <Leader>:

(আমি এটি চাবি ,হিসাবে ব্যবহার করি <Leader>কারণ এটি আমার আঙ্গুলের কাছে খুব কাছাকাছি এবং অস্থির মনে হয়)

noremap! <Leader>h <left>   "move cursor left
noremap! <Leader>j <down>   "move cursor down
noremap! <Leader>k <up>     "move cursor up   
noremap! <Leader>l <right>  "move cursor right
noremap! <Leader>w <esc>wi  "move one word forward
noremap! <Leader>e <esc>ei  "move forward to the end of word
noremap! <Leader>b <esc>bi  "move one word backward

1

আপনার যদি সামান্য পরিমাণে পাঠ্য বা একটি শব্দকে পরিবর্তন করতে হয় তবে আপনি এটি ব্যবহার করতে পারেন <Ctrl-O>h/j/k/l

<Ctrl-O> আপনাকে কেবলমাত্র সেই আদেশের জন্যই সাধারণ মোডে ফিরিয়ে নিয়ে যায় এবং তারপরে আপনাকে সন্নিবেশ মোডে ফিরিয়ে দেয়, সুতরাং যদি আপনাকে একটি ছোট চলাচলের জন্য স্বাভাবিক মোডে যেতে হয় তবে এটি আপনাকে কিছু পরিমাণে কী প্রেসগুলি সংরক্ষণ করে।

রেফ: ১। Http://vim.wikia.com/wiki/Use_Ctrl-O_instead_of_Esc_in_insert_mode_mappings

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.