用于在当前单词周围添加反引号的命令

时间:2014-07-03 13:36:37

标签: vim markdown

我必须手动在markdown中格式化大量文件,而且我经常需要在反引号中包含一些孤立的单词以使它们处于代码范围内,即。 :object.method - > `object.method`

我正在使用vim,我想知道如何编写并映射到某个键的命令,这个命令会在光标下的单词周围放置反引号,只需按F1键即可?

谢谢!

4 个答案:

答案 0 :(得分:4)

规范的答案是使用Time Pope的surround插件,允许轻松选择一个选项。(除非你不想安装任何插件)

答案 1 :(得分:2)

为了多样性而采用的另一种(原始)无插件解决方案:

nnoremap <key> ciw`<C-r>"`<Esc>
xnoremap <key> c`<C-r>"`<Esc>

但是,只需安装环绕声。

答案 2 :(得分:2)

lh-brackets已经为markdown定义了几个映射:

  • 反引号将在插入模式下插入一对反引号,或者包围当前单词或当前选择(您正在查找的内容,并且该环绕声也提供了自己的“语法”)
  • * - &gt; *<cursor>*; **<cursor>**两次(周围为<localleader>*
  • _ - &gt; _<cursor>_; __<cursor>__两次(周围为_
  • ~ - &gt; <del><cursor></del>(周围<localleader>~
  • <BS> - &gt;在INSERT模式下,当光标位于其中时删除空对。

答案 3 :(得分:0)

这是你可以尝试的一个班轮:

:nmap <F4> :s/\(<c-r>=expand("<cword>")<cr>\)/`\1`/<cr>

在此命令之后按F4键将执行您想要的操作,即将光标下的单词替换为反引号所包围的相同单词。

<强> [UPDATE]

这可能不适用于像object.Method这样的东西。为此,这是一个可视模式的新映射。使用反引号选择要包围的文本块,然后按F3

:vnoremap <F3> <Esc>`>a`<Esc>`<i`<Esc