Instant +100% command line productivity boost

Nikita Sobolev on August 23, 2017

Being productive is fun. There are a lot of fields to improve your productivity. Today I am going to share some command line tips and tricks to ma... [Read Full]
markdown guide

And what's better with Fish shell?

EDIT: I gave a shot and I love the real autocompletion without plugin :)

It provides a great experience, right out of the box!

A few sample points that I find really useful:

  • Very nice history search. Type a word and hit up arrow on your keyboard.
  • fish_config - Try executing this :)
  • I prefer the way things are configured. This is a directory inside your ~/.config.
  • Syntax highlighting, colors etc.

Now if you are into scripting, you might find it a bit easier to write your own autocompletion, it did for me for sure ;)

Another thing I use the most is the reverse-i-search, but, instead of typing Ctrl+R and the text I want to search, I just type it and use the arrow keys. The shell looks in the history but matching my query, and the visual result looks much more intuitive :D

And that's just one feature (appart for, for example, the "bobthefish" theme, a must have for using git) out of a large list.

As a vim user I hate the arrow key, I lost some productivity when I moved from the row.

It might be total anathema but... type + arrow keys to search is what I use in bash ;-)


But I think it doesn't work the same way:

In bash, when you use reverse-i-search, you first press Ctrl+R and then you start typing the command you was looking for. While you type, the command is appearing in console. To look for previous commands that also match your query, you press Ctrl+R as many times as you will need in order to you find your command.

In Fish Shell, you just type as you would do in bash when you're in reverse-i-search, and then use the arrow keys to go to the previous commands (you can go back to the following ones of the current you have selected by pressing the down-arrow key, I don't know if that exists in bash). Plus, the query you typed will be highlighted in the current command.

It does work that way - I type, hit arrow-up to cycle through previous times I typed that command. No ctrl-R required.

You put in your .inputrc:

arrow up


arrow down



Wow, I'll try this when I arrive home just for the curiosity xD


I like fish but I had problems with NVM and to get it working on CD into a dir with a .nvmrc file. It was like one year ago, so probably it's fixed now.


Just wanted to comment that..
Fish shell + fzf = pure gold


Nice article! We have similar setups, so I though you might want to know more about mine:

Personally, I use zsh-pure-prompt.

I also use fzf a lot, and I even re-wrote z using fzf

More info on my blog, you may find this interesting:

Lastly, I recently added a bit of code that allow me to quiclky insert the most recent file in the given directory into the current command line:

end of self promotion

There are other tools and hacks I will cover in the next articles.

Can't wait to read them!


Thanks for your feedback and interesting articles!


We have quite a similar setup. You should give a try to software like tig, ag, ranger or fpp.


+++ Thanks!

Nice coincidence, just installed tig. And I am already using ag.


Add powerlevel9k and we've almost got the same setup. Didn't know about fzf, I'm going to add that right away. 👍🏻


Creator / Maintainer of P9k, here - I'm happy you like it! =)


To switch between Iterm and Chrome, hotkey: maj + space

Tmux integration is native and I'm working with Vim, then the preference / appareance / Tabs are very nice too.

I think I'm pretty good, but I always look for more idea.


How do you use machines that don't have all your new fancy commands? Eg. when you ssh to different server?


I recommend to (semi)automate a way to prepare a new box to suit your needs.
I use for this and can tweek a new box within 15 minutes.


Prezto over oh-my-zsh every time. Same idea but much more lightweight. And if you want to also trick out vim, git and zsh look at Yadr which uses Prezto.


You shouldn't need the --color=automatic on exa, it does that automatically anyway

+1 for fzf


I have been using powerline shell on my Linux for the nice help working with git. Have you tried it? :D


I like powerline, but got annoyed by the slow speed. Thankfully, a kind soul ported it over to powerline-go and gave us the speed back.


z for navigate doesn't work on my config?

Edit: I installed brew install z, but doesn't autocomplete with most folder.


you have to cd into directory at least once for z to work.


You might like ripgrep, which is like The Silver Searcher but faster (written in Rust, like exa).

code of conduct - report abuse