annotate tmux.conf @ 7:4f1add3c7606

Make tmux act like vim
author zegervdv <zegervdv@me.com>
date Sun, 23 Feb 2014 18:32:49 +0100
parents 36a9b3a28861
children aeb4af7c7fb6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
1 # $Id: vim-keys.conf,v 1.2 2010-09-18 09:36:15 nicm Exp $
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
2 #
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
3 # vim-keys.conf, v1.2 2010/09/12
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
4 #
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
5 # By Daniel Thau. Public domain.
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
6 #
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
7 # This configuration file binds many vi- and vim-like bindings to the
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
8 # appropriate tmux key bindings. Note that for many key bindings there is no
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
9 # tmux analogue. This is intended for tmux 1.3, which handles pane selection
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
10 # differently from the previous versions
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
11
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
12 # split windows like vim
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
13 # vim's definition of a horizontal/vertical split is reversed from tmux's
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
14 bind s split-window -v
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
15 bind v split-window -h
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
16
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
17 # move around panes with hjkl, as one would in vim after pressing ctrl-w
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
18 bind h select-pane -L
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
19 bind j select-pane -D
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
20 bind k select-pane -U
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
21 bind l select-pane -R
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
22
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
23 # resize panes like vim
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
24 # feel free to change the "1" to however many lines you want to resize by, only
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
25 # one at a time can be slow
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
26 bind < resize-pane -L 1
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
27 bind > resize-pane -R 1
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
28 bind - resize-pane -D 1
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
29 bind + resize-pane -U 1
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
30
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
31 # bind : to command-prompt like vim
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
32 # this is the default in tmux already
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
33 bind : command-prompt
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
34
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
35 # vi-style controls for copy mode
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
36 setw -g mode-keys vi
4f1add3c7606 Make tmux act like vim
zegervdv <zegervdv@me.com>
parents: 0
diff changeset
37
0
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
38 set -g prefix C-a
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
39 unbind C-b
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
40 bind C-a send-prefix
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
41
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
42 set -g default-terminal "screen-256color"
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
43
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
44
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
45 bind -t vi-copy 'v' begin-selection
36a9b3a28861 Add all dotfiles
zegervdv <zegervdv@me.com>
parents:
diff changeset
46 bind -t vi-copy 'y' copy-pipe "reattach-to-user-namespace pbcopy"