W emacach, częściej niż lubię, kończę na 4 lub więcej oknach.
Użyję tego przykładu:
+--------|-----------+
| | |
| 1 | 2 |
| | |
+--------+-----------+
| 3 | 4 |
| +-----------+
| | 5 |
+--------+-----------+
Wiele funkcji może wykonywać działania w other-window
(zwykle to samo okno wskazywane przez C-x o
). Szczególnie przydatne są scroll-other-window
. Jednak po otwarciu 4 lub więcej okien other window
jest mało prawdopodobne, żebym chciał.
Czy istnieje prosty sposób na zarządzanie zestawem other-window
bez zmiany układu okna / bufora? Oczywiście, jest to wykonalne przy użyciu pęczek C-x 4 b
i C-b
ale nie chcę, aby zmienić układ. Na przykład:
- jeśli edytujesz w oknie 4 na powyższym obrazku, czy istnieje prosty sposób
C-M-v
na przewijanie okna 1 ? - Albo po prostu załóżmy, że fokus znajduje się w oknie 3 , jak ustawić
other-window
wskazywanie okna 2 ?
M-1 M-2 ..
do wybrania okna o numerze 1, 2 za pomocąwindow-number
pakietuZ krótkiej recenzji źródła
other-window
wygląda na to, że faktycznie zależy od okna zwróconego przeznext-window
, które jest zdefiniowane w c. Niestetyscroll-other-window
jest również zdefiniowane w c i prawdopodobnie wywołuje tam następne okno. Nie sądzę, że łatwo to zmienić.Wydaje się jednak, że
switch-to-buffer-other-window
jest w użyciupop-to-buffer
, więc możesz mieć trochę szczęścia.źródło
Nie ma łatwego sposobu manipulowania listą okien, więc wynik zwracany przez
other-window
jest mniej więcej stały. Nie jest to złe samo w sobie, ponieważ pozwala zachować spójność podczas nawigacji w systemie Windows. Jeśli chodzi o dwa scenariusze, które opisałeś, za pomocą niektórych elisp lub makr możesz dopasować swój przepływ pracy.Możesz użyć prostego fragmentu, takiego jak poniższy, aby użyć
other-window
odpowiedniej liczby razy, przewinąć w dół i wrócić do pierwotnego okna.Możesz podać argument prefiksu, aby określić, które okno ma być przewijane. Jak można wywnioskować, używa wbudowanego mechanizmu,
other-window
aby pominąćarg
liczbę okien przed przewijaniem.save-selected-window
, Zapewnia ostrość powróci do pierwotnego okna. Dokumentacjaother-window
może zawierać więcej informacji na temat modyfikowania tego fragmentu kodu, aby pasował do Twojego zachowania.Ponownie użyj znaku „
prefix-arg
jak”C-3 C-x o
podczas połączeniaother-window
. Rzeczywista liczba będzie się różnić w zależności od kolejności ich podziału i nie zmieni się, dopóki nie utworzysz nowych okien. Alternatywnie możesz użyć pakietów wygody, takich jakwindow-number
lubace-window
z MELPA, aby szybko przełączać wybrane okna.źródło
<f7> n
Aby przewinąć n-te okno. Utwórz tymczasowe powiązania jednego klawisza za pomocą makr klawiatury.