commandline - установка или получение текущего буфера командной строки
Синопсис
commandline [OPTIONS] [CMD]
Описание
commandline может быть использовано для установки или получения текущего содержимого буфера командной строки.
Без параметров, commandline возвращает текущее значение командной строки.
С указанным CMD, буфер командной строки очищается и заменяется содержимым CMD.
Доступны следующие опции:
-
-Cили--cursorустанавливают или получают текущую позицию курсора, а не содержимое буфера. Если аргумент не указан, выводится текущая позиция курсора, в противном случае аргумент интерпретируется как новая позиция курсора. Если одна из опций-j,-pили-tуказана, позиция относительна соответствующей подстроке, а не всего буфера командной строки. -
-fили--functionзаставляет все дополнительные аргументы интерпретироваться как функции ввода и помещает их в очередь, так что они будут прочитаны до любых дополнительных фактических нажатий клавиш. Эта опция не может быть объединена ни с какой другой опцией. Смотрите bind для списка функций ввода.
Следующие опции изменяют способ, которым commandline обновляет буфер командной строки:
-
-aили--appendне удаляют текущую командную строку, добавляют указанную строку в конец -
-iили--insertне удаляют текущую командную строку, вставляют указанную строку в текущую позицию курсора -
-rили--replaceудаляют текущую командную строку и заменяют ее указанной строкой (по умолчанию)
Следующие опции изменяют часть командной строки, которая отображается или обновляется:
-
-bили--current-bufferвыбирает всю командную строку, не включая любые отображаемые автопредложения (по умолчанию) -
-jили--current-jobвыбирает текущую задачу —jobздесь представляет собой одну конвейную команду. Она останавливается на логических операторах или терминаторах (;,&или новых строках). -
-pили--current-processвыбирает текущий процесс —processздесь представляет собой одну простую команду. Она останавливается на логических операторах, терминаторах или каналах. -
-sили--current-selectionвыбирает текущий выделенный фрагмент -
-tили--current-tokenвыбирает текущий токен
Следующие опции изменяют способ, которым commandline отображает текущий буфер командной строки:
-
-cили--cut-at-cursorвыводит только выделенный фрагмент до текущей позиции курсора -
-oили--tokenizeтокенизирует выделенный фрагмент и выводит один токен строкового типа на строку
Если commandline вызывается во время вызова для завершения заданной строки с помощью complete -C STRING, commandline будет рассматривать указанную строку как текущее содержимое командной строки.
Следующие опции выводят метаданные о состоянии командной строки:
-
-Lили--lineвыводит строку, на которой находится курсор, при этом верхняя строка начинается с 1 -
-Sили--search-modeпринимает значение true, если командная строка выполняет поиск по истории -
-Pили--paging-modeпринимает значение true, если командная строка отображает содержимое страничного вывода, например, автодополнение
Пример
commandline -j $history[3] заменяет задачу под курсором третьим элементом из истории командной строки.
Если командная строка содержит
>_ echo $flounder >&2 | less; and echo $catfish
(с курсором на "o" в "flounder")
echo $flounder >& - это первый процесс, less - второй, а and echo $catfish - третий.
echo $flounder >&2 | less - это первая задача, and echo $catfish - вторая.
$flounder - это текущий токен.
Дополнительные примеры:
>_ commandline -t $flounder >_ commandline -ct $fl >_ commandline -b # or just commandline echo $flounder >&2 | less; and echo $catfish >_ commandline -p echo $flounder >&2 >_ commandline -j echo $flounder >&2 | less
© 2021 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.3/cmds/commandline.html