grasys blog

ターミナルがダサいとモテない。tmux + tpm 紹介編

シリーズ記事一覧

tmux と tpm を使っていますか?

Photo by Arget on Unsplash

恵比寿で IT 企業をやっているとモテると聞いて創業しましたが早いことありがたいことに10年目に突入した長谷川です。

まだモテる成果は出ていません、、、これからです!(4回目)

今回は tmuxtpm の紹介をしていきます。

zelliji という Rust 製の Terminal Multiplexer もありますが自分は未だに tmux を使ってます。

tmux

普通に macOS なら homebrew で入ります。

brew install tmux

tmux 自体けっこう昔からあるのと愛用している人も多いと思います。
というより自分はおっさんなので screen から使ってます。

tmux の説明は割愛します。
どちらかというと Tmux Plugin Manager の説明です。

GitHub – tmux/tmux: tmux source code

tpm

Tmux Plugin Manager の略で tpm です。

GitHub – tmux-plugins/tpm: Tmux Plugin Manager

利用している Tmux Plugins

自分は以下を利用しています。

まあ有名どころばっかり

け、結構使ってる・・・
というか一部よくわからないし記憶が無いのもある・・・w

GitHub – tmux-plugins/list: A list of tmux plugins.

tpm の詳細説明

setup tpm

tmux の config は ${HOME}/.tmux.conf${XDG_CONFIG_HOME}/tmux/tmux.conf です。(tmux が XDG に対応しているの今知りました。)

# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'

# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'github_username/plugin_name#branch'
# set -g @plugin 'git@github.com:user/plugin'
# set -g @plugin 'git@bitbucket.com:user/plugin'

# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'

GitHub – tmux-plugins/tpm: Tmux Plugin Manager


key-binding

Key-binding は以下のようになっています。

prefix + I

  • 新しい Plugin を Install する
  • tmux 環境の refresh

prefix + U

  • Plugin の Update

prefix + alt + u

  • Plugin の uninstall

GitHub – tmux-plugins/tpm: Tmux Plugin Manager


dracula/tmux

散々 dracula theme と言ってる気がするので一応紹介します。
tmux の dracula theme です。
自分が使ってるのは nord-tmux でした。
ただ今日から dracula にします。

Apple の GPU は認識しないですね・・・

あと Starship と描画被ってる・・・WezTerm の right-status とも被ってる・・・けど気にしないw

以下のようにいろいろパラメータあるので試してみてください。

# -----------------------------------------------------------------------------
# dracula
# available plugins: battery, cpu-usage, git, gpu-usage, ram-usage, network, network-bandwidth, network-ping, weather, time
#set -g @dracula-plugins "cpu-usage gpu-usage ram-usage"
set -g @dracula-plugins "cpu-usage gpu-usage ram-usage"
#set -g @dracula-plugins "time"
#set -g @dracula-plugins "cpu-usage gpu-usage ram-usage network battery"

# For each plugin is possible to customize background and foreground colors
# available colors: white, gray, dark_gray, light_purple, dark_purple, cyan, green, orange, red, pink, yellow
# set -g @dracula-[plugin-name]-colors "[background] [foreground]"
#set -g @dracula-cpu-usage-colors "pink dark_gray"

# Status bar options
# Enable powerline symbols
#set -g @dracula-show-powerline false
set -g @dracula-show-powerline true
# Switch powerline symbols
# for left
set -g @dracula-show-left-sep 
# for right symbol (can set any symbol you like as seperator)
set -g @dracula-show-right-sep 
# Enable window flags
set -g @dracula-show-flags true
# Adjust the refresh rate for the status bar
# the default is 5, it can accept any number
set -g @dracula-refresh-rate 5
# Switch the left smiley icon
# it can accept `session`, `smiley`, `window`, or any character.
set -g @dracula-show-left-icon session
# Add padding to the left smiley icon
# default is 1, it can accept any number and 0 disables padding.
set -g @dracula-left-icon-padding 1
# Enable high contrast pane border
set -g @dracula-border-contrast true

# weather options
#set -g @dracula-show-fahrenheit false
#set -g @dracula-fixed-location "Tokyo"
#set -g @dracula-show-location false

# time options
# Disable timezone
#set -g @dracula-show-timezone true
# Swap date to day/month
#set -g @dracula-day-month false
# Enable military time
#set -g @dracula-military-time true
# -----------------------------------------------------------------------------

tmux


tmux-sensible

おすすめオプションを設定してくれるらしい

いや〜これちゃんと使ってないな
しかも手で別途設定してる項目ばかりだった・・・
自分にはいらないかもしれない・・・w

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


tmux-menus

あんまり使ってないなぁw

tmux-menus

GitHub – jaclu/tmux-menus: Tmux plugin, Popup menus to help with managing your environment


tmux-mighty-scroll

prefix + [

Page up / Page down でスクロールできます。

大量の log を見るときなど便利

GitHub – noscript/tmux-mighty-scroll: More scroll, less hassle


tmux-mouse-swipe

衝撃・・・全く使ってなかった・・・w

GitHub – jaclu/tmux-mouse-swipe: Tmux plugin, uses mouse horizontal swipe to switch window and…


tmux-pain-control

これは最高です。

key-binding を設定してくれるだけなんだけど、めちゃくちゃ直感的で大好き❤️

画面分割の縦分割を ”|”
横分割を ”-” にしてくれてるあたりがめっちゃイイ
(自分で設定しろよって話ではあるけど・・・)

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


tmux-yank

tmux と neovim とかで clipboard を共有するのに使います。
あると便利です。

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


tmux-prefix-highlight

prefix key 押したら画面で教えてくれます。

あんまり必要ないかも・・・

GitHub – tmux-plugins/tmux-prefix-highlight: Plugin that highlights when you press tmux prefix key


tmux-resurrect & tmux-continuum

不慮の停止とかで tmux の状態を維持したいときに使います。

これも入れとくと便利です。

GitHub – tmux-plugins/tmux-resurrect: Persists tmux environment across system restarts.

GitHub – tmux-plugins/tmux-continuum: Continuous saving of tmux environment. Automatic restore when…


tmux-autoreload

config の変更で reload してくれます。

これは設定をいじってる最中は便利かも

GitHub – b0o/tmux-autoreload: Automatically reload your tmux config file on change

最後に

今回この記事書いたおかげで使ってない plugins がわかったので断捨離w

tmux も config 持ち歩くと思うので tpm である程度管理されてても良いですね。
自分もよく触るサーバとかには自分の config が入ってます。

自分は tmux に Multiprlexer としての機能以外を求めてなかったりするので、アレなんですが plugin list みるとめちゃくちゃあります。

GitHub – tmux-plugins/list: A list of tmux plugins.


面白い plugin あれば教えてください(他力本願w)

他にもシリーズ記事を書いているので、よろしければご覧ください!

シリーズ記事一覧

転載:ターミナルがダサいとモテない。tmux+tpm 紹介編(Medium)


採用情報
お問い合わせ