si3t.ch> cd /

vi : notes et astuces à propos de son utilisation

vi est un excellent éditeur de texte très pratique qui a inspiré le peut-être plus connu "vim".

vi est présent par défaut sous OpenBSD. Si vous souhaitez une version qui affiche complètement certains caractères utf-8, alors vous devriez installer le port nvi-*-iconv.

La coloration syntaxique n'est pas présente, et c'est finalement aussi bien : ça impose d'écrire du code clair et lisible.

Utilisation

Je vous épargne un tutoriel ici, il y en a de très bien faits en ligne. Aussi, je vous conseille la lecture de la section suivante du manuel:

FAST STARTUP

Voici quelques astuces que j'utilise quotidiennement.

Configuration de vi

La configuration se réalise dans le fichier $HOME/.exrc. Si cela vous intéresse, vous pourrez trouver mon fichier .exrc:

mon fichier .exrc

Les options

" longuer des tab : 4 espaces
set tabstop=4
" affiche le mode : insert, visual...
set verbose showmode
" autoindentation
set autoindent
" autoindentation de 4 espaces
set shiftwidth=4
" Voir la règle de status
set ruler
" numéro de lignes à gauche
set number
" numéro de la ligne courante en bas
set autoprint
" scroll leftright
set leftright
" regex etendues
set extended
" recherche incrementale
set searchinc
" montre ce qui match
set showmatch
" une seule edition par fichier
set lock
" ne pas afficher les caractères de contrôle
set beautify
" pas de bip
set flash
"print helpful messages (eg, 4 lines yanked)
set report=1
" Voir les commandes avec :tab.
" pour compléter, appuyez ctrl-v puis TAB
set cedit=

Les raccourcis

Voilà quelques raccourcis claviers

" RACCOURCIS
" ^M est un retour à la ligne: to make it, ctrl-v then return
" colle la sélection présente dans le presse-papier
map gc :r!xclip -o 
" retour debut de fichier
map gg 1G
" insertion de date
map gd :r!date +\%d-\%m-\%Y 
" Voir le fichier dans less
map gv :!less %
" Tri
map gs {!}sort
map gS {!}sort -r
" raccourcis git
map ,; :!git add % && git commit -m "
map ,, :!git push

" navigation dans les fichiers lorsqu'il y a plusieurs panneaux
map gl :n 
map gh :prev 
" format to 72 char width
map gqip {!}fmt -72 -s -p
" check spell
map go :!aspell -c %
" latex recompile
map tt :w :!pdflatex "%"

Quelques détails rapides :

Extrait du $HOME/.profile:

LC_CTYPE="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_COLLATE=fr_FR.UTF-8
LC_ALL='fr_FR.UTF-8'
LANG='fr_FR.UTF-8'

export LC_COLLATE LC_CTYPE LC_MESSAGES LC_ALL LANG

Une fois appelé, ceci apparaît, l'utilisation est limpide :

aperçu de aspell avec vi [IMG]

Ressources

https://why-vi.rocks/

http://www.jeffw.com/vi/vi_help.txt


[XHTML 1.1 valid] [CSS < 256B] [] [http/Tor]