Question

Je peux bouger mon pointeur vers le haut et vers le bas d'une ligne avec ma flèche très bien dans Emacs, donc je voudrais redéfinir C-n et C-p pour monter et descendre 5 lignes à la fois.

Je commence à apprendre à utiliser Emacs et elisp est très étranger à moi. J'ai essayé d'utiliser le GNU Emacs de référence, mais je ne pourrais pas » t trouver comment lier une séquence de touches de commandes multiples.

Voici ce que j'ai jusqu'à présent (se concentrer sur le déplacement jusqu'à la définition):

(global-set-key "\C-p"  '(loop for i in '(1 2 3 4 5) do ('previous-line))) 

Mais, cela soulève un message d'erreur quand je frappe C-p, "argument de type incorrect."

Toutes les suggestions?

Merci!

Était-ce utile?

La solution

Les fonctions (je crois next-line et previous-line) acceptent un argument avec C-optionnel u, donc je pense que (next-line 5) ferait ce que vous voulez.

Edit: donc je viens d'essayer et ce serait

(global-set-key (kbd "C-n")
    (lambda () (interactive) (next-line 5)))

Et même avec C-p et previous-line.

(Fiew pas simple à écrire du code dans une zone de texte avec un clavier de téléphone ^^)

Autres conseils

selon l'avertissement dans ma config emacs, et le commentaire de Peter Ajtai, je propose la version que les utilisations forward-line de mon init.el

(global-set-key (kbd "C-n")
    (lambda () (interactive) (forward-line  5)))
(global-set-key (kbd "C-p")
    (lambda () (interactive) (forward-line -5)))

Bien sûr, il y a aussi forward-char, fonctionne de la même, juste dans une autre direction.

La seule chose qui manque est un complex-forward qui prend un nombre complexe comme argument, et peut être utilisé pour naviguer dans les 4 directions: P

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top