ভিমের একটি লাইনে শ্বেতস্থানবিহীন অক্ষরের শুরুতে কার্সারটি সরান


49

ভিমে, কার্সারটি কোনও লাইনের অ-হোয়াইটস্পেস অক্ষরের শুরুতে সরানোর কোনও উপায় আছে? উদাহরণস্বরূপ, আমি কীভাবে নীচের দ্বিতীয় লাইনে কার্সারটিকে "এস" তে সরাতে পারি?

প্রথম লাইন
    দ্বিতীয় লাইন

যদি এটি গুরুত্বপূর্ণ হয় তবে আমি প্রাথমিকভাবে ম্যাকভিম ব্যবহার করি তবে আমি কনসোল থেকে এটি করতে সক্ষম হতে চাই।

ধন্যবাদ!

উত্তর:


58

যদি আমি সঠিকভাবে বুঝতে পারি - থেকে :h ^:

^ To the first non-blank character of the line.
  |exclusive| motion.

(এর বিপরীতে 0, যা আপনাকে শ্বেত স্পেসে নির্বিশেষে শুরুর দিকে নিয়ে যায়)


1
0মন্তব্যে +1
রায় ট্রুইলোভ

47

চাপ দেওয়ার পরিবর্তে ^আপনি চাপ দিয়ে _(আন্ডারস্কোর) একই লাইনে কার্সার চালু থাকা প্রথম অ-হোয়াইটস্পেস অক্ষরটিতে যেতে পারেন।

+এবং -পরের / পূর্ববর্তী লাইনের প্রথম অ-শ্বেতস্পেস অক্ষরটিতে ঝাঁপ দাও।

(এই কমান্ডগুলি কেবল কমান্ড মোডে কাজ করে, সন্নিবেশ মোডে নয়))


8

এছাড়াও সম্ভবত দরকারী: + এবং - কার্সারকে যথাক্রমে উপরের বা নীচে স্থানান্তরিত করে প্রথম অ-ফাঁকা অক্ষরে।


4

নীচে একটি স্নিপেট রয়েছে .vimrc
^[[1~টিপে ctrl+vএবং তৈরি করা হয়েছিলHome

"jump to first non-whitespace on line, jump to begining of line if already at first non-whitespace
map <Home> :call LineHome()<CR>:echo<CR>
imap <Home> <C-R>=LineHome()<CR>
map ^[[1~ :call LineHome()<CR>:echo<CR>
imap ^[[1~ <C-R>=LineHome()<CR>
function! LineHome()
  let x = col('.')
  execute "normal ^"
  if x == col('.')
    execute "normal 0"
  endif
  return ""
endfunction

ধন্যবাদ, এটি আমি অনুসন্ধান করছিলাম। এই আচরণটি আজকাল সম্পাদকদের ক্ষেত্রে প্রচলিত (অ্যাটম / ভিএসকোড / কয়েকটি নাম প্রকাশের জন্য) এবং আমি এটি ব্যবহার করতে পেরেছি ...
YoYoYonnY

0

অ্যান্ড্রু সোনের উত্তরটি প্রসারিত করে, আপনি যদি এই আচরণের জন্য 0 ব্যবহার করতে চান তবে কেবল এটির মতো মোড়ানো:

function! LineHome()
  let x = col('.')
  execute "normal ^"
  if x == col('.')
    unmap 0
    execute "normal 0"
    map 0 :call LineHome()<CR>:echo<CR>
  endif
  return ""
endfunction 

-1

আমি কেবল 0 টি থেকে key এর পুনর্নির্মাণ করছি ^

আপনার ~ / .vimrc সম্পাদনা করুন

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