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 ๏
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:
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:
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
Comando:
: 3,5s / Vim / VIM
Com esta linha, eliminamos todas as linhas que contรชm um #
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
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:
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
Selecione o que estรก entre aspas duplas ou simples:
vi' Selecione aspas simples
vi" Selecione aspas duplas
viB Selecione tudo o que estรก dentro das chaves
Seleรงรฃo por linha
ggVG Selecione o documento inteiro
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
[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. ๏
Acho que vou comeรงar a usar o Vim ๐
Excelente artigo, obrigado por compartilhar. Nรฃo sabia como selecionar por bloco. Felicidades!
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;).
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.
emacs! emacs! emacs! ๐
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!
Uma pesquisa para ver quais leitores preferem nรฃo faria mal.
รtimo! O Vim รฉ de longe o melhor editor de texto. Esperamos publicar mais vezes neste site sobre o referido editor. Saudaรงรตes.
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
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.
boa informaรงรฃo obrigado ๐
compartilhar seu vimrc รฉ muito compreensรญvel visualmente agradรกvel :) !!! Espero que vocรช compartilhe comigo :)!
Claro que vou ๐ deixe-me preparar um post
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;)!
Na verdade nรฃo รฉ tanto vimrc, mas vou explicar que fiz hahaha
haha muito melhor :)! entรฃo todos nรณs aprendemos haha โโobrigado :)! ๐
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!
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