Sử dụng Ctrl hoặc Alt AND backspace để xóa từ cuối cùng trong Bash


17

Trong Linux, tôi thường nhấn Ctrl- Backspaceđể xóa từ cuối cùng nhưng tôi không biết làm thế nào để làm điều đó trong thiết bị đầu cuối Bash.

Trong OS XI sử dụng Alt- Backspaceđể làm điều tương tự.

Có cách nào để Bash nhận ra tổ hợp phím - Ctrlhoặc Alt- Backspaceđể xóa từ cuối không?

Trong Linux tôi sử dụng terminatorlàm trình giả lập thiết bị đầu cuối, trong OSX tôi sử dụng iTerm2.


1
Alt-⌫ aka Alt- ← aka Alt-Backspace hoạt động hoàn toàn tốt đối với tôi. Tôi đang sử dụng Terminator 0.93.
Teddy

Câu trả lời:


31

Bạn luôn có thể sử dụng Ctrl- W. Nó xóa từ trước con trỏ và hoạt động trong mọi Bash.

Xem ở đây để xem danh sách các phím tắt Bash .


1
Wow điều này có thể đã thay đổi cách tôi sử dụng thiết bị đầu cuối mãi mãi. Cảm ơn!
David

3
Điều này không trả lời câu hỏi
Sel

5

Bạn chỉ cần đặt Tùy chọn làm khóa Meta trong tùy chọn của iTerm ( Cấu hình »Khóa ).

backward-kill-wordđược ràng buộc với Meta-Rubout(tức là Opt-Backspace) theo mặc định.

Tùy chọn tương tự tồn tại (mặc dù kém linh hoạt hơn) trong Terminal.app của Apple.


2
Trên thực tế, bạn phải sử dụng cài đặt "+ Esc". Chỉ đặt nó thành "hoạt động như: Meta" sẽ ?được in thay vì từ bị xóa.
slhck

@slhck Không dành cho tôi. Nhưng vì các nhà phát triển khuyên dùng dù sao đi nữa, nó không thể là một điều xấu.
Daniel Beck

2

Trong terminator, bạn có thể sử dụng " plugin " sau, cùng với

[keybindings]
    kill_word = <Control>BackSpace

trong tập tin cấu hình của bạn. Điều này sẽ ánh xạ Ctrl- Backspaceđến ESCDEL, một shorcut khác để xóa từ cuối cùng.


Thật không may, điều này đã ngừng hoạt động trong terminator 1.9. Bạn có thể cung cấp một sửa chữa bởi bất kỳ cơ hội?
Sel

1
Xin lỗi, đã ngừng sử dụng terminator từ lâu ...
OlivierBlanvillain

2

Bạn có thể tạo một tệp .inputrctrong thư mục chính của bạn và thêm nội dung này vào bên trong:

"\C-h": backward-kill-word

1
Lưu ý rằng C-wcâu trả lời này và trong câu trả lời được chấp nhận khác nhau bởi những gì được coi là "từ". C-wsẽ xóa khỏi vị trí con trỏ cho đến khi nó gặp các ký tự không phải khoảng trắng và sau đó là khoảng trắng (nghĩa là, "this is a/se=weird |test"nơi |đánh dấu vị trí con trỏ sẽ sinh ra "this is test"). Ngược lại, C-hliên kết ở đây (có thể được ràng buộc sử dụng bind '"\C-h": backward-kill-word"trong a .bashrc) sẽ mang lại "this is a/se= test", vì về cơ bản, nó phân định các từ về những gì một biến bash sẽ làm, không chỉ là khoảng trắng.
jeremysprofile

0

Bạn chỉ có thể sử dụng Alt- DELthay vì bình thường Strg- DEL.

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.