A software engineer interested in solving real problems, developer productivity & learning languages for fun. Primarily working on Node.js, React & databases. Current Interest: Rustlang
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.
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.
A software engineer interested in solving real problems, developer productivity & learning languages for fun. Primarily working on Node.js, React & databases. Current Interest: Rustlang
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
A software engineer interested in solving real problems, developer productivity & learning languages for fun. Primarily working on Node.js, React & databases. Current Interest: Rustlang
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.
A software engineer interested in solving real problems, developer productivity & learning languages for fun. Primarily working on Node.js, React & databases. Current Interest: Rustlang
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.
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!
Thanks I'll checkout the resources mentioned. All the best to all
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
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.
There are a lot of built in ones. Try desert.
Sure I'll check it out. Thanks
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.