VIM 没有 Shift 键的特殊字符
我写了很多代码,并且厌倦了每次需要特殊字符时都按 Shift 键。由于我经常使用特殊字符,然后是数字,所以我想反转它们的移位行为。
所以,如果我输入 <4>我会得到“$”,如果我输入
我尝试过:
:set langmap 123...;!@#...,!@#...;123 "works only in normal-mode
:imap 4 $
:imap $ 4 "recursive mapping error
I write a lot of code and tired of pressing shift each time I need a special character. And since I use special chars much often, then numbers, I want to reverse shift behavior on them.
So, if I type <4> I'll get '$' and if I type <shift>+<4> I'll get '4' and so on for each number. This mapping should work only in insert mode.
I've tried:
:set langmap 123...;!@#...,!@#...;123 "works only in normal-mode
:imap 4 $
:imap $ 4 "recursive mapping error
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用
:ino
,它与:imap
执行相同的操作,只不过它不在替换文本中查找地图。 (它是“inoremap”的缩写)这将解决递归问题。请参阅此处了解更多信息:
http://vim.dindinx.net/orig/html/map.txt。 php
或者输入 :h map 来获取 vim 在线帮助(同样的事情,就在 vim 中)。
Use
:ino
, which does the same thing as:imap
except that it doesn't look for maps in the replaced text. (it's short for 'inoremap') That will fix the recursion issue.See here for more information:
http://vim.dindinx.net/orig/html/map.txt.php
Or type :h map for vim online help (same thing, just inside vim).
来自
:help imap
:同样适用于
imap
(使用inoremap
代替)。From
:help imap
:Same applies to
imap
(useinoremap
instead).