Ce qui me frustre le plus depuis longtemps dans Ubuntu, c’est que je tape une commande sur la ligne de commande dont la largeur est supérieure à la largeur du terminal, au lieu d’enrouler une nouvelle ligne, elle revient à colonne 1 sur la même ligne et commence à écraser le début de ma ligne de commande. (Cela ne remplace pas réellement la commande, mais visuellement, il écrase le texte affiché).
C'est difficile à expliquer sans le voir, mais supposons que mon terminal ait 20 caractères de largeur (le mien ressemble plus à 120 caractères - mais à titre d'exemple), et je veux faire écho à l'alphabet anglais. Ce que je tape est ceci:
echo abcdefghijklmnopqrstuvwxyz
Mais à quoi ressemble mon terminal avant d’appuyer sur la touche est:
pqrstuvwxyzghijklmno
Quand je frappe entrer, il fait écho
abcdefghijklmnopqrstuvwxyz
donc je sais que la commande a été reçue correctement. Il vient juste de terminer ma frappe après le "o" et recommence sur la même ligne.
Ce à quoi je m'attendrais, si je tapais cette commande sur un terminal de 20 caractères de large serait la suivante:
echo abcdefghijklmno
pqrstuvwxyz
Fond: J'utilise bash comme shell et j'ai cette ligne dans mon ~ / .bashrc:
set -o vi
pour pouvoir naviguer en ligne de commande avec les commandes VI. J'utilise actuellement le serveur Ubuntu 10.10 et me connecte au serveur avec Putty.
Dans tout autre environnement dans lequel j'ai travaillé, si je tape une longue ligne de commande, une nouvelle ligne sera ajoutée sous la ligne sur laquelle je travaille lorsque ma commande dépasse la largeur du terminal et que je continue à taper, je peux voir ma commande. 2 lignes différentes. Mais aussi longtemps que je me souvienne d’utiliser Ubuntu, mes longues commandes n’occupent qu’une ligne.
Cela se produit également lorsque je reviens aux commandes précédentes de l'historique (j'appuie sur Echap, puis sur 'K' pour revenir aux commandes précédentes). Lorsque j'arrive à une commande précédente plus longue que la largeur du terminal, la ligne de commande obtient mutilé et je ne peux pas dire où je suis dans la commande.
Le seul moyen de contourner la commande longue que j'ai trouvée consiste à appuyer sur "Esc-V", ce qui ouvre la commande actuelle dans un éditeur de 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 eu le problème.
J'ai téléchargé une nouvelle copie de Putty et je n'ai apporté aucun changement à la configuration - je viens de taper mon nom d'hôte pour me connecter, et j'ai toujours le problème, donc je ne pense pas que ce soit quelque chose avec Putty (sauf si je dois faire des changements de configuration)
Quelqu'un at-il eu ce problème et est-ce que quelqu'un peut penser à comment 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 le jettent en quelque sorte. Je m'en tiens maintenant aux variables bash standard pour mon $ PS1.
Merci à @ ændrük pour le conseil sur le .bashrc!
... Fin Modifier ...
tput smam
/etc/skel/.bashrc
. N'oubliez pas que vous devez vous reconnecter pour que les modifications prennent effet et veillez à conserver une sauvegarde de votre propre fichier .bashrc.