Dotfiles
Setup git, vim, zsh, tmux etc. using one command
Install / Use
/learn @ik0r/DotfilesREADME
Dotfiles
Installation
git clone --depth 1 https://github.com/ik0r/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
Tasks
All vailable tasks:
- editorconfig
- emacs
- emacs_spacemacs
- fonts_source_code_pro
- git_alias
- git_config
- git_diff_so_fancy
- git_difftool_kaleidoscope
- git_mergetool_kaleidoscope
- git_difftool_vscode
- git_mergetool_vscode
- git_extras
- homebrew
- tmux
- vim_rc
- vim_plugins
- vim_plugins_fcitx
- vim_plugins_matchtag
- vim_plugins_snippets
- zsh_omz
- zsh_omz_plugins_fzf
- zsh_omz_plugins_git_diff_so_fancy
- zsh_omz_plugins_thefuck
- zsh_omz_plugins_zlua
- zsh_plugins_fasd
- zsh_zim
- zsh_zim_plugins_fzf
- zsh_zim_plugins_git_diff_so_fancy
- zsh_zim_plugins_omz_tmux
- zsh_zim_plugins_pure
- zsh_zim_plugins_zlua
You can do a specific task by run
./install.sh <taskname1>[ <taskname2> <tasknameN> ...]
-
Task
editorconfigInstall global
.editorconfigto you home. You can see what config is used. -
Task
emacsRequirement(s):
git,emacsInstall emacs config to your
~/.emacs.d. -
Task
emacs_spacemacsRequirement(s):
git,emacsInstall popular spacemacs for your emacs.
-
Task
fonts_source_code_proRequirement(s):
gitThis task will install Source Code Pro font for you.
The new version font is compatible with powerline fonts which have some useful symbols used in some vim plugins and shell plugins, and it will update frequently. So use it to replace Powerline fonts.
This font will be installed automatically when do task emacs_spacemacs and vim_plugins.
-
Task
git_aliasRequirement(s):
gitInstall
gitaliasfor git. gitalias has many useful alias. -
Task
git_configRequirement(s):
gitThis task will ask you what username and email you want to config global for git.
-
Task
git_diff_so_fancyRequirement(s):
gitInstall
diff-so-fancyplugin for git. Please see diff-so-fancyIf you use zsh, you can try the zsh plugin version task zsh_omz_plugins_git_diff_so_fancy or task zsh_zim_plugins_git_diff_so_fancy
-
Task
git_difftool_kaleidoscopeRequirement(s):
MAC,git,Kaleidoscope(ksdiff)Config git's difftool to Kaleidoscope.
Kaleidoscope is a sooooo excellent diff and merge tool
-
Task
git_mergetool_kaleidoscopeRequirement(s):
MAC,git,Kaleidoscope(ksdiff)Config git's mergetool to Kaleidoscope.
Kaleidoscope is a sooooo excellent diff and merge tool
-
Task
git_difftool_vscodeRequirement(s):
git,VSCodeConfig git's difftool to VSCode.
-
Task
git_mergetool_vscodeRequirement(s):
git,VSCodeConfig git's mergetool to VSCode.
-
Task
git_extrasRequirement(s):
gitInstall
git-extrasplugin for git. git-extras( Linux, OS X ) has some useful tools for git. -
Task
homebrewRequirement(s):
curlInstall homebrew for OS X and Linux(aka. linuxbrew on Linux).
-
Task
tmuxRequirement(s):
git,tmuxtmux plugins
-
Task
vim_rcRequirement(s):
git,vimThis task will not install any plugin, if you want to use some plugins, do task vim_plugins.
You can override the system vim with the new one installed by
homebrew. (OS X only. This is optional, but recommended, because system vim can't use system clipbord via register+).brew install macvim --with-override-system-vimAnd then add the new vim PATH into your
$PATH.You can add your custom configs or override dotvim configs in
~/.vimrc.local. -
Task
vim_pluginsRequirement(s):
git,vim, task vim_rcSetup vim-plug, and load other plugins.
We have some dotvim_group below.
- themes
- interface
- explorer
- motion
- writing
- git
- syntastic
- tmux
- html
- css
- js
- php
- markdown
- nginx
In above dotvim_groups, only
themesandinterfacewill be loaded default.You can add already defined dotvim_group above in
~/.vimrc.plugins.beforelike below." load some plugins groups let g:dotvim_groups = ['explorer', 'git', 'js']You can also add a virtual group
commontog:dotvim_groupsto include all groups, and then use-*syntax to exclude some ones like below." include groups except git let g:dotvim_groups = ['common', '-git']If you want to override some plugin configs or to use some other plugins, you can add them in
~/.vimrc.plugins.locallike below." load your custom plugins in ~/.vimrc.plugins.local " Plug 'name/repo' " or override plugin configs already defined in ~/.vimrc.plugins " let g:some_config = 'value'The load order for the configuration is:
.vimrc- dotvim configs.vimrc.plugins.before- user's dotvim_groups define.vimrc.plugins- dotvim plugins and plugin configs.vimrc.plugins.local- user's custom plugins and plugin configs.vimrc.local- user's custom configs
Included plugin(s)
" group 'themes' Plug 'tomasr/molokai' Plug 'altercation/vim-colors-solarized' Plug 'morhetz/gruvbox' Plug 'junegunn/seoul256.vim' Plug 'zeis/vim-kolor' " group 'interface' Plug 'vim-airline/vim-airline' Plug 'Yggdroot/indentLine' " group 'explorer' Plug 'schickling/vim-bufonly' Plug 'ctrlpvim/ctrlp.vim' Plug 'tacahiroy/ctrlp-funky' Plug 'scrooloose/nerdtree' Plug 'Xuyuanp/nerdtree-git-plugin' Plug 'dyng/ctrlsf.vim' Plug 't9md/vim-choosewin' " group 'motion' Plug 'justinmk/vim-sneak' Plug 'unblevable/quick-scope' Plug 'haya14busa/incsearch.vim' Plug 'easymotion/vim-easymotion' Plug 'haya14busa/incsearch-easymotion.vim' Plug 'kshenoy/vim-signature' Plug 'terryma/vim-expand-region' Plug 't9md/vim-textmanip' " group 'writing' Plug 'ntpeters/vim-better-whitespace' Plug 'Raimondi/delimitMate' Plug 'junegunn/vim-easy-align' Plug 'wellle/targets.vim' Plug 'tpope/vim-surround' Plug 'tpope/vim-repeat' Plug 'scrooloose/nerdcommenter' Plug 'terryma/vim-multiple-cursors' Plug 'osyo-manga/vim-over' " group 'git' Plug 'airblade/vim-gitgutter' " group 'syntastic' Plug 'scrooloose/syntastic' " group 'tmux' Plug 'tmux-plugins/vim-tmux' Plug 'tmux-plugins/vim-tmux-focus-events' Plug 'christoomey/vim-tmux-navigator' " group 'html' Plug 'tmhedberg/matchit' Plug 'mattn/emmet-vim' " group 'css' Plug 'groenewege/vim-less' Plug 'hail2u/vim-css3-syntax' Plug 'Marslo/vim-coloresque' " group 'js' Plug 'leafgarland/typescript-vim' Plug 'kchmck/vim-coffee-script' Plug 'pangloss/vim-javascript' Plug 'mxw/vim-jsx' Plug 'othree/yajs.vim' Plug 'heavenshell/vim-jsdoc' Plug 'mtscout6/syntastic-local-eslint.vim' " group 'php' Plug 'SirVer/ultisnips' Plug 'tobyS/vmustache' Plug 'tobyS/pdv' " group 'markdown' Plug 'godlygeek/tabular' Plug 'plasticboy/vim-markdown' " group 'nginx' Plug 'evanmiller/nginx-vim-syntax' -
Task
vim_plugins_fcitxRequirement(s):
git,vim, task vim_pluginsInstall fcitx support plugin for vim. This plugin help you to switch input method(eg. English and Chinese keyboard) automatically when you switch vim
InsertandNormalmode.Included plugin(s)
" group 'fcitx' Plug 'CodeFalling/fcitx-vim-osx' -
Task
vim_plugins_matchtagRequirement(s):
git,vim,curl,python, task vim_pluginsInstall html matchtag plugin for vim. Here i use python version matchtag. If you don't want to include python modules, you can also use non-python version 'gregsexton/MatchTag'
Included plugin(s)
" group 'match
