How do I clear/delete the current line in terminal?

BashTerminal

Bash Problem Overview


If I'm using terminal and typing in a line of text for a command, is there a hotkey or any way to clear/delete that line?

For example, if my current line/command is something really long like:

> git log --graph --all --blah..uh oh i want to cancel and clear this line <cursor is here now>

Is there a hotkey or command to go from the above to:

>

?

Usually I will press the key, and if my current line is a brand new one on the history, that will clear it. But if I'm going through my command history via the key and start editing or using those commands, will only change the prompt to the next newest command in history, so it doesn't work here unless I press multiple times.

Bash Solutions


Solution 1 - Bash

You can use Ctrl+U to clear up to the beginning.

You can use Ctrl+W to delete just a word.

You can also use Ctrl+C to cancel.

If you want to keep the history, you can use Alt+Shift+# to make it a comment.


Bash Emacs Editing Mode Cheat Sheet

Solution 2 - Bash

Just to summarise all the answers:

  • Clean up the line: You can use Ctrl+U to clear up to the beginning.
  • Clean up the line: Ctrl+E Ctrl+U to wipe the current line in the terminal
  • Clean up the line: Ctrl+A Ctrl+K to wipe the current line in the terminal
  • Cancel the current command/line: Ctrl+C.
  • Recall the deleted command: Ctrl+Y (then Alt+Y)
  • Go to beginning of the line: Ctrl+A
  • Go to end of the line: Ctrl+E
  • Remove the forward words for example, if you are middle of the command: Ctrl+K
  • Remove characters on the left, until the beginning of the word: Ctrl+W
  • To clear your entire command prompt: Ctrl + L
  • Toggle between the start of line and current cursor position: Ctrl + XX

Solution 3 - Bash

I have the complete shortcuts list:

  1. Ctrl+a Move cursor to start of line
  2. Ctrl+e Move cursor to end of line
  3. Ctrl+b Move back one character
  4. Alt+b Move back one word
  5. Ctrl+f Move forward one character
  6. Alt+f Move forward one word
  7. Ctrl+d Delete current character
  8. Ctrl+w Cut the last word
  9. Ctrl+k Cut everything after the cursor
  10. Alt+d Cut word after the cursor
  11. Alt+w Cut word before the cursor
  12. Ctrl+y Paste the last deleted command
  13. Ctrl+_ Undo
  14. Ctrl+u Cut everything before the cursor
  15. Ctrl+xx Toggle between first and current position
  16. Ctrl+l Clear the terminal
  17. Ctrl+c Cancel the command
  18. Ctrl+r Search command in history - type the search term
  19. Ctrl+j End the search at current history entry
  20. Ctrl+g Cancel the search and restore original line
  21. Ctrl+n Next command from the History
  22. Ctrl+p previous command from the History

Solution 4 - Bash

Ctrl+A, Ctrl+K to wipe the current line in the terminal. You can then recall it with Ctrl+Y if you need.

Solution 5 - Bash

or if your using vi mode, hit Esc followed by cc

to get back what you just erased, Esc and then p :)

Solution 6 - Bash

Another nice complete list:

TERMINAL Shortcuts Lists:

Left            Move back one character
Right           Move forward one character
Ctrl+b          Move back one character
Ctrl+f          Move forward one character

Alt+Left        Move back one word
Alt+Right       Move forward one word
Alt+b           Move back one word
Alt+f           Move forward one word

Cmd+Left        Move cursor to start of line
Cmd+Right       Move cursor to end of line
Ctrl+a          Move cursor to start of line
Ctrl+e          Move cursor to end of line

Ctrl+d          Delete character after cursor
Backspace       Delete character before cursor

Alt+Backspace   Delete word before cursor
Ctrl+w          Delete word before cursor
Alt+w           Delete word before the cursor
Alt+d           Delete word after the cursor

Cmd+Backspace   Delete everything before the cursor
Ctrl+u          Delete everything before the cursor
Ctrl+k          Delete everything after the cursor

Ctrl+l          Clear the terminal

Ctrl+c          Cancel the command
Ctrl+y          Paste the last deleted command
Ctrl+_          Undo

