Какие клавиши управления доступны при работе в текстовом поле?

Я знаю, что ctrl- eпереместится ко мне в конец строки, а ctrl- aв начало.

Я также знаю, что ctrl- nбудет двигаться вниз по линии.

Какие еще ctrlкомбинации клавиш существуют?

Можно ли двигаться вверх по строке?

Как насчет, самое желательное для меня, есть что-то, чтобы двигаться вперед и назад по слову?

Я понимаю, что могу делать эти вещи в emacs или с альтернативным набором ключей в vi, но это не то, что меня интересует.

Если я пишу вопрос на одном из сайтов stackexchange или в вики, vi и emacs не участвуют.

Ответы (2)

Привязки клавиш по умолчанию хранятся в файлах /System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict. Вы можете использовать plutilдля преобразования файла в формат XML, например:

plutil -convert xml1 -o StandardKeyBinding.xml  /System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict

Или, если у вас есть Xcode или Редактор списка свойств, вы можете открыть его там.

Кроме того, вы можете добавить свои собственные привязки для всей системы /Library/KeyBindings/DefaultKeyBinding.dictили для каждого пользователя в ~/Library/KeyBindings/DefaultKeyBinding.dict.

На этой странице есть хороший обзор привязок. Я особенно полюбил Transpose ( -T), который меняет местами две буквы слева и справа от курсора, быстро исправляя мой самый распространенный тип опечатки.

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

  • - и перейти к началу или концу строки . Добавить , чтобы выбрать все между ними.
  • - и перейти к началу или концу документа . Добавить , чтобы выбрать все между ними.
  • - и перейти к началу или концу слова или между несколькими словами. Добавить , чтобы выбрать все между ними.
  • - и перейти к началу или концу абзаца . Добавить , чтобы выбрать все между ними.

Вы можете использовать alt/ optionи клавиши курсора ← / →для перемещения вперед и назад по целым словам за раз, переходя к началу или концу слова в зависимости от выбранного вами направления.

Использование shiftтакже позволяет выделять текст, когда вы проходите по нему.

Использование тех же комбинаций с ↑ / ↓делает то же самое внутри абзацев.