我使用imap <c-v> <ESC>"+PA
在GVIM做粘貼後,但是:執行CTRL + V在VIM粘貼,總是每次我試圖粘貼我得到了意想不到的結果偏移一個字符粘貼
aa${CURSOR}aa
,和按^ V現在,我得到a${PASTE_TXT}aaa
,但我想aa${PASTE_TXT}aa
。
我該如何解決這個問題?
我使用imap <c-v> <ESC>"+PA
在GVIM做粘貼後,但是:執行CTRL + V在VIM粘貼,總是每次我試圖粘貼我得到了意想不到的結果偏移一個字符粘貼
aa${CURSOR}aa
,和按^ V現在,我得到a${PASTE_TXT}aaa
,但我想aa${PASTE_TXT}aa
。
我該如何解決這個問題?
變化imap <c-v> <ESC>"+PA
到imap <c-v> <ESC>"+pA
大寫P
是前光標位置粘貼,小寫p
是後的光標位置。
我建議你不要重新映射CTRL-V,當你想要插入原始字符時它是非常有用的。爲了在插入模式下粘貼,您不需要切換到正常模式。使用CTRL - [R然後CTRL - Ø,然後+。這不是那麼長。您可以重新映射一個F-Key能夠做到這一點:
:inoremap <F1> <C-r><C-o>+
或
:inoremap <C-v> <C-r><C-o>+
更多參考見:help i_CTRL-R
。你可能也喜歡this answer我給寄存器。
如果您仍然想要使用正常模式保留您的映射,請將P
替換爲p
和A
以及a
。畢竟你想在離開插入模式時停止的最後一個字符後粘貼,並且在粘貼文本後繼續插入,而不是在行尾。
:inoremap <C-v> <Esc>"+pa