我已将映射键设置如下:
" Easy indent for code blocks
nmap <tab> v>
nmap <s-tab> v<
vmap <tab> >gv
vmap <s-tab> <gv
效果很好。但是,当我安装时UltiSnips
通过 vundle,Tab 键不能用作缩进操作,它会删除我选择的多行代码。我知道这是因为默认设置UltiSnips
。我想保留选项卡映射UltiSnips
触发其功能,如何解决使用TAB键缩进代码块的问题?谢谢!
通过查看 UltiSnips 文档:h UltiSnips-triggers
说:
You can define the keys used to trigger UltiSnips actions by setting global
variables. Variables define the keys used to expand a snippet, jump forward
and jump backwards within a snippet, and list all available snippets in the
current expand context. The variables with their default values are: >
g:UltiSnipsExpandTrigger <tab>
g:UltiSnipsListSnippets <c-tab>
g:UltiSnipsJumpForwardTrigger <c-j>
g:UltiSnipsJumpBackwardTrigger <c-k>
因此,在 ~/.vimrc` 文件中设置类似的内容:
let g:UltiSnipsExpandTrigger = '<f5>'
但是,您可能需要重新考虑您的<tab>
映射。我建议您删除它们并使用>>
or <<
在正常模式下和>
or <
在视觉模式下进行初始缩进/取消缩进,然后通过以下方式重复该操作.
,重做命令。如果您缩进/取消缩进太远,那么只需通过以下方式撤消它u
.
如需更多帮助,请参阅:
:h >>
:h .
:h u
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)