# Editeurs

[ss64.com](http://ss64.com/vi.html)



### Nano ([https://www.nano-editor.org/](https://www.nano-editor.org/))



| Lignes                                                       |          |
| ------------------------------------------------------------ | -------- |
| aller au début de la ligne                                   | CTRL + A |
| aller à la fin de la ligne                                   | CTRL + E |
| remonter de page en page                                     | CTRL + Y |
| descendre de page en page                                    | CTRL + V |
| se rendre au n° de ligne indiqué                             | CTRL + _ |
| savoir à quel n° de ligne / colonne / caractère se trouve votre curseu | CTRL + C |



| Couper / coller                                             |          |
| ----------------------------------------------------------- | -------- |
| supprimer le caractère sous le curseur                      | CTRL + D |
| coupe le texte depuis le curseur jusqu'à la fin du fichier  | Meta - T |
| supprimer une ligne complète (comme la commande dd sous Vi) | CTRL + K |
| coller une ligne                                            | CTRL + U |



| Divers                                                 |          |
| ------------------------------------------------------ | -------- |
| faire une [recherche](https://korben.info/recherche-2) | CTRL + W |
| sauvegarder votre fichier                              | CTRL + O |
| quitter nano                                           | CTRL + X |
| afficher l'aide                                        | CTRL + G |
| masquer / afficher l'aide-mémoire                      | Meta - X |



|                                    |              |
| ---------------------------------- | ------------ |
| déplacer le curseur vers le haut   | CTRL + P     |
| déplacer le curseur vers le bas    | CTRL + N     |
| déplacer le curseur vers la droite | CTRL + F     |
| déplacer le curseur vers la gauche | CTRL + B     |
| se déplacer d'un mot en avant      | CTRL + Space |
| se déplacer d'un mot en arrière    | Meta - Space |
| sauter au début du paragraphe      | Meta - (     |
| sauter à la fin du paragraphe      | Meta - )     |
| sauter au début du fichier         | Meta - \     |
| sauter à la fin du fichier         | Meta - /     |



|                         |                  |
| ----------------------- | ---------------- |
| annuler la modification | Meta - U         |
| redo                    | Meta - E         |
| marquer (début)         | Meta - A         |
| copier                  | Meta - 6 (shift) |



Meta - flèche haut : précédent

Meta - flèche bas : suivant



CTRL + B : en arrière 

CTRL + F : en avant



CTRL + J : Justifier

CTRL + T : correcteur orthographique

CTRL + _ : aller à la ligne xx



*CTRL + \ : Remplacer**

**Meta - ] : Parenthèse*



Meta sur macOS: ESC puis <touche>

> iTerm2:  Profifes -> Edit -> Keys -> Left Option key = Esc+



#### Copier / couper / coller sous nano

Se placer devant la ligne:

CTRL + K pour couper la ligne courante

CTRL + U pour la recoller

puis

CTRL + U pour la coller ailleurs



#### Pour sélectionner plusieurs lignes:

Placer une marque:

CTRL + ^ (ou Meta - A)

et se déplacer avec les flèches pour surligner le texte.

puis

CTRL + K pour couper le bloc

Meta - ^ pour copier le bloc

puis

CTRL + U pour le coller



#### Recherche

CTRL + W <recherche>

Occurence suivante:

CTRL + W puis Retour

CTRL + C pour sortir du mode recherche



#### Créer un backup du fichier que l'on édite (-B, ):

```bash
$ nano -B wordpress4.sql

-rw-r--r-- 1 bruno staff    600655 Dec  1 08:54 wordpress4.sql
-rw-r--r-- 1 bruno staff    600648 Dec 31  2017 wordpress4.sql~
```



#### No wrap (-w, --nowrap):

```bash
$ nano -w wordpress4.sql
```



#### Configuration:

Colorisation de la syntaxe: les fichiers de configurations sont là: `~/.nanosyntax` (homebrew) et `/usr/local/share/nano/` (macOS).

Ajouter un fichier de configuration:

```bash
$ nano ~/.nanosyntax/yaml.nanorc
```

et y copier:

```nanorc
# Supports `YAML` files
syntax "YAML" "\.ya?ml$"
header "^(---|===)" "%YAML"

## Keys
color magenta "^\s*[\$A-Za-z0-9_-]+\:"
color brightmagenta "^\s*@[\$A-Za-z0-9_-]+\:"

## Values
color white ":\s.+$"
## Booleans
icolor brightcyan " (y|yes|n|no|true|false|on|off)$"
## Numbers
color brightred " [[:digit:]]+(\.[[:digit:]]+)?"
## Arrays
color red "\[" "\]" ":\s+[|>]" "^\s*- "
## Reserved
color green "(^| )!!(binary|bool|float|int|map|null|omap|seq|set|str) "

## Comments
color brightwhite "#.*$"

## Errors
color ,red ":\w.+$"
color ,red ":'.+$"
color ,red ":".+$"
color ,red "\s+$"

## Non closed quote
color ,red "['\"][^['\"]]*$"

## Closed quotes
color yellow "['\"].*['\"]"

## Equal sign
color brightgreen ":( |$)"
```

Ajouter ce fichier au fichier de configuration `.nanorc`

```
## yml
include "~/.nanosyntax/yml.nanorc"
```

https://github.com/scopatz/nanorc
