Vim/Neovim atalhos

Alguém conhece algum site que tem todos os atalhos para o Vim ou Neovim? Já pesquisei muito no google e sempre encontro umas listas de atalhos para as funções básicas. Ai do nada estou vendo um video no youtube, o cara abre o vim e faz umas coisas que fico me perguntando, cade estes atalhos na lista de atalhos que tem na internet :clown_face:

PS: Uso o neovim com NVchad.

1 curtida

Velho, o vim tem atalhos para literalmente tudo. É mais fácil pesquisar diretamente sobre o que você quer, do que tentar ler a documentação toda (que é excelente e gigantesca).

Um bom começo é pegar algum cheat sheet, tipo esse aqui:

Pesquisando na internet se acha algumas variações dessas tabelas. Outra dica é usar o, muito útil, comando :help dentro do próprio vim. Por exemplo, se você quiser saber como usar o “mark” (para marcar uma posição no arquivo e depois voltar para ela rapidamente. Use:

:help mark

Com o comando :help você consegue encontrar informações mais detalhadas.

Se procura algum atalho ou função específica, indica ai que a galera ajuda.

P.S: segue o subreddit do vim, lá tem bastante informação e volta e meia alguém lança algum desses cheat sheets novos por lá. Tem esse link com várias dessas tabelas diferentes.

2 curtidas

Este cheat sheet da imagem eu ja tinha visto quando tive o primeiro contato com o vim. Hoje entendo alguns atalhos contidos nele.

Porém pelo meu nível de conhecimento necessito de algo mais detalhado para noob do que para expert.

O comando :help eu ja tinha visto sobre, porém não é muito útil para mim no momento, visto que muitos comandos eu não faço ideia que exista, como vou pesquisar a palavra que não sei que existe.

Basicamente o que eu busco no Vim é conseguir reproduzir as mesmas funcionalidades de um editor gráfico, porém com os poderes que existe nele para acelerar tarefas, como por exemplo ir para a linha X utilizando o Xgg, deletando o conteúdo dentro de " " com apenas 1 comando.

Tenho visto uma dificuldade em encontrar os atalhos em que se utiliza o Ctrl por exemplo insert mode, como por exemplo o Ctrl+u para apagar o conteúdo antes do cursor na mesmo linha, porém não achei ainda o comando oposto que faz com que apague do cursor para frente na mesma linha.

OBS: Os comandos no insert mode eu não acho com frequência, apenas o que utiliza o operador : ou no normal mode.

Outro exemplo é duplicar a linha no insert mode, no modo normal eu utilizo o :t. , porém no insert mode eu não sei o atalho para fazer o mesmo, e acredito que deva existir, visto que é trabalhoso você ter que sair do insert mode para o normal mode, entrar com o comando e voltar para o insert mode

Esc - 1º passo
:t. - 2º passo
i - 3º passo

Cadê o atalho que faço isso tudo em apenas 1 comando?

1 curtida

Entendi o que você procura. Eu tenho um arquivo de texto aqui com anotações do Vim, mais ou menos com o que você quer. Vou organizar de uma forma que outras pessoas além de mim consigam entender e mais tarde posto aqui. As vezes te ajuda. Eu me viro bem no Vim com o que preciso, embora esteja longe, alias, bem longe de ser um entendido no Vim.

Eu tive algumas dúvidas semelhantes quando comecei a usar o Vim. Por isso acabei criando esse arquivo, com anotações, dicas, e pesquisas que fiz na documentação no subreddit oficial e em vimrc’s dos outros.

Uma dica que posso passar é, vale a pena aprender o Vim. Isso se você é uma pessoa que gosta e tem paciência de aprender coisas novas.

2 curtidas

Eu ja venho usando o vim a um tempo, porém como ele tem muitos recursos, vou evoluindo aos poucos para fixar os comandos.

1 curtida

Dei uma olhada aqui com calma nas anotações aqui. Não tem nada que não se encontre nesses cheat sheets por aí. Então nem vou postar nada aqui.

Eu faço uso dos comandos básicos no vim, então os comandos comuns funcionam bem para meu uso. Como disse no outro comentário, eu pesquisaria no subreddit. Nunca deixei de encontrar uma
informação que precisava lá ou na documentação oficial.

Uma dica que posso dar é, para coisas mais complexas, você pode usar regex. Outra dica, é que os comandos básicos como d, c etc. podem ser combinados com outros. Logo, as vezes é
um comando básico aliado a outro básico que resolve seu problema.

Por exemplo, no caso de ir para uma linha específica e deletar o conteúdo dentro de um parêntesis. Você pode usar (no modo normal):

24,di(

No exemplo acima, o conteúdo estava na linha 24 dentro de parêntesis. Após o comando, o resultado é o conteúdo de dentro dos parêntesis removido e o cursor vai para essa linha e ficará
localizado dentro dos parêntesis (que agora estará vazio). Viu que eu fiz tudo com comandos básicos do Vim? A única diferença é que usei a vírgula para separar os comandos. A vírgula faz com
que os comandos sejam executados em sequência.

Para remover o texto a partir do cursor, seja para o inicio ou o final da linha, é só usar:

d( ou d) ou d$ ou d0

Lembrando, no Vim o $ e o 0 representam começo e final da linha respectivamente. Nesse exemplo, o vemos que o Vim usa regex. Então, se souber o básico de regex dá para usar também.

Cara, as outras dúvidas que você tem, eu não posso ajudar não. Mas, como sou curioso, vou pesquisar e se achar as respostas volto aqui.

Por enquanto ficou assim:

Em insert mode
Ctrl + o # habilita execução de um comando “normal mode” dentro do insert mode
d0 # apaga tudo antes do cursor até o inicio da linha
d$ # apaga tudo após o cursor até o final da linha

1 curtida

Este tópico foi fechado automaticamente. Novas respostas não são mais permitidas.