Hello there :)
As far as I know (searched through the web), editing/navigating a multiline in bash is not possible and opening nano, pasting and editing is to much friction I want to get rid off.
Do you have any way to speed up the process?
example of multiline:
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Thank you :)
Ctrl+x Ctrl+e
As soon as a bash command gets to multiple lines, i save it as a bash script and then edit it in a text editor.
Personally if its just a bash command then I dont bother with formatting and just do one-liners. If I want it to look pretty then I’ll put it in a script. If I need to edit something you can use shortcuts like these to jump around the command line to edit whatever you need
You can use the emacs shortcuts to navigate quickly, jump forward or backwards over words or to the start or end of a line.
Hey thank you :) I didn’t knew these shortcuts where called emacs ! As @taaz said Ctrl+x Ctrl-e is probably the best I will get.
- Ctrl-A (jump to beginning of line)
- Ctrl-E (jump to end of line)
- Ctrl-W (delete word)
- Alt-F (jump one word forward)
- Alt-B (jump one word back)
These get me most of the way around.
It also depends on your terminal emulator. For instance on my Mac I’ve mapped the above to the typical keybinds (alt-left, alt-right, ctrl-backspace)
Thank you :) My question was maybe a bit confusing (not native :( ) and yes I know those EMACs shortcuts to navigate around :). It was relate to how to navigate a multiline in a copy/pasted command in the shell. The solution is (even if it wasn’t what I expected) to Ctrl-x Ctrl-e, this opens an editor with my copied command. This is one more step, but it’s elgant and takes away the fritction from opening nano myself !
But thank you for your contribution !