kilo
fd
kilo | fd | |
---|---|---|
18 | 172 | |
7,125 | 31,581 | |
- | - | |
0.0 | 8.8 | |
4 months ago | 17 days ago | |
C | Rust | |
BSD 2-clause "Simplified" 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.
kilo
-
A nano like text editor built with pure C
Most of that is probably attributable to being based on Kilo: https://github.com/antirez/kilo (kinda strange they didn't link directly in their readme) - a tiny text editor written by antirez who notably also created Redis. Antirez has a bunch of really interesting side projects if you dig into their github repo.
-
Micro – A Modern Alternative to Nano
Yeah, "micro" for an editor would be 11 kilo bytes. I bet it's possible to do a half-decent editor in C in 11KB. Antirez's "kilo" (~1000 lines of C) is 36KB when compiled with standard gcc (https://github.com/antirez/kilo).
That said, for many server-type use cases these days, 11MB isn't a huge deal. Still, I wonder if micro could be compiled on / ported to TinyGo and end up a few hundred KB? It looks like TinyGo can produce some pretty small binaries: https://tinygo.org/docs/guides/optimizing-binaries/
- Ask HN: Does this exist? Courses explaining well written codebases?
-
What happens when you press a key in your terminal?
Anyone interested in the machinations of all of this terminal stuff should look at antirez’ kilo, a terminal text editor in under 1000 lines of code: https://github.com/antirez/kilo
There is a nice tutorial that walks through how one might write it from scratch: https://viewsourcecode.org/snaptoken/kilo/
-
Vim sucks
kilo 1k of C
-
A simple terminal game
I always wondered how people get stuff animated on the terminal but I never had the time to look into it up until a few years ago when someone on the internet released an awesome guide on how to create a text editor in less than 1000 lines of C. What caught my attention about this was that it was based on Antirez' kilo - which is a terminal based editor.
-
Ask HN: How to learn about text editor architectures and implementations?
You could start by looking at something super simple like Kilo:
https://github.com/antirez/kilo
Even I could understand this one pretty well and that's no small matter.
-
Ginkgo: A WIP small text editor built entirely in Rust with cursor control and select Vim features
I just started learning Rust 2 weeks ago, and I wanted to apply my learning towards a project.Ginkgo is a small text editor built entirely in Rust. It takes inspiration from the famous tiny C-based text editor, Kilo. It also includes many Vim inspired keybindings and features such as normal/insert modes. For convenience, it also has added mouse cursor support!
- What would one need to know in order to develop an in-shell VIM like code editor?
-
Any interesting project ideas in c language
Write your own editor. As an example: kilo
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?
wasm3 - 🚀 A fast WebAssembly interpreter and the most universal WASM runtime
telescope.nvim - Find, Filter, Preview, Pick. All lua, all the time.
luastatic - Build a standalone executable from a Lua program.
ripgrep - ripgrep recursively searches directories for a regex pattern while respecting your gitignore
luar - Script Kakoune using Lua
fzf - :cherry_blossom: A command-line fuzzy finder
wac - WebAssembly interpreter in C
exa - A modern replacement for ‘ls’.
visidata - A terminal spreadsheet multitool for discovering and arranging data
skim - Fuzzy Finder in rust!
sn - Simple Notes using fzf
vim-grepper - :space_invader: Helps you win at grep.