升级Shell工做环境

在工做中常会遇到程序员用着系统的 terminal 艰难的敲击着 bash shell 的命令。这种原始的方式可能会致使工做效率下降。html

对于终端的选择,每一个人的习惯不同,没法要求保持一致,可是我觉着,最基础最经常使用的终端功能的配置,最好仍是在团队里推广一下,能够必定程度提升那些用着默认 terminal 的大神们的效率(PS: 据说有些大神使用记事本写代码,这类不在考虑之中)。可是这类配置又比较零散,因此趁着周末写一个我自身经常使用的 Shell 工做环境的总结吧,本文以MacOS为例,对于Linux系统,在文章最后列举了一些差别。本文适合想要提升一些终端使用效率的同窗们。git

iTerm2

安装及配置

首先须要安装 iTerm2,下载地址:iTerm2 Download,建议下载 Stable Release 版本。程序员

安装完成后,打开 iTerm2 -> Preferences,就能够根据本身的使用习惯进行一些偏好设置了,因为可配置的选项太多,这里不作一一列举,只对我本身设定的一些选项进行简单的介绍。(注意下载的不一样版本的 iTerm2 的默认配置有可能有细微差异)github

  1. 对于 General 选项卡,目前还没遇到修改的需求。shell

  2. 对于 Appearence 选项卡,我改动了 Tabs 的一些设置,以下图:vim

    Appearence.png

    • 将 "Tab bar location" 改成了 Top
    • 将 "Theme" 改成了 Light(能够根据我的习惯进行选择)
  3. 改动较多的就是 Profiles 选项卡了,Profiles 主要是与显示外观有关的配置,在左侧能够新建多个 profile 配置,这里我只采用了 Default。windows

    每一个 Profile 的右边有多个配置选项:General、Colors、Text、Window、Terminal、Session、Keys、Advanced:浏览器

    • General:在下方有个 "Working Directory" 的配置,这个是当你每次打开 shell 时默认进入的工做目录,能够根据本身的工做习惯进行配置。因为我常常工做在 home 的 Work 目录中,因此我勾选了 "Directory" 选项,并设置了 Work 目录。bash

    • Colors:这个地方须要根据习惯本身调整配置。想一想之后经常使用的 Shell 的样子就是这里决定的,仍是值得花时间去根据本身喜爱进行配置。因为我我的使用 Emacs 做为经常使用编辑器,并且 emacs 一直在用 Solarized light 主题,因此我再右下角的 "Color Presets" 里面选择了 "Solarized light" 主题。字体、背景颜色均可以在 Solarized light 的基础上进行微调。服务器

      此外,在 Colors 选项卡中,有个 "Cursor Guide" 选项,这个选项能够高亮当前光标所在行,更方便的找到光标位置,有须要的能够打开。不过这里有一个快捷键 "Command+/" 能够直接定位到光标位置,很好用,因此我没有打开 "Cursor Guide"。

    • Window:能够配置透明度、模糊效果和窗口大小等,看我的感觉吧。

    • 其余配置没有修改,因此这里再也不列举了。

  4. Keys:绑定的一些快捷键,这里我只添加了一个全局的快捷键 "HotKey -> Show/Hide all windows with a system-wide hotkey",并设置为了 Command+Control+i。这样在任何应用中,只要触发了该快捷键,iTerm2 会当即回到第一窗口的位置,再次触发会隐藏 iTerm2。

    此外提一个强烈些的建议:将 MacBook 上的 CapsLock 键位和左下角的 Control 键互换,互换方法在 "System Preferences -> Keyboard -> Keyboard -> Modifier Keys",仍不清楚的上网搜一下。这样替换的好处是:

    • MacOS 上面的基本全部可编辑的地方,Control+f、Control+b 表明前进、后退一个字符,Control+k 表示删除当前行光标位置以后的内容,Control+d表示删除前面的字符。

    • 此外,MacOS 系统中绝大部分编辑器中还可使用 Control+n、Control+p 来进行上一行下一行移动,例如 Xcode、Sublime Text、系统文本编辑器等。固然,若是你使用 Emacs,相信对这个键位的修改更没有疑问了。

  5. Arrangements:这个暂时没有用到。

  6. Pointer:鼠标和手势的一些操做,对此没有关注,有兴趣可本身看一下。

  7. Advanced:更多的可自定义配置,参数众多,若是你想戒掉王者荣耀,能够尝试将各个参数弄清楚(PS:意义不大,不建议这么干,仍是玩王者吧)。

经常使用快捷键

iTerms 的有些快捷键不用掌握,由于后面章节会介绍更好用的工具。这里只列举了几个经常使用操做。

  1. Shift+Command+h —> 用于弹出粘贴历史窗口。

  2. Command+f —> 当前 tab 中搜索

  3. 按住 Command 键时有一些简单的操做:

    • 能够拖拽选中的字符串;
    • 点击 url —> 调用默认浏览器访问该网址;
    • 点击文件 —> 调用默认程序打开文件;若是文件名是 filename:42,且默认文本编辑器是 Macvim、Textmate 或 BBEdit,将会直接打开到这一行;
    • 点击文件夹 —> 在 finder 中打开该文件夹;
    • 同时按住 option 键,能够以矩形选中,相似于 vim 中的 ctrl v 操做。

Oh-my-zsh

oh-my-zsh 绝对是加强 shell 的一个神器,它提供了完整的插件体系,能够根据工做需求选用不一样的插件。

安装方法

  1. 经过 wget:

    sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
    复制代码
  2. 经过 curl:

    sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
    复制代码

配置

关于 oh-my-zsh 的配置均在 $home 目录下的 .zshrc 文件中,如需修改配置可以使用文本编辑器打开编辑(如 emacs、vim 等),修改完成后从新登陆 shell 或者执行 "source ~/.zshrc" 便可生效。

  1. 主题:

    打开 .zshrc 文件后,ZSH_THEME="robbyrussell" 这一行就是主题的配置,我采用了默认配置 robbyrussell。

    oh-my-zsh 的主题配置主要是一些提示字符串格式、时间值、权限、git 版本管理时显示的格式等信息。目前我还不清楚 oh-my-zsh 的主题对 iTerm2 的显示外观(背景色、字体等)有何影响,由于我换了几个 ZSH_THEME 后只是提示字符串等信息的变化,没有发现背景色、字体等外观受到影响。若是有知道的,麻烦留个言,也让我学习下。

  2. 插件:

    打开 .zshrc 文件后,plugins=(git) 这一行是 oh-my-zsh 集成的插件列表,我安装的 oh-my-zsh 版本默认只使用了 git 插件。咱们能够在这个列表中添加 ~/.oh-my-zsh/plugins 目录下 oh-my-zsh 已经提供的插件。

    关于插件,我使用了 git, zsh-syntax-highlighting, autojump 插件,.zshrc 文件配置为:

    plugins=(git
             zsh-syntax-highlighting
             autojump)
    复制代码
    • git: 有很方便的使用命令行 git 工具的快捷绑定,例如 git checkout master 能够直接使用 gco master,关于全部的快捷绑定,能够打开 ~/.oh-my-zsh/plugins/git/git.plugin.zsh 文件查看全部的 alias。建议掌握几个最经常使用的命令快捷绑定:gco/gst/gaa/gcmsg/glgg/gl/gp/gd/gba。

    • zsh-syntax-highlighting: 该插件能够帮助咱们再输入命令时是否有误。例如,我在命令行中只输入 'v' 字符时,因为 shell 中没有这个命令,因此这个 'v' 字符显示为红色,可是当我再输入 'im' 后,'vim' 这几个字符就变成了绿色,表示 shell 中有这个命令。该插件并非 oh-my-zsh 自带的插件,安装方法见下文的“自定义插件”。

    • autojump: 方便的跳转到某个目录,zsh 能够记录已经访问过的目录,使用 autojump 能够输入 "j 想要跳转的目录" 直接进入到目录,autojump 也支持输入 "j" 后再输入目录关键字符,使用 补全目录。

    后续若是有新发现的好用的插件,我也会更新该文档,方便参考。

  3. 自定义插件:

    oh-my-zsh 包含一个完备的插件体系,不仅可使用默认已打包的插件,也可使用自定义插件:咱们以 zsh-syntax-highlighting 插件为例简述一下如何为 oh-my-zsh 添加自定义的插件。

    • 下载 zsh-syntax-highlighting 并解压。
    • 将文件夹全部内容拷贝到 ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting 里面。
    • 最后配置 ~/.zshrc 文件的 plugins=(git zsh-syntax-highlighting)

    其余从网络上下载的插件使用方法与 zsh-syntax-highlighting 相似,固然有能力也能够本身写插件。

  4. 关于 powerline

    相信不少人都看到过别人的 Shell 有以下图这种样式:

    powerline.png

    powerline 实际上是一种加强提示信息的展示方式,能够在 vim、emacs、shell 等多个场景下使用,以前也用过 powerline,但通过长期使用后,觉着 powerline 在 shell 中的优势并不明显,因此目前我已经弃用了。若是有兴趣,可按照:iTerm2 Oh-my-zsh 配置与 agnoster 主题配置 一文中的方法进行配置。

    有一点须要注意,在以前的印象中,若是须要使用 powerline,iTerm2 的背景色不能有透明度,记得是由于 powerline 的三角不支持透明。有兴趣的能够验证下,并留个言告诉个人记忆是否正确。

  5. 一些经常使用的快捷键:

    • "d" 目录浏览和跳转:输入 d,就显示在会话里访问的目录列表,输入列表前的序号,便可以跳转,以下图:

    d.png

    • 在 ~/.zshrc 最后一行加入:

      alias lm="ls -al"
      alias rm='trash'
      alias cl='clear'
      复制代码

      lm 是为了显示当前目录全部文件(包含隐藏文件),rm 关联到 trash 是为了防止不当心使用了 "rm -rf xxx", cl 是清屏操做。

    • 经常使用快捷键会随着个人使用体验进行更新。

MacVim

安装

使用 Homebrew 进行安装:$ brew install MacVim

其实 MacOS 系统是自带 Vim 编辑器的,可是因为系统自带通常版本较低,因此这里安装一个 MacVim,其也有 GUI 能够用。

配置

我平常使用的编辑器是 Emacs,遗憾的是 Emacs 其实并不如 Vim 那么的适合在终端使用,Vim 能够说是跟 Shell 联系最紧密的编辑器,因此掌握 Vim 的一些基础操做仍是必须的。

因为如今我从事 iOS 开发工做,使用 Shell 的只是处理一些平常工做,并不会使用其进行代码编写。因此掌握 Vim 的一些基础操做就足够了。这一部分 Vim 党请略过,不过我相信 Vim 党也基本都已经有本身的完整的 shell 配置。

这里推荐 github 上一个 star 比较多的 vim 配置:k-vim。 安装过程在 github 中有详细文档,这里就再也不赘述。我对 k-vim 的某些默认配置进行了修改:

  • $home/.vimrc 中的 "set background=dark",我改为了 light(由于个人 iTerm 配置的 light 主题)。

  • 231 行到 244 行与 relativenumber 有关的都被我注释掉了,由于我不太习惯相对行号。

此外,在 Shell 中使用 MacVim 要使用 "mvim -v" 命令,为了方便在 Shell 中使用 MacVim,在 ~/.zshrc 最后为 "mvim -v" 命令添加一个别名:

alias vim="mvim -v"
复制代码

使用

