Vim 用于在当前单词周围加回记号的命令

Vim 用于在当前单词周围加回记号的命令,vim,markdown,Vim,Markdown,我必须手动设置许多文件的降价格式,并且我经常必须将一些孤立的单词用反勾号包装起来,以便将它们放在代码范围内,即:object.method->`object.method` 我正在使用vim,我想知道如何编写一个命令并映射到某个键,该命令将在光标下的单词周围加上反勾号,例如只需按F1键 谢谢 典型的答案是使用plugin by Time Pope,它可以方便地包围一个选择。除非你不想安装任何插件,这里有一个简单的例子,你可以试试: :nmap <F4> :s/\(<c-r>

我必须手动设置许多文件的降价格式,并且我经常必须将一些孤立的单词用反勾号包装起来,以便将它们放在代码范围内,即:object.method->`object.method`

我正在使用vim,我想知道如何编写一个命令并映射到某个键,该命令将在光标下的单词周围加上反勾号,例如只需按F1键


谢谢

典型的答案是使用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会更好。