Holy Crap. I have gotten into the arrow up mode. Then I went to History.
But, but, but ctrl + r. Holy crap.
Thank you kind sir or madam.
If you enjoy that, then let me introduce you you fzf - a fuzzy finder that has support for replacing ctrl + r in shells with fuzzy matching. Among other uses.
https://github.com/junegunn/fzf#key-bindings-for-command-line
It's the same, ctrl
+ r
. It is a bash/shell thing so works on any os that uses bash or similar shells. Note, it is not the command key, but ctrl, unlike a lot of other shortcuts on macos.
For real. Alternatively use alias to reassign a command to something shorter if it's one you're always searching for later. I use 'update' as an alias for 'apt update && apt upgrade -y && apt autoremove && apt autoclean'
Y'all know about ctrl-r to search history, right? I went for so many years without even thinking to look for something better than up-arrow, so I have to mention it.
Wait until they learn that you can ctrl+u
when you mistyped your password in sudo
instead of spamming backspace...
Delete until start of line. So essentially equivalent to spamming backspace a bunch.
It deletes all keystrokes that have been entered. So, if you know you made a typo when entering your password, you don't have to press backspace many times to make sure you have deleted all the characters before starting over but you can just press ctrl+u and start over.
I end up hitting Ctrl+u at work all the time and then being disappointed and holding backspace.
Here's another mindfuck: gnu readline is so popular that developers of other software tend to implement its keybinds as hidden features/eastereggs. That's why ctrl+u works in GTK text input boxes as well!
Good tip!I didn't know about that. I just tried it out and it works pretty well but I worry how long it will take to break the habit of mashing the up arrow all the time since I've been doing it so long. This is clearly better though.
fzf
is pretty cool, but I found its ctrl-r "menu" to be more confusing than the old "one entry at a time" style.
(Ofc could be a configuration thing but I'm somewhat an oldhat when it comes to my terminal habits.)
"\e[A": history-search-backward "\e[B": history-search-forward
Thank me later
Man, I've been on unix systems since, oh, 1994, but I've never messed with my .inputrc ... may need to take the dive....
Ok this is actually great. Is there a way to make it so when you down arrow again it will clear the cmd line (or take it back to the prefix)?
Like "py" -> up -> down -> result is "py"
Currently it would show my last python command (or whatever matches).
Hey! Sorry just getting into Linux, I love learning about cool ways of doing things more efficiently. What does this do exactly? I've noticed others mentioning CTRL+R and I am not sure what that means either. Thank you!
Basically, while ctrl+r is nice, this is how I got used to use my system. What this does is enable search for when you press arrow up. If you type nothing then it’s default behavior but if you type “ssh” and then start pressing arrow up it will bring up the previous command that had the word ssh in. It’s worth it for someone who constantly forgets ctrl+r exists
I usually do ctrl+r but with zsh I can type the beginning of the command and press up and it will search that way too.
yeah, the other day i was supposed to remove a restriction from a router that was some custom thing built on a raspberry pi. i logged in, started messing around, trying to figure out the system, and of course i looked at bash_history because why not, i'm unfamiliar with the setup so it seemed like a good place to start. up until i found some commands editing it. so i'm like
$ export HISTFILE=/dev/null # alright, two can play this game
it ended up being a simply cron job that runs a script that starts and stops hostapd every once in a while. i didn't disable the cron job, i just commented out a critical line from the stop script. happy debugging to the sysadmin, lol
I feel this in my soul. Or when you realize you're hitting up up up up to find something trivial like ls
and it would have been more efficient to just type ls
. LOL.
Fish finally broke me of this habit, and now it's one of the first things I install on any system
One of the top reasons I use fish is that I never learned how to cycle through the results of ctrl+r in bash
Friendly Interactive SHell. I also use it, and I find some of the extra features delightful. I don't think it's POSIX compliant if you're one of the two dozen people who have to worry about that for your use case.
Fish Shell - Friendly Interactive Shell. It has tons of themes and customizable prompts, but most importantly it scans through your command history and autocompletes previous commands. You can even to back through previous versions of a certain command for example I copy a couple different files a lot so I'll type 'cd' then press up to get to the specific command I need. It'll also autocomplete command names if they're in the path. It's a life changer for sure
You know how we have the bash shell by default on most Linux systems? Well there's also the fish shell you can probably find it in your repo and try it out.
No, no, no. You don't just land on the right one. You accidentally go past it and then have to press down once or twice.