目次
シリーズ記事一覧
tmux と tpm を使っていますか?
恵比寿で IT 企業をやっているとモテると聞いて創業しましたが早いことありがたいことに10年目に突入した長谷川です。
まだモテる成果は出ていません、、、これからです!(4回目)
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
自分は以下を利用しています。
まあ有名どころばっかり
- dracula/tmux
- tmux-sensible
- tmux-menus
- tmux-mighty-scroll
- tmux-mouse-swipe
- tmux-pain-control
- tmux-yank
- tmux-prefix-highlight
- tmux-resurrect
- tmux-continuum
- tmux-autoreload
け、結構使ってる・・・
というか一部よくわからないし記憶が無いのもある・・・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-sensible
おすすめオプションを設定してくれるらしい
いや〜これちゃんと使ってないな
しかも手で別途設定してる項目ばかりだった・・・
自分にはいらないかもしれない・・・w
GitHub – tmux-plugins/tmux-sensible: basic tmux settings everyone can agree on
tmux-menus
あんまり使ってないなぁw
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)