回答
它試圖有幫助。如果你想關閉所有的自動縮進當前文件,
:setlocal noautoindent
:setlocal nocindent
:setlocal nosmartindent
:setlocal indentexpr=
或者,你可以在你的vimrc文件中添加設置。您也可以按文件類型執行這些操作。請參見here
某些按鍵在按下時會觸發Vim的縮進功能,該功能將嘗試在當前行上設置正確的縮進量。 (您可以通過在正常模式下鍵入==
來手動觸發此操作。)
您可以更改哪些鍵觸發此行爲,但首先您需要知道正在使用哪種縮進模式。首先,執行:set indentexpr?
。如果它是非空的(我預計這將用於Python),那麼將使用indentexpr
模式。在這種情況下,執行:set indentkeys?
會爲您提供觸發鍵列表。要刪除冒號,請執行:setlocal indentkeys-=:
。
如果indentexpr
爲空,那麼您可能使用cindent
模式,並且:set cindent?
會告訴您cindent
已設置。在這種情況下,請按照以前一樣進行,但使用cinkeys
而不是indentkeys
。 (請注意,indentexpr
模式優先於cindent
模式。)
但是這不會在會話中持續存在,並且添加到'.vimrc'也無濟於事,因爲之後會加載Python的自定義設置。 –
嘗試把它放在.vim/after/ftplugin/python.vim –
對我來說,編輯一個python文件,':set indentkeys?'顯示出indentkeys = 0 {,0},!^ F,o,O,e, <:>,= elif,=除了'。查看冒號是如何指定的,大於和小於字符'<:>'。爲了得到這個在我的情況下工作,我不得不這樣做:':setlocal indentkeys- = <:>'。 –
Nathan Grigg's answer使我處於正確的軌道。我必須爲我的設置進行一些更改。
我不得不使用:setlocal indentkeys-=<:>
,因爲在我的例子中:set indentkeys?
顯示爲indentkeys=0{,0},!^F,o,O,e,<:>,=elif,=except
。
此外,將:setlocal indentkeys-=<:>
置於.vim/after/ftplugin/python.vim
未能使更改永久。我發現有一個內置的vim python indent文件,它在after-ftplugin文件後運行。
要進行診斷,請打開一個Python文件進行編輯,然後運行:scriptnames
。這將按照優先順序向您顯示所有已運行的vim腳本的列表。該列表底部的腳本最近已應用,並且優先。有關更多信息,請參閱this question on SuperUser。
當我這樣做時,它向我展示了一個內置的vim文件/my-install-path/vim/7.4.1830/share/vim/vim74/indent/python.vim
。果然,這是設置<:>
作爲縮進鍵的一部分。
爲了解決這個問題,我在.vimrc中設置了一個自動命令,這真的是最後一個詞。
autocmd FileType python setlocal indentkeys-=<:>
更新
我畢竟加:setlocal indentkeys-=:
。這就是我現在在我的.vimrc
中所擁有的。
autocmd FileType python setlocal indentkeys-=<:>
autocmd FileType python setlocal indentkeys-=:
- 1. Vim雙縮進python文件
- 2. Vim縮進(Python編程)
- 3. 在Vim中進行縮進壓縮時換上新的線?
- 4. 在VIM中縮進一堆線
- 5. 如何使vim的縮進線在iTerm上連接(連續)縮進線?
- 6. Vim的:黃瓜縮進「和」線
- 7. 防止UISearchBar在點擊時縮進
- 8. 如何防止Vim在圓括號中縮進包裹的文本
- 9. 防止emacs在Python中過度縮進行延續
- 10. 如何阻止vim縮進左括號
- 11. vim autoindent停止刪除縮進
- 12. vim中的塊縮進/取消縮進python代碼
- 13. 「Snappy」縮進Vim?
- 14. Vim啞縮進?
- 15. vim正確縮進python片段
- 16. Vim Python縮進不起作用?
- 17. Vim Python縮進更改代碼語義
- 18. 在使用vim縮寫時防止尾隨空格
- 19. html5畫布防止線寬縮放
- 20. 防止Vim從英鎊符號「#」開始?
- 21. 防止VIM預覽窗口從封閉
- 22. 始終在vim中縮進
- 23. 在vim中自動縮進壓縮的縮進代碼
- 24. Vim:持久縮進
- 25. 如何阻止vim在縮進/引導空白處繪製水平線?
- 26. 防止縮略圖縮放?
- 27. 在Raphael中防止縮放
- 28. 防止vim拖出整行
- 29. 防止Vim隱藏字符
- 30. 防止Vim記住更改
你爲什麼認爲它可能試圖縮進一行?如在中,':'字符用於表示函數或控制語句... – YXD
你真的想要什麼樣的行爲? – aIKid
這發生在我身上,但是我不小心在Ubuntu中從德語切換到US鍵盤。 – alex