Basic vi Commands

As secções seguintes explicam as seguintes categorias de comandos vi.

  • p>Movendo-se num ficheiro
  • p>Inserir texto
  • p>p>Mudar e substituir texto/li>
  • p>p>Desfazer alterações ao texto
  • li>>p>p>Deleting text/li>

  • p>Verificando a sua ortografia
  • p>Formatting your file output
  • p>Comandos de repetição

Movendo-se num ficheiro

Nas secções anteriores aprendeu como criar, guardar, imprimir, e sair de um ficheiro vi. Agora que criou um ficheiro, terá de compreender os conceitos necessários para navegar dentro dele. Abra agora o seu ficheiro de treino, e tente cada um dos comandos que são discutidos nesta secção.

Movendo o Cursor

Quando inicia o vi, o cursor está no canto superior esquerdo do ecrã do vi. No modo de comando, pode mover o cursor com um número de comandos de teclado. Certas teclas de letras, as teclas de setas, e a tecla Return, tecla Back Space (ou Delete), e a Barra de Espaço podem ser utilizadas para mover o cursor quando se está no modo de comando.

Nota –

Os comandos mais vi são sensíveis a maiúsculas e minúsculas. O mesmo comando digitado em caracteres minúsculos e maiúsculos pode ter efeitos diferentes.

Mover com teclas de setas

Se a sua máquina estiver equipada com teclas de setas, experimente-as agora. Deverá ser capaz de mover o cursor livremente sobre o ecrã utilizando combinações das teclas de setas para cima, para baixo, para a direita, e para a esquerda. Note que só pode mover o cursor sobre textos ou espaços de entrada já existentes.

Se estiver a utilizar o vi de um terminal remoto, as teclas de setas podem não funcionar correctamente. O comportamento das teclas de setas depende do seu emulador de terminal. Se as teclas de seta não funcionarem para si, pode usar os seguintes substitutos:

  • Para mover para a esquerda, prima h.

  • p> para mover para a direita, prima l.
  • p> Para mover para baixo, prima j.
  • p>p> Para mover para cima, prima k. /li>

Mover uma palavra

Pressionar w (“palavra”) para mover o cursor para a direita uma palavra de cada vez.

Pressionar b (“back”) para mover o cursor para a esquerda, uma palavra de cada vez.

Pressionar W ou B para mover o cursor para além da pontuação adjacente para o próximo espaço em branco ou para o anterior.

Pressionar e (“end”) para mover o cursor para o último caracter da palavra actual.

Mover para Início ou Fim de Linha

Pressionar ^ para mover o cursor para o início da linha actual.

Pressionar $ para mover o cursor para o fim da linha actual.

Mover para baixo uma linha

Pressionar a tecla Return para mover o cursor para o início da próxima linha para baixo.

Mover para a esquerda

Pressionar a tecla Voltar Espaço para mover o cursor um carácter para a esquerda.

Mover para a direita

Pressionar a barra de espaço para mover o cursor um caractere para a direita.

Mover para o topo

Pressionar H (“alto”) para mover o cursor para o topo do ecrã.

Movendo para o Meio

Pressionar M (“meio”) para mover o cursor para o meio do ecrã.

Mover para a parte inferior

Pressionar L (“baixo”) para mover o cursor para a parte inferior do ecrã.

Paging and Scrolling

Se se mover para baixo quando o cursor está na parte inferior do ecrã, ou se mover para cima quando o cursor está na parte superior do ecrã, verá o texto a rolar para cima ou para baixo. Esta rolagem pode ser uma forma eficaz de exibir mais texto num ficheiro curto, mas pode ser aborrecido mover-se desta forma através de um ficheiro longo.

Pode folhear ou rolar para trás ou para a frente através de um ficheiro, de um ecrã ou de um meio ecrã de cada vez. Para experimentar estes comandos em tinta, pode querer adicionar texto para que tenha um ficheiro mais longo para trabalhar.

Nota que a paginação e a rolagem são fundamentalmente diferentes. A rolagem, de facto, percorre o cursor para cima ou para baixo através do texto uma linha de cada vez, como se estivesse num rolo de papel. A paginação move o cursor para cima ou para baixo através do texto, uma linha de cada vez, como se estivesse num rolo de papel. Num sistema rápido, pode não se notar a diferença. Contudo, se estiver a trabalhar a partir de um terminal remoto ou em qualquer outra situação em que o seu sistema esteja a funcionar mais lentamente do que o habitual, esta diferença pode tornar-se dolorosamente aparente.

Page Forward One Screen

Para avançar (mover para baixo) um ecrã cheio, prima Ctrl-F. (Mantenha premida a tecla Control e prima a tecla F.) O cursor move-se para o canto superior esquerdo do novo ecrã.

Ecrã de avanço de uma metade

Para avançar uma metade de um ecrã, premir Ctrl-D.

Página Para trás um ecrã

Para retroceder (ou seja, avançar) um ecrã, prima Ctrl-B.

Retroceder um ecrã

Para retroceder um ecrã, prima Ctrl-U.

Inserir Texto

vi>vi fornece muitos comandos para a inserção de texto. Esta secção introduz o mais útil destes comandos. Note que cada um destes comandos coloca o vi em modo de entrada. Para usar qualquer um destes comandos, deve primeiro estar em modo de comando. Lembre-se de premir Esc para se certificar de que está no modo de comando.

Append

Tipo a (anexar) para inserir texto à direita do cursor. Experimente movendo o cursor para qualquer lugar numa linha e digitando a, seguido do texto que deseja adicionar. Prima Esc quando tiver terminado.

Tipo A para adicionar texto ao fim de uma linha. Para ver como este comando funciona, posicione o cursor em qualquer lugar numa linha de texto e digite A. O cursor move-se para o fim da linha, onde pode digitar as suas adições. Prima Esc quando tiver terminado.

Inserir

Inserir texto à esquerda do cursor, digitando i a partir do modo de comando.

Tipo I para inserir texto no início de uma linha. O comando move o cursor a partir de qualquer posição dessa linha. Prima Esc para voltar ao modo de comando depois de digitar o texto desejado.

Linha Aberta

Utilizar estes comandos para abrir novas linhas, seja acima ou abaixo da posição actual do cursor.

Tipo o para abrir uma linha abaixo da posição actual do cursor. Para experimentar, digite o seguido de um pouco de texto. Pode digitar várias linhas de texto, se desejar. Prima Esc quando tiver terminado.

Tipo O para abrir uma linha acima da posição actual do cursor.

Texto em mudança

Texto em mudança envolve a substituição de uma secção do texto por outra. vi tem várias maneiras de o fazer, dependendo das circunstâncias.

Mudar uma palavra

Para substituir uma palavra, posicionar o cursor no início da palavra a ser substituída. Escreva cw, seguido da nova palavra. Para terminar, prima Esc.

Para mudar parte de uma palavra, coloque o cursor sobre a palavra, à direita da parte a ser guardada. Digite cw, digite a correcção, e prima Esc.

Mudar uma linha

Para substituir uma linha, posicione o cursor em qualquer parte da linha e digite cc. A linha desaparece, deixando uma linha em branco para o seu novo texto (que pode ser de qualquer comprimento). Prima Esc para terminar.

Substituir caracter(es)

Para substituir um ou mais caracteres pelo caracter sob o cursor, digite s, seguido do novo texto. Premir Esc para voltar ao modo de comando.

Substituir um caractere

Utilizar este comando para substituir o caractere realçado pelo cursor por outro caractere. Posicionar o cursor sobre o carácter e digitar r, seguido de apenas um carácter de substituição. Após a substituição, vi regressa automaticamente ao modo de comando (não é necessário premir Esc).

Undoing Changes

Quando editar texto e fazer alterações a um ficheiro vi, poderá ocasionalmente desejar não ter alterado alguma coisa. Os comandos de desfazer do vi permitem-lhe fazer o backup de uma operação e continuar a partir daí.

Desfazer o Comando Anterior

Se cometer um erro no vi ou se simplesmente mudar de ideias após a conclusão de uma operação, pode desfazer o seu último comando, premindo u imediatamente após o comando. Não precisa de premir Esc depois de digitar u. Ao premir u uma segunda vez, desfaz o desfazer.

Desfazer Alterações a uma Linha

Tipo U para desfazer todas as alterações que fez a uma linha. Este comando só funciona se não tiver deslocado o cursor para fora da linha. Não é necessário premir Esc depois de escrever U.

Deleting Text

