В рыбной раковине, как выбрать с помощью курсора, когда сдвиг удерживается?

273
Sam S

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

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

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

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

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

3
Это контролируется вашей терминальной программой, а не рыбой. glenn jackman 6 лет назад 0

1 ответ на вопрос

0
Kurtis Rader

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

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

bind \cx fish_clipboard_copy bind \cv fish_clipboard_paste