当前位置:  开发笔记 > 编程语言 > 正文

如何在编辑python文件时将vim配置为不在行的开头放置注释

如何解决《如何在编辑python文件时将vim配置为不在行的开头放置注释》经验,为你挑选了3个好方法。

当我在编辑python文件时在Vim中的空行上添加#插入模式时,vim会将#移动到行的开头,但我希望将#插入到我输入它的选项卡级别.

例如,在vim中写这个

for i in range(10):
    #

#不会留在我输入的地方.

它是这样移动的,由vim.

for i in range(10):
#

有没有人知道vim中的配置项会改变这个?

如果有帮助,我使用的是Ubuntu 8.10.



1> Paul D. Eden..:

我在这里找到了答案http://vim.wikia.com/wiki/Restoring_indent_after_typing_hash

似乎vim smartindent选项是导致问题的原因.上面引用的页面描述了工作轮次,但在阅读了vim本身的smartindent帮助后(:help smartindent),我决定尝试使用cindent而不是smartindent.

我换了

set smartindent

set cindent

在我的.vimrc文件中

到目前为止,它工作得很好.

这个改变也修复了'<<'和'>>'的行为,用于缩进包含python注释的可视块.

在smartindent和cindent的vim帮助中有更多的配置选项和缩进信息(:help smartindent和:help cindent).


啊,我的.vimrc中有"filetype plugin indent on",也许这对我来说是正确的.http://vimdoc.sourceforge.net/htmldoc/filetype.html

2> 小智..:

@PolyThinker虽然我对这个问题有很多回应,但在我看来,这不是一个好的解决方案.编辑器仍然认为它应该一直向左缩进 - 通过在一个以哈希开头的行上按= =来检查这一点,或者在一个带有注释的代码块被突出显示为reindent时检查=.

我强烈推荐filetype indent on,并从你的vimrc中删除set smartindentset autoindent(或set cindent)行.其他人(显然是David Bustos)非常友好地为我们写了一个完整的缩进解析器; 它位于$ VIMDIRECTORY/indent/python.vim.

(Paul的cindent解决方案可能适用于python,但filetype indent on通常更有用.)



3> PolyThinker..:

我的.vimrc中有以下几行,似乎默认安装了我的Ubuntu 8.10

set smartindent
inoremap # X^H#
set autoindent

我没有注意到这个问题.也许你可以试试这个.(注意^ H应该通过Ctrl-V Ctrl-H输入)

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有