Patrocínio

Promoção

Assuntos


Tutorial Vim, Interagindo com o editor




Mensagem por hugo em 25/4/2010, 19:49
Entrando no VIM:

Ação: digitem 'vim' na linha de comando para entrar no Vim!
Ação: digitem 'i' para entrar em modo de inserção de caracteres!
Ação: digitem 'vim nomedoarquivo' para inciar o Vim já automaticamente chamando um arquivo para edição!


Gravando e lendo:

Ação: digitem ':w nomedoarquivo' para salvar o texto em um arquivo no disco!
Ação: digitem ':w' para salvar o arquivo cujo conteúdo está atualmente em edição!
Ação: digitem ':w outroarquivo' para gravar o texto atual em um outro arquivo que não aquele já chamado!
Ação: digitem ':e' de dentro do Vim para abrir o arquivo desejado sem ter que voltar à shell!


Saindo do editor:

Ação: digitem ':q' para sair caso não tenham efetuado nenhuma edição!
Ação: digitem ':q!' para sair mesmo havendo efetuado modificações!
Ação: digitem ':wq' para salvar e sair imediatamente!
Ação: digitem ':wq outroarquivo' para salvar outro arquivo e imediatamente
sair do Vim!


Movendo o texto:

Ação: Abra o Vim com o comando 'view' para já configurar automaticamente a sessão atual como 'somente leitura'!
Ação: Segure '+e' para mover a tela uma linha para baixo pelo texto!
Ação: Segure '
+y' para mover a tela uma linha para cima pelo texto!
Ação: Segure '
+f' para mover a tela uma página a baixo pelo texto!
Ação: Segure '
+b' para mover a tela uma página a cima pelo texto!
Ação: Especifique um número e segure qualquer um dos comandos básicos de movimentarção de texto para mover um número personalizado de objetos de texto por sob a tela!
Ação: Digite 'z.' ou 'zz' para situar no centro da tela a linha atualmente sob o cursor!
Ação: Digite 'z-' para situar na base da tela a linha atualmente sob o cursor!
Ação: Digite 'z+' para situar no topo da tela a linha imediatamente seguinte à última linha visível!
Ação: Determine o número da linha que deseja enquadrar e o digite seguido de uma das posições da tela!
Movendo o cursor:

Objetos: Caractere e linha com direcionais simples

Ação: digite ' h ' , ' j ' , ' k ' ou ' l ' para mover o cursor para a esquerda, para baixo, para cima ou para a direita, respectivamente!
Ação: digite 
ou < BackSpace> para mover o cursor por um caractere para frente ou para trás, respectivamente!
Ação: digite um valor numérico seguido de ' h ' , ' j ' , ' k ', ' l ', 
ou para movimentar o cursor por um número determinado de objetos!

Objeto: Texto

Ação: digite ' gg ' ou ' [[ ' para mover o cursor de onde ele estiver até o início da primeira linha do texto!
Ação: digite ' G ' ou ' ]] ' para mover o cursor de onde ele estiver até o início da última linha do texto!
Ação: digite n % para mover o cursor à linha correspondente à posição do texto apontada em percentagem!
Ação: digite n go para mover o cursor ao enésimo byte (em geral, enésimo caractere) do texto!

Objeto: Tela

Ação: digite ' H ' para mover o cursor para a primeira linha visível na tela!
Ação: digite ' L ' para mover o cursor para a última linha visível na tela!
Ação: digite ' M ' para mover o cursor para a linha que está no centro da tela!

Objeto: Página

Ação: aperte '
+f' para avançar o cursor uma página abaixo!
Ação: aperte '
+b' para recuar o cursor uma página a cima!
Ação: informe o número de páginas seguido do comando de avançar ou recuar o cursor pelas páginas para andar um número escolhido de páginas!

Objeto: Linha

Ação: aperte '
+u' para subir o cursor meia página no texto!
Ação: aperte '
+d' para descer o cursor meia página no texto!
Ação: digite o número de linhas com o qual deseja mover o cursor seguido do comando de subir ou descer o cursor por linhas para movê-lo por um número específico de linhas!
Ação: digite n gg ou n G para acessar uma linha específica do texto!
Ação: digite : n 
para acessar uma linha específica do texto!

