Nat*_*igg 23
按下某些键时,将触发Vim的缩进功能,该功能将尝试在当前行上设置正确的缩进量.(您可以通过==在普通模式下键入来手动触发此操作.)
您可以更改哪些键触发此行为,但首先您需要知道正在使用的缩进模式.
首先,执行:set indentexpr?.如果它是非空的(我希望这对于Python),那么indentexpr正在使用模式.在这种情况下,执行:set indentkeys?会为您提供触发键列表.要删除冒号,请执行:setlocal indentkeys-=:.
如果indentexpr为空,那么您可能正在使用cindent模式,并:set cindent?会告诉您cindent已设置.在这种情况下,请像以前一样,但使用cinkeys而不是indentkeys.(请注意,indentexpr模式优先于cindent模式.)
Chr*_*ong 13
Nathan Grigg的回答让我走上正轨.我必须为我的设置做一些更改.
我不得不使用:setlocal indentkeys-=<:>,因为在我的情况下:set indentkeys?显示indentkeys=0{,0},!^F,o,O,e,<:>,=elif,=except.
此外,将:setlocal indentkeys-=<:>在.vim/after/ftplugin/python.vim没有工作,以使更改永久.我发现有一个内置的vim python缩进文件在这个后ftplugin文件之后运行.
要进行诊断,请打开Python文件进行编辑,然后运行:scriptnames.这将按优先顺序显示已运行的所有vim脚本的列表.该列表底部的脚本最近已应用,并且优先.有关详细信息,请参阅SuperUser上的此问题.
当我这样做时,它向我展示了一个内置的vim文件/my-install-path/vim/7.4.1830/share/vim/vim74/indent/python.vim.果然,这是设置<:>为缩进键的一部分.
为了解决这个问题,我在.vimrc中设置了一个autocommand,这真的得到了最后一个字.
autocmd FileType python setlocal indentkeys-=<:>
Run Code Online (Sandbox Code Playgroud)
更新
:setlocal indentkeys-=:毕竟我不得不加.这就是我.vimrc现在拥有的东西.
autocmd FileType python setlocal indentkeys-=<:>
autocmd FileType python setlocal indentkeys-=:
Run Code Online (Sandbox Code Playgroud)
它试图提供帮助.如果要关闭当前文件的所有自动缩进,
:setlocal noautoindent
:setlocal nocindent
:setlocal nosmartindent
:setlocal indentexpr=
Run Code Online (Sandbox Code Playgroud)
或者,您可以在vimrc文件中添加set.您也可以按文件类型执行这些操作.看到这里
| 归档时间: |
|
| 查看次数: |
3802 次 |
| 最近记录: |