delta, more limited than lazygit, focused on just diffs, but it does it really really well, and can be a nice complement (github.com/dandavison/delta)
glow terminal markdown renderer (github.com/charmbracelet/glow): some might think this is superfluous, because markdown is supposed to be meaningfully readable as plain text, but I often find poorly formatted files, sometimes "augmented" with a lot of inline HTML, to the point of becoming impossible to parse for the human eye
Speaking of creating your own cli tools. I would like to share something cool: a scripting language called ABS.
This is why I think is cool.
It has a C-like syntax.
You can call external commands and handle the result in a convenient way.
It has a module system.
It has a builtin tool that allows you to create cli tools.
Here is a little snippet.
tz=`cat /etc/timezone`if!tz.ok{echo("Ooops, something went wrong")exit(1)}continent,city=tz.split("/")echo("Best city in the world?")selection=stdin()ifselection==city{echo("You might be biased...")}else{echo("Yes, ${selection} is awesome.")}
I wrote about this language a few years ago, here is the post if anyone is interested.
I like this a lot because it allows people who are familiar with a languages like javascript or PHP (that would be me) to write shell scripts in a way that feels comfortable.
If bat looks appealing to you and you happen to be a Vim user, you might want to consider running view /path/to/file instead of bat. It'll open any file as readonly in Vim, with all your favorite plugins like Git integration present. Instead of piping to | less, you could also pipe to | view -. You may have to enter something like :set syntax=json if the syntax isn't autodetected based on content, although there's probably a simple setting or plugin to enable autodetection.
If you're not a Vim user and you want something that works with zero configuration, bat seems like a good choice!
I personally prefer jump because it's actively maintained, but especially because β like all modern tools listed here β it's a standalone executable that does not require Python
it works really well, the author says it can "read his mind" and I tend to agree π
One of the most salient features of our Tech Hiring culture is that there is so much bullshit. Everyone knows this. Each of us contributes his share. But we tend to take the situation for granted.
I'm a developer and happiest when I have code in front of me π¨βπ». Databricks Tech Champion. Long term sufferer of imposter syndrome. Always looking to learn something new.
Iβm using ripgrep and bat daily, and they make everything just that much better.
Another tool Iβm using a lot is Just. I might have processes which need a number of steps, or building a project with a lot of arguments. I can abstract it all away and use something like βjust buildβ instead.
One of the most salient features of our Tech Hiring culture is that there is so much bullshit. Everyone knows this. Each of us contributes his share. But we tend to take the situation for granted.
One of the most salient features of our Tech Hiring culture is that there is so much bullshit. Everyone knows this. Each of us contributes his share. But we tend to take the situation for granted.
Hey! I made this CLI tool called fcd which replaces the cd command. It basically searches for wherever you are trying to cd and then copies the appropriate cd command to your clipboard.
Please star this repo if you found this tool useful π
fcd is a utility which helps you cd faster on macOS.
Ever had to type out a long cd ~/Sites/Projects/project, find out the path is wrong, rewrite it to cd ~/Sites/Sandbox/project? You just wasted a minute or two.
This inspired me to create this tool: fcd.
fcd automatically reads the dirname and the basename of the input and searches for any folder with basename as the name in the dirname folder (Basically, if you input "some/where/else", the program returns the path to "some/where/**/else"). Once it finishes:
If there is more than one folder named basename, it gives youβ¦
If you want exa to behave just like ls, so that you do not need to learn any new switches, I have made this wrapper script: gist.github.com/eggbean/74db77c4f6...
A software engineer interested in solving real problems, developer productivity & learning languages for fun. Primarily working on Node.js, React & databases. Current Interest: Rustlang
One of the most salient features of our Tech Hiring culture is that there is so much bullshit. Everyone knows this. Each of us contributes his share. But we tend to take the situation for granted.
TUI file managers such as
nnn(github.com/jarun/nnn, minimalistic, my favourite) orlf(github.com/gokcehan/lf/, a more interactive one)delta, more limited than lazygit, focused on just diffs, but it does it really really well, and can be a nice complement (github.com/dandavison/delta)glowterminal markdown renderer (github.com/charmbracelet/glow): some might think this is superfluous, because markdown is supposed to be meaningfully readable as plain text, but I often find poorly formatted files, sometimes "augmented" with a lot of inline HTML, to the point of becoming impossible to parse for the human eyeSpeaking of creating your own cli tools. I would like to share something cool: a scripting language called ABS.
This is why I think is cool.
Here is a little snippet.
I wrote about this language a few years ago, here is the post if anyone is interested.
I like this a lot because it allows people who are familiar with a languages like javascript or PHP (that would be me) to write shell scripts in a way that feels comfortable.
If
batlooks appealing to you and you happen to be a Vim user, you might want to consider runningview /path/to/fileinstead ofbat. It'll open any file as readonly in Vim, with all your favorite plugins like Git integration present. Instead of piping to| less, you could also pipe to| view -. You may have to enter something like:set syntax=jsonif the syntax isn't autodetected based on content, although there's probably a simple setting or plugin to enable autodetection.If you're not a Vim user and you want something that works with zero configuration,
batseems like a good choice!jump(github.com/gsamokovarov/jump) is in my opinion a better alternative toautojumpI personally prefer
jumpbecause it's actively maintained, but especially because β like all modern tools listed here β it's a standalone executable that does not require Pythonit works really well, the author says it can "read his mind" and I tend to agree π
Thanks, I've added the suggestion!
Iβm using ripgrep and bat daily, and they make everything just that much better.
Another tool Iβm using a lot is Just. I might have processes which need a number of steps, or building a project with a lot of arguments. I can abstract it all away and use something like βjust buildβ instead.
github.com/casey/just
I started using just in my own project, thanks, it's nice!
github.com/jmfayard/refreshVersion...
thanks, I've added the suggestion
Hey! I made this CLI tool called fcd which replaces the cd command. It basically searches for wherever you are trying to cd and then copies the appropriate cd command to your clipboard.
Faster cd-ing.
fcd
Better
cding for macOSExplore the docs Β»
Report Bug Β· Request Feature
Table of Contents
About The Project
fcdis a utility which helps youcdfaster on macOS.Ever had to type out a long
cd ~/Sites/Projects/project, find out the path is wrong, rewrite it tocd ~/Sites/Sandbox/project? You just wasted a minute or two. This inspired me to create this tool:fcd.fcdautomatically reads the dirname and the basename of the input and searches for any folder with basename as the name in the dirname folder (Basically, if you input"some/where/else", the program returns the path to"some/where/**/else"). Once it finishes:I wanted to implement autojump like functionality ever since I made fcd.
If you want exa to behave just like ls, so that you do not need to learn any new switches, I have made this wrapper script:
gist.github.com/eggbean/74db77c4f6...
Z is similar to autojump & works great for me.
I've found lazygit to be quite handy, myself.
github.com/jesseduffield/lazygit
I've tried it and love it, thanks!