Lối tắt nào để xóa một từ chuyển tiếp trực tiếp trong một thiết bị đầu cuối unix?


14

Tôi làm Ctrl+Wtrong thiết bị đầu cuối mac để xóa một từ (xóa từ nơi con trỏ ở đầu từ)

Làm thế nào để tôi làm ngược lại - xóa từ nơi con trỏ đến cuối từ?

Câu trả lời:


14

Điều này phụ thuộc vào shell của bạn và chế độ chỉnh sửa dòng lệnh hoạt động của nó.

Đối với hệ vỏ có chế độ chỉnh sửa dòng lệnh Emacs ( set -o emacstrong một số shell), hãy sử dụng Alt+D(điều này không hoạt động trên macOS vì bất kỳ lý do gì, nhưng in ký tự , Escdthay vào đó sử dụng ).

Đối với hệ vỏ có chế độ chỉnh sửa dòng lệnh Vi ( set -o vitrong một số hệ vỏ), hãy sử dụng Escdw(điều này cũng hoạt động trên macOS).


Chỉ trong zsh mặc dù Meta-D mới xóa cùng loại từ mà Ctrl-W thực hiện (những từ được phân tách trống). Trong bashtrong vichế độ, bạn có thể sử dụng dWđể xóa những
Stéphane Chazelas

1
@ StéphaneChazelas Vâng, họ (hai tổ chức phím) có một cái nhìn khác nhau về những gì tạo thành một "từ".
Kusalananda

Bạn có thể kiểm tra "tùy chọn sử dụng như meta" trong tùy chọn Bàn phím đầu cuối để làm cho nó hoạt động.
Jozef Legény

Cả Esc + D và Alt + D đều hoạt động trong thiết bị đầu cuối xfce4 0.6.3 .
neverMind9

1

Đối với kỷ luật dòng tty, ^Wxóa từ được phân cách bằng khoảng trắng trước đó .

Trong vitrình chỉnh sửa ở chế độ chèn, ^Wxóa lùi về phía sau của chuỗi đầu tiên của alnums hoặc non-alnums (trên foo-+-bar.. baz, đầu tiên nó sẽ xóa baz, sau đó .., sau đó bar, sau đó -+-, sau đó foo).

Trong emacstrình chỉnh sửa, ^Wxóa từ vị trí con trỏ đến dấu ( vị trí bạn đặt Ctrl+Space).

Một số trình chỉnh sửa dòng như readline(được sử dụng bởi bash, gdb...), zle(được sử dụng bởi zsh), pdkshkhi ở vichế độ, hoạt động như vitrong vấn đề đó và khi ở emacschế độ hoạt động giống như kỷ luật dòng tty (không emacs).

libedit(được sử dụng bởi các vỏ BSD hoặc (tùy chọn) dash), tcshAT & T ksh, trong emacschế độ, hoạt động giống như emacsnơi ^Wxóa dấu hiệu (ban đầu ở đầu bộ đệm).

Để xóa một từ chuyển tiếp, trong vitrình chỉnh sửa, bạn sẽ thực hiện nó ở chế độ lệnh ( bình thường ) dwđể xóa đến đầu chuỗi tiếp theo của alnums hoặc không alnums (hoặc cuối dòng) và dWxóa sang chuỗi không tiếp theo của khoảng trống (mặt dây chuyền của ^Wkỷ luật dòng tty).

Trong trình chỉnh sửa emacsdòng, Meta-Dsẽ xóa đến cuối chuỗi ký tự alnum tiếp theo. Các toán tử chuyển động từ ( Meta-B, Meta-F) hành xử tương tự.

biên tập viên dòng lệnh, khi ở vichế độ, hành xử như thế vi, nhưng trong emacschế độ, bạn có hai trường chính: tcshtrường và kshtrường.

Các kshtrường ( readline, ksh, yash) hành xử chủ yếu như emacs( fishhành vi 's là hơi khác nhau trong cách đối xử với nó không alnum, ký tự không phải khoảng trắng ở cả emacsvichế độ).

Trong tcshtrường ( tcsh, libedit, zsh), chuyển động từ được dựa trên các từ khoảng trắng được phân định như vậy là phù hợp với các tty dòng kỷ luật của ^Wtrong vấn đề đó.

Trong đó zsh, hành vi có thể tùy chỉnh với các kiểu từ khác nhau cho tất cả các tiện ích chuyển động từ.

Đối với readline, bạn có thể nhận được tcshtrường (và đã Meta-Dxóa cùng loại từ như Ctrl-Wvậy) bằng cách thêm vào ~/.inputrc:

set keymap vi-move
"\e[EMACS~": emacs-editing-mode
set keymap emacs
"\e[VI~": vi-movement-mode
"\ed": "\e[VI~dW\e[EMACS~"
"\ef": vi-fWord
"\eb": vi-bWord

Hoặc mặt khác, căn chỉnh ^Wvới các widget chuyển động từ khác (hành xử như Meta-Backscape) với:

set keymap emacs
"\C-W": backward-kill-word

Như Metachìa khóa là gì, xem ở đó .


-1

Trong Linux, hãy cố gắng Ctrl+kxóa từ nơi con trỏ đến cuối từ.

Có một vài phím tắt khác được liệt kê bên dưới (hoạt động trong Linux):

  1. Ctrl+e -> Đưa con trỏ ở cuối từ.
  2. Ctrl+t -> Thay đổi vị trí của bảng chữ cái.
  3. Ctrl+y -> thêm hậu tố "hh" vào từ hiện tại.
  4. Ctrl+u -> Xóa toàn bộ dòng.
  5. Ctrl+o -> Hoạt động tương tự phím Enter.
  6. Ctrl+p -> Hoạt động tương tự như nút mũi tên lên.
  7. Ctrl+a -> Đưa con trỏ đến vị trí bắt đầu của lệnh.
  8. Ctrl+d -> Đóng thiết bị đầu cuối.
  9. Ctrl+f -> Di chuyển con trỏ về phía trước bởi một Ký tự.
  10. Ctrl+h -> Hoạt động tương tự như phím Backspace.
  11. Ctrl+j -> Hoạt động tương tự phím Enter.
  12. Ctrl+m -> Hoạt động tương tự phím Enter.
  13. Ctrl+b-> Hoạt động tương tự như phím mũi tên phải. 14 Ctrl+4 -> Xóa từ

3
Ctrl+kxóa đến cuối dòng . Ctrl+uxóa toàn bộ dòng (nếu con trỏ ở cuối). Ctrl+dgửi EOF. Ctrl+eđi đến cuối hàng , v.v.
Kusalananda

Ctrl + y được sử dụng để dán hoặc yank, điều cuối cùng bạn đã lưu trong bảng tạm, trong trường hợp của bạn có lẽ là "hh." Tại sao trên thế giới bạn nghĩ sẽ có một phím tắt để sửa lỗi một từ đã cho bằng các chữ cái "hh"? Làm thế nào điều đó sẽ hữu ích?
bmcentee148
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.