Le 03/11/2020 Présentation par Loïc BRANSTETT
Qui suis-je ?
Loïc BRANSTETT
3ème année à EPITECH Strasbourg
Sortez-moi de là!
:h save-file
:h 'smartcase'
:h options.txt
:h :retab
:helpgrep tabs
G => Bas du fichier
gg => Haut du fichier
30gg => 30ème ligne
:30 => 30ème ligne
4k => 4 lignes plus haut
3j => 3 lignes en bas
e: passer à la fin du mot
E: passer à la fin du MOT
w: passer au prochain mot
W: passer au prochain MOT
b: reculer d'un mot
B: reculer d'un MOT
Un mot est un mot ordinaire, tel que fin
Un MOT est tout jusqu'au prochain espace blanc, comme xml:foobar
Une recherche (/) dans vim est également une motion.
Répéter une recherche avec n ou N est aussi une recherche
3b: reculer de 3 mots
10j: descendre de 10 lignes
2n: passer au deuxième résultat de recherche suivant
d: supprime un caractère
c: modifier le texte (supprimer et passer en mode insertion)
r: remplacer un seul caractère
v: passer en mode visuel
y: copier la sélection
p: coller au niveau du curseur
u: annuler un changement (comme C-Z)
[count] Command [count] Motion
Lorsque vous utilisez la commande d, Vim s'attend à ce que vous lui disiez ce que vous voulez supprimer
dd: supprime la ligne actuelle
d3j: supprime la ligne actuelle et les 3 lignes suivantes
dtx: supprime jusqu'au prochain x de la ligne en cours
d2t(: supprime jusqu'à la deuxième occurrence de (
d/foo: supprime jusqu'à la prochaine occurrence de foo
Avec votre curseur a l'intérieur du if, appuyez sur gcii pour commenter tout ce qui se trouve à l'intérieur de l'if.
:vs(plit) <filename>: split horizontal
:sp(lit) <filename>: split vertical
C^w + s: split horizontal
C^w + v: split vertical
C^w + h: aller au split de gauche
C^w + j: aller au split du bas
C^w + k: aller au split du haut
C^w + l: aller au split de droite
dd: supprime la ligne courante
.: supprime la ligne suivante
.: supprime encore
u: oops, annuler la dernière édition
Bien que la commande point puisse être très utile et doive être utilisée autant que possible, vous voudrez parfois effectuer une commande plus complexe à plusieurs reprises.
qa: commencer à enregistrer dans le registre a
[commandes]: exécuter tous vos commandes
q: arrêter l'enregistrement de la macro
Cela prend aussi un nombre
@@: répétez rapidement la dernière macro
@a: exécute la macro qui a été enregistrée dans le registre a
Il y a trop d'options pour commencer à les expliquer
map, noremap: map dans tous les cas
nmap, nnoremap: map en mode normal
vmap, vnoremap: map en mode visuel
imap, inoremap: map en mode insertion
cmap, cnoremap: map en mode commandes
ctrlp: ouvrir rapidement des fichiers en tapant des parties de leur nom
fugitif + gitv: une intégration Git géniale
syntastic: vérification automatique de la syntaxe lors de la sauvegarde
vimwiki: le wiki entier dans vim
Vundle: ma préférence, propre et simple
pathogen: moins cool mais fais le job
vim-addon-manager: pour les barbus
$ cat ~/.config/nvim/init.vim
""" Plugins
set rtp+=~/.config/nvim/bundle/Vundle.vim
call vundle#begin('~/.config/nvim/bundle')
Plugin 'VundleVim/Vundle.vim' " Plugin manager
if $TERM !=? "linux"
Plugin 'itchyny/lightline.vim' " Status bar
endif
Plugin 'ervandew/supertab' " Tab completion
Plugin 'NLKNguyen/papercolor-theme' " Color scheme
Plugin 'https://git.x4m3.rocks/x4m3/vim-epitech.git' " Epitech plugin
Plugin 'airblade/vim-rooter' " cd to .git
Plugin 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plugin 'junegunn/fzf.vim' " Fuzzy search
Plugin 'tomtom/tcomment_vim' " Comment plugin
Plugin 'michaeljsmith/vim-indent-object' " Indent selector
call vundle#end()
""" Autres
...
Contrôle de l'orthographe
Terminal dans vim
tags, vimgrep
abréviations
Vimscript
:help
Practical Vim de Drew Neil
Vimcasts (aussi de Drew Neil)
Stack Overflow
Cheat Sheet
Vim wiki
:Tutor ou vimtutor
$ brew install neovim
$ pacman -S neovim
$ yum install neovim
$ apt-get install neovim