GeeksforGeeks
O editor padrão que vem com o sistema operativo UNIX chama-se vi (editor visual). Usando o editor vi, podemos editar um ficheiro existente ou criar um novo ficheiro a partir do zero. podemos também usar este editor para apenas ler um ficheiro de texto.
Syntax:
vi filename
Input:
br>>Emprego:
p>Modos de Operação no editor vi Há três modos de operação no editor vi:
- Modo de Comando: Quando o vi arranca, está no Modo de Comando. Este modo é onde o vi interpreta quaisquer caracteres que digitamos como comandos e, portanto, não os exibe na janela. Este modo permite-nos mover através de um ficheiro, e apagar, copiar, ou colar um pedaço de texto.
Para entrar no Modo de Comando a partir de qualquer outro modo, é necessário premir a tecla . Se premirmos quando já estivermos no Modo de Comando, então o vi irá apitar ou piscar o ecrã. - Insert mode: Este modo permite inserir texto no ficheiro. Tudo o que é digitado neste modo é interpretado como entrada e, finalmente, é colocado no ficheiro. O vi começa sempre em modo de comando. Para inserir texto, deve estar em modo de inserção. Para entrar no modo inserir, basta digitar i. Para sair do modo inserir, prima a tecla Esc, que o colocará novamente no modo de comando.
- Last Line Mode(Escape Mode): O Modo Linha é invocado digitando dois pontos, enquanto o vi está em Modo Comando. O cursor saltará para a última linha do ecrã e o vi esperará por um comando. Este modo permite-lhe executar tarefas tais como guardar ficheiros, executar comandos.
Iniciar o editor vi
Há a seguinte forma de começar a usar o editor vi :
Comandos e sua Descrição
vi nome de ficheiro: Cria um novo ficheiro se este já não existir, caso contrário abre um ficheiro existente. vi -R filename : Abre um ficheiro existente no modo apenas leitura. ver nome do ficheiro : Abre um ficheiro existente no modo apenas leitura.
Movendo dentro de um ficheiro (Navegação):
Para se mover dentro de um ficheiro sem afectar o texto tem de estar no modo de comando (prima Esc duas vezes). Aqui estão alguns dos comandos que podem ser utilizados para mover um caracter de cada vez.
Comandos e sua Descrição
- k : Move o cursor para cima uma linha.
- j : Move o cursor para baixo uma linha.
- h : Move o cursor para a posição esquerda um caracter.
- l : Move o cursor para a posição direita de um carácter.
- 0 ou | : Posiciona o cursor no início da linha.
- $ : Posiciona o cursor no fim da linha.
- W : Posiciona o cursor para a próxima palavra.
- B : Posiciona o cursor para a palavra anterior.
- ( : Posiciona o cursor para o início da frase actual.
- ) : Posiciona o cursor para o início da frase seguinte.
- H : Move para o topo do ecrã.
- nH : Move para a nª linha a partir do topo do ecrã.
- M : Move para o meio do ecrã.
- L : Move para a parte inferior do ecrã.
- nL : Move para a enésima linha a partir da parte inferior do ecrã.
- dois pontos juntamente com x : Cólon seguido de um número posicionaria o cursor sobre o número da linha representado por x.
Comandos de Controlo(Rolagem): Existem os seguintes comandos úteis que podem ser utilizados juntamente com a Chave de Controlo:
Comandos e sua Descrição:
- CTRL+d : Avançar 1/2 ecrã.
- CTRL+f : Avançar um ecrã inteiro.
- CTRL+u : Avançar 1/2 ecrã.
- CTRL+b : Avançar um ecrã inteiro.
- CTRL+e : Avançar um ecrã inteiro.
CTRL+e : Avançar um ecrã inteiro.
- CTRL+y : Move o ecrã para baixo uma linha.
- CTRL+u : Move o ecrã para cima 1/2 página.
- CTRL+d : Move o ecrã para baixo 1/2 página.
- CTRL+b : Move o ecrã para cima uma página.
- CTRL+f : Move o écran para baixo uma página.
- CTRL+I : Ecrã de barras vermelhas.
Editar e inserir em Ficheiros(Introduzir e Substituir Texto): Para editar o ficheiro, precisamos de estar no modo de inserção. Há muitas maneiras de entrar no modo inserir a partir do modo de comando.
- i : Insere texto antes da localização actual do cursor.
- I : Insere texto no início da linha actual.
- a : Insere texto após a localização actual do cursor.
- A : Insere texto no fim da linha actual.
- o : Cria uma nova linha para entrada de texto abaixo da localização do cursor.
- O : Cria uma nova linha para entrada de texto acima da localização do cursor.
- r : Substitui um único caracter sob o cursor pelo próximo caracter digitado.
- R : Substitui o texto do cursor para a direita.
- s : Substitui um caractere sob o cursor por qualquer número de caracteres.
- S :Substitui toda a linha.
Deleting Characters: Aqui está a lista de comandos importantes que podem ser utilizados para apagar caracteres e linhas num ficheiro aberto.
- X Caixa alta: Apaga o caractere antes da localização do cursor.
- x minúsculas : Apaga o caractere na localização do cursor.
- Dw : Apaga da localização actual do cursor para a próxima palavra.
- d^ : Apaga da posição actual do cursor para o início da linha.
- d$ : Apaga da posição actual do cursor para o fim da linha.
- Dd : Apaga a linha em que o cursor está.
Copiar e Comandos Passados: Copia linhas ou palavras de um lugar e cola-as noutro lugar usando os seguintes comandos.
- Yy : Copia a linha corrente.
- 9yy : Linha corrente Yank e 9 linhas abaixo.
- p : Coloca o texto copiado após o cursor.
- P : Coloca o texto puxado antes do cursor.
Comandos de Salvar e Sair do Modo ex : Necessidade de carregar na tecla seguida dos dois pontos (:) antes de escrever os seguintes comandos:
br>
- q : Quit
- q! : Sair sem guardar alterações, ou seja, descartar alterações.
- r fileName : Ler dados de um ficheiro chamado fileName.
- wq : Write and quit (save and exit).
- w fileName : Escrever no ficheiro chamado fileName (guardar como).
- w! fileName : Sobregravar no ficheiro chamado fileName (guardar como forçosamente).
- !cmd : Executa comandos shell e volta ao modo Comando.
Procura e Substituição em (ex Modo): vi também tem capacidades poderosas de procura e substituição. A sintaxe formal para a pesquisa é:
:s/string
Por exemplo, suponha que queremos pesquisar algum texto para a string “geeksforgeeks” Digite o seguinte e prima ENTER:
:s/geeksforgeeks
Input:
br>Output: encontrar a primeira correspondência para “geeksforgeeks” no texto será então destacada.
br> A sintaxe para substituir uma corda por outra na linha actual é:
:s/pattern/replace/
Aqui “padrão” representa a corda antiga e “substituir” representa a nova corda. Por exemplo, para substituir cada ocorrência da palavra “geeks” numa linha por “geeksforgeeks” tipo “geeksforgeeks”:
:s/geeksforgeeks/gfg/
Input:
br>Output:
br> A sintaxe para substituir cada ocorrência de uma cadeia de caracteres em todo o texto é semelhante. A única diferença é a adição de um “%” em frente do “s”:
:%s/pattern/replace/
Assim, repetindo o exemplo anterior para todo o texto em vez de apenas para uma única linha seria:
:%s/gfg/geeksforgeeks/