TPM安裝
按照官網的做法,很簡單就安裝上了,輸入下面命令:
# 把管理器文件安裝到`~/.tmux/plugins/tpm`之下 此前這些目錄是不存在的
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
# 新建配置文件
vim ~/.tmux.conf
# 將下面內容復制到`~/.tmux.conf`
# 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 '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'
#使其生效
tmux source-file ~/.tmux.conf
記住,這個必須放在.tumx.conf
的底部
快捷鍵管理插件
安裝插件
- 添加新的插件
~/.tmux.conf
與set -g @plugin '...'
- 按
prefix
+ I(大寫字母i,如我 nstall)來獲取插件。
你很好!該插件已克隆到~/.tmux/plugins/
dir並已獲得。
卸載插件
- 從列表中刪除(或注釋掉)插件。
- 按
prefix
+ alt+ u(小寫ü在ü n安裝)刪除插件。
所有插件均已安裝到,~/.tmux/plugins/
因此您也可以在此處找到插件目錄並將其刪除。
鍵綁定
prefix
+ I
- 從GitHub或任何其他git存儲庫安裝新插件
- 刷新TMUX環境
prefix
+ U
- 更新插件
prefix
+ alt+u
- 刪除/卸載不在插件列表中的插件
命令管理插件
安裝插件
像往常一樣,需要在中指定插件.tmux.conf
。運行以下命令以安裝插件:
~/.tmux/plugins/tpm/bin/install_plugins
更新插件
要更新所有已安裝的插件:
~/.tmux/plugins/tpm/bin/update_plugins all
或更新單個插件:
~/.tmux/plugins/tpm/bin/update_plugins tmux-sensible
刪除插件
要刪除不在插件列表中的插件:
~/.tmux/plugins/tpm/bin/clean_plugins
tmux復制粘貼插件
使用tmux-yank
插件改善復制粘貼體驗
直接在.tmux.conf
中的List of plugins
下新增插件即可
set -g @plugin 'tmux-plugins/tmux-yank'
安裝完成后默認使用鼠標選中后,松開鼠標右鍵即為復制
tmux永久保存插件(手動)
將插件添加到TPM插件列表中.tmux.conf
:
set -g @plugin 'tmux-plugins/tmux-resurrect'
要保存 Tmux 會話 , 我們只要按 前綴鍵 + Ctrl-s
就可以了 。 此時 ,Tmux 狀態欄會顯示 “Saving ...” 字樣 , 完畢后會提示 Tmux 環境已保存 。
Tmux Resurrect 會將 Tmux 會話的詳細信息以文本文件形式保存到 ~/.tmux/resurrect
目錄 。
還原則按 前綴鍵 + Ctrl-r
即可 。
默認情況下,僅還原保守的程序列表
vi vim nvim emacs man less more tail top htop irssi weechat mutt
我們可能還需要保存當前每個窗格運行的程序。類似 vim
, less
, man
這些程序 tmux-resurrect 會自動恢復,其他的則需要配置:
set -g @resurrect-processes 'ssh mysql redis-server npm'
這個插件可以保存和恢復tmux窗格的內容。
可以通過添加以下行來啟用此功能.tmux.conf
:
set -g @resurrect-capture-pane-contents 'on'
tmux永久保存插件(自動)
可能你嫌手動保存和恢復太過麻煩,別擔心,這不是問題。Tmux Continuum 在 Tmux Resurrec的基礎上更進一步,現在保存和恢復全部自動化了,如你所願,可以無感使用tmux,不用再擔心備份問題。
Tmux Continuum依賴Tmux Resurrect,請保證已安裝Tmux Resurrect插件
Tmux Continuum默認每隔15mins備份一次,我設置的是一天一次:
set -g @continuum-save-interval '1440'
關閉自動備份,只需設置時間間隔為 0
即可:
set -g @continuum-save-interval '0'
想要在tmux啟動時就恢復最后一次保存的會話環境,需增加如下配置:
set -g @continuum-restore 'on' # 啟用自動恢復
如果不想要啟動時自動恢復的功能了,直接移除上面這行就行。想要絕對確定自動恢復不會發生,就在用戶根目錄下創建一個tmux_no_auto_restore
空文件(創建命令:touch ~/tmux_no_auto_restore
),該文件存在時,自動恢復將不觸發。
對於tmux高級用戶(可能就是你)而言,同時運行多個tmux服務器也是有可能的。你可能並不希望后面啟用的幾個tmux服務器自動恢復或者自動保存會話。因此Tmux Continuum會優先在第一個啟用的tmux服務器中生效,隨后啟用的tmux服務器不再享受自動恢復或自動保存會話的待遇。
實際上,不管Tmux Continuum功能有沒有啟用,或者多久保存一次,我們都有辦法從狀態欄知曉。Tmux Continuum提供了一個查看運行狀態的插值#{continuum_status}
,它支持status-right
和 status-left
兩種狀態欄設置,如下所示:
set -g status-right 'Continuum status: #{continuum_status}'
tmux運行時,#{continuum_status}
將顯示保存的時間間隔(單位為分鍾),此時狀態欄會顯示:
Continuum status: 1440
如果其自動保存功能關閉了,那么狀態欄會顯示:
Continuum status: off
tmux日志
set -g @plugin 'tmux-plugins/tmux-logging'
記錄日志:
在當前窗格中切換(開始/停止)日志記錄。
-
按鍵綁定:
prefix + shift + p
-
文件名格式:
tmux-#{session_name}-#{window_index}-#{pane_index}-%Y%m%dT%H%M%S.log
-
文件路徑:(
$HOME
用戶主目錄)
- 示例文件:
~/tmux-my-session-0-1-20140527T165614.log
- 示例文件:
截取屏幕日志:
在當前窗格中保存可見文本。等效於“文本截圖”。
- 按鍵綁定:
prefix + alt + p
- 文件名格式:
tmux-screen-capture-#{session_name}-#{window_index}-#{pane_index}-%Y%m%dT%H%M%S.log
- 文件路徑:($HOME 用戶主目錄)
- 示例文件:
tmux-screen-capture-my-session-0-1-20140527T165614.log
- 示例文件:
保存完整的歷史記錄
將完整的窗格歷史記錄保存到文件。如果您回想起來很方便,則需要記錄/保存所有工作。
- 按鍵綁定:
prefix + alt + shift + p
- 文件名格式:
tmux-history-#{session_name}-#{window_index}-#{pane_index}-%Y%m%dT%H%M%S.log
- 文件路徑:($HOME用戶主目錄)
- 示例文件:
tmux-history-my-session-0-1-20140527T165614.log
- 示例文件:
注意:此功能取決於history-limit
- 值Tmux在回滾緩沖區中保留的行數。Tmux保留的內容也只會保存到文件中。
set -g history-limit 50000
在.tmux.conf中使用,對於現代計算機,可以將此選項設置為高數字。
清除窗格歷史記錄
按鍵綁定: prefix + alt + c
這只是一個便捷鍵綁定。