CLI: improved (command line tools)

Interesting command line tools: CLI: improved

Summary:

Related: this book was good:

See also: Interesting Command Line Tools

Here are some more: Without a GUI–How to Live Entirely in a Terminal

Programs mentioned:

Music Player Daemon is light weight and stable. MPD is the server and it requires a client. You can use the command line, console, web, or GUI as the client.

Clients:
ncmpcpp
vimpc

1 Like

Nice, I guess mplayer should be mentioned here too. I play directories of music like this:

$ mplayer lutes/*

I just tried fzf (mentioned in the top post) and it’s great. :exploding_head:

It completes with fuzzy search.

Examples:

$ vim <ctrl-t>
$ kill -9 <tab>

It also takes over ctrl-r.

There is a demo here:

I also just tried bat and it’s good.

Edit: I copied the fzf config that was in the video. I added the --exclude build --exclude dist part and changed pbcopy to xclip -selection clipboard, because I’m using Linux and not Mac.

FD_OPTIONS="--follow --exclude .git --exclude node_modules --exclude build --exclude dist"
export FZF_DEFAULT_OPTS="--no-mouse --height 50% -1 --reverse --multi --inline-info --preview='[[ \$(file --mime {}) =~ binary ]] && echo {} is a binary file || (bat --style=numbers --color=always {} || cat {}) 2> /dev/null | head -300' --preview-window='right:hidden:wrap' --bind='f3:execute(bat --style=numbers {} || less -f {}),f2:toggle-preview,ctrl-d:half-page-down,ctrl-u:half-page-up,ctrl-a:select-all+accept,ctrl-y:execute-silent(echo {+} | xclip -selection clipboard)'"
# Use git-ls-files inside git repo, otherwise fd
export FZF_DEFAULT_COMMAND="git ls-files --cached --others --exclude-standard | fd --type f --type 1 $FD_OPTIONS"
export FZF_CTRL_T_COMMAND="fd $FD_OPTIONS"
export FZF_ALT_C_COMMAND="fd --type d $FD_OPTIONS"
export BAT_PAGER="less -R"

Here’s another article on the topic:

https://www.wezm.net/technical/2019/10/useful-command-line-tools/

I installed MPD but haven’t been able to play anything yet. I followed the pages below for the ncmpcpp client, but it isn’t finding my ~/Music directory. I’ll try again later. :thinking:

https://wiki.archlinux.org/index.php/Ncmpcpp

I posted the link to the cmus tutorial below in chat, but also wanted to save it here:

Edit: here’s another tutorial:

https://www.increasinglyadequate.com/cmus.html

I tried building it from source, but it fails on one of the commands.

$ meson . output/release --buildtype=debugoptimized -Db_ndebug=true

[Errno 2] No such file or directory: '/path/to/MPD/src/output/release'

I’m not sure if output/release is supposed to be a directory or file, but it doesn’t exist.

https://www.musicpd.org/doc/html/user.html

I must be doing something wrong. :thinking:

I saw a link to this list yesterday and it looks like it contains some interesting tools.

Here are more that were mentioned in chat:

Delta

For diff output.

Zoxide

For navigating the filesystem.

Exa

Replaces ls.

Starship

A nice terminal prompt.

There are some nice tools in this list. :smiley:

It looks like ytop is not longer maintained, but the ytop Github repo suggests trying bottom instead.

Edit: it’s good. :slight_smile:

More ideas: