J'utilise Kubuntu 10.04. Je voudrais changer certaines des touches de raccourci standard pour bash (terminal).
Voici les raccourcis que j'aimerais mettre en place:
Ctrl- Cpour copier le texte sélectionné dans le terminal dans le presse-papiers.
Ctrl- Và coller du presse-papiers dans le terminal.
Ctrl- Zpour annuler l'édition sur la ligne courante dans le terminal.
Ctrl- Shift- C(ou encore mieux, Super- C) pour terminer la commande.
Ctrl- Shift- Z(ou Super- Z) pour être la commande d'arrière-plan.
Ctrl- Shift- V(ou Super- V) pour être la commande d'insertion littérale (ou quoi que Ctrl- ait zfait avant).
Comment puis-je effectuer ces modifications?
BTW, j'aime la façon dont le terminal fonctionne sous OS X. L'utilisation de la touche de commande rend toutes les commandes copier / coller très cohérentes (contrairement à beaucoup d'autres choses sous OS X).
PS J'ai lu la page de manuel de bash et cela n'a pas aidé. Cela m'a donné des idées, mais j'ai besoin d'exemples spécifiques pour les combinaisons ci-dessus. Merci.
Réponses:
Ce ne sont pas des fonctionnalités de bash, ce sont des fonctionnalités du pilote de terminal. En tant que tels, ils sont spécifiés par
stty(1)
.la source
Ceci est presque complètement résolu maintenant. Une partie de la solution a d'abord été portée à mon attention par MTK358 sur http://www.linuxquestions.org/questions/linux-software-2/change-bash-shortcut-keys-such-as-ctrl-c-818170/ . Il a souligné le fait (plutôt évident, à mon grand embarras) que les touches de raccourci copier-coller peuvent facilement être modifiées par les paramètres de menu de konsole. Une fois que j'ai vu cela, il a fallu environ 1 minute pour configurer Ctrl-C et Ctrl-V pour copier et coller avec le terminal.
L'autre partie de la solution aurait dû être claire à partir de la page de manuel stty, mais ce n'était pas (pour moi). J'ai fini par expérimenter sur la base de divers indices, tels que ceux affichés ci-dessus.
J'ai décidé quelle touche non numérique je voulais remplacer Ctrl-C comme commande de fin. (J'ai utilisé "k"). Je n'ai jamais trouvé d'informations sur la façon de transmettre un modificateur de décalage à stty, alors j'ai abandonné. Cela étant décidé, tout ce que j'avais à faire était d'entrer ce qui suit sur la ligne de commande:
stty intr \ ^ k
J'ai vérifié que tout fonctionnait comme souhaité.
Maintenant, je devais juste placer la commande unique ci-dessus (stty intr \ ^ k) dans un script de démarrage. Je ne sais pas lequel est le "bon". J'aimerais que ce changement soit à l'échelle du système et permanent.
Des suggestions sur le script dans lequel je devrais placer la commande?
Et enfin, quant aux réponses prêcheuses, elles sont inutiles et inutiles.
la source
Certaines d'entre elles peuvent être définies à l'aide du mécanisme de raccourci clavier KDE normal. Dans le menu "Paramètres" de Konsole, cliquez sur "Configurer les raccourcis", et vous obtiendrez une boîte de dialogue que vous pourrez utiliser pour modifier les raccourcis clavier des fonctions gérées par KDE. Cela vous permettra de remapper Ctrl + C pour copier et Ctrl + V pour coller - mais gardez à l'esprit qu'une fois que vous faites cela, ces séquences de touches ne seront plus transmises au terminal, vous ne pourrez donc pas utiliser Ctrl + C pour interrompre un programme, par exemple.
D'autres fonctions sont contrôlées par la
readline
bibliothèque, que vous pouvez configurer en modifiant le fichier~/.inputrc
. Pour que Ctrl + Z annule les modifications apportées à la ligne actuelle, vous devez ajoutermais cette séquence de touches est probablement déjà piégée par le terminal, vous devrez donc peut-être l'utiliser
stty
pour la dissocier avant qu'elle ne fonctionne. Recherchez d'abord^Z
dans la sortie destty -a
(comme indiqué dans la réponse d'Ignacio) puis, par exemple, s'il apparaît danssusp = ^Z
, exécutezpour dissocier ce mappage de clé.
Les autres changements que vous demandez devraient être effectués
stty
comme le dit Ignacio, car ce sont des fonctions de terminal, mais je ne sais pas exactement comment. Le problème est que je ne sais pas si le terminal reconnaît Shift, ou si c'est le cas, comment transmettre ces informationsstty
.la source
Bash utilise
emacs
ouvi
mode sur la ligne de commande. Il n'a aucun concept de "sélection" ou de "presse-papiers". Il utilise des choses comme un "kill buffer" et "point", "mark", "word", "line", "kill" et "yank", etc.Essayer d'y intégrer une fonctionnalité de style GUI sera frustrant au mieux et ne fonctionnera pas pleinement. Vous devrez essayer de combiner les fonctions de
stty
,readline
et votre terminal (probablementTerminal.app
pour vous). Vous devrez remapper des fonctions telles queintr
,susp
,lnext
, etc., de sorte que vous pouvez toujours utiliser leurs fonctions.Je déconseille fortement de telles modifications radicales. Il n'a tout simplement pas été conçu pour faire ce que vous voulez.
Quand à Rome ...
la source
Je lance Ubuntu et changé le raccourci pour la copie de la valeur par défaut Ctrl+ Shift+ Cà la plus normale et simple Ctrl+ C. Cependant , cela m'a fait courir en problème de ne pas pouvoir envoyer la commande d' interruption ^ C .
Grâce à la réponse @Paul, j'ai trouvé l'exécution de la commande
Me permettra d'envoyer la commande d'interruption en utilisant Ctrl+ K. Cependant, cette commande devait être exécutée chaque fois que j'ouvre le terminal, ce qui est un problème (tout comme il l'a mentionné lui-même).
Avec un peu de recherche supplémentaire (googler 😂), j'ai trouvé comment exécuter une commande chaque fois que le terminal est ouvert (dans Ubuntu de toute façon) .
Ainsi, finalement, exécuter la commande suivante (une fois) (dans Ubuntu 18.04 et probablement plus) donnera à chaque fois le comportement attendu.
Enfin, il convient de mentionner que vous ne devez pas utiliser le Kbouton. Vous pouvez échanger la lettre k dans toutes les commandes ci-dessus contre n'importe quelle touche de lettre de votre choix.
la source