Jawaban:
Ini tergantung pada shell Anda dan mode pengeditan baris perintah yang aktif.
Untuk shell dengan mode pengeditan baris perintah Emacs ( set -o emacs
di beberapa shell), gunakan Alt+D(ini tidak berfungsi pada macOS untuk alasan apa pun, tetapi mencetak karakter ∂
, gunakan Escdsebagai gantinya).
Untuk shell dengan mode pengeditan baris perintah Vi ( set -o vi
dalam beberapa shell), gunakan Escdw(ini juga berfungsi pada macOS).
Untuk disiplin garis tty, ^W
hapus kata yang dibatasi spasi putih sebelumnya .
Dalam vi
editor dalam mode sisipkan, ^W
hapus mundur ke awal urutan pertama alnum atau non-alnum (aktif foo-+-bar.. baz
, itu pertama menghapus baz
, lalu ..
, lalu bar
, lalu -+-
, kemudian foo
).
Di emacs
editor, ^W
hapus dari posisi kursor ke tanda (yang Anda set dengan Ctrl+Space).
Beberapa editor baris seperti readline
(digunakan oleh bash
, gdb
...), zle
(digunakan oleh zsh
), pdksh
ketika dalam vi
mode, berperilaku seperti vi
dalam hal itu dan ketika dalam emacs
mode berperilaku seperti disiplin garis tty (tidak emacs
).
libedit
(digunakan oleh kulit BSD atau (opsional) dash
), tcsh
AT&T ksh
, dalam emacs
mode, berperilaku seperti di emacs
mana tanda^W
akan dihapus (awalnya pada awal buffer).
Untuk menghapus sebuah kata maju, di vi
editor, Anda akan melakukannya dalam mode perintah ( normal ) dengan dw
untuk menghapus ke awal urutan berikutnya dari alnums atau non-alnums (atau akhir baris) dan dW
untuk menghapus ke urutan berikutnya dari kosong (liontin ^W
disiplin garis tty).
Di emacs
editor baris, Meta-Dakan menghapus hingga akhir urutan karakter alnum berikutnya. Operator kata gerak ( Meta-B, Meta-F) berperilaku serupa.
editor baris perintah, ketika dalam vi
mode, berperilaku seperti vi
, tetapi dalam emacs
mode, Anda memiliki dua sekolah utama: tcsh
sekolah dan ksh
sekolah.
The ksh
sekolah ( readline
, ksh
, yash
) berperilaku sebagian besar seperti emacs
( fish
's perilaku sedikit berbeda dalam bagaimana memperlakukan non-alnum, karakter non-spasi di kedua emacs
dan vi
modus).
Di tcsh
sekolah ( tcsh
, libedit
, zsh
), gerakan kata didasarkan pada kata-kata spasi-delimited sehingga konsisten dengan tty garis disiplin ^W
dalam hal itu.
Dalam zsh
, perilaku dapat disesuaikan dengan gaya kata yang berbeda untuk semua widget gerak kata.
Sebab readline
, Anda bisa mendapatkan tcsh
sekolah (dan Meta-Dmenghapus kata yang sama seperti Ctrl-Whalnya) dengan menambahkan ke ~/.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
Atau di sisi lain, sejajarkan ^W
dengan widget gerakan kata lainnya (berperilaku seperti Meta-Backscape) dengan:
set keymap emacs
"\C-W": backward-kill-word
Seperti apa Metakuncinya, lihat di sana .
Di Linux cobalah Ctrl+k
untuk menghapus dari mana kursor ke akhir kata.
Ada beberapa pintasan lain yang tercantum di bawah ini (berfungsi di Linux):
Ctrl+e
-> Mengambil kursor di akhir kata.Ctrl+t
-> Antar-ubah posisi huruf.Ctrl+y
-> menambahkan postfix "hh" ke kata saat ini.Ctrl+u
-> Menghapus seluruh baris.Ctrl+o
-> Bekerja sama dengan tombol Enter.Ctrl+p
-> Bekerja sama seperti tombol panah ke atas.Ctrl+a
-> Membawa kursor ke posisi awal perintah.Ctrl+d
-> Menutup terminal.Ctrl+f
-> Memindahkan kursor ke depan dengan satu Karakter.Ctrl+h
-> Bekerja sama dengan tombol Backspace.Ctrl+j
-> Bekerja sama dengan tombol Enter.Ctrl+m
-> Bekerja sama dengan tombol Enter.Ctrl+b
-> Bekerja sama dengan tombol panah kanan. 14 Ctrl+4
-> Menghapus kataCtrl+k
dihapus sampai akhir baris . Ctrl+u
menghapus seluruh baris (jika kursor ada di akhir). Ctrl+d
mengirim EOF. Ctrl+e
pergi ke akhir baris , dll.
bash
dalamvi
modus, Anda dapat menggunakandW
untuk menghapus mereka