在我正在编辑的字典文件中,我经常需要将字符"◊"插入到<>的地方。有没有一种方式可以将"◊"映射到某个键,这样我按下"r"进行替换,然后按下我的快捷键,就可以将<>替换为"◊"?
我在.vimrc中找到了一种创建imap映射的方法:
我在.vimrc中找到了一种创建imap映射的方法:
:imap <> ◊
但是切换到插入模式并不是最佳选择,是否可以全部使用替换模式,我应该在.vimrc中写什么?
使用以下地图
:map r<> :%s/<>/◊/g<CR>
您可以按下 r<>
键,这将替换当前缓冲区中所有出现的 <> 为 ◊。
如果未找到模式,则该映射(或调用它的替换)将给您一个错误 E486
。如果您不希望出现这样的错误,您需要在替换命令中指定 e
标志:
:map r<> :%s/<>/◊/ge<CR>
.vimrc
文件中。您还可以使用vim的digraph功能,按下CTRL-K,然后按cD,就会得到一个菱形。或者如果CTRL-K被映射到其他功能(某些脚本倾向于重新映射它),您可以在插入模式下使用:set digraph
,并使用c <BS> D
。
你试过使用缩写吗?可以这么做:
:abbr <> ◊
每次在插入模式下键入“<>”后跟空格(或任何非关键字字符),它都将被替换为“◊”。