【tmux】プラグインを使ってみる

2021.10.26
2024.03.24
開発環境
tmux

はじめに

tmuxでのプラグインの導入方法と参考用に現在利用しているプラグインとその設定を紹介したいと思います。

tmuxの基礎的な部分は下記で解説しています。

【入門】tmux始めてみる

【入門】tmux始めてみる

はじめに tmuxについて、**基本的なことを理解して使えるようになるまで**を解説していこうと

tmuxのプラグイン管理

tmuxではプラグインを利用することで見た目や操作方法をカスタマイズしやすくなります。

tpm(Tmux Plugin Manager)を利用することで、プラグインの管理がしやすくなります。tmuxでプラグインを利用する場合はまずtpmを導入するところから始まります。

tpm(Tmux Plugin Manager)の導入

まずはtpmをgithubからクローンします。

1git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

tpmを利用するには.tmux.confで以下のように記述します。

1# List of plugins
2set -g @plugin 'tmux-plugins/tpm'
3set -g @plugin 'tmux-plugins/tmux-sensible'
4
5# tpmの初期化(tmux.confの下の方に記述する)
6run '~/.tmux/plugins/tpm/tpm'

.tmux.confを変更したので読み込みます。

1tmux source ~/.tmux.conf

これでプラグインを追加する準備はできました。

プラグインの追加

具体例として、以下のプラグインを追加してみます。

GitHub - tmux-plugins/tmux-pain-control: standard pane key-bindings for tmux

GitHub - tmux-plugins/tmux-pain-control: standard pane key-bindings for tmux

standard pane key-bindings for tmux. Contribute to tmux-plugins/tmux-pain-control development by creating an account on GitHub.

まずは.tmux.confにプラグインを追加します。

1# List of plugins
2set -g @plugin 'tmux-plugins/tpm'
3set -g @plugin 'tmux-plugins/tmux-sensible'
4
5# プラグインを追加
6set -g @plugin 'tmux-plugins/tmux-pain-control'
7
8# tpmの初期化(tmux.confの下の方に記述する)
9run '~/.tmux/plugins/tpm/tpm'

.tmux.confを変更したら、prefix + Iでプラグインの取得できます。

便利そうなプラグインは以下でまとめられているので、参照してください。

GitHub - rothgar/awesome-tmux: A list of awesome resources for tmux

GitHub - rothgar/awesome-tmux: A list of awesome resources for tmux

A list of awesome resources for tmux. Contribute to rothgar/awesome-tmux development by creating an account on GitHub.

設定

参考程度に現在私の利用しているプラグインと.tmux.confを紹介します。

  • tpm:tmuxのプラグインマネージャー
  • tmux-sensible:おすすめオプションを設定してくれる
  • tmux-yank:tmuxからクリップボードにコピー可能に
  • tmux-copycat:検索を便利に
  • tmux-pain-control:vimっぽいペインの移動を可能に
  • dracula/tmux:draculaのテーマ
GitHub - tmux-plugins/tpm: Tmux Plugin Manager

GitHub - tmux-plugins/tpm: Tmux Plugin Manager

Tmux Plugin Manager. Contribute to tmux-plugins/tpm development by creating an account on GitHub.

GitHub - tmux-plugins/tmux-sensible: basic tmux settings everyone can agree on

GitHub - tmux-plugins/tmux-sensible: basic tmux settings everyone can agree on

basic tmux settings everyone can agree on. Contribute to tmux-plugins/tmux-sensible development by creating an account on GitHub.

GitHub - tmux-plugins/tmux-yank: Tmux plugin for copying to system clipboard. Works on OSX, Linux and Cygwin.

GitHub - tmux-plugins/tmux-yank: Tmux plugin for copying to system clipboard. Works on OSX, Linux and Cygwin.

Tmux plugin for copying to system clipboard. Works on OSX, Linux and Cygwin. - tmux-plugins/tmux-yank

GitHub - tmux-plugins/tmux-copycat: A plugin that enhances tmux search

GitHub - tmux-plugins/tmux-copycat: A plugin that enhances tmux search

A plugin that enhances tmux search. Contribute to tmux-plugins/tmux-copycat development by creating an account on GitHub.

GitHub - tmux-plugins/tmux-pain-control: standard pane key-bindings for tmux

GitHub - tmux-plugins/tmux-pain-control: standard pane key-bindings for tmux

standard pane key-bindings for tmux. Contribute to tmux-plugins/tmux-pain-control development by creating an account on GitHub.

GitHub - dracula/tmux: 🧛🏻‍♂️ Dark theme for tmux

GitHub - dracula/tmux: 🧛🏻‍♂️ Dark theme for tmux

🧛🏻‍♂️ Dark theme for tmux. Contribute to dracula/tmux development by creating an account on GitHub.

.tmux.confは以下のようになっています。

1# ---------------------------------------------------------
2# plugin
3# ---------------------------------------------------------
4
5set -g @plugin 'tmux-plugins/tpm'
6set -g @plugin 'tmux-plugins/tmux-copycat'
7set -g @plugin 'tmux-plugins/tmux-pain-control'
8set -g @plugin 'tmux-plugins/tmux-sensible'
9set -g @plugin 'tmux-plugins/tmux-yank'
10set -g @plugin 'dracula/tmux'
11set -g @dracula-plugins "battery cpu-usage ram-usage weather time"
12
13# ---------------------------------------------------------
14# basic
15# ---------------------------------------------------------
16
17# tmux起動時のシェルをzshに
18set-option -g default-shell /bin/zsh
19
20# 256色表示可能に変更
21set-option -g default-terminal screen-256color
22set -g terminal-overrides 'xterm:colors=256'
23
24# PrefixをCtrl-qに変更
25set -g prefix C-q
26unbind C-b
27
28# ---------------------------------------------------------
29# mapping
30# ---------------------------------------------------------
31
32# .tmux.confの読み込み
33bind-key r source-file ~/.tmux.conf\; display-message "$HOME/.tmux.conf reloaded!"
34
35# ---------------------------------------------------------
36# copy mode
37# ---------------------------------------------------------
38
39setw -g mode-keys vi
40
41# ---------------------------------------------------------
42# status bar
43# ---------------------------------------------------------
44
45# dracula options
46set -g @dracula-left-icon-padding 2
47set -g @dracula-show-location false
48set -g @dracula-show-fahrenheit false
49set -g @dracula-show-timezone false
50set -g @dracula-show-flags true
51set -g @dracula-military-time true
52
53# ---------------------------------------------------------
54# initialize tmux plugin manager
55# ---------------------------------------------------------
56
57run '~/.tmux/plugins/tpm/tpm'

見た目は以下のような感じになります。

ちなみに、左側のコマンドはbrew install neofetchで取得でき、右下の時計はprefix + tで表示できます。

参考

Support

\ この記事が役に立ったと思ったら、サポートお願いします! /

buy me a coffee
Share

Profile

author

Masa

都内のIT企業で働くエンジニア
自分が学んだことをブログでわかりやすく発信していきながらスキルアップを目指していきます!

buy me a coffee