Move tipsgit inside howtovim

This commit is contained in:
Bruno TATU 2017-05-26 11:32:21 +02:00
parent 3a475b55a9
commit 17420abc6e
2 changed files with 124 additions and 119 deletions

View file

@ -3,32 +3,132 @@ categories: wip
title: Howto Vim
...
* Documentation : <http://www.vim.org/docs.php>
* Vim casts : <http://vimcasts.org/>
Un des éditeur de texte de prédilection pour administrateur système. Vim est une couche de Vi apportant de nombreuses possibilités de personnalisation.
Ses début dans les années 90, il est encore très apprécié de par sa rapidité et que son code source soient encore (et restera) libre. Merci à [Bram Moolenaar](https://fr.wikipedia.org/wiki/Bram_Moolenaar) qui est l'initiateur de ce logiciel.
## Premiers pas
Rien de plus simple pour l'installer et le définir en tant qu'éditeur par défaut :
~~~
# apt install vim
$ vimtutor
# update-alternatives --config editor
sudo apt install vim
vimtutor
sudo update-alternatives --config editor
~~~
## Mode sed
En cas de besoin pour obtenir de l'aide en ligne de commande :
~~~{.bash}
:help <cmd> = "avoir de l'aide sur une commande"
~~~
### Racourcis
Nous listons ci-dessous les commandes de bases :
~~~{.bash}
i = "passer en mode «Insert» - à gauche du curseur"
I = "passer en mode «Insert» - en début de phrase"
a` = "passer en mode «Insert» - à droite du curseur"
A = "passer en mode «Insert» - en fin de phrase"
Échap = "passer en mode «Edit» sauf si vous avez le nouveau MacBook Pro sans cette touche ;)"
:q! = "quitter sans sauvegarder"
:wq ou :x = "sauvegarder et quitter"
:x =
dd = "supprimer (et copier) une ligne - ajoute la ligne dans le buffer"
v = "sélection du texte à partir du curseur"
V = "sélection du texte par ligne"
y = "copier - ajoute la sélection dans le buffer"
Y = "copier la ligne - ajoute dans le buffer"
p = "coller le buffer"
x ou . = "effacer le caractère à droite"
X = "effacer le caractère à gauche"
u = "undo"
vc = "change word - change le mot après l'emplacement du curseur"
C-r = "redo"
~~~
## Commandes avancées
### Mode "Edit"
~~~{.bash}
r = "remplacer un caractère"
c[0|^|w|$|G] = "changer (supprime et passe en mode insertion)"
d = "supprimer"
~ = "inverser la casse d'un caractère"
:set paste` / `:set nopaste = "passer en mode copier/coller (et revenir)"
~~~
paramètres possibles pour changer/supprimer :
~~~{.bash}
0 = "début de ligne"
^ = "début de ligne (sauf caractères invisibles)"
w = "fin du mot"
$ = "fin de ligne"
G = "fin du fichier"
~~~
afficher les caractères invisibles :
~~~{.bash}
:set list
~~~
coloration syntaxique :
~~~{.bash}
:syntax on
~~~
modifier la couleur pour *desert* :
~~~{.bash}
:color desert
~~~
### [Dé]Commenter du code
Pour commenter, suivre la liste des commandes suivante :
~~~{.bash}
C-v = "Mode «Visual» activé"
<fleches_directionneles> = "Choisir la zone concernée"
I = "Insérer en début de ligne - active le mode «Insert»"
<char> = "Caractère du commentaire en question - selon langage"
Echap = "Quitter le mode «Insert»"
~~~
Pour décomenter, suivre la liste des commandes suivante :
~~~{.bash}
C-v = "Mode «Visual» activé"
<fleches_directionneles> = "Choisir la zone concernée"
x = "Supprimer le caractère"
~~~
* Taper des caractères UTF8
~~~{.bash}
CTRL-V u XXXX = "où `XXXX` est le code du caractère UTF8"
~~~
* Taper des caractères ASCII
~~~{.bash}
Ctrl+v NNN = "où `NNN` est le code du caractère UTF8"
~~~
* Mode sed
Rechercher sans la casse : **/\\cfoo**
Appliquer une commande à une selection de lignes : **:42,51!sed s/foo/bar/ FICHIER**
## Astuces
### Taper des caractères UTF8
Ctrl+v u XXXX où XXXX est le code Unicode du caractère
### Taper des caractères ASCII
Ctrl+v NNN où NNN est le numéro ASCII du caractère
## Scripting
* Scripting
Exécuter automatiquement des commandes :
@ -43,8 +143,15 @@ $ vim -s script.txt FICHIER
$ vim -w script.txt FICHIER2
~~~
#Vimdiff
* Vimdiff
~~~{.bash}
C-w C-w : "Changer de colonne du fichier comparé"
~~~
## Webografie
* [Documentation](http://www.vim.org/docs.php)
* [Vim casts](<http://vimcasts.org/)
* [Wallpaper movement commands](https://bitbucket.org/tednaleid/vim-shortcut-wallpaper/src)
* [Mémento des touches de racourcis](http://vimsheet.com)

View file

@ -1,102 +0,0 @@
# Tips Vim
* <http://www.vim.org/docs.php>
* <https://bitbucket.org/tednaleid/vim-shortcut-wallpaper/src>
* <http://vimsheet.com>
* <http://people.csail.mit.edu/vgod/vim/vim-cheat-sheet-en.pdf>
## Help
~~~{.bash}
:help <cmd> = "avoir de l'aide sur une commande"
~~~
## Commandes de base
~~~{.bash}
i = "passer en mode «Insert» - à gauche du curseur"
I = "passer en mode «Insert» - en début de phrase"
a` = "passer en mode «Insert» - à droite du curseur"
A = "passer en mode «Insert» - en fin de phrase"
Échap = "passer en mode «Edit» sauf si vous avez le nouveau MacBook Pro sans cette touche ;)"
:q! = "quitter sans sauvegarder"
:wq ou :x = "sauvegarder et quitter"
:x =
dd = "supprimer (et copier) une ligne - ajoute la ligne dans le buffer"
v = "sélection du texte à partir du curseur"
V = "sélection du texte par ligne"
y = "copier - ajoute la sélection dans le buffer"
Y = "copier la ligne - ajoute dans le buffer"
p = "coller le buffer"
x ou . = "effacer le caractère à droite"
X = "effacer le caractère à gauche"
u = "undo"
vc = "change word - change le mot après l'emplacement du curseur"
C-r = "redo"
~~~
## Commandes avancées
### Mode "Insert"
~~~{.bash}
CTRL-V u XXXX = "où `XXXX` est le code du caractère UTF8"
~~~
### Mode "Edit"
~~~{.bash}
r = "remplacer un caractère"
c[0|^|w|$|G] = "changer (supprime et passe en mode insertion)"
d = "supprimer"
~ = "inverser la casse d'un caractère"
:set paste` / `:set nopaste = "passer en mode copier/coller (et revenir)"
~~~
paramètres possibles pour changer/supprimer :
~~~{.bash}
0 = "début de ligne"
^ = "début de ligne (sauf caractères invisibles)"
w = "fin du mot"
$ = "fin de ligne"
G = "fin du fichier"
~~~
afficher les caractères invisibles :
~~~{.bash}
:set list
~~~
coloration syntaxique :
~~~{.bash}
:syntax on
~~~
modifier la couleur pour *desert* :
~~~{.bash}
:color desert
~~~
### [Dé]Commenter du code
Pour commenter, suivre la liste des commandes suivante :
~~~{.bash}
C-v = "Mode «Visual» activé"
<fleches_directionneles> = "Choisir la zone concernée"
I = "Insérer en début de ligne - active le mode «Insert»"
<char> = "Caractère du commentaire en question - selon langage"
Echap = "Quitter le mode «Insert»"
~~~
Pour décomenter, suivre la liste des commandes suivante :
~~~{.bash}
C-v = "Mode «Visual» activé"
<fleches_directionneles> = "Choisir la zone concernée"
x = "Supprimer le caractère"
~~~