Posso desativar a continuação de comentários para a próxima linha no Vim?

51

No Vim, se eu estou digitando um comentário em um arquivo de código, e eu clico em Enter , ele automaticamente torna a nova linha um comentário também.

Por exemplo, em um arquivo Ruby:

# I manually typed the pound at the start of this line and hit enter.
# This line formatted itself this way automatically.

Geralmente, isso é o que eu quero, mas nem sempre. Como posso desativar temporariamente esse comportamento de comentários automáticos?

    
por Nathan Long 14.04.2011 / 23:44

5 respostas

73

Eu acho que você está procurando

:set formatoptions-=cro

Em :help fo-table :

You can use the 'formatoptions' option  to influence how Vim formats text.
'formatoptions' is a string that can contain any of the letters below.  The
default setting is "tcq".  You can separate the option letters with commas for
readability.

letter  meaning when present in 'formatoptions'

t       Auto-wrap text using textwidth
c       Auto-wrap comments using textwidth, inserting the current comment
        leader automatically.
r       Automatically insert the current comment leader after hitting
        <Enter> in Insert mode.
o       Automatically insert the current comment leader after hitting 'o' or
        'O' in Normal mode.
...
    
por 14.04.2011 / 23:51
6

A configuração temporária da opção 'colar' pode fazer o que você quiser, mas também desativa muitos outros recursos do Vim:

Use :set paste para ativá-lo e :set nopaste para desativá-lo. Como alternativa, você pode usar :set paste! para alterná-lo.

Veja também:

:help 'paste'
:help 'pastetoggle'

(Esses comandos são digitados com aspas simples.)

    
por 15.04.2011 / 00:12
2

Eu insiro novas linhas simples não formatadas com <CR> .

Quando eu quiser continuar digitando a próxima linha no bloco comentado, eu só uso a tecla O como de costume.

Tente isto:

nnoremap <silent> <cr> :set paste<cr>o<esc>:set nopaste<cr>
    
por 26.08.2015 / 14:21
0

Eu terminei com isso:

nnoremap <Leader>o o<Esc>^Da
nnoremap <Leader>O O<Esc>^Da

Ele acrescenta uma nova linha, exclui tudo o que já está inserido e deixa o cursor no modo de inserção na coluna recuada, sem mexer nas opções de formatação.

    
por 19.05.2017 / 21:41
0

Esta resposta se aplica ao Debian e a alguns de seus derivados.

Em uma distribuição Debian, os padrões do Vim não são razoáveis. Eles estão localizados em /usr/share/vim/vim80/defaults.vim e aplicados após (!) /etc/vim/vimrc ser executado. A única maneira de informar ao Vim para não usar seus padrões é garantir que ~/.vimrc exista mesmo se estiver em branco. O Vim na inicialização tenta ler a partir de .vimrc , mas se o arquivo não for encontrado, ele aplica os padrões que trazem muitos comportamentos indesejáveis, por exemplo, integração de mouse, peculiaridades de copiar e colar, comentários em auto-wrap, etc.

No Debian você pode consertar TODOS isto simplesmente executando touch ~/.vimrc

    
por 21.03.2018 / 16:22

Tags