【发布时间】:2018-09-14 10:24:32
【问题描述】:
在使用 Jinja 模板和 YAML 进行 Ansible 配置时,我经常复制并粘贴一个变量名(例如,nginx_root),然后需要将它用双花括号括起来:{{ nginx_root }}。手动操作会很麻烦,所以我希望能够键入一个 Vim 键绑定来将光标下的当前单词用双花括号括起来。
使用vim-surround plugin,我可以通过ysiw}lysiw{ 将所需的花括号添加到光标下的单词,但这比我想要的要多得多。我尝试了以下 Vim 键绑定,但在普通模式下调用它根本没有明显的效果:
" Wrap text under cursor with double curly braces (e.g., for Jinja variables)
nnoremap <C-J> ysiw}lysiw{
所以,我的问题是:
使用常用的 Vim 功能、vim-surround plugin 和/或任何其他工具组合,如何使用空格填充的双花括号绑定将光标下当前单词包裹起来的键?例如,
nginx_root→{{ nginx_root }}有没有办法在插入模式下也实现这一点,光标就在单词的右边? (
nginx_root*,其中*是光标位置)如何绑定一个键(最好在正常和插入模式下都可用)以在当前光标位置插入
{{ * }},其中*是插入后光标的位置? (这将有助于输入新的 Jinja 变量,而不是如上所述对复制+粘贴变量进行操作。)
【问题讨论】:
标签: vim vim-plugin surround