上面提到我目前经常使用编辑器是 Emacs,可是个人 Emacs(Spacemacs) 使用的是 vim 快捷键,由于 vim 的快捷键确实很是通用,并且效率高。(PS: 使用 Xcode 的可以发现,Xcode 的快捷键其实更像 Emacs) Vim 的一些基础操做仍是但愿尽可能可以掌握,例如 Vim 的集中模式,hjkl、e、b、0、$、dd、:w、:wq、:q、i、Esc、Control+[、o、O、v 等。

本文不是一篇 Vim 的介绍和教程,这里提到 Vim 只是为了可以在 Shell 中方便的编辑文件。若是不是专门使用 Vim 写代码,掌握基础技能就够用了(例如简单修改一个文件)。 若是但愿能有一个本身顺手的长期使用的编辑器,建议能够深刻学习下 Vim,固然 Emacs 也是不错的选择。(我习惯于 Emacs,一方面是因为熟悉 Scheme 语言,与Emacs Lisp 同属 Lisp 语言,可以自定义配置和编写插件,另外 Spacemacs 的出现下降了 Emacs 的学习成本,有兴趣能够尝试)。

Tmux

什么是 Tmux?

Tmux 是一个终端复用软件,BSD 协议发布。通常用于在一个命令行窗口中访问多个命令行会话,或者在一个命令行终端中同时使用多个程序。

你是否曾经开过一大堆的 Terminal?有没有把它们都保存下来的冲动?Tmux 的 Session 就是作这件事情的。只要没有关机,即便 iTerm/Terminal/Konsole 意外关闭也不要紧,Session 能够彻底恢复。即便关机了其实也能够恢复,可是要配置,由于个人Mac关机不多,并且平常工做不多有链接服务器的需求,因此没有这类需求。

Tmux 让咱们能够随时退出或者进入任何一个 Session。每一个 Session 有若干个 Window,每一个 Window 又能够分红多个窗格(Pane)。有了 Session 的概念, Tmux 就能够隔离工做环境,好比为处理第一项工做相关的会话建立一个work0,为处理第二项工做的会话建立一个 work1,为我的 hack 建立一个personalhack,而后咱们就能够经过 session 的切换来切换咱们的工做环境,咱们能够就置身于单个工做环境了,达到了工做环境隔离的效果。这个功能尝试使用一下会有惊喜。

Tmux 是本文的重点介绍内容。

安装

brew install tmux
复制代码

基本使用方法

  1. tmux 中经常使用的有四个概念:

    • server:服务器。输入 tmux 命令时就开启了一个服务器。
    • session:会话。一个服务器能够包含多个会话。
    • window:窗口。一个会话能够包含多个窗口。
    • pane:面板。一个窗口能够包含多个面板。
  2. tmux 中的快捷键操做由一个 prefix 开启,即按下 prefix 键位后,松开,再去按另外一个快捷键。默认的 prefix 键位是 Control+b,考虑到下面两个缘由,我将其改成了 Control+空格。

    • Control+b 按起来并不顺手,并且 Mac OSX 系统中,Control+b 一般表明返回到上一个字符位置,若是使用 Control+b 做为 prefix,若是须要返回到上一个字符位置,则须要按两次 Control+b。

    • 网上大部分教程提示将 Control+b 修改成 Control+a,可是因为 Control+a 在 MacOSX 中表示回到当前行的起始位置,若是使用 Control+a 做为 prefix,咱们须要按两次 Control+a 才能回到行首,也不太方便。因此我这里修改成了 Control+Space。

    配置方法:在 ~/.tmux.conf 文件(若是没有须要本身建立)中加入下面语句:

    #设置前缀为 Ctrl + Space
    set -g prefix C-Space
    #解除 Ctrl+b 与前缀的对应关系
    unbind C-b
    复制代码
  3. tmux 会话(session)操做

    • 打开会话:在 iTerm2 Shell 中输入"tmux"后,就进入了一个新的 tmux 会话。
    • 脱离当前会话:"prefix+d",这时会回到 Shell 中。
    • 脱离指定会话:"prefix+D"
    • 切换会话:"prefix+s",当有多个会话时,使用这个功能切换工做环境很是有用。
    • 修改会话名字:"prefix+$"
    • 进入命令行模式:"prefix+:",此时可输入支持的命令,例如 kill-server 关闭全部 tmux 会话, kill-session 关闭当前会话。
    • 挂起会话:"prefix+C-z"
  4. tmux 窗口(window)操做

    tmux 中的一个会话能够有多个窗口,各个窗口能够互不影响。

    • 每次打开一个会话会默认建立一个窗口
    • 建立新窗口:"prefix+c"
    • 关闭当前窗口:"prefix+&"
    • 切换到指定数字窗口:"prefix+数字键 0-9"
    • 切换到上一个窗口:"prefix+p"
    • 切换到下一个窗口:"prefix+n"
    • 经过窗口列表切换窗口:"prefix+w"
    • 重命名窗口:"prefix+,"
    • 修改当前窗口编号,至关于从新排序:"prefix+."
    • 在全部窗口中查找关键词:"prefix+f"
  5. tmux 面板(pane)操做

    tmux 中的每一个窗口均可以打开多个面板,一个窗口的面板会同时展现在窗口中。下面是一些经常使用操做,在下一节介绍了 tmux 插件后会使操做更方便。

    • 关闭当前分屏:"prefix+x"
    • 显示面板编号:"prefix+q"
    • 最大化当前所在面板:"prefix+z",再次使用会复原当前面板大小。
    • 将当前面板上下分屏:"prefix+""
    • 将当前面板左右分屏:"prefix+%"
    • 选择当前窗口中下一个面板:"prefix+o"
    • 置换面板位置:"prefix+{" or "prefix+}" or "prefix+C-o" or "prefix+M-o"

经常使用配置:

  1. 修改 prefix 按键:上面已经介绍过了。

  2. 开启鼠标操做:

    #开启鼠标操做
    set -g mouse on
    复制代码

    开启鼠标操做可使用鼠标切换面板,而且一个比较使用的功能 copy/paste 功能:

    按住 alt 键(Option键),按住鼠标左键,移动鼠标以选中部分文本,松开鼠标左键后,选中的文本就复制到了系统的剪切板,能够在其余应用中粘贴。

    此外,若是在松开鼠标左键后,点击鼠标中键(不要放开 alt 键),则选中的文本会自动粘贴到当前面板中的输入处,同时,系统剪切板也是能够用的。

  3. 从新加载 tmux 配置快捷键:

    #在 tmux 中使用 prefix + r 从新加载配置
    bind r source-file ~/.tmux.conf \; display-message "Config reloaded"
    复制代码

    修改完成后,可使用 "prefix+:" 进入命令行模式,而后使用 "source ~/.tmux.conf" 生效新的配置,以后再次生效新配置就能够直接使用 "prefix+r" 快捷绑定了。

  4. 修改面板和窗口起始编号(默认均为 0):

    #窗口和面板的起始编号为 1
    set -g base-index 1
    setw -g pane-base-index 1
    复制代码
  5. 启用 256 色(这个应该默认就是支持的):

    #使 tmux 显示 256 色
    set -g default-terminal "screen-256color"
    复制代码
  6. 安装 TPM(Tmux Plugin Manager):

    • clone TPM 项目:

      git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
      复制代码
    • ~/.tmux.conf 底部添加:

      # List of plugins
      set -g @plugin 'tmux-plugins/tpm'
      set -g @plugin 'tmux-plugins/tmux-sensible'
      
      # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
      run '~/.tmux/plugins/tpm/tpm'
      复制代码
    • 重载 tmux 配置文件

  7. 使用 TPM 安装插件的方法:

    • 添加 .tmux.conf 文件中相似 set -g @plugin '…'这样的行,添加你想要的插件
    • 在 tmux 环境中使用 "prefix+I" 安装插件(ls ~/.tmux/plugins/能够看到抓下来的插件)
    • 若是要升级全部插件,敲 "prefix+U"
    • 若是要干掉某个插件,先从~/.tmux.conf 中删掉对应的行,而后 "prefix+alt+u"。
  8. 插件:tmux-pain-control

    该插件提供了一些便利的 pane 操做:

    • 竖直分隔面板:"prefix+|"
    • 水平分隔面板:"prefix+-"
    • 跳转到左边的面板:"prefix+h" or "prefix+C-h"
    • 跳转到上面的面板:"prefix+k" or "prefix+C-k"
    • 跳转到下面的面板:"prefix+j" or "prefix+C-j"
    • 跳转到右边的面板:"prefix+l" or "prefix+C-l"
  9. 插件:tmux-prefix-highlight

    安装该插件后,每次点击了 prefix 按键后,底部的状态栏会显示一个状态,详细请参考其 github 说明文档。之由于我安装了这个,是由于有时候命令不起做用时,我能够清晰看到是否是 prefix 没有成功触发。

  10. 复制粘贴:

    首先安装一个 tmux 插件 tmux-yank ,该插件可让 tmux 复制和粘贴系统剪切板。安装说明请参考项目的 README 说明。

    在 ~/.tmux.conf 文件中添加一下代码(个人 tmux 版本是 2.5,若是是之前的版本,命令可能不同):

    #复制操做
    set-window-option -g mode-keys vi
    bind-key -T copy-mode-vi 'v' send-keys -X begin-selection
    bind-key -T copy-mode-vi 'V' send-keys -X select-line
    bind-key -T copy-mode-vi 'r' send-keys -X rectangle-toggle
    bind-key -T copy-mode-vi 'y' send-keys -X copy-pipe-and-cancel "xclip -in -selection clipboard"
    复制代码

    在 tmux 会话中,使用 "prefix+r" 从新加载 ~/.tmux.conf,而后咱们能够作以下操做:

    "prefix+[" 进入 tmux 复制模式,使用 vim 快捷键移动光标到须要复制的文本起始位置,点击 "v" 开始复制,继续使用 vim 快捷键移动光标到须要复制的文本末尾位置,按下 "y" 后,退出 tmux 复制模式,而且复制了已选文本,这时,使用 "Command+v" 就能够将已复制文本粘贴了。而且,在其余应用也是可使用 "Command+v" 进行粘贴的。

fzf

fzf 提供命令行中的模糊搜索,绝对算得上是 shell 的一个大杀器,谁用谁知道。安装方法可参考 github README,使用 homebrew 安装很是简单。

fzf 提供对 tmux 和 vim 的支持,因此与本文所述的环境结合度很是高。下面看一下我常常用到的功能:

  1. 在 tmux 中搜索文件和目录:

    只需按下快捷键 Control+t 便可(不须要 tmux 中的 prefix 键),就会在当前的窗口中出现一个交互式的输入行,下方是搜索本目录的子目录和文件匹配到的结果,以下图:

    fzf0.png

    可使用 Control+n 和 Control+p 上下选择搜索结果,点击 Enter 会将该行内容输入到 tmux 的命令输入行中,使用 Control+g 退出 fzf 搜索模式。fzf 的搜索是模糊搜索,很是方便,另外能够看到 Control 键是很是的经常使用,这也是上面建议将键盘左下角的 Control 和 Capslock 键互换的缘由。

  2. 在 tmux 中索索历史命令:

    使用快捷键 Control+r (不须要 tmux 中的 prefix 键)。效果同上,只不过弹出的列表是历史命令。再也不详述。

  3. 支持部分 shell 命令的参数补全:

    • 输入:kill -9 ** 就会出现一个进程列表,输入进程 ID 便可杀死指定进程。
    • 输入:vim ** 会出现一个当前目录下面文件的列表,能够输入文件名进行匹配。
    • 还有一些其余命令,参考下 fzf 的说明文档吧,我经常使用的就这几种。

配置文件的管理

上面介绍的几个工具涉及到了多个配置文件,为了统一管理配置文件,建议集中管理并引入 git 进行版本控制。

vim 的配置文件是 ~/.vimrc,zsh 的配置文件是 ~/.zshrc,tmux 的配置文件是 ~/.tmux.conf,fzf 的配置文件 ~/.fzf.zsh。这里将几个文件放入到 ~/Dotfiles/ 目录中,并为该目录引入 git 版本控制,而后在 $home 目录下为三个文件建立与文件相同名字的符号连接。最后,直接修改由 git 管理的 Dotfiles 中的文件便可。

总结

本文中介绍的 iTerm2 和 MacVim 应该是只适用于 MacOS,对于 Linux 系统能够采用系统终端,而后安装 zsh,vim(有的系统只有vi,而没有vim,须要安装)。其他的例如 oh-my-zsh,tmux,fzf等功能,Linux 也是可使用的。

最后再推荐一个工具 Moom ,用着很是舒服,尤为是在笔记本电脑这种屏幕大小有限的环境下。具体使用方法这里就不介绍了,请参考 OS X 是了不得的操做系统:窗口控制应用 Moom 体验详解

关于 Shell 环境的配置先介绍这么多,有更好用的插件或配置我会更新上来。一眼看过去貌似命令比较多,不过我的觉着这些命令都不须要死记硬背,只要你坚持用上两周,我想基本能记个差很少了吧。通过我长期使用的体验,iTerm二、zsh、oh-my-zsh、vim 和 Tmux 的组合确实可以有效提升工做效率。

但愿全部程序员都能掌握一部分命令行的操做,而且有一个本身用的习惯的 Shell 环境。

参考文档

  1. iTerm2 Oh-my-zsh 配置与 agnoster 主题配置
  2. The Text Triumvirate
  3. 优雅地使用命令行:Tmux 终端复用
  4. 终极 Shell
  5. A tmux Crash Course
  6. 关于 Zsh,我最喜欢的那些特性
  7. Tmux 快捷键速查表
  8. tmux 配置指南
相关文章
相关标签/搜索