Có rất nhiều cách để da mèo này!
Để thay thế một chuỗi cụ thể, ^old^new^extrasẽ nắm quyền chỉ huy trước đây của bạn, thay thế oldvới new, và append extra. Bạn có thể dừng lại sớm như bạn muốn; ví dụ ^oldsẽ thay thế oldbằng chuỗi rỗng và nối thêm chuỗi trống (về cơ bản là xóa oldvà không làm gì thêm).
1. ^diff^checkout
2. ^cat^rm
Biến thể đặc biệt hữu ích của điều này:
for i in `seq 1 10`; do echo something complicated; done
# inspect the output to see if it looks right
^echo
Để thay thế một từ cụ thể, bạn có thể sử dụng !m:n-pđể chỉ các từ nthông qua plệnh m(sử dụng số âm để đếm ngược từ lệnh hiện tại). Bạn có thể bỏ qua -pphần để chỉ một từ và bỏ qua :m-pphần đó để chỉ toàn bộ lệnh. Các hình thức đặc biệt !!cho !-1, !$cho từ cuối cùng của lệnh trước và !*cho các đối số (tất cả trừ từ 0) của lệnh trước đó là khá tiện dụng.
1. !!:0 checkout !!:2-
2. rm !*
Tôi thường sử dụng cả hai thứ này; zsh đặc biệt tốt ở đây, vì việc nhấn tab sẽ mở rộng các công cụ khó hiểu để đảm bảo bạn hiểu đúng.
Cũng có rất nhiều cách để làm điều này với chỉnh sửa dòng. Đọc trên keybindings của vỏ của bạn.