DEV Community

Cover image for Show and tell: Show off your vim setup 🚀
Robin Gagnon
Robin Gagnon

Posted on

Show and tell: Show off your vim setup 🚀

Hey DEV!

I was inspired by the post about vscode setups, so I decided to create this one.

I would love to see what the vim users of the DEV community use the most from color schemes, plugins, workflows, etc.

Starting with mine:

Alt Text

Check out the dotfiles. (Use as a reference only, it is not yet documented ☹️)

Color scheme

I use iceberg.vim, made by the great designer cocopon.

Check out cocopon's work!

Plugins

I don't use many plugins, but 3 are vital right now to my workflow:

  • fzf
    • Fuzzy find a file by its name
    • Search for text in all files
    • Quickly switch between open vim buffers
  • coc.nvim
    • autocompletion for many languages through extensions
  • vim-fugitive
    • Resolve conflicts
    • Stage changes line by line

Outside vim

Share your own! 🚀

Discussion (49)

Collapse
drhyde profile image
David Cantrell • Edited

Wow, some of those make mine look really garish!

My config: github.com/DrHyde/configurations/t...

screenshot

Collapse
reobin profile image
Robin Gagnon Author

Looks old school I like it!

Collapse
drhyde profile image
David Cantrell

Yeah, I've not really fiddled with the colours much, apart from tweaking them a bit to work better in Dark Mode.

But that's not old school. Old school is green on black in a tiny dumb terminal. I don't miss that.

Thread Thread
reobin profile image
Robin Gagnon Author

Good point!

Collapse
kewbish profile image
Emilie Ma

My setup

Recently switched from VSCode. A pretty minimal setup - a fork of vim-code-dark to be greyscale, COC, Emmet.vim, and some other things I can't quite remember now.

Collapse
reobin profile image
Robin Gagnon Author • Edited

Amazing!

Have you always used greyscale color schemes?
Why did you start to do it and how was the transition?

Collapse
kewbish profile image
Emilie Ma

Thanks!

I definitely haven't always used greyscale schemes - this was mostly one of those 'huh let's try it' type things where I felt that vim-code-dark was a bit too bright compared to the rest of my setup. I just started to learn how to tweak schemes, and I find it's enough contrast for me, so that's fine. The transition wasn't as jarring as I thought (VSCode / vim-code-dark colours are quite pastel or desaturated already), and it was quite seamless in my opinion.

That said, some of my friends can't fathom how I can live 'without the contrast', but if you look at the colours long enough, a pastel blue vs a pastel grey looks about the same :)

Thread Thread
reobin profile image
Robin Gagnon Author

Cool! Definitely going on my to-try list

Thread Thread
kaleman15 profile image
Kevin Alemán

I recommend that kind of color scheme. It's really pleasant for the eyes to see all in grayscale.
Personally, when using VSCode I use Verdandi theme. In VIM, I haven't found a greyscale scheme. Could you share with me the name of the color scheme you're using? :D thanks!

Thread Thread
reobin profile image
Robin Gagnon Author

Emilie mentioned using a fork of vim-code-dark. Maybe you can find it on the linked GitHub account.

If not, the only greyscale color scheme for vim I know is jaredgorski/fogbell.vim

Thread Thread
kewbish profile image
Emilie Ma

Fogbell was something I investigated as well, but I found it didn't have enough levels of contrast and the highlighting groups were a bit off for me.

There's a whole collection of greyscale (or minimal color) themes at mcchrish/vim-no-color-collection that you might like to also check out.

My personal edit's not on GitHub yet, but I've just uploaded the vim file to this gist if you'd like to check it out, Kevin :)

Thread Thread
kaleman15 profile image
Kevin Alemán

I've found sunbather on that list. I like it. I guess I'll start using it. Currently, I use Iceberg.vim but it already bored me.
This is a screenshot of the sunbather. Lovely

Thread Thread
kewbish profile image
Emilie Ma

Looks cool - has an extra pop of colour that I might look into as well!

Collapse
gcgbarbosa profile image
George C. G. Barbosa

there

I think nothing different from what people already use here:

  • coc for completion
  • fzf to find files and jump into definitions
  • vim solarized theme
  • vim signify and fugitive for git
  • rainbow parenthesis and indent line

Outside of vim I also use tmux and zsh with starship too.

Collapse
reobin profile image
Robin Gagnon Author

Our setups really are similar!

Is it just me or tmux messes up your vim colors? I have definitely had problems with that in the past.

Collapse
khalidwilliams profile image
Khalid Williams

Launching tmux with the -2 flag solves the issue for me!

Collapse
mranthonysutton profile image
Anthony Sutton

vim

Theme: AYU Vim
Font: MonoLisa

DotFiles

Collapse
reobin profile image
Robin Gagnon Author

AYU looks nice!

Collapse
mranthonysutton profile image
Anthony Sutton

I go back and forth between AYU and gruvbox.. just depends what I feel like using. Just switched last week. Usually keep for about 2 - 3 months.

Collapse
dmfay profile image
Dian Fay

vim screenshot

gitlab.com/dmfay/dotfiles

Colors are mine; too many plugins to list, but shoutout to denite.

Collapse
reobin profile image
Robin Gagnon Author

Love the low-contrast color scheme! Does it only live in your gitlab dotfiles?

I didn't know about denite. I understand the plugin is quite generic and lets you do many things. What sort of stuff do you do with it?

Collapse
dmfay profile image
Dian Fay • Edited

Yeah, I haven't published it anywhere else. The contrast is actually decent (at least at full size), it passes WCAG AA and only starts to fail on AAA!

I use three main bindings for denite, which cover the same things you use fzf for:

  • <C-p>: fuzzy find filenames, like CtrlP etc
  • <space>s: the same, but only for buffers I currently have open
  • <space>/: grep

Denite farms out the searching to ripgrep though.

Collapse
jwkicklighter profile image
Jordan Kicklighter

Not sharing a setup, but curious from anyone around here mentioning COC: how is LSP integration in Vim? Curious about JS/TS, VueJS, Ruby, and any other languages people have tried. The tooling is one of the reasons I stick with VS Code.

Collapse
reobin profile image
Robin Gagnon Author

I will agree with Justin that vim + coc is just as good at LSP than vscode.

It uses extensions for languages so you add the ones you work with and they get loaded when a file of that language opens.

There are extensions for all the languages you listed so you should be golden.

Good luck!

Collapse
jcsh profile image
Justin Ho

I've used VS Code and I think coc is just as good at LSP for JS, React snippets and C# (only languages I've been using since switch).

In addition it's the most familiar since the eslint and prettier plugins gives you the same warnings and formatting as you would running the linter/ formatter in cmd.

The biggest hurdle is to learn how to use vim though.

Collapse
jwkicklighter profile image
Jordan Kicklighter

I'm very comfortable with Vim, and I use the plugin in vs code. I'd go back to Vim if these plugins make the experience similar. Thanks for the feedback

Thread Thread
jcsh profile image
Justin Ho

Sorry I didn't mean to imply you don't know how to use vim.

I meant that I'm not even that comfortable with vim and still need to remind myself to not hold down 'j' and use the line numbers 😅

Thread Thread
jwkicklighter profile image
Jordan Kicklighter

Oh no, I didn't take it that way! Just clarifying that the Vim part is what I want in my life, but the other features are keeping me in VS Code.

And don't worry, I've been using Vim for years and still catch myself holding down j. Then I catch it, move back up, and use a line number to reinforce the better habits.

Collapse
zarszz profile image
Ganjar Gingin Tahyudin

how to can debug some go/js/python/ruby projects in vim/nvim ? i just confused because of that ...

Collapse
anirudhrowjee profile image
Anirudh Rowjee • Edited

vim screenshot
here we go!

off the top of my head -

  • Gruvbox Dark
  • Coc.nvim
  • Airline

my dotfiles exist here.

Collapse
reobin profile image
Robin Gagnon Author

Gotta love the good old gruvbox!

Collapse
anirudhrowjee profile image
Anirudh Rowjee

I used to change color schemes every month before I found gruvbox.. and since then, it's been a year or more since I found a color scheme I like as much.

Collapse
jamescarr profile image
James Carr • Edited

Sure, here's my current one:

NeoVim with some of my plugins:

  • dracula theme
  • coc-python
  • Airline
  • ALE
  • autopairs
  • vim-fugitive
  • fzf
  • fzf-checkout

Tmux:

  • Also using dracula theme
  • zsh, oh-my-zsh *starship for the killer prompt
Collapse
reobin profile image
Robin Gagnon Author

Nice setup!

Is ALE displaying the warnings and errors in the gutter? I've always wanted to integrate ALE to my setup.

Collapse
jamescarr profile image
James Carr

