Phím tắt để lưu lệnh đã gõ và làm sạch dòng


12

Bạn biết tình huống: Bạn đang thực hiện một nửa cách gõ một lệnh dài (ví dụ như một thông điệp cam kết) và nhận ra rằng bạn đã quên thực thi một số lệnh tiên quyết không thể thêm vào &&. Thông thường khi điều đó xảy ra với tôi, tôi chọn những gì tôi đã gõ bằng chuột, sao chép nó vào bảng tạm, nhấn Ctrl-U để xóa dòng, chạy lệnh tiên quyết của tôi và dán biểu mẫu vào bảng tạm. Nhưng có lẽ có một cách tốt hơn, tốt nhất là không cần sử dụng chuột? Tôi đang tìm giải pháp cho bash và / hoặc zsh.

Câu trả lời:


20

Sau khi bạn đã sử dụng CTRL-U, bạn có thể sử dụng CTRL-Y để dán lại những gì bạn đã xóa. Nó cũng hoạt động sau khi xóa một từ hoặc một số từ bằng CTRL-W.

Lưu ý theo cách này, bạn không thực sự cần phải sao chép bất cứ thứ gì vào bảng tạm hoặc chọn nó bằng chuột - CTRL-U thực sự sắp xếp dòng vào một bảng tạm riêng biệt, có thể nói như vậy.


5

Thêm một '#' vào đầu dòng hiện tại của bạn. Nhấn enter để thêm bình luận vào lịch sử của bạn. Thực hiện lệnh tiên quyết. Đi tới lệnh trước đó và xóa #.


5

Điều này gần đây đã được hỏi và thảo luận trên trang web Unix & Linux của SE. Câu trả lời của tôi giải thích rằng nếu bạn sử dụng zsh làm vỏ của mình, bạn có thể sử dụng tính năng dòng đẩy để loại bỏ lệnh tiến hành của bạn, chạy một cái gì đó khác, sau đó lệnh đầu tiên của bạn sẽ quay lại và bạn có thể hoàn thành nó. Trong .zshrc:

bindkey '^L' push-line

Sau đó sử dụng Ctrl+ Lđể tạm dừng lệnh hiện tại và quay lại lệnh đó sau khi chạy một thứ khác.

Một số câu trả lời khác đã được đưa ra bao gồm các cài đặt về cách thực hiện một cái gì đó tương tự trong bash và một số phiên bản tùy chỉnh của nội dung này trong zsh.


0

Bạn có thể làm Shift-Alt-3để bình luận dòng hiện tại và đi đến dòng tiếp theo. Sau đó, bạn nhấn up, Ctrl-e, Delvà tadam!

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.