如何在VIM中正确缩进typescript文件
我是VIM的新手,一直在使用bundle格式化/着色/缩进我的文件。我现在从这里下载了一个类型化的VIM语法“束”:问题是我的压痕似乎被打破了,考虑下面的例子,在自动缩进(GG= G)文件:如何在VIM中正确缩进typescript文件,vim,syntax,indentation,typescript,Vim,Syntax,Indentation,Typescript,我是VIM的新手,一直在使用bundle格式化/着色/缩进我的文件。我现在从这里下载了一个类型化的VIM语法“束”:问题是我的压痕似乎被打破了,考虑下面的例子,在自动缩进(GG= G)文件: module Module { class Foo { // some string here bar: string; // bar is incorrectly indented } } 事实上,我预期会发生以下情况: module Module
module Module {
class Foo {
// some string here
bar: string; // bar is incorrectly indented
}
}
事实上,我预期会发生以下情况:
module Module {
class Foo {
// some string here
bar: string; // bar is correctly indented
}
}
这是typescript.vim ftplugin文件:
compiler typescript
setlocal autoindent
setlocal cindent
setlocal smartindent
setlocal indentexpr&
setlocal commentstring=//\ %s
我试着摆弄不同的缩进设置,但没有效果。我在这里使用我的VIM设置和捆绑包:,我使用git在本地机器上同步这些文件
蒂亚 根据,您应该能够尝试以下方法,看看是否适合您
手工摆弄
如果手动更改当前行的缩进,Vim将忽略
该行的cindent设置
由于这种模式在TypeScript中出现的频率很高,这可能会让人恼火
尖括号
如果在键入时确实要重新缩进:
请使用
这将获得缩进,而不会丢失您认为有用的cindent
的任何部分
换钥匙
其中包含影响cindent
设置的设置,默认情况下为:
"0{,0},0),:,0#,!^F,o,O,e"
但您可能会幸运地将其更改为:
"0{,0},0),0#,!^F,o,O,e"
沟渣
您可以完全删除c样式缩进,但删除此行:
setlocal cindent
我已经介绍了很多选项,因为这是Vim的本质,也是代码编辑的本质——您需要尝试这些选项,找出最适合您的选项。试试这个插件。它支持TypeScript,并修复了我在缩进中遇到的所有问题。cindent可能正是它打破了您的习惯。在C语言中,
bar:
是标签的语法,它不应该有缩进。有可能覆盖它吗?或者告诉VIM