簡體   English   中英

學習vim時有哪些方法可以減少模式錯誤?

[英]What are ways to reduce mode errors while learning vim?

我經常在使用vim時出現模式錯誤,即我將在正常模式下開始鍵入文本,或者在插入模式下開始鍵入命令。 我明白,隨着時間的推移,隨着時間的推移,vim的怪癖會滲入你的骨頭,但有沒有辦法加快這個過程?

在插入模式下,我使用這些autocmd來突出顯示包含光標的整行,而不是在正常模式下:

if v:version >= 700
  autocmd InsertEnter * set cursorline
  autocmd InsertLeave * set nocursorline
endif

這提供了關於模式的更多視覺反饋。

如果尚未執行此操作,則可以使用:set showmode顯示當前模式:set showmode 在插入模式下,狀態欄中會顯示-- INSERT --

盡量記住始終將vim置於正常模式。

切換“Esc”和“Caps Lock”鍵。

如果您不小心點擊“大寫鎖定”,您將開始輸入與您喜歡的操作無關的命令。 如果您是一位經驗豐富的用戶,這很煩人; 如果你是初學者,那么理解出了什么問題可能會很麻煩。

每當你需要按Esc鍵時,你必須移動整個手,讓你的小手指觸摸Esc鍵,然后再次更換整個手。 一些Vim用戶會告訴你,過了一段時間你就習慣了這樣做,這不是什么大問題。 我認為這個論點不足,因為你幾乎可以習慣在任何地方映射任何鍵。 這是一個效率問題。

我相信“Esc”經常被使用,如果它被使用,很少使用“Caps Lock”。

因此,切換兩者是有意義的,因為它可以防止錯誤並提高打字速度。

使用gvim,當在模式之間移動時,光標從塊變為垂直條。 這至少給你一點視覺反饋。

插入模式應該只是臨時的。 正如其名稱所示,正常模式是編輯任務的最愛模式。

通常,您應該在正常模式下花費更多時間,並在插入內容時始終按ESC。

也許我只為自己說話,但現在我習慣於假設我一直處於正常模式,而且我幾乎從不錯。

這是我對Ned的答案的變種。 它在窗口開關上切換(窗口焦點是另一種提供很少視覺反饋的模態行為)。

if v:version >= 700
    set cursorline cursorcolumn
    au WinLeave * set nocursorline nocursorcolumn
    au WinEnter * set cursorline cursorcolumn
    au InsertEnter * set nocursorline nocursorcolumn
    au InsertLeave * set cursorline cursorcolumn
endif

我使用它與zenburn顏色方案,我也關閉光標閃爍:

if has("gui_running")
    colorscheme zenburn
    set guicursor+=a:blinkon0
endif

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM