Sen descrición

Weiyi Lou e3a18c2425 Move backup folder to home, create home bin folder %!s(int64=10) %!d(string=hai) anos
ack 0310a09947 add `.ackrc` %!s(int64=12) %!d(string=hai) anos
bin 74c17962a1 Add `ack` binary %!s(int64=10) %!d(string=hai) anos
git 90766b2060 Add vim-plug to repo, Update git ignores %!s(int64=10) %!d(string=hai) anos
homebrew cca4c3d208 add brewfile for setup in new osx environment %!s(int64=12) %!d(string=hai) anos
irssi deebd959da add irssi scripts for nick colors, and nick and window lists %!s(int64=13) %!d(string=hai) anos
powerline 58fdf0de02 Update submodules, remove unnecessary files %!s(int64=10) %!d(string=hai) anos
screen a925c35842 enforce no vbell in screen, remove default windows %!s(int64=12) %!d(string=hai) anos
tmux 58fdf0de02 Update submodules, remove unnecessary files %!s(int64=10) %!d(string=hai) anos
vim d09be9d8d8 Update readme, Comment on vim text objects %!s(int64=10) %!d(string=hai) anos
vimperator 7dd427e47b Change prompt character, show navigation in vimperator %!s(int64=10) %!d(string=hai) anos
zfs 68b95a54d9 add shell script to remove zfs auto-snapshots by volume %!s(int64=12) %!d(string=hai) anos
zsh de878373e5 Fix `glp` not working on Git 1.7.1 %!s(int64=10) %!d(string=hai) anos
.gitignore 808e864267 Add netrw files to gitignore %!s(int64=10) %!d(string=hai) anos
.gitmodules 58fdf0de02 Update submodules, remove unnecessary files %!s(int64=10) %!d(string=hai) anos
README.md d09be9d8d8 Update readme, Comment on vim text objects %!s(int64=10) %!d(string=hai) anos
setup.sh e3a18c2425 Move backup folder to home, create home bin folder %!s(int64=10) %!d(string=hai) anos

README.md

dotfiles

These are configuration files for:

  • Vim (7.4+ or NEOVIM!!)
  • Vimperator (3.8+)
  • Tmux
  • Zsh
  • Other bits and pieces

The configs reflect a heavy preference for vim-like bindings.

Requirements

  • The configs only make sense with at least zsh and vim installed.
  • vim can work with 7.3, but is best with 7.4+ to have all the right patches.
  • tmux uses Powerline, which expects Python 2.6+.

Optional

  • The Solarized dark colour palette makes the zsh prompt nicer.
  • The Meslo font (Menlo, patched for powerline), makes tmux look better, and has Rainbarf graph glyphs.
  • Vim-Plug needs vim to have Python support to perform parallel downloads.
  • The Silver Searcher should be installed where possible. Otherwise, Ack is part of this repo as a fallback (requires Perl 5.8.8).
  • Install Pandoc for vim to generate documents from .pandoc files (Pandoc Markdown).

Set Up

Clone to a user's home folder and run setup.sh while in it:

$ cd ~/dotfiles
$ ./setup.sh

Useful Things

Here are some of the characteristics of how this config is used. The list is not exhaustive: Reading the configs is the only way to really understand what is going on. Dive in, learn, modify. Introspect constantly. See what others do. Enjoy the amount of time wasted on tweaking a setup :D

Zsh

  • Git prompt tries to reflect the actual file state, not just hint at change types.
  • Mostly-Mnemonic Git shortcuts. Go learn Git.
  • SSH agent forwarding persists through tmux/sudo when remotes also use these dotfiles. (Be a one-private-key kind of person.)
  • A .zshlocal file can contain machine-specific settings.
  • z folder jumping enabled, e.g. z regex = cd /path/with/regex.

Vim

Space is the <leader>.

  • <leader>d is the filebrowser (netrw).
  • <leader>p fuzzy-finds files. Best in Git repositories.
  • <leader>f fuzzy-finds functions in the current file.
  • <leader>t opens a function/variable list for the current file.
  • <leader>n toggles line numbers.
  • <leader>w saves.
  • <leader>q closes files.
  • Additional text objects exist (see 'Text Objects' in plugins.vim).
  • Saving .pandoc files also outputs .docx versions.
  • Activate :Goyo for distraction-free writing.
  • Don't forget to invoke :call UltraPower().

Tmux

Ctrl-a is the Prefix. PrefixHold = Hold down Ctrl during that binding.

  • Prefix + vi motion moves around panes.
  • PrefixHold + vi motion moves around windows.
  • Alt/Meta + number moves to window number (1-10).
  • Ctrl-minus cuts a pane horizontally (think -),
  • Ctrl-\ cuts a pane vertically (think |).
  • Prefix + s starts synchronized panes.
  • PrefixHold + s swaps between sessions.
  • Mouse support works to select/resize panes/windows.

Vimperator

Apart from all the default vimperator goodness e.g.

  • / searches like vim.
  • f and F follow links on this tab/in a new tab.
  • et cetera...

This config provides the following:

  • h and l move left and right between tabs.
  • j and k half-pages down and up (<C-d>/<C-u> equivalents).
  • H, J, K, L are small motions (5 lines or chars) within a page.
  • <C-h> and <C-l> relocate a tab left and right.

Issues

ZSH is slow in OS X Mavericks!

Check if the slowness occurs in Git repositories. If it does, this is because of the Apple-provided version of Git. Install Git through homebrew.

More info: stackexchange