Función sudo en zsh

Función sudo en zsh

Estoy usando zsh en mi caja de Linux y en mi MAC. Sin embargo, en ambos entornos, tengo un "problema".

Cuando escribo "!!", no funciona en zsh, pero sí en bash. Más aún, es realmente útil con "sudo!!". ¿Cómo puedo hacer que funcione con zsh? ¿Necesito asignar un alias a algo en mi .zshrc?

Respuesta1

La BANG_HISTopción está deshabilitada para su zsh:

BANG_HIST(+k) <C> <Z>

Realizar la expansión de la historia textual,csh-estilo, tratando al personaje `!' especialmente.

Esto puede suceder mediante uno de tres métodos:

  1. Configurándolo explícitamente con set/ setopt. En algún lugar de la configuración de tu shell hay una línea como una de estas:

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

    El caso no importa y _se ignora en el nombre de la opción. BANG_HISThabilita la función y anteponer NO( NO_BANG_HIST) la desactiva. -oestablece el estado de la característica tal como lo indica el nombre, +oinvierte el significado.

  2. Comenzando zshcon la -Kopción de línea de comando:

    zsh -K
    

    También puede configurarlo explícitamente, zsh +Kpero se puede anular setopten la configuración.

  3. Iniciando zshen modo emulación para cualquiera de los dos sho ksh:

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

    En ese caso, la función también se puede configurar posteriormente con setopt, pero no mediante la opción de línea de comando ( /usr/local/bin/ksh +Kno funciona).

Respuesta2

mi zsh tiene!!

He instalado zsh ahora mismo y !!funciona como funciona en bash.

¿Quizás necesites actualizarlo?

mi versión es5.0.2-3ubuntu6

Pero si tu zsh no lo tiene:

Como respondióaquínecesitas agregar esto a tu .zshrcarchivo:

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

Respuesta3

De acuerdo. Parece que tenía unas antiguas opciones de "establecer opción" en mi .zshrc que causaban el problema.

Lo descubro probando todos y cada uno de los elementos de mi .zshrc. Por suerte, no fueron las últimas opciones.

Más adelante probaré qué opción específica necesito cambiar o eliminar.

Saludos

información relacionada