विम में एक पंक्ति में गैर-व्हाट्सएप पात्रों की शुरुआत के लिए कर्सर ले जाएं


49

विम में, क्या कर्सर को एक पंक्ति में गैर-व्हाट्सएप पात्रों की शुरुआत में स्थानांतरित करने का एक तरीका है? उदाहरण के लिए, मैं नीचे की दूसरी पंक्ति में कर्सर को "S" पर कैसे ले जा सकता हूं?

पहली पंक्ति
    दूसरी पंक्ति

अगर यह मायने रखता है, तो मैं मुख्य रूप से मैकविम का उपयोग करता हूं, लेकिन मैं कंसोल से ऐसा करने में सक्षम होना चाहूंगा।

धन्यवाद!

जवाबों:


58

अगर मैं सही ढंग से समझता हूँ - से :h ^:

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

(इसके विपरीत 0, जो आपको शुरुआत में मिलता है, भले ही व्हॉट्सएप हो या नहीं)


1
+1 0टिप्पणी पर
रॉय Truelove

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

धन्यवाद, यह वही है जो मैं खोज रहा था। आजकल संपादकों पर यह व्यवहार आम है (एटम / VSCode / उदात्त कुछ नाम करने के लिए) और मुझे इसकी आदत हो गई है ...
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 कुंजी को रीमैप करता हूं

अपना ~ / .vimrc संपादित करें

set visualbell t_vb=
map 0 ^
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.