vim-be-good
micro-editor
vim-be-good | micro-editor | |
---|---|---|
22 | 227 | |
2,682 | 23,903 | |
- | - | |
2.5 | 9.4 | |
29 days ago | 5 days ago | |
Lua | Go | |
- | MIT License |
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.
vim-be-good
-
Ask HN: Comment here about whatever you're passionate about at the moment
Sure! The first thing I did was follow this video: https://www.youtube.com/watch?v=w7i4amO_zaE
This is ThePrimeagen's 0 to LSP, Neovim RC from Scratch. In this video he performs a clean installation of Neovim and goes step by step adding the things he considers essential. This was very important for me to acquaint myself with how things work, how to install plugins, how to define custom key maps. I remember the first times I tried using Vim, I couldn't figure out how to get Nerdtree to work. This video made me realize I just lacked the knowledge of how Vim config works.
This video was such a good start because It provided me with the tools to continue my exploration of Vim autonomously. In a week I was already able to install new plugins and tweak them using Lua config files the way I specifically wanted. It's such a cool experience!
Keep in mind that both the author of this video and I use Neovim, which is a fork of Vim. As a text editor they both function essentially the same. The difference lies on the config files and in broader UI capabilities by Neovim. While Vim uses Vimscript, Neovim prefers Lua, although Neovim is fully backwards compatible, so you can choose to use Vimscript for your configuration if you want as well. This also means that Vim plugins just work with Neovim!
The docs are also a huge source of knowledge for me. In the beginning I resorted to :help key-codes a lot when defining key mappings.
To learn the Vim motions, which is the most challenging part of using Vim, I suggest you find a cheatsheet online and refer to it all the time. One very cool plugin that will help you get comfortable with Vim motions is ThePrimeagen's VimBeGod: https://github.com/ThePrimeagen/vim-be-good. It's a set of game-like exercises to practice the motions. This is also pretty cool and helped a lot: https://vimsnake.com/. It's a classic snake game where instead of using arrow keys, you use HJKL. And speaking of arrow keys, one thing I did very early on was disabling them (or, in reality, remapping them to noop) in normal mode so I was forced to move around the text using Vim Motions.
At first you will get frustrated because your brain will need some time to rewire in a way to absorb all the new abstractions Vim presents. It's a whole new logic of editing text. The most important thing is to stick to it and you will be surprised with how fast you end up picking things up. Of course, don't expect to be crazy fast in a few weeks. But right now, after a little over a month, I no longer feel that discomfort using Vim anymore. I suppose I'd still be faster on VS Code, but I really want to master Vim, so I'm sticking with it and I feel a constant improvement.
-
Ask HN: How do I code offline for a week?
If you're not familiar with Vim, I'd encourage you to download a few Vim cheatsheets, the VimBeGood extension[1] and practice navigating code in Vim.
[1] https://github.com/ThePrimeagen/vim-be-good
-
Practicing VIM
For Neovim, then this Hardtime plugin will help you change the habit, and this vim-be-good from Primeagen helps learn vim motion. TJ DeVries is also a good source to learn.
- Resources for mastering vim motions
-
Vim for The VS Code User: Part 1 - Initial Setup
A game for learning vim, in vim: https://github.com/ThePrimeagen/vim-be-good
- recommendation on vimgolf challenges
-
Please help a noob.
I'm trying to NeoVim (and vi) in general having never used it. I decided to start with VimBeGood but I can't get it to launch a game. I've gotten the plugin installed but when I run :VimBeGood it just shows the screen saying "to play a game delete that line." I deleted words and noob but after that I'm lost. Nothing happens. What did I do wrong?
-
Question regarding vertical movement
I recommend vim-be-good for practicing this
-
Whats the next step?
There are plugins like https://github.com/ThePrimeagen/vim-be-good that can help with practice.
-
Atom has been archived
I found https://github.com/ThePrimeagen/vim-be-good to be kind of a nice way to build some muscle memory for vim.
micro-editor
- Ask HN: What software sparks joy when using?
- Modeless Vim
-
Essential Command Line Tools for Developers
To see more screenshots of micro, showcasing some of the default color schemes, see here.
-
Go: What We Got Right, What We Got Wrong
Not sure these are really popular, but I cannot resist advertising a few utilities written in Go that I regularly use in my daily workflow:
- gdu: a NCDU clone, much faster on SSD mounts [1]
- duf: a `df` clone with a nicer interface [2]
- massren: a `vidir` clone (simpler to use but with fewer options) [3]
- gotop: a `top` clone [4]
- micro: a nice TUI editor [5]
Building this kind of tools in Go makes sense, as the executables are statically compiled and are thus easy to install on remote servers.
[1]: https://github.com/dundee/gdu
[2]: https://github.com/muesli/duf
[3]: https://github.com/laurent22/massren
[4]: https://github.com/xxxserxxx/gotop
[5]: https://github.com/zyedidia/micro
-
Text Editor: Data Structures
> The worst way to store and manipulate text is to use an array.
Claim made from theoretical considerations, without any actual reference to real-world editors. The popular Micro[1] text editor uses a simple line array[2], and performs fantastically well on real-world editing tasks.
Meanwhile, ropes are so complicated that even high-quality implementations have extremely subtle bugs[3] that can lead to state or content corruption.
Which data structure is "best" is not just a function of its asymptotic performance. Practical considerations are equally important (arguably more so).
[1] https://github.com/zyedidia/micro
[2] https://github.com/zyedidia/micro/blob/master/internal/buffe...
[3] https://github.com/cessen/ropey/pull/67
- A nano like text editor built with pure C
-
A simple guide for configuring sudo and doas
There are two main ways to configure sudo.The first one is using the sudoers file.It is located at /etc/sudoers for Linux,and /usr/local/etc/sudoers for FreeBSD respectively.The paths are different,but the configuration works in the same way. A typical sudoers file looks like this. The sudoers file must be edited with the visudo command,which ensures the config is free of errors.Running this command as the root user will result in opening vi by default.If you want to use a different editor you can set the VISUAL environment varaible to the editor you want. For example,if you want to use micro as the text editor run:
-
what terminal emulator do you use and why?
found that micro has dedicated info page for copy paste
-
Microsoft is exploring adding a command line text editor into Windows, and it wants your feedback
micro: winget install zyedidia.micro
- What is the best basic ass text editor?
What are some alternatives?
10-minute-vim-exercises - The exercise files from 10 Minute Vim, for convenience of readers
helix - A post-modern modal text editor.
which-key.nvim - 💥 Create key bindings that stick. WhichKey is a lua plugin for Neovim 0.5 that displays a popup with possible keybindings of the command you started typing.
filemanager-plugin - A file manager plugin for the editor "Micro"
vim-sneak - The missing motion for Vim :athletic_shoe:
kakoune - mawww's experiment for a better code editor
vim-surround - surround.vim: Delete/change/add parentheses/quotes/XML-tags/much more with ease
xclip - Command line interface to the X11 clipboard
nvim-tree.lua - A file explorer tree for neovim written in lua
tree-sitter - An incremental parsing system for programming tools
editorconfig-core-go - EditorConfig Core written in Go