Ctrl-x o назад (напротив другого окна)?

CTRL-x o - переключить курсор в другое окно

Я хотел бы иметь возможность отменить то, что делает control-x o. Что-то вроде control-x p делает именно то, что делает control-x o, но наоборот. Причиной этого запроса является то, что у меня часто открываются два буфера, которые являются кодом и одним открытым буфером, который является repl. Мне часто приходится перемещаться по одному из буферов, чтобы добраться до другого, это раздражает.

Скажем, у меня открыто 3 буфера (A, B, C), и я нахожусь в буфере B. Буферы в алфавитном порядке в терминах control-x o. Когда я хочу пойти в A, я хочу просто нажать control-x p, вместо того, чтобы дважды нажать control-x o.

Любая помощь приветствуется, спасибо.

Ответ 1

Вызвать other-window с отрицательным счетчиком. Это можно сделать интерактивно, нажав C-- C-x o. "C--" подает числовой аргумент -1. Вы можете указать любое числовое число (NUM), нажав C-u num.

Если вы не хотите нажимать дополнительный шнур для клавиатуры, просто напишите собственную команду, чтобы жестко закодировать аргумент "-1":

Добавьте этот код в свой .emacs файл

(global-set-key "\C-xp" (lambda () 
                          (interactive)
                          (other-window -1)))

Как это работает? "C-x o" вызывает функцию other-window (чтобы узнать, что использовать C-h k, а затем введите комбинацию клавиш).

В приведенном выше коде мы определяем анонимную функцию, делаем ее интерактивной и делаем то, что хотим. Затем мы связываем эту функцию с комбинацией клавиш C-x p.

Ответ 2

Я немного использовал emacs, и я не верю, что у меня есть опция Ctrl-x o. В любом случае, я всегда предпочитаю использовать Ctrl-x Ctrl-f, это позволяет вам обходить между файлами, используя простой текстовый проводник. Предыдущий файл находится в bacground. Вы можете комбинировать оба.