Objetos: Parênteses e chaves

Ação: digite ] ) ou ] } para procurar por um parênteses ou por uma chave que fecham sem par que estejam à frente do cursor no texto!
Ação: digite [ ( ou [ { para procurar por um parênteses ou por uma chave que abrem sem par que estejam à cima do cursor no texto!

Objeto combinado: Caractere com linha

Ação: digite ' ^ ' para mover o cursor para o primeiro caractere da linha corrente ou ' _ ' para a mesma ação desconsiderando os espaçoes em branco!
Ação: digite ' $ ' para mover o cursor para o final da linha corrente ou informe um valor a contar 1 da linha atual para inserir o cursor no final de outra linha!
Ação: digite '
+m' para mover o cursor para o primeiro caractere da linha seguinte ou ' + ' para a mesma ação desconsiderando os espaços em branco!
Ação: digite ' - ' para mover o cursor para o primeiro caractere da linha anterior sem considerar os espaços em branco!

Objeto combinado: Coluna com linha

Ação: digite ' n | ' para mover o cursor para uma coluna específica da linha atual e ' | ' ou ' 0 ' simples para mover o cursor para a primeira coluna da lnha corrente!

Objeto combinado: Caractere com sentença e parágrafo

Ação: digite ' ( ' para inserir o cursor no inicío da sentença corrente!
Ação: digite ' ) ' para inserir o cursor no final da sentença corrente!
Ação: digite ' { ' para inserir o cursor no parágrafo anterior!
Ação: digite ' } ' para inserir o cursor no parágrafo seguinte!
Ação: informe o número de objetos sentença ou parágrafo seguido do comando simples para mover o cursor por mais de um desses objetos!
Objetos: Palavra e caractere com palavra
Ação: digite ' E ' ou ' e ' (considera pontuação) para avançar o cursor para o final da palavra seguinte!
Ação: digite ' B ' ou ' b ' (considera pontuação) para recuar o cursor para o inicío da palavra anterior!
Ação: digite ' W ' ou ' w ' (considera pontuação) para avançar o cursor para o primeiro caractere da palavra seguinte!
Ação: informe o número de palavras que deseja avançar ou recuar seguido dos comandos ' E ' ou ' B '!

Busca nas linhas:

Ação: digite " f 'caractere' " para mover o cursor até a primeira ocorrência do caractere especificado encontrada após a posição atual do cursor!
Ação: digite " F 'caractere' " para mover o cursor até a primeira ocorrência do caractere especificado encontrada antes da posição atual do cursor!
Ação: Ação: digite " t 'caractere' " para mover o cursor até a posição imediatamente anterior à primeira ocorrência do caractere especificado encontrada após a posição atual do cursor!
Ação: Ação: digite " T 'caractere' " para mover o cursor até a posição imediatamente posterior à primeira ocorrência do caractere especificado encontrada antes da posição atual do cursor!
Ação: informe um valor numérico antes de um dos comandos de busca de caracteres na linha corrente para encontrar a sua enésima aparição!
Ação: digite ' ; ' para reaplicar a última busca realizada e sua movimentação de cursor ao próximo caractere que estiver à frente do cursor e ' , ' para fazer a mesma busca na linha atual para trás do cursor!

Busca no texto:

Ação: digite '/
' para encontrar a primeira ocorrência da string "texto" na linha após o cursor!
Ação: digitem /(c).(c) para buscar por uma ocorrência qualquer de um único caractere em uma determinada posição da string dada!
Ação: digite / s1 \| s2 \| s3 \| s4 para buscar as ocorrências de todas as strings informadas!
Ação: digitem /^s para procurar as ocorrências da string ' s ' que estejam exatamente em inícios de linha!
Ação: digitem /s$ para procurar as ocorrências da string ' s ' que estejam exatamente em finais de linha!
Ação: digite / \ < s para encontrar a string em suas ocorrências que iniciem uma palavra!
Ação: digite / s \ > para encontrar a string em suas ocorrências que finalizem uma palavra!
Ação: digite / \ < s \ > para encontrar a string em suas ocorrências que sejam uma palavra!
Ação: digite / [ c c ] para buscar as ocorrências de todos os caracteres listados entre os colchetes!
Açãos: digite / [ ^ c c ] para buscar as ocorrências de todos os caracteres que não estão listados entre os colchetes!
Ação: digite / [ c - c ] para buscar as ocorrências de todos os caracteres entre os colchetes que estão listados implicitamente na ordem de caracteres do escopo indicado pelo símbolo - !
Ação: digite / [ c ] \ + para buscar por uma ou mais aparições das possibilidades entre colchetes!
Ação: digite / [ c ] * para buscar por nenhuma ou mais aparições das possibilidades entre colchetes! 

Modo de inserção:

Ação: digite ' a ' para iniciar o modo de inserção com o cursor um caractere a frente da posição atual!
Ação: digite ' I ' (' i ' maiúsculo) para inciar o modo de inserção com o cursor no início da linha atual!
Ação: digite ' A ' para iniciar o modo de inserção com o cursor no final da linha atual!
Ação: digite ' o ' para inciar o modo de inserção com o cursor em uma nova linha imediatamente abaixo da atual!
Ação: digite ' O ' para inciar o modo de inserção com o cursor em uma nova linha imediatamente a cima da linha atual!
Ação: digite ' s ' para recortar o caractere sob o cursor e iniciar o modo de inserção!
Ação: digite ' S ' para recortar toda a linha corrente e inciar o modo de inserção no início da linha em branco!
Ação: digite ' c ' com um parâmetro de objeto para recortá-lo e iniciar o modo de inserção!
Ação: digite ' C ' para recortar todo texto que houver na linha corrente após a posição atual do cursor!
Ação: indique um valor numérico e digite quaisquer dos quatro comandos anteriores para realizar um comando personalizado!
Ação: digite 
+R a partir do modo Normal para iniciar o modo de substituição!

Modo de substituição:

Ação: digite 
+R para iniciar o modo de substituição!

Modo Normal de inserção/substituição:

Ação: digite 
+o em modo de inserção ou em modo de substituição para, em modo Normal de inclusão, passar um comando de modo Normal e voltar a digitar!

Modo visual:

Ação: digite ' v ' em modo Normal para entrar em modo visual e grifar exatamente o trecho de texto que deseja editar!
Ação: digite ' V ' a partir do modo Normal para entrar em modo visual do tipo linha e hachurar o trecho de texto a se editar por linhas!
Ação: digite ' 
+v ' a partir do modo Normal para entrar em modo visual do tipo bloco e hachurar o trecho de texto a se editar por blocos e colunas!

Modo visual de inserção/substituição:

Ação: digite ' v ' ou ' V ' ou ' 
+v ' a partir do modo Normal de inclusão para acessar o modo visual de inclusão e seus tipos!

Modo de seleção:

Ação: digite ' gh ' a partir do modo Normal para inserir ou deletar texto sobre um trecho selecionado!
Ação: digite ' g_
+h ' a partir do modo Normal para inserir ou deletar texto sobre um trecho selecionado linha a linha!
Ação: digite ' gH ' a partir do modo Normal para inserir ou deletar texto sobre um trecho selecionado por bloco!

Modo de seleção de inserção/substituição:

Ação: digite ' gh ' ou ' gH ' ou ' g_
+h ' de dentro de um dos modos Normal de inclusão para entrar em modo de seleção de inserção ou de substituição!

Modo "ex":

Ação: digite ' Q ' ou ' gQ ' para entrar no modo "ex" e passar diversos comandos de linha sem voltar para o modo Normal!

Editando texto


Apagando o texto

Ação: digite (n) x para apagar (n) caractere(s)!
Ação: digite um comando de cursor para designar objeto, acompanhado de um valor numérico, se quiser, seguido de d para apagar o objeto designado!
Ação: digite dd ou D para apagar a linha sob a qual o cursor está atualmente!

Copiando o texto

Ação: digite y acompanhado de um movimento de cursor para copiar o objeto designado com o comado de cursor para o buffer padrão!
Ação: digite "cy mais o objeto de texto para o copiar para um buffer com o nome do c dado!
Ação: digite :reg ou :di para ver os buffers atualmente nomeados!

Colando o texto

Ação: digite (n) p para colar o conteúdo do buffer n vezes após o cursor!
Ação: digite (n) P para colar o conteúdo do buffer n vezes antes do cursor!
Ação: digite (n) g p ou P para colar o conteúdo do buffer n vezes e posicionar o cursor após o texto colado!
Ação: digite "c p para colar o texto armazenado no buffer de nome c!

Desfazendo e refazendo comandos

Ação: digite (n) u para desfazer a(s) (n) última(s) ação(ões)!
Ação: digite (n) 
+R para refazer a(s) (n) última(s) ação(ões) desfeita(s)!
Ação: digite U para desfazer todas as ações feitas na linha corrente!

Substituindo ocorrências

Ação: digite : #,# s /expr1/expr2/ [opções] , sendo # um número de linha e #,# uma região do texto, para realizar substituições sobre as ocorrências encontradas!

Ferramentas de consulta

Ação: digite :h assunto para consultar o Vim sobre o assunto dado!
Ação: digite :version para ver a versão corrente do editor Vim!
Ação: digite ga sobre um caractere para saber seus códigos hexa e octadecimal e seu valor ASCII!
Ação: digite m c nomear a posição sob o cursor de c e ' c para acessá-la!
Ação: digite ' c e realize um comando para executá-lo sobre todo texto que estiver entre a posição atual do cursor e a posição marcada c!
Ação: digite : marks para ver a lista de marcas do texto atual!
Ação: digite :set number para numerar todas as linhas do texto e : set nonumber para desfazê-lo!
Ação: digite :set ruler para que o Vim nos indique a posição do cursor no texto!
Ação: digite :set smd para fazer o Vim sempre nos apresentar o atual modo de operação!
Ação: digite :set is para habilitar a busca imediata da string de busca na medida em que vai sendo digitada!
Ação: digite :set hls para hachurar as ocorrências encontradas de cada busca!
Ação: digite :split (arquivo) para abrir dividir a tela em janelas contendo diferentes textos visualizáveis simultaneamente!
Ação: digite vim arquivo1 arquivo2 no shell para abrir mais de um arquivo no Vim e :next e :prev para transitar entre os arquivos!
Ação: digite K sobre uma palavra que corresponda a um comando para consultar o manual do comando de dentro da sessão do Vim!
Ação: digite r sobre o caractere a ser substituído seguido do novo caractere com o qual queremos substituí-lo!
Ação: digite ' g ~ ' seguido de um comando de movimentação de cursor para trocar as letras minúsculas por maiúsculas e vice e versa!
Ação: digite J para juntar as linhas corrente e seguinte!
Ação: digite << e >> para tabular o texto em modo Normal!
Ação: digite 
+l para redesenhar a tela atual limpando as mensagens obsoletas!
Ação: digite . para repetir o último comando ou ação realizados!
Ação: digite :r arquivo para inserir o conteúdo de um arquivo dentro do texto em sessão atualmente!
Ação: digite #,# w arquivo para salvar o conteúdo entre as linhas # e # no arquivo dado!
Ação: digite :set ro para tornar a sessão do Vim somente leitura e proibir a escrita do arquivo!
Ação: digite :set ic para tornar o Vim insensível à diferença entre letras maiúsculas e letras minúsculas!
Ação: digite :! comando para executar um comando de shell de dentro do Vim!
Ação: digite :shell para inicar uma nova sessão shell a partir do Vim!
Ação: digite :!! comando para inserir a saída do comando de shell dentro do arquivo texto atual!
Ação: digite :X e informe uma chave para criptografar o texto corrente!
Ação: digite 
+n para completar a palavra a ser digitada com alguma terminação antes digitada no texto!
Ação: digite n gq para quebrar ordenadamente as n linhas seguintes!
Ação: digite qc para inicar e q para finalizar a gravação de uma determinada seqüência de comandos, depois digite @c para executá-la nova e automaticamente!
Ação: digite :abbr abreviação abreviado para poder escrever palavras abreviadas que são convertidas automaticamente!
Home - Loja Online - Artigos - Gospel - Infomática - Linux - Contato - Login