DEV Community

Discussion on: I'm switching to vim!

Collapse
 
klvenky profile image
Venkatesh KL • Edited

I've tried to convert to vim atleast thrice & had to falllback as I've different requirements compared to others (atleast I think so). I work with/modify multiple projects at a time as I work heavily on microservices built in an event driven system. So I really never have any memory of the function previously written nor the code.

I'll tell you what I expect from my editor (vscode now)
1) quick navigation(ctrl+p) - solved it using fzf/ctrl-p
2) quick search (ctrl+ shift+f) - hard to get around this
3) find function/variable by name(ctrl+t -> not that great but still does decent work. I'd prefer intellij's double shift, but it's an IDE so different story altogether) - didn't last till this point
4) easier to configure language support(vim-polyglot does well here but I'd like little less config)
5) sensible defaults(neovim does this I think)
6) easy navigation to error like from terminal
7) Goto definition - my biggest problem, I couldn't find something that'll work well for multiple languages. Coc.vim has some awesome support as per multiple articles but I couldn't find a single place to configure as it has a separate config file so it's a little tricky for me to manage.
8) find all references - I think vscode nails it. I know I could do a search/grep for text but I'd ideally have similar variables in same file as I do a lot of ETL/ELT.
9) simpler Emmet support - I did try installing the plug-in but could make it easy to go with.
10) snippet manager - I don't use snippets heavily but it's a nice to have feature

I'd love to know if there are better solutions for these issues which should make me switch to vim.

I did try using vscode vim but I work a lot in zenmode so search goes for a toss here as the activity bar gets hidden.

Collapse
 
turutupa profile image
Turutupa

Hey man, you got very valid points and I must admit I didn't realize how much stuff I needed till I tried moving from VSCode to vim. Fortunately a lot of people replied to my comment and I have learnt a lot of good stuff in the past week.

I cloned Lunarvim (neovim based) which comes packed with a bunch of plugins and it does cover a lot of the stuff you mentioned. I've seen there are other known configs such as Lvim and Gleipnir, but I can't say which one is better or the differences between one and another.

I'll respond to some of the points you mentioned in case it helps you out.

1 - this is nicely done with Telescope
2 - still learning how to do this, but to be honest I don't think I'll need it so much anymore as I can search for references with Lsp saga (i think that's the name) or I believe you can use built-in vim funcionality by pressing gd
Points 3,7 and 8 slightly similar to this
(link to lsp saga: github.com/glepnir/lspsaga.nvim )

4- language support is a pain in the ass, luckily lunarvim also covers it

I do enjoy a lot working with VSCode + vim plugin though and I 100% understand why you'd stick with VSCode.

Thanks for sharing your experience!

Thread Thread
 
klvenky profile image
Venkatesh KL

Thanks I'll checkout the resources mentioned. All the best to all

Collapse
 
yoann9344 profile image
Yoann Guillard • Edited

2/ is a simple git grep could make the job ?
3/6/7/8/ I think it depends on the quality of your LSP, I'm happy of Ale : bind AleGoToDefinition ; AleFindReference ; github.com/dense-analysis/ale#5xi-...
Then just configure your preferred LSP for each language you use.
9/ I never get bothered by Emmet, so I don't get your concern (except on vscode)
10/ I think ultisnippet is nice, I have to check my config

Thread Thread
 
klvenky profile image
Venkatesh KL

I will have to spend some time figuring that out then. I am not one of those super person's who become productive within a week. May be I need to figure it out.

I am not that great with color schemes & all so I would like some nice color scheme recommendations as well.

Thread Thread
 
siddharthshyniben profile image
Siddharth

There are a lot of built in ones. Try desert.

Thread Thread
 
klvenky profile image
Venkatesh KL

Sure I'll check it out. Thanks

Thread Thread
 
yoann9344 profile image
Yoann Guillard

I'm starting to remake and clean my full config, 'cause I would like to switch to nvim. So I can share my dot config, once it will be done.