Ctrl+r          Search command in history - type the search term
Ctrl+j          End the search at current history entry and run command
Ctrl+g          Cancel the search and restore original line

Up              previous command from the History
Down            Next command from the History
Ctrl+n          Next command from the History
Ctrl+p          previous command from the History

Ctrl+xx         Toggle between first and current position

Solution 7 - Bash

I'm not sure if you love it but I use Ctrl+A (to go beginning the line) and Ctrl+K (to delete the line) I was familiar with these commands from emacs, and figured out them accidently.

Solution 8 - Bash

An alternative to Ctrl+A, Ctrl+K is Ctrl+E, Ctrl+U.

Solution 9 - Bash

  • Ctrl+u: move up to the beginning of your line to a ring buffer

  • Ctrl+k: move up to the end of your line to a ring buffer

  • Ctrl+w: move characters and (multiple) words left from your cursor to a ring buffer

  • Ctrl+y: insert last entry from your ring buffer and then you can use Alt+y to rotate through your ring buffer. Press multiple times to continue to "previous" entry in ring buffer.

Solution 10 - Bash

Ctrl+W will clear the word to the left.

Solution 11 - Bash

CTRL+R and start typing to search for previous commands in history. Will show full lines.
CTRL+R again to cycle.

Solution 12 - Bash

To delete the whole line no matter where the cursor is, you can use the kill-whole-line command, but it is unbound by default. It can be bound to, for example, Ctrl+Alt+K by inserting

"\e\C-k": kill-whole-line

into your Readline init file (conventionally ~/.inputrc).

Various remarks:

  • To avoid accidentally re-assigning a key sequence that is already in use for something else, you can check all your bindings with bind -P. Check for the suggested binding with

      bind -P | grep '\\e\\C-k'
    
  • The Readline init file name is is taken from the shell variable INPUTRC. If it is unset, the default is ~/.inputrc, or (if that doesn't exist) /etc/inputrc. Notice that if you have ~/.inputrc, /etc/inputrc will be ignored.

  • To reload your Readline init file, you can use Ctrl+X Ctrl+R.

  • Links to relevant manual sections:

  • Readline Init File

  • Readline killing and yanking commands

  • The bind builtin

Solution 13 - Bash

In order to clean the whole line (2 different ways):

  • Home , Ctrl+K
  • End , Ctrl+U

Solution 14 - Bash

Add to the list:

In Emacs mode, hit Esc, followed by R, will delete the whole line.

I don't know why, just happens to find it. Maybe it's not used for delete line but happens to have the same effect. If someone knows, please tell me, thanks :)

Works in Bash, but won't work in Fish.

Solution 15 - Bash

Alt+# comments out the current line. It will be available in history if needed.

Solution 16 - Bash

Ctrl+Alt+Backspace for deleting the backward words from the end of the line

Ctrl+Delete for deleting the forward words from the beginning of the line

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestiontriadView Question on Stackoverflow
Solution 1 - BashkevView Answer on Stackoverflow
Solution 2 - BashJ4cKView Answer on Stackoverflow
Solution 3 - BashtharunkumarView Answer on Stackoverflow
Solution 4 - BashSpyros MandekisView Answer on Stackoverflow
Solution 5 - BashbluTazView Answer on Stackoverflow
Solution 6 - Bash8c6b5df0d16ade6cView Answer on Stackoverflow
Solution 7 - BashMuhammet CanView Answer on Stackoverflow
Solution 8 - BashAndrey StarodubtsevView Answer on Stackoverflow
Solution 9 - BashCyrusView Answer on Stackoverflow
Solution 10 - BashbendangeloView Answer on Stackoverflow
Solution 11 - BashDanielView Answer on Stackoverflow
Solution 12 - BashBenjamin W.View Answer on Stackoverflow
Solution 13 - BashJose1755View Answer on Stackoverflow
Solution 14 - BashPickBoyView Answer on Stackoverflow
Solution 15 - Bashmatt salmonView Answer on Stackoverflow
Solution 16 - BashHigh Performance RangsimanView Answer on Stackoverflow