5 votes

J'ai commencé à utiliser emacs avec l'option -nw - ctrl-home et ctrl-end ne fonctionnent pas

Afin d'accélérer mon flux de travail avec emacs, j'essaie emacs -nw par rapport au mode X-Windows.

Ctrl-HOME et Ctrl-END ne fonctionnent pas du tout, et j'ai essayé d'éditer les fichiers .keymap et de suivre les conseils en ligne sans succès malheureusement. Par exemple

http://www.emacswiki.org/emacs/CuaMode

J'ai l'habitude d'activer le mode cua pour la sélection par déplacement et cela ne fonctionne pas non plus pour la pagination par déplacement vers le haut ou vers le bas, par exemple.

Il serait formidable de faire fonctionner tout cela en mode -nw et je serais heureux de recevoir des conseils de la part d'autres utilisateurs d'emacs.

  • Installation = Linux Mint 9
  • Shell = zsh

4voto

Malheureusement, les terminaux envoient des séquences d'échappement différentes pour les touches telles que Ctrl+Home et Emacs ne les connaît pas toutes. Vous pouvez déclarer des séquences d'échappement supplémentaires via function-key-map (o local-function-key-map sous Emacs 23). Cela indique à Emacs que ces séquences d'échappement sont en fait un encodage pour une seule touche de fonction.

Pour connaître la séquence d'échappement envoyée par une touche, appuyez sur C-q suivi de la touche : cela insère littéralement le caractère d'échappement qui commence la séquence de touches, suivi des autres caractères qui composent la séquence de touches. Par exemple, un terminal que j'utilise envoie les quatre caractères suivants ^[ , O , 5 , H lorsque j'appuie sur Ctrl+Home J'inclurais donc la ligne suivante dans mon .emacs :

(define-key function-key-map "\e05H" [C-home])

\e est la façon la plus lisible d'écrire le caractère d'échappement. Faites de même pour les autres touches que vous souhaitez prendre en charge.

Si les touches ne sont pas prises en charge d'emblée par la dernière version d'Emacs, il serait bon d'indiquer aux développeurs les séquences de touches que votre terminal envoie.

1voto

Command Messer Points 11

Je lance presque toujours emacs avec -nw . Pour faire défiler le fichier jusqu'à la fin, j'utilise M-S-, y M-S-. pour revenir au début (peut-être plus facile à retenir comme Alt-< y Alt-> ). Ce n'est pas aussi pratique que C-Home y C-End peut-être, mais je préfère travailler à partir du terminal (en fait à partir d'un tmux pour ce qu'elle vaut).

1voto

Mikaela Points 111

J'ai écrit un paquetage Emacs qui peut apprendre à Emacs et aux terminaux comment reconnaître correctement toutes les touches du clavier PC et les combinaisons de touches de modification :

https://github.com/CyberShadow/term-keys

Pour le mode cua et la sélection Shift, la possibilité d'utiliser Ctrl + Shift + les touches fléchées est certainement une amélioration.

0voto

sophana Points 511

Vous pouvez essayer un autre terminal. Sur centos7, avec emacs 25.3, ctrl-home ne fonctionne pas dans mate-terminal, mais fonctionne avec gnome-terminal. Il fonctionne aussi à l'intérieur de screen (avec gnome-terminal) Astuce hors sujet : je viens de découvrir (xterm-mouse-mode 1), c'est génial !

-2voto

petergozz Points 122

Faites-vous une faveur et suivez le tutoriel :)

emacs utilise par défaut les liaisons classiques de l'éditeur de ligne.

Ctrl a  << to start of line
Ctrl e  >> to end of line
Ctrl k  cut to end of line
Ctrl y  yank that back
alt y   roll back one more yank (repeat) try it out to get it.

Ce sont celles que j'utilise le plus et elles fonctionnent également avec readline (la plupart des shells).

Cherchez des antisèches sur Google ou dans votre système.

par exemple

 /usr/share/emacs/23.4/etc/refcards/refcard.pdf

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X