Rendez-vous sur Arrakiss
Le 08/10/2019 à 15:14 dans /Logiciel-libre/

vi

vi est un excellent éditeur de texte très pratique. Souvent, est utilisé à la place “vim”. Toutefois, dans 95% des cas, vi suffit.

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 “FAST STARTUP” du manuel.

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 ici mon fichier .exrc.

Les options

" retour à la ligne après 72 chars
set wraplen=72
" 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:!clrm "%" 

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