我对VIM很新,并且一直致力于使用bundle来格式化/着色/缩进我的文件。我目前从这里下载了一个打字稿vim语法“bundle”:https://github.com/leafgarland/typescript-vim.git,问题是缩进对我来说似乎已经破解了,请考虑下面的例子,在autoindenting(gg = G)文件之后:
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设置并从此处进行捆绑:https://github.com/gisenberg/.vim,我使用git在本地计算机上同步这些文件。
TIA!
答案 0 :(得分:2)
根据Vim indentation documentation,您应该可以尝试以下内容,看看是否适合您。
如果手动更改当前行的缩进,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的本质,这就是代码编辑的本质 - 您需要尝试选项以找出最适合您的选项。
答案 1 :(得分:2)
试试这个插件 - https://github.com/jason0x43/vim-js-indent。它支持TypeScript,并修复了缩进的所有问题。