5

Если у меня есть рамка Emacs на каждом из моих дисплеев, как я могу легко перемещаться по буферам между двумя дисплеями? Обычно я использую стрелки Shift +, чтобы перейти к нужному буферу, но с двумя кадрами он не будет прыгать.

Есть ли уловка с этим? Или мне нужно сначала сфокусироваться на другом кадре Emacs (это шаг, который я бы хотел избежать).

2 ответа2

7

Вы можете использовать только что созданный пакет, который я загрузил на wiki: framemove.el. Чтобы вырезать / вставить мои заметки из моей записи в блоге об этом:

Я написал пакет framemove, чтобы использовать его так же, как встроенный в Emacs пакет windmove. И, что еще лучше, он может интегрироваться с windmove, так что когда вы выберетесь из окон, чтобы перейти между ними, вы перейдете к следующему кадру в этом направлении.

Чтобы установить framemove самостоятельно:

(require 'framemove)
(framemove-default-keybindings) ;; default prefix is Meta

Но вы можете захотеть использовать это в сочетании с windmove, и в этом случае это код интеграции, который нужно добавить в ваш .emacs:

(require 'framemove)
(windmove-default-keybindings)
(setq framemove-hook-into-windmove t)

С интеграцией с windmove, вы просто делаете SHIFT-вправо, чтобы переместить фокус в окно справа от тока, а когда их больше нет, фокус сместится в кадр вправо.

2

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

Я думаю, что функция emacs, которую вы ищете, это other-frame . Обычно это связано с C-x 5 o . Вы можете, конечно, связать это с любой другой комбинацией клавиш, которую вы хотите (в конце концов, это emacs).

Чтобы узнать, к чему он в данный момент привязан, введите C-h w (whereis help), а затем введите other-frame .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .