Linux Essencial/Lição Editores de texto: diferenças entre revisões

sem resumo de edição
[edição verificada][edição verificada]
(Criou a página com "Teste")
 
Sem resumo de edição
 
* '''Objetivo(s):''' Explicar como se dá o funcionamento dos editores de texto VI e Nano.
Teste
* '''Direitos autorais e licença:''' Veja notas de direitos autorais e licença no final da lição.
 
== Editores de texto ==
Nesta lição serão estudados dois editores de textos, ficando a critério do usuário optar por qual utilizar. Existem vários tipos de editores, mas a compreensão destes já é o suficiente. O primeiro a ser apresentado será o ''vi'', o editor de textos mais utilizado pelos usuários GNU/Linux. O outro é o GNU ''nano'' (clone livre do conhecido pico), simples e com ótimos recursos.
 
=== ''vi'' ===
O editor de textos ''vi'' é o mais conhecido pelos programadores e usuários avançados dos sistemas GNU/Linux. O seu uso se dá dentro do ambiente texto, podendo ser aberto dentro de um terminal virtual no ambiente gráfico. Sintaxe:
vi arquivo/diretório
Quando o ''vi'' é aplicado sobre um diretório, ele perde a sua função de editor de textos e passa a listar o conteúdo do mesmo. A aplicação no diretório serve para fazer o caminhamento pela árvore diretório, servindo até para abrir o arquivo. Mais à frente serão apresentadas as funções do ''vi'' sobre diretório.
 
O editor pode abrir um arquivo existente ou pode criar um no momento da chamada pela linha de comando. Exemplo:
#vi teste
Caso dentro do diretório local exista o arquivo teste, ele será aberto, senão, ele será gerado dentro do diretório.
 
O editor pode trabalhar em dois modos de trabalho: o modo de edição e o modo de comando.
 
O modo de edição utiliza o teclado para a adição de textos, não trabalhando com funções de textos.
 
O modo de comando utiliza o teclado para receber funções do editor, não trabalhando com a adição de textos.
 
A tecla ''ESC'' é utilizada para alterar para o modo de comando e a tecla ''insert'' volta para o modo de edição.
 
'''Modo de Edição'''
 
Esse modo permite trabalhar com o teclado normalmente, ou seja, o que for digitado será acrescido ao conteúdo do arquivo.
 
Tabela de opções do modo de edição do editor ''vi''
{| class="twikiTable"
!Tecla
!Funcao
|-
|a
|Abre em modo de inserção
|-
|i
|Abre em modo de inserção
|-
|o
|Abre em uma linha abaixo do cursor
|-
|insert
|Abre em modo de inserção, se teclado duas vezes abre em modo de substituição
|}
As opções apresentadas na tabela acima permite que o usuário possa digitar normalmente dentro da área de texto.
 
'''Modo de Comando'''
 
Dentro do modo de comando o teclado estará habilitado a trabalhar em função do editor, ou seja, passar comandos para o mesmo. Nesse modo é possível fazer várias tarefas com o editor, tais como:
* Busca;
* Movimento;
* Apagar;
* copiar;
* colar;
* Salvar o texto;
* Sair do editor.
'''Busca'''
 
Tabela de opções de busca para o ''vi''
{| class="twikiTable"
!Tecla
!Funcao
|-
|/busca
|Procura dentro do texto a palavra busca
|-
|n
|Procura a próxima entrada de busca
|-
|N
|Procura a entrada anterior a busca
|}
'''Movimento'''
 
Tabela de opções de movimento para o ''vi''
{| class="twikiTable"
!Tecla
!Funcao
|-
|h, j, k, l
|Move por caractere: esquerda, baixo, cima e direita
|-
|W,w,B,b
|Move por palavra: Para frente, para trás
|-
|E,e
|Vai para o fim da palavra
|-
|Setas
|Movimenta por linha e por caractere
|-
|<nowiki>+</nowiki>
|Movimenta por linha: move o cursor para a linha superior
|-
|<nowiki>-</nowiki>
|Move o cursor para a linha inferior
|-
|H
|Move para a primeira linha da tela atual
|-
|M
|Move para a linha do meio da tela atual
|-
|L
|Move para a última linha da tela atual
|-
|PageUp?, PageDown? / CTRL+f, CTRL+b
|Move a tela para frente e para trás
|}
'''Apagar'''
 
Tabela de opções do deletar para o ''vi''
{| class="twikiTable"
!Tecla
!Funcao
|-
|dd
|Exclui a linha do cursor
|-
|ndd
|Exclui n linhas abaixo do cursor
|-
|D
|Exclui o restante da linha
|-
|dw
|Exclui uma palavra
|-
|d/busca
|Exclui até encontrar a palavra busca
|-
|dG
|Exclui até o final do arquivo
|}
'''Copiar'''
 
Tabela de opções de cópia para o ''vi''
{| class="twikiTable"
!Tecla
!Funcao
|-
|yy
|Faz a cópia da linha, sem colar na tela
|-
|yny
|Faz a cópia de n linhas, sem colar na tela
|}
'''Colar'''
 
Tabela de opções de cola para o ''vi''
{| class="twikiTable"
!Tecla
!Funcao
|-
|p
|Insere após o cursor o último texto copiado ou deletado
|}
NOTA: o mouse também tem as funções de copiar e colar,sendo necessário, para isso. Primeiramente selecionar o texto segurando o botão esquerdo do mouse, copiar clicando com o botão esquerdo e colar com o botão do meio.
 
'''Salvar'''
{| class="twikiTable"
!Tecla
!Funcao
|-
|:w
|Salva o texto corrente
|-
|:wq
|Salva e sai do arquivo
|-
|:w novo_arquivo
|Salva como novo_arquivo
|-
|:w!
|Salva o arquivo de qualquer maneira
|}
Tabela de opções de salvar para o ''vi''
 
'''Sair'''
{| class="twikiTable"
!Tecla
!Funcao
|-
|:q
|Fecha o arquivo, desde que não esteja modificado
|-
|:wq
|Salva e sai do arquivo
|-
|:q!
|Faz uma saída forçada, sem gravar as alterações
|}
Tabela de opções de sair para o ''vi''
 
Os quadros acima apresentam as principais funções e utilidades para o ''vi''. Maiores detalhes poderão ser verificados no manual do editor: man vi.
 
'''Comandos a serem utilizados com o ''vi'' nos diretórios'''
{| class="twikiTable"
!Tecla
!Funcao
|-
|i
|Lista os detalhes de arquivos e diretórios
|-
|o
|Abre outra janela, dentro da existente, para backup
|-
|:q
|Sai da janela corrente
|-
|u,r
|Altera a ordem de apresentação do conteúdo
|-
|Ctrl+w w
|Altera entre as janelas abertas
|}
'''NOTA:''' as outras funções para arquivos também são válidas para o uso com diretórios.
 
=== GNU nano ===
O editor ''nano'' é um clone do editor ''pico''. O pico nasceu do ''PINE'' , um programa de correio eletrônico desenvolvido pela Universidade de Washington. Por causa das licenças aplicadas ao pico/pine, o projeto GNU se mobilizou e criou uma alternativa livre.
 
O nano também possui ferramentas avançadas como formatação e busca por exemplo. Todas as funções de trabalho do ''nano'' são feitas com as sequências de comandos “ctrl+ letra”. Por exemplo “^X” (ctrl+x) é utilizado para sair do editor. Portanto, todas as opções listadas serão apresentadas com um “^” antes da letra e do que essa opção representa.
 
Sintaxe:
nano [arquivo]
Quando o ''nano'' é executado sem nenhum parâmetro de arquivo é aberto um editor para a criação de um novo arquivo. Esse novo arquivo receberá um nome assim que for salvo.
 
Se o comando ''nano'' for aplicado a um arquivo existente, este será aberto para edição. Caso o arquivo não exista, um novo arquivo, com o dado nome será criado e aberto para edição.
 
'''Movimentação'''
{| class="twikiTable"
!Opção
!Função
|-
|^C
|Cur Pos - informa a posição e linha atual do cursor, apresentando também o total de linhas.
|-
|^F
|move o cursor para o próximo caractere
|-
|^B
|move para o caractere anterior
|-
|^P
|move para a linha imediatamente superior
|-
|^N
|move para a linha imediatamente inferior
|-
|^E
|move para o final na linha em que se encontra
|-
|^A
|move para o início da linha em que se encontra
|-
|^V
|move para a tela seguinte (abaixo)
|-
|^Y
|move para a tela anterior (acima)
|-
|^X
|Sai do arquivo caso não tenha ocorrido modificações
|}
'''Desfazer uma ação'''
{| class="twikiTable"
!Opção
!Função
|-
|^U
|volta a inserir as linhas anteriormente apagadas
|-
|^C
|cancela a operação
|}
'''Inserir um texto'''
{| class="twikiTable"
!Opção
!Função
|-
|^R
|Permite a adição do conteúdo de um arquivo existente ao arquivo que está sendo editado
|-
|^C
|Cancela o ^R
|-
|^T
|Abre uma lista da árvore de diretórios
|}
'''Busca e substituição'''
{| class="twikiTable"
!Opção
!Função
|-
|^W
|Solicita uma palavra a ser procurada, e quando encontrada, permite fazer a sua substituição
|}
'''Apagar'''
{| class="twikiTable"
!Opção
!Função
|-
|^D
|Deleta o caractere
|-
|^K
|Apaga toda a linha do cursor
|}
'''Salvar'''
{| class="twikiTable"
!Opção
!Função
|-
|^X
|Salva o arquivo caso tenha ocorrido uma modificação<br>
<br>
|}