Estes comandos vi eliminam o caracter, palavra, ou linha que indica. vi permanece em modo de comando, pelo que quaisquer inserções de texto subsequentes devem ser precedidas por comandos adicionais para entrar em modo de entrada.

Apagar um caractere

Para apagar um caractere, coloque o cursor sobre o caractere a apagar e escreva x.

O comando x também apaga o espaço ocupado pelo caractere – quando uma letra é removida do meio de uma palavra, as restantes letras fechar-se-ão, não deixando qualquer espaço. Também pode apagar espaços em branco numa linha com o comando x.

Para apagar um caractere antes (à esquerda do) do cursor, digite X (maiúsculas).

Apagar uma palavra ou parte de uma palavra

Para apagar uma palavra, posicionar o cursor no início da palavra e digitar dw. A palavra e o espaço que ocupava são removidos.

Para apagar parte de uma palavra, posicionar o cursor sobre a palavra à direita da parte a ser guardada. Digite dw para apagar o resto da palavra.

Apagar uma linha

Para apagar uma linha, posicione o cursor em qualquer parte da linha e digite dd. A linha e o espaço que ocupava são removidos.

Copiar e mover texto – Yank, Delete, e Put

Muitos processadores de texto permitem-lhe “copiar e colar” e “cortar e colar” linhas de texto. O editor vi também inclui estas características. O equivalente ao modo de comando vi de “copiar e colar” é yank and put. O equivalente a “cortar e colar” é apagar e colocar.

Os métodos para copiar ou mover pequenos blocos de texto no vi envolvem o uso de uma combinação dos comandos yank, delete, e put.

Linhas de cópia

Copiar uma linha requer dois comandos: yy ou Y (“yank”) e ou p (“put below”) ou P (“put above”). Note-se que Y faz a mesma coisa que yy.

Para puxar uma linha, siga estes passos.

  1. p>Posicione o cursor em qualquer lugar na linha que pretende puxar.
  2. p>Tipo yy.
  3. p>P>Move o cursor para a linha acima onde pretende colocar (copiar) a linha puxada.
  4. P>Tipo p.

    Uma cópia da linha puxada aparece numa nova linha abaixo do cursor.

    Para colocar a linha puxada numa nova linha acima do cursor, digite P.

O comando yy funciona bem com uma contagem: para puxar 11 linhas, por exemplo, digite 11yy. Onze linhas, em contagem decrescente a partir do cursor, são yanked, e vi indica isto com uma mensagem na parte inferior do ecrã: 11 linhas arrancadas.

P>Pode também utilizar os comandos P ou p imediatamente após qualquer um dos comandos de eliminação discutidos anteriormente. Esta acção coloca o texto que eliminou acima ou abaixo do cursor, respectivamente.

Cautela -Cautela –

Utilizar apenas comandos de deslocação do cursor entre o puxar ou apagar e o colocar. Se apagar ou arrancar qualquer outro texto antes de colocar o novo texto, as linhas que arrancou ou apagou são perdidas.

Moving Lines

Moving lines also requires two commands: dd (“delete”) and either p or P.

Para mover uma linha, posicione o cursor em qualquer parte da linha e escreva dd. Por exemplo, para apagar 5 linhas, digite 5dd.

Next, mova o cursor para a linha acima onde deseja que a linha apagada seja reinserida e digite p. Isto insere o texto numa nova linha abaixo do cursor.

Alternativamente, pode colocar a linha apagada acima do cursor, digitando P.

Usar uma contagem para repetir comandos

Muitos comandos vi podem ser precedidos por um factor de repetição (chamado contagem)-um número que precede o comando e diz-lhe quantas vezes deve repetir a operação.

A maior parte dos comandos das secções anteriores faz a contagem. Por exemplo, 3dd repete o comando para apagar uma linha três vezes, apagando assim três linhas. 2dw apaga duas palavras, e 4x apaga quatro caracteres ou espaços. Também se pode utilizar contagens com comandos para mover o cursor, tais como 3w e 2Ctrl-F. Na secção Resumo dos Comandos básicos vi cada comando que faz uma contagem é indicado por “” antes do nome do comando.

Digitação de um ponto (.) repete o comando de alteração de texto anterior. Por exemplo, se acabou de apagar uma linha com dd, pode mover o cursor para outra linha e apagá-la simplesmente digitando um ponto.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *