Как включить текстовые сокращения macOS для текущей команды терминала?

Вопрос или проблема

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

Например, я хотел бы:

  • Command+ перемещает курсор в начало строки.
  • Command+ перемещает курсор в конец строки.
  • Command+Delete удаляет текст от начала строки до текущего курсора.
  • Option+/ перемещает курсор к краю предыдущего или следующего слова.
  • Option+Delete удаляет последнее слово до курсора.

Есть ли способ это сделать?

Запустите cat в Терминале.

Затем нажмите + .

Последовательность Escape, соответствующая + , будет выведена на экран. У меня нет Mac, но, например, в Gnome Terminal / Ubuntu нажатие Ctrl + выведет:

^[[1;5D

Затем привяжите последовательность Escape к соответствующему действию (в данном случае backward-word):

bindkey '<sequence>' backward-word 

заменив <sequence> на вывод cat.

Затем сделайте то же самое для всех последовательностей, которые вы хотите сопоставить.

Действия, которые вы хотите сопоставить, в следующем порядке:

  • beginning-of-line
  • end-of-line
  • backward-kill-line
  • backward-word
  • forward-word
  • backward-kill-word

Я предлагаю вам поместить все ваши команды bindkey (по мере их нахождения) в ~/.zshrc, а не выполнять их, чтобы они выполнялись каждый раз, когда ~/.zshrc загружается (т.е. каждый раз, когда вы открываете оболочку / запускаете новый экземпляр Терминала).

Наконец, выполните . ~/.zshrc.

Ответ или решение

Чтобы включить горячие клавиши macOS для редактирования текста в текущей команде терминала, следует воспользоваться оболочкой Zsh и пользовательскими привязками клавиш. Вот пошаговая инструкция для реализации данной функции:

  1. Откройте терминал и выполните команду cat, чтобы отслеживать коды нажатий клавиш:

    cat

    После этого на экране будет бесполезный вывод, и терминал будет ждать ввода.

  2. Используйте сочетания клавиш, которые вы хотите настроить. Например, нажмите ⌘ + ← (Command + Влево), и вы увидите последовательность, которая будет напечатана в терминале. Сделайте то же самое для всех сочетаний клавиш, которые вы хотите настроить.

  3. Запишите полученные последовательности. Например, если нажатие ⌘ + ← выводит ^[[1;5D, то сохраните эту последовательность.

  4. Откройте конфигурационный файл Zsh, который находится по пути ~/.zshrc. Вы можете использовать любой текстовый редактор, например:

    nano ~/.zshrc
  5. Добавьте привязки для полученных последовательностей. Вставьте следующие строки, заменив <sequence> на соответствующие коды, которые вы получили ранее:

    bindkey '<sequence для cmd + ←>' beginning-of-line
    bindkey '<sequence для cmd + →>' end-of-line
    bindkey '<sequence для cmd + Delete>' backward-kill-line
    bindkey '<sequence для option + ←>' backward-word
    bindkey '<sequence для option + →>' forward-word
    bindkey '<sequence для option + Delete>' backward-kill-word

    Пример:

    bindkey '^[[1;5D' beginning-of-line  # для cmd + ←
  6. Сохраните изменения и выйдите из редактора. Если вы использовали nano, нажмите CTRL + X, затем Y, чтобы подтвердить сохранение, и Enter, чтобы выйти.

  7. Перезагрузите конфигурацию Zsh, чтобы изменения вступили в силу:

    source ~/.zshrc

Теперь все указанные сочетания клавиш должны работать в терминале, позволяя вам редактировать текст так же, как вы делаете это в других приложениях macOS!

Оцените материал
Добавить комментарий

Капча загружается...