5

Zsh очень хорошо заботится обо мне, и иногда это может быть слишком много. Один из случаев, когда я предпочел бы, чтобы это не входило в мои дела, это когда он «хочет убедиться, что я хочу выполнить данную команду». Функции, с которыми я испытываю это:

Команды:
sudo !! - запустить предыдущую команду с префиксом sudo
а также
^old^new - запустить предыдущую команду, но заменить первое вхождение "old" на "new"


Эта проблема:
Когда я набираю одну из двух команд, перечисленных выше, и нажимаю Enter , вместо того, чтобы выполнять ее мгновенно, команда расширяется до того, что на самом деле будет выполняться, и мне приходится нажимать Enter еще раз, чтобы фактически выполнить ее. Первая мировая проблема, но все же.

1 $ pwd
2 /home/neil
3 $ sudo !!
4 $ sudo pwd
5 /home/neil

Я хотел бы пропустить шаг 4. По умолчанию это пропускается в bash.

1 ответ1

8

Это легко ... если вы знаете соответствующую опцию:

unsetopt HIST_VERIFY

Поместите это в ваш ~/.zshrc и сделайте source ~/.zshrc если вы хотите, чтобы это поведение было постоянным.

Пояснения от man zshoptions:

HIST_VERIFY Каждый раз, когда пользователь вводит строку с расширением истории, не выполняйте эту строку напрямую; вместо этого выполните расширение истории и перезагрузите строку в буфер редактирования.

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