5

Я использую режим vi в оболочке bash.

Если я войду в режим ввода команды и введу число от 1 до 9 (например, 5 в приведенном ниже примере), я получу следующее приглашение:

(arg: 5) <cursor>

Что это значит? Кажется, я не могу сделать что-нибудь полезное с этим приглашением, и я не знаю, какова его цель.

Я даже ткнул в исходники bash, которые в свою очередь попадают в источники GNU Readline.

Вызываемая функция в конце называется rl_vi_arg_digit , которая затем вызывает rl_digit_argument , которая отображает приглашение (arg: N) . Но я не могу видеть из комментариев или связанного кода, для чего он фактически используется .

Кто-нибудь знает?

1 ответ1

4

Вы фактически вышли из режима вставки и находитесь в командном режиме. Число - это аргумент, который можно использовать с клавишами перемещения, как в vi: например, 5h сдвигает влево на 5 символов. Точно так же можно сказать , 5s , чтобы удалить следующие 5 символов и перейти в режим вставки s ubstitute 5 символов).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .