I have soooo many features in Neovim, and passed the first two days I stopped missing them a lot.
- finding files in vim: I bind to an fzf thing in Neovim and it’s great. Unfortunately vim doesn’t have anything like that built-in.
<leader>w/b/etc
to move forward camel-cased- Syntax highlighting sucks
import { type foo }
in TypeScript breaks the whole file
- Can't find the types of things
- vim-tmux-movement
- Need to save files before editing new files
- can't open files like
src/utils/helper.ts:369:14
.lervag/file-line
does this
- bash history splitting multi-line commands into different history entries
- completions for git and yarn
- jump for zsh
- control+p for finding files in zsh
- my aliases
- my shell functions
- not being able to open the command I’m writing in a vim buffer. I used this a lot with zsh, but want it even more now since editing bash is harder
These are the things I find myself missing ALL the time (multiple times every ten minutes).
There are other things that I miss at least once an hour:
- LSP stuff
- I reflexively hit
gd
at one point and my mind was blown when it worked. I forgot vim does a pretty good job at figuring this out from syntax alone! If not for this “not having goto definition” would have been in the “very frequent” category - Figuring out if my code has errors sucks. Would be a lot less bad if my build times were fast, but since they're slow AF my feedback loops take a long time
- I reflexively hit
- Way better syntax highlighting
- fewer languages support out of the box
- graphql
- fewer languages support out of the box
- Maybe just because I’m so used to nvim, but I’m used to my cursor changing shape depending on mode and not having that in vim makes me get confused sometimes
- vim-surround
- copy/pasting to/from system clipboard is annoying. Forget to say
"+y"
- files auto-reload when edited elsewhere
- zsh will guess-complete tab-completions. For example, if I have directories
ce-smartlists
,ce-fart
then in zsh if I typecd smart<tab>
it will autocomplete `cd ce-smartlists - case-insensitive tab completion
- swap files clutter working directory
- no syntax highlighting
- colored man pages helped more than I thought it would
- cli autocorrect (
gti
changed togit
)