Brève : copier coller indenté dans vi

Aucun commentaire sur Brève : copier coller indenté dans vi

mai 24, 2011 at 9:13 Categorie :Codage

Ah… vi !

On aimerait pouvoir l’oublier, et pourtant on y revient tout le temps. Super puissant selon les ayatollah du kernel, c’est quand même plutôt une vraie plaie pour le reste de l’humanité. En étant honnête, un avantage lui est universellement reconnu : il est disponible sur toutes les plateformes *nix. Si c’est vaguement POSIX, alors vous pouvez taper « vi » et vous êtes sur de disposer d’un éditeur de texte! Bref, ceci en fait l’outil de secours par excellence, et je considère du coup que tout bon informaticien se prétendant un minimum technique doit savoir se dépatouiller -au moins basiquement- avec.

Bref, cet article est surtout une brêve parce que je sais très bien, dans la plus pure tradition de ce blog, que je ne me souviendrai plus comment faire la prochaine fois que je tenterai un copier coller indenté dans vi. Vous ne voyez pas de quoi je parle? Je vous explique. Certaines versions packagés par les distributions les plus récentes incluent des options par défaut qui peuvent être dérangeantes, voir horripilantes. Je pense en particulier à l’indentation automatique. A chaque retour à la ligne, l’indentation de la ligne précédente est conservée. Ça part d’une bonne intention… Mais lorsque on copie colle une belle structure XML, déjà indentée, on est bien marri de se trouver devant un immonde paté structuré n’importe comment car les indentations se sont du coup additionnées.

Hop la solution est ici :

:set paste

L’opération inverse :

:set nopaste

De rien, bonne journée avec vi !