Bash Vi-mode: Di chuyển trở lại dấu gạch chéo cuối cùng


2

Tôi đang sử dụng Bash trong chế độ vi với set -o vi.

Thường thì tôi chạy lại một lệnh nhưng cần thay đổi tên của một tệp trong cùng thư mục.

Thí dụ:

mv /tmp/myfileA.txt /home/daniel/myfileA.txt

Sau đó, tôi quyết định cũng chuyển một tập tin khác:

mv /tmp/w00t.txt /home/daniel/w00t.txt

Thông thường tôi nhấn phím mũi tên lên để nhận lệnh cuối cùng và nhấn bcho đến khi tôi đến ký tự gạch chéo cuối cùng, sau đó chèn tên tệp mới. Vì tôi làm điều này rất thường xuyên, tôi tự hỏi liệu có một cách dễ dàng để có được con trỏ ngay sau hoặc trên ký tự gạch chéo cuối cùng.

Xin lưu ý ở trên chỉ là một ví dụ; Tôi biết tôi có thể làm một cái gì đó như thế mv /tmp/{myfileA,w00t}.txt ...nhưng thường tôi chỉ cần gõ nhanh hơn tôi nghĩ :-)

Câu trả lời:


2

T/đặt con trỏ sau /ký tự cuối cùng , vì vậy:

Up Esc c Shift+T / w00t.txt Enter

hoặc, để thay thế từ đầu tiên trong tên tệp:

Up Esc Shift+T / c w w00t Enter

hoặc, nếu có nhiều từ trước phần mở rộng và bạn muốn giữ phần mở rộng:

Up Esc Shift+T / c t . w00t Enter

Ngoài ra, với lịch sử mở rộng:

!!:h/w00t.txt

lClà một liên lạc tốt đẹp.
jasonwryan

@jasonwryan thực sự Tsẽ tốt hơn.
Gilles

Thật vậy: điều đó sẽ rất hữu ích. Cảm ơn.
jasonwryan

1

Escape

Shiftf

/

  • Escape đưa bạn vào chế độ chỉnh sửa

  • Shiftf Tìm kiếm ngược cho mẫu:

  • /

Sau đó, bạn có thể thực thi một số tùy chọn khác nhau:

  • Controlk: xóa đến cuối dòng

  • df/: giống nhau

i Đưa bạn trở lại trong chế độ chèn ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.