下午好,
我正在努力学习 Vim 映射。我想练习一些非常基本的映射,例如“替换A-s 与b-s”或“替换ù和/“,但我没有成功。
以下是我的尝试:
:imap a b
:imap ù /
:imap 'ù' /
:imap 'ù' '/'
每当我进入插入模式时,我都会A-s 当我按下A-沙ù-s 当我按下ù-s.
(除此之外我还有更多可以正确工作的复杂映射,例如nnoremap ,<space> :nohlsearch<CR>
或nnoremap <C-H> <C-W><C-H>
。)
我正在运行以下版本的 Vim:
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jun 06 2019 17:31:41)
在此先感谢您的帮助!
答案1
前两种形式是正确的;映射中不涉及引用。你必须使用:help key-notation
但是对于某些特殊键来说。
如果:imap a b
在插入模式下没有任何效果,则说明出现了问题。我猜可能是您不小心设置了:set paste
;此模式用于文字粘贴,因此插入模式映射被禁用。您可以使用并:set paste?
关闭:set nopaste
此功能(对于当前会话);您需要找出在哪个文件(例如.vimrc
或插件)中设置了此功能。
如果不是'paste'
,可能还有其他错误配置导致此问题。要继续您的(相当简单的)实验,您可以用 启动一个简单的 Vim 会话vim --clean
;这会忽略任何配置,然后:imap
肯定可以正常工作!