Who are all the Vim users around here?

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 :slight_smile:

1 Like

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.

6 Likes

I’ve been using neovim for the past few years. GitHub - samgranieri/neovim: Sam's NeoVim config

Neovim 0.5.0 has released, with native LSP support

3 Likes

vim + tmux user here! Been updating my vimrc little by little for just over 6 years now :smiley:

Has anyone gotten nvim-treesitter-textobjects working with Elixir?

Would anyone like to create a Vim / Neovim wiki like we have for other editors? :blush:

These wikis are actually a great way to get more people to use (or try) your favourite editor :003:

2 Likes

Starting point: How to Set Up Neovim for Elixir Development | Mitchell Hanberg

2 Likes

have u tried Nova?

1 Like

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.

1 Like

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? :lol:

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…

1 Like
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.

1 Like