When I say from zero I mean from none configuration, so I will not write about how to use it or install it; I will leave that to you.

… but why?

I have been using ViM for a few years (8 aprox). But I am currently learning to use some IDEs like Intellij and Visual Studio Code to expand my toolbox… and always, I come back to ViM. Despite the simulator plugins available for those IDEs, they do not fully simulate the behavior and that’s quite a shame.

What do I need

I have a non-fresh but unconfigured installation. I use ViM when I need to edit text, so I will use it from programming to editing CSV or blog posts. Because of it, my requirements are as follow:

Visuals:

Navigation:

  • File tree navigation.
  • Search in files.

Programming languages:

  • Golang
  • Python
  • Javascript

    • ES5/ES6
    • jQuery
    • reactJS
  • Java

And respectives language lynter.

Web:

  • HTML
  • LESS
  • SASS
  • CSS3

Documentation:

Other file support:

  • XML
  • JSON (pretty JSON and/or transformations)

Plugin source and management:

Hands on!

This is what I have and see:

raw vim

Visuals

I create an empty ~/.vimrc file to put the initial customizations.

" Visuals
set number  " show line numbers
set ruler  " cursor position
set cursorline  " highlight current line
set colorcolumn=80  " 80 chars mark

visuals

Pathogen

I just follow the instructions described in its GitHub site and it’s done: this creates the directories in ~/.vim/autoload and ~/.vim/bundle. All future plugins will be placed on ~/.vim/bundle.

$ mkdir -p ~/.vim/autoload ~/.vim/bundle && \
	curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim

This is required on ~/.vimrc to make it work:

" Pathogen configuration
execute pathogen#infect()
syntax on
filetype plugin indent on

Now I am ready to put some plugins in.

Solarized

$ cd ~/.vim/bundle
$ git clone git://github.com/altercation/vim-colors-solarized.git
syntax enable
set background=dark
let g:solarized_termcolors=256
colorscheme solarized

solarized

Airline

$ cd ~/.vim/bundle  
$ git clone https://github.com/bling/vim-airline  
set laststatus=2  
set t_Co=256 
set noshowmode
let g:airline_powerline_fonts = 1

Golang

faith/vim-go is the mainstream plugin for Golang. Since I have installed Pathogen for plugin management, I just need to clone the project on its bundle directory:

$ git clone https://github.com/fatih/vim-go.git ~/.vim/bundle/vim-go

When I execute the command vim a.go, I see the following:

vim-go

It is because the vim-go plugin is placing some code snippet into our empty file, proof of correct installation. Now I can run some commands like :GoBuild, :GoInstall or :GoRun. Have fun.

Markdown

I was using the default support for Markdown files, but I will give a try to the Gabriele Lana’s plugin; it seems very simple yet promising on correct rendering when editing files.

$ cd ~/.vim/bundle
$ git clone https://github.com/gabrielelana/vim-markdown.git

More to come

And this is all for now too. I will keep posting on my progress.