Who are all the Vim users around here?

tmux is what keeps me using terminal Vim instead of using an emulated mode in a different editor. Sessions are really good for someone who happens to switch between a few projects. It takes literally a second to jump between fully ready to go projects (all terminals and Vim is set up where I left them, etc.).

Plus there’s all of the quality of life things like being able to toggle zoom in a tmux pane, search buffers, quickly spawn new windows and also get notified of the status of a program by having tmux update its window title when a program is done. Then there’s tmux-resurrect to persist everything across reboots.

Then there’s tmux giving you a very good and consistent terminal experience with most terminals. It means my WSL 2 instance running Ubuntu ends up being exactly the same as my native Linux laptop, even though I’m using 2 different terminal applications.

I don’t use a track pad but you can enable mouse mode with tmux with 1 line of configuration (my exact tmux config is in dotfiles linked in an earlier reply).

2 Likes

My question was more about “neovim in tmux” rather than neovim in its own terminal (and as much tmux as you want besides). What is the benefit of that ? Except for having nvim in a split tile, which is obviously cool, but that is where the mouse mode is limited: if you scroll nvim it will scroll tmux, and you will see the terminal “above” nvim, it does not scroll the buffer.

1 Like

Thanks for all the answers and thanks to those who have posted their vimrcs—sure enough I learned some new things. I somehow never knew about undofile which could have saved me years of annoyance. Also, I’m extra interested in vimwiki now. I was aware of it but haven’t thought about it in a long time and it could be really useful now.

It’s also really interesting to hear what people like about Vim over VS Code. I’ve never actually tried VS Code though was thinking of giving it a shot as it seems to have better support for Phoenix-type stuff. For example, a huge annoyance I’ve had is working with inline templates in LiveView—the indentation just plain doesn’t work. I’ve actually have a PR draft in elixir.vim to fix this but I’m surprised to not hear more people complain about it. Are there any workarounds people are using that I’m unaware of? I do use ElixirLS but feel I need to dive a little deeper as I don’t feel I’m using it properly.

Do you have mouse-mode set in vim as well? I don’t know about nvim, but I have mouse-mode enabled for both vim and tmux and have no issues with scrolling with the mouse. Well, once in a while I do get it in a weird state where it will scroll tmux instead of vim, but it doesn’t happen often. I don’t use the mouse to scroll too often, though—usually just when I’m reading code and having a drink or eating at the same time.

Why do you switch to do HTML?

Nice. I might try asyncdo out. Are there any advantages over dispatch.vim? I also have written some plugins including GitHub - sodapopcan/vim-twiggy: Git branch management for Vim which I haven’t shown a lot of love lately.

It happens each time here. Yes, if I use nvim outside of tmux I can scroll with the trackpad.

I am using Onivim2 which can use Vscode plugins so works nice with Elixir.
Onivim is a beta software but is written in a type safe language ReasonML and in my experience is very stable.
It is also very pretty.
https://onivim.io/

2 Likes

It’s not always, only when I know I’ll be doing nothing but HTML and for an “extended period of time” (which it isn’t that often tbh).
Main reason is that I never bothered to setup Vim properly to work with HTML and vanilla vscode has decent UX for editing html files.
I still use Vim like navigation though, because otherwise I mess things up.

Bottom line is that I’m being lazy with this lol.

My development environment these days: NeoVim + tmux + Alacritty + Pop!_OS plus the following plugins (unrelated ones are omitted):

I’m quite happy with this setup so far, but I would like to replace coc.nvim with something simpler. I’m waiting for the built-in NeoVim LSP to stabilize before giving it a shot. I’m also eyeing LanguageClient-neovim as another option.

I have not found myself needing an integrated debugger, but I’ve heard good things about vimspector, although it lacks official Elixir support.

Somewhat related: I recently discovered stow for managing symlinks for my dotfiles.

EDIT: I should get around to writing a blog post about this :thinking:

9 Likes

Bottom line is that I’m being lazy with this lol.

Ha, I know that feeling well.

I’d recommend GitHub - alvan/vim-closetag: Auto close (X)HTML tags if you’re looking for an improved HTML editing experience.

Cheers, I’ll take a look.
Maybe is time I fix this already.

Asyncdo is meant to work with QuickFix window and is basically non-pluggable. Dispatch is much more flexible and complex because of that.

1 Like

I really enjoy my tmuux/neovim setup. Still can’t get into VS Code even with vim plugins.

1 Like

Vim user. Once I made the switch to a tiling WM I started using terminal based applications much more. My vimrc needs some work to clean it up. I’m still using Pathogen for plugins and have been meaning to change for a while. Maybe this thread will motivate me to finally get this in order and post it.

I’ve been using Sublime ever since I changed laptops a while ago and lost all the Vim config stuff and various terminal settings that I had. I use Sublime in Vim mode, though, and I was just thinking yesterday about maybe going back fully to Vim because Vim mode in Vim is better than it is in Sublime.

1 Like

Neovim/alacritty/i3 user. I’m the same as @stevensonmt - my vimrc is a mess built up over the last decade, and it’s been on my todos to fix it up.

I use CoC, and whilst it is slow it is still way quicker than VS code. I program in quite a lot of different languages, and I’ve found CoC is pretty good at supporting that.

2 Likes

Hello. I use Neovim.

VSCode user with vscodevim emulation. Seems to be the best set of compromises. The bindings aren’t perfect though! Any improvements on that front are very welcome. Thanks!

Here’s a shout-out to the excellent Gnome Terminator, a terminal that supports tabs and splits.

Tiling Editor (vim) → Tiling Multiplexer (tmux) → Tiling Terminal (terminator) → Tiling Window Manager (i3)

:laughing:

1 Like