Emacs на Mac OS X Leopard привязки клавиш



Я пользователь Mac, и я решил изучить Emacs. У меня читать что уменьшить напряжение руки и улучшить точность CTRL и CAPS LOCK ключи должны быть заменены. Как это сделать в Leopard?



кроме того, в терминале я должен использовать ESC клавишу для вызова мета. Есть ли способ получить ключ alt / option для вызова meta вместо этого?



обновление: в то время как клавиша управления теперь намного легче нажимается, мета-ключ также используется достаточно часто, что его положение на моем MacBook и Apple Keyboard также заслуживает внимания. На самом деле, я считаю, что управляющий ключ на самом деле легче ударить, поэтому я переназначил свой управляющий ключ, чтобы действовать как мета-ключ. У кого-нибудь есть лучшее/более стандартное решение?

700   13  

13 ответов:

замена CTRL и CAPS LOCK

  1. поехать в Системные Настройки
  2. введите Клавиатура И Мышь панель настроек
  3. на клавиатура tab, нажмите Клавиши-Модификаторы...
  4. поменять действия для Caps Lock и управления.

alt text

используя ALT / OPTION как Мета

  1. в строке меню выберите терминал
  2. клик предпочтения...
  3. под настройки tab, перейти к клавиатура tab
  4. установите флажок использовать опцию в качестве мета-ключа

alt text

вот именно! Вы должны быть на пути к тому, чтобы стать мастером Emacs!

для справки, вот ключевые привязки, для перемещения по тексту:

+ - перемещение на одно слово влево
+ - двигаться вправо одно слово
+ удалить - назад удалить одно слово
Shift + + удалить - foward удалить одно слово
+ - переместить один абзац
+ - вниз один абзац
+ - перейти к началу текущей строки
+ - перейти к концу текущей строки
Shift + любой из вышеперечисленных расширить выделение на соответствующую сумму

нажмите и перетащите-выберите текст
Дважды щелкните, затем перетащите-выделите текст, обернув в конец слова
Трижды щелкните, затем перетащите-выберите текст, перенос в абзац заканчивается

Shift + Выделите текст с помощью мыши-добавить к выделению (непрерывный)
+ Выделите текст с помощью мыши-добавить к выделению (несмежный)
+ перетащите-выберите прямоугольную область (несмежную)
+ + drag-добавить прямоугольную область для выбора
Перетащите выделение-переместить текст
+ перетащите выделение-копировать текст

Ctrl + A - перейти к началу текущего абзаца
Ctrl + B - движение влево на один символ
Ctrl + D - вперед удалить
Ctrl + E - переход к концу текущего абзаца
Ctrl + F - перейти вправо на один символ
Ctrl + H - удалить
Ctrl + K - удалить остаток текущего пункт
Ctrl + N - переместить вниз на одну строку
Ctrl + O - вставить новую строку после курсора
Ctrl + P - перейти на одну строку
Ctrl + T - транспонировать (поменять местами) два близлежащих символов
Ctrl + V - перейти к концу, а затем оставил один символ
Ctrl + Y вставить текст ранее удаленных с Ctrl -K

другой ответ был очень полным, но дополнительно я бы упомянул, что я просто установил caps lock ключ ко второму ключу управления вместо замены их.

кроме того, вы заметите, что подавляющее большинство полей ввода текста в Mac OS X уже принимают в Emacs клавиши (^начало строки ^е конца строки, ^П ^Н ^К ^Г и т. д.)

удачи

Мне очень нравится ответ Кайл Кронин, но я хочу добавить одну вещь - убедитесь, что вы выберите подходящую клавиатуру для этой работы. Если у вас есть внешняя клавиатура подключена к ноутбуку, то есть дополнительный выпадающий список, и вы должны сделать это для обеих клавиатур (или, по крайней мере для внешней клавиатуры). На снимке экрана ниже показано диалоговое окно "выбор клавиатуры" - я выбрал "Joint Mac Keyboard", что является способом MacBook сказать GoldTouch внешняя клавиатура-по умолчанию используется встроенная клавиатура.
Screen shot showing "Select Keyboard" dialog

Как только я понял это - это отлично работает для меня!

Если вы используете emacs через ssh-соединение или через машину, не находящуюся на вашем локальном компьютере, кнопки Page up/page down прокручивают буфер терминала - по моему опыту, не слишком полезно.

