J'organise généralement une screen
session pour chaque projet. Vim est dans la fenêtre 0, et j'utilise la fenêtre 1 pour une session shell. Si je code dans une langue qui a un REPL décent, je l'exécute généralement dans la fenêtre 2. Bien sûr, vous n'avez pas besoin screen
de le faire; vous pouvez le faire avec différentes fenêtres de terminal ou avec des onglets dans un terminal multitab. Je trouve que screen
c'est plus stable que d'autres alternatives: si votre application de terminal se bloque, vous pouvez simplement démarrer un autre terminal et vous reconnecter à votre screen
session en cours d'exécution . screen
est également très rapide à naviguer une fois que vous l'avez appris (un peu comme vim lui-même).
Je finis surtout par utiliser la session shell pour des activités de contrôle de version compliquées comme le rebasage ou la fusion: des choses plus simples peuvent être faites à partir de la ligne de commande de vim (par exemple l' :!git commit % -m 'Added info about
écran .'
) ou en utilisant l' addon fugitif . Je trouve les fugitifs :Gmove
(renommer le tampon actuel à la fois dans vim et dans l'index git) et :Gdiff
(invoquer vimdiff sur le tampon actuel avec un point précédent dans son histoire) particulièrement utiles. Vous pouvez également faire des choses comme créer un message de validation dans un tampon de travail, copier du texte à partir de diverses parties de votre code, puis valider avec:%!git commit -F /dev/stdin
J'utiliserai également la session shell pour des tests fonctionnels / d'intégration si cela s'applique à tout ce sur quoi je travaille, par exemple si j'écris un utilitaire de ligne de commande.
La fonctionnalité de quickfix de vim est utile pour le débogage, mais il semble y avoir un addon différent requis pour chaque langue que vous pouvez travailler. Ils semblent aussi utiliser une variété de techniques d'invocation, mappage des touches de fonction ou à des séquences clés commençant par \
ou ,
, ou à des commandes personnalisées, ou en étant invoqué automatiquement lors de la sauvegarde d'un tampon. Jusqu'à présent, je n'ai pas vraiment pris la peine de discuter de cela, et de simplement lire les résultats des tests unitaires ou des peluches dans un tampon de travail en utilisant, par exemple :r !python -m doctest whatever.py
. Modifiez le code, revenez au tampon de travail, u
pour annuler, puis appuyez sur :r
et sur la flèche vers le haut (la plupart du temps) pour récupérer cette commande. Mais cela peut valoir la peine de chercher un addon pour cela, selon la langue dans laquelle vous travaillez.
Pour les langages compilés populaires comme C, java, etc., :make
fera une construction, et la prise en charge de la liste de correctifs est bien établie. Vous pouvez donc faire :copen
pour afficher le tampon quickfix. Il affichera une liste d'erreurs, une par ligne; frapper Entersur une ligne fera sauter votre autre fenêtre à ce point dans ce fichier.
Si vous travaillez avec plusieurs projets à la fois, vous pouvez faire :lmake
en sorte qu'une liste d'erreurs soit stockée dans la liste des emplacements : c'est comme la liste des correctifs mais elle est associée à une seule fenêtre plutôt que d'être un singleton dans votre instance de vim. :lopen
ouvrira une liste d'emplacements pour la fenêtre actuelle.