11 votes

Problème de terminal avec les touches Ctrl + Flèche et Shift + Flèche

J'utilise Mavericks sur un nouveau Macbook Pro. Lorsque j'utilise le Ctrl y Shift avec les touches fléchées, j'obtiens une sorte de code de touches en sortie du terminal. Je suis presque sûr que ce problème est nouveau et qu'il ne s'est pas produit il y a quelques jours. Mais je ne suis pas sûr à 100%. Quoi qu'il en soit, voici ce qui se passe :

Si j'appuie sur Ctrl + (Flèche gauche), ;5D est émis dans le terminal. De même :

  • Ctrl + (Flèche droite) sorties ;5C
  • Shift + (flèche gauche) sorties ;2D
  • Shift + (Flèche droite) sorties ;2C

Comme je l'ai mentionné, je suis pratiquement sûr qu'avant aujourd'hui, je pouvais utiliser ces raccourcis pour me déplacer entre les mots et sélectionner du texte. Quelqu'un a-t-il déjà vu cela ? J'ai déjà parcouru certaines des questions existantes sur les raccourcis clavier, mais je n'ai trouvé aucune référence à ce problème précis.

Notez également que j'ai désactivé le raccourci clavier qui permet de passer d'un bureau à l'autre à l'aide de la fonction Ctrl + touches fléchées.

9voto

Fuzzy Purple Monkey Points 702

La même chose se produit sur mes VM 10.9 et 10.8. Les flèches de contrôle et les flèches shift ne font rien par défaut dans bash. Où utilisiez-vous les shift-flèches pour sélectionner du texte ? emacs ou vim ?

Si vous voulez utiliser control-left et control-right pour passer d'un mot à l'autre dans bash, ajoutez ces lignes à ~/.inputrc :

"\e[1;5C": forward-word
"\e[1;5D": backward-word

Pour utiliser les shift-flèches dans Emacs, faites correspondre shift-up à \e[1;2A , shift-down pour \e[1;2B , shift-right pour \e[1;2C et shift-gauche pour \e[1;2D . Si l'appui sur shift-up donne lieu à un message du type <select> is undefined essayez de régler TERM à xterm-vt220 .

5voto

forthrin Points 2441

Ctrl+Gauche/Droite sont présents dans Terminal (MacOS 10.12) par défaut (Préférences Profils Clavier). J'ai essayé d'ajouter Shift-Up/Down en ~/.inputrc mais rien ne s'est passé.

~/.inputrc:

"\e[1;2A": shift-up
"\e[1;2B": shift-down

Au lieu de cela, j'ai ajouté Shift Up/Down de manière programmatique dans les préférences du terminal. Le problème est que ceci est stocké par profil MacOS en a une douzaine par défaut, vous devez donc passer en boucle tous les profils (un nommé Ocean ici) pour ajouter les clés de tous les profils disponibles. Je ne sais pas si plutil o defaults ont une certaine magie pour rendre cela facile, ou si vous devez utiliser un analyseur XML.

~/Library/Preferences/com.apple.Terminal.plist:

"Window Settings" = {
  Ocean = {
    keyMapBoundKeys = {
      "$F700" = "\033[1;2A";
      "$F701" = "\033[1;2B";

0voto

Dans Iterm2 vous pouvez le faire (j'ai 3.3.12) et j'ai suivi cette instruction : https://superuser.com/questions/1051668/select-full-word-in-iterm2-using-alt-shift-arrow/1216606#1216606?newreg=bd3be1406dcb4aaa856f425d3e5f2c24

J'ai défini ces mappings dans Préférences- > Clés, mais j'ai également dû supprimer les mappings pour shift+flèches dans Préférences ->Profil -> Défaut (ils envoyaient des séquences d'échappement à cet endroit).

Cela peut casser le flux de travail pour les programmes qui s'exécutent dans le terminal comme emacs (je n'ai pas vérifié) mais fonctionne très bien pour moi pour la sélection dans la ligne de commande et dans le mcedit (éditeur intégré de midnight commander) ainsi.

La logique de sélection est un peu différente, elle ne suit pas le curseur mais pour les cas simples, cela fonctionne très bien.

-1voto

Rohit Sood Points 1

Une alternative :

Dans les préférences du terminal, allez dans Avancé et désélectionnez "Coller les nouvelles lignes comme retours de chariot".

Puis utilisez Sublime pour rédiger des com complexes

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X