我似乎找不到在Vim中映射<control> period和<control> comma的方法。这是否可能?
我似乎找不到在Vim中映射<control> period和<control> comma的方法。这是否可能?
根据FAQ显示,看起来使用 <C-.>
和 <C-,>
键组合时会很不幸,因为这些键组合不在Vim可以检测到的可打印ASCII键和Ctrl键的列表中(Vim只能映射到可打印的ASCII键组合)。
<Tab>
/<C-I>
、<CR>
/<C-M>
/<Esc>
/<C-[>
等(唯一的例外是<BS>
/<C-H>
)。这是一个已知的痛点,并且是vim_dev和#vim IRC频道上各种讨论的主题。
一些人(尤其是Paul LeoNerd Evans)希望解决这个问题(即使是在支持此功能的终端中的控制台Vim),并提出了各种各样的建议。
但是,截至今天,尚未出现修补程序或志愿者,尽管许多人表达了希望在未来的Vim 8主要版本中实现此功能的愿望。
看起来@Prince Goulash是正确的,但我找到了一个满足我的需求的解决方案。我绕过这个限制的方法是在我的实际终端模拟器中创建绑定,它允许绑定如<C-,>
这样的组合键(它会输出一个随机字符串,通常是3个数字后跟我想要绑定的字符,以便我不会意外按中),该组合键然后被绑定到我想要在vim中绑定的命令上。虽然不太便携,但效果非常好。
不要对制作快捷方式如此悲观。还有其他选择。尝试在AutoHotKey中使用以下代码。[你只需要下载和安装AHK,然后将以下代码作为脚本运行即可。]
#IfWinActive ahk_class Vim
^+!left:: send :s/{^}/`%/g{Enter}{$}o{enter} ; This is for commenting in tex files. you may change `% to be other symbles.
^,:: send ^ww
+^,:: send ^wW
._ .
o_O
T_T
- airtonix