Who are all the Vim users around here?

Hi all,

I’m an nvim user these days. I’m building the nightly version and loving it.

I regularly use SSH and Vim to make changes on remote servers - some of them are on fresh Raspberry Pis. VS Code is not always an option.

my shameless plug:
updated fork of vim projectionists elixir

1 Like

Long time nvim user, now for some time with CoC and Elixir-lsp. I really enjoy running my editor in a tmux split on the left, with 3 splits on the right. Use the top one to run my tests in, the bottom one usually runs iex with my server running. This leaves the middle for extra commands. I usually have multiple projects open in different iTerm2 tabs, and use tabset to label them. I also love the fact that when I am not in my office, I can continue working from my laptop by just ssh-ing into may desktop and attaching to the correct tmux session. My fingers are so used to the vim-bindings that I often try to i on my phone…

I have a very similar env, but I tend to run my tests on the same pane as vim (the left one). So I just , f to run the file or , t to run the current test (, is my leader key and current being where the cursor is on the file).
I used to split the right into 3 panes as well but I found myself dropping the last one with Elixir. With iex + server on the same pane the need just went away.

And man, talk about fingers user to vim-bindings. I keep seeing kj (quick esc + save file) everywhere.

Besides some of the suggestions people made here, I would like to share this one that’s particularly interesting for those using tmux.
Basically is a copy/paste but to send stuff between tmux panes with a few other stuff. Tpope is the one behind it.
I can’t live without this thing anymore.

Almost the same key bindings ,t for current test-file and ,l for the test under cursor. ,T to run all tests. I also have a binding I made myself ,s that opens the alternative, easy for creating a new test file in the right place.

1 Like

Howdy, Vim user here! :wave:

I used f<cr> for the file and t<cr> for the test under the cursor (and just use command line to run the full suite) because I’m not a huge fan of leader mappings for things I do 100+ times per day. I’ve never been able to settle on a suitable leader key (I actually use , and <space> for other purposes). Leader mappings are reserved for stuff that I do maybe 10 times per week. \e, for example, starts an e command with the path of the current file pre-populated (ie, let’s me create a new file in the same directory as the current buffer).

I use Vim inside VSCode if that counts

1 Like

Neovim and Tmux user here as well. I run Neovim under Tmux primarily for quick access and switching of windows (similar to tabs). Split panes are also very handy. The one feature that sets Tmux apart for me, and maybe there is an alternative, is separate sessions. I run a ‘Work’ session for my main monitor which has 4 tabs open for vim, phoenix server, node server, and spare. I then run a ‘Test’ session in a separate iTerm2 window on my other monitor. My vim configuration uses vim-test and I’m currently using esamattis/slimux for vim/tmux integration. End result is I can hit ,t to fire off a test and the test runs in a separate window (on my other monitor). Just keeps my code focused on one screen and test results on the other.

2 Likes

Vim user of 15+ years here. I use Vim and GNU Screen. My .vimrc file is here.

1 Like

Another one here for vim + tmux. Once in a blue moon I get the urge to try an IDE, but I quickly get annoyed by bloat, slowness, and configuration exhaustion.

vim user here

Vim is the best. Config: GitHub - yevhene/.vim: My vim config.

… another vim user checking in. I use a few Elixir bundles to improve the experience, including the Elixir LS … it isn’t perfect, though, and leaves quite a bit to be desired in terms of ergonomics and speed. Any and all QoL improvements there are very much welcome :slight_smile:

@knewter got me into vim back around 2010 or so. since then, cli-life is the only way, for me. i’m quite obsessive about my dotfiles: GitHub - megalithic/dotfiles: dotfilery, configuration, environment settings, automation, etc.

I can’t stand autocomplete with vim, so I’ve found FZF + ripgrep + bat to be an indispensable combo! It is fast quite pretty. Using:

Plugin 'junegunn/fzf.vim'
Plugin 'junegunn/fzf'

let g:fzf_layout = { 'window': { 'width': 0.9, 'height': 0.9 } }

let $FZF_DEFAULT_OPTS="--ansi --preview-window 'up:60%' --layout reverse --margin=1,4 --preview 'bat --color=always --style=header,grid --line-range :300 {}'"

command! -bang -nargs=* Rg
  \ call fzf#vim#grep(
  \   'rg --column --line-number --no-heading --color=always --smart-case '.shellescape(<q-args>), 1, <bang>0)

let g:rg_command = '
  \ rg --column --line-number --no-heading --fixed-strings --ignore-case --no-ignore --hidden --follow --color "always"
  \ -g "Makefile"
  \ -g "!{.git,node_modules,vendor,*.beam,*_build}/*" '

command! -bang -nargs=* F call fzf#vim#grep(g:rg_command .shellescape(<q-args>), 1, fzf#vim#with_preview(), <bang>0)

" Usage: :F text_to_search

Adopted from here

VIM mostly, intellij-rust sometimes as well.

Why use autocomplete if you can use just completion? And you can then use Ctags with it (or language server) and make it quite handy.

3 Likes

Neovim for all stuff, even Clojure these days.

Elixir LSP works very well, but only Ctags is really good enough.

1 Like