我想映射一個密鑰,以便它在Vim中執行以下操作。假設我正在編輯一個文件;我想它建立這樣,如果我按F2,我將完成我會同樣的事情,如果我做了以下內容:如何將這五個鍵盤操作映射到Vim中的單個鍵?
- 按ESC
- 型冒號(
:
) - 類型
w
- 按輸入
- 按ESC 再次
- 型
i
回到插入模式
這可能嗎?
我想映射一個密鑰,以便它在Vim中執行以下操作。假設我正在編輯一個文件;我想它建立這樣,如果我按F2,我將完成我會同樣的事情,如果我做了以下內容:如何將這五個鍵盤操作映射到Vim中的單個鍵?
:
)w
i
回到插入模式這可能嗎?
立即回答:是的。你可以使用這個:
:inoremap <F2> <Esc>:w<CR>I
但它不會做你想要的(遊標將在錯誤的地方)。
安東把我打敗了(但是是正確的)答案。
但最好的答案是這樣的:不要錯誤地使用Vim。您絕對不應該在插入模式中花費太多時間,以至於您需要一條快捷方式才能擺脫它,保存文件,然後重新進入。與其他所有編輯器一樣,您始終處於「插入模式」,並且只是暫時彈出菜單或對話框或任何其他;在Vim中,你應該學會扭轉這一點。只彈出到插入模式來編輯或添加內容;在插入模式下,不要使用箭頭鍵移動光標;將大部分時間用於命令(正常)模式,並在對新範例進行一些調整之後,您會發現編輯速度已提高。
爲了快速保存,我想對插入模式映射做一個例外,但總的來說,你是對的。 –
在哪裏寫這段代碼,我的意思是在哪個文件和哪裏 – user175386049
[你應該使用':noremap'](http://learnvimscriptthehardway.stevelosh.com/chapters/05.html);它使映射免於重映射和遞歸。 –
是的,這是可能的,但如果光標位於行尾,它不會做你想做的事情。
要獲得插入模式保存在F2文件,請使用以下映射:
:imap <F2> <C-O>:w<CR>
考慮到他說'我'(如在,大寫'我'),它不會做他想要的東西,即使當光標不在行尾時:p – Amadan
編寫映射比描述要容易得多。
首先,您需要確定將從哪個模式使用該映射,因爲這將決定您將使用哪種:map
變體。您可能會想要在插入模式下使用此,因此您將使用:inoremap
。
映射的格式是:
:..noremap {keys} {rhs}
你想<F2>
(見:help key-notation
)爲keys
。對於{rhs}
,只需連接說明中列出的鍵。
要堅持映射,請將其添加到~/.vimrc
。 (見。)
P.S. alternative given by Anton Kovalenko可能對你正在嘗試做的更好,但在這裏我已經給出了未來關鍵映射的一般方法。
我不確定爲什麼有人會投這個票。我同意他們中的一些人所描述的做事方式並不是真的如何使用Vim,但它得到的答案對嘗試瞭解更多關於Vim密鑰映射的人非常有用。 –