nmap v >gv vmap g:Ult-6ren">
gpt4 book ai didi

vim - 如何解决 Vim 中 `UltiSnips` 插件的 TAB 键映射冲突

转载 作者:行者123 更新时间:2023-12-04 11:08:32 25 4
gpt4 key购买 nike

我已将映射键设置如下:

" 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键缩进代码块的问题?谢谢!

最佳答案

通过 :h UltiSnips-triggers 查看 UltiSnips 文档说:

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>映射。我建议你删除它们并使用 >><<在正常模式和 ><在可视模式下进行初始缩进/取消缩进,然后通过 . 重复该操作,重做命令。如果您缩进/取消缩进太远,那么只需通过 u 撤消它.

如需更多帮助,请参阅:
:h >>
:h .
:h u

关于vim - 如何解决 Vim 中 `UltiSnips` 插件的 TAB 键映射冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16622566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com