
In macOS Terminal app (and in iTerm too) you can Option-Click to move the cursor (cursor will move to clicked position). Personaly I prefer vi mode since I use vim for text editing. To switch Bash to use vi mode: $ set -o vi
You can only do this if the prior command is C-y or M-y.įor Max OS X Terminal you can enable "Use option as meta key" in Settings/Keyboard for that.Īlso note, that Readline can operate in two modes:
M-y Rotate the kill-ring, and yank the new top. Ctrl-y Yank the most recently killed text back into the buffer at the cursor. This is different than M- because the word boundaries differ. Ctrl-w Kill from the cursor to the previous whitespace. Word boundaries are the same as those used by M-b. M- Kill from the cursor the start of the current word, or, if between words, to the start of the previous word. Word boundaries are the same as those used by M-f. M-d Kill from the cursor to the end of the current word, or, if between words, to the end of the next word. Ctrl-k Kill the text from the current cursor position to the end of the line. Ctrl-l Clear the screen, reprinting the current line at the top. Meta-f Move forward a word, where a word is composed of letters and digits. You can undo all the way back to an empty line. Ctrl-_ or C-x C-u Undo the last editing command. Ctrl-d Delete the character underneath the cursor. or Delete the character to the left of the cursor. Short copy-paste if the link above goes down: In Readline documentation you can find all navigation related bindings (and more): For example, gdb also uses Readline to process input. And so to say, it is very convenient to know Readline bindings since it is used not only in bash. It uses Readline library to implement command line input. What you actually want is a fast way to navigate over command line in you shell program. To be clear, you don't want a "fast way to move the cursor on a terminal command line". There must be a way to search and jump directly to the part I need to modify, e.g. But on a long line that takes too much time. What is the fastest way to get there? What I usually do is Ctrl- A to get to the beginning and then repeatedly Alt- F to move forward, word by word (or Ctrl- E to go the end and Alt- B to then go backward).
Now I need to move (starting from the beginning or the end of the line) the cursor to -option25 to modify something there. cmd -option1 -option2 -option3 -option4 -option5 -option6 -option7 -option8 -option9 -option10 -option11 -option12 -option13 -option14 -option15 -option16 -option17 -option18 -option19 -option20 -option21 -option22 -option23 -option24 -option25 -option26 -option27 -option28 -option29 -option30 -option31 -option32 -option33 -option34 -option35 -option36 -option37 -option38 -option39 -option40 -option41 -option42 -option43 -option44 -option45 -option46 -option47 -option48 -option49 -option50 Say I used the arrow key or Ctrl- R to get this long command line. What is the best way to move around on a given very long command line in the terminal?