Yep! Here's my config for it:

let g:ale_fixers = {
      \   'python': [
      \       'black',
      \       'isort'
      \   ],
      \}
let g:ale_fix_on_save = 1

let g:ale_sign_error = '❌'
let g:ale_sign_warning = '⚠️'

function! LinterStatus() abort
  let l:counts = ale#statusline#Count(bufnr(''))

  let l:all_errors = l:counts.error + l:counts.style_error
  let l:all_non_errors = l:counts.total - l:all_errors

  return l:counts.total == 0 ? '? all good ?' : printf(
        \   '?? %dW %dE',
        \   all_non_errors,
        \   all_errors
        \)
endfunction

set statusline=
set statusline+=%m
set statusline+=\ %f
set statusline+=%=
set statusline+=\ %{LinterStatus()}

Collapse
jcsh profile image
Justin Ho


Nord theme all the way! Using Alacritty terminal and hoping to get around to cleaning up my dotfiles soon, its too messy to show the world.

Neovim:

  • Coc
  • fzf
  • ripgrep
  • vim-multiple-cursors these are most used, the rest I could go without but too lazy to take out

Tmux:

  • tmux-sensible
  • tmux-ressurect

Zsh:

  • powerlevel10k prompt
Collapse
reobin profile image
Robin Gagnon Author

If everything was perfect, life would be sad. Don't hesitate to share the messy stuff! 😬

Collapse
jcsh profile image
Justin Ho

Thanks for the encouragement!

Yes that is true, I still have old code I'm not proud of public on my GitHub 😂

Collapse
frans profile image
Frans Allen

currently, this theme is my favorite

vim

my .vimrc

set ts=2 sw=2 cc=80 expandtab number noswapfile
colorscheme delek
Collapse
reobin profile image
Robin Gagnon Author

Minimalism goals

Collapse
casonadams profile image
Cason Adams

vim dev setup
vim fzf buffers
voc hover rust

  • I always keep coming back to good ole gruvbox.
  • I just recently switched from skim to use fzf because it is more mature.
  • As others I am using neovim with coc works really well with rust, python, bash
  • tmux is awesome to have command line and vi at the same time with gitmux
  • loving Alacritty for my terminal and JetBrains as the font

dotfiles

Collapse
vonheikemen profile image
Heiker

my awesome vim setup

Theme: rubber-enhanced
Font: The default Debian gives you.

Some interesting plugins I use:

fzf.vim - Fuzzy Finder
nnn.vim - File manager
emmet - Awesome snippets for html
vim-sneak - Move around the screen
quick-scope - Enhanced f
Nuake - A helper to toggle a terminal buffer

Here are the dotfiles.

Collapse
reobin profile image
Robin Gagnon Author

I had never heard of quick-scope. Super cool, I’m gonna have to try it!

Collapse
bhupesh profile image
Bhupesh Varshney 👾

my-vim-setup

Editor : nvim
colorscheme: purify

Everything possibly documented in my dotfiles repo

Collapse
pbnj profile image
Peter Benjamin (he/they) • Edited

My setup is very minimal to allow for simplicity and portability across wide range of development environments I use frequently (e.g. local machines, remote servers, raspberry pi's, docker containers) without compromising productivity.

Vim

Tmux

Git

  • A number of custom git subcommands
  • For example, vim-fugitive's :Gbrowse (i.e. opening a repo, file, and line number on github/gitlab) is here: git browse <filename> <starting line> <ending line>
  • Remote Containers from VSCode is here: git devcontainer

Shell

  • Bash shell. Not a lot of customization. .bash_prompt only shows user, hostname, current working directory, git branch & status info, aws context, kubernetes context, and background jobs.
  • Limit dependencies on CLIs that need to be installed directly on localhost to: fzf, git, curl, docker, make. Everything else should be runnable via docker
  • Bash functions for kubectl and searching the web

Screenshots

light

dark

Collapse
siddharthshyniben profile image
Siddharth

Vim

I've only been using vim for 2 months. I even wrote a blog post when I started, which has all sorts of vim tips in the comments

Collapse
ndaidong profile image
Dong Nguyen • Edited

I use git sub module for managing plugins. Here is what I have:

github.com/ndaidong/vim

Collapse
reobin profile image
Robin Gagnon Author

Nicely documented!

Collapse
andrewbaisden profile image
Andrew Baisden

Interested in seeing more want to get better at using Vim.