It's a UNIX system!

my system

I'm going to go through my customized dev environment and linux workflow (?),

this is mostly for starcraft brood war ofc born of necessity.

I use vim but I expect autocomplete and go to definitions and a tool that let me move throuth my projet easy and quick

is a great text editor available everywhere that let me customize it to my own needs

I'm by no means a vim expert, this is more like my notes in the continuous process of learning and making my own customized experience.

vim window movements suck by default, I need good movements (explain what does this means).

my goals are built-in language support for Python, Lua, Erlang and C

avoid the requirement of tools outside those supported languages,

avoid rust or go utilities if possible,

avoid c++ if possible,

introduce debian linux


introduce the starcraft and vim comparation..

  • vim plugging manager
  • my list of pluggins
  • autocompletion
  • unit tests
  • git integration
  • startify menu (?)
  • go to definition
  • linting (?)
  • denite (more than just a fuzzy finder!)
  • undotree F5
  • dirvish (file finder)
  • hotkeys

  • mksh

  • kitty
  • bspwm
  • tmux

direction is more important than speed


plug vim pluging manager

my list of pluggins

pluggin description
vim-sensible a universal set of defaults that everyone can agree on.
vim-eunuch Vim sugar for the UNIX shell commands that need it the most.
vim-fugitive It's so awesome, it should be illegal.
vim-unimpaired Complementary pairs of mappings.
vim-repeat Repeat.vim remaps . in a way that plugins can tap into it.
vim-dispatch Kick off builds and test suites using one of several asynchronous adapters.
vim-startify A fancy start screen for Vim
vim-signify Show differences with style
vim-polyglot A solid language pack for Vim.
vim-maximizer Maximizes and restores the current window in Vim.
vim-bbye Close and remove the buffer.
vim-lastplace Intelligently reopen files at your last edit position.
vim-sandwich add/delete/replace surroundings of a sandwiched textobject
vim-highlightedyank Make the yanked region apparent!
goyo Distraction-free writing in Vim.
limelight Hyperfocus-writing in Vim.
vim-peekaboo see the contents of the registers.
vim-easy-align A simple, easy-to-use Vim alignment plugin.
gv.vim A git commit browser in Vim
vim-slash Enhancing in-buffer search experience
Vim-Jinja2-Syntax An up-to-date jinja2 syntax file.
denite Denite is a dark powered plugin to unite all interfaces.
vim-dirvish Directory viewer for Vim
vim-dirvish-git Plugin for dirvish.vim that shows git status flags
vim-gtfo Go to Terminal or File manager
vim-love-docs Vim plugin for LÖVE syntax highlighting and help file
vim-pandoc pandoc integration and utilities for vim
vim-pandoc-syntax pandoc markdown syntax
graphviz.vim graphviz .dot to .png flow chart image
vim-sxhkdrc Vim syntax for sxhkd's configuration files
jupytext.vim editing Jupyter ipynb files via jupytext
tmux-complete.vim insert mode completion of words in adjacent tmux panes
vim-tmux-navigator Seamless navigation between tmux panes and vim splits
vim-table-mode VIM Table Mode for instant table creation.
auto-pairs Vim plugin, insert or delete brackets, parens, quotes in pair
undotree The undo history visualizer for VIM
onehalf one half dark
rainbow Rainbow Parentheses Improved
VimCompletesMe You don't Complete Me; Vim Completes Me!
deoplete Dark powered asynchronous completion framework for Vim
neoinclude Include completion framework for deoplete
deoplete-clangx C/C++ Completion for deoplete using clang
nvim-yarp Yet Another Remote Plugin Framework
vim-hug-neovim-rpc Compatibility layer for neovim rpc client working on vim8
deoplete-vim-lsp deoplete source for vim-lsp
vim-cmake plugin for working with CMake projects
vim-gutentags A Vim plugin that manages your tag files
tagbar displays tags in a window, ordered by scope
async.vim normalize async job control api for vim
vim-lsp async language server protocol plugin for vim
ale Check syntax in Vim asynchronously and fix files
vim-lsp-ale Bridge between vim-lsp and ALE
neoformat A vim plugin for formatting code.
vim-devicons Adds file type icons to Vim plugins
lightline.vim A light and configurable statusline/tabline plugin for Vim
vim-cursorworld Underlines the word under the cursor
lightline-bufferline bufferline functionality for the lightline vim plugin.
lightline-ale ALE indicator for the lightline vim plugin
vimwiki Personal Wiki for Vim
calendar-vim Creates a calendar you can use within vim
pomodoro.vim Bring the beauty of the Pomodoro technique to Vim
Colorizer Color hex codes and color names
indentLine display the indention levels with thin vertical lines
vim-test Run your tests at the speed of thought
vim-isort sort python imports using isort
vim-minimap A minimap for vim
vim-lsp-settings Auto configurations for Language Server for vim-lsp

custom preferences

plugin description
ale.vim bla
calendar.vim bla
denite.vim bla
deoplete.vim bla
dirvish.vim bla
goyo.vim bla
gutentags.vim bla
hotkets.vim bla
indentLine.vim bla
jupytext.vim bla
ligthline.vim bla
lsp.vim bla
neoformat.vim bla
pandoc.vim bla
startify.vim bla
test.vim bla
tmux.vim bla
vimwiki.vim bla


blabla bla



  • python support flake8 and pylint
  • lua support luacheck
  • c support by clang
  • erlang support with syntaxerl



hotkey description
leader ] ale next wrap
leader [ ale previous wrap
leader - bla
leader \ bla
leader t bla
leader tc color
leader s update
leader z spelling
leader x buffer delete Bdelete
leader e exit qa!
leader d Denite buffer
leader f DeniteProjectDir -start-filter grep:::!
leader Backspace Denite -resume -cursor-pos=+1
leader gy Goyo

leader R, replace

leader gg, bla leader gj, bla leader gf, bla leader ga, git fetch leader gl, git pull leader gc, git commit leader gp, git push

leader cg, CMakeGenerate leader cb, CMakeBuild

leader ct, CMakeBuild test

leader tn, TestNearest

leader tf, TestFile

leader ts, TestSuite -strategy=vimterminal

leader tl, TestLast

I'm also have qe, j, k, qw, qq maped for quickfix stuff (?)

leader qe,

leader j,

leader k,

leader qw,

leader qq

now the F keys

f1, help f2, maximizer f3, dirvish f4, denite f5, undotree f5, date on insert mode f7, calendar.vim f8, pomodoro.vim