вы можете настроить кнопки Page down и page up для отправки соответствующих команд в emacs. В emacs вы можете прокручивать буфер emacs следующим образом:

  • страница вверх: Ctl-v
  • страница вниз: Esc-v

Итак, чтобы терминал отправил эти команды для emacs, следуйте инструкциям выше, чтобы изменить клавиши Alt для Meta. Однако вместо установки параметра " использовать параметр как мета "найдите параметры" страница вниз "и" страница вверх".

Страницы

дважды щелкните "страница вниз", чтобы изменить его. Изменить действие до "отправить строку в оболочку" и вводим \026 как строку. Сохранить его.

страница Вверх

дважды нажмите кнопку "страница вверх", чтобы изменить его. Изменить действие до "отправить строку в оболочку" и вводим 033v\ как строку. Сохранить его.

Не уверен, что вы полностью женаты на использовании Emacs из терминала, но другой вариант-использовать Carbon Emacs (мой любимый) и Aquamacs (очень похожий на Mac). Carbon Emacs использует командный ключ для meta, это хорошо, потому что вы можете выполнять команды Control-Meta, просто удерживая Control и Command down вместо первого нажатия escape, а затем последовательности клавиш управления.

кроме того, если вы серьезный пользователь Emacs, я настоятельно рекомендую вам получить клавиатуру, подходящую для программирования (это это тот, который полностью настраивается под себя). Я использую Кинезис, это немного денег, но они очень прочные и довольно приятные.

лично у меня есть настройка caps lock, чтобы вести себя как команда в Системных настройках, а затем на моем Emacs init.файл Эл:

(setq mac-command-modifier ' ctrl)

и это позволяет мне использовать caps lock в качестве команды в большинстве приложений osx и в качестве элемента управления в emacs. работает достаточно хорошо для меня.

ваша радость только начинается. Другие трюки включают в себя:

  • используйте левую и правую клавиши shift, чтобы также быть ( и)для быстрого ввода.
  • переназначить ваш ключ fn или другой ключ, чтобы быть "супер".
  • сделать caps lock быть контроль, но только с другим ключом. Само по себе это бегство.

прочитайте отличную статью на http://stevelosh.com/blog/2012/10/a-modern-space-cadet/ для получения дополнительной информации.

этот поток был запущен 5 лет назад и нет никакого упоминания о ns-win.el или построить --with-ns. Вот все ключевые привязки, доступные (из коробки) в багажнике Emacs по состоянию на октябрь 2013 года. И, конечно же, вы можете создать свой собственный. Лично у меня есть один init.el со всеми моими привязками клавиш, которые могут использоваться с Windows XP через Parallels на OSX, а также с OSX изначально. Поскольку пользователь может определить свои собственные сочетания клавиш, я не вижу необходимости раскладку клавиатуры в системе предпочтения (с клавиатурой Apple U. S.) если С помощью клавиатуры,которая не включает клавишу Command. Но, я бы выбросил свой тайник IBM clicky клавиатур со встроенной trackpoint? Конечно, нет. :) Я беру свои IBM clicky клавиатуры со мной в следующую жизнь. Любое напряжение руки, скорее всего, вызвано неправильным положением запястья / руки / локтя, а не ударом по контролю против caps lock. Точность улучшается с помощью практики, а также с помощью босса, просматривающего ваши плечо, чтобы увидеть, как вы идете вперед-т. е. немного давления, чтобы быть более продуктивным :)

