Crowdtap dotfile config
Why a common dotfile config?
- To be on the same page
- Unleash TMUX and VIM productivity power
What's inside?
- A solid VIM config
- A solid TMUX config
- Extra dotfiles (ackrc, irbrc, gemrc)
See below for further details
Install
- clone this repository
- cd into the repository
./setup.sh
TMUX config
iTerm Users: You need to set Option / Alt
keys as a meta key in your terminal application.
- iTerm:
Preferences > Profiles > Default > Keys > Left option key acts as
+ Esc
Preferences > Profiles > Default > Keys > Right option key acts as+ Esc
Key Bindings
The following key bindings do not require you to send the prefix keystroke:
Command | Result |
---|---|
Prefix | |
Ctrl + e | Remapped to the Alt button in our config |
Initiation | |
tmux | Starts tmux |
tmux attach | Re-attach to last open session |
tmux attach -t session_name | Attach to specific session |
Termination | |
exit | Kill the current shell |
Alt + d | Detach |
Panes | |
Alt + - | New split vertically |
Alt + | | New split horizontally |
Pane Movement | |
Alt + h | Go to the left pane |
Alt + j | Go to the bottom pane |
Alt + k | Go to the top pane |
Alt + l | Go to the right pane |
Alt + Arrow | Resize pane |
Tabs | |
Alt + c | New tab |
Alt + n | Next tab |
Alt + p | Previous tab |
Sessions | |
Alt + 8 | Choose a session to attach |
Alt + 9 | Cycle left through sessions |
Alt + 0 | Cycle right through sessions |
tmux ls | List tmux sessions |
Copy mode | |
Alt + PageUp | Copy mode and page up |
Alt + u | Copy mode |
Space | Select text |
Return | Copy text and quit |
Alt + i | Paste |
q | Quit copy mode |
VIM config
Plugins
- Molokai - This color scheme makes it pretty and gives you kisses {
💄 =>💋 } - NERDTree - Filesystem explorer - use
^g
to toggle it - Rails.vim - Navigate Rails project easily -
:help rails-navigation
- Fugitive - Deep git integration
- Tabular - Alignment plugin (e.g. =>, |, :, ...)
- NerdCommenter - Comment efficiently single or multiple lines
- QuickFixSigns - Is responsible for these usefull +/- signs on the left side (live diff with git index)
- Syntastic - Syntax checker, yells when you write mistakes
🐴 - Endwise - Adds necessary end to functions and statements in ruby
- Vim-ruby - syntax highlighting for ruby files
- Vim-coffee-script - syntax highlighting for coffee script files
- MiniBufExplorer - interactive buffer list on demand bound on
<leader>l
(also binds ^h,^j,^k,^l to move around windows) - Scss-syntax - Adds SASS syntax highlighting
- Less-css - colors for LESS CSS files
- Supertab - Tab completion
- vim-cucumber-align-pipes - Aligns pipes while you are actually typing them in cucumber features
- screen plugin on Github - screen plugin on vim website - Screen/Tmux integration
- ctrl+p - Fuzzy finder
plugins - under the hood
- Vundle - VIM plugin management
Customization
Please put your custom setting in a .custom.vim
file at the root of the dotfile directory
Cheat sheet
ctrl + p
- Press
<F6>
to purge the cache for the current directory to get new files, remove deleted files and apply new ignore options. - Press
<c-f>
and<c-b>
to cycle between modes. - Press
<c-d>
to switch to filename only search instead of full path. - Press
<c-r>
to switch to regexp mode. - Use
<c-n>
,<c-p>
to select the next/previous string in the prompt's history. - Use
<c-y>
to create a new file and its parent directories. - Use
<c-z>
to mark/unmark multiple files and<c-o>
to open them.
If you need more information, please use :help ctrlp
within vim
Fugitive
These are really good videos showcasing Fugitive functionalities
- #1 - A complement to command line git
- #2 - Fugitive vim working with the git index
- #3 - Resolving merge conflicts with vimdiff
- #4 - Browsing the git object database
- #5 - The history of a git repository
Credits
I would like to thank these guys, this config was largely inspired by their work: