Domanda

posso spostare la mia puntatore su e giù una riga con la mia freccia bene in Emacs, quindi mi piacerebbe ridefinire C-n e C-p per spostarsi in alto e verso il basso 5 righe alla volta.

Sto solo cominciando a imparare a utilizzare Emacs, e elisp è molto estraneo a me. Ho provato ad utilizzare il riferimento GNU Emacs Lisp , ma non potevo' t trovare il modo di associare un tasto per più comandi.

Ecco quello che ho finora (concentrandosi sulla definizione in movimento verso l'alto):

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

Ma, questo porta in primo piano un messaggio di errore quando ho colpito C-p, "argomento di tipo sbagliato".

Qualche suggerimento?

Grazie!

È stato utile?

Soluzione

Quelli funzione (credo next-line e previous-line) accetta un argomento Optionnal con C-u, quindi penso che (next-line 5) sarebbe fare quello che vuoi.

Modifica: così ho appena provato e che sarebbe

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

E lo stesso con C-p e previous-line.

(Fiew non semplice per scrivere il codice in una textarea con una tastiera telefonica ^^)

Altri suggerimenti

secondo l'avviso della mia emacs di configurazione, e il commento di Peter Ajtai, propongo la versione che utilizza forward-line dal mio init.el

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

Naturalmente c'è anche forward-char, funziona allo stesso modo, solo in una direzione diversa.

L'unica cosa che manca è un complex-forward che richiede un numero complesso come argomento, e può essere utilizzato per navigare in 4 direzioni: P

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top