包含超过 1 个字符的可视文本

Surround Visual Text with more than 1 character

如何使用 tpope 的 Vim Surround3 个反引号 ``` 将以下文本括起来。

我只能 1 个反引号 在可视模式下使用 S`:

定义自定义环绕声:

(在您的 .vimrc 或文件特定配置 ~/.vim/after/ftplugin/markdown.vim 中插入以下内容)

" Custom surrounds
let b:surround_{char2nr('c')} = "```\r```"

now visual selectSc 将为您提供所需的环绕声。

或者使用片段解决方案;例如使用 Ultisnips 定义一个片段,如下所示:

snippet code
\`\`\`
${0:${VISUAL}}
\`\`\`
endsnippet

现在可以看到 select 您想要的行,然后点击片段扩展键(我的是 Tab )键入 code 并再次点击 Tab。就是这样。

这不是您要求的,但可以在没有环绕声的情况下完成:

(from visual mode)
c
```
<C-r>"
```
<Esc>

:help ctrl-r

这是另一个 ultisnips 解决方案。

snippet code "add backtics codes" w
`!v repeat(nr2char(96),3)` ${1:markdown}
${0:${VISUAL:type here}}
`!v repeat(nr2char(96),3)`
endsnippet

如果你不想在第一行之后 "markdown" 删除它。我展示这个解决方案只是为了展示如何避免如此多的反斜杠。