Как я могу настроить emacs для переключения на определенный буфер, когда я щелкаю по нему мышью? - PullRequest
2 голосов
/ 29 сентября 2011

Я использую iTerm2 на своем Mac для установки ssh в Linux-систему и запускаю emacs в терминале.На большом мониторе мне нравится разбивать окно, чтобы увидеть несколько буферов рядом.Я хотел бы иметь возможность переключаться на определенный буфер, щелкнув по нему мышью (вместо того, чтобы делать Cx o).

Похоже, что происходит, если я щелкаю мышью в любом месте вне текущего активного буфера, например, в следующем буфере, в строке режима и т. Д., Щелчок интерпретируется как связанный с (tmm-СОБЫТИЕ МЕНЮБАР-МЫС).

Я отключил меню, выполнив следующие действия в моем .emacs_d / init.el: (menu-bar-mode -1)

Кажется, это отключает видимое отображение строки менюв верхней части окна, но описанное мной поведение щелчка мыши все еще происходит.

Я думаю, что мне нужно, чтобы щелчок интерпретировался как нечто иное, а затем связывать это с какой-то функцией, которая определяет, в каком буфере произошел щелчок, и переключается на него.Но я не знаю, как это сделать, и поиск, который я провел, не дал четкого ответа.Кто-нибудь может помочь?

В качестве альтернативы я рассмотрел использование windmove для включения переключения между буферами с помощью SHIFT и клавиш со стрелками.Я сделал (windmove-default-keybindings), но тогда, похоже, emacs реагирует на SHIFT-стрелку влево, вставляя «2C» в буфер и SHIFT-стрелку вправо, вставляя «2D».Если у кого-нибудь есть какие-либо советы по созданию этой работы, я бы хотел их услышать.

Спасибо

1 Ответ

1 голос
/ 30 сентября 2011

Я столкнулся с этой проблемой некоторое время назад, когда нажатие на столбец> 95 интерпретировалось как <menu-bar> <mouse-1>, что вызывает tmm-menubar-mouse. Оказалось, это ошибка:

http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6594

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

http://bzr.savannah.gnu.org/lh/emacs/emacs-23/revision/100618

Если я правильно помню, вы сможете просто перенести измененный файл в вашу существующую установку emacs и скомпилировать его байт (при условии, что вы используете 23.3.1, последний выпуск).

...