首页 存档 资讯 查看内容

文本三巨头:zsh、tmux和vim

2018-3-30 13:00 |来自: 互联网 302 0

摘要: 罗马三巨头 公元前62年,凯撒 组建了一个包含了他自己, **家克拉苏,以及军事领袖庞培三人的**联盟。 这三个人一起组成了一个秘密**小组,称为 Triumvirate(三巨头),来统治罗马共和国。 而文本三巨头则是 ...

罗马三巨头

公元前62年,凯撒 组建了一个包含了他自己, **家克拉苏,以及军事领袖庞培三人的**联盟。 这三个人一起组成了一个秘密**小组,称为 Triumvirate(三巨头),来统治罗马共和国。 而文本三巨头则是 zsh、vim 和 tmux。 这三个令人尊敬的工具本身已经非常强大,然而它们的组合却更加所向披靡,把其他文本编辑组合甩开了 N 条街。本文旨在向刚接触各类工具的新手们简述如何建立一个既强大又容易配置的文本三巨头。我想把主要的篇幅放在如何将 zsh、vim 和 tmux 整合起来,并主要讲述了我如何解决两个常见的问题复制/粘贴功能和颜色配置。

(题图来自:deviantart.net)

我的愚见

跟Rands一样,我对工具非常痴狂。我认为文本三巨头是最强大的文本编辑的工具链。如果你不使用这个工具链,那么我会建议你先干了这杯酒,然后尝试使用文本三巨头。如果你每天花费大量的时间在文本中纠缠,那么你更应该接受我的建议。一开始换工具或许会有些不习惯,但是你的努力会得到回报的。使用 zsh、vim 和 tmux 的好处就在于免费使用,速度快,可任意定制,在任何操作系统上都能使用,可在远程环境中使用,还在于可以实现远程结对编程,以及互相之间,和与 Unix 之间深度的整合。最终纯文本编辑的效率和组织性将会得到很大提升。该工具链可以完全由 git 管理,并且可以再几秒钟的时间内克隆到一台远程服务器或是一台新的机器上。总的来说,它们的这些优点让使我在写作和编程上变得更快,更有效率。

文本三巨头的一个巨大的优势在于对用于管理工作环境的分屏模型的普遍使用。分屏模型管理允许tmux像粘合剂一样组织工作流。通常在一天的结尾,我会发现我留下了一些shell窗口和一大堆的临时文件,数据文件,源代码文件,文档文件,还有打开的数据库。把这些窗口一个个关掉然后第二天再把它们打开是非常痛苦的一件事。tmux和vim支持对一个特定的项目打开大量的窗格和窗口,如果你希望转换到另一个完全不同的项目,你可以从这些窗口分离出来转向另外一个项目,然后再按原样返回这些窗口。在一时间段内,我通常同时在多个工作和个人的项目上进行工作。在多个工作环境中来回切换的能力对我来说非常重要。(Thoughtbot blog 中有对 tmux 中窗口和窗格的使用的讲解)

下面是包装在tmux中的zsh和vim:

该tmux会话中有三个分别命名为demo、docs和scatch的窗口,然而在截图中只有最上面的窗口是可见的。在这个窗口中有四个分区。左上角的分区是一个zsh窗口,左下角的分区是一个交互的python会话,右上角的窗格是用vim打开的python代码,然后右下角是包含markdown文档的窗格。

外观设置

我建议给文本三巨头设置两种颜色主题一个主题给工作上的项目而另外一个给个人项目。我是情景依赖记忆的重度使用者,因此使用两个主题在认识和区分工作项目和个人项目上给予我很大的帮助。如图,下面是我的个人主题(左),以及工作主题(右)。两个主题都是Ethan Schoonover 的solarized 项目中的版本。我在玩的时候使用暗调主题,是因为我通常在清晨或傍晚天空还处在黑暗中时搞自己的项目。暗调主题可以在这些时候让我的眼睛得到舒缓。关于字体,我用的是 14 point 的 Inconsolata。

安装

首先要做的事将大写锁定键(Caps Lock)重映射到Control 键上。大写锁定键是个历史遗留问题,这个在键盘上的黄金位置的键需要被更好的利用。在tmux中对Control键的使用非常频繁,因此将Control键重映射到一个符合人体工程学的位置对我们很有帮助。

想要给三巨头创建一个强大的工作环境,我们可以下载 iTerm2 终端模拟器。iTerm2 比普通的终端应用具有更强的性能,更多的特性和更灵活的定制化。当你开始使用iTerm2时,请回头阅读全部文档看看它能为你做什么。其中一个特性是Command-?,显示出一个视窗帮助你快速地找到你当前的光标位置。大部分iTerm2非常酷炫的功能本文都没有提及。请确保你了解了iTerm2的即时回放,正则查询,点击打开URL,以及标记跳转的功能。

当iTerm2安装完成,即可添加亮调和暗调主题。solarized 库中含有iTerm2调色板和 配置iTerm2主题的说明,所以它的安装简洁明了。另一项对使用iTerm2有用的配置是启用系统级别的绑定键,通过该键可以让iTerm2转为最前面的窗口。我发觉设置一个具体的绑定比使用应用切换器(Command-Tab)要快的多。该设置在Preferences

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋
返回顶部