Pull to refresh

Клавиши Emacs в любом приложении Windows

Reading time 2 min
Views 3.3K
Отказавшись наконец-то от Emacs в пользу более простых редакторов, я тем не менее никак не мог отвыкнуть от его клавиатурной раскладки (клавиатурных сочетаний, аккордов, шоткатов, keybindings). Отмечу, что двумя причинами, держившими меня на Emacs, были:

  1. Org-Mode, мотто этого проекта, «Your Life in Plain Text» весьма точно отражает его суть. Это мощный и удобный (хотя и не во всех отношениях) функционал как для ведения обычного списка TODO-записей, так и для более сложных случаев (GTD, планировщик, организация каталогов чего-нибудь и т.д.
  2. Key bindings, клавиатурные сочетания Emacs-а. То, к чему казалось, так трудно привыкнуть, движение по тексту с помощью Ctrl+F,B,N,P,E,A пролистывание страниц Ctrl+V, Alt+V и прочие сочетания, позволяющие не отрывать руки от буквенно-цифровой части клавиатуры при наборе и навигации по тексту прочно въелись после уже довольно непродолжительного использования Emacs.

Я нашел замену и тому, и другому. Сначала небольшое лирическое отступление — все дело в том, что вместе с взрослением вращением счетчика прожитых лет приходит все большее желание to KISS. Это в частности выразилось для меня и в том, что при проявлении очередной мешавшей жить фичи Emacs (dns-lookup, который он выполнял для локального хоста при выполнении многих операций с файлами, фризил его секунд на 10 в определенных конфигурациях сети, например у меня на работе), я внял таки совету использовать текстовый редактор вместо Emacs. Для больших проектов — IDE (Eclipse, VS, etc), для быстрого редактирования отдельных файлов и небольших проектов на Python — Notepad++.

Замена Org-Mode нашлась легко — после покупки Android-смартфона я уже и так почти полностью перешел на Google Tasks в паре с приложением GTasks. Функционала оказалась вполне достаточно (благодаря моей склонности к KISS опять же, от полных вариантов GTD и планирования времени, иерархических списков и ведения расширенных статусов по проектам/задачам я отказался), а пользоваться — даже более удобно, чем Org-Mode (в плане синхронизации и простоты работы)

Чтобы решить второй момент мне пришлось гуглить 15 минут. В итоге было найдено два решения, позволяющие пользоваться клавиатурными сочетаниями Emacs в любом приложение Windows:

  1. Autohotkey скрипт EmacsEverywhere, в плюсах — простота и возможность быстро допилить под себя. В минусах — небольшое количество поддерживаемых сочетаний клавиш.
  2. Утилита (под Windows) XKeymacs, возможности более широкие, поддерживает кучу сочетаний клавиш (в том числе выделение текста (region) с помощью Ctrl+Space и клавиш движения курсором, из-за чего пока и пользуюсь именно этим вариантом), возможно отключать отдельные сочетания инвидуально для разных приложений:



    Причем можно настроить профиль по умолчанию, в котором будет только Ctrl+F,B,N,P и пользоваться этими клавишами движения курсора вместо стрелок в любом приложении Windows, в Total Commander, например.

    У меня XP, поэтому не уверен, будет ли это приложение так же хорошо работать на более старших версиях Windows, но пока багов замечено не было, за исключением того, что некоторые шоткаты работают как-то странно — например, при использовании Ctrl+X, Ctrl+S в Notepad++ каждый раз мелькает меню «File», как будто нельзя сохранить файл без эмулирования нажатия пункта меню. Но для меня основным все равно были именно движение курсора и работа с буфером — а эти части работают без пререканий.

P.S. А еще в Emacs мне очень нравилась цветовая схема для Python, сделал такую же в Notepad++:

Tags:
Hubs:
+15
Comments 21
Comments Comments 21

Articles