Какой параметр управляет перемещением курсора в командной строке?

Usandoawk

awk -F ' *| *' 'NR==FNR{a[$1];next}($1 in a)' file1 file2

La matriz ase llena con el contenido de la primera columna del archivo1. Solo las líneas que coincidan con una matriz de entrada se imprimirán cuando se analice el siguiente archivo.

4
06.06.2019, 21:03
2 ответа

Все зависит от конкретной реализации оболочки. (У вас могут быть разные оболочки по умолчанию в разных системах или даже для разных пользователей в одной системе, например. bash, ksh, tcsh и т. д. ).

Также это зависит от самой оболочки.

. bash поддерживает два режима :emacs и vi. У каждого режима есть свои ярлыки (emacs или vi, например ). Чтобы изменить его, вы должны выполнить set -o emacs(, обычно это значение по умолчанию )или set -o vi

.

Дополнительную информацию можно найти в документации по конкретной оболочке.

7
27.01.2020, 20:46

tl;dr

set -o emacs

активирует привязки клавиш Ctrl -A, Ctrl -E, Ctrl -B и т. д. в большинстве оболочек, которые вы, вероятно, будете использовать.


Оболочка может не иметь возможности редактирования строк или может находиться в viрежиме редактирования (единственном, указанном стандартом ).

Если не в режиме редактирования emacs, клавиши Ctrl -A и Ctrl -E не имеют особого значения. Если включены настройки echoи echoctlstty/termios, все клавиши управления, которые не обрабатываются специальным образом, будут отображаться в виде ^A, ^Xи т. д., с символом «вставки».

Многие оболочки (, такие как kshили zsh), будут определять режим редактирования по умолчанию (vi или emacs )на основе значений VISUALи EDITORпеременных окружения (в этом порядок приоритета, а также обработка таких вариантов, как vim, elvis, xemacsи т. д. ).

Это было сломано (очень раздражающе! )в mksh, но это также имеет место и в других производных отpdksh-оболочках.

Другие оболочки, такие как bashили tcsh, по умолчанию используют режим редактирования emacs, но его также можно переопределить из файла конфигурации библиотеки редактирования строк.

Для библиотеки readline, используемой bashи многими другими программами,файлы конфигурации~/.inputrc(или файл, указанный в переменной окружения INPUTRC)с откатом к /etc/inputrcи настройками:

set editing-mode vi
set editing-mode emacs

Для библиотеки editline/libedit[1], используемой многими программами BSD, файл конфигурации обычно ~/.editrc, а настройки:

bind -v  # for vi
bind -e  # for emacs

[1] не путать с строкой чтенияlibeditline«работают -одинаково», которая обеспечивает только режим редактирования emacs -.

7
27.01.2020, 20:46

Теги

Похожие вопросы