J'ai remarqué quelque chose de frustrant dans Ubuntu depuis longtemps : lorsque je tape une commande sur la ligne de commande qui devient plus longue (plus large) que la largeur du terminal, au lieu de passer à une nouvelle ligne, il revient à la colonne 1 sur la même ligne et commence à écraser le début de ma ligne de commande. (Il n'écrase pas réellement la commande, mais visuellement, il écrase le texte qui était affiché).
C'est difficile à expliquer sans le voir, mais supposons que mon terminal ait une largeur de 20 caractères (le mien fait plutôt 120 caractères - mais pour l'exemple), et que je veuille faire écho à l'alphabet anglais. Ce que je tape est ceci :
echo abcdefghijklmnopqrstuvwxyz
Mais ce à quoi ressemble mon terminal avant que j'appuie sur la touche :
pqrstuvwxyzghijklmno
Quand j'appuie sur la touche entrée, il y a un écho
abcdefghijklmnopqrstuvwxyz
donc je sais que la commande a été reçue correctement. Il a juste enveloppé ma frappe après le "o" et a recommencé sur la même ligne.
Voici ce qui devrait se passer si je tape cette commande dans un terminal de 20 caractères seulement :
echo abcdefghijklmno
pqrstuvwxyz
Contexte : J'utilise bash comme mon Shell, et j'ai cette ligne dans mon ~/.bashrc :
set -o vi
pour pouvoir naviguer dans la ligne de commande avec des commandes VI. J'utilise actuellement le serveur Ubuntu 10.10, et je me connecte au serveur avec Putty.
Dans tous les autres environnements dans lesquels j'ai travaillé, si je tape une longue ligne de commande, il ajoute une nouvelle ligne sous la ligne sur laquelle je travaille lorsque ma commande devient plus longue que la largeur du terminal et lorsque je continue à taper, je peux voir ma commande sur 2 lignes différentes. Mais aussi longtemps que je me souvienne d'avoir utilisé Ubuntu, mes longues commandes n'occupaient qu'une seule ligne.
Cela se produit également lorsque je reviens à des commandes précédentes dans l'historique (j'appuie sur Esc, puis sur 'K' pour revenir à des commandes précédentes) - lorsque j'arrive à une commande précédente qui était plus longue que la largeur du terminal, la ligne de commande est déformée et je ne peux pas dire où je me trouve dans la commande.
La seule solution que j'ai trouvée pour voir l'intégralité de la longue commande est d'appuyer sur "Esc-V", ce qui ouvre la commande en cours dans un éditeur VI.
Je ne pense pas avoir quelque chose d'étrange dans mon fichier .bashrc. J'ai commenté la ligne "set -o vi", et j'ai toujours le problème.
J'ai téléchargé une nouvelle copie de Putty et je n'ai apporté aucun changement à la configuration - j'ai juste tapé le nom de mon hôte pour me connecter, et j'ai toujours le problème, donc je ne pense pas qu'il s'agisse d'un problème avec Putty (à moins que je doive apporter des changements à la configuration).
Quelqu'un d'autre a-t-il eu ce problème, et quelqu'un peut-il penser à la façon de le résoudre ?
Modifier
C'était mon fichier .bashrc. J'ai copié le même profil d'une machine à l'autre, et j'ai utilisé des caractères spéciaux dans mon $PS1 qui l'ont en quelque sorte perturbé. Je m'en tiens maintenant aux variables standard de bash pour mon $PS1.
Merci à @ændrük pour l'astuce sur le .bashrc !
...Fin de l'édition...