(define-key global-map [?\s-,] 'customize)
(define-key global-map [?\s-'] 'next-multiframe-window)
(define-key global-map [?\s-`] 'other-frame)
(define-key global-map [?\s-~] 'ns-prev-frame)
(define-key global-map [?\s--] 'center-line)
(define-key global-map [?\s-:] 'ispell)
(define-key global-map [?\s-?] 'info)
(define-key global-map [?\s-^] 'kill-some-buffers)
(define-key global-map [?\s-&] 'kill-this-buffer)
(define-key global-map [?\s-C] 'ns-popup-color-panel)
(define-key global-map [?\s-D] 'dired)
(define-key global-map [?\s-E] 'edit-abbrevs)
(define-key global-map [?\s-L] 'shell-command)
(define-key global-map [?\s-M] 'manual-entry)
(define-key global-map [?\s-S] 'ns-write-file-using-panel)
(define-key global-map [?\s-a] 'mark-whole-buffer)
(define-key global-map [?\s-c] 'ns-copy-including-secondary)
(define-key global-map [?\s-d] 'isearch-repeat-backward)
(define-key global-map [?\s-e] 'isearch-yank-kill)
(define-key global-map [?\s-f] 'isearch-forward)
(define-key global-map [?\s-g] 'isearch-repeat-forward)
(define-key global-map [?\s-h] 'ns-do-hide-emacs)
(define-key global-map [?\s-H] 'ns-do-hide-others)
(define-key global-map [?\s-j] 'exchange-point-and-mark)
(define-key global-map [?\s-k] 'kill-this-buffer)
(define-key global-map [?\s-l] 'goto-line)
(define-key global-map [?\s-m] 'iconify-frame)
(define-key global-map [?\s-n] 'make-frame)
(define-key global-map [?\s-o] 'ns-open-file-using-panel)
(define-key global-map [?\s-p] 'ns-print-buffer)
(define-key global-map [?\s-q] 'save-buffers-kill-emacs)
(define-key global-map [?\s-s] 'save-buffer)
(define-key global-map [?\s-t] 'ns-popup-font-panel)
(define-key global-map [?\s-u] 'revert-buffer)
(define-key global-map [?\s-v] 'yank)
(define-key global-map [?\s-w] 'delete-frame)
(define-key global-map [?\s-x] 'kill-region)
(define-key global-map [?\s-y] 'ns-paste-secondary)
(define-key global-map [?\s-z] 'undo)
(define-key global-map [?\s-|] 'shell-command-on-region)
(define-key global-map [s-kp-bar] 'shell-command-on-region)
;; (as in Terminal.app)
(define-key global-map [s-right] 'ns-next-frame)
(define-key global-map [s-left] 'ns-prev-frame)

(define-key global-map [home] 'beginning-of-buffer)
(define-key global-map [end] 'end-of-buffer)
(define-key global-map [kp-home] 'beginning-of-buffer)
(define-key global-map [kp-end] 'end-of-buffer)
(define-key global-map [kp-prior] 'scroll-down-command)
(define-key global-map [kp-next] 'scroll-up-command)

;; Allow shift-clicks to work similarly to under Nextstep.
(define-key global-map [S-mouse-1] 'mouse-save-then-kill)
(global-unset-key [S-down-mouse-1])

(не эргономичная клавиатура, но мне очень нравится перемещение и ощущение клавиш , а также клавиша управления, Caps Lock меняются местами).

http://matias.ca/osxkeyboard/index.php

Я создал довольно полный набор Привязок здесь использовать за пределами терминал.

лично я не могу использовать клавиатуру ноутбука mac из-за отсутствия правильной клавиши управления.

вместо этого я использую Компания Microsoft Натуральные Эргономичная Клавиатура 4000 уже более 7 лет: он получил действительно жирные, хорошо расположенные клавиши Ctrl и Alt, а после загрузка драйверов "старт" и Клавиши "Application" тривиально переназначаются на ключ Mac Cmd, который также является толстым и легко нажимается.

чтобы избежать эргономических проблем emacs, я научился использовать Ctrl, Alt и Cmd так же, как мы используем Shift - нажатие их рукой, противоположной той, которая вводит фактическую клавишу. (То есть, я просто оставляю Caps Lock как есть.)

Я установил caps lock для управления в системном предпочтении, и у меня есть следующее В моем init.el для установки команды в meta и опции в super:

(custom-set-variables
 '(ns-alternate-modifier (quote super))
 '(ns-command-modifier (quote meta)))

Я хотел бы рекомендовать 2 программные Seil и карабин. Просто установив Seil и следуя инструкциям в программном обеспечении, вы должны быть в состоянии достичь того, что вы хотите. По моему опыту, карабинер более мощный. У меня есть японская клавиатура, макет которой отличается от обычных. У меня есть некоторые фрагмент который переназначает две дополнительные клавиши на моей клавиатуре на F18 и F19 для другого использования. Вы можете использовать тот же синтаксис для редактирования "частный.xml " файл, чтобы сделать больше вещей.

Comments

    Ничего не найдено.