• Stars
    star
    108
  • Rank 321,259 (Top 7 %)
  • Language
    Shell
  • License
    MIT License
  • Created about 11 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

Dotfiles

Installation

git clone --depth 1 https://github.com/Wyntau/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, sublime2, sublime3, vim_plugins, and vscode.

  • 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_dmtool

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

    Config git's difftool and mergetool to Kaleidoscope.

    Kaleidoscope is a sooooo excellent diff and merge tool

  • Task git_extras

    Requirement(s): git

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

  • Task git_flow

    Requirement(s): git

    Install git-flow plugin for git.

    A post about git-flow: a-successful-git-branching-model

  • Task homebrew

    Requirement(s): curl

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

  • Task sublime2

    Requirement(s): git, Sublime Text 2

    bakup your preference file first!

    If you use Sublime Text 2, this task will add user Preference, Monokai Extended colorscheme and Markdown Extended plugin which supports more files including Markdown highlight.

    After installing the preference, maybe you want to reset font_face and font_size to what you prefer in Preference.sublime-settings. Also you can see what sublime packages I used in SublimePackages.

    If you use VIM Mode in Sublime Text 2 on OS X 10.8+, when you hold h, l, j, k, the cursor will not move left right down up continually like real VIM, the solution is below.

    Mac OS X Lion introduced a new, iOS-like context menu when you press and hold a key that enables you to choose a character from a menu of options. If you are on Lion try it by pressing and holding down 'e' in any app that uses the default NSTextField for input.

    It's a nice feature and continues the blending of Mac OS X and iOS features. However, it's a nightmare to deal with in Sublime Text 2 if you're running Vintage (Vim) mode, as it means you cannot press and hold h/j/k/l to move through your file. You have to repeatedly press the keys to navigate.

    You can disable this feature for just Sublime Text 2 by issuing the following command in your terminal:

      defaults write com.sublimetext.2 ApplePressAndHoldEnabled -bool false
    

    Alternately, if you want this feature disabled globally, you can enter this:

      defaults write -g ApplePressAndHoldEnabled -bool false
    

    In either case you'll need to restart your computer for the change to take place.

    Happy coding!

  • Task sublime3

    Requirement(s): git, Sublime Text 3

    bakup your preference file first!

    If you use Sublime Text 3, this task will add user Preference, Monokai Extended colorscheme and Markdown Extended plugin which supports more files including Markdown highlight.

    After installing the preference, maybe you want to reset font_face and font_size to what you prefer in Preference.sublime-settings. Also you can see what sublime packages I used in SublimePackages.

  • 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.

    Additionally, if you have installed neovim, this task will link vim to ~/.nvim, vim/vimrc to ~/.nvimrc.

    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 'matchtag'
    Plug 'valloric/MatchTagAlways'
  • Task vim_plugins_snippets

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

    Install vim-snippets plugin for vim.

    Included plugin(s)
    " group 'snippets'
    Plug 'SirVer/ultisnips'
    Plug 'honza/vim-snippets'
  • Task vim_plugins_ycm

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

    Install YouCompleteMe plugin for vim.

    If YouCompleteMe lib files not exist, or you force YouCompleteMe to recompile with export YCM_COMPILE_FORCE=true, YouCompleteMe lib files will be compiled automatically.

    Also you can set YCM_COMPLETER_FLAG with different language support.

    e.g.

    YCM_COMPLETER_FLAG="--tern-completer" ./install.sh vim_plugins_ycm

    If you want to enable --tern-completer support, You may want to have node and npm installed and .tern-project config file in you project or $HOME directory.

    Included plugin(s)
    " group 'youcompleteme'
    Plug 'Valloric/YouCompleteMe'
  • Task vscode

    Requirement(s): git, Visual Studio Code

    Install custom settings.json and keybindings.json for vscode.

    After installing the configs, maybe you want to reset editor.fontFamily and editor.fontSize to what you prefer in settings.json, and custom key bindings in keybindings.json.

  • Task zsh_omz

    Requirement(s): git, zsh

    This task will install oh-my-zsh for you.

    If you have your own configs, put them in ~/.zshrc.local, zsh will load them automatically.

    What zsh plugins are used?

    plugin require note
    colored-man-pages
    encode64
    extract
    fzf task zsh_omz_plugins_fzf
    sublime
    sudo
    zsh_reload
    zsh-syntax-highlighting
    history-substring-search
    zsh-autosuggestions disabled in Emacs eshell. TIP: If your auto suggestion's color is same with your normal command's color, please make sure you $TERM support 256 color!
    fasd(z) task zsh_plugins_fasd z is used otherwise when fasd is not installed
    git git
    gitfast git
    diff-so-fancy task zsh_omz_plugins_git_diff_so_fancy
    git-extras task git_extras
    git-flow task git_flow
    git-flow-completion task git_flow
    httpie httpie
    mosh mosh
    thefuck task zsh_omz_plugins_thefuck
    tmux tmux
    z.lua task zsh_omz_plugins_zlua
    osx OS X

    So, maybe you should install some of them to make full use of zsh.

  • Task zsh_omz_plugins_fzf

    Requirement(s): git, zsh, task zsh_omz

    Install oh-my-zsh plugin fzf

  • Task zsh_omz_plugins_git_diff_so_fancy

    Requirement(s): git, zsh, task zsh_omz

    Install oh-my-zsh plugin zsh-diff-so-fancy for git diff-so-fancy

  • Task zsh_omz_plugins_thefuck

    Requirement(s): git, zsh, task zsh_omz

    Install oh-my-zsh plugin thefuck

  • Task zsh_omz_plugins_zlua

    Requirement(s): git, zsh, lua

    Install zsh plugin z.lua

  • Task zsh_plugins_fasd

    Requirement(s): git, zsh

    Install zsh plugin fasd

  • Task zsh_zim

    Requirement(s): git, zsh

    This task will install zimfw for you.

    If you have your own configs, put them in ~/.zimrc.local, zsh will load them automatically.

  • Task zsh_zim_plugins_fzf

    Requirement(s): git, zsh, curl

    Install oh-my-zsh plugin fzf for zim.

  • Task zsh_zim_plugins_git_diff_so_fancy

    Requirement(s): git, zsh, task zsh_zim

    Install zimfw plugin zsh-diff-so-fancy for git diff-so-fancy

  • Task zsh_zim_plugins_omz_tmux

    Requirement(s): git, zsh, tmux

    Iinstall the tmux plugin(oh-my-zsh/plugins/tmux) included in oh-my-zsh for zimfw.

  • Task zsh_zim_plugins_pure

    Requirement(s): git, zsh

    Install zsh prompt theme pure for zimfw

  • Task zsh_zim_plugins_zlua

    Requirement(s): git, zsh, lua

    Install zsh plugin z.lua for zimfw

License

The MIT License (MIT)

Copyright (c) 2013 - present Wyntau [email protected]

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

More Repositories

1

me-pageloading

svg based pageloading for angular
JavaScript
226
star
2

passport-weixin

passport oauth2 strategy for weixin
JavaScript
138
star
3

me-lazyload

image lazyload directive for angular
JavaScript
87
star
4

fzf-zsh

[DEPRECATED]wrap fzf to use in oh-my-zsh
Shell
87
star
5

angular-require

use require in angular.js painless
JavaScript
53
star
6

kman

Koa + MongoDB + Angular.js + Node.js. A starting point for writing AngularJS apps backed by a Koa-powered node.js server.
JavaScript
51
star
7

me-animate.css

animate.css for angular
HTML
41
star
8

vue-ios-alertview

iOS7+ style alertview service for Vue
Vue
30
star
9

me-lazyimg

Yet another image lazyload directive for angular.
JavaScript
28
star
10

fis3-typescript-vue-hackernews-2.0

An example for hackernews using fis3 tool chain, typescript, vue etc.
JavaScript
22
star
11

koa-vhost

vhost for koajs
JavaScript
20
star
12

koa-validator

a koa port of express-validator
JavaScript
18
star
13

docker-ymfe-yapi

Dockerfile
17
star
14

webpack-angular-example

JavaScript
15
star
15

wyntau.github.io

the blog based on jekyll and markdown using the theme [iLotus](https://github.com/Wyntau/jekyll-theme-iLotus)
JavaScript
15
star
16

systemjs-example

a demo using System.js and Babel(or TypeScript) to load es6 modules directly in browser.
HTML
10
star
17

metalsmith-only

a file's attribute filter for metalsmith
JavaScript
6
star
18

metalsmith-except

a file's attribute `except` filter for metalsmith
JavaScript
6
star
19

metalsmith-replace

a replace plugin for metalsmith
JavaScript
6
star
20

angular-ios-alertview

iOS7+ style alertview service for angular
HTML
6
star
21

MVCObject

An implementation of Google Maps' MVCObject for Node.js and browers
JavaScript
5
star
22

angular-duoshuo

duoshuo directive for angular.js
JavaScript
4
star
23

TNotify

[DEPRECATED!] ios7+ style alert confirm and prompt service for angular
JavaScript
4
star
24

angular-ios-actionsheet

iOS7+ style actionsheet service for angular
CSS
3
star
25

jekyll-theme-apollo

A jekyll port of hexo theme apollo
CSS
3
star
26

vue-ios-actionsheet

iOS7+ style actionsheet service for Vue
Vue
3
star
27

lint-recently

lint recently git commited files
TypeScript
3
star
28

jekyll-theme-iLotus

A split jekyll fork version of [pizn/iLotus](https://github.com/pizn/iLotus). So you can just fork and start a new github pages blog like
CSS
3
star
29

koa-assign

assign property to koa context, so these properties are available in follow middlewares.
JavaScript
2
star
30

about

about me/resume
CSS
2
star
31

schematics-task

TypeScript
2
star
32

unneeded

TypeScript
2
star
33

sublime-monokai-custom

[DEPRECATED] use sublime-monokai-extended(https://github.com/jonschlinkert/sublime-monokai-extended), Modified version of Sublime Text 2 colorscheme Monokai
2
star
34

http-ng-loading-bar

A automatic loading / progress bar for http-ng
JavaScript
2
star
35

node-echo

A shell like echo for node.js with sync and async method
CoffeeScript
2
star
36

rdfind

redundant data find - code backup for rdfind(http://rdfind.pauldreik.se/)
C++
2
star
37

meblog

My Undergraduate Thesis
JavaScript
2
star
38

vue-sui-loading

Vue 2.x port of sui $.{showIndicator,hideIndicator,showPreloader,hidePreloader}
Vue
2
star
39

excel30line

a mirror of http://jsfiddle.net/ondras/hYfN3/
JavaScript
1
star
40

html5love

JavaScript
1
star
41

yeoman-generators

[Deprecated] yeoman generators include some toolchains and starters
TypeScript
1
star
42

suck

Clear your screen with suckage
C
1
star
43

koa-noop

return a noop middleware for some specific usage
JavaScript
1
star
44

cacheFactory

A stand alone cacheFactory split out from angular $cacheFactory
JavaScript
1
star
45

wyntau

1
star
46

schematics

schematics for quick start project
TypeScript
1
star
47

PhilNa2-plus

Rebirth of philna2
PHP
1
star
48

jekyll-theme-jekyllrb

SCSS
1
star
49

koa-backend

backend koa service
JavaScript
1
star
50

mocha-demo

a demo which use mocha to test in different situation
JavaScript
1
star
51

renovate-config

Shell
1
star
52

vue-sui-toast

Vue 2.x port of sui toast component http://wyntau.github.io/vue-sui-toast/example/
Vue
1
star
53

jistype

yet another istype detect library using `Object.prototype.toStirng` to get type.
CoffeeScript
1
star