Để mở rộng về câu trả lời Ignacio Vazquez-Abrams của một chút, bạn có thể nhận được (gần như) Windows như hành vi từ Escchủ chốt trong bash bằng cách gắn các kill-whole-line
đến Escvới lệnh sau đây
bind '"\e":kill-whole-line'
Nếu bạn thêm dòng vào ~/.inputrc
tệp của mình , ràng buộc sẽ tồn tại giữa các phiên.
Tuy nhiên, lưu ý rằng điều này rất không chuẩn, vì bash thực sự sử dụng Esckhóa làm khóa sửa đổi khác (như Alt hoặc Ctrl không liên tục). Nếu bạn nhìn vào danh sách các ràng buộc khóa hiện có (với bind -P
), bạn có thể sẽ thấy một số lệnh bị ràng buộc với các tổ hợp phím bắt đầu bằng "\ e" (ví dụ:
"\eb": backward-word
trong đó thiết lập kết hợp Esc+ Bđể di chuyển con trỏ trở lại từ bắt đầu gần đây nhất - thay vì Ctrl+ ←, ngoại trừ việc bạn phải tiếp tục phát hành Esc( Btất nhiên, cũng như ) nếu bạn muốn thực hiện nhiều lần liên tiếp ).
Và điều đó giải thích tại sao tôi nói rằng hành vi bạn nhận được gần giống như Windows: khi bạn nhấn Esc, bash kiểm tra xem bạn có đang sử dụng nó kết hợp với khóa khác không; vì vậy, nếu bạn liên kết nó với kill-whole-line
, có một chút chậm trễ giữa việc nhấn (hoặc đúng hơn là phát hành) Escvà bash xóa dòng cho bạn.
Tuy nhiên, nếu bạn không quan tâm đến bất kỳ điều gì trong số đó, và thà sống với sự chậm trễ hơn là kiềm chế bản thân với một tổ hợp phím khác, điều đó có thể được thực hiện.
(Lưu ý: phần lớn thông tin ở đây tôi nhận được là kết quả của việc đọc - và theo các liên kết trong - câu trả lời này .)