我希望能夠設置MacVim,使其在保存緩衝區後切換回正常模式。例如:可以說我在插入模式下添加了一些文本,然後點擊「Command + S」進行保存,我希望在保存操作完成後進入正常模式。保存在MacVim中時,我可以自動退出插入模式嗎?
這可能嗎?
注意:因爲上述情況尚不清楚,我不想花更多時間在插入模式,但更少。我想在保存時自動退出插入模式。
我希望能夠設置MacVim,使其在保存緩衝區後切換回正常模式。例如:可以說我在插入模式下添加了一些文本,然後點擊「Command + S」進行保存,我希望在保存操作完成後進入正常模式。保存在MacVim中時,我可以自動退出插入模式嗎?
這可能嗎?
注意:因爲上述情況尚不清楚,我不想花更多時間在插入模式,但更少。我想在保存時自動退出插入模式。
想要通常處於插入模式是使用Vim錯誤。如果它適合你,那很好;但是你永遠不會在堅持這種習慣的同時達到Vim的潛力;還不如用記事本++/SublimeText3/...
如果你真的想要的話,你可以有類似:inoremap <C-s> <C-o>:w<CR>
保存和留在插入模式,或:inoremap <C-s> <Esc>:w<CR>
保存並移動到正常模式。 (它僅適用於圖形Vim,因爲終端Vim通常不會收到Ctrl-S。)
感謝您的回答,我會試試這個。注意:您可能有錯誤的印象,我絕對不希望通常處於插入模式。只是碰巧我不想點擊「Caps/Esc」然後點擊「Command + S」來保存。我只是想點擊「Command + S」,如果我在Insert中做某件事,就讓它回到Normal模式。 – f1lt3r
您的答案似乎適用於「Ctrl + S」,但不適用於「Command + S」。我試圖使用:':inoremap
呃,對不起,誤讀了這個問題。 MacVim中的'
將下列行添加到.gvimrc
將禁用MacVim的[Cmd + S]快捷方式,並將模式切換回正常保存前。
當按[Cmd] + [S]鍵(因爲這會激活替代命令)時,它也會阻止Vim進入插入模式。注意:您仍然可以像往常一樣替代按[S]鍵。
" Disable MacVim save shortcut
macmenu File.Save key=<nop>
" Exit to Normal mode upon [Cmd+S]
inoremap <D-s> <Esc>:w<CR><Right>
vnoremap <D-s> <Esc>:w<CR>
" Save in Normal mode (block Substitute)
nnoremap <D-s> :w<CR>
感謝@Amadan指引我在正確的方向。
爲什麼不用Vim的方式呢?用''返回到正常模式,並用':w '寫入。 –
romainl
我正在使用LiveReload很多,所以我通常會想要插入模式,鍵入一些文本,點擊保存,當文件更改時,Web瀏覽器將會更新,然後我發現我幾乎總是希望返回到正常模式並使用「}」「)」「/ search」跳到文件中的其他地方等。 – f1lt3r