在Vim的插入模式下,注释(#)到行首
每当我想在vim中给一个缩进行添加一个注释,我就按下Shift – o (打开当前的新行,切换到插入模式),然后开始input一个Python注释(使用#
)。 然后,这个哈希值被神奇地移动到了行的开头(没有缩进),我必须点击几次tab。
任何人都知道如何解决它?
我想你已经在你的.vimrc中set smartindent
参见:h smartindent
When typing '#' as the first character in a new line, the indent for that line is removed, the '#' is put in the first column. The indent is restored for the next line. If you don't want this, use this mapping: ":inoremap # X^H#", where ^H is entered with CTRL-V CTRL-H. When using the ">>" command, lines starting with '#' are not shifted right.
我相信你编码python时不需要smartindenting。 所以只要从你的设置中删除它或添加以下到您的.vimrc:
au! FileType python setl nosmartindent
尝试把它放在你的.vimrc中:
autocmd BufRead *.py inoremap # X<ch>#
这将使得在Python源文件中插入hash(磅)符号总是缩进。
您可能想尝试Nerd Commenter ,这是一个插件,允许您自动添加评论到大多数语言的行。 您只需将光标放在您感兴趣的行上,然后键入c Space并将该行注释掉。 相同的击键将删除注释以显示该行。
所以如果你有:
def func(): print("indented") <- cursor position in command mode
types, c 空间 ,你会得到:
def func(): #print("indented")