Pare o vim de atrapalhar meu recuo nos comentários


12

Por alguma razão, o Vim acha que todos os meus comentários devem ter todo o recuo removido. Se eu adicionar #ao início de uma linha, de repente todo o espaço em branco à esquerda será removido. Como posso parar com isso?

Eu tenho o Janus e o NERDtree instalados, caso sejam relevantes, juntamente com outras configurações pessoais abundantes na minha .vimrc, mas nenhuma que (até onde eu saiba) possa causar esse comportamento.

Respostas:


3

Eu nunca estou satisfeito com as respostas "defina todas essas coisas para o caso". Insisto em saber quais dessas coisas foram erradas e como elas foram acertadas. Aqui está um comando que mostra os valores de todas as configurações relevantes mencionadas aqui, bem como onde elas foram definidas pela última vez. Se nenhuma Last set fromlinha seguir, é um valor padrão. Não faz sentido setregistrar valores padrão corretos.

:verbose set autoindent? smartindent? cindent? cinkeys? indentexpr?

noautoindent
nosmartindent
  cindent
        Last set from ~/.vim/vimrc
  cinkeys=0{,0},0),:,!^F,o,O,e
        Last set from ~/.vim/vimrc
  indentexpr=
Press ENTER or type command to continue

Consulte: http://vimdoc.sourceforge.net/htmldoc/options.html#:set-verbose

Tudo o que eu precisava fazer era remover set smartindentum plug-in e adicioná-lo ao meu ~/.vim/vimrc:

set cindent cinkeys-=0#
set expandtab shiftwidth=4 tabstop=4 softtabstop=4

Uau! O OP alterou a resposta selecionada. Estou honrado.
Bruno Bronosky 26/09/19

6

Esta é uma batalha que lutei também e acho que finalmente venci. O problema é que há uma dúzia de maneiras diferentes de substituir o comportamento (por plugins / sintaxes).
Aqui estão todas as configurações que eu tive que usar para vencer a batalha:

set nosmartindent
set cindent
filetype plugin indent on
set cinkeys-=0#
set indentkeys-=0#
autocmd FileType * set cindent "some file types override it

Com o autocmd, o primeiro set cindentnão deve ser necessário, mas essa é uma daquelas coisas em que eu continuava adicionando linhas até que o comportamento desaparecesse.


Eu era capaz de saltar as duas últimas linhas e ainda resolver o problema
iconoclasta

1
@iconoclast note que você ainda pode ter problemas com alguns tipos de arquivos. A última linha é porque alguns arquivos de sintaxe substituem as configurações de recuo.
Patrick

1
AMD!!! set indentkeys-=0#!! Finalmente, meu sofrimento acabou !!!!!!!!
Kasapo 26/11



-1

Eu resolvi o problema comentando set smartindent.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.