Настроить границы слов Option-Delete (и других ярлыков, связанных со словами) в macOS?

Можно ли изменить поведение ⌥⌫ (опция + удаление), чтобы включить определенные символы, например точку, в качестве границы слова?

Например, в some.variable я хотел бы ⌥⌫ удалить до точки, но в настоящее время он удаляет всю строку. На скринкасте ниже показано поведение при использовании ⌥⇧ ←.

Gif-скриншот


person keith.adams    schedule 17.09.2020    source источник
comment
Вы единственный человек в Интернете, который задал этот вопрос, и я убит горем, что вы не получили ответа.   -  person Monty Evans    schedule 13.04.2021


Ответы (1)


Я искал решение этой проблемы повсюду, начиная с эпохи Cocoa, насколько я могу судить, нет способа настроить список разделителей слов (границы слов) Option-Delete. В дополнение к моим собственным экспериментам, я основываю этот вывод на огромном количестве модификаций привязки клавиш MacOS, которые можно найти по следующим трем URL-адресам (от самых старых до самых последних обновлений):

  1. Настройка текстовой системы Cocoa (около 2006 г.)
  2. DefaultKeybinding.dict (примерно 2016 г., некоторая информация ранее на URL lri.me)
  3. Привязки клавиш — BrettTerpstra.com (последнее обновление — 2018 г.)

Насколько я знаю, границы слов в MacOS по умолчанию являются пробелами и не могут быть изменены. [Этот вывод недействителен, если недавно произошли радикальные изменения в системе ввода текста MacOS].

Ни для кого не секрет, что многие сочетания клавиш MacOS основаны на «сочетании клавиш» в стиле eMac, а не на «модальном редактировании» в стиле Vim. Действительно, большая часть работы Keybinding, процитированная выше, связана с переназначением этих аккордов. Vim, конечно, хорошо известен тем, что имеет настраиваемый список разделителей, это основа для дифференциального движения слов между (например) w, W и b и B (см. vimhelp.org).

Было несколько расширений, которые пытались внедрить редактирование в стиле Vim в MacOS, одним из которых является Karabiner. Karabiner (теперь переписанный/обновленный до Karabiner-Elements) раньше имел режим под названием Ubiquitous_Vim. Однако без «крючка» на уровне ОС личные тесты показывают, что (например) перемещение назад через b и B работает одинаково (т. е. нет никакой разницы между Vim word и Vim WORD, см. это сообщение StackOverflow).

Хотя я не могу найти способ изменить список границ слов по умолчанию в MacOS, если вам нравится редактирование в стиле Vim, вы можете попробовать установить такой проект, как Vim-Anywhere, который позволяет вам 1. использовать сочетание клавиш MacOS, чтобы открывать окно Vim всякий раз, когда вам нужно ввести текст, и 2. автоматически скопирует ваш текст в системный буфер обмена MacOS, когда вы закроете окно Vim. См. эту статью OSTechNix: Как использовать редактор Vim для Введите текст в любом месте для получения дополнительной информации.

person jubilatious1    schedule 14.04.2021