Tmux Plugin Manager使用及具體插件


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的底部

快捷鍵管理插件

安裝插件

  1. 添加新的插件~/.tmux.confset -g @plugin '...'
  2. prefix+ I(大寫字母i,如 nstall)來獲取插件。

你很好!該插件已克隆到~/.tmux/plugins/dir並已獲得。

卸載插件

  1. 從列表中刪除(或注釋掉)插件。
  2. 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-rightstatus-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

這只是一個便捷鍵綁定。

參考:

tpm

Tmux的超絕便利 (基礎篇)

Tmux(-yank,-cssh,-xpanes)使用指南

tmux-plugins

tmux入坑指南

Tmux使用手冊


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM