[英]Simple vim function from visual mode to toggle comments (learning exercise)
[英]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.