Festlegen der globalen Tasten des Emacs-Fensters


0

Ich habe Emacs im Vollbildmodus durch das Terminal laufen und in 4 gleich große Fenster aufgeteilt. Anstatt C-x ozum anderen Fenster zu wechseln, möchte ich die Befehle für die einzelnen Fenster fest codieren.

Vielleicht könnte ich die Befehle wie folgt machen:

  1. C-w C-i - oberes linkes Fenster
  2. C-w C-o - rechtes oberes Fenster
  3. C-w C-k - Fenster links unten
  4. C-w C-l - Fenster rechts unten

  5. Was kann ich zu meiner ~/.emacsDatei hinzufügen, um 4 Global-Key-Befehle zum Umschalten zwischen allen 4 Bildschirmen festzulegen, wie oben gezeigt?

Antworten:


1

Sie können eine einfache Funktion wie diese schreiben und Tastenzuordnungen festlegen.

(defun select-nth-window (n)
  "Focus Nth window"
  (interactive)
  (set-frame-selected-window (selected-frame)
                 (frame-first-window))
  (set-frame-selected-window (selected-frame)
                 (nth n (window-list))))

(global-set-key (kbd "C-w C-i") '(lambda ()
                   (interactive)
                   (select-nth-window 0)))
(global-set-key (kbd "C-w C-o") '(lambda ()
                   (interactive)
                   (select-nth-window 2)))
(global-set-key (kbd "C-w C-k") '(lambda ()
                   (interactive)
                   (select-nth-window 1)))
(global-set-key (kbd "C-w C-l") '(lambda ()
                   (interactive)
                   (select-nth-window 3)))

Bearbeiten: Ich kann das Fensterlayout nicht speichern, aber Emacs Wiki: Session Management kann Ihnen helfen.

Weitere Informationen zu Emacs Lisp finden Sie im Handbuch Eine Einführung in die Programmierung in Emacs Lisp und im Emacs Lisp-Referenzhandbuch .


Was kann ich zu meiner .emacsDatei hinzufügen, um Emacs mit 4 Fenstern wie diesem zu starten? Wo erwerben Sie das Wissen, um diese Funktionen zu finden?
CodeKingPlusPlus
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.