Quais recursos do Vim você usa? [fechadas]


13

Passo quase o dia inteiro programando no Vim e tenho certeza de que muitos de vocês também. Quais recursos você usa para tornar o seu dia a dia muito melhor? Uma que eu uso é gv , que permitirá selecionar novamente o texto selecionado anteriormente. É ótimo para reindentação!


1
Para fins históricos, aqui está um link para a pergunta tão original: stackoverflow.com/questions/95072/...
Jax

Observe meu comentário abaixo e você nem precisará digitar gv. :)
Nathan Long

Respostas:


9

:% s / X / Y / g

Este comando substitui todas as instâncias de x no arquivo atual por y . Isso é basicamente apenas uma descoberta e substituição, mas eu o uso tantas vezes desde que aprendi no trabalho que se tornou inestimável.

Além disso, / search string

então n para navegar por todas as instâncias da cadeia de pesquisa no arquivo. Ótimo para fazer ajustes manuais com muito mais facilidade, especialmente se você não pode aplicar uma regra ao arquivo inteiro.


Na verdade, estou trabalhando na conversão de uma seção ampla da nossa base de código no trabalho e estou fazendo isso inteiramente com expressões regulares do vim (até agora). Funciona muito bem!
21710 Frew Schmidt

Adicione 'c' ao final para tornar o comando interativo. por exemplo:% s / x / a / gc
sml

1
Observe que %é onde fazer a substituição - %significa "o arquivo atual". Se você destacar visualmente algumas linhas e tipos :s, poderá fazer uma substituição apenas nessa seleção.
Nathan Long

7

== faz um bom recuo automático na linha atual.

Normalmente, porém, uso =com um movimento, como =Grecuar até o final do arquivo ou =i}recuar dentro do conjunto atual de chaves.


2
Lembre-se também >> e <<, que podem fazer (des) recuar manualmente.
21710 Frew Schmidt

@Frew - sim. Além disso, se você adicionar vmap <Tab> >gve adicionar vmap <S-Tab> <gvao seu .vimrc, você pode recuar e desanuviar com Tab e Shift-Tab, respectivamente, E ele voltará ao modo de seleção visual para que você possa recuar ou desanuviar ainda mais.
Nathan Long

6

=% para recuar automaticamente tudo dentro de um bloco de código.


Oooh! Isso é novo para mim!
Frew Schmidt

Isso funciona se o cursor estiver no começo {. Se você está dentro do quarteirão, pode fazê-lo =i{para "recuar dentro do aparelho".
Nathan Long

5

Use *no modo de comando para procurar a palavra sob o cursor.


1
E não esqueça que é o comando irmã, #, que faz a mesma coisa, mas recua ao invés de avançar!
Frew Schmidt

5

O :!comando - inestimável para lsing, e o truque "sudo tee".

Me pediram para explicar o truque do tee. Basicamente, permite salvar um arquivo de texto com privilégios de administrador, mesmo que você não tenha iniciado o VIM como root:

:w !sudo tee %

Você pode explicar o truque "sudo tee" aqui :-) Também gosto de fazer:! Sort depois de destacar definições de variáveis ​​e outros enfeites.
21710 Frew Schmidt

Você pode realmente transformar o Vim em um ótimo editor "programável" usando:! e alguns scripts shell / Python / Perl / outros.
Jonas

Na verdade, tenho uma alternativa para !ls, que executa a vnew, gera saída r!lspara o novo buffer e reduz horizontalmente. Eu não posso ser incomodado para lembrar todos os arquivos em um diretório com mais de três nele;)
new123456

4
.

Atingindo o. A tecla repete o comando anterior. Adorável por, digamos, editar um .ini, mais ou menos.


isso é surpreendentemente poderoso, mas é preciso um pouco de força para que você possa realmente melhorar.
Aaron


2

Estou sempre usando o gq para refazer as quebras de linha no email, arquivos de texto, etc. Realmente útil ao responder ao email (eu uso o pine) e editar várias respostas anteriores.


Oooh, eu tinha esquecido totalmente disso!
Frew Schmidt

Por que, oh, por que, os clientes de email mais populares não suportam funcionalidade semelhante?
erichui

Recentemente eu estou usando gw vez de GQ, pois mantém a posição do cursor
SergioAraujo

2

Por onde começar ... Aqui estão as coisas que me lembro que usei nos últimos 5 minutos ou mais.

  • Árvore NERD - Exploração de arquivos. Torna o VIM mais parecido com um IDE.
    • Uma coisa importante para mim é a capacidade de acessar cdum diretório e, em seguida, passar para um prompt de shell através de meus mapeamentos de shell (abaixo).
  • ci para esvaziar o que você está preso entre.
  • :! para iniciar aplicativos padrão.
    • Eu tenho mapeamentos para iniciar um prompt de shell, cliente mysql, arquivos de log do apache, etc.
    • A integração do Subversion é sempre agradável. Quick diffs, stats, etc.
  • :abbr para fazer a digitação repetitiva de grandes blocos desaparecer.
  • Guias. Preciso dizer mais?
  • Dividir arquivos, sempre bom. :Sexé sempre legal.
  • :set paste! para evitar que o recuo automático funcione mal.

Eu uso todos esses, exceto o abbr. Eu costumo fazer muito mais macros do que abreviações.
21710 Frew Schmidt


1

Eu uso fortemente os seguintes comandos ao escrever ou percorrer o código C / Tcl / Perl:

copiar e colar código

CTRL-fe CTRL-bpara a página avançar e retroceder a travessia
%bloco a bloco
^ goto início da linha
$ goto último fim da linha

comece a selecionar o código usando o comando v(modo visual) e qualquer uma das teclas de deslocamento acima
ypara copiar
ppara colar

s para excluir um caractere e ir para o modo de inserção para digitar novo texto.

Travessias no nível de código (requer disciplina no estilo de codificação)

]]para início da próxima função
[[para início da função anterior

CTRL-] para pular para a definição de uma variável / função / macro se houver tags disponíveis.

Procurar

* => pesquisar palavra (ou texto selecionado usando v) na direção para frente
# => pesquisar palavra (ou texto selecionado usando v) na direção inversa
n => executar comando de pesquisa anterior na direção direta
N => executar comando de pesquisa anterior na direção reversa

Todos os comandos acima podem ser anexados com um número para indicar quantas vezes o executar. A realização do poder dessa dimensão adicional ocorre lentamente à medida que se usa o vim cada vez mais e se desafia a melhorar.


Ah,]] e [[são novos para mim. Isso é legal!
21710 Frew Schmidt #

0

Acabei de inserir texto. Tudo o resto é apenas ... Açúcar.


0

Eu sou um ex-usuário do TextPad e memorizei muitas das teclas aceleradoras desse programa. Uma das primeiras coisas que fiz no Vim foi aprender a função de mapa para manter a consistência (pesquisa F5, substituição F8, etc.). Criei meu esquema de cores pessoal e peguei emprestado muito dos arquivos vimrc de outras pessoas. Viva Vim! Configurável para qualquer grau.

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.