Fiquei me perguntando se havia algum mapeamento de teclas no Vim para permitir a recuo de certas linhas de código (se essas linhas foram selecionadas no modo visual ou n linhas acima / abaixo da posição atual do cursor).
Então, basicamente, algo que converte o seguinte
def my_fun(x, y):
return x + y
para
#def my_fun(x, y):
# return x + y
Eu estou bem em usar um #
ou """
para comentar as linhas relevantes. Idealmente, eu também gostaria que o mesmo mapeamento de teclas descomente as linhas se as linhas especificadas tiverem sido comentadas.
Respostas:
Etapa 1: vá para a primeira coluna da primeira linha que deseja comentar.
Etapa 2: pressione: Ctrl+ ve selecione as linhas que deseja comentar:
Etapa 3: Shift -
I
#space(Entre no modo Inserir à esquerda, digite chars para inserir. A seleção desaparecerá, mas todas as linhas dentro dela serão modificadas após a Etapa 4.)Passo 4: Esc
fonte
Shift-I # <ESC>
não funcionou (talvez eu esteja fazendo errado).uma maneira manualmente
fonte
:10,12s/^#//
Você pode adicionar o seguinte mapeamento ao seu .vimrc
Destaque seu bloco com:
#
para comentar suas linhas da primeira coluna.-#
descomentar da mesma maneira.fonte
Destaque seu bloco com: ShiftV
Comente o bloco selecionado com:
:norm i#
(minúsculas i)Para descomentar, realce seu bloqueio novamente e descomente com:
:norm ^x
O
:norm
comando executa uma ação para cada linha selecionada. Os comentários inserirão um#
no início de cada linha e os comentários serão excluídos#
.fonte
Shift+v
) e, em seguida, usar:norm i#
apenas altera a primeira linha selecionada. Isso funciona para eu comentar as linhas 389 a 391::389,391norm i #
Normalmente, varro um bloco visual (
<C-V>
), depois procuro e substituo o primeiro caractere por:(Entrar no modo de comando com um bloco visual selecionado automaticamente coloca '<,'> na linha de comando). Em seguida, posso descomentar o bloco varrendo o mesmo bloco visual e:
fonte
Existem alguns bons plugins para ajudar a comentar / remover comentários. Por exemplo, o NERD Commenter .
fonte
Eu tenho as seguintes linhas no meu
.vimrc
:Os atalhos preservam a posição do cursor e os comentários desde que iniciem
#
(há espaço após #). Por exemplo:Após comentar:
Depois de descompactar:
fonte
s/^/#/
regexp mais simples . Prefiro que o caractere de comentário ocorra no início da linha ... mas muito mais importante, 'comentar comentários' é realmente bastante importante. Eu também descartaria oau BufEnter *.py
, pois os#
comentários são gerais o suficiente para que os comandos sejam usados em todos os buffers por padrão.Francamente, eu uso um plugin tcomment para esse link . Ele pode lidar com quase todas as sintaxes. Ele define movimentos agradáveis, usando-o com alguns correspondentes de blocos de texto específicos para python, o torna uma ferramenta poderosa.
fonte
O NERDcommenter é um excelente plugin para comentários, que detecta automaticamente vários tipos de arquivos e seus caracteres de comentários associados. Ridiculamente fácil de instalar usando o Pathogen .
Comente com
<leader>cc
. Não comentar com<leader>cu
. E alterne os comentários com<leader>c<space>
.(A
<leader>
chave padrão no vim é\
)fonte
Existem muitos plugins de comentários para o vim - alguns dos quais são multilíngues - não apenas python. Se você usa um gerenciador de plugins como o Vundle , pode procurá-los (depois de instalar o Vundle) usando, por exemplo:
E você terá uma janela de resultados. Como alternativa, você pode simplesmente procurar vim-scripts para plugins de comentários .
fonte
Não são necessários plugins ou mapeamentos. Experimente o comando "norma" interno, que literalmente executa o que você deseja em cada linha selecionada.
Adicione comentários
Remover # comentários
Ou, se seus comentários forem recuados, você poderá fazer
:norm ^x
Observe que estes são apenas comandos vim comuns sendo precedidos por ": norm" para executá-los em cada linha.
Resposta mais detalhada para o uso do comando "norma" em uma das respostas aqui
O que é uma maneira rápida de comentar / descomentar linhas no Vim?
fonte
Um plugin de peso leve muito mínimo : vim-commentary.
gcccomentar uma linha
gcgcpara descomentar. confira a página do plugin para mais.
v+k/jrealce o bloco e gcccomente-o.
fonte
CtrlK para comentar (Modo Visual):
CtrlU para descomentar (modo visual):
fonte