(Neo)Vim can handle multithreading properly - unlike Emacs - but otherwise Emacs feels far more extensible. The keybinding innovations - mostly taken from \`ed\` - and macro system make manipulating files an incredibly productive process. Vim users often have a library of cli and tui programs that they use in conjunction with Vim to facilitate a desktop ecosystem without a GUI. Learn the keybindings! These standards work everywhere. If you can install things on your system - and want to use an expressive cli text editor - use [neovim](https://neovim.io/). It runs faster, is more expressive, and supports built-in modern tooling for systems like the [language-server protocol](https://microsoft.github.io/language-server-protocol/) and [tree-sitter](https://tree-sitter.github.io/tree-sitter/) for robust and performant syntax highlighting. # Cheat Sheets! - [Space vim guide](http://thedarnedestthing.com/space%20vim) - [Vim cheat sheet](http://vimsheet.com/) - [rtorr: vim cheat sheet](https://vim.rtorr.com/) - [YBlog - Learn Vim Progressively](http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/) # Shortcuts ## Evaluation of Leader keys - Comma: As it should always be followed with a space grammatically, every other key can be freely mapped to with no delay! You lose the functionality of backwards repeating though… - Space: What doom emacs uses. My current key and what I'm used to. This works fine, but the timeout definitely can impact the fluency of writing on occasion. - Semicolon: Interesting option, but there seem to be some strange repeat patterns in specific modes. - Escape: Controversial, it's pretty far away… but it's the default. Unclear whether bashing the pinkie to the right is a great motion (just like Emacs and the left).