diff --git a/tmux.conf b/tmux.conf index 3c43768..4cce47f 100644 --- a/tmux.conf +++ b/tmux.conf @@ -17,6 +17,29 @@ unbind C-b set -g prefix C-a bind C-a send-prefix +# splitting panes +bind v split-window -h +bind s split-window -v + +# moving between panes +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +bind l select-pane -R + +# Pane resizing +bind -r H resize-pane -L 5 +bind -r J resize-pane -D 5 +bind -r K resize-pane -U 5 +bind -r L resize-pane -R 5 + +# Smart pane switching with awareness of vim splits +bind -n C-h run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)g?(view|n?vim?)(diff)?$' && tmux send-keys C-h) || tmux select-pane -L" +bind -n C-j run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)g?(view|n?vim?)(diff)?$' && tmux send-keys C-j) || tmux select-pane -D" +bind -n C-k run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)g?(view|n?vim?)(diff)?$' && tmux send-keys C-k) || tmux select-pane -U" +bind -n C-l run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)g?(view|n?vim?)(diff)?$' && tmux send-keys C-l) || tmux select-pane -R" +bind -n C-\ run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)g?(view|n?vim?)(diff)?$' && tmux send-keys 'C-\\') || tmux select-pane -l" + # status bar config set -g status-left "#h:[#S]" set -g status-left-length 50 @@ -29,8 +52,11 @@ set-window-option -g automatic-rename off # listen to alerts from all windows set -g bell-action any -# sessions -# bind Y source-file ~/.tmux/work +# mouse support +set -g mode-mouse on +set -g mouse-resize-pane on +set -g mouse-select-pane on +set -g mouse-select-window on # This tmux statusbar config was created by tmuxline.vim # on Mon, 15 Dec 2014 diff --git a/vimrc b/vimrc index 1612e80..10ded67 100644 --- a/vimrc +++ b/vimrc @@ -27,6 +27,8 @@ NeoBundle 'surround.vim' NeoBundle 'SirVer/ultisnips' NeoBundle 'honza/vim-snippets' +NeoBundle 'sjl/gundo.vim' + NeoBundle 'editorconfig/editorconfig-vim' NeoBundle 'sheerun/vim-polyglot' @@ -38,6 +40,8 @@ NeoBundle 'airblade/vim-gitgutter' NeoBundle 'rking/ag.vim' +NeoBundle 'christoomey/vim-tmux-navigator' + NeoBundle 'vim-airline' NeoBundle 'chriskempson/base16-vim' @@ -70,14 +74,6 @@ set fileencodings=utf-8 "" Unleash all VIM power set nocompatible -"" Fix backspace indent -set backspace=indent,eol,start - -"" allow plugins by file type -filetype on -filetype plugin on -filetype indent on - "" Tabs. May be overriten by autocmd rules set tabstop=4 set softtabstop=0 @@ -107,6 +103,7 @@ set showcmd "" Mouse set mouse=a +set ttymouse=urxvt " " Visual Settings @@ -179,6 +176,14 @@ nmap gy ggVGy nnoremap j gj nnoremap k gk +" Easier split navigation + +" Use ctrl-[hjkl] to select the active split! +nmap :wincmd k +nmap :wincmd j +nmap :wincmd h +nmap :wincmd l + "" fast window switching map , w @@ -299,6 +304,9 @@ set autoread au BufNewFile,BufRead *.txt set filetype=human au FileType human,mail,tex set wrap wm=2 textwidth=78 nocindent spell +"" Markdown +au FileType markdown set spell + "" Python au FileType python set noexpandtab diff --git a/zshrc b/zshrc index 8232ef5..d2d9f54 100644 --- a/zshrc +++ b/zshrc @@ -2,7 +2,7 @@ export ZSH=$HOME/.oh-my-zsh ZSH_THEME="pygmalion" -plugins=(bower gitfast git-extras node npm pass screen vi-mode) +plugins=(bower gitfast git-extras node npm pass screen vi-mode tmux) case $(hostname) in t430s-arch|pi)