去年,我为您带来了 19 天的新(对您而言)2019 年效率工具。今年,我将采用不同的方法:构建一个环境,让您在新的一年里更有效率,使用您可能已经或可能没有使用的工具。
使用 tmux 和 tmuxinator 在控制台上完成所有操作
到目前为止,在本系列中,我写了关于单个应用程序和工具的文章。从今天开始,我将它们整合到全面的设置中,以简化事情。从命令行开始。为什么选择命令行?简而言之,在命令行工作使我能够从任何可以运行 SSH 的地方访问许多这些工具和功能。我可以 SSH 进入我的个人机器之一,并在我的工作机器上运行与我的个人机器上相同的设置。我将要使用的主要工具是 tmux。
大多数人使用 tmux 进行非常基本的功能,例如在远程服务器上打开它,然后启动一个进程,也许打开第二个会话来观看日志文件或调试信息,然后断开连接并在稍后返回。但是你可以用 tmux 做很多工作。

首先,如果您有现有的 tmux 配置文件,请备份它。tmux 的配置文件是 ~/.tmux.conf。将其移动到另一个目录,例如 ~/tmp。现在,使用 Git 克隆 Oh My Tmux 项目。从该项目链接到 .tmux.conf,并将 .tmux.conf.local 文件复制进来进行调整
cd ~
mkdir ~/tmp
mv ~/.tmux.conf ~/tmp/
git clone https://github.com/gpakosz/.tmux.git
ln -s ~/.tmux/.tmux.conf ./
cp ~/.tmux.conf.local ./
.tmux.conf.local 文件包含本地设置和覆盖。例如,我稍微更改了默认颜色,并启用了 Powerline 分隔符。此代码片段仅显示我更改的内容
tmux_conf_theme_24b_colour=true
tmux_conf_theme_focused_pane_bg='default'
tmux_conf_theme_pane_border_style=fat
tmux_conf_theme_left_separator_main='\uE0B0'
tmux_conf_theme_left_separator_sub='\uE0B1'
tmux_conf_theme_right_separator_main='\uE0B2'
tmux_conf_theme_right_separator_sub='\uE0B3'
#tmux_conf_battery_bar_symbol_full='◼'
#tmux_conf_battery_bar_symbol_empty='◻'
tmux_conf_battery_bar_symbol_full='♥'
tmux_conf_battery_bar_symbol_empty='·'
tmux_conf_copy_to_os_clipboard=true
set -g mouse on
请注意,您不需要安装 Powerline,您只需要一个支持 Powerline 符号的字体。我几乎所有与控制台相关的东西都使用 Hack Nerd Font,因为它对我来说很容易阅读,并且有很多非常有用的额外符号。您还会注意到我启用了操作系统剪贴板支持和鼠标支持。
现在,当 tmux 启动时,底部的状态栏提供了更多信息,并且颜色令人兴奋。 Ctrl+b 仍然是用于输入命令的“引导”键,但其他一些键已更改。水平(顶部/底部)拆分窗格现在是 Ctrl+b+-,垂直拆分现在是 Ctrl+b+_。启用鼠标模式后,您可以单击在窗格之间切换并拖动分隔符来调整它们的大小。打开新窗口仍然是 Ctrl+b+n,您现在可以单击底部栏上的窗口名称在它们之间切换。此外, Ctrl+b+e 将打开 .tmux.conf.local 文件进行编辑。当您退出编辑器时,tmux 将重新加载配置,而无需重新加载任何其他内容。非常有用。
到目前为止,我只对功能和视觉显示做了一些简单的更改,并添加了鼠标支持。现在我将设置它以启动我想要的应用程序,使其有意义,并且无需每次都重新定位和调整大小。为此,我将使用 tmuxinator。Tmuxinator 是 tmux 的启动器,允许您使用 YAML 文件指定和管理布局和自动启动应用程序。要使用它,请启动 tmux 并使用您想要在其中运行的内容创建窗格。然后,使用 Ctrl+b+n 打开一个新窗口,并执行 tmux list-windows。您将获得有关布局的详细信息。

请注意上面代码中的第一行,我在其中设置了四个窗格,每个窗格中都有一个应用程序。 保存您稍后运行时输出的内容。现在,运行 tmuxinator new 20days 以创建一个名为 20days 的布局。这将弹出一个文本编辑器,其中包含默认布局文件。它有很多有用的东西,我鼓励您阅读所有选项。首先输入上面的布局信息以及您想要在何处放置哪些应用程序
# /Users/ksonney/.config/tmuxinator/20days.yml
name: 20days
root: ~/
windows:
- mail:
layout: d9da,208x60,0,0[208x26,0,0{104x26,0,0,0,103x26,105,0,5},208x33,0,27{104x33,0,27,1,103x33,105,27,4}]] @0
panes:
- alot
- abook
- ikhal
- todo.sh ls +20days
注意空格!像 Python 代码一样,空格和缩进对于文件的解释方式很重要。保存文件,然后运行 tmuxinator 20days。您应该获得四个窗格,其中包含 alot 邮件程序、abook、ikhal(khal 交互式的快捷方式)以及 todo.txt 中带有标签 +20days 的任何内容。

您还会注意到底部栏上的窗口标记为 Mail。您可以单击名称(以及其他命名的窗口)跳转到该视图。漂亮,对吧?我在同一个文件中设置了第二个名为 Social 的窗口,其中包含 Tuir、Newsboat、连接到 BitlBee 的 IRC 客户端以及 Rainbow Stream。
Tmux 是我保持跟踪所有事物的效率强大的工具,有了 tmuxinator,我无需担心不断调整大小、放置和启动我的应用程序。
2 条评论