Terminal Friday: Thinking Vim [Algumas dicas]

Desculpe pelos erros de grafia do Gif que escrevi muito rรกpido

Esse post foi publicado no fรณrum a uns meses atrรกs, acho que รฉ hora de eu ir no blog, dรบvidas, comentรกrios, tudo pode ser feito nos comentรกrios, por favor NรƒO CHAMAR Se vocรช nรฃo gosta do Vim รฉ sรณ deixar o post ๏™‚

Vou pular a parte bรกsica porque ela se tornarรก muito extensa se vocรช quiser ou estiver interessado em aprender, eu recomendo que vocรช execute a partir do terminal

$vimtutor

Agora, sem mais delongas, comeรงamos ๏˜€

Macros no VIM

Pode nรฃo ser um dos grandes mistรฉrios do vim, mas รฉ bom saber que o vim tem suporte de macro, รฉ possรญvel armazenar macros do a para z ; para comeรงar a gravar vocรช sรณ precisa pressionar q+letra para parar a gravaรงรฃo, pressionamos q e para invocar a macro รฉ algo como nรบmero+@+letra.

Onde:
letra: ร‰ uma chave do a para z.
nรบmero: ร‰ o nรบmero de vezes que repetiremos a aรงรฃo.

Isso facilitarรก muitas tarefas repetitivas. Por exemplo; Suponha que temos estas linhas:

um exemplo um dois exemplo dois trรชs exemplo trรชs quatro exemplo quatro cinco exemplo cinco

Queremos dar este formato:

'um': 'exemplo' 'um'; 'dois': 'exemplo' 'dois'; 'trรชs': 'exemplo' 'trรชs'; 'quatro': 'exemplo' 'quatro'; 'cinco': 'exemplo' 'cinco';

ร‰ aqui que as macros tornam tudo mais fรกcil para nรณs ๏™‚

VIM

Sequรชncia usada:

qa I '[Esc] e a': [Esc] wi '[Esc] e a' [Esc] wi '[Esc] A'; [Esc] 0j q

Em seguida, coloque o cursor na linha para alterar e usar nรบmero+@+letra neste caso eu usei 4+@+a

Substituir

Uma ferramenta muito importante no Vim รฉ para substituir isso, nos colocamos no modo normal do Vim pressionando Esc depois nรณs pressionamos : e nรณs escrevemos o comando Digo comando porque nรฃo se limita ร  substituiรงรฃo. รฉ muito parecido com RegEx
Ejemplos:

O mais comum para alterar uma sequรชncia de caracteres em todo o documento:

Terminal 2

Comando:

:% s / vim / Vim / g

Substitua em todas as linhas do vim pelo Vim nota: se eu nรฃo tivesse o sinal % Eu sรณ procuraria a linha em que vocรช estรก localizado

Substitua entre um determinado intervalo aqui entre as linhas 3,5:

Terminal 3

Comando:

: 3,5s / Vim / VIM / g

Das linhas 3 a 5 substitua Vim por VIM

Aqui, observe que nรฃo hรก g no final, ele apenas edita a primeira palavra que corresponde

Terminal 4

Comando:

: 3,5s / Vim / VIM

Com esta linha, eliminamos todas as linhas que contรชm um #

Terminal 5

Comando:

:., $ g / # / d

da linha atual . atรฉ o final do documento $ procure os numerais # e excluรญ-los d

Aqui um comando classifica a seรงรฃo do arquivo

Terminal 6

Comando:

: 3, $ sort

Da linha 3 ao final do pedido do documento

Outros Comandos

Aqui o truque estรก no comando :r ler o que isso faz quando o nome diz hahaha leia, vocรช poderia adicionar o texto de outro documento, mas neste exemplo adicionamos o indicador ! que รฉ para executar separadamente, รฉ possรญvel executar um script do mesmo vim para depurar ou o que vocรช pode pensar aqui um exemplo:

Terminal 7


Comando em ordem de aparecimento:

#Date :: r! Date #Date with format :: r! Date + \% D #List diretรณrios :: r! Ls Documents

Estou usando comandos comuns, mas o vim pega a saรญda de qualquer comando e a insere como texto no documento.

E isso รฉ sรณ uma pequena parte, ainda tem mais ... E as coisas que eu nรฃo sei hahahaha.

Seleรงรฃo

Por รบltimo, mas nรฃo menos importante, estรก o estado Visual, onde podemos selecionar linhas para manipulรก-las facilmente. Existem trรชs tipos de seleรงรฃo visual.

v Visual por personagens
V Visual por linhas
ao controle+v Visual por blocos

Selecione o que estรก entre parรชnteses:
v% Se vocรช estiver no inรญcio / fim do parรชntese
vib Se vocรช estiver entre parรชnteses

Terminal 8

Selecione o que estรก entre aspas duplas ou simples:
vi' Selecione aspas simples
vi" Selecione aspas duplas

Terminal 9

viB Selecione tudo o que estรก dentro das chaves

Terminal 10

Seleรงรฃo por linha

ggVG Selecione o documento inteiro

Terminal 11

Aqui รฉ basicamente gg vรก para o inรญcio; insira o seletor visual V; e vรก atรฉ o final G.

Seleรงรฃo por bloco

ao controle+v

Terminal 12

[controle] v e5j C [vocรช escreve o texto] [esc] [esc]

E nisso vocรช entra no seletor visual por blocos ao controlev, Avanรงo para o final da palavra e 5 linhas abaixo 5j, excluo a palavra com C, escrevo o texto para substituir e pressiono Esc Esc.

O outro รฉ o mesmo, mas em vez de c รฉ algo como excluir e entrar no modo de inserรงรฃo eu uso i entra no modo inserir I onde o ponteiro estรก localizado.

Tudo isso que eu explico pode parecer misterioso ou algo assim como vim ninja hahaha, mas nรฃo รฉ nada que nรฃo esteja no manual do vim O Vim tem uma das melhores documentaรงรตes que conheรงo para entrar na documentaรงรฃo basta entrar

:Socorro

se vocรช precisa de algo especรญfico

: ajuda: w

Isso o levarรก diretamente para a seรงรฃo que fala sobre: โ€‹โ€‹w salvar.

Agora sim... Feliz pessoal do Vim. ๏˜€


Deixe um comentรกrio

Seu endereรงo de email nรฃo serรก publicado. Campos obrigatรณrios sรฃo marcados com *

*

*

  1. Responsรกvel pelos dados: Miguel รngel Gatรณn
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentรกrios.
  3. Legitimaรงรฃo: Seu consentimento
  4. Comunicaรงรฃo de dados: Os dados nรฃo serรฃo comunicados a terceiros, exceto por obrigaรงรฃo legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento vocรช pode limitar, recuperar e excluir suas informaรงรตes.

      Nodetin dito

    Acho que vou comeรงar a usar o Vim ๐Ÿ™‚

      Rodrigo bravo dito

    Excelente artigo, obrigado por compartilhar. Nรฃo sabia como selecionar por bloco. Felicidades!

      Caveira azul dito

    Emacs ..., acho que alguรฉm tinha que dizer isso, entรฃo por que esperar mais: D, nรฃo, nรฃo รฉ o inรญcio de uma Chama, entre Emacs e Vim nรฃo pode haver discussรฃo: D, estรก bem claro qual รฉ o superior , e nรฃo, nรฃo e Vim;).

         blablabla dito

      Sim, รฉ o inรญcio de uma chama. Tenha cuidado com esses tipos de comentรกrios porque eles nรฃo sรฃo objetivos. Alรฉm disso, nรฃo contribui em nada para o tema do artigo. Saudaรงรตes.

         Zironida dito

      emacs! emacs! emacs! ๐Ÿ˜€

         Martin dito

      Emacs para as massas!
      ยซ[โ€ฆ] Acho que alguรฉm tinha que falar [โ€ฆ]ยป Hahaha, +1!

      Vestido assim, chega alguรฉm que faz o exรณtico e diz ยซcursores com setas? WASD? Nรฃo, nรฃo, vou mostrar o caminho, รฉ hjkl ยปe hรก muitos que se acendem atrรกs>: D

      @Blablabla: bem aรญ, seu nick faz jus ร  sua conversa!

         moela dito

      Uma pesquisa para ver quais leitores preferem nรฃo faria mal.

      ahdezzz dito

    ร“timo! O Vim รฉ de longe o melhor editor de texto. Esperamos publicar mais vezes neste site sobre o referido editor. Saudaรงรตes.

      Jorgรญcio dito

    Sempre tive problemas para entender macros no Vim, aรญ na hora de folga vou dar uma volta ๐Ÿ˜›

    Nota: Para usuรกrios do KDE, use Vim-QT

    obrigado

      eliotime3000 dito

    Por fim, meu Galaxy Mini terรก mais um motivo para viver: nรฃo tenho EMACS, mas tenho VIM.

    Vou levar suas dicas em consideraรงรฃo.

      kuk dito

    boa informaรงรฃo obrigado ๐Ÿ™‚

      Lito dito

    compartilhar seu vimrc รฉ muito compreensรญvel visualmente agradรกvel :) !!! Espero que vocรช compartilhe comigo :)!

         Wada dito

      Claro que vou ๐Ÿ˜€ deixe-me preparar um post

      ramg91m dito

    Uau, parece tรฃo bom :)! haha vou comeรงar a praticar mais, e seu vimrc parece muito bom Oo! Espero que vocรช compartilhe, por favor;)!

         Wada dito

      Na verdade nรฃo รฉ tanto vimrc, mas vou explicar que fiz hahaha

           ramg91m dito

        haha muito melhor :)! entรฃo todos nรณs aprendemos haha โ€‹โ€‹obrigado :)! ๐Ÿ˜‰

      Tesla dito

    Muito bom conselho Wada. A verdade รฉ que minhas necessidades de programaรงรฃo sรฃo muito bรกsicas e talvez seja por isso que nunca vi o potencial do Vim. No entanto, o que vocรช diz parece interessante para mim. Vou tentar colocar em prรกtica quando tiver que fazer alguma coisa.

    Muito obrigado!

      Jonathan Leonel Gasparini dito

    Excelente postagem! Embora eu jรก conhecesse essas dicas muito bem explicadas para quem nรฃo as conhecia!
    Uma ajudinha para novos usuรกrios, ยซvimtutorยป estรก em inglรชs, para quem quiser o tutorial em espanhol, basta digitar ยซvimtutor esยป.

    Eu amo o vim, minha vida seria totalmente diferente sem ele!
    Uso hรก 2 anos e cada dia fico mais surpreso =)

    lembranรงas

    P / D: Quem quiser ver um exemplo de configuraรงรฃo .vimrc, convido vocรช a ver a minha! =) https://github.com/jlgasparrini/dotvimrc