vimrc - como bloquear o comentário?

11

Eu não quero comentar linhas de texto em um arquivo de texto ou código. Eu estou procurando inserir comentários de bloco em um arquivo .vimrc . Para inserir um comentário de linha única " é usado, por exemplo:

" remove spaces and tabs as well  at the end of line automatically while saving
autocmd BufWritePre * :%s/\s\+$//e

Agora eu tenho uma quantidade relativamente grande de configurações / plugins / plugins coletados ao longo dos anos depois de navegar pela internet para adicionar recursos interessantes. Eu estou olhando para adicionar alguns grandes blocos de comentários ao meu arquivo .vimrc. Adicionar " a cada linha é uma opção, mas estou procurando uma sintaxe de comentário de bloco. Semelhante a /**/ em C.

// é idêntico a " e /* */ é idêntico a _

por mtk 03.06.2013 / 09:37

5 respostas

4

Eu não acho que isso seja possível. O melhor que você poderá fazer é bloquear selecionar algum texto e fazer uma pesquisa / substituição no primeiro caractere s/^/"/ no vim para inserir um " no início de cada linha.

O plugin vim NERD Commenter pode ajudar a tornar isso mais fácil também.

    
por 03.06.2013 / 10:09
3

Minha solução é envolver o código dentro de um function .

Isso funciona bem no vimrc, por exemplo, para testes de realce de sintaxe heredoc , que também exigem comentários reais do bloco. sem personagens principais. No meu vimrc, eu uso tal bloco logo após configurar meu heredoc SyntaxRanges .

function! _blockcomment()

    " free text comment
    You can write free text here,
    but vim will try to highlight it as vimscript!

    " markdown heredoc
    test <<MD
    ### Nevertheless ###
    * for testing my fuzzy SyntaxRange heredocs
    * having no leading chars is essential
    * and the blockcomment function does the trick
    MD  

endfunction 

Esta solução é semelhante ao truque if 0 do @Stéphane, que não funcionou para mim. Apenas certifique-se de nunca chamar essa função!

    
por 20.04.2016 / 19:20
1

Um truque:

  • coloque o cursor no primeiro caractere da primeira linha para comentar
  • pressione Ctrl-V para entrar no modo de bloqueio visual
  • baixe o cursor até a última linha para comentar
  • pressione I (shift + i) para entrar no modo de inserção condicional
  • pressione '"' para comentar (uma citação e um espaço)
  • pressione Esc para sair do modo de inserção

Todas as suas linhas selecionadas agora são prefixadas pela string que você digitou no modo de inserção.

    
por 03.06.2013 / 14:07
0

Use o plug-in tComment para o Vim: link

Sim, ele suporta Python (adicionado em 2011).

description :TComment works like a toggle, i.e., it will comment out text that contains uncommented lines, and it will uncomment already commented text (i.e. text that contains no uncommented lines).

If the file-type is properly defined, :TComment will figure out which comment string to use based on the values of &commentstring or &comments. For some filetypes, the comment definition is explicitly defined. You can |tcomment#DefineType()| to add your own definitions.

TComment knows how to deal with embedded code of a different filetype than the main filetype, e.g., ruby/python/perl regions in vim scripts, HTML or JavaScript in php code etc.

As operator (the prefix can be customized via g:tcommentMapLeaderOp1 and g:tcommentMapLeaderOp2):

gc{motion}   :: Toggle comments (for small comments within one line 
                the &filetype_inline style will be used, if 
                defined) 
gcc          :: Toggle comment for the current line 
gC{motion}   :: Comment region 
gCc          :: Comment the current line 

Primary key maps:

<c-_><c-_>   :: :TComment 
<c-_><space> :: :TComment <QUERY COMMENT-BEGIN ?COMMENT-END> 
<c-_>b       :: :TCommentBlock 
<c-_>a       :: :TCommentAs <QUERY COMMENT TYPE> 
<c-_>n       :: :TCommentAs &filetype <QUERY COUNT> 
<c-_>s       :: :TCommentAs &filetype_<QUERY COMMENT SUBTYPE> 
<c-_>i       :: :TCommentInline 
<c-_>r       :: :TCommentRight 
<c-_>p       :: Comment the current inner paragraph 

There is also a secondary set of key maps with _ as leader (more preferable on terminals).

    
por 03.06.2013 / 14:10
0

Existe este plugin que muda vidas por tpope chamado vim-commentary

link

Este plug-in fornece :

  • Sanidade
  • Comentários corretamente indentados
  • Não comenta linhas vazias / desnecessárias

Uso :

  • Instale via Vundle (ou Pathogen, eu acho).
  • Destaque seu texto e pressione : , que será exibido como :<,'>
  • Digite Comentário aqui :<,'>Commentary e pressione Enter.
  • Bom. Seu broto feito.
por 15.12.2017 / 17:22