Добавить привязку к рыбе, которая не автоматически выполняет строку?
Как настроить привязку ключа в fish, чтобы рыба понимала, что не следует выполнять строку привязки после добавления ее в командную строку, а просто добавлять ее как строку в командную строку.
Я хочу установить привязку, которая добавляет | less
нажав т.е. Alt + Y.
Похоже, что по умолчанию fish понимает команду для автоматического выполнения.
Т.е. когда я печатаю ls
в командной строке, а затем нажмите Alt + Y, он только должен завершить команду, чтобы выглядеть так ls | less
но все еще не выполняет его.
я пытаюсь что-то вроде этого
bind \ey " \| less"
Но рыба не принимает мой синтаксис
1 ответ
Чтобы добавить |less в конец командной строки, это уже функция по умолчанию в fish с использованием Alt-p
http://fishshell.com/user_doc/index.html
Вы можете создать функцию, чтобы сделать это, если вы предпочитаете:
function __fish_less
commandline -i -- "|less"
end
bind \ey __fish_less
Я не уверен, если вам нужно избежать | сделать несколько тестов...
РЕДАКТИРОВАТЬ:
Относительно добавления, справка командной строки говорит:
* -a or --append do not remove the current commandline, append the specified string at the end of it
* -i or --insert do not remove the current commandline, insert the specified string at the current cursor position
* -r or --replace remove the current commandline and replace it with the specified string (default)
Таким образом, чтобы добавить вместо вставки команды, я думаю, вы должны использовать -a