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:
- Line numbers
- Cursor position (row/col)
- Highlight cursor line
- Line mark at 80 characters
- Solarized color scheme.
- Nice status bar.
- File tree navigation.
- Search in files.
And respectives language lynter.
Other file support:
- JSON (pretty JSON and/or transformations)
Plugin source and management:
This is what I have and see:
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
I just follow the instructions described in its
GitHub site and it’s done: this
creates the directories in
~/.vim/bundle. All future
plugins will be placed on
$ 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.
$ 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
$ 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
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:
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
:GoRun. Have fun.
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.