【发布时间】:2010-11-22 22:56:59
【问题描述】:
我(尝试)从 textmate 转到 vim [确切地说是 macvim] 作为我的主要编辑器。我已经安装了 snipmate - 想知道您是否建议我安装其他插件?
特别是我似乎在缩进方面遇到了很多麻烦(<< 似乎真的做了一些非常奇怪/不可预测的事情),我似乎无法找到解决方案 - 是否有我需要的插件让它正常工作?
谢谢!
【问题讨论】:
标签: python vim textmate macvim
我(尝试)从 textmate 转到 vim [确切地说是 macvim] 作为我的主要编辑器。我已经安装了 snipmate - 想知道您是否建议我安装其他插件?
特别是我似乎在缩进方面遇到了很多麻烦(<< 似乎真的做了一些非常奇怪/不可预测的事情),我似乎无法找到解决方案 - 是否有我需要的插件让它正常工作?
谢谢!
【问题讨论】:
标签: python vim textmate macvim
:h =
简而言之,在您希望使用的块内的正常模式下:
=a{ 重新缩进一个块。 =a} 和 =aB 也可以。=2a{ 重新缩进此块及其外部块。=% 将重新缩进到匹配的大括号。>a{ 增加这个块的缩进。<a{ 减少该块的缩进。. 重复上一条命令,因此<a{. 将该块的缩进减少了两次。确保您设置了filetype,以便 Vim 识别文件类型。毕竟缩进是文件类型的一个功能。
:h gq
【讨论】:
< 和 > 命令进一步缩进以调整事物的语义。
if True: \ndothis() \ndothat() 可以根据缩进表示不同的含义。 (想象\n 是换行符)。 dothat() 应该是 if 块的一部分,还是外部块的一部分? Vim 无法回答这个问题,但它可以确定 dothis() 应该缩进以使程序有效。它会让dothat() 不缩进,让您决定它应该在什么范围内。
在你的 vimrc 文件中设置文件类型设置
filetype plugin indent on
这应该启用文件类型插件和自动缩进
【讨论】:
我不确定您需要什么,因为我没有使用过 textmate。但我确实使用这些Plugins for VIM。他们帮了我很多。
【讨论】: