Vim 用于在当前单词周围加回记号的命令
我必须手动设置许多文件的降价格式,并且我经常必须将一些孤立的单词用反勾号包装起来,以便将它们放在代码范围内,即:object.method->`object.method` 我正在使用vim,我想知道如何编写一个命令并映射到某个键,该命令将在光标下的单词周围加上反勾号,例如只需按F1键Vim 用于在当前单词周围加回记号的命令,vim,markdown,Vim,Markdown,我必须手动设置许多文件的降价格式,并且我经常必须将一些孤立的单词用反勾号包装起来,以便将它们放在代码范围内,即:object.method->`object.method` 我正在使用vim,我想知道如何编写一个命令并映射到某个键,该命令将在光标下的单词周围加上反勾号,例如只需按F1键 谢谢 典型的答案是使用plugin by Time Pope,它可以方便地包围一个选择。除非你不想安装任何插件,这里有一个简单的例子,你可以试试: :nmap <F4> :s/\(<c-r>
谢谢 典型的答案是使用plugin by Time Pope,它可以方便地包围一个选择。除非你不想安装任何插件,这里有一个简单的例子,你可以试试:
:nmap <F4> :s/\(<c-r>=expand("<cword>")<cr>\)/`\1`/<cr>
执行此命令后,按F4键将执行您所需的操作,即,将光标下的单词替换为被反勾号包围的同一单词
[更新]
这可能不适用于object.Method之类的对象。为此,这里有一个新的视觉模式映射。选择要用反勾号环绕的文本块,然后按F3键
:vnoremap <F3> <Esc>`>a`<Esc>`<i`<Esc
为了多样性,另一个粗糙的无插件解决方案:
nnoremap <key> ciw`<C-r>"`<Esc>
xnoremap <key> c`<C-r>"`<Esc>
但是,是的,只需安装环绕。已经为标记定义了多个映射:
backtick将在插入模式下插入一对backtick,或将当前单词或当前所选内容环绕在您要查找的内容周围,该环绕还提供了自己的语法
* -> ** ; 两次用于*****用于周围环境
_ -> __ ; 两次用于周围环境
~->~用于周围环境
->在插入模式下,当光标位于空对内时,删除空对。
ysiW`和viWS`都是使用surroundxnoremap实现目标的好方法,Noremap会更好。