Что такое «<Esc> Kv» в bash

13

Когда я в ударе и нажмите Esc, Shift+ K, V, Баш запускает $EDITORс именем файла аналогично /tmp/bash-fc-186566385.

Почему это и какова его цель?

Мне, вероятно, нужно упомянуть, что я использую bash set -o vi.

Рене Ниффенеггер
источник

Ответы:

10

Это позволяет вам создать команду с полным редактированием Vi. Если вы введете несколько команд и сохраните выход, :wqкоманды будут запущены.

РАЗЪЯСНЕНИЕ: позволяет создать команду в любом редакторе, который вы установили, $EDITORи когда вы сохраните и выйдете из нее, содержимое будет запущено. (Уточнил, что это не просто Ви!)

ТАКЖЕ, как отмечает RealSkeptic , комбинация shift+ Kне требуется для вызова редактора. Просто esc, Vбудет.

forquare
источник
Пожалуйста , обратите внимание , что некоторые клавиатуры имеют ключ с надписью v. Нажатие кнопки (или более клавиш) , чтобы получить , Kкак правило , размеченная как <kbd>Shift</kbd>+<kbd>K</kbd>и нажав на клавишу , чтобы получить ( в нижнем регистре) , vкак<kbd>V</kbd>
Антону
Нет, но ваши правки в постах ОП были неверными.
Anthon
2
Разве режим редактора не доступен просто escape-V? «Shift-K» там, кажется, просто вуду.
RealSkeptic
@RealSkeptic вы правы, хорошая дополнительная информация
forquare
3
Также Ctrl-x + e (если вы не в режиме vi)
Iacchus
12

Вам не нужно Shift+ k. Использование Esc+ vбудет работать, поскольку вы разрешаете редактирование командной строки оболочки с помощью встроенного редактора vi с помощью set -o vi(то же самое можно получить с помощью Ctrl+ x+ e). Это эквивалентно выполнению встроенной fcкоманды, которая полезна для управления списком истории и файлом истории. Он будет вызывать любой редактор, установленный в вашем $EDITOR(иначе редактор вашей оболочки по умолчанию), чтобы написать длинную, сложную или сложную команду, а затем выполнить их после сохранения и закрытия редактора. Смотрите здесь для подробностей о fcкоманде: Встроенные истории Bash .

coffeMug
источник