我已设置映射键如下:
" Easy indent for code blocks
nmap <tab> v>
nmap <s-tab> v<
vmap <tab> >gv
vmap <s-tab> <gv
Run Code Online (Sandbox Code Playgroud)
这很好用.但是,当我UltiSnips
通过vundle 安装时,Tab键不能作为缩进操作,它将删除我选择的多行代码.我知道这是因为默认设置UltiSnips
.我想保留Tab映射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>
Run Code Online (Sandbox Code Playgroud)
所以在你的〜/ .vimrc`文件中设置这样的东西:
let g:UltiSnipsExpandTrigger = '<f5>'
Run Code Online (Sandbox Code Playgroud)
但是,您可能需要重新考虑<tab>
映射.我建议您删除它们并使用>>
或<<
在正常模式下>
或<
在可视模式下执行初始缩进/取消缩进,然后通过.
重做命令重复操作.如果你缩进/缩进太远,那么只需撤消它u
.
有关更多帮助请参阅:
:h >>
:h .
:h u
Run Code Online (Sandbox Code Playgroud)