My personal .files with chezmoi, tested and works well on macOS (MacBook Pro) and ArchLinux (Intel NUC 8i7HVK)
- chezmoi
- Neovim, or Vim version 8.0+, with python supports
- vim-plug, the plugin manager for Vim
- follow official README here
- Git, if you want to keep syncing with new updates
- oh-my-zsh
- ctags (for tags generation)
# init
chezmoi init https://github.com/akccakcctw/dotfiles.git
# update
chezmoi update
mapping leader key to ,
.
- tabs
open a new tab:<C-n>
- switch to next tab:
<Leader>n
- split window
- split horizontal:
<C-\>
- split window navigations:
<C-Left>
,<C-Down>
,<C-Up>
,<C-Right>
- switch between vertical/horizontal split:
<Leader>E
,<Leader>I
- split horizontal:
- no highlight search result:
<Leader>/
- toggle wrap:
<F2>
- increase/decrease number under the cursour:
+
,-
- move text line up/down:
<C-j>
,<C-k>
- avoid the escape key:
jj
- save a file as root:
<Leader>WW
- strip trailing whitespace:
<Leader>ss
- edit .vimrc:
<leader>ee
- vim-autoformat
<Leader>FF
- indentLine
- vim-gitgutter
- vim-import-cost
- scss-syntax.vim
- vim-table-mode
<Leader>tm
to start it (or typing:TableModeToggle
)
- vim-pug
- editorconfig-vim
- vim-json
- vim-go
- vim-snippets
- tidy-html5
- markdown-preview.nvim
- tender
- vim-buffergator
<Leader>b
to open a window listing all buffers<C-v>
to edit the selected buffer in a new vertical split<C-s>
to edit the selected buffer in a new horizontal split<C-t>
to edit the selected buffer in a new tab
- fzf
- fzf.vim
- gv.vim
- vim-easy-align
- patchreview-vim
- typescript-vim
- colorizer
- removed, it makes vim slow
- tagbar
- toggle tagbar:
<F8>
- toggle tagbar:
- emmet-vim
- enabled in html, css, scss, pug, vue, php files
- expand:
<C-e>,
- wrap: select then
<C-e>,
- next edit position:
<C-e>n
- previous edit position:
<C-e>N
- select current tag:
<C-e>d
- delete tag:
<C-e>k
- merge multiple lines:
<C-e>m
- vim-indent-guides
- vim-javascript
- vim-markdown
- vim-vue
- vim-devicons
- choose a Nerd Font compatible font for your terminal to see fancy icons
- nerdtree
- NERDTreeToggle:
<C-b>
- NERDTreeToggle:
- vim-tags
- generate tags for the project (using ctags)
:TagGenerate!
- generate tags for the project (using ctags)
- vim-multiple-cursors
- vim-code-dark
- tcomment_vim
- toggle comment with
<Leader>cc
in normal mode - select then
<Leader>cc
for inline comment - select then
<Leader>c<Space>
for block comment
- toggle comment with
- vim-fugitive
- vim-surround
- vim-airline
- vim-airline-themes
- vdebug
- ale
- vim-windowswap
- coc.nvim
- json5.vim
- coc-eslint
- coc-highlight
- coc-json
- coc-css
- coc-html
- coc-phpls
- prerequisites: intelephense
- settings in coc-settings.json
- coc-tsserver
- coc-vetur
- Client
- Servers (install manually)
- JavaScript: sourcegraph/javascript-typescript-langserver
npm i -g javascript-typescript-langserver
- PHP: intelephense
npm i -g intelephense
- Dockerfile: rcjsuen/dockerfile-language-server-nodejs
npm i -g dockerfile-language-server-nodejs
- Vue: vuejs/vetur/server
npm i -g vue-language-server
- JavaScript: sourcegraph/javascript-typescript-langserver
read linux/vimrc for more details.