當我使用gg=G
重新註冊文件時,我注意到右括號或括號的縮進與開始行的縮進不匹配。例如(由> ...顯示前導製表符)帶圓括號和括號的Vim縮進級別
if settings.DEBUG:
>...urlpatterns += patterns('',
>...>...url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
>...>...>...'document_root': settings.MEDIA_ROOT,
>...>...}),
>...)
我想修復縮進包含此的文件中。對於Python我有softtabstop
設置爲4,shiftwidth
設置爲4和expandtab
設置。當我做了gg=G
它導致以下內容:
if settings.DEBUG:
urlpatterns += patterns('',
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings.MEDIA_ROOT,
}),
)
這裏有兩個問題。首先,右括號與它們的開始括號的空格級別不匹配,它們縮進與括號內的代碼相同的級別。這在第二行中的(
以及其最後一行中的匹配)
以及第三行中的{
以及第五行中匹配的}
中可見。我喜歡它,所以右括號與前括號相同。
我的第二個問題是,左括號後的縮進是新塊的縮進的兩倍,甚至是開放後的縮進{
。我在想這可能是Python的文件類型縮進的一部分,但我想知道如何停止,因此所有的縮進都是4。
我有一個偷偷摸摸的懷疑,你有一些cindent規則在這裏和你一起玩。你在用cindent嗎?你可以將你的整個vimrc粘貼到某個地方嗎? –
我的〜/ .vimrc是http://pastebin.ca/2149343 我也有我的〜/ vim的/文件類型插件/ python.vim: 'SETLOCAL STS = 4 SW = 4 expandtab' –
儘管我的本意主要是爲了讓我的python代碼正常工作,我想知道在哪裏導致右括號與封閉塊放在同一個縮進的當前配置,因爲我想在全局範圍內進行更改。 –