Efficient Editing In The Command Line: Part 1
Dec 12th, 2006 by thesamet
Moving around quickly
The most basic part is to move to the place you want to edit quickly. Here are the most useful shortcuts:
- Ctrl-a - Move to the start of the line.
- Ctrl-e - Move to the end of the line.
- Alt-f - Move forward a word.
- Ctrl-f - Move forward a char.
- Alt-b - Move backward a word.
- Ctrl-b - Move backward a char.
Another very common shortcut is Ctrl-L which clears the screen and reprints the current line at the top. This is useful if you are organizing your movies library and somebody enters the room.
Cut, Paste and Undo
Here is the list of most useful shortcuts for deleting text:
- Ctrl-w - Deletes from cursor position to the previous whitespace.
- Ctrl-k - Deletes from cursor position to the end of the line.
- Ctrl-d - Deletes from current character.
- Ctrl-u - Deletes from whole line.
- Alt-d - Deletes from cursor position to the end of the current word.
- Alt-DEL - Deletes from cursor position to the start of the current word.
The deleted text can be pasted (yanked) using Ctrl-y. You can use Ctrl-_ or Ctrl-X-U to undo the last editing command.
Summary
This covers the essentials. On the next parts of this series we’ll explore the more powerful abilities of readline. Feel free to leave here questions, suggestions, or perhaps your own tips and tricks.
But I’m a screen user, oh noes! ctrl-a won’t work.
To Kiki: see this post to Linux-IL about how to change the screen command character. And you can always type Ctrl+A; A to get an actual Ctrl+A or alternatively use the “Home” key.
I’ve collected my own tips for using readline in bash from the bash man page myself. Most of them are somewhat more advanced than the ones presented here.
Thanks.
I needed it but didn’t have the time to look (yet).
I changed my screen escape character to C-_ because I thought it’s about the only combination that has no other special meaning, and now I see the long fingers of the FOSS world took hold of it before me… arrgh!