3

Во всех текстовых редакторах графического интерфейса ctrl-стрелка перемещает курсор за словом, а удержание shift позволяет выбрать курсор при перемещении курсора. Таким образом, ctrl-shift-left выделяет предыдущее слово. У рыбы уже есть первое, но я хочу реализовать второе.

Я пытался сделать что-то вроде

bind \[d begin-selection backward-word      # \[d is ctrl-shift-left

Но проблема в том, что он начинает выделение при каждом нажатии клавиши вместо выбора дополнительных слов.

Кроме того, я не знаю, как скопировать выбор рыбы на общесистемную клавиатуру.

1 ответ1

0

То, что вы пытаетесь сделать, невозможно с любой версией рыбы, которая существует, когда я набираю это. Функция begin-selection предназначена для привязки к клавише, которая только запускает режим выбора. Вы не можете также выполнять перемещение курсора в той же привязке, потому что, как вы заметили, она начинает новый выбор с каждым нажатием клавиши. Эта функция в настоящее время используется только в привязке командного режима vi-mode к v . После нажатия любой клавиши, которую вы связали, чтобы begin-selection вам нужно нажать другую клавишу, которая выполняет перемещение курсора, чтобы расширить выбор. Теоретически это можно сделать так, как вы хотите. Не стесняйтесь, чтобы открыть вопрос .

Для копирования / вставки реализации вы предпочитаете привязки. Это значения по умолчанию для привязок клавиш emacs-mode и vi-mode:

bind \cx fish_clipboard_copy
bind \cv fish_clipboard_paste

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .