禁用 vim 自动缩进我的注释行,但继续自动缩进其他所有内容

禁用 vim 自动缩进我的注释行,但继续自动缩进其他所有内容

我希望 vim 停止自动缩进,每当我#在链接的开头添加 a 到其空白之后。

这是问题的一个例子:

原文:

dog
    cat
        moose

如果我#向“cat”行添加注释,则会自动发生这种情况(我不想要):更新的文本:

dog
#cat
        moose

如果我#向“dog”行添加注释,则会自动发生这种情况(我不想要):更新的文本:

            #dog
#cat
        moose

我真正想要的是以下内容,每当我添加 时,强制 vim 忽略#,只是不要缩进,保留该行。

原文:

#dog
    #cat
        moose

这是我目前的 vimrc。

set number 
set nowrap 
set linebreak 
set tabstop=4 
set softtabstop=4 
set shiftwidth=4 
set shiftround 
set expandtab 
set title
set mouse=a
set hlsearch
set smarttab
set autoindent
set background=dark
filetype indent on
set filetype=html
set smartindent
set nocompatible
syn on
set splitright

我尝试过的:我尝试添加这些设置但没有成功:

set nosmartindent 
set cindent 
set cinkeys-=0# 
set indentkeys-=0#

我也尝试了许多建议这个帖子没有成功。

我喜欢 vim autoindent,我希望 vim 使用 autoindent,但#在任何时候使用 a 时都不会。如何强制 vim 在#使用时不应用自动缩进?

答案1

0#indentkeys是默认的一部分yaml.vim(some /usr/share/vim/…/indent/yaml.vim)。打开yaml文件时,这将indentkeys覆盖~/.vimrc.

我的第一个想法是在打开的文件autocmd中包含一个:~/.vimrcyaml

autocmd BufNewFile,BufRead *.yaml set indentkeys-=0#

相关内容