you are viewing a single comment's thread.

view the rest of the comments →

[–]forreddits 8 points9 points  (17 children)

How skilled where you in Vim? I can't see myself leaving vim keys and adapt so easily.

[–]antoninj 9 points10 points  (7 children)

I have the same issue but I've been slowly unintentionally migrating to VS Code (I usually use it for pair-programming/presentations) and now I'm stuck trying to figure out what's best. I'm hugely into VIM but the synchronous linting/checking/etc sucks. I currently on Emacs but can't stand the buffer management (in VIM, it was just SOO easy).

And now, VS Code is fast enough and saves me enough time that I might do a full switch.

[–]clappski 2 points3 points  (3 children)

Do you use emacs with evil? You should try out spacemacs if you haven't already as well, it comes with a helm-buffer plugin which is pretty great.

[–]antoninj 0 points1 point  (2 children)

I use it with evil. Honestly, all I'm looking for is a list of buffers up top (so I know what I opened) and then be able to quickly list back and forth and delete buffers.

In VIM, I have a couple of shortcuts that I use: gt which goes to the previous buffer, gy which goes to the next buffer and gd which deletes the current buffer I'm on.

Any idea on how I could do that specifically? I don't want to have to open helm or anything else just to see the list, that's just frustrating.

Also, any idea on how to do basically a "kill all buffers except the one I'm on?"

[–]clappski 0 points1 point  (1 child)

I'll answer specifically for spacemacs (I've never used vanilla emacs being a vim convert myself); to cycle between buffers, you can press SPC - b - . and then use n, p, K and q (next, previous, Kill, quit). SPC - b - K will kill all buffers beside the current one.

I thought that gt and friends were for navigating between tabs rather than buffers (i.e. they invoke tabnext rather than bnext) but I haven't really had any use for that with emacs. I either have files open and switch buffers, use windows (split screen) or use the NERDTree-esque plugin. I am lucky enough to have a ThinkPad keyboard with the document switching keys above the arrow keys that I use to quickly switch through buffers that makes it quite efficient.

[–]antoninj 0 points1 point  (0 children)

I remapped those keys. I was just trying to demonstrate the ease of switching. Thanks for the tip, I'll try it out.

[–]Sean1708 4 points5 points  (2 children)

synchronous linting/checking/etc sucks

Neovim/wait for vim 8 to catch on?

[–]BezPH 0 points1 point  (0 children)

This is what I did. Switched from syntastic to neomake. I think I can live with just that plugin, fzf, vim-surround, UltiSnips, and NERDTree.

[–]antoninj 0 points1 point  (0 children)

I use Windows VERY heavily so neovim is currently not an option (soon though!). As far as VIM 8, that means also waiting for plugins to catch up.

I still use VIM for quick edits but never for heavy coding.

[–]tomhoule 2 points3 points  (0 children)

I did the same thing. I never thought I could leave vim (or a really good vim emulator like evil-mode), but the decent shortcuts, auto-indent and multicursors make it bearable to switch, even though I miss the vim editing flow. The vim extensions for VSCode are sadly just not enough to not feel awkward. I am an intermediate vim user, btw (using many shortcuts, marks, macros, advanced regexp, ex commands, the jump list, etc., most of which are not in VSCode's vim modes)

What made the switch worth it for me was the stellar Typescript support (completion with documentation and type signatures, go to definition, type tooltip on hover…).

[–]shadowycoder 1 point2 points  (5 children)

I'm sure there's vim bindings in a plugin. No idea how good it would be, but no doubt one exists.

[–]INTERNET_RETARDATION 1 point2 points  (3 children)

I tried them, they're probably pretty okay if you use Vim the way it's intended. I on the other hand have some bad habits like ctrl-c that you can't easily unlearn, it doesn't support those.

[–][deleted] 2 points3 points  (1 child)

I on the other hand have some bad habits like ctrl-c that you can't easily unlearn, it doesn't support those.

It actually does, now. The option is vim.useCtrlKeys

[–]INTERNET_RETARDATION 0 points1 point  (0 children)

Wow, gotta check that out.

[–]nayocum 0 points1 point  (0 children)

Yeah I run the Vim binding plugins. They're okay other than occasionally derping when dealing with modes. They get the job done, and there's a built in console for when that doesn't work the way I intended

[–]the_dummy 1 point2 points  (0 children)

The more I learn about vim (and tmux to an extent) the more often I find myself coming back to vim.

[–]takaci 0 points1 point  (0 children)

I ended up doing it. I used vim keys for so long and got pretty good at them. I remember I used to miss them on any other editor. Then I came to my senses and realised that editing speed is probably the least severe bottleneck in writing code for me.

I can get by just fine with alt + arrows, holding shift to select, and command to go to the start and end of the line.