![在 vim 中重新映射特殊字符](https://linux22.com/image/1531981/%E5%9C%A8%20vim%20%E4%B8%AD%E9%87%8D%E6%96%B0%E6%98%A0%E5%B0%84%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6.png)
我对 vim 还很陌生,我不喜欢将基本移动按钮映射到hjkl
,因为h
和j
应该用同一根手指按下。我使用的是匈牙利键盘,它在l
:的右侧还有 3 个字符éáű
,所以我想利用这一点并重新映射这些键。但是,vim 似乎无法识别此命令:
noremap é l
。我该如何实现?
答案1
vim 页面nnoremap
以两个“n”开头,而不是一个。
http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-教程(第1部分)
我没有匈牙利语键盘,但使用俄语键盘映射,我设法
nnoremap э l
使 Э 向右移动 1 个字符。
编辑
Vim 是(著名的)模态编辑器 - 也就是说,它在不同模式下的行为不同,您可以在它们之间切换。
上述命令将键映射为“正常”模式,这似乎意味着“四处导航而不执行任何操作”
该表显示了各种模式可用的映射命令。
Commands Mode
-------- ----
nmap, nnoremap, nunmap Normal mode
imap, inoremap, iunmap Insert and Replace mode
vmap, vnoremap, vunmap Visual and Select mode
xmap, xnoremap, xunmap Visual mode
smap, snoremap, sunmap Select mode
cmap, cnoremap, cunmap Command-line mode
omap, onoremap, ounmap Operator pending mode
为了使类似的东西2dk
工作,您需要进行“操作员待定模式”的映射:
onoremap э l
“命令行模式”并没有实现我想要的效果——这意味着当我尝试在下一个重新映射命令中输入 э 时,我得到的却是一个 l。
我认为您可能不想使用“插入和替换”模式进行重新映射。但您可能想尝试“可视”和“选择”模式之一或两者。