delta
fd
Our great sponsors
delta | fd | |
---|---|---|
88 | 172 | |
20,617 | 31,581 | |
- | - | |
8.4 | 8.8 | |
14 days ago | 10 days ago | |
Rust | Rust | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
delta
- Difftastic, a structural diff tool that understands syntax
- Popular Git Config Options
-
So You Think You Know Git – Git Tips and Tricks by Scott Chacon
Thanks for the difftastic & zoxide tips.
However, I've been using this git pager/difftool: https://github.com/dandavison/delta
While it's not structural like difft, it does produce more readable output for me (at least when scrolling fast through git log -p /scanning quickly
-
Essential Command Line Tools for Developers
View on GitHub
- Potencializando Sua Experiência no Linux: Conheça as Ferramentas em Rust para um Desenvolvimento Eficiente
-
Unified versus Split Diff
I'm currently waiting on the integration between Delta and Difftastic:
https://github.com/dandavison/delta/issues/535
Difftastic now has JSON output, whic should make it much easier to build this.
- Delta, a syntax-highlighting pager for Git, diff, and grep output
- Ask HN: What's a new developer tool you recently started using?
-
Magit
I'm surely in the minority here. I've been using Emacs for almost a decade now, but I just can't get into the Magit workflow. I've tried several times, but always end up going back to Git on the command line. I have dozens of aliases, shell integrations, a nice diff viewer[1], etc., and interacting with Git has become muscle memory. I can commit, cherry-pick, rebase, bisect, fix conflicts, etc., in a fraction of the time it would take me to navigate Magit's UI. I'm sure with enough practice, a Magit user could do this more quickly and efficiently, but honestly, with some custom-built porcelain, Git's UI is not so bad. Though this could very well be Stockholm syndrome after using it for such a long time...
For whatever reason, Magit's opinionated workflows never clicked with me. A part of it is the concern that it will do something weird to my repo that I'll then have to waste more time undoing manually. I usually don't trust sugary wrappers around tools. And another is the fact I don't use Emacs on all machines, and setting up Git on a remote system is just a matter of copying over my config and some shell integrations.
Also, on a more personal note, I find the cultish fanboyism whenever Magit is brought up slightly offputting. Does anyone have anything bad to say about it? No software can realistically be this infallible. :)
[1]: https://github.com/dandavison/delta
-
How to use Git?
For looking at diffs I still prefer the command line though, and use delta to view diffs between commits or branches.
fd
-
Level Up Your Dev Workflow: Conquer Web Development with a Blazing Fast Neovim Setup (Part 1)
ripgrep: A super-fast file searcher. You can install it using your system's package manager (e.g., brew install ripgrep on macOS). fd: Another blazing-fast file finder. Installation instructions can be found here: https://github.com/sharkdp/fd
-
Hyperfine: A command-line benchmarking tool
hyperfine is such a great tool that it's one of the first I reach for when doing any sort of benchmarking.
I encourage anyone who's tried hyperfine and enjoyed it to also look at sharkdp's other utilities, they're all amazing in their own right with fd[1] being the one that perhaps get the most daily use for me and has totally replaced my use of find(1).
[1]: https://github.com/sharkdp/fd
-
Z – Jump Around
You call it with `n` and get an interactive fuzzy search for your directories. If you do `n ` instead, it’ll start the find with `` already filled in (and if there’s only one match, jump to it directly). The `ls` is optional but I find that I like having the contents visible as soon as I change a directory.
I’m also including iCloud Drive but excluding the Library directory as that is too noisy. I have a separate `nl` function which searches just inside `~/Library` for when I need it, as well as other specialised `n` functions that search inside specific places that I need a lot.
¹ https://github.com/sharkdp/fd
² https://github.com/junegunn/fzf
-
Unix as IDE: Introduction (2012)
Many (most?) of them have been overhauled with success. For find there is fd[1]. There's batcat, exa (ls), ripgrep, fzf, atuin (history), delta (diff) and many more.
Most are both backwards compatible and fresh and friendly. Your hardwon muscle memory still of good use. But there's sane flags and defaults too. It's faster, more colorful (if you wish), better integration with another (e.g. exa/eza or aware of git modifications). And, in my case, often features I never knew I needed (atuin sync!, ripgrep using gitignore).
1 https://github.com/sharkdp/fd
- Tell HN: My Favorite Tools
-
Potencializando Sua Experiência no Linux: Conheça as Ferramentas em Rust para um Desenvolvimento Eficiente
Descubra mais sobre o fd em: https://github.com/sharkdp/fd
-
Making Hard Things Easy
AFAIK there is a find replacement with sane defaults: https://github.com/sharkdp/fd , a lot of people I know love it.
However, I already have this in my muscle memory:
-
🐚🦀Comandos shell reescritos em Rust
fd
-
Oils 0.17.0 – YSH Is Becoming Real
> without zsh globs I have to remember find syntax
My "solution" to this is using https://github.com/sharkdp/fd (even when in zsh and having glob support). I'm not sure if using a tool that's not present by default would be suitable for your use cases, but if you're considering alternate shells, I suspect you might be
-
Bfs 3.0: The Fastest Find Yet
Nice to see other alternatives to find. I personally use fd (https://github.com/sharkdp/fd) a lot, as I find the UX much better. There is one thing that I think could be better, around the difference between "wanting to list all files that follow a certain pattern" and "wanting to find one or a few specific files". Technically, those are the same, but an issue I'll often run into is wanting to search something in dotfiles (for example the Go tools), use the unrestricted mode, and it'll find the few files I'm looking for, alongside hundreds of files coming from some cache/backup directory somewhere. This happens even more with rg, as it'll look through the files contents.
I'm not sure if this is me not using the tool how I should, me not using Linux how I should, me using the wrong tool for this job, something missing from the tool or something else entirely. I wonder if other people have this similar "double usage issue", and I'm interested in ways to avoid it.
What are some alternatives?
diff-so-fancy - Good-lookin' diffs. Actually… nah… The best-lookin' diffs. :tada:
telescope.nvim - Find, Filter, Preview, Pick. All lua, all the time.
difftastic - a structural diff that understands syntax 🟥🟩
ripgrep - ripgrep recursively searches directories for a regex pattern while respecting your gitignore
vim-fugitive - fugitive.vim: A Git wrapper so awesome, it should be illegal
fzf - :cherry_blossom: A command-line fuzzy finder
lazygit - simple terminal UI for git commands
exa - A modern replacement for ‘ls’.
vim-gitgutter - A Vim plugin which shows git diff markers in the sign column and stages/previews/undoes hunks and partial hunks.
skim - Fuzzy Finder in rust!
gitui - Blazing 💥 fast terminal-ui for git written in rust 🦀
vim-grepper - :space_invader: Helps you win at grep.