Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I love vim and have never met someone who used it more fluently than me. Yet I find it lacking. I can never get IDE features like code navigation and completion to really work. I use YouCompleteMe like everyone else but it’s just not as good as Jetbrains. It randomly stops working. Parameter hints don’t really work. This is for C++, by the way. The JavaScript situation is even worse.

My dream is also for vim to be the integrated, full-featured software package you describe, but at the moment I find it falls short.



I find CoC to be much better than YouCompleteMe for both C++ and Python. Regardless, it's still not as good as Jetbrains. I don't know if it's a fundamental limitation of the underlying language Server (ccls) or CoC has issues with itself, but i experience random breakages in the autocompletion all the time too.


I love Vim, but since I started working in TypeScript/React every day it is basically unusable (syntax highlighting / code formatting cannot match VSCode) so I'm now running VSCode + Vim extension which is kinda meh, but serviceable.

One of these days I will get around to contributing to a Vim plugin or two to help improve Typescript / TSX support.


I've had a different experience. Neovim + coc-tsserver and a syntax highlighting plugin works really well, and VSCode + Vim extension is unbelievably slow on my machine.


Which syntax highlighting plugin(s) are you using? Do you have syntax highlighting for functional components/hooks in .tsx files / can you share a config? Would love to give it a try.

I have spent many hours trying to get that work with no success. I've searched public .vimrc configs on github using typescript plugins and none of them gave me any type of syntax highlighting that compared to VSCode.


I haven't used VSCode enough to consider myself knowledgeable about it's syntax highlighting or auto-indentation, so caveat emptor.

I use CoC.nvim using the coc-tsserver plugin to get Typescript completion/jump to definition etc, ALE to get ESLint warnings, HerringtonDarkholme/yats.vim (A Typescript syntax, Neovim comes bundled with this, but the bundled version might be out of date), and maxmellon/vim-jsx-pretty for JSX syntax highlighting and indentation (vim-jsx-pretty's auto indentation is not 100%, but it works well enough).

My colorscheme is tomasiser/vim-code-dark, in case that matters. Example screenshot: https://i.imgur.com/6UzKtU2.png


Thanks for sharing! My current setup is:

Plug 'HerringtonDarkholme/yats.vim'

Plug 'mhartington/nvim-typescript', { 'do': './install.sh' }

Plug 'pangloss/vim-javascript'

Plug 'maxmellon/vim-jsx-pretty'

Not too far off, but different.

I'll adjust a bit and see how it looks on some production code.


I’ve had success with my config, it’s kind of large and i’m slowly slimming it down. But maybe it will help.

https://github.com/monsonjeremy/dotfiles/tree/master/config/...


Try CoC and whatever language servers you need. Nvim becomes really powerful with this combo.


> Yet I find it lacking. I can never get IDE features like code navigation and completion to really work.

Same here. In the end I just gave up and installed Emacs with vim key bindings (evil mode). Took a while to set things up, though, albeit not so much the vim bits, which were fine, but the IDE features.

Vim is fine as a framework for text editing but as an application it's a bit lacking.


I agree. I've been using vim for about a decade now. I love the editing experience. I really dislike the "IDE" experience (plugins, file navigation, etc).

I've been seriously considering writing a new vim clone in go and build what I would consider the ultimate editor. Basically as if vim had been written today.


Onivim might not be for you :) But our project under the hood, libvim [1], might be useful for you to start (if it's easy to create bindings from C in Go).

There's a cool non-Onivim usage of it called Paravim [2] (and the same author also used it for Vim-Cubed [3])

- [1] https://github.com/onivim/libvim/blob/master/src/libvim.h

- [2] https://github.com/paranim/paravim

- [3] https://github.com/oakes/vim_cubed


Just to be clear, I was making my comment more in the context of vim than Onivim. I maybe should have said that originally, my bad. I backed Onivim and am keeping a close eye on it. Maybe I won't need to (try to) make my editor :)


Ah, sorry I misread :) Thanks for supporting the project, really appreciate it!


Have you tried emacs with evil-mode? It could save you a lot of trouble, as the ultimate editor is already written. ;-)


Oh them's fightin' words. Actually I have tried evil mode. Although it's been years since I last did. I remember it being one of the better vim emulators out there. I should give it another go.


why not write in a system language like rust rather than go?


I am considering that too. For me Go is appealing because I can learn/steal a lot from Micro, a nice text editor written in Go.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: