Làm thế nào để tôi hủy bỏ fc mà không thực hiện lệnh?


13

Lệnh fc sẽ cho phép chỉnh sửa trực quan của lệnh trước đó. Nếu tôi đổi ý trong trình soạn thảo, làm thế nào để tôi dừng lệnh được thực thi. Trong vim, gõ q! hoặc q cả hai đều dẫn đến lệnh được thực thi và CTRL-C cũng không hoạt động. Là lựa chọn duy nhất để xóa lệnh trong trình soạn thảo và sau đó wq?

Câu trả lời:


16

Từ vi bạn có thể gõ :cqđể thoát mà không lưu và với mã trả về khác không. Trong trường hợp này, lệnh sẽ không được lặp lại.

Ngoài ra, bạn thường có thể tạm dừng trình soạn thảo ctrl-zđể đưa bạn trở lại trình bao mà không làm lại lệnh. Bạn vẫn phải fgkhởi động lại trình chỉnh sửa, nhưng tệp tmp sẽ không còn nữa, vì vậy bạn có thể thoát khỏi trình chỉnh sửa một cách an toàn. Hoặc bạn có thể kill -9 %biên tập viên bị đình chỉ này.

Tôi đồng ý, nó có thể dễ dàng hơn. Tất nhiên, bạn luôn có thể chỉnh sửa các dòng trong bash bằng các lệnh vi hoặc emacs.


vi không có lệnh ": cq". Bạn có thích gõ ": q!"?
schily

@schily xin lỗi, bởi vi tôi đã giả sử vim. Bạn có thể đọc về vim cqtrong quickfix .
meuh

Thật không may, vim không tuân thủ POSIX (bên cạnh các cải tiến có độ lệch). Đối với một trợ giúp chung, thường không nên phụ thuộc vào các cải tiến độc đáo của địa phương hoặc nhà cung cấp. BTW :: q! là đủ vì một vi POSIX sẽ thoát! = 0 trong trường hợp này.
schily

@schily Tùy thuộc vào vim được cài đặt có thể an toàn trong hầu hết các trường hợp và trong trường hợp này, người hỏi nói cụ thể q!không làm việc cho họ
Michael Mrozek

2
Điều này là do không có lỗi và do đó mã thoát là 0. Trong vi, nó hoạt động để gõ: c (kết quả là một thông báo lệnh bất hợp pháp) và sau đó gõ: q! và lỗi đã nhớ dẫn đến mã thoát! = 0. Tuy nhiên, điều này không hoạt động trong vim. Giả định trước đây của tôi rằng: q! luôn luôn dẫn đến một mã thoát! = 0 là sai.
schily

3

Có lẽ, một cách dễ nhớ hơn là xóa lệnh (dd nên làm) và thoát ( ZZhoặc bất kỳ cách nào khác để thoát với lưu nên làm). IMHO, :cqkhá phức tạp.

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.