# Edição de textos

### 5) Edição de textos

<div align="left"><figure><img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/vim/vim-original.svg" alt="" width="188"><figcaption><p>vim</p></figcaption></figure></div>

O editor de texto mais utilizado em um sistema linux é o **vim**.

Para verificar se o vim está instalado abra o terminal e digite "vim".

Se aparecer uma tela assim é porque está.

<figure><img src="https://3652049349-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSsFzoXz7V7mLiRRuZlST%2Fuploads%2FaB0IgAUW5k6GgnuSN60T%2FCaptura%20de%20tela%20de%202024-01-26%2019-33-58.png?alt=media&#x26;token=f0fffbc7-1190-4cf0-bd87-f69fd13ab747" alt=""><figcaption><p>tela inicial do vim</p></figcaption></figure>

Caso contrario, digite:

Debian/Ubuntu: (Distribuição utilizada pelo professor)

```shell
sudo apt install vim
```

Arco:

```shell
sudo pacman -S vim
```

Fedora:

```shell
sudo dnf install vim-enhanced
```

#### Modos

O vim é baseado em 2 modos:

* > Comando: Esse é o modo onde são executados os comandos, e também é o modo padrão onde o vim é iniciado.
* > Insert/Replace: Modo onde você insere, ou seja, escreve o texto.

Como o vim é inicializado no modo comando, para ir para o modo insert aperte a tecla **i**, e comece a digitar o seu texto.

Para voltar ao modo comando aperte **Esc**.

No vim não se utiliza o mouse, então se quiser navegar pelo seu código ou texto utilize as teclas **h**, **l**, **k** e **j**. Para saltar para o inicio de uma palavra utilize **w** e para o final da palavra utilize **e**. Para ir para uma nova linha **o**.

Lembre-se que todos esses comandos tem que ser utilizados no modo **comando** e não no modo **insert**.

No modo **comando** é onde também salvamos e sairmos do vim. Utilize **:w** (: antes de qualquer comando para salvar e sair do vim) para salvar o arquivo, **:wq** para salvar e sair do arquivo, **:q** para sair sem salvar do arquivo, **:q!** força sair do arquivo sem salvar caso ocorra algum erro, **:wqa** também é usado para salvar e sair do vim, mas diferente do **:wq** ele salva todos os arquivos do vim, a significa all.

Outros comandos da apostila do professor são, **:shell** que sai temporariamente do vim para o terminal sem necessariamente fechar o vim, você pode retornar ao vim com o comando **ctrl+d**, comando muito útil para caso precise utilizar o terminal sem precisar fechar o arquivo ou abrir outro terminal. Outro comando mostrado na apostila é o **:X** (em maiúsculo) que é usado para criptografar o arquivo. Conversando com o professor a criptografia utilizada no Debian é o "blowfish2". Para saber o tipo de criptografia está sendo utilizada digite o comando, no modo comando(esc):

```shell
:set cryptmethod?
```

Ainda no modo comando, para **mover linhas** em uma posição específica no texto, pode ta utilizando o comando:

```shell
:intervalo mov posição
:1,5 mov 10
irá mover as linhas de 1 a 5 para a linha 10
```

Exemplo:

**Para copiar linhas**

```shell
yy - seleciona a linha do cursor
p - cola na linha abaixo do cursor
```

O **yy** vai selecionar a linha onde está o cursor e o **p** vai colar a linha selecionada abaixo do cursor.

Exemplo:

No exemplo acima foi utilizado 13 linhas, o cursor está na linha 5, no modo comando foi utilizado o **yy**, na linha 10 será utilizado o comando **p**.

Já o comando **y2** seleciona a linha atual do cursor e mais duas linhas abaixo, o **y3** seleciona a linha atual do cursor e mais três linhas abaixo e assim sucessivamente. Depois é só usar o comando **p**.

**Apagar linhas**

Funciona parecido com o **yy**, o comando **dd** vai apagar a linha na posição do cursor, o **d3** apaga a linha do cursor e mais três abaixo, e o comando **u** recupera linhas que foram apagadas, similar ao ctrl+z.

**Dividir tela**

É possível didivir a tela do vim com um diretório/arquivo utilizando o comando:

```shell
:split /diretório
```

Exemplo:

O diretório é aberto a partir do diretório raiz.

O comando ctrl+ww altera entres os arquivos. E **:only** para desfazer as divisões.

**Busca**

Para fazer um busca entre o texto é utilizado o comando **/palavra-procurada**.

Pode utilizar o **n** para buscar outra palavra igual após apertar **enter**.

**Manual**

Por último, o comando **:h** faz aparecer o manual do editor vim.

Aprenda mais sobre o editor vim [aqui](https://tryhackme.com/room/toolboxvim)

### Editor Nano

&#x20;Além do vim um outro editor do linux é nano. Para usar basta executar o comando nano.

```
nano arquivo.go
```

<figure><img src="https://3652049349-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSsFzoXz7V7mLiRRuZlST%2Fuploads%2FTAvgajX4I42BMtA7P1py%2FCaptura%20de%20tela%20de%202024-01-26%2019-26-22.png?alt=media&#x26;token=317424d9-ee49-4a20-879b-ab7e4167468f" alt=""><figcaption><p>editor nano</p></figcaption></figure>

Os comandos do nano são bem simples e são executados usando a tecla ctrl +  um atalho igual mostra na imagem.

## Bibliografia

* [TryHackMe: Toolbox: Vim](https://tryhackme.com/room/toolboxvim)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://lettymoon.gitbook.io/iso200-sistemas-operacionais-ii/introducao/edicao-de-textos.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
