22 ms·
CLI: Improved
- thibran 8y agorg > all other grep tools https://github.com/BurntSushi/ripgrep https://github.com/BurntSushi/ripgrep
- belark 8y agoYeah, I stopped reading when the author blithely disregarded grep alternatives, yet praised _syntax highlighting_ of all things.
- belark 8y agofuckdick
- icc97 8y agoAlso you can get ripgrep and fzf plugins for vim which are fantastic. I think VSCode uses ripgrep too.
- chillee 8y agoVSCode uses ripgrep internally to do the cross project searching.
- radarsat1 8y ago> The bat command also allows me to search during output (only if the output is longer than the screen height) using the / key binding (similarly to less searching). You can do this with `less -F <file>`. It will show the file on the screen like `cat` unless it is longer than one screen, then it will go into paging mode and allow search with `/`. Side note, how do you make his nice-looking prompt?
- mlevental 8y agoyou don't need the -F do you? unless I'm missing something you're saying about less
- another-cuppa 8y agoThat makes it exit immediately like cat.
- mlevental 8y agooh. but why would you want to? even for a 1 page file i still want to / most of the time
- mahesh_rm 8y agoOh my zsh, powerlevel9k theme, iterm2 if you are on a mac.
- Rynant 8y agoHis prompt is the oh-my-zsh theme "agnoster". https://github.com/robbyrussell/oh-my-zsh/wiki/Themes https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
- slaiyer 8y agoless +F
- hs86 8y agoWith tools like these or ripgrep it is useful to know whether the authors try to replace the old tool or not. This is usually stated somewhere in their readme or faq. If they choose to approach some problems with different semantics, I would not recommend to alias the new tool over the old one. Just treat it as a like a separate tool and in most cases their new names are as comfortable to type as the 'legacy' tool's. The one exception that comes to my mind is 'exa' vs. 'ls'. Typing 'ls' is a single action for both hands while 'exa' has to be typed with the left hand alone (on QWERTY/Z layouts).
- thibran 8y agoIf you like exa, maybe you like my modifications about hiding the time output optionally when using '--long', too. https://github.com/thibran/exa/tree/time_style_hide https://github.com/thibran/exa/tree/time_style_hide Example output of 'exa -l --time-style=hide': drwxr-xr-x - foo Desktop drwxr-xr-x - foo Documents drwxr-xr-x - foo Downloads drwxr-xr-x - foo Music drwxr-xr-x - foo Pictures drwxr-xr-x - foo src drwxr-xr-x - foo Videos
- h1d 8y agoFor just listing without additional info, I'm good with just the file tree. With '-l' it can show bunch of stuff. $ l (exa --tree --level 1) https://i.imgur.com/RxppCIt.png https://i.imgur.com/RxppCIt.png $ l2 (exa --tree --level 2) https://i.imgur.com/Mba79iz.png https://i.imgur.com/Mba79iz.png
- torarnv 8y agoHow did you get the folder/file icons in there?
- h1d 8y agoThere's exa fork that allows --icons option but you need to patch your font to display them as they're text. (Search for nerdfont. Some are pre-patched.) https://github.com/ogham/exa/pull/368 https://github.com/ogham/exa/pull/368
- originalsimba 8y agoclickbait, same as ever? seriously tho, the headline sucks.
- JepZ 8y agoMy htop usage has led me to a point where don't remember how to use top (sort, kill processes, etc.) :D
- another-cuppa 8y ago"bat" is not a better version of cat, it's a completely different tool. cat is short for concatenate. If you want to view a file use less, and if you want syntax highlighting etc. then use view (comes with vim).
- dguo 8y agobat can still be used to concatenate files: https://github.com/sharkdp/bat#file-concatenation https://github.com/sharkdp/bat#file-concatenation "Whenever bat detects a non-interactive terminal, it will fall back to printing the plain file contents."
- geoalchimista 8y ago> if you want syntax highlighting etc. then use view I'd like to recommend pygmentize also for syntax highlighting. Works like cat and supports a lot of languages. But since pygmentize is written in Python, it may not run as fast as bat. (I haven't tried bat though, because pygmentize is fast enough for my daily use cases.)
- jolmg 8y agoMost tools mentioned are completely different tools from the ones they're suggested to be better versions of. I understand the comparison is for specific use-cases. For example, csvkit is far better than trying and failing to parse CSV with awk, but it's very much useless for any other type of text format. Same thing with jq (a JSON query tool) vs grep (a general text search tool). The only ones I can agree with in the general case are htop > top and ag || ack > grep (though I still prefer grep sometimes).
- patja 8y ago"I'm not sure many web developers can get away without visiting the command line." IIS has significant market share. I'll bet most web developers who deploy on it get away without having to use the command line interface very often if at all. https://news.netcraft.com/archives/2018/08/24/august-2018-web-server-survey.html https://news.netcraft.com/archives/2018/08/24/august-2018-we...
- pjmlp 8y agoSame goes to JEE and Spring development.
- FactolSarin 8y agoI have co-workers who work on a big intranet web application that runs on IIS, and they never touch it. They recently finally switched to git for source control, and they want to do everything via GUI. I've tried to show them how some things are just easier/better from the command line, but if something isn't doable via GUI, they won't do it. One of them keeps committing line endings differently than everyone else, and he literally won't run git config --global core.autocrlf true because... I dunno why. He just doesn't want to, because it's the command line.
- khalilravanna 8y agoI just went through this with most of the engineers at our company as they're mostly .NET devs. It's an ongoing process but I basically gave a big talk open to questions on how to use git, all the commands, and the benefits of using the CLI. Thankfully they have a willingness to learn and become better developers and so it's been going pretty smoothly outside of a couple hiccups where I had to step in and perform git-surgery and explain to them how things work a bit better. >One of them keeps committing line endings differently than everyone else, and he literally won't run git config --global core.autocrlf true because... I dunno why. He just doesn't want to, because it's the command line. It sounds like someone needs to have a conversation with this engineer. I personally wouldn't want a single engineer on my team or company that has a resistance to learning new skills. Learning new things and better ways to do those things is basically the job description. Hopefully they have a good reason other than being obstinate otherwise they might need to find a new company that tolerates mediocrity :/
- dguo 8y agoI keep a running list in my dotfiles repo[1] of the Unix replacements that I use. One downside is that I don't know the standard tools as well as I would like because I almost never use them. [1]: https://github.com/dguo/dotfiles#replacements-for-unix-commands https://github.com/dguo/dotfiles#replacements-for-unix-comma...
- deleted 8y ago[deleted]
- mlevental 8y agobat is cool but is there a way to get not to dump everything into my terminal and just page just like less? i wonder if there's a `bless` ?
- craftyguy 8y agoBy default, bat seems to support displaying contents of the file in a pager.
- jayrhynas 8y agoYou should be able to pass `--paging always`. The default `auto` will only page if the file contents is bigger than your screen.
- mlevental 8y agothis does paging but still leaves the page in my buffer/terminal/whatever.
- C0d3r 8y agoIf your terminal is big enough, it will just output like cat, otherwise, you get a pager. You can disable it with `bat --paging never`
- busterc 8y agoI know what you're saying; I wanted the same thing. Here's how I resolved it: https://gist.github.com/busterc/f8e988b4ca63f24c71c56daf448a3de9 https://gist.github.com/busterc/f8e988b4ca63f24c71c56daf448a...
- umvi 8y agocat's primary purpose is combining files together. For example: cat mysoftware.tar.gz mysoftware.sig > mysoftware.bin Combines an archive with a digital signature into a single file. Then, on the other end, you just need to pop off the signature with a tail -1 Or alternatively: cat a.log b.log c.log > monolith.log
- hk__2 8y agoOf course, but its primary purpose (combining files) differs from its primary usage (showing a file’s content).
- flother 8y agoAt the end of the article csvkit is given an honourable mention. I’m a big fan and I’ve used it a lot in the past, but these days I’d say that xsv > csvkit for working with CSV files on the command-line. https://github.com/BurntSushi/xsv https://github.com/BurntSushi/xsv
- sstanfie 8y agoTotally agree on this. I've build heaps of production code using xsv. Far faster than csvkit and more features.
- mooss 8y agoI don't know how it compares to xsv, but you might be interested in Miller/mlr (http://johnkerl.org/miller/doc/index.html http://johnkerl.org/miller/doc/index.html), I've used it because csvkit was too slow for what I needed to do and was pleasantly surprised by its features.
- nextos 8y agoGNU Parallel is the first thing I usually install on top of a standard Unix userland. It's almost a superset of xargs, with many interesting features. It depends on perl, though. htop is also pretty much a great replacement for top. And ripgrep a great replacement for the find | xargs grep pattern. Aside from that, I'm pretty content with the Unix userland. It's remarkable how well tools have aged, thanks to being composable: doing one thing and communicating via plain text. I'm less happy with the modern CLI-ncurses userland. Tools like e.g. mutt are little silos and don't compose that well. I've migrated to emacs, where the userland is much more composable.
- AnIdiotOnTheNet 8y agoI don't feel the plain text portion has aged well at all in regards to composability. It leads to a lot of headache as the complexity of the task grows because of the in-band signaling and lack of universal format. I think it is high time the standard unix tools were replaced with modern equivalents that had a consistent naming scheme and pipelined typed object data instead of plain text.
- merlincorey 8y agoI think you should check out Powershell.
- alexeldeib 8y agoThis made me chuckle, because it's incredibly accurate. I started with bash and am still naturally more comfortable there for general purpose work. PowerShell is annoyingly verbose sometimes and has its own WTF moments, but there are waaay fewer surprises when working with complex scripts and variables.
- brirec 8y agoIt’s not included anywhere, but PowerShell is open source and you can install it on *nix now! Obviously the things that integrate with Windows aren’t there, but the object-oriented pipelining sure is.
- orf 8y agoIs anyone else impressed with the quality (and speed!) of some of the tools written in Rust? I'm an avid user of fd and bat, the former being ridiculously fast. Often I find something on github, I'm impressed by the quality of the documentation, features, UI etc, then lo and behold it's written in Rust. Another one potentially for this list is tokei[1] I was trying to count the code in our repos at work and used the venerable 'cloc' utility. It took over 5 minutes. Looking around I found tokei, written in rust. Same-ish results (more accurate actually) took 10 seconds. 1. https://github.com/Aaronepower/tokei https://github.com/Aaronepower/tokei
- steveklabnik 8y agoIIRC, loc (in rust) might be even faster than tokei at times? I always forget, and I’m sure I saw an old benchmark... We have a whole working group this year focused on making the experience of writing CLIs awesome, so hopefully we’ll see even more great tools in the future!
- vram22 8y ago>We have a whole working group this year focused on making the experience of writing CLIs awesome Can you explain what you mean by this? Something like the people are going to focus on language and library features that help with writing CLIs? Or something else? Asking because CLIs are one of my interests.
- isaacaggrey 8y agoHere is the Rust CLI working group announcement: https://internals.rust-lang.org/t/announcing-the-cli-working-group/6872 https://internals.rust-lang.org/t/announcing-the-cli-working... Rust has different community working groups that focus on improving the Rust ecosystem in different ways this year: https://internals.rust-lang.org/t/announcing-the-2018-domain-working-groups/6737 https://internals.rust-lang.org/t/announcing-the-2018-domain...
- vram22 8y ago
- androidgirl 8y agoThe inclusion of Ponysay over cowsay is dubious at best. Let me be clear: Ponysay has its niche. But with the Ansible stack providing great out of the box integration with Cowsay, it's clear which is the tool of choice for modern workflows. On a serious note, TL:DR is amazing in some cases. The man page for "tar" compared to the TL:DR is much more unwieldy for 99% of use cases, for example. I love ripgrep and htop, and I think that a lot of people new to *nix cli's would love tree as well!
- eximius 8y agoI'm surprised ripgrep isn't on here.
- stirner 8y ago>The talk reviews reasons for UNIX's popularity and shows, using UCB cat as a primary example, how UNIX has grown fat. cat isn't for printing files with line numbers, it isn't for compressing multiple blank lines, it's not for looking at non-printing ASCII characters, it's for concatenating files. >We are reminded that ls isn't the place for code to break a single column into multiple ones, and that mailnews shouldn't have its own more processing or joke encryption code.
- deleted 8y ago[deleted]
- bronlund 8y agoI was wondering if any of you use alternatives or hacks for the cd command? I've been testing out a couple of different ones, like xd, fcd, wcd and pushd/popd, but I'm not quite sure which I should commit to or if there are better ways :)
- temo4ka 8y agoI use z [1], it builds up a list of folders you visit based on frequency and lets you quickly jump into them by fuzzy-searching it. Z also has tab completion allowing you to cycle through the matches. See project's home for examples of its work at the link below. [1]: https://github.com/rupa/z https://github.com/rupa/z
- steeef 8y agoHere's another that I use daily: https://github.com/clvv/fasd https://github.com/clvv/fasd You can even combine that with the aforementioned `fzf`: https://github.com/junegunn/fzf/wiki/examples#with-fasd-1 https://github.com/junegunn/fzf/wiki/examples#with-fasd-1
- euank 8y agoI can recommend pazi as a convenient tool for zapping around https://github.com/euank/pazi https://github.com/euank/pazi The readme also lists several alternatives in the same space as pazi.
- IronBacon 8y agoNothing fancy. I simply use the Zsh dirstack (with auto_pushd) so 'cd -' instead to be limited to the previous path only like in Bash, can be expanded with Tab to one of the last DIRSTACKSIZE path. The dirstack can also be saved to a file and reused on the next session. Then I've stolen the "up" function somewhere to cd to a specific level using a part of the path when I'm deep in a FS tree. Finally, not limited to cd only, Zsh can also expand paths with only the initials of the dirs, so 'cd /v/c/a/aTab' is expanded to 'cd /var/cache/apt/archives/', usually with less typing required on Bash...
- gpmcadam 8y agoFew from my aliases file that may help: 7 │ alias ..="cd .." 8 │ alias ...="cd ../.." 9 │ alias gcd="cd (git rev-parse --show-toplevel)" The first two should be self explanatory. The third one will take you to the "git root" of a directory structure, i.e. the top-level folder where the .git directory is (I find this grounds me for when I'm doing git commands.)
- barbegal 8y agoI feel like these tools very much go against the Unix philosophy of "Write programs that do one thing and do it well". They try to do the pretty user interface and the underlying operation in a single tool. I prefer PowerShell in this respect where the output of each command is not text streams (as in the Unix world) but objects which can be operated on in a more object oriented way. You spend less time thinking about text parsing and more time thinking about the data you're working with. I think the command line is great as a way of manipulating data streams but it is incredibly lacking as a user interface. There is very little consistency of the interface between commands and new commands and options aren't easily discoverable.
- burntsushi 8y agoripgrep definitely goes against the Unix philosophy. This is intentional. The Unix philosophy is a means to an end, and not an end unto itself. The key way that ripgrep violates the Unix philosophy is that it couples the filtering of what to search with the act of searching. You hit the nail on the head with styling, because the output of ripgrep is itself the thing that prevents composability. However, from my own observations (and my own use), folks seem to appreciate having some amount of coupling and integration here. I've often seen folks claim that a legitimate use case (for them) for ripgrep is to "replace crazy 'find ./ ... | xargs' concoctions." The degree to which the aforementioned is "crazy" or not varies based on the individual, but there's a not insubstantial number of people who appreciate the succinctness that coupling brings. As the maintainer, the coupling is annoying, because it means ripgrep needs to implement more stuff. For example, ripgrep provides a `--sort-files` option, which is something that standard grep doesn't need because you can fairly easy compose its output with 'sort'. You could do the same with ripgrep (ripgrep supports the standard composable grep output format), but then you lose the "pretty styling" that users appreciate. So you have no choice. In terms of giving more structure to output, I am mostly unconvinced by your argument, but I've been happily using text streams as my user interface for a very long time, and I like its balance. With that said, the next release of ripgrep will come with a --json flag, which enables structured output. :-)
- bradknowles 8y ago
- saagarjha 8y ago> There is a weird bug in Mac Sierra that can be overcome by running htop as root I don't think this was a bug; I think the issue was that htop uses needed something in task_for_pid that required root.
- lloeki 8y agoOh this was definitely a bug already, and a nasty one at that, as it froze the whole computer in a few minutes while the kernel was racing against itself and starving for some resource (which didn't happen while being run as root). It was fixed in macOS 10.13.4 / htop 2.2.0 https://github.com/hishamhm/htop/commit/b2771218 https://github.com/hishamhm/htop/commit/b2771218 https://github.com/hishamhm/htop/issues/682 https://github.com/hishamhm/htop/issues/682
- saagarjha 8y agoAh, that bug has now been fixed.
- andrepd 8y agoRe: bat > cat Cat is just a tool to dump files to stdout and maybe concatenate them. If you want paging, syntax highlighting, etc, you probably want a tool to replace `less`, not `cat`.
- Nelson69 8y agoI don't know about bat vs cat, but fcat is actually kind of impressive.. https://github.com/mre/fcat https://github.com/mre/fcat
- hultner 8y agoview is also perfectly good, it's vim's pager.
- yaakushi 8y agoIsn't "view" just an alias to invoke vim on read-only mode (i.e. you can still edit the text, do anything else you can do on vim and then save the contents to another file instead of the original file)?
- Pete_D 8y agoThe man page suggests it's equivalent to "vim -R". I usually use that because "view" seems to ignore my .vimrc for some reason.
- Mizza 8y agoAnother tool I use religiously: `autojump` (aliased to `j`) rather than `cd`. It learns where you go and lets you fuzzy-jump there. https://github.com/wting/autojump https://github.com/wting/autojump I also use `loop`, my own Rust-based replacement to bash's native loops: https://github.com/Miserlou/Loop https://github.com/Miserlou/Loop
- chuckdries 8y agoZSH's z plugin does the same thing. Highly recommended for the ZSH users out there! https://github.com/rupa/z https://github.com/rupa/z
- I_complete_me 8y agoI installed z which is great. Then I started thinking about all the available one letter commands in bash/zsh. So I went through them. This is the result. $d lists recent dirs $g a git shortcut $l shorthand for ls -l $t It's just after a quarter past twelve. $w Show who is logged on and what they are doing. $x X - a portable, network-transparent window system $z zsh fast finder
- euank 8y agoI've found fasd (https://github.com/clvv/fasd https://github.com/clvv/fasd) to be the most featureful of the directory jumping tools, and it's much faster than autojump as well. I'd be remiss not to mention pazi however, which is the tool I wrote to replace fasd in my own workflow: https://github.com/euank/pazi https://github.com/euank/pazi It's similar to autojump, but much faster: https://github.com/euank/pazi/blob/master/docs/Benchmarks.md#benchmarks https://github.com/euank/pazi/blob/master/docs/Benchmarks.md... Oh, and it's written in rust :)
- onemanstartup 8y agohttps://github.com/gsamokovarov/jump https://github.com/gsamokovarov/jump You can benchmark this tool to be fastest
- 8y ago
- canhascodez 8y agoI'm so relieved that this blog post isn't about a Bash library. It's definitely a great collection of tools; I'm going to have to add some of these to my recommendations.
- lou1306 8y agoNoti looks nice, but typically I just do `whatever-long-command && tput bel`. On Macs, the Terminal dock icon bounces and gets a badge whenever the console bell rings and the terminal is in the background. https://apple.stackexchange.com/questions/47801/is-there-any-way-to-have-a-badge-appear-on-the-terminal-icon-in-the-dock-when-a https://apple.stackexchange.com/questions/47801/is-there-any...
- dtjohnnymonkey 8y agoThis is one of my favorite tricks. The nice thing is that it still works if you’re ssh’ed into a remote host. If I’m feeling nostalgic I’ll do ‘... && say “files done”’ (which only works locally)
- Pete_D 8y agoI like to keep a bell in my PS1 so I get notifications automatically.
- braindongle 8y agoThere's the convenience of these tools, then there's convenience of having a small number of non-standard tools to carry along with you, however easy that may be. For example, for any diff'ing or cat-like need, I find it SUPER handy to just pipe stdout to vim like so: $> thing-with-output-that-needs-navigating | vim - I'm not an Emacs user, but my impression is that over in that world, the shell integrations are crazy good.
- gpmcadam 8y agoThanks for sharing. I'm always looking for ways to improve my CLI experience and there's some gems in here that I've not come across before.
- tambourine_man 8y agoNice list, but I tend to keep my stuff as close to default as possible. The feeling of not being at home on a new box outweighs the benefits of customizations, in most of the cases. I do have a huge .vimrc and some bash niceties, but I found it better for me to exercise some customization discipline overall.
- BozeWolf 8y agoYes i do exactly the same thing!
- benoror 8y agoWhy not just using vim instead of bat?
- tzury 8y agoor view (comes with vim)
- serverlesscloud 8y agoCan we use the term text user interface (TUI) and not CLI for stuff talked about here. I don't like the confusion and I think TUI I'd appropriate, just because something is launched by command line doesn't make it a CLI. A CLI is good for pipes, these things are interactive post start.
- ethelward 8y agobat can pipe just like cat, fzf can pipe and be piped, same ack/ag/rg, same for fd, same for jq.
- bostonvaulter2 8y agoHe mentions using ccat previously, I've been using it for a while (aliased as `cat`) but I've been meaning to switch away from it since it sometimes panics. `bat` looks very nice, just installed it and played around with it a bit.
- bostonvaulter2 8y agoI'm surprised that no-one has mentioned mtr yet. I like it much better than ping/traceroute and I don't really see anything in prettyping that makes me willing to switch.
- pmccarren 8y agoI use mtr every day, and I haven't seen anything that beats it. You can even press 'd' twice, and you'll get something similar to prettyping, but you get it for each hop along the path.
- aumerle 8y agoAs far as pretty CLI diff tools goes, the prettiest by far is: https://sw.kovidgoyal.net/kitty/kittens/diff.html https://sw.kovidgoyal.net/kitty/kittens/diff.html The downside being it requires the kitty terminal as it uses features not present in other terminals.
- partycoder 8y ago- ranger (and the ranger-cd script) are pretty useful to explore folders in the terminal. https://github.com/ranger/ranger https://github.com/ranger/ranger - percol and ripgrep as alternatives to grep - tig as TUI for git - kakoune as alternative to vim
- h1d 8y agoI like vifm over ranger. Simple dual pane with vi key binding.
- deleted 8y ago[deleted]
- partycoder 8y agoNice! this way better
- Grue3 8y agoatop > htop https://www.atoptool.nl/ https://www.atoptool.nl/
- dhamidi 8y agoIs anybody here aware of any TUI/CLI tools that bring UX patterns/ideas from other programs to the terminal? Examples: - bash/zsh/fish bring suggestions/autocompletion - fzf brings fuzzily-matching selections to the terminal, - https://github.com/ericfreese/rat https://github.com/ericfreese/rat brings the idea of "widgets" or "layouts", - https://github.com/mrnugget/fzz https://github.com/mrnugget/fzz brings "preview as you type" I'm looking for more patterns like that, mainly to explore how to make them work in the terminal and see whether that actually has an impact on everyday actions people perform in the terminal many times per day. The goal is not to save time, but to reduce mental friction.
- sweetdreamerit 8y agoThis is interesting. And I'm wondering if those patterns could be somehow useful also to design the interaction of chatbots.
- fredsted 8y agoI like these kinds of articles, but it's rare I need that many CLI tools on my MacBook. I interact with hundreds of servers on a day-to-day basis, and I don't want to go around installing random tools on my servers. But I guess it's an idea for some tools to add to my Ansible server provisioning script :-)
- h1d 8y agoI always update my Ansible script when I find something worthwhile. Besides, why not just make a $HOME/bin/ and throw your new stuff in there?
- abluecloud 8y agothat's what I do, and a git repo for my dot files
- h1d 8y agoAnyone know of a good markdown viewer that is formatted instead of showing the source with colors? I'm using pandoc to convert it to groff and read it like a formatted man page, which is ok but not great as it loses some formatting. pandoc -s -f markdown -t man markdown.md | groff -T utf8 -man | less -R
- dhamidi 8y agoActually plain less works quite well when using filters: #!/bin/bash # ~/.lessfilter case $1 in *.md) view-md $1;; *.json) jq -C . $1;; *) pygmentize $1;; esac Where view-md is just a thin wrapper around tty-markdown[1]: #!/usr/bin/env ruby require 'tty-markdown' puts TTY::Markdown.parse(ARGF.read, colors: 256) [1]: https://github.com/piotrmurach/tty-markdown https://github.com/piotrmurach/tty-markdown
- rane 8y agoWith ramda-cli, the jq example would be: npm outdated --json | ramda --raw-output 'map (.latest)' to-pairs 'map join "@"'
- skibz 8y agoAliasing "help" is not a great idea, in my opinion. help gives fantastic usage instructions for builtin shell commands.
- lousken 8y agofzf is awesome, but i don't combine it with a shortcut, i just feed its output to xdg-open alias o="fzf --preview 'bat --color=always {}' | xargs -i '{}' xdg-open '{}'"
- kjullien 8y agoI'd really love to know why 99% of the well made, polished and fastest of these tools are made using Rust if anyone patient enough cares to explain. Is Rust a particularly good fit for CLI tools like these ? Why so ?
- oblio 8y agoRust is compiled, is fast and it's a modern language. It's also a demanding language so people who are willing to learn it are more likely to be craftsmen.
- thomasfl 8y agoFilewatcher does the same as entr. In addition it exports environment variables. It makes it possible to send the name of the updated file as a parameter to commands like this: $ filewatcher '**/*.js' 'jshint $FILENAME' https://github.com/thomasfl/filewatcher https://github.com/thomasfl/filewatcher
- fangxing 8y agohttps://github.com/direnv/direnv https://github.com/direnv/direnv very Important for me, to load envs
- caiocaiocaio 8y agoclimproved
- spatular 8y agoatop as replacement for both top and htop. By default it dispays CPU frequences, disk i/o (read, write bw, average io time), disk io per process, basic network load. And it wastes no space as htop does.
- vmchale 8y agoI use `sn` instead of `du`. It's closer to `du` than `ncdu`. http://github.com/vmchale/tin-summer http://github.com/vmchale/tin-summer