Sharing my dotfiles(vim/kitty/zsh configuration)

vi/kitty/zsh configuration I recommendvi/kitty/zsh 配置

Posted by Ray on June 6, 2020

vim as a programming ide

I used to use slickedit, qt-creator, idea (webstorm, goland), vscode, but I am back to vi now. Thanks for Plug I do not need to configure my setup everytime……. I am still using sublime edit(as a notepad)

vimr is one of the best nvim-gui. But it does not in active development in last 3 months(It is hard for a one developer project), some of the crash durning coding is annoying. I only use nvim/vim + kitty now.

  • nvim+kitty configured with pop menu:

    vim_ide with nvim+kitty

  • nvim clap preview:

    vim_ide with nvim+kitty

  • nvim+kitty coc+ale:

    vim_ide with nvim+kitty

Vim Plugins

I used following plugin a lots

  • Plug

    Plugin management tool

  • vim-clap

    Best plugin for search anything. I used it to replace fzf, leaderF, leaderP, NerdTree, Ag/Ack/Rg, yank(ring), project management. undolist and many more

  • coc.nvim

    I disabled vim-go and turn to coc-go. Replace defx with coc-explorer, use coc-spell for spell check coc-snippet replaced my ultisnips. Also, there are coc for yml, json, prettier, python, rust, PHP (any language vs code supported)……

  • ALE

    well, I am still using ALE and configure lots of lint tool with it.

  • Programming support:

    YCM (used to be my favourite, only for C++ and python now), but I am using coc.nvim more offen now, vim-go(for go testing, highlight, gopls disabled),CompleteParameter, emmet-vim, tagbar/vista, polygot, and some language specific plugins (e.g html, js/ts, swift), ctags/gutentags, vim-less, govim(macvim only, with some cool AST)

  • Debug:

    vimspector

  • Theme, look&feel:

    onedark, eleline, devicons, startify, powerline, indentLine(with nerdfont),

  • Color:

    nvim-colorizer.lua (display hex and color in highlight), rainbow, log-highlight, limelight, interestingwords

  • Git:

    fugitive, gv, coc-git

  • Format:

    tabular, coc-prettier(or, sometimes prettier), auto-pair

  • Menu and tab: quickui(created a menu for the function/keybind I used less often. I can not rememeber all the commands and keybinds….) wintab: one of the best buffer management tool

  • Tools: floatterm, coc-todolist

  • Move and Edit:

    easymotion, multi-cursor (has ome bugs with auto-complete. check this: You don’t need more than one cursor in vim ), vim-anyfold (better folding)

Shell

  • OMZshell is good, iterm2 is popular, but I turned to zprezto(with powerlevel10) + kitty. It is cooool and faster, check this:

Some of the benfits of kitty:

  • Fully GPU/OpenGL rendering

  • Easy split/tabing

  • Configurable font. You can configure multiple fonts for display. e.g. my configure:

1
2
3
4
5
6
7
8
9
font_family      FiraCode Retina
italic_font      InconsolataLGC Nerd Font Italic
bold_font        FiraCode Semibold
bold_italic_font InconsolataLGC Nerd Font BoldItalic

# Font size (in pts)
font_size        16.0


Why am I doing this:

  • bold font is too heavy… semibold is less distracting

  • Retina font is better than regular (I guess…)

  • nerd font support

  • Some font do not have italic (e.g. Cascadia)

nvim+kitty split view:

vim_ide with nvim+kitty

Check my repo