Domyślne wiązanie klawiszy C-a/C-e
jest tylko dla jednej rzeczy, przejdź na początek / koniec linii, czy jest jakiś pakiet, który może sprawić, że Emacs będzie działał w ten sposób:
- Jeśli nie będę na końcu linii,
C-e
przejdę do końca linii, w przeciwnym razie przejdź do końca następnej linii - Jeśli nie jestem na początku linii,
C-a
przejdę na początek linii, w przeciwnym razie przejdź do początku następnej linii.
Chodzi o to, że możesz po prostu naciskać, C-a/e
aby przejść do początku / końca każdej linii, nie ruszając palcem, aby sięgnąć C-n/p
.
I z prefiksem ( C-u
) będą przechodzić na początek / koniec linii w przeciwnym kierunku.
key-bindings
line-break
motion
CodyChan
źródło
źródło
C-a
iść „w górę” iC-e
„w dół”? Innymi słowy, czy znaczenie „następnego wiersza” jest takie samo w punktach 1 i 2?C-a
w górę iC-e
w dół”, kiedy opublikowałem to pytanie, ale pomyślałem, że jeśli ktośdefun
dałby takie rozwiązanie jak ty, każdy wiedziałby, co zrobić, jeśli lubiC-a
„w górę” ..Odpowiedzi:
Nie znam pakietu, który umożliwiłby takie zachowanie, ale jest jeden sposób, aby to zrobić.
Naciśnij,
C-h k C-a
aby odkryć, żeC-a
jest to związanemove-beginning-of-line
; jest to funkcja, którą musimy zmodyfikować --- lub po prostu użyć do implementacji części „przejście do początku”. Podobnie zC-h k
I can findforward-line
, który będzie używany do poruszania się w górę / w dół.Aby móc przypisać funkcję do klawisza, musimy uczynić go poleceniem , dlatego musimy użyć
interactive
specjalnego formularza (patrz Korzystanie z interaktywnego ). Aby wziąćC-u
argument przedrostka, potrzebujemy"P"
znaku kodu.Łącząc to z
bolp
(sprawdź, czy na początku linii) ieolp
(sprawdź, czy na końcu linii), możemy napisać:Teraz możemy ponownie powiązać
C-a
iC-e
wywołać je:Alternatywnie można dodać porady do
move-beginning-of-line
imove-end-of-line
.źródło
my-move-beginning-of-line
. Czy powinno to być(previous-line (if arg -1 1))
lub(forward-line (if arg 1 -1))
(przełączane 1 i -1)?C-a
alboC-e
.C-a
przejść do „góry”.Biblioteka
misc-cmds.el
od dawna ma tę funkcję.Są to odpowiednie polecenia i sugerowane powiązania klawiszy (te powiązania zostały utworzone
setup-keys.el
).Oto, co
C-h f end-of-line+
mówi, jako jeden przykład:źródło
Poniższe dwie funkcje wykonują pożądane czynności.
źródło