Функция sudo в zsh

Функция sudo в zsh

Я использую zsh на моем Linux boxe, а также на моем MAC. Однако в обоих env у меня есть "проблема".

Когда я набираю " !! ", это не работает в zsh, но работает в bash. Более того, это действительно полезно с "sudo !!". Как мне заставить это работать с zsh?. Нужно ли мне что-то указывать в моем .zshrc?

решение1

Опция BANG_HISTотключена для вашего zsh:

BANG_HIST() <С> <Я>

Выполнить расширение текстовой истории,csh-стиль, трактовка персонажа `!' особенно.

Это может произойти одним из трех способов:

  1. Установив его явно с помощью set/ setopt. Где-то в конфигурации вашей оболочки есть строка, подобная одной из этих:

     setopt NO_BANG_HIST
     setopt -o NoBangHist
     setopt +o banghist
     set -o nobanghist
     set +o BANG_hist
    

    Регистр не имеет значения и _игнорируется в имени параметра. BANG_HISTвключает функцию, а добавление префикса NO( NO_BANG_HIST) отключает ее. -oустанавливает состояние функции, заданное именем, +oинвертирует значение.

  2. Запустив zshс помощью -Kпараметра командной строки:

    zsh -K
    

    Вы также можете явно задать его с помощью , zsh +Kно это можно переопределить setoptв конфигурации.

  3. Запустив zshв режиме эмуляции один из shвариантов ksh:

    ln -s /bin/zsh /usr/local/bin/ksh
    /usr/local/bin/ksh
    

    В этом случае функцию можно будет позже настроить с помощью setopt, но не с помощью параметра командной строки ( /usr/local/bin/ksh +Kне работает).

решение2

У моего zsh есть!!

Я сейчас установил zsh и !!он работает так же, как и в bash.

Может быть, вам нужно его обновить?

Моя версия такова5.0.2-3ubuntu6

Но если в вашем zsh его нет:

Как ответилиздесьВам необходимо добавить это в ваш .zshrcфайл:

alias ii='$(fc -ln -1)'

решение3

Хорошо. Похоже, что у меня были старые параметры «set opt» в моем .zshrc, вызывающие проблему.

Я узнаю это, тестируя каждый элемент в моем .zshrc. Мне повезло, что это были не последние варианты.

Позже я проверю, какую именно опцию мне нужно изменить или удалить.

С уважением

Связанный контент