Movatterモバイル変換


[0]ホーム

URL:


Skip to content
DEV Community
Log in Create account

DEV Community

Cover image for Essential terminal packages in 2020
Salted Bytes profile imageJames G. Best
James G. Best forSalted Bytes

Posted on • Originally published atjamesbest.tech

     

Essential terminal packages in 2020

This is the start of a new series about maximising your terminal experience. I will write about what I think are essential packages for the CLI, a simple but super effective Vim setup and setting some sane Tmux defaults.

In this first article, I am going to list some of what I think are essential CLI packages. These are ones I use every day and could not live without. I am leaving Vim and Tmux off this list as they will get there own articles.

I spend all my time in a terminal. This is where I do all my development, hacking and note-taking. Spending so much time there I want it to work for me, providing a buttery smooth experience.

Here is a list of my top CLI packages.

1. ZSH and oh-my-zsh:

This is my chosen shell. It has way too many features to list here but here are a choice few:

  • automatic cd: Just type the name of the directory
  • recursive path expansion: For example “/u/lo/b” expands to “/usr/local/bin”. This is not one I use much because I lead on the tools mentioned below.
  • spelling correction and approximate completion: If you make a small mistake typing a directory name, ZSH will fix it for you
  • plugin and theme support: ZSH includes many different plugin frameworks. This is whereoh-my-zsh comings in. Its a community drive framework for managing your ZSH configuration.

Alt Text

2. FZF

FZF is a command-line fuzzy finder. It is super fast, light and works so well with all my other tools.

fzf

3. RipGrep (rg)

RipGrep is a stupid fast replacement for grep. It does away with lots of the hard to remember flags that grep requires. By default, it respects your.gitignore, and skips hidden files.

4. Autojump

Autojump is a super-fast way to navigate your filesystem. It learns the directories you visit most and remembers them for next time.

Alt Text

5. HTTPie

HTTPie is a user-friendly command line HTTP client. It has JSON support, syntax highlighting and lots more.

Alt Text

6. Bat

Bat is a drop-in replacement forcat but with superpowers. It's highly configurable and supports syntax highlighting.

bat

7. exa

exa is a modern replacement forls. It is highly configurable, provides better defaults.

EXA

8. twf

twf is a tree view explorer inspired by fzf.

twf

You can find my dotfileshere. This is how I use them, how will you?

Thanks for reading 🙏

If there is anything I have missed, or if there is a better way to do something then please let me know.

Check out our software focused podcast -Salted Bytes

Top comments(2)

Subscribe
pic
Create template

Templates let you quickly answer FAQs or store snippets for re-use.

Dismiss
CollapseExpand
 
moopet profile image
Ben Sinclair
I've been a professional C, Perl, PHP and Python developer.I'm an ex-sysadmin from the late 20th century.These days I do more Javascript and CSS and whatnot, and promote UX and accessibility.
  • Location
    Scotland
  • Education
    Something something cybernetics
  • Pronouns
    They/them
  • Work
    General-purpose software person
  • Joined

This is always going to be opinionated, especially when people use words like, "essential"...

I usezsh on Macs, but only because of Apple's bundling it to get around the GPL on bash. I thinkoh-my-zsh is a waste of time, because I haven't found any features in it that I want and that I can't do, easily, without it. As far as I'm concerned, it's bloat.

fzf is great. I'm not sure it'sessential but I do use it a lot, wrapped in something so it's not a hard dependency:

ifcommand-v fzf>/dev/null;then# progressive enhancement herefi

ripgrep is great. I've used ack and the-silver-searcher too, and they're all good, butrg is the winner as far as I'm concerned. It's worth it to learngrep though :)

I'm sureautojump is cool, and I know people use some things that are similar, likez or the oldCDPATH, but they're not how my brain works and I don't like using them.

httpie looks alright, maybe the curl version of the grep -> ripgrep progressive enhancement. I don't use it, personally, but I can see the appeal.

I usebat quite a lot, but I have a problem with it being used as a drop-in replacement forcat. It's more a drop-in replacement forless -F, otherwise it's one of them Useless Uses of Cat, but with wings.

exa doesn't offer me more thanls except maybe for colourising the file permissions. I don't need another full program for that!

twf looks cool. I'll check it out, because I make my own mashups of commands withfzf quite frequently.

CollapseExpand
 
jimatjibba profile image
James G. Best
Tech and photography loving developer gravitywelluk. A host on the saltedbytes podcast. https://saltedbytes.rocks
  • Location
    Bristol Uk
  • Work
    Full stack developer at Candide
  • Joined

Thanks for your feedback. Maybe Essential is loaded. They are essential to me as they are part of my everyday toolkit.

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment'spermalink.

For further actions, you may consider blocking this person and/orreporting abuse

Trending onDEV CommunityHot

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

Log in Create account

[8]ページ先頭

©2009-2025 Movatter.jp