Làm cách nào để chạy một lệnh duy nhất trước đó trong trình bao Emacs (không lặp lại)?


9

Trong shell Emacs, có một lệnh tương tự M-pnhưng sẽ bỏ qua các lệnh lặp lại? Đó là, nó sẽ đi đến lệnh khác tiếp theo . Tương tự như thiết bị đầu cuối Linux thông thường.

Vì vậy, nếu tôi phải chạy:

ls
./script
./script
./script
make

và nhấn M-pba lần, tôi muốn nó đi đến lệnh ls.

Hoặc, thay vào đó, làm thế nào tôi có thể xác định một lệnh như thế này?

Câu trả lời:


7

Vỏ bạn nhận được từ M-x shelldựa trên comint, vì vậy bạn có thể thiết lập comint-input-ignoredupsđể tđể có được hành vi mà bạn muốn. Sự giúp đỡ thậm chí đề cập đến bash:

comint-input-ignups là một biến được định nghĩa trong `comint.el '.

Tài liệu:

Nếu không phải là không, không thêm đầu vào khớp cuối cùng vào vòng đầu vào.

Điều này phản ánh hành vi tùy chọn của bash.

Biến này là đệm cục bộ.

Bạn có thể tùy chỉnh biến này.


tuyệt vời, chính xác những gì tôi đang tìm kiếm, cảm ơn!
Anton

1

Bạn cũng có thể sử dụng M-x comint-dynamic-list-input-ringvà gọi bằng C-c C-l. Bạn cũng có thể thiết lập C-h v comint-input-ignoredupsđể txem các lệnh duy nhất chỉ trong danh sách trê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.