Bash: delete from cursor till end of line with a keyboard shortcut
Use Ctrl+K to delete from the cursor to the end of the line.
Use Ctrl+U to delete from the cursor to the beginning of the line.
It depends on whether you are using vi(set -o vi
) or emacs(set -o emacs
) editing mode within your shell.
By default, your shell generally defaults to emacs editing mode.
In emacs mode, deleting to the end of the line can be accomplished by using the command ctrl-k.
If, however, you happen to be using vi editing mode in your command shell, the same result can be accomplished by typing Esc(which will place you in command mode) followed by d-$(if you want to delete the entire line, enter dd).
If you are uncertain as to which editing mode that you are currently using in your shell, enter the command set -o
from the command line and you will be able to determine which editing mode that you are currently using:
set -o
...snip...
emacs on
...snip...
vi off
To switch your command-line editing mode, simply type either:
set -o vi
or
set -o emacs
In case you're only familiar with one of Zsh and Bash, here are the equivalent key bindings you (may) need:
bash
bind '"\C-k"':kill-line
zsh
bindkey "\C-k" vi-kill-eol
Other relevant information
To get a list of key bindings:
# bash
bind -p
# zsh
bindkey