vim user here
… 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
@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
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.
Neovim for all stuff, even Clojure these days.
Elixir LSP works very well, but only Ctags is really good enough.
vim fulltime here.
I don’t really use many plugins, I use tabnine, vim-elixir and auto_mkdir2.
I use space for my leader and fzf for file search.
vim-adventurous for my colour scheme
Small tip to run mix test under cursor without any plugins. On .vimrc:
let s:term_buf_nr = -1
function! s:RunMixFile() abort
if s:term_buf_nr == -1
execute 'terminal mix test % ' . '--exclude test --include line:'. line('.') "
let s:term_buf_nr = bufnr("$")
else
try
execute "bdelete! " . s:term_buf_nr
endtry
let s:term_buf_nr = -1
call <SID>RunMixFile()
endif
endfunction
nnoremap <silent> <Leader>t :call <SID>RunMixFile()<CR>
Leader-t opens a terminal window and run the current test. And it’s easy to change to run the whole file.
vim + tmux user here! Been updating my vimrc little by little for just over 6 years now
Would anyone like to create a Vim / Neovim wiki like we have for other editors?
These wikis are actually a great way to get more people to use (or try) your favourite editor
have u tried Nova?
I defected to VSCode but am looking to return, the only thing stopping me is I don’t have / want to spend a large amount of time getting vim setup.
Same!! What I loved about MacVim is that it’s such an easy Vim to get into, you just install it then install Janus and you’re pretty much done. From my blog:
MacVim
brew install MacVim
If you want to use Janus, it can be installed by running this in terminal:
curl -L https://bit.ly/janus-bootstrap | bash
vim ~/.gvimrc.after
In it paste:
color elixify set guifont=Monaco:h12 let g:NERDTreeWinPos = "right" set guioptions-=T " Removes top toolbar set guioptions-=r " Removes right hand scroll bar set go-=L " Removes left hand scroll bar autocmd User Rails let b:surround_{char2nr('-')} = "<% \r %>" " displays <% %> correctly :set cpoptions+=$ " puts a $ marker for the end of words/lines in cw/c$ commands
Then in terminal, to give it some breathing space at the top do:
defaults write org.vim.MacVim MMTextInsetTop ‘5’
To install the Elixify theme download from here and follow the instructions for MacVim.
mkdir ~/.vim/colors cd ~/.vim/colors open . #copy Elixify.vim there
Don’t think Janus includes any LS support though.
Looks like a great starting point Bart - are you volunteering?
I downloaded it a little while ago but didn’t like how it kept wanting to dial out. Have you tried it? What do you think of it?
This video is making me want to stick it out with Doom - I quite liked Spacemacs just didn’t like how ‘slow’ it felt… maybe it’s worth putting up with…
nmap <Leader>i i\|> IO.inspect(label: "")<ESC>hi
imap <Leader>i \|> IO.inspect(label: "")<ESC>hi
This is handy to debug. It finishes on insert mode, in between the ""
, ready to type the label.