Reputation: 31919
How would you surround the following text with 3 backticks ```
using tpope's Vim Surround.
All I can is 1 backtick using S`
in visual mode:
Upvotes: 6
Views: 937
Reputation: 196546
This is not what you asked but this can be done without surround:
(from visual mode)
c
```
<C-r>"
```
<Esc>
See :help i_CTRL-R
.
c
: Delete text and start insert. The deleted text is put in the unnamed register "
.<C-r>"
to paste the content from the unnamed register.Upvotes: 11
Reputation: 11800
Here another ultisnips solution.
snippet code "add backtics codes" w
`!v repeat(nr2char(96),3)` ${1:markdown}
${0:${VISUAL:type here}}
`!v repeat(nr2char(96),3)`
endsnippet
If you do not want "markdown" after the first line just get rid of it. I am showing this solution only to show how to avoid backslashing so much.
Upvotes: 2
Reputation: 5345
Define a custom surround:
(Insert following in your .vimrc
or file specific config ~/.vim/after/ftplugin/markdown.vim
)
" Custom surrounds
let b:surround_{char2nr('c')} = "```\r```"
now visual select and Sc
will give you desired surround.
Or use a snippet solution; for example using Ultisnips define a snippet like so:
snippet code
\`\`\`${1}
${0:${VISUAL}}
\`\`\`
endsnippet
now visual select your desired lines then hit snippet expansion key ( mine is Tab
) type code
and hit Tab
again. that's it.
Upvotes: 6