web-dev-qa-db-fra.com

gtk-key-theme Emacs: qu'est-ce que la frappe est pour tout sélectionner?

Je préfère les frappes emacs, mais select-all ne semble pas faire partie du vocabulaire d'emacs, ou du moins du thème gtk-key-pour emacs. M-w ne fonctionne pas pour copier la région sélectionnée.

  1. Quelle est la frappe pour tout sélectionner?
  2. Où est une carte de liaison clé pour ce thème?

Merci Steve

22
Chelmite

est une simple liaison pour "Tout sélectionner" dans gtk: C-/

Il est défini comme un signal général signal GtkTextView et ne fait pas spécifiquement partie du thème clé d’emacs. Mais ça marche bien avec ça. Il est défini comme une alternative à C-a. Alors que ce dernier est réinterprété par le thème emacs, C-/ reste valide pour "Tout sélectionner".

21
Victor

Il n'y a pas un seul raccourci pour le faire directement.

Vous pouvez aller à la fin du texte avec Ctrl-e et enlever une ligne Ctrl-u. Ceci ne fonctionne cependant qu'avec GtkEntryname__, c'est-à-dire un champ de saisie d'une ligne.

Si vous devez tout sélectionner dans un GtkTextViewname__, le contrôle de type éditeur multiligne, il vous reste à faire la lourde tâche Ctrl-Home suivi par Ctrl+Shift-End, ce qui est presque impossible avec mon clavier à 63 touches.

Si, pour la bonne raison de l’efficacité de l’édition ou des limitations des claviers des appareils mobiles, Home et End sont hors de portée, alors vous devrez vous débrouiller. Sélectionner "Tout" dans le menu "Edition" est une mauvaise idée, car il correspond à Alt-e - a dans firefox, Alt-e - t en gedit, Alt-e - s dans OpenOffice (même avec gnome-integration), dans chaque logiciel, une clé différente, et dans certains logiciels, il n'y a pas de "Tout sélectionner" dans le menu Edition, comme le chrome, et dans certains logiciels, il n'y a même pas le menu Edition, pas même un caché pour être appelé avec Alt-e, comme le nautile. Cette incohérence dépasse l'objectif de la barre de menus activée par la touche Alt, et aucun système d'exploitation, pas même Windows, n'est aussi incohérent. Même le menu contextuel n’a pas de raccourci fixe pour "Tout sélectionner" - c’est généralement a mais peut être t d'une application à l'autre. Demander un correctif dans chaque logiciel individuel ne peut être fait qu'avec un méta-projet comme GNOME, mais connaître GNOME lui-même a été à l'origine de certains de ces problèmes (la suppression de Edit Menu dans 'nautilus' est une décision de GNOME 3) n'a pas vraiment disparu. vous espérez beaucoup.

Sur une note de côté, Ctrl-Home est le seul raccourci pour aller au début de tout le texte, même si cela peut interrompre votre travail pour entrer des appareils mobiles à petit clavier.

La réponse se termine ici. Pour les esprits curieux, j'ai des informations supplémentaires:


Un utilisateur expérimenté d'emacs tenterait Ctrl-x-h: authentique emacs, mais aucune séquence de touches de contrôle n'est comprise par le mode emacs de gtk3. En fait, seule une poignée de raccourcis emacs sont définis - Jetez un coup d’œil à /usr/share/themes/Emacs/gtk-3.0/gtk-keys.css; Il ya suffisamment d’espace sur un autocollant pour écrire tous les raccourcis emacs supportés.

Pour aggraver encore la situation, il est difficile de déplacer une touche de raccourci à cette fin. Comme vous le savez, Ctrl-a est prise par emacs. Mais même les hispanophones, le plus grand groupe non anglophone (les Chinois exclus car nous utilisons des idéogrammes), qui ont l'habitude de tout sélectionner avec Ctrl-e, trouverait aussi ce raccourci clavier pris par emacs. À l'exclusion e, il ne reste aucune autre touche dans la moitié gauche d’un clavier QWERTY sans un but déjà bien accepté. Google Translate prend la touche SHIFT, lorsqu'elle est appuyée seule, comme "tout sélectionner", mais aucun autre logiciel ni aucun autre produit Google ne suit le réglage.

Pour vider une ligne, utilisez Ctrl-u. Cela a l’avantage de ne pas écraser X SELECTION (celui que vous tirez avec le bouton central de la souris). Ceci est un paramètre unique du mode emacs de gtk3: dans de vrais emacs, il ne fait rien par lui-même; dans readline (bash, mysql, etc.), il est supposé tout effacer du curseur au début de la ligne, tandis que sa contrepartie Ctrl-k supprime tout du curseur à la fin de la ligne.

Certains peuvent suggérer de laisser une marque quelque part pour une sélection aléatoire avec le clavier. Vous pouvez aussi trouver Ctrl-SPACE est en mode emacs configuré pour définir une ancre dans le texte. Bien qu’en conflit avec de nombreux autres logiciels (méthodes de saisie de l’idéographe en particulier et complétion automatique dans un autre logiciel d’éditeur), il n’existe aucune touche de raccourci pour utiliser l’ancre que vous avez définie.


Ubuntu ne supprime pas officiellement le mode d’édition emacs, ni aucune autre configuration d’UI impossible à réaliser avec l’UI. Les rapports de bugs sur ces besoins sont marqués en priorité. Pour cette raison, je pense qu'il est préférable de poser cette question aux endroits génériques de Linux, par exemple. super-utilisateur.

7
Tankman六四

Afficher la liaison de clé existante

Pour les applications GTK3, vous pouvez afficher les liaisons du thème de clé Emacs GTK - soit localement, probablement à /usr/share/themes/Emacs/gtk-3.0/gtk-keys.css) - ou sur le référentiel git GTK sur GitHub (ce qui ne correspond pas nécessairement à votre fichier local, comme votre distribution l’aurait modifié).

Lors de la lecture de ce fichier, vous devez être conscient de la signification des widgets.

(Regardez l'image en haut de chaque site lié.)

Ajout de raccourci clavier pour tout sélectionner

select-all pour GtkTreeViewet GtkTextViewname__

Pour les widgets GtkTreeViewet GtkTextViewname__, il existe un signal appelé select-all. Vous devez lui passer l'argument 1 pour qu'il sélectionne tout plutôt que de le désélectionner.

Donc, éditez ~/.config/gtk-3.0/gtk.css et ajoutez quelque chose comme ceci:

@binding-set my-text-and-tree-view-bindings
{
    bind "<alt>a"
    {
    "select-all" (1)
    };
}

textview {
  -gtk-key-bindings: my-text-and-tree-view-bindings;
}

treeview {
  -gtk-key-bindings: my-text-and-tree-view-bindings;
}

GtkEntryname__

Pour GtkEntryname__, il n'y a pas de signal select-all. À la place, vous pouvez utiliser une séquence de deux signaux move-cursor marquant le texte.

Encore une fois, éditez ~/.config/gtk-3.0/gtk.css et ajoutez quelque chose comme ceci:

@binding-set my-entry-bindings
{
    bind "<alt>a"
    {
    "move-cursor" (paragraph-ends, -1, 0)
    "move-cursor" (paragraph-ends,  1, 1)
    };
}

entry {
  -gtk-key-bindings: my-entry-bindings;
}

Firefox

Au fait, dans Firefox Alt-a sélectionne tout pour moi par défaut sans configuration (en utilisant le thème clé Emacs GTK).

2
Mekeor Melire

Les liaisons emacs sont spécifiées dans /usr/share/themes/Emacs/gtk-2.0-key/gtkrc Vous pouvez également ajouter des liaisons dans ~/.config/gtk-3.0/gtk.css

Tout sélectionner serait quelque chose comme ceci:

bind "<ctrl>h" { "move-cursor" (buffer-ends, -1, 0)
                 "move-cursor" (buffer-ends,  1, 1) };

Je n'ai pas trouvé le moyen de le lier à C-x h, cependant.

2
emacser

Si vous souhaitez sélectionner tout le texte d'une région, je préfère définir une simple macro pour cela. Appuyez sur F pour commencer à écrire une macro. Puis tapez

Esc - <          // goes to beginning of document
Ctrl - spacebar  // set mark
Esc - >          // selects all till end of document

Puis utilisez M -w pour la copie (comme je le fais normalement pour la copie de systèmes unix distants vers Windows local), puis appuyez sur F4 pour terminer la définition de la macro.

Maintenant que vous avez fini de définir la macro, appuyez simplement sur F4 autant de fois que vous souhaitez répéter l'action.

1
Prashanth R