SkillAgentSearch skills...

Dotfiles

Setup git, vim, zsh, tmux etc. using one command

Install / Use

/learn @ik0r/Dotfiles
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Dotfiles

Installation

git clone --depth 1 https://github.com/ik0r/dotfiles.git ~/.dotfiles
cd ~/.dotfiles

Tasks

All vailable tasks:

You can do a specific task by run

./install.sh <taskname1>[ <taskname2> <tasknameN> ...]
  • Task editorconfig

    Install global .editorconfig to you home. You can see what config is used.

  • Task emacs

    Requirement(s): git, emacs

    Install emacs config to your ~/.emacs.d.

  • Task emacs_spacemacs

    Requirement(s): git, emacs

    Install popular spacemacs for your emacs.

  • Task fonts_source_code_pro

    Requirement(s): git

    This 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_alias

    Requirement(s): git

    Install gitalias for git. gitalias has many useful alias.

  • Task git_config

    Requirement(s): git

    This task will ask you what username and email you want to config global for git.

  • Task git_diff_so_fancy

    Requirement(s): git

    Install diff-so-fancy plugin for git. Please see diff-so-fancy

    If 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_kaleidoscope

    Requirement(s): MAC, git, Kaleidoscope(ksdiff)

    Config git's difftool to Kaleidoscope.

    Kaleidoscope is a sooooo excellent diff and merge tool

  • Task git_mergetool_kaleidoscope

    Requirement(s): MAC, git, Kaleidoscope(ksdiff)

    Config git's mergetool to Kaleidoscope.

    Kaleidoscope is a sooooo excellent diff and merge tool

  • Task git_difftool_vscode

    Requirement(s): git, VSCode

    Config git's difftool to VSCode.

  • Task git_mergetool_vscode

    Requirement(s): git, VSCode

    Config git's mergetool to VSCode.

  • Task git_extras

    Requirement(s): git

    Install git-extras plugin for git. git-extras( Linux, OS X ) has some useful tools for git.

  • Task homebrew

    Requirement(s): curl

    Install homebrew for OS X and Linux(aka. linuxbrew on Linux).

  • Task tmux

    Requirement(s): git, tmux

    tmux plugins

  • Task vim_rc

    Requirement(s): git, vim

    This 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-vim
    

    And then add the new vim PATH into your $PATH.

    You can add your custom configs or override dotvim configs in ~/.vimrc.local.

  • Task vim_plugins

    Requirement(s): git, vim, task vim_rc

    Setup 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 themes and interface will be loaded default.

    You can add already defined dotvim_group above in ~/.vimrc.plugins.before like below.

    " load some plugins groups
    let g:dotvim_groups = ['explorer', 'git', 'js']
    

    You can also add a virtual group common to g:dotvim_groups to 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.local like 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:

    1. .vimrc - dotvim configs
    2. .vimrc.plugins.before - user's dotvim_groups define
    3. .vimrc.plugins - dotvim plugins and plugin configs
    4. .vimrc.plugins.local - user's custom plugins and plugin configs
    5. .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_fcitx

    Requirement(s): git, vim, task vim_plugins

    Install fcitx support plugin for vim. This plugin help you to switch input method(eg. English and Chinese keyboard) automatically when you switch vim Insert and Normal mode.

    Included plugin(s)
    " group 'fcitx'
    Plug 'CodeFalling/fcitx-vim-osx'
    
  • Task vim_plugins_matchtag

    Requirement(s): git, vim, curl, python, task vim_plugins

    Install 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
    
View on GitHub
GitHub Stars108
CategoryDevelopment
Updated1d ago
Forks23

Languages

Shell

Security Score

100/100

Audited on Mar 31, 2026

No findings