Я использую OSX 10.9, iTerm2, Emacs Prelude и Clojure со всеми режимами, которые наиболее важны, smartparens
. До сих пор хорошо.
Коротко: нашел ли кто-нибудь гармоничный способ использовать все это вместе с OSX Mission Control?
Более длинная версия гласит: я хочу иметь возможность использовать такие команды, как sp-forward-slurp-sexp
, которая по умолчанию имеет комбинацию клавиш C-<right>
, более известную как ярлык на уровне ОС по умолчанию для «переключать пробелы прямо через Mission Control». Я могу довольно легко переназначить это (скажем, на C-Shift-<right>
), но теперь я обнаружил, что C-<right>
на самом деле посылает что-то вроде M-[1;4A
. Вместо запуска sp-forward-slurp-sexp
вы получаете sp-wrap-with-pair "["
. Эм.
Я откопал эту диссертацию о переназначении клавиш, что очень тщательно, но также включает в себя переназначение довольно большого количества вещей, а затем отключение частей paredit
, которые прослушивают команду M-[
. Хотя технически это работает, на самом деле мне нравится, когда sp-wrap-with-pair
включен. Возможно, лучшим вариантом было бы принять теоретически эквивалентное C-(
, за исключением того, что iTerm2 интерпретирует это только как буквальное 9, а C-)
как 0. used-to-paredit-in-emacs-on-os-x-how-come-c-doesnt-work">Этот ТАК пост разжевывает эту проблему и доходит до дразнящего комментария, предполагающего, что C-(
и C-)
просто переназначаются на управляющие последовательности, которые emacs может отображать обратно на C-(
и C-)
-- но, честно говоря, я понятия не имею, как выяснить, какими должны быть управляющие последовательности.
Принося все это домой: кто-нибудь нашел способ использовать все эти инструменты (Mission Control, iTerm2, Emacs Prelude, smartparens) вместе без необходимости переподключения или отключения частей некоторых или большинства из них? Или: у кого самая элегантная перепроводка? Кто-нибудь уже разобрался с трюком C-)
-to-escape-sequence-back-to-C-)
?
Изменить
Копаясь в темноте, я сделал следующее: 1. Настроил iTerm на отправку escape-последовательности для сочетания клавиш Ctrl-Shift-0 (C-S-)
) из SPRTPRN
. 2. Поместите это в мою конфигурацию emacs:
(define-key input-decode-map "\eSPRTPRN" [C-right-paren])
(global-set-key [C-right-paren] (kbd "C-)"))
...это не работает, но у меня есть предчувствие, что я приближаюсь. Я думаю.
Редактировать, снова
Я кое-что понял: идея о том, что Shift здесь не работает, для меня не имеет смысла. По крайней мере, в моей установке emacs M-‹ и M-> переходят к началу и концу буфера соответственно — и чтобы использовать эти команды, мне фактически нужно нажать Meta-Shift-‹ . Хм.
start-process
и написатьosascript / apple-script
для управления Mission Control вместо общесистемных ярлыков, конфликтующих с Emacs? (например, скажите приложению... центру управления полетами... сделай халтуру и развернись...) И, конечно же, отключите любые сочетания клавиш в Системных настройках (Клавиатура), которые конфликтуют. - person lawlist   schedule 02.12.2013C-)
, отправляя только9
. - person Gastove   schedule 02.12.2013control+c )
вместоcontrol+)
?(global-set-key (kbd "C-c )") "hello-world")
. Я не знаю, сможете ли вы использоватьC-)
сам по себе. - person lawlist   schedule 02.12.2013