2015년(정도에 좋음) tmux 환경 설정 정리
17179 단어 ShellScripttmux쉘리눅스dotfiles
기본적으로 리눅스에서 사용을 가정합니다.
[참고] 사용시의 외형
tmux 빌드
적어도 tmux 2.1 이상은 원하기 때문에 소스로부터 빌드를 실시하고 있습니다.
빌드에 대해서는 아래 문서를 참조하십시오.
TMUX의 최신 소스에서 빌드 - Qiita
2015년 12월 현재 .tmux.conf
처음에도 썼습니다만, 기본적으로 Linux에서의 사용을 상정하고 있으므로,
clipboard 당은 적절히 수정하십시오.
.tmux.conf# change prefix key to C-j
unbind C-b
set -g prefix C-j
# 設定ファイルをリロードする
bind r source-file ~/.tmux.conf \; display "Reloaded!"
# fix Esc key delay time for Vim
set -sg escape-time 0
# ウィンドウ分割後もカレントディレクトリに留まる
if-shell "~/dotfiles/bin/tmux-version-check 1.9" '\
bind c new-window -c "#{pane_current_path}";\
bind | split-window -h -c "#{pane_current_path}";\
bind - split-window -v -c "#{pane_current_path}";\
'
# ウィンドウを閉じた時に番号を詰める
if-shell "~/dotfiles/bin/tmux-version-check 1.7" '\
set-option -g renumber-windows on; \
'
# ステータスバーを上部に表示する
if-shell "~/dotfiles/bin/tmux-version-check 1.7" '\
set -g status-position top; \
'
# マウス操作を有効にする
if-shell "~/dotfiles/bin/tmux-version-check 2.0" '\
set -g mouse on; \
'
# コピーモードを設定する
## viのキーバインドを使用する
setw -g mode-keys vi
## コピーモードの操作をvim風に設定する
bind-key -t vi-copy C-v begin-selection
unbind -t vi-copy Enter
## copy to clipboard
### for Linux
if-shell "which xsel" '\
bind-key -t vi-copy y copy-pipe "xsel -ib"; \
bind-key -t vi-copy Enter copy-pipe "xsel -ib"; \
'
# Vimのキーバインドでペインを移動する
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind -r C-h select-window -t :-
bind -r C-l select-window -t :+
# Vimのキーバインドでペインをリサイズする
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
## リフレッシュの間隔を設定する(デフォルト 15秒)
set -g status-interval 1
## ウィンドウリストの位置を左寄せにする
set -g status-justify left
## ヴィジュアルノーティフィケーションを有効にする
setw -g monitor-activity on
set -g visual-activity on
# ステータスバーを設定する
set-window-option -g allow-rename off
set-window-option -g window-status-current-format "#[fg=colour255,bg=colour241,bold] #I: #W #[default]"
## 左パネルを設定する
set -g status-left-length 50
set -g status-left \
"#{?client_prefix,#[reverse],}#[fg=green][#S:#I.#P]#[fg=yellow][#(whoami)@#h] "
## 右パネルを設定する
set -g status-right-length 80
set -g status-right \
"#{?client_prefix,#[reverse],}"\
"#[fg=green]#(${HOME}/dotfiles/bin/git-echo-branch-tmux-current-pane)"\
"#[fg=yellow]#(${HOME}/dotfiles/bin/git-echo-username-and-email)"\
"#[fg=cyan][%Y-%m-%d(%a) %H:%M]"
#### COLOUR (Solarized dark)
#### cf: https://github.com/altercation/solarized/blob/master/tmux/tmuxcolors-dark.conf
# default statusbar colors
set-option -g status-bg black #base02
set-option -g status-fg yellow #yellow
set-option -g status-attr default
# default window title colors
set-window-option -g window-status-fg brightblue #base0
set-window-option -g window-status-bg default
#set-window-option -g window-status-attr dim
# active window title colors
set-window-option -g window-status-current-fg brightred #orange
set-window-option -g window-status-current-bg default
#set-window-option -g window-status-current-attr bright
# pane border
set-option -g pane-border-fg black #base02
set-option -g pane-active-border-fg brightgreen #base01
# message text
set-option -g message-bg black #base02
set-option -g message-fg brightred #orange
# pane number display
set-option -g display-panes-active-colour blue #blue
set-option -g display-panes-colour brightred #orange
# clock
set-window-option -g clock-mode-colour green #green
dotfiles/tmux.conf at master · koara-local/dotfiles
이하 상세한 설명
prefix key (C-j)
좋아한다고 생각합니다만, 자신은 bash 와 vim 에 경합하지 않는다 C-j
를 사용하도록(듯이) 하고 있습니다.
버전 체크
버전 업에서의 새로운 기능의 추가나, 후방 호환성이 잘린 옵션도 있거나 하기 때문에 버전 체크를 실시할 수 있도록 하고 있습니다. 자신은 ~/dotfiles/bin
이하에 버전 체크용의 스크립트를 배치하고 있습니다.
tmux-version-check#!/bin/bash
need_version=$1
current_version=$(tmux -V | awk '{print $2}')
[[ $(echo "$current_version > $need_version" | bc) != 0 ]]
dotfiles/tmux-version-check at 6806cf3d03bed5b8a59549709473dfec40b2e637 · koara-local/dotfiles
복사 모드 설정 (+ vim 키 바인딩 사용)
vim에 너무 익숙해져, hjkl이 아니면 위화감이 있으므로 vi 모드를 설정하고 있습니다.
# コピーモードを設定する
## viのキーバインドを使用する
setw -g mode-keys vi
## コピーモードの操作をvim風に設定する
bind-key -t vi-copy C-v begin-selection
unbind -t vi-copy Enter
# Vimのキーバインドでペインを移動する
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind -r C-h select-window -t :-
bind -r C-l select-window -t :+
# Vimのキーバインドでペインをリサイズする
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
그리고 복사 모드에서 복사한 문자를 다른 앱에서도 사용할 수 있도록 합니다.
Linux의 경우 xsel
가 필요합니다. 다른 환경은 조사하면 곧 나오므로 생략합니다.
## copy to clipboard
### for Linux
if-shell "which xsel" '\
bind-key -t vi-copy y copy-pipe "xsel -ib"; \
bind-key -t vi-copy Enter copy-pipe "xsel -ib"; \
'
[Linux] 명령줄의 표준 출력을 클립보드에 복사 - Qiita
새로 고침 간격 설정
상태바에 여러가지 표시하기 위해, 갱신 주기를 1초로 변경하고 있습니다.
디폴트는 15초이므로, 그대로라면 조금 반응이 느립니다.
## リフレッシュの間隔を設定する(デフォルト 15秒)
set -g status-interval 1
Git의 정보를 상태 표시 줄에 표시 (브랜치 이름, user.name, user.email 표시)
상태 표시 줄에 git 정보를 표시하는 것이 유용합니다.tmux display-message -p -F "#{pane_current_path}
를 사용하면 현재 창에서 현재 디렉토리의 경로를 얻을 수 있습니다.
그리고는 표시하고 싶은 정보를 취득해 echo로 돌려주면 좋다고 생각합니다.
## 右パネルを設定する
set -g status-right-length 80
set -g status-right \
"#{?client_prefix,#[reverse],}"\
"#[fg=green]#(${HOME}/dotfiles/bin/git-echo-branch-tmux-current-pane)"\
"#[fg=yellow]#(${HOME}/dotfiles/bin/git-echo-username-and-email)"\
"#[fg=cyan][%Y-%m-%d(%a) %H:%M]"
git-echo-branch-tmux-current-pane#!/bin/bash -e
cd `tmux display-message -p -F "#{pane_current_path}"`
branch_name=`git branch | grep \*.* | sed -e 's/\*\ //'`
[ ! -z ${branch_name} ] && echo "[${branch_name}]"
git-echo-username-and-email#!/bin/bash -e
cd `tmux display-message -p -F "#{pane_current_path}"`
user_name=`git config --get user.name`
email_address=`git config --get user.email`
echo "[${user_name} | ${email_address}]"
접두어 키가 눌려진 것을 알기 쉽게 한다.
?client_prefix
에서 접두사 키를 눌렀는지 확인하여 상태 표시 줄의 색상을 변경합니다.
tmux에서 Prefix key를 눌렀는지 여부 표시 - Qiita
색 구성표 변경
기본 녹색도 맛이 좋지만 자신이 solarized로 변경하고 있습니다.
#### COLOUR (Solarized dark)
#### cf: https://github.com/altercation/solarized/blob/master/tmux/tmuxcolors-dark.conf
# default statusbar colors
set-option -g status-bg black #base02
set-option -g status-fg yellow #yellow
set-option -g status-attr default
# default window title colors
set-window-option -g window-status-fg brightblue #base0
set-window-option -g window-status-bg default
#set-window-option -g window-status-attr dim
# active window title colors
set-window-option -g window-status-current-fg brightred #orange
set-window-option -g window-status-current-bg default
#set-window-option -g window-status-current-attr bright
# pane border
set-option -g pane-border-fg black #base02
set-option -g pane-active-border-fg brightgreen #base01
# message text
set-option -g message-bg black #base02
set-option -g message-fg brightred #orange
# pane number display
set-option -g display-panes-active-colour blue #blue
set-option -g display-panes-colour brightred #orange
# clock
set-window-option -g clock-mode-colour green #green
기타 dotfiles
최신의 tmux.conf나 다른 설정은 dotfiles
에 정리하고 있으므로, 괜찮으시면 부디.
Reference
이 문제에 관하여(2015년(정도에 좋음) tmux 환경 설정 정리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/koara-local/items/940ce66e2ecd8e4d8582
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
적어도 tmux 2.1 이상은 원하기 때문에 소스로부터 빌드를 실시하고 있습니다.
빌드에 대해서는 아래 문서를 참조하십시오.
TMUX의 최신 소스에서 빌드 - Qiita
2015년 12월 현재 .tmux.conf
처음에도 썼습니다만, 기본적으로 Linux에서의 사용을 상정하고 있으므로,
clipboard 당은 적절히 수정하십시오.
.tmux.conf# change prefix key to C-j
unbind C-b
set -g prefix C-j
# 設定ファイルをリロードする
bind r source-file ~/.tmux.conf \; display "Reloaded!"
# fix Esc key delay time for Vim
set -sg escape-time 0
# ウィンドウ分割後もカレントディレクトリに留まる
if-shell "~/dotfiles/bin/tmux-version-check 1.9" '\
bind c new-window -c "#{pane_current_path}";\
bind | split-window -h -c "#{pane_current_path}";\
bind - split-window -v -c "#{pane_current_path}";\
'
# ウィンドウを閉じた時に番号を詰める
if-shell "~/dotfiles/bin/tmux-version-check 1.7" '\
set-option -g renumber-windows on; \
'
# ステータスバーを上部に表示する
if-shell "~/dotfiles/bin/tmux-version-check 1.7" '\
set -g status-position top; \
'
# マウス操作を有効にする
if-shell "~/dotfiles/bin/tmux-version-check 2.0" '\
set -g mouse on; \
'
# コピーモードを設定する
## viのキーバインドを使用する
setw -g mode-keys vi
## コピーモードの操作をvim風に設定する
bind-key -t vi-copy C-v begin-selection
unbind -t vi-copy Enter
## copy to clipboard
### for Linux
if-shell "which xsel" '\
bind-key -t vi-copy y copy-pipe "xsel -ib"; \
bind-key -t vi-copy Enter copy-pipe "xsel -ib"; \
'
# Vimのキーバインドでペインを移動する
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind -r C-h select-window -t :-
bind -r C-l select-window -t :+
# Vimのキーバインドでペインをリサイズする
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
## リフレッシュの間隔を設定する(デフォルト 15秒)
set -g status-interval 1
## ウィンドウリストの位置を左寄せにする
set -g status-justify left
## ヴィジュアルノーティフィケーションを有効にする
setw -g monitor-activity on
set -g visual-activity on
# ステータスバーを設定する
set-window-option -g allow-rename off
set-window-option -g window-status-current-format "#[fg=colour255,bg=colour241,bold] #I: #W #[default]"
## 左パネルを設定する
set -g status-left-length 50
set -g status-left \
"#{?client_prefix,#[reverse],}#[fg=green][#S:#I.#P]#[fg=yellow][#(whoami)@#h] "
## 右パネルを設定する
set -g status-right-length 80
set -g status-right \
"#{?client_prefix,#[reverse],}"\
"#[fg=green]#(${HOME}/dotfiles/bin/git-echo-branch-tmux-current-pane)"\
"#[fg=yellow]#(${HOME}/dotfiles/bin/git-echo-username-and-email)"\
"#[fg=cyan][%Y-%m-%d(%a) %H:%M]"
#### COLOUR (Solarized dark)
#### cf: https://github.com/altercation/solarized/blob/master/tmux/tmuxcolors-dark.conf
# default statusbar colors
set-option -g status-bg black #base02
set-option -g status-fg yellow #yellow
set-option -g status-attr default
# default window title colors
set-window-option -g window-status-fg brightblue #base0
set-window-option -g window-status-bg default
#set-window-option -g window-status-attr dim
# active window title colors
set-window-option -g window-status-current-fg brightred #orange
set-window-option -g window-status-current-bg default
#set-window-option -g window-status-current-attr bright
# pane border
set-option -g pane-border-fg black #base02
set-option -g pane-active-border-fg brightgreen #base01
# message text
set-option -g message-bg black #base02
set-option -g message-fg brightred #orange
# pane number display
set-option -g display-panes-active-colour blue #blue
set-option -g display-panes-colour brightred #orange
# clock
set-window-option -g clock-mode-colour green #green
dotfiles/tmux.conf at master · koara-local/dotfiles
이하 상세한 설명
prefix key (C-j)
좋아한다고 생각합니다만, 자신은 bash 와 vim 에 경합하지 않는다 C-j
를 사용하도록(듯이) 하고 있습니다.
버전 체크
버전 업에서의 새로운 기능의 추가나, 후방 호환성이 잘린 옵션도 있거나 하기 때문에 버전 체크를 실시할 수 있도록 하고 있습니다. 자신은 ~/dotfiles/bin
이하에 버전 체크용의 스크립트를 배치하고 있습니다.
tmux-version-check#!/bin/bash
need_version=$1
current_version=$(tmux -V | awk '{print $2}')
[[ $(echo "$current_version > $need_version" | bc) != 0 ]]
dotfiles/tmux-version-check at 6806cf3d03bed5b8a59549709473dfec40b2e637 · koara-local/dotfiles
복사 모드 설정 (+ vim 키 바인딩 사용)
vim에 너무 익숙해져, hjkl이 아니면 위화감이 있으므로 vi 모드를 설정하고 있습니다.
# コピーモードを設定する
## viのキーバインドを使用する
setw -g mode-keys vi
## コピーモードの操作をvim風に設定する
bind-key -t vi-copy C-v begin-selection
unbind -t vi-copy Enter
# Vimのキーバインドでペインを移動する
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind -r C-h select-window -t :-
bind -r C-l select-window -t :+
# Vimのキーバインドでペインをリサイズする
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
그리고 복사 모드에서 복사한 문자를 다른 앱에서도 사용할 수 있도록 합니다.
Linux의 경우 xsel
가 필요합니다. 다른 환경은 조사하면 곧 나오므로 생략합니다.
## copy to clipboard
### for Linux
if-shell "which xsel" '\
bind-key -t vi-copy y copy-pipe "xsel -ib"; \
bind-key -t vi-copy Enter copy-pipe "xsel -ib"; \
'
[Linux] 명령줄의 표준 출력을 클립보드에 복사 - Qiita
새로 고침 간격 설정
상태바에 여러가지 표시하기 위해, 갱신 주기를 1초로 변경하고 있습니다.
디폴트는 15초이므로, 그대로라면 조금 반응이 느립니다.
## リフレッシュの間隔を設定する(デフォルト 15秒)
set -g status-interval 1
Git의 정보를 상태 표시 줄에 표시 (브랜치 이름, user.name, user.email 표시)
상태 표시 줄에 git 정보를 표시하는 것이 유용합니다.tmux display-message -p -F "#{pane_current_path}
를 사용하면 현재 창에서 현재 디렉토리의 경로를 얻을 수 있습니다.
그리고는 표시하고 싶은 정보를 취득해 echo로 돌려주면 좋다고 생각합니다.
## 右パネルを設定する
set -g status-right-length 80
set -g status-right \
"#{?client_prefix,#[reverse],}"\
"#[fg=green]#(${HOME}/dotfiles/bin/git-echo-branch-tmux-current-pane)"\
"#[fg=yellow]#(${HOME}/dotfiles/bin/git-echo-username-and-email)"\
"#[fg=cyan][%Y-%m-%d(%a) %H:%M]"
git-echo-branch-tmux-current-pane#!/bin/bash -e
cd `tmux display-message -p -F "#{pane_current_path}"`
branch_name=`git branch | grep \*.* | sed -e 's/\*\ //'`
[ ! -z ${branch_name} ] && echo "[${branch_name}]"
git-echo-username-and-email#!/bin/bash -e
cd `tmux display-message -p -F "#{pane_current_path}"`
user_name=`git config --get user.name`
email_address=`git config --get user.email`
echo "[${user_name} | ${email_address}]"
접두어 키가 눌려진 것을 알기 쉽게 한다.
?client_prefix
에서 접두사 키를 눌렀는지 확인하여 상태 표시 줄의 색상을 변경합니다.
tmux에서 Prefix key를 눌렀는지 여부 표시 - Qiita
색 구성표 변경
기본 녹색도 맛이 좋지만 자신이 solarized로 변경하고 있습니다.
#### COLOUR (Solarized dark)
#### cf: https://github.com/altercation/solarized/blob/master/tmux/tmuxcolors-dark.conf
# default statusbar colors
set-option -g status-bg black #base02
set-option -g status-fg yellow #yellow
set-option -g status-attr default
# default window title colors
set-window-option -g window-status-fg brightblue #base0
set-window-option -g window-status-bg default
#set-window-option -g window-status-attr dim
# active window title colors
set-window-option -g window-status-current-fg brightred #orange
set-window-option -g window-status-current-bg default
#set-window-option -g window-status-current-attr bright
# pane border
set-option -g pane-border-fg black #base02
set-option -g pane-active-border-fg brightgreen #base01
# message text
set-option -g message-bg black #base02
set-option -g message-fg brightred #orange
# pane number display
set-option -g display-panes-active-colour blue #blue
set-option -g display-panes-colour brightred #orange
# clock
set-window-option -g clock-mode-colour green #green
기타 dotfiles
최신의 tmux.conf나 다른 설정은 dotfiles
에 정리하고 있으므로, 괜찮으시면 부디.
Reference
이 문제에 관하여(2015년(정도에 좋음) tmux 환경 설정 정리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/koara-local/items/940ce66e2ecd8e4d8582
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# change prefix key to C-j
unbind C-b
set -g prefix C-j
# 設定ファイルをリロードする
bind r source-file ~/.tmux.conf \; display "Reloaded!"
# fix Esc key delay time for Vim
set -sg escape-time 0
# ウィンドウ分割後もカレントディレクトリに留まる
if-shell "~/dotfiles/bin/tmux-version-check 1.9" '\
bind c new-window -c "#{pane_current_path}";\
bind | split-window -h -c "#{pane_current_path}";\
bind - split-window -v -c "#{pane_current_path}";\
'
# ウィンドウを閉じた時に番号を詰める
if-shell "~/dotfiles/bin/tmux-version-check 1.7" '\
set-option -g renumber-windows on; \
'
# ステータスバーを上部に表示する
if-shell "~/dotfiles/bin/tmux-version-check 1.7" '\
set -g status-position top; \
'
# マウス操作を有効にする
if-shell "~/dotfiles/bin/tmux-version-check 2.0" '\
set -g mouse on; \
'
# コピーモードを設定する
## viのキーバインドを使用する
setw -g mode-keys vi
## コピーモードの操作をvim風に設定する
bind-key -t vi-copy C-v begin-selection
unbind -t vi-copy Enter
## copy to clipboard
### for Linux
if-shell "which xsel" '\
bind-key -t vi-copy y copy-pipe "xsel -ib"; \
bind-key -t vi-copy Enter copy-pipe "xsel -ib"; \
'
# Vimのキーバインドでペインを移動する
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind -r C-h select-window -t :-
bind -r C-l select-window -t :+
# Vimのキーバインドでペインをリサイズする
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
## リフレッシュの間隔を設定する(デフォルト 15秒)
set -g status-interval 1
## ウィンドウリストの位置を左寄せにする
set -g status-justify left
## ヴィジュアルノーティフィケーションを有効にする
setw -g monitor-activity on
set -g visual-activity on
# ステータスバーを設定する
set-window-option -g allow-rename off
set-window-option -g window-status-current-format "#[fg=colour255,bg=colour241,bold] #I: #W #[default]"
## 左パネルを設定する
set -g status-left-length 50
set -g status-left \
"#{?client_prefix,#[reverse],}#[fg=green][#S:#I.#P]#[fg=yellow][#(whoami)@#h] "
## 右パネルを設定する
set -g status-right-length 80
set -g status-right \
"#{?client_prefix,#[reverse],}"\
"#[fg=green]#(${HOME}/dotfiles/bin/git-echo-branch-tmux-current-pane)"\
"#[fg=yellow]#(${HOME}/dotfiles/bin/git-echo-username-and-email)"\
"#[fg=cyan][%Y-%m-%d(%a) %H:%M]"
#### COLOUR (Solarized dark)
#### cf: https://github.com/altercation/solarized/blob/master/tmux/tmuxcolors-dark.conf
# default statusbar colors
set-option -g status-bg black #base02
set-option -g status-fg yellow #yellow
set-option -g status-attr default
# default window title colors
set-window-option -g window-status-fg brightblue #base0
set-window-option -g window-status-bg default
#set-window-option -g window-status-attr dim
# active window title colors
set-window-option -g window-status-current-fg brightred #orange
set-window-option -g window-status-current-bg default
#set-window-option -g window-status-current-attr bright
# pane border
set-option -g pane-border-fg black #base02
set-option -g pane-active-border-fg brightgreen #base01
# message text
set-option -g message-bg black #base02
set-option -g message-fg brightred #orange
# pane number display
set-option -g display-panes-active-colour blue #blue
set-option -g display-panes-colour brightred #orange
# clock
set-window-option -g clock-mode-colour green #green
prefix key (C-j)
좋아한다고 생각합니다만, 자신은 bash 와 vim 에 경합하지 않는다
C-j
를 사용하도록(듯이) 하고 있습니다.버전 체크
버전 업에서의 새로운 기능의 추가나, 후방 호환성이 잘린 옵션도 있거나 하기 때문에 버전 체크를 실시할 수 있도록 하고 있습니다. 자신은
~/dotfiles/bin
이하에 버전 체크용의 스크립트를 배치하고 있습니다.tmux-version-check
#!/bin/bash
need_version=$1
current_version=$(tmux -V | awk '{print $2}')
[[ $(echo "$current_version > $need_version" | bc) != 0 ]]
dotfiles/tmux-version-check at 6806cf3d03bed5b8a59549709473dfec40b2e637 · koara-local/dotfiles
복사 모드 설정 (+ vim 키 바인딩 사용)
vim에 너무 익숙해져, hjkl이 아니면 위화감이 있으므로 vi 모드를 설정하고 있습니다.
# コピーモードを設定する
## viのキーバインドを使用する
setw -g mode-keys vi
## コピーモードの操作をvim風に設定する
bind-key -t vi-copy C-v begin-selection
unbind -t vi-copy Enter
# Vimのキーバインドでペインを移動する
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind -r C-h select-window -t :-
bind -r C-l select-window -t :+
# Vimのキーバインドでペインをリサイズする
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
그리고 복사 모드에서 복사한 문자를 다른 앱에서도 사용할 수 있도록 합니다.
Linux의 경우
xsel
가 필요합니다. 다른 환경은 조사하면 곧 나오므로 생략합니다.## copy to clipboard
### for Linux
if-shell "which xsel" '\
bind-key -t vi-copy y copy-pipe "xsel -ib"; \
bind-key -t vi-copy Enter copy-pipe "xsel -ib"; \
'
[Linux] 명령줄의 표준 출력을 클립보드에 복사 - Qiita
새로 고침 간격 설정
상태바에 여러가지 표시하기 위해, 갱신 주기를 1초로 변경하고 있습니다.
디폴트는 15초이므로, 그대로라면 조금 반응이 느립니다.
## リフレッシュの間隔を設定する(デフォルト 15秒)
set -g status-interval 1
Git의 정보를 상태 표시 줄에 표시 (브랜치 이름, user.name, user.email 표시)
상태 표시 줄에 git 정보를 표시하는 것이 유용합니다.
tmux display-message -p -F "#{pane_current_path}
를 사용하면 현재 창에서 현재 디렉토리의 경로를 얻을 수 있습니다.그리고는 표시하고 싶은 정보를 취득해 echo로 돌려주면 좋다고 생각합니다.
## 右パネルを設定する
set -g status-right-length 80
set -g status-right \
"#{?client_prefix,#[reverse],}"\
"#[fg=green]#(${HOME}/dotfiles/bin/git-echo-branch-tmux-current-pane)"\
"#[fg=yellow]#(${HOME}/dotfiles/bin/git-echo-username-and-email)"\
"#[fg=cyan][%Y-%m-%d(%a) %H:%M]"
git-echo-branch-tmux-current-pane
#!/bin/bash -e
cd `tmux display-message -p -F "#{pane_current_path}"`
branch_name=`git branch | grep \*.* | sed -e 's/\*\ //'`
[ ! -z ${branch_name} ] && echo "[${branch_name}]"
git-echo-username-and-email
#!/bin/bash -e
cd `tmux display-message -p -F "#{pane_current_path}"`
user_name=`git config --get user.name`
email_address=`git config --get user.email`
echo "[${user_name} | ${email_address}]"
접두어 키가 눌려진 것을 알기 쉽게 한다.
?client_prefix
에서 접두사 키를 눌렀는지 확인하여 상태 표시 줄의 색상을 변경합니다.tmux에서 Prefix key를 눌렀는지 여부 표시 - Qiita
색 구성표 변경
기본 녹색도 맛이 좋지만 자신이 solarized로 변경하고 있습니다.
#### COLOUR (Solarized dark)
#### cf: https://github.com/altercation/solarized/blob/master/tmux/tmuxcolors-dark.conf
# default statusbar colors
set-option -g status-bg black #base02
set-option -g status-fg yellow #yellow
set-option -g status-attr default
# default window title colors
set-window-option -g window-status-fg brightblue #base0
set-window-option -g window-status-bg default
#set-window-option -g window-status-attr dim
# active window title colors
set-window-option -g window-status-current-fg brightred #orange
set-window-option -g window-status-current-bg default
#set-window-option -g window-status-current-attr bright
# pane border
set-option -g pane-border-fg black #base02
set-option -g pane-active-border-fg brightgreen #base01
# message text
set-option -g message-bg black #base02
set-option -g message-fg brightred #orange
# pane number display
set-option -g display-panes-active-colour blue #blue
set-option -g display-panes-colour brightred #orange
# clock
set-window-option -g clock-mode-colour green #green
기타 dotfiles
최신의 tmux.conf나 다른 설정은 dotfiles
에 정리하고 있으므로, 괜찮으시면 부디.
Reference
이 문제에 관하여(2015년(정도에 좋음) tmux 환경 설정 정리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/koara-local/items/940ce66e2ecd8e4d8582
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(2015년(정도에 좋음) tmux 환경 설정 정리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/koara-local/items/940ce66e2ecd8e4d8582텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)