¡Hay muchas maneras de pelar a este gato!
Para reemplazar una cadena específica, ^old^new^extra
se llevará a su comando anterior, reemplace old
con new
, y anexar extra
. Puedes parar tan pronto como quieras; por ejemplo ^old
, reemplazará old
con la cadena vacía y agregará la cadena vacía (esencialmente eliminando old
y no haciendo nada más).
1. ^diff^checkout
2. ^cat^rm
Variante especialmente útil de esto:
for i in `seq 1 10`; do echo something complicated; done
# inspect the output to see if it looks right
^echo
Para reemplazar una palabra específica, puede usar !m:n-p
para referirse a las palabras a n
través p
del comando m
(use números negativos para contar desde el comando actual). Puede omitir la -p
parte para referirse a una sola palabra, y omitir la :m-p
parte para referirse a un comando completo. Las formas especiales !!
para !-1
, !$
para la última palabra del comando anterior, y !*
para los argumentos (todos menos la palabra 0
) del comando anterior son bastante útiles.
1. !!:0 checkout !!:2-
2. rm !*
A menudo uso ambos; zsh es especialmente agradable aquí, ya que presionar la pestaña expandirá las cosas crípticas para asegurarte de que lo has hecho bien.
También hay muchas maneras de hacer esto con la edición de línea. Lea sobre las combinaciones de teclas de su shell.