Ada banyak cara untuk menguliti kucing ini!
Untuk mengganti string tertentu, ^old^new^extra
akan mengambil perintah Anda sebelumnya, ganti old
dengan new
, dan tambahkan extra
. Anda dapat berhenti sedini mungkin; mis. ^old
akan mengganti old
dengan string kosong dan menambahkan string kosong (pada dasarnya menghapus old
dan tidak melakukan apa-apa lagi).
1. ^diff^checkout
2. ^cat^rm
Varian yang sangat berguna dari ini:
for i in `seq 1 10`; do echo something complicated; done
# inspect the output to see if it looks right
^echo
Untuk mengganti kata tertentu, Anda dapat menggunakan !m:n-p
untuk merujuk kata n
- kata melalui p
perintah m
(gunakan angka negatif untuk menghitung mundur dari perintah saat ini). Anda bisa menghilangkan -p
bagian untuk merujuk ke satu kata, dan menghilangkan :m-p
bagian untuk merujuk ke seluruh perintah. Bentuk khusus !!
untuk !-1
, !$
untuk kata terakhir dari perintah sebelumnya, dan !*
untuk argumen (semuanya kecuali kata 0
) dari perintah sebelumnya cukup berguna.
1. !!:0 checkout !!:2-
2. rm !*
Saya sering menggunakan keduanya; zsh sangat baik di sini, karena tab tab akan memperluas barang rahasia untuk memastikan Anda melakukannya dengan benar.
Ada juga banyak cara untuk melakukan ini dengan pengeditan baris. Bacalah tentang keybindings shell Anda.