在我正在编辑的字典文件中,我经常需要在<>的位置插入字符“◊”。有没有办法将“◊”映射到某个键,以便我按“r”进行替换,然后my_shortcut有<>替换为“◊”? 我找到了一种在.vimrc中进行imap映射的方法:
:imap <> ◊
但是更改为插入模式是次优的,是否可以在替换模式下完成所有操作以及我应该在.vimrc中写什么?
答案 0 :(得分:6)
使用以下地图
:map r<> :%s/<>/◊/g<CR>
您可以按r<>
,这将替换&lt;&gt;的所有出现◊在当前缓冲区中。
地图(或者更确切地说是用它调用的替换)会给你一个
如果找不到模式,则出现错误E486
。如果你不想要这样的错误,你会
想要为替换命令指定e
标志:
:map r<> :%s/<>/◊/ge<CR>
您可以将其中一个映射放入.vimrc
文件中。
答案 1 :(得分:5)
你也可以使用vim的有向图功能,按CTRL-K然后按cD你会得到一颗钻石。或者如果CTRL-K映射到其他东西(某些脚本倾向于重新映射),您可以:set digraph
并在插入模式下使用c <BS> D
。
答案 2 :(得分:2)
您是否尝试使用缩写?你可以这样做:
:abbr <> ◊
然后每次输入&lt;&gt;在插入模式下跟空格(或任何非关键字字符),它将替换为''◊''。