├── .vscode
└── settings.json
├── dots
├── bundle
│ └── config
├── psqlrc
├── gemrc
├── gitignore
├── bash_profile
├── inputrc
├── gitconfig
├── bashrc
└── vimrc
├── Makefile
├── bin
├── update
├── uninstall
├── help
└── install
├── Readme.md
└── themes
└── polarized.dvtcolortheme
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "editor.fontFamily": "Fira Code"
3 | }
--------------------------------------------------------------------------------
/dots/bundle/config:
--------------------------------------------------------------------------------
1 | ---
2 | BUNDLE_PATH: vendor/bundle
3 | BUNDLE_BINSTUBS: .bin
4 |
--------------------------------------------------------------------------------
/dots/psqlrc:
--------------------------------------------------------------------------------
1 | \pset linestyle unicode
2 | \pset border 2
3 | \pset expanded auto
4 |
--------------------------------------------------------------------------------
/dots/gemrc:
--------------------------------------------------------------------------------
1 | ---
2 | :backtrace: false
3 | :bulk_threshold: 1000
4 | :sources:
5 | - http://rubygems.org
6 | - https://rubygems.org
7 | :update_sources: true
8 | :verbose: true
9 | benchmark: false
10 | gem: "--no-ri --no-rdoc"
11 |
--------------------------------------------------------------------------------
/dots/gitignore:
--------------------------------------------------------------------------------
1 | *.log
2 | *.map
3 | *.swp
4 | .DS_Store
5 | .bundle/
6 | .env
7 | .idea
8 | .powenv
9 | .rake_cache
10 | .sass-cache
11 | .svn
12 | log/*
13 | log/**/*
14 | node_modules
15 | tmp/*
16 | tmp/**/*
17 | typescript
18 | vendor/bundle
19 |
--------------------------------------------------------------------------------
/dots/bash_profile:
--------------------------------------------------------------------------------
1 | if [[ -f $HOME/.bashrc ]]; then source $HOME/.bashrc; fi
2 | if [[ -f $HOME/.bashrc.local ]]; then source $HOME/.bashrc.local; fi
3 | eval "$(rbenv init -)"
4 | test -e "${HOME}/.iterm2_shell_integration.bash" && source "${HOME}/.iterm2_shell_integration.bash"
5 |
6 | export PATH="$HOME/.fastlane/bin:$PATH"
7 |
8 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | #/ help List all bin commands and make targets
2 | help:
3 | @./bin/help world makefile
4 |
5 | #/ install Runs all of the install commands
6 | install:
7 | @./bin/install world
8 |
9 | #/ update Runs all of the update commands
10 | update:
11 | @./bin/update world
12 |
13 | #/ uninstall Remove all the crap that was installed
14 | uninstall:
15 | @./bin/uninstall world
16 |
17 | .PHONY: help install update uninstall
18 |
19 |
--------------------------------------------------------------------------------
/dots/inputrc:
--------------------------------------------------------------------------------
1 | # http://ss64.com/bash/syntax-inputrc.html
2 | set expand-tilde on
3 | set history-preserve-point on
4 | set mark-symlinked-directories on
5 | set skip-completed-text on
6 | set match-hidden-files off
7 | set page-completions off
8 | set completion-query-items 1000
9 | set completion-ignore-case on
10 | set completion-prefix-display-length 10
11 |
12 | C-n: history-search-forward
13 | C-p: history-search-backward
14 |
15 | # For immediate completion feedback rock these
16 | # set show-all-if-ambiguous on
17 | # set show-all-if-unmodified on
18 |
19 |
--------------------------------------------------------------------------------
/bin/update:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | init() {
5 | $([[ $1 == "" ]] && echo ./bin/help update || echo run $@)
6 | printf "%s\nupdate complete.\n"
7 | exit 0
8 | }
9 |
10 | run() {
11 | for cmd in $@; do $cmd; done
12 | }
13 |
14 | #/ vim Message instructions to update the Vim plugins
15 | vim() {
16 | printf "%s-----------------------------------\n"
17 | printf "%sUpdate Vim plugins:\n"
18 | printf "%sPlugUpgrade, PlugUpdate, PlugClean!\n"
19 | printf "%s-----------------------------------\n"
20 | }
21 |
22 | #/ world Runs all of the update commands
23 | world() {
24 | vim
25 | }
26 |
27 | # go..
28 | init $@
29 |
30 |
--------------------------------------------------------------------------------
/dots/gitconfig:
--------------------------------------------------------------------------------
1 | [color]
2 | diff = auto
3 | status = auto
4 | branch = auto
5 | ui = auto
6 | [core]
7 | excludesfile = ~/.gitignore
8 | trustctime = false
9 | [alias]
10 | c = commit -a
11 | a = add
12 | di = diff
13 | dic = diff --cached
14 | pl = pull
15 | ps = push
16 | pr = pull --rebase
17 | st = status
18 | out = log origin..HEAD
19 | br = branch
20 | co = checkout
21 | del = !FILES=$(git ls-files --deleted) && git rm $FILES
22 | empty = commit --allow-empty -m
23 | glog = log --pretty='format:%d %Cgreen%h%Creset %an - %s' --graph
24 | clog = log --pretty='- [x] %h %s'
25 | [help]
26 | autocorrect = 1
27 | [push]
28 | default = matching
29 | [branch]
30 | autosetupmerge = always
31 | autosetuprebase = always
32 | [merge]
33 | tool = opendiff
34 | trustExitCode = 0
35 |
36 | [mergetool "opendiff"]
37 |
38 | [rerere]
39 | enabled = 1
40 | [filter "media"]
41 | required = true
42 | clean = git media clean %f
43 | smudge = git media smudge %f
44 |
45 | [interactive]
46 | diffFilter = diff-highlight
47 | [include]
48 | path = ~/.gitconfig.local
49 |
50 | [gpg]
51 | program = /usr/local/bin/gpg
52 |
--------------------------------------------------------------------------------
/bin/uninstall:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | init() {
5 | $([[ $1 == "" ]] && echo ./bin/help uninstall || echo run $@)
6 | printf "%s\nuninstall complete.\n"
7 | exit 0
8 | }
9 |
10 | run() {
11 | for cmd in $@; do $cmd; done
12 | }
13 |
14 | #/ vim Removes .vimrc, .vim/
15 | vim() {
16 | rm -v $HOME/.vimrc
17 | rm -rfv $HOME/.vim
18 | }
19 |
20 | #/ bash Removes .bash_profile, .bashrc and .inputrc
21 | bash() {
22 | for file in "bash_profile" "bashrc" "inputrc"; do
23 | rm -v $HOME/.$file
24 | done
25 | }
26 |
27 | #/ psql Removes .psqlrc
28 | bash() {
29 | for file in "psqlrc"; do
30 | rm -v $HOME/.$file
31 | done
32 | }
33 |
34 | #/ dots Removes ~/ .gemrc .gitconfig .gitignore .bundle/
35 | dots() {
36 | rm -rfv $HOME/.bundle
37 | for file in "gemrc" "gitconfig" "gitignore"; do
38 | rm -v $HOME/.$file
39 | done
40 | }
41 |
42 | #/ xcode Uninstalls custom Xcode files
43 | xcode() {
44 | rm -rfv $HOME/Library/Developer/Xcode/UserData/FontAndColorThemes
45 | }
46 |
47 | #/ world Runs all of the uninstall commands
48 | world() {
49 | vim
50 | dots
51 | bash
52 | xcode
53 | }
54 |
55 | # go..
56 | init $@
57 |
58 |
--------------------------------------------------------------------------------
/bin/help:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | init() {
5 | $([[ $1 == "" ]] && echo world || echo run $@)
6 | exit 0
7 | }
8 |
9 | run() {
10 | for cmd in $@; do $cmd; done
11 | }
12 |
13 | #/ install List commands for the install program
14 | install() {
15 | print_usage "install"
16 | }
17 |
18 | #/ uninstall List commands for the uninstall program
19 | uninstall() {
20 | print_usage "uninstall"
21 | }
22 |
23 | #/ update List commands for the update program
24 | update() {
25 | print_usage "update"
26 | }
27 |
28 | #/ help List commands for the help program
29 | help() {
30 | print_usage "help"
31 | }
32 |
33 | #/ world List each command in all programs
34 | world() {
35 | install
36 | uninstall
37 | update
38 | help
39 | }
40 |
41 | makefile() {
42 | printf "%sUsage: make TARGET\n"
43 | cat ./Makefile | grep '^#\/' | sed "s/#\///g" | while read line; do
44 | printf "%2s$line\n"
45 | done
46 | printf "%s\n"
47 | }
48 |
49 | print_usage() {
50 | for program in $@; do
51 | printf "%sUsage: bin/$program COMMAND\n"
52 | cat ./bin/$program | grep '^#\/' | sed "s/#\///g" | while read line; do
53 | printf "%2s$line\n"
54 | done
55 | printf "%s\n"
56 | done
57 | }
58 |
59 | # go..
60 | init $@
61 |
62 |
--------------------------------------------------------------------------------
/bin/install:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | init() {
5 | $([[ $1 == "" ]] && echo ./bin/help install || echo run $@)
6 | exit 0
7 | }
8 |
9 | run() {
10 | for cmd in $@; do $cmd; done
11 | }
12 |
13 | #/ vim Installs .vimrc, .vim/ and vim-plug
14 | vim() {
15 | printf "%sInstalling vimfiles..\n"
16 | if [[ -d $HOME/.vim ]]; then rm -rf $HOME/.vim; fi
17 | for dir in "tmp/ctrlp" "tmp/swap" "tmp/yankring"; do
18 | mkdir -pv $HOME/.vim/$dir
19 | done
20 | curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
21 | https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
22 | ln -sfv "`pwd`/dots/vimrc" $HOME/.vimrc
23 | printf "%s----------------------------------------\n"
24 | printf "%sRun PlugInstall from within Vim\n"
25 | printf "%s----------------------------------------\n"
26 | }
27 |
28 | #/ bash Installs .bash_profile, .bashrc and .inputrc
29 | bash() {
30 | for file in "bash_profile" "bashrc" "inputrc"; do
31 | ln -sfv "`pwd`/dots/$file" $HOME/.$file
32 | done
33 | }
34 |
35 | #/ psql Installs .bash_profile, .bashrc and .inputrc
36 | psql() {
37 | for file in "psqlrc"; do
38 | ln -sfv "`pwd`/dots/$file" $HOME/.$file
39 | done
40 | }
41 |
42 | #/ dots Installs ~/ .gemrc .gitconfig .gitignore .bundle/
43 | dots() {
44 | if [[ ! -d $HOME/.bundle ]]; then mkdir $HOME/.bundle;fi
45 | ln -sfv "`pwd`/dots/bundle/config" $HOME/.bundle/config
46 | for file in "gemrc" "gitconfig" "gitignore"; do
47 | ln -sfv "`pwd`/dots/$file" $HOME/.$file
48 | done
49 | }
50 |
51 | #/ xcode Installs custom Xcode files
52 | xcode() {
53 | mkdir -pv ~/Library/Developer/Xcode/UserData/FontAndColorThemes
54 | ln -sfv "`pwd`/themes/polarized.dvtcolortheme" $HOME/Library/Developer/Xcode/UserData/FontAndColorThemes/polarized.dvtcolortheme
55 | }
56 |
57 | #/ world Runs all of the install commands
58 | world() {
59 | bash
60 | dots
61 | vim
62 | xcode
63 | psql
64 | }
65 |
66 | # go..
67 | init $@
68 |
69 |
--------------------------------------------------------------------------------
/dots/bashrc:
--------------------------------------------------------------------------------
1 | eval "$(rbenv init -)"
2 | eval "$(exenv init -)"
3 |
4 | # Environment pathing and editor defaults
5 | export PATH="/usr/local/bin:/usr/local/heroku/bin:$PATH"
6 | export ARCHFLAGS="-arch i386 -arch x86_64"
7 | export HISTCONTROL=ignoreboth
8 | export HISTFILESIZE=10000
9 | export HISTSIZE=10000
10 | unset MAILCHECK
11 |
12 | # Add some color to man pages
13 | export LESS_TERMCAP_md="$(tput setaf 4)"
14 |
15 | # Without comment
16 | export EDITOR=vim
17 |
18 | # Use MacVim's version of the Vim executable instead of the systems
19 | if [ -e /usr/local/bin/brew ]; then
20 | export MACVIM_BASE=`brew --cellar macvim`
21 | export MACVIM_VERSION=`brew list --versions macvim | cut -d ' ' -f 2`
22 | alias vim="$MACVIM_BASE/$MACVIM_VERSION/MacVim.app/Contents/MacOS/Vim"
23 | export EDITOR="$MACVIM_BASE/$MACVIM_VERSION/MacVim.app/Contents/MacOS/Vim"
24 | fi
25 |
26 | # http://ss64.com/bash/shopt.html
27 | shopt -s histappend
28 | shopt -s nocaseglob
29 | shopt -s cdspell
30 |
31 | # Prompts
32 | # ------------------------------------------
33 |
34 | # Color settings
35 | export TERM=xterm-color
36 | export GREP_OPTIONS='--color=auto' GREP_COLOR='0;36'
37 | export CLICOLOR=1
38 |
39 | # Color | Escaped | ANSI
40 | # -------------- | ---------- | ------------
41 | # No Color | \033[0m | x (default foreground)
42 | # Black | \033[0;30m | a
43 | # Grey | \033[1;30m | A
44 | # Red | \033[0;31m | b
45 | # Bright Red | \033[1;31m | B
46 | # Green | \033[0;32m | c
47 | # Bright Green | \033[1;32m | C
48 | # Brown | \033[0;33m | d
49 | # Yellow | \033[1;33m | D
50 | # Blue | \033[0;34m | e
51 | # Bright Blue | \033[1;34m | E
52 | # Magenta | \033[0;35m | f
53 | # Bright Magenta | \033[1;35m | F
54 | # Cyan | \033[0;36m | g
55 | # Bright Cyan | \033[1;36m | G
56 | # Bright Grey | \033[0;37m | h
57 | # White | \033[1;37m | H
58 |
59 | # The order of the attributes are as follows (fgbg):
60 | # 01. directory
61 | # 02. symbolic link
62 | # 03. socket
63 | # 04. pipe
64 | # 05. executable
65 | # 06. block special
66 | # 07. character special
67 | # 08. executable with setuid bit set
68 | # 09. executable with setgid bit set
69 | # 10. directory writable to others, with sticky bit
70 | # 11. directory writable to others, without sticky bit
71 | # LSCOLORS=0102030405060708091011
72 | export LSCOLORS=excxgxfxbxdxbxbxbxexex
73 |
74 | parse_git_branch() {
75 | __git_ps1 " [%s]"
76 | }
77 |
78 | parse_versions() {
79 | echo " [rb:$(rbenv version-name)|ex:$(exenv version-name)]"
80 | }
81 |
82 | settitle() {
83 | echo -n -e "\033]0;$*\007"
84 | }
85 |
86 | export GIT_PS1_SHOWDIRTYSTATE='true'
87 | export PS1="\[\033[35m\][\h\[\033[00m\]\[\033[35m\]] \[\033[34m\]\W\[\033[32m\]\$(parse_versions)\[\033[31m\]\$(parse_git_branch)\[\033[00m\] \[\033[0m\]"
88 | export PS2="\[\033[35m\]→ \[\033[0m\]"
89 |
90 | # Aliases
91 | # ------------------------------------------
92 |
93 | # Map git commands through hub
94 | if [ -e /usr/local/bin/hub ]; then
95 | alias git=hub
96 | fi
97 |
98 | # Handy stuff
99 | alias reload="source ~/.bash_profile && cd ../ && cd -"
100 | alias cp='cp -i'
101 | alias mv='mv -i'
102 | alias ls='ls -G'
103 | alias la='ls -lA'
104 | alias ll='ls -l'
105 | alias las='ls -lAS'
106 | alias hi='history | tail -50'
107 | alias be='bundle exec'
108 | alias ..="cd ../"
109 |
110 | alias git-prune='git remote | xargs -n1 git remote prune'
111 |
112 | # Completions
113 | # ------------------------------------------
114 |
115 | if [ -f `brew --prefix`/etc/bash_completion ]; then
116 | . `brew --prefix`/etc/bash_completion
117 | fi
118 |
119 | # ps_1 was moved so source this file instead
120 | if [ -f /usr/local/share/git-core/contrib/completion/git-prompt.sh ]; then
121 | source /usr/local/share/git-core/contrib/completion/git-prompt.sh
122 | fi
123 |
124 |
125 | # Only print if we're in an interactive shell.
126 | # Non-interactive stuff like rsync will blow up otherwise
127 | if [[ "$-" == *"i"* ]]; then
128 | echo -e "\033[0;35m------------------------------------------\033[0m"
129 | fi
130 |
--------------------------------------------------------------------------------
/Readme.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | We ♥ the Vim.
4 |
5 | ## Fresh install
6 | **Warning this will blow away any vim/bash setups you have currently. You may
7 | want to back up existing files.**
8 |
9 | - Xcode should be installed on your system from the App Store
10 | - Install Xcode command line tools by running `xcode-select --install` in a terminal window
11 | - Install Homebrew if you don't already by running `ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"` in a terminal window
12 | - Make sure you have git installed by running `brew install git` in a terminal window
13 | - Make sure you have ripgrep installed by running `brew install ripgrep` in a terminal window
14 | - In a terminal window cd to the dotfiles directory and run `bin/install world`
15 | - A helpful way to reload the terminal once the dotfiles are installed and terminal has been relaunched is to run our alias `reload` in a terminal window (this only effects reloading of the current window not all terminal windows)
16 | - Set reasonable [OSX defaults][osxdefaults]
17 | - Ruby (optional; if you want to use the built-in [Rbenv](https://github.com/rbenv/rbenv) support): `brew install rbenv ruby-build`
18 | - Elixir (optional; if you want to use the built-in [Exenv](https://github.com/mururu/exenv) support): `brew install exenv elixir-build`
19 |
20 | ## Settings
21 |
22 | ### Rock a sweet Bash setup
23 |
24 | The Bash setup is fairly bare bones out of the box. To override or add
25 | any additional settings create a `~/.bashrc.local` file and add
26 | any customization.
27 |
28 | The default Bash settings support the [rbenv][rbenv] environment.
29 |
30 | ### Git credentials
31 | To setup your git credentials correctly you'll need to add a `.gitconfig.local`
32 | file to your `$HOME` directory and add the following:
33 |
34 | ```
35 | [user]
36 | name = YOUR_GIT_AUTHOR_NAME
37 | email = YOUR_GIT_AUTHOR_EMAIL
38 | [github]
39 | user = YOUR_GITHUB_USERNAME
40 | ```
41 |
42 | ### Override Vim settings
43 |
44 | To override or add any additional settings create a `~/.vimrc.local` file and
45 | add any customization.
46 |
47 | Vim is setup with [vim-plug][vim-plug] as it's plugin manager. The default
48 | plugins are enabled within the [.vimrc][vimrc] file. To load localized plugins
49 | add them to a `~/.vimrc.bundles` file.
50 |
51 | To install the plugins open up vim by running `vim` in a terminal window and
52 | then typing `:PlugInstall`. If you get an error while opening up vim about not
53 | being able to find `colorscheme pigment` that's ok as the `:PlugInstall` will
54 | fix this for the next time you launch vim.
55 |
56 | ## Tips
57 |
58 | ### GPG (Optional)
59 |
60 | You will need to install GPG Keychain for GPG signing to happen automatically.
61 | See [GPG Tools](https://gpgtools.org/) for more information. There are ways to
62 | do this through homebrew, but the setup is a bit much. To obtain your GPG
63 | signing key you can either open up GPG Keychain, or run `gpg --list-keys` and
64 | add this to the `GIT_SIGNING_KEY` in your `.bashrc.local` file.
65 |
66 | You will also need to make your GPG signing key the primary one. You can do this
67 | by opening up GPG Keychain and doing these steps:
68 |
69 | - select your key
70 | - hit the details button
71 | - select User IDs from the menu
72 | - right click on your user id and select primary
73 | - select 'save to keychain' when the dialog pops up
74 | - and add this to your .gitconfig.local:
75 |
76 | ```
77 | [user]
78 | signingKey = YOUR_GIT_SIGNING_KEY
79 | [commit]
80 | gpgsign = true
81 | [gpg]
82 | program = /usr/local/bin/gpg
83 | ```
84 |
85 | ### Install Polarized terminal themes
86 |
87 | Included in the vimrc is `Plug mkitt/pigment`. This is the color settings for
88 | Vim. Any color profile should work with this theme including the defaults from
89 | Apple. Included from the [pigment][pigment] repository is the Polarized light
90 | and dark profiles. Import these profiles into Apple's Terminal.app and set one
91 | as the default. They should be found in:
92 |
93 | ```
94 | ~/.vim/plugged/pigment/profiles/
95 | ```
96 |
97 | ### Turn caps lock into the control key
98 |
99 | The control key is in an awkward position and the caps lock key is
100 | basically useless. It's right there in the home row, so you might as
101 | well put it to good use.
102 |
103 | 1. Open up System Preferences
104 | - Select `Keyboard`
105 | - Select `Modifier Keys`
106 | - From the drop down, select `^ Control` under the `Caps Lock` setting
107 | - In the `Select Keyboard` drop down, set it for both internal and external keyboards
108 |
109 | ### Mouse support for Terminal
110 |
111 | To get full mouse support (scrolling, clicking, etc...) within Terminal
112 | Vim, install the [SIMBL][simbl] [MouseTerm][mouseterm] plug-in.
113 |
114 |
115 |
116 | [mouseterm]: https://bitheap.org/mouseterm/
117 | [osxdefaults]: http://mths.be/osx
118 | [rbenv]: https://github.com/rbenv/rbenv
119 | [simbl]: http://www.culater.net/software/SIMBL/SIMBL.php
120 | [vim-plug]: https://github.com/junegunn/vim-plug
121 | [pigment]: https://github.com/mkitt/pigment
122 | [vimrc]: /dots/vimrc
123 |
124 |
--------------------------------------------------------------------------------
/themes/polarized.dvtcolortheme:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | DVTConsoleDebuggerInputTextColor
6 | 0.437649 0.509511 0.517715 1
7 | DVTConsoleDebuggerInputTextFont
8 | Menlo-Bold - 11.0
9 | DVTConsoleDebuggerOutputTextColor
10 | 0.437649 0.509511 0.517715 1
11 | DVTConsoleDebuggerOutputTextFont
12 | Menlo-Regular - 11.0
13 | DVTConsoleDebuggerPromptTextColor
14 | 0.317071 0.437736 1 1
15 | DVTConsoleDebuggerPromptTextFont
16 | Menlo-Bold - 11.0
17 | DVTConsoleExectuableInputTextColor
18 | 0.437649 0.509511 0.517715 1
19 | DVTConsoleExectuableInputTextFont
20 | Menlo-Regular - 11.0
21 | DVTConsoleExectuableOutputTextColor
22 | 0.437649 0.509511 0.517715 1
23 | DVTConsoleExectuableOutputTextFont
24 | Menlo-Bold - 11.0
25 | DVTConsoleTextBackgroundColor
26 | 0.0980392 0.0980392 0.0980392 1
27 | DVTConsoleTextInsertionPointColor
28 | 0.905714 0.905714 0.905714 1
29 | DVTConsoleTextSelectionColor
30 | 0.32076 0.406575 0.440224 0.45
31 | DVTDebuggerInstructionPointerColor
32 | 0.653506 0.472476 0 1
33 | DVTMarkupTextBackgroundColor
34 | 0.08 0.195451 0.23153 1
35 | DVTMarkupTextBorderColor
36 | 0.1536 0.259815 0.293007 1
37 | DVTMarkupTextCodeFont
38 | Menlo-Regular - 10.0
39 | DVTMarkupTextEmphasisColor
40 | 0.513725 0.580392 0.588235 1
41 | DVTMarkupTextEmphasisFont
42 | .AppleSystemUIFontItalic - 10.0
43 | DVTMarkupTextLinkColor
44 | 1 0.501961 1 1
45 | DVTMarkupTextLinkFont
46 | .AppleSystemUIFont - 10.0
47 | DVTMarkupTextNormalColor
48 | 0.513725 0.580392 0.588235 1
49 | DVTMarkupTextNormalFont
50 | .AppleSystemUIFont - 10.0
51 | DVTMarkupTextOtherHeadingColor
52 | 0.513725 0.580392 0.588235 0.5
53 | DVTMarkupTextOtherHeadingFont
54 | .AppleSystemUIFont - 14.0
55 | DVTMarkupTextPrimaryHeadingColor
56 | 0.513725 0.580392 0.588235 1
57 | DVTMarkupTextPrimaryHeadingFont
58 | .AppleSystemUIFont - 24.0
59 | DVTMarkupTextSecondaryHeadingColor
60 | 0.513725 0.580392 0.588235 1
61 | DVTMarkupTextSecondaryHeadingFont
62 | .AppleSystemUIFont - 18.0
63 | DVTMarkupTextStrongColor
64 | 0.513725 0.580392 0.588235 1
65 | DVTMarkupTextStrongFont
66 | .AppleSystemUIFontBold - 10.0
67 | DVTSourceTextBackground
68 | 0 0.12549 0.164706 1
69 | DVTSourceTextBlockDimBackgroundColor
70 | 0.5 0.5 0.5 1
71 | DVTSourceTextInsertionPointColor
72 | 0.827451 0.211765 0.509804 1
73 | DVTSourceTextInvisiblesColor
74 | 0.827451 0 0.00784314 1
75 | DVTSourceTextSelectionColor
76 | 0.0196078 0.211765 0.254902 1
77 | DVTSourceTextSyntaxColors
78 |
79 | xcode.syntax.attribute
80 | 1 0.501961 1 1
81 | xcode.syntax.character
82 | 0.521569 0.6 0 1
83 | xcode.syntax.comment
84 | 0.423529 0.439216 0.768627 1
85 | xcode.syntax.comment.doc
86 | 0.423529 0.439216 0.768627 1
87 | xcode.syntax.comment.doc.keyword
88 | 0.423529 0.439216 0.768627 1
89 | xcode.syntax.identifier.class
90 | 0.827451 0.211765 0.509804 1
91 | xcode.syntax.identifier.class.system
92 | 0.827451 0.211765 0.509804 1
93 | xcode.syntax.identifier.constant
94 | 0.164706 0.631373 0.596078 1
95 | xcode.syntax.identifier.constant.system
96 | 0.164706 0.631373 0.596078 1
97 | xcode.syntax.identifier.function
98 | 0.796078 0.294118 0.0862745 1
99 | xcode.syntax.identifier.function.system
100 | 0.796078 0.294118 0.0862745 1
101 | xcode.syntax.identifier.macro
102 | 0.709804 0.537255 0 1
103 | xcode.syntax.identifier.macro.system
104 | 0.709804 0.537255 0 1
105 | xcode.syntax.identifier.type
106 | 0.827451 0.211765 0.509804 1
107 | xcode.syntax.identifier.type.system
108 | 0.827451 0.211765 0.509804 1
109 | xcode.syntax.identifier.variable
110 | 0.164706 0.631373 0.596078 1
111 | xcode.syntax.identifier.variable.system
112 | 0.164706 0.631373 0.596078 1
113 | xcode.syntax.keyword
114 | 0.14902 0.545098 0.823529 1
115 | xcode.syntax.number
116 | 0.164706 0.631373 0.596078 1
117 | xcode.syntax.plain
118 | 0.513725 0.580392 0.588235 1
119 | xcode.syntax.preprocessor
120 | 0.709804 0.537255 0 1
121 | xcode.syntax.string
122 | 0.521569 0.6 0 1
123 | xcode.syntax.url
124 | 1 0.501961 1 1
125 |
126 | DVTSourceTextSyntaxFonts
127 |
128 | xcode.syntax.attribute
129 | Menlo-Regular - 12.0
130 | xcode.syntax.character
131 | Menlo-Regular - 12.0
132 | xcode.syntax.comment
133 | Menlo-Regular - 12.0
134 | xcode.syntax.comment.doc
135 | Menlo-Regular - 12.0
136 | xcode.syntax.comment.doc.keyword
137 | Menlo-Regular - 12.0
138 | xcode.syntax.identifier.class
139 | Menlo-Regular - 12.0
140 | xcode.syntax.identifier.class.system
141 | Menlo-Regular - 12.0
142 | xcode.syntax.identifier.constant
143 | Menlo-Regular - 12.0
144 | xcode.syntax.identifier.constant.system
145 | Menlo-Regular - 12.0
146 | xcode.syntax.identifier.function
147 | Menlo-Regular - 12.0
148 | xcode.syntax.identifier.function.system
149 | Menlo-Regular - 12.0
150 | xcode.syntax.identifier.macro
151 | Menlo-Regular - 12.0
152 | xcode.syntax.identifier.macro.system
153 | Menlo-Regular - 12.0
154 | xcode.syntax.identifier.type
155 | Menlo-Regular - 12.0
156 | xcode.syntax.identifier.type.system
157 | Menlo-Regular - 12.0
158 | xcode.syntax.identifier.variable
159 | Menlo-Regular - 12.0
160 | xcode.syntax.identifier.variable.system
161 | Menlo-Regular - 12.0
162 | xcode.syntax.keyword
163 | Menlo-Regular - 12.0
164 | xcode.syntax.number
165 | Menlo-Regular - 12.0
166 | xcode.syntax.plain
167 | Menlo-Regular - 12.0
168 | xcode.syntax.preprocessor
169 | Menlo-Regular - 12.0
170 | xcode.syntax.string
171 | Menlo-Regular - 12.0
172 | xcode.syntax.url
173 | Menlo-Regular - 12.0
174 |
175 |
176 |
177 |
--------------------------------------------------------------------------------
/dots/vimrc:
--------------------------------------------------------------------------------
1 | " Disable vi compatibility
2 | set nocompatible
3 |
4 | " Plugins
5 | " -----------------------------------------------------------------------------
6 | call plug#begin('~/.vim/plugged')
7 |
8 | " Editor
9 | Plug 'ctrlpvim/ctrlp.vim'
10 | Plug 'dyng/ctrlsf.vim'
11 | Plug 'ervandew/supertab'
12 | Plug 'henrik/vim-indexed-search'
13 | Plug 'mhinz/vim-grepper'
14 | Plug 'mhinz/vim-startify'
15 | Plug 'mkitt/pigment'
16 | Plug 'mkitt/tabline.vim'
17 | Plug 'nelstrom/vim-visual-star-search'
18 | Plug 'scrooloose/nerdtree'
19 | Plug 'terryma/vim-multiple-cursors'
20 | Plug 'ton/vim-bufsurf'
21 | Plug 'vim-scripts/YankRing.vim'
22 | Plug 'w0rp/ale'
23 | Plug 'yssl/QFEnter'
24 |
25 | " Editing
26 | Plug 'tpope/vim-commentary'
27 | Plug 'tpope/vim-repeat'
28 | Plug 'tpope/vim-surround'
29 | Plug 'tpope/vim-unimpaired'
30 |
31 | " Filetypes
32 | Plug 'derekwyatt/vim-scala'
33 | Plug 'elixir-lang/vim-elixir'
34 | Plug 'fatih/vim-go'
35 | Plug 'hashivim/vim-terraform'
36 | Plug 'jparise/vim-graphql'
37 | Plug 'kchmck/vim-coffee-script'
38 | Plug 'keith/swift.vim'
39 | Plug 'leafgarland/typescript-vim'
40 | Plug 'mxw/vim-jsx'
41 | Plug 'othree/html5.vim'
42 | Plug 'pangloss/vim-javascript'
43 | Plug 'peitalin/vim-jsx-typescript'
44 | Plug 'tpope/vim-haml'
45 | Plug 'tpope/vim-rails'
46 |
47 | " Utility
48 | Plug 'ngmy/vim-rubocop'
49 | Plug 'tpope/vim-fugitive'
50 | Plug 'tpope/vim-rhubarb'
51 |
52 | " Add local bundles
53 | if filereadable(expand("~/.vimrc.bundles"))
54 | source ~/.vimrc.bundles
55 | endif
56 |
57 | call plug#end()
58 |
59 | runtime! macros/matchit.vim
60 | filetype plugin indent on
61 | syntax enable
62 |
63 | " Preferences
64 | " -----------------------------------------------------------------------------
65 | set autoindent
66 | set autoread
67 | set autowrite
68 | set backspace=2
69 | set clipboard=unnamed
70 | set complete-=i
71 | set completeopt=longest,menu
72 | set directory=~/.vim/tmp/swap/
73 | set display+=lastline
74 | set expandtab
75 | set hidden
76 | set history=1000
77 | set hlsearch
78 | set ignorecase
79 | set incsearch
80 | set laststatus=2
81 | set list
82 | set listchars=tab:▸\ ,eol:¬,trail:·
83 | set mouse=a
84 | set nobackup
85 | set nojoinspaces
86 | set noshowcmd
87 | set nostartofline
88 | set nowrap
89 | set nrformats-=octal
90 | set number
91 | set ruler
92 | set scrolloff=3
93 | set sessionoptions-=options
94 | set shiftround
95 | set shiftwidth=2
96 | set showmatch
97 | set sidescrolloff=3
98 | set smartcase
99 | set smartindent
100 | set smarttab
101 | set softtabstop=2
102 | set splitright splitbelow
103 | set tabstop=2
104 | set title
105 | set ttimeout
106 | set ttimeoutlen=50
107 | set ttyfast
108 | set undolevels=1000
109 | set wildignore+=*.DS_Store
110 | set wildmenu
111 | set wildmode=longest:full,full
112 |
113 | if has("balloon_eval") && has("unix")
114 | set ballooneval
115 | endif
116 |
117 | if &t_Co == 8 && $TERM !~# '^linux'
118 | set t_Co=16
119 | endif
120 |
121 | if v:version > 703 || v:version == 703 && has("patch541")
122 | set formatoptions+=j
123 | endif
124 |
125 | if executable('rg')
126 | set grepprg=rg\
127 | let g:ctrlp_user_command='rg --files %s'
128 | let g:ctrlp_use_caching=0
129 | endif
130 |
131 | let g:ctrlp_by_filename=1
132 | let g:ctrlp_extensions=['line']
133 | let g:ctrlp_cache_dir=$HOME.'/.vim/tmp/ctrlp/'
134 | let g:ctrlp_custom_ignore='vendor/bundle\|.bundle\|tmp\|spec/support/fixtures\|docs/api\|public/uploads\|.git$'
135 | let g:ctrlp_map=''
136 |
137 | let g:ctrlsf_auto_close=0
138 |
139 | let g:netrw_liststyle=3
140 |
141 | let g:NERDTreeWinSize=40
142 | let g:NERDTreeMinimalUI=1
143 | let g:NERDTreeAutoDeleteBuffer=1
144 | let g:NERDTreeMapUpdir='-'
145 |
146 | let g:SuperTabLongestEnhanced=1
147 | let g:SuperTabLongestHighlight=1
148 |
149 | " Open quick fix and location window items with CtrlP commands
150 | let g:qfenter_enable_autoquickfix=0
151 | let g:qfenter_keymap = {}
152 | let g:qfenter_keymap.vopen = ['']
153 | let g:qfenter_keymap.hopen = ['', '', '']
154 | let g:qfenter_keymap.topen = ['']
155 |
156 | let g:ale_fix_on_save = 1
157 | let g:ale_fixers = {'javascript': ['eslint', 'trim_whitespace'], 'typescript': ['tslint', 'trim_whitespace']}
158 | let g:ale_history_log_output = 0
159 | let g:ale_javascript_eslint_executable = 'eslint_d'
160 | let g:ale_javascript_eslint_use_global = 1
161 |
162 | let g:ale_typescript_tslint_use_global = 1
163 | let g:ale_typescript_tsserver_use_global = 1
164 |
165 | let g:ale_lint_delay = 666
166 | let g:ale_open_list = 'on_save'
167 | let g:ale_sign_column_always = 1
168 | let g:ale_sign_error = '☠️'
169 | let g:ale_sign_warning = '⚠️'
170 |
171 | let g:vimrubocop_config = '.rubocop.yml'
172 |
173 | if !exists("g:ycm_semantic_triggers")
174 | let g:ycm_semantic_triggers = {}
175 | endif
176 | let g:ycm_semantic_triggers['typescript'] = ['.']
177 |
178 | let g:yankring_window_height=10
179 | let g:yankring_history_dir=$HOME.'/.vim/tmp/yankring/'
180 |
181 | let g:indexed_search_show_index_mappings=0
182 | let g:indexed_search_colors=0
183 |
184 | let g:javascript_enable_domhtmlcss=1
185 | let g:jsx_ext_required=0
186 |
187 |
188 | " Mappings
189 | " -----------------------------------------------------------------------------
190 | " RSI reduction
191 | nnoremap j gj
192 | nnoremap k gk
193 |
194 | " Move between splits
195 | noremap h
196 | noremap j
197 | noremap k
198 | noremap l
199 |
200 | " Another alternative mapping
201 | nnoremap :CtrlP
202 |
203 | " NERDTree in a buffer (like netrw)
204 | nnoremap - :silent edit %:p:h
205 | nnoremap _ :silent edit .
206 |
207 | " Override jumplist commands
208 | nnoremap :BufSurfBack
209 | nnoremap :BufSurfForward
210 |
211 | " Function keys
212 | let g:ctrlp_map=''
213 | noremap :NERDTreeToggle
214 | noremap :CtrlPBuffer
215 | nnoremap :GrepperRg
216 | xnoremap y:GrepperRg -F =shellescape(expand(@"),1)
217 | nmap CtrlSFPrompt
218 | vmap CtrlSFVwordExec
219 | noremap :vertical wincmd f
220 | noremap :BufSurfBack
221 | noremap :BufSurfForward
222 |
223 | " The `g` commands (testing)
224 | nnoremap gF :vertical wincmd f
225 | nnoremap gl :CtrlP
226 | nnoremap gL :CtrlPBuffer
227 | nnoremap gy :NERDTreeToggle
228 | nnoremap gs :GrepperRg
229 | xnoremap gs y:GrepperRg -F =shellescape(expand(@"),1)
230 | nmap gz CtrlSFPrompt
231 | vmap gz CtrlSFVwordExec
232 |
233 | " Visually select the text that was last edited/pasted
234 | nnoremap gV `[v`]
235 |
236 | " Clear the search highlight
237 | noremap \ :nohlsearch
238 |
239 | " Remove whitespace
240 | noremap CW :%s/\s\+$//
241 |
242 | " Yank/paste contents using an unnamed register
243 | vnoremap y "xy
244 | noremap p "xp
245 |
246 | " Filetypes
247 | " -----------------------------------------------------------------------------
248 | func! Eatchar(pat)
249 | let c = nr2char(getchar(0))
250 | return (c =~ a:pat) ? '' : c
251 | endfunc
252 |
253 | if has("autocmd")
254 | augroup FTOptions
255 | autocmd!
256 | autocmd User Grepper :resize 10
257 | autocmd QuickFixCmdPost *grep* botright copen
258 | autocmd BufNewFile,BufReadPost *.md set filetype=markdown
259 | autocmd FileType markdown,text,txt setlocal tw=80 linebreak nolist wrap spell
260 | autocmd BufNewFile,BufRead COMMIT_EDITMSG setlocal spell
261 | autocmd BufRead,BufNewFile .{babel,eslint}rc set filetype=json
262 | autocmd BufRead,BufNewFile *.{flow} set filetype=javascript
263 | autocmd BufRead,BufNewFile Dangerfile set filetype=ruby
264 | autocmd BufRead,BufNewFile *.{hamlc,slim} set filetype=haml
265 | autocmd BufRead,BufNewFile *.tsx,*.jsx set filetype=typescript.jsx
266 |
267 | " vim-go keybindings
268 | autocmd FileType go nmap r (go-run)
269 | autocmd FileType go nmap b (go-build)
270 | autocmd FileType go nmap t (go-test)
271 | autocmd FileType go nmap c (go-coverage)
272 | autocmd FileType go nmap ds (go-def-split)
273 | autocmd FileType go nmap dv (go-def-vertical)
274 | autocmd FileType go nmap dt (go-def-tab)
275 | autocmd FileType go nmap gd (go-doc)
276 | autocmd FileType go nmap gv (go-doc-vertical)
277 | autocmd FileType go nmap gb (go-doc-browser)
278 | autocmd FileType go nmap s (go-implements)
279 | autocmd FileType go nmap i (go-info)
280 | autocmd FileType go nmap e (go-rename)
281 |
282 | " Abbreviations
283 | autocmd FileType css iabbrev bgc background-color:
284 | autocmd FileType coffee iabbrev cdl console.log()=Eatchar('\s')
285 | autocmd FileType javascript iabbrev cdl console.log()=Eatchar('\s')
286 | autocmd FileType typescript iabbrev cdl console.log()=Eatchar('\s')
287 | augroup END
288 | endif
289 |
290 | " Theme
291 | " -----------------------------------------------------------------------------
292 | colorscheme pigment
293 |
294 | " Load user config
295 | " -----------------------------------------------------------------------------
296 | if filereadable(expand("~/.vimrc.local"))
297 | source ~/.vimrc.local
298 | endif
299 |
--------------------------------------------------------------------------------