Je viens d'installer Cygwin et la fonctionnalité RETOUR ARRIÈRE n'est pas là, c'est-à-dire que lorsque j'appuie sur la touche Retour arrière, j'obtiens un espace.
J'ai essayé de rechercher ce problème sur Google, mais je n'ai rien trouvé de concluant.
stty
commande?Réponses:
Dans mon cas, le retour arrière ne fonctionnait pas du tout après la création d'un ~ / .vimrc vide. Après le changement, ça a marché
Mettre:
définir bs = 2
dans .vimrc
Trouvé sur http://linux-journal.blogspot.com/2005/04/fix-vim-backspace-doesnt-work.html
la source
A travaillé pour moi: dans l'invite de commande Windows, tapez
Cela l'ajoutera à la
.bashrc
et tout fonctionnera bien!la source
TERM
variable d'environnement définiemsys
via les paramètres de variable d'environnement Windows comme suggéré sur StackOverflow pour résoudre lesgit
problèmes sous Windows. Le simple fait de le réinitialisercygwin
dans.bashrc
n'a pas aidé, mais la suppression de l'TERM
entrée des paramètres Windows l'a fait. Merci de m'avoir pointé dans la bonne direction!J'ai trouvé une solution à un problème présenté comme celui ci-dessus.
Réexécutez simplement le programme d'installation de Cygwin et réinstallez
termcap
etterminfo
. Si vous utilisez le champ de recherche, vous pouvez les trouver rapidement. Au lieu de dire "Garder" pour chacun, cliquez dessus pour lui faire dire "Réinstaller". Vous devrez peut-être cocher la case "Masquer les objets obsolètes" pourterm
apparaître dans la recherche.Mon dossier terminfo était entièrement manquant. Je ne sais pas pourquoi. J'espère que cela aide quelqu'un.
la source
Modifiez votre c: \ cygwin \ cygwin.bat
Placez ceci:
SET TERM=cygwin
avant:
bash --login -i
la source
Lorsque vous définissez le type TERM, vous dites à l'hôte quel TERMCAP utiliser pour dessiner dans la fenêtre du terminal. La plupart des hôtes * NIX ne savent pas ce qu'est un type de terme `` cygwin '', ils ne savent donc pas comment manipuler les caractères à l'écran tels que les insertions, les suppressions, les parchemins, les changements de police, etc.
Si vous modifiez la variable TERM dans CYGWIN avant telnet ou SSH en un hôte, vous obtiendrez de bien meilleurs résultats:
À CYGWIN:
L'hôte sait maintenant que vous avez un type de terminal ANSI et il peut utiliser son fichier ANSI TERMCAP pour lui dire comment communiquer.
Si vous ne parvenez pas à le faire fonctionner et que tout fonctionne correctement, sauf le retour arrière, vous pouvez reprogrammer "getty" sur l'hôte auquel vous vous connectez pour reconnaître ce que vous voulez, et voici comment (c'est le plus ancien, le plus courant et le plus universel) moyen de résoudre les problèmes de retour arrière / suppression):
Vous SSH ou Telnet à votre hôte et dans l'hôte, vous exécutez la commande stty. Si vous appuyez sur la touche "RETOUR ARRIÈRE" et qu'elle ne revient pas en arrière, c'est parce que le terminal recherche probablement un caractère différent en fonction du type TERM. Plutôt que de fouiller tout cela, vous pouvez définir manuellement la définition de retour arrière sur la CLI ou dans votre fichier de profil .profile, .bashrc ou .bash dans votre répertoire $ HOME comme vous le souhaitez ou en fonction de la saveur de * NIX que vous êtes en utilisant.
Donc, si vous appuyez sur ^ H (c'est CONTROL-H) et que votre clé sauvegarde mais que vous appuyez sur la touche RETOUR ARRIÈRE et qu'elle n'essaie pas d'utiliser stty comme suit:
La plupart du temps, cela ressemblera à ceci:
Le '\' lui indique que le caractère suivant va être un caractère de contrôle non imprimable et l'accepter, pas "l'interpréter".
Une fois que vous avez appuyé sur [ENTER], vous devriez pouvoir appuyer sur votre touche [RETOUR ARRIÈRE] et la faire reculer / supprimer tout ce que vous avez tapé.
Vous pouvez définir cela dans votre shell.
Maintenant, si vous utilisez toujours VI, parfois la traduction ne fonctionne pas et vous devez réellement taper ^ H dans vi, mais c'est OK.
Vous auriez pu dire:
stty erase k [ENTER]
et il aurait littéralement traduit «k» dans le caractère d'effacement / suppression ..
-RÉ
la source
Ok, j'ai eu ce problème avec la mise à jour manuelle d'une installation Cygwin. Quoi qu'il en soit, j'ai trouvé ce message , ce qui m'a conduit à la solution pour mon installation.
Le cygwin plus ancien avait un fichier
/etc/terminfo/c/cygwin
, mais dans le cygwin plus récent, il s'attendait à ce que le fichier soit/etc/terminfo/63/cygwin
.Une fois que j'ai copié le fichier "cygwin" à cet emplacement, la touche de retour arrière du shell bash a bien fonctionné, tout comme tab et d'autres.
la source
Changer la
TERM
variablecygwin
et l'ajouterSET TERM=cygwin
au.bat
fichier n'a pas fonctionné pour moi, mais je l'ai corrigé. Voici ce que j'ai fait: Dans le gestionnaire de paquets en raison de l'installation, j'ai choisi d'installerxterm: X11 terminal emulator
, après l'installation, j'ai ajoutéSET TERM=xterm
au.bat
fichier (comme proposé ci-dessus), lancé le terminal et dans Options -> menu Terminal sélectionnéType=xterm
, puis redémarré le terminal. Le retour arrière a commencé à fonctionner correctement!Remarque: si vous avez déjà installé cygwin - exécutez à nouveau le programme d'installation et ajoutez le package xterm.
Je suis entrain de courir:
la source
Je suis d'accord avec toutes les réponses ici. Mais il existe un moyen beaucoup plus simple ici: http://lifepluslinux.blogspot.in/2014/08/backspace-doesnt-work-in-vim-on-cygwin.html
la source
A travaillé pour moi: dans l'invite de commande Windows, tapez
Cela l'ajoutera au .bash_profile (pas .bashrc, qui ne fonctionnait pas pour moi, et avec un saut de ligne)
la source
Après avoir passé 2 jours à lire des trucs en ligne. J'ai trouvé celui qui fonctionnait pour moi. Je ne sais pas si ce cas correspond à chacun. Mais cela a fonctionné comme un charme pour moi grâce à Yuksel
Le problème était avec les fichiers «termInfo», étapes qu'il a suggérées
confirmer si le problème est lié au terminal en tapant dans CygWin Terminal, cela devrait donner (ignorer l'avertissement)
less my_session.log
Obtenez les informations de 'TermCap' à quel chemin ou répertoire il est lié en tapant ci-dessous le code dans CygWin Terminal
infocmp -C
vous devriez soit obtenir
Ou vous pouvez également obtenir quelque chose commençant par un texte comme «Reconstruit via infocmp ...»
Exécutez le code ci-dessous dans CygWin Terminal pour exécuter les diagnostics pour obtenir des détails supplémentaires sur le chemin d'accès où les fichiers sont enregistrés
cygcheck -s
qui devrait vous répondre similaire au texte ci-dessous
de la sortie, vous avez obtenu de la 3ème étape. copiez maintenant tous les fichiers et dossiers qui existent dans / usr / share / terminfo dans le dossier C: \ cygwin \ etc \ terminfo - REMARQUE: ce dossier peut être différent du vôtre en fonction de l'installation
la source
Veuillez suivre l'image ci-dessous
options
Keys
ongletBackarrow sends ^H
C'est la seule chose qui a fonctionné pour moi, d'autant plus que si vous devez SSH sur un serveur (tous les correctifs ne fonctionneront pas), j'avais l'habitude d'ajouter
stty erase ^?
à mon .bashrc mais cela n'a résolu le problème que 80% du temps.la source
Jamais rencontré votre problème. Essayez d'installer Terminal Emulator Mintty ( http://code.google.com/p/mintty/ ).
Il est disponible via le programme d'installation de Cygwin. Meilleur terminal pour cygwin.
la source