Blogue

Enregistrer et appeler make automatiquement dans vim

24 janvier 2012 | Catégories: vim | View Comments

En rédigeant ma thèse de doctorat avec l'éditeur de texte vim, je dois fréquemment enregistrer et compiler le document avec la commande :w suivie de la commande :make. En cherchant une façon de rendre cette action plus efficace, j'ai trouvé une première solution sur stackoverflow qui utilise les commandes automatiques:

autocmd BufWritePost <buffer> make

Toutefois, ce n'est pas exactement ce que je cherchais, car je ne veux pas que la compilation soit appelée à chaque fois que j'enregistre un fichier.

J'ai trouvé une autre solution qui me convient mieux. Il suffit de créer sa propre commande et de connaître la syntaxe pour faire plus d'une commande à la fois dans l'éditeur Ex. Remarque: les commandes personnelles doivent commencer par une majuscule. En ajoutant la ligne suivante au fichier .vimrc:

command WM w | make

je peux taper :WM ou simplement :W dans vim et j'obtiens ce que je recherchais.

Read and Post Comments

Utiliser les raccourcis vi dans la ligne de commande Sage

21 novembre 2011 | Catégories: terminal, sage, vim | View Comments

Par défaut, le terminal utilise les raccourcis emacs. Par exemple, CTRL-A pour aller au début de la ligne et CTRL-E pour aller à la fin de la ligne. Pour utiliser plutôt les raccourcis vi, il suffit de taper la commande suivante dans le terminal:

set -o vi

Par contre, ceci ne change pas le mode utilisé par la ligne de commande du logiciel Sage. Pour y parvenir, il faut plutôt ajouter les lignes suivantes dans le fichier ~/.inputrc:

set editing-mode vi
set keymap vi-insert

Autre que l'option vi-insert, on peut également écrire vi ou vi-command pour la ligne set keyamp, mais je n'ai pas encore vu réellement une différence, car il semble toujours que le mode insertion est utilisé par défaut. On peut trouver plus d'informations sur le sujet ici:

http://vim.wikia.com/wiki/Use_vi_shortcuts_in_terminal

Recherche dans l'historique selon le préfixe

Tant qu'à y être, on peut en profiter pour activer une fonctionalité pour le terminal plutôt pratique qui est activée par défaut en Sage. Dans la ligne de commande Sage, en utilisant les flèches HAUT et BAS, on peut faire une recherche dans l'historique parmi les commandes ayant un préfixe commun avec le préfixe à gauche de la position du curseur. Pour activer cette fonctionalité dans le terminal, il suffit d'ajouter les deux lignes suivantes au même fichier ~/.inputrc:

"\e[A": history-search-backward  # up-arrow
"\e[B": history-search-forward   # down-arrow

Merci à Franco Saliola de m'avoir partagé ces solutions.

Read and Post Comments