Conteúdo mais atualizado em wiki.silva.eti.br
edicao de texto com vim
o vim eh um fork do vi e esta presente na maioria dos sistemas operacionais modernos, por isso o dominio basico vai ajudar muito o administrador de sistema a ter condicoes de trabalhar sem dificuldade em todos eleso vim faz uso intensivo de teclado, o que na verdade, faz com que seja muito mais elegante e funcionalaqui coloco algumas dicas que fui colecionando ao longo do tempo:modos de edicao de arquivos
vi -b arquivo –> abre arquivo no modo binariovi -R arquivo –> abre no modo somente leituravi +10 arquivo –> abre o aquivo na linha 10vi +/palavra arquivo –> abre o arquivo e procura palavravi +%s/velho/novo arquivo –> abre arquivo e troca palavra velho por novoquebra de linha
%s/,/,\r/g (help sub-replace-special)para inserir uma quebra de linha apos um delimitador como ”,”.util quando voce tem um arquivo assim : 1,2,3,4e quer um arquivo assim1,2,3,4quebra de linha sem delimitador
%s/$/\r/10,20s/$/\r/trabalhando com abas:
abrir nova aba - :tabnew ou :tabnew /caminho/para/arquivo ir para proxima aba - :tabnextir para aba anterior - :tabprevioussair de todas as abas - :qallsair de todas as abas ignorando mudancas - :qall!salvar todas as abas - :wallsalvar e sair de todas as abas - : xalldividindo a tela:
horizontalmente - :splitverticalmente - :vsplitnavegar entre as divisoes da tela - manter pressionado e digitar ww fechar a divisao de tela atual - :qem modo visual:
selecao visual, recortar, copiar, colar:para comecar/encerrar o modo de selecao visual, va para o modo de visualizacao (esc) e tecle vselecao da linha inteira: V (sim, V maiusculo, pode ser com shift ou caps lock)recortar: no vim recortar e deletar sao a mesma coisa, pense como uma remocao que mantem o item removido em memoria:deletar/recortar a linha inteira: ddcolar do cursor em diante: p (funciona em modo visual, substituindo o item selecionado)colar do cursor para tras: pcopiar em modo nao visual: yy (copia a linha inteira)copiar visualmente:ydesfazendo os acoes: urefazendo o desfeito: r :g/^$/d apaga as linhas em brancoauto-completion
enquanto estiver em modo de insercao tecle:n ou p para autocompletar reaproveitando as palavras do arquivo atual para autocompletar usando recursos do tipo de arquivo atual(javascript, html, python, css, ruby, etc):mantenha pressionado e tecle xo transformando tudo em Uppercase ou lowcase
:%s/./\U&/g –> Uppercase:%s/./\L&/g –> Lowcaseinserindo comentarios
:1,10s/^/#/g –> insere comentario da linha 1 ate a linha 10:.,+5s/$/./ –> insere comentario no final das proximas 5 linhaspara repetir na linha 11 por exemplo, digite:11 & apagar textos
x –> apaga texto sobre o cursora –> insere textodd –> apaga uma linha inteiradw –> apaga palavra sobre o cursord$ –> apaga tudo do cursor atéo final da linhadG –> apaga tudo do cursor ate o final do arquivoalterando textos
R –> pressionando antes de uma palavra, basta digitar a palavra novar –> substitui um unico caractere no texto~ –> altera um caractere para Mm (maiusculo/minusculo)cw –> altera palavra ou parte da palavra a esquerda do cursorcc –> altera linhaC –> altera parte da linha a direita do cursorJ –> junta linha corrente com a proxima linhaxp –> muda o caracter que o cursor esta posicionado com o caracter a direitau –> desfaz o comando anteriorU –> desfaz todas as alteracoes da linha:u –> desfaz o comando anterior da linha:g/.*/mo0 –> inverte o texto:g/^/mo0 –> coloca o texto invertido na ordem corretacomandos de movimentacao no texto
h –> esquerdaj –> para baixok –> para cimal –> para direitaw –> move cursor para inicio da proxima palavrab –> move cursor para comeco da palavra anteriorCTRL-F –> move o cursor uma pagina a frenteCTRL-B –> move o cursor uma pagina para trasG – > move o cursor para o final do arquivo55G –> move o cursor para a linha 55|1| para navegar diretamente para uma posicao em um arquivo texto, use | n |, onde n eh o numero da posicao que deseja ircopiar ou mover texto
yy ou Y –> marca linha a ser copiadap –> copia linha marcada abaixo da linha correnteP–> copia linha marcada acima da linha correntedd –> apaga linha1,2 co 3 –> copia linha 1 e 2 e coloca apos a linha 34,5 m 10 –> move linha 4,5 colocando apos a linha 10caracteres especiais em procuras
^ início de linha$ final de linha. qualquer caracter* 0 ou mais caracteres\+ uma ou mais ocorrência^$ linhas em branco\s,\S espaço em branco,não-espa\d,\D dígito, não-dígit\u,\U,\l,\L maiúsculas,não-maiúsculas,minúsculas,não-minú\<,\> início,fim de uma palavr
/ \<.\{3}\> sequências de exatamente três caractere
/ \<\w\{,5} palavras (sem dígitos ou caracteres especiais) de até digitos:bufdo BufferDo: realiza as substituições em todos os arquivos do bufferexecutando comandos no linux
:!command:!date:!sh:r !date:!ls:r arquivo:1,10!sort –> ordena da linha 1 ate a 10comandos com janelas
^Wn Nova Janela^Wn Dividir a Janela^Wn^^ Dividir para #^Wv Dividir verticalmente^Wc Fechar^Wo Fechar outra(s)^WR Girar para cima^Wr Girar para baixo^W= Mesmo Tamanho^W_ Altura Maxima^W1_ Altura Minima^W| Largura Maxima^W1| Largura Minima^WK Mover para cima^WJ Mover para Baixo^WH Mover para esquerda^WL Mover para DireitaImpressão com o vim
Para imprimir todo o texto :ha :ha –> hardcopy
Para imprimir um intervalo :10,50 ha
algumas referencias
abaixo mais alguns links uteis. se voce leu ate aqui e tem alguma contribuicao, envie para meu e-mai silva (at) silva.eti.br
Nenhum comentário:
Postar um comentário
Obrigado pelos comentários!