标签 Tmux 下的文章

tmux 是 终端复用器 terminal multiplexer 的缩写,它允许用户在单个窗口中创建或启用多个终端(垂直或水平),当你处理不同的问题时,可以在单个窗口中轻松访问和控制它们。

它使用客户端-服务器模型,允许在用户之间共享会话,也可以将终端连接到 tmux 会话。我们可以根据需要轻松移动或重新排列虚拟控制台。终端会话可以从一个虚拟控制台自由切换到另一个。

tmux 依赖于 libeventncurses 库。tmux 在屏幕底部提供了一个状态行,它显示当前 tmux 会话的有关信息,例如当前窗口编号、窗口名称、用户名、主机名、当前时间和日期。

启动 tmux 时,它会在一个单独窗口上创建一个新的会话,并将其显示在屏幕上。它允许用户在同一个会话中创建任意数量的窗口。

许多人说它类似于 screen,但我不这么认为,因为它提供了许多配置选项。

注意: Ctrl+b 是 tmux 中的默认命令前缀,因此,要在 tmux 中执行任何操作,你必须先输入该前缀然后输入所需的选项。

tmux 特性

  • 创建任意数量的窗口
  • 在一个窗口中创建任意数量的窗格
  • 它允许垂直和水平分割
  • 分离并重新连接窗口
  • 客户端-服务器架构,这允许用户之间共享会话
  • tmux 提供许多配置技巧

建议阅读:

如何安装 tmux 命令

大多数 Linux 系统默认预安装 tmux 命令。如果没有,按照以下步骤安装。

对于 Debian/Ubuntu,使用 APT-GET 命令APT 命令来安装:

$ sudo apt install tmux

对于 RHEL/CentOS,使用 YUM 命令来安装:

$ sudo yum install tmux

对于 Fedora,使用 DNF 命令来安装:

$ sudo dnf install tmux

对于 Arch Linux,使用 Pacman 命令来安装:

$ sudo pacman -S tmux

对于 openSUSE,使用 Zypper 命令来安装:

$ sudo zypper in tmux

如何使用 tmux

在终端上运行以下命令来启动 tmux 会话。启动 tmux 后,它会在一个新窗口中创建新会话,并将使用你的用户账户自动登录到你的默认 shell。

$ tmux

你会得到类似于我们上面的截图。tmux 附带状态栏,显示有关当前会话详细信息、日期、时间等。

状态栏信息如下:

  • [0]:它表示由 tmux 服务器创建的会话号。默认情况下,它从 0 开始。
  • 0:bash:表示会话号、命令行提示符(这里的 bash 表示 shell 名称)。
  • *:这表示该窗口现在处于活动状态。
  • 主机名:显示服务器的完全主机名。
  • 日期与时间:显示当前日期和时间。

(LCTT 译注:tmux 的状态可以根据需要定制,也会因环境、版本的不同而不同。)

如何拆分窗口

tmux 允许用户垂直或水平分割窗口,称为窗格。每个窗格都包含自己独立运行的终端实例。我们来看看如何做到这一点。

按下 Ctrl+b, % 来垂直分割窗格。

按下 Ctrl+b, " 来水平分割窗格。

如何在窗格之间移动

假设,我们创建了一些窗格,希望在它们之间移动,这该怎么做?如果你不知道怎么做,那么使用 tmux 就没有意义了。使用以下控制键执行操作。在窗格之间移动有许多方法。

  • Ctrl+b, ← - 选择左边的窗格
  • Ctrl+b, → - 选择右边的窗格
  • Ctrl+b, ↑ - 选择上边的窗格
  • Ctrl+b, ↓ - 选择下边的窗格
  • Ctrl+b, { - 来向左交换窗格
  • Ctrl+b, } - 来向右交换窗格
  • Ctrl+b, o - 切换到下一个窗格(从左到右,从上到下)
  • Ctrl+b, ; - 移动到先前活动的窗格

出于测试目的,我们将在窗格之间移动。现在我们在 pane2 中,它展示了 lsb_release -a 命令的输出。

我们将移动到 pane0,它显示 uname -a 命令的输出。

如何打开/创建新窗口

你可以在一个终端内打开任意数量的窗口。

  • Ctrl+b, c 来创建一个新窗口。
  • Ctrl+b, n 移动到下一个窗口。
  • Ctrl+b, p 移动到上一个窗口。
  • Ctrl+b, 0 ~ Ctrl+b, 9 立即移动到特定窗口。
  • Ctrl+b, l 移动到先前选择的窗口。

我有两个窗口,第一个窗口有三个窗格,其中包含操作系统版本信息,top 命令输出和内核信息。

第二个窗口有两个窗格,其中包含 Linux 发行版 logo 信息。使用以下命令执行操作:

Ctrl+b, w 以交互方式选择当前窗口。

如何缩放窗格

你正在一些非常小的窗格中工作,并且你希望将其缩小以进行进一步的工作。要做到这一点,使用以下键绑定。

目前我们有三个窗格,我在 pane1 工作,它使用 top 命令显示系统活动信息,我将缩放它。

缩放窗格时,它将隐藏所有其它窗格,并只显示窗口中的缩放窗格。

Ctrl+b, z 缩放窗格,并再次按下它使缩放窗格恢复原状。

显示窗格信息

要了解窗格编号及其大小,运行以下命令。

Ctrl+b, q 可简单显示窗格索引。

显示窗口信息

要知道窗口编号、布局大小,与窗口关联的窗格数量及其大小等,运行以下命令。

只需运行 tmux list-windows 即可查看窗口信息。

如何调整窗格大小

你可能需要调整窗格大小来满足你的要求。你必须按下 Ctrl+b, :,然后在页面底部的黄色颜色条上输入以下详细信息。

在上一部分中,我们打印了窗格索引,它同时也显示了窗格大小。为了测试,我们要向增加 10 个单元。参考以下输出,该窗格将 pane1 和 pane2 的大小从 55x21 增加到 55x31

语法: Ctrl+b, : 然后输入 resize-pane [options] [cells size]

  • Ctrl+b, : 然后输入 resize-pane -D 10 将当前窗格大小向下调整 10 个单元。
  • Ctrl+b, : 然后输入 resize-pane -U 10 将当前窗格大小向上调整 10 个单元。
  • Ctrl+b, : 然后输入 resize-pane -L 10 将当前窗格大小向左调整 10 个单元。
  • Ctrl+b, : 然后输入 resize-pane -R 10 将当前窗格大小向右调整 10 个单元。

分离并重新连接 tmux 会话

tmux 最强大的功能之一是能够在需要时分离和重新连接会话。

运行一个长时间运行的进程,然后按下 Ctrl+b,接着按 d,通过离开正在运行的进程安全地分离你的 tmux 会话。

建议阅读: 如何在断开 SSH 会话后保持进程/命令继续运行

现在,运行一个长时间运行的进程。出于演示目的,我们将把此服务器备份移动到另一个远程服务器以进行灾难恢复(DR)。

$ rsync -avzhe ssh /backup [email protected]:/backups/week-1/

在分离 tmux 会话之后,你将获得类似下面的输出。

[detached (from session 0)]

运行以下命令以列出可用的 tmux 会话。

$ tmux ls
0: 3 windows (created Tue Jan 30 06:17:47 2018) [109x45]

现在,使用适当的会话 ID 重新连接 tmux 会话,如下所示:

$ tmux attach -t 0

如何关闭窗格和窗口

只需在相应的窗格中输入 exit 或按下 Ctrl-d 即可关闭它,和终端关闭类似。要关闭窗口,按下 Ctrl+b, &

好了,就到这里了,希望你喜欢上它。


via: https://www.2daygeek.com/tmux-a-powerful-terminal-multiplexer-emulator-for-linux/

作者:Magesh Maruthamuthu 译者:MjSeven 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

tmux 是一个终端多路复用工具,它可以让你系统上的终端支持多面板。你可以排列面板位置,在每个面板运行不同进程,这通常可以更好的地利用你的屏幕。我们在 这篇早期的文章 中向读者介绍过这一强力工具。如果你已经开始使用 tmux 了,那么这里有一些技巧可以帮你更好地使用它。

本文假设你当前的前缀键是 Ctrl+b。如果你已重新映射该前缀,只需在相应位置替换为你定义的前缀即可。

设置终端为自动使用 tmux

使用 tmux 的一个最大好处就是可以随意的从会话中断开和重连。这使得远程登录会话功能更加强大。你有没有遇到过丢失了与远程系统的连接,然后好希望能够恢复在远程系统上做过的那些工作的情况?tmux 能够解决这一问题。

然而,有时在远程系统上工作时,你可能会忘记开启会话。避免出现这一情况的一个方法就是每次通过交互式 shell 登录系统时都让 tmux 启动或附加上一个会话。

在你远程系统上的 ~/.bash_profile 文件中加入下面内容:

if [ -z "$TMUX" ]; then
    tmux attach -t default || tmux new -s default
fi

然后注销远程系统,并使用 SSH 重新登录。你会发现你处在一个名为 default 的 tmux 会话中了。如果退出该会话,则下次登录时还会重新生成此会话。但更重要的是,若您正常地从会话中分离,那么下次登录时你会发现之前工作并没有丢失 - 这在连接中断时非常有用。

你当然也可以将这段配置加入本地系统中。需要注意的是,大多数 GUI 界面的终端并不会自动使用这个 default 会话,因此它们并不是登录 shell。虽然你可以修改这一行为,但它可能会导致终端嵌套执行附加到 tmux 会话这一动作,从而导致会话不太可用,因此当进行此操作时请一定小心。

使用缩放功能使注意力专注于单个进程

虽然 tmux 的目的就是在单个会话中提供多窗口、多面板和多进程的能力,但有时候你需要专注。如果你正在与一个进程进行交互并且需要更多空间,或需要专注于某个任务,则可以使用缩放命令。该命令会将当前面板扩展,占据整个当前窗口的空间。

缩放在其他情况下也很有用。比如,想象你在图形桌面上运行一个终端窗口。面板会使得从 tmux 会话中拷贝和粘帖多行内容变得相对困难。但若你缩放了面板,就可以很容易地对多行数据进行拷贝/粘帖。

要对当前面板进行缩放,按下 Ctrl+b, z。需要恢复的话,按下相同按键组合来恢复面板。

绑定一些有用的命令

tmux 默认有大量的命令可用。但将一些更常用的操作绑定到容易记忆的快捷键会很有用。下面一些例子可以让会话变得更好用,你可以添加到 ~/.tmux.conf 文件中:

bind r source-file ~/.tmux.conf \; display "Reloaded config"

该命令重新读取你配置文件中的命令和键绑定。添加该条绑定后,退出任意一个 tmux 会话然后重启一个会话。现在你做了任何更改后,只需要简单的按下 Ctrl+b, r 就能将修改的内容应用到现有的会话中了。

bind V split-window -h
bind H split-window

这些命令可以很方便地对窗口进行横向切分(按下 Shift+V)和纵向切分(Shift+H)。

若你想查看所有绑定的快捷键,按下 Ctrl+B, ? 可以看到一个列表。你首先看到的应该是复制模式下的快捷键绑定,表示的是当你在 tmux 中进行复制粘帖时对应的快捷键。你添加的那两个键绑定会在 前缀模式 prefix mode 中看到。请随意把玩吧!

使用 powerline 更清晰

如前文所示,powerline 工具是对 shell 的绝佳补充。而且它也兼容在 tmux 中使用。由于 tmux 接管了整个终端空间,powerline 窗口能提供的可不仅仅是更好的 shell 提示那么简单。

Screenshot of tmux powerline in git folder

如果你还没有这么做,按照 这篇文章 中的指示来安装该工具。然后使用 sudo 来安装附件:

sudo dnf install tmux-powerline

接着重启会话,就会在底部看到一个漂亮的新状态栏。根据终端的宽度,默认的状态栏会显示你当前会话 ID、打开的窗口、系统信息、日期和时间,以及主机名。若你进入了使用 git 进行版本控制的项目目录中还能看到分支名和用色彩标注的版本库状态。

当然,这个状态栏具有很好的可配置性。享受你新增强的 tmux 会话吧,玩的开心点。


via: https://fedoramagazine.org/4-tips-better-tmux-sessions/

作者:Paul W. Frields 选题:lujun9972 译者:lujun9972 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

不久前,我们写过一篇关于 teleconsole 的介绍,该工具可用于快速分享终端给任何人(任何你信任的人)。今天我们要聊一聊另一款类似的应用,名叫 tmate

tmate 有什么用?它可以让你在需要帮助时向你的朋友们求助。

什么是 tmate?

tmate 的意思是 teammates,它是 tmux 的一个分支,并且使用相同的配置信息(例如快捷键配置,配色方案等)。它是一个终端多路复用器,同时具有即时分享终端的能力。它允许在单个屏幕中创建并操控多个终端,同时这些终端还能与其他同事分享。

你可以分离会话,让作业在后台运行,然后在想要查看状态时重新连接会话。tmate 提供了一个即时配对的方案,让你可以与一个或多个队友共享一个终端。

在屏幕的地步有一个状态栏,显示了当前会话的一些诸如 ssh 命令之类的共享信息。

tmate 是怎么工作的?

  • 运行 tmate 时,会通过 libssh 在后台创建一个连接到 tmate.io (由 tmate 开发者维护的后台服务器)的 ssh 连接。
  • tmate.io 服务器的 ssh 密钥通过 DH 交换进行校验。
  • 客户端通过本地 ssh 密钥进行认证。
  • 连接创建后,本地 tmux 服务器会生成一个 150 位(不可猜测的随机字符)会话令牌。
  • 队友能通过用户提供的 SSH 会话 ID 连接到 tmate.io。

使用 tmate 的必备条件

由于 tmate.io 服务器需要通过本地 ssh 密钥来认证客户机,因此其中一个必备条件就是生成 SSH 密钥 key。 记住,每个系统都要有自己的 SSH 密钥。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/magi/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/magi/.ssh/id_rsa.
Your public key has been saved in /home/magi/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:3ima5FuwKbWyyyNrlR/DeBucoyRfdOtlUmb5D214NC8 magi@magi-VirtualBox
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|                 |
|           .     |
|      . . =   o  |
|     *ooS= . + o |
|  . =.@*o.o.+ E .|
|   =o==B++o  = . |
|  o.+*o+..    .  |
| ..o+o=.         |
+----[SHA256]-----+

如何安装 tmate

tmate 已经包含在某些发行版的官方仓库中,可以通过包管理器来安装。

对于 Debian/Ubuntu,可以使用 APT-GET 命令或者 APT 命令to 来安装。

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:tmate.io/archive
$ sudo apt-get update
$ sudo apt-get install tmate

你也可以从官方仓库中安装 tmate。

$ sudo apt-get install tmate

对于 Fedora,使用 DNF 命令 来安装。

$ sudo dnf install tmate

对于基于 Arch Linux 的系统,使用 Yaourt 命令Packer 命令 来从 AUR 仓库中安装。

$ yaourt -S tmate

$ packer -S tmate

对于 openSUSE,使用 Zypper 命令 来安装。

$ sudo zypper in tmate

如何使用 tmate

成功安装后,打开终端然后输入下面命令,就会打开一个新的会话,在屏幕底部,你能看到 SSH 会话的 ID。

$ tmate

要注意的是,SSH 会话 ID 会在几秒后消失,不过不要紧,你可以通过下面命令获取到这些详细信息。

$ tmate show-messages

tmateshow-messages 命令会显示 tmate 的日志信息,其中包含了该 ssh 连接内容。

现在,分享你的 SSH 会话 ID 给你的朋友或同事从而允许他们观看终端会话。除了 SSH 会话 ID 以外,你也可以分享 web URL。

另外你还可以选择分享的是只读会话还是可读写会话。

如何通过 SSH 连接会话

只需要在终端上运行你从朋友那得到的 SSH 终端 ID 就行了。类似下面这样。

$ ssh session: ssh [email protected]

如何通过 Web URL 连接会话

打开浏览器然后访问朋友给你的 URL 就行了。像下面这样。

只需要输入 exit 就能退出会话了。

[Source System Output]
[exited]

[Remote System Output]
[server exited]
Connection to sg2.tmate.io closed by remote host。
Connection to sg2.tmate.io closed。

via: https://www.2daygeek.com/tmate-instantly-share-your-terminal-session-to-anyone-in-seconds/

作者:Magesh Maruthamuthu 译者:lujun9972 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

一些 Fedora 用户把大部分甚至是所有时间花费在了命令行终端上。 终端可让您访问整个系统,以及数以千计的强大的实用程序。 但是,它默认情况下一次只显示一个命令行会话。 即使有一个大的终端窗口,整个窗口也只会显示一个会话。 这浪费了空间,特别是在大型显示器和高分辨率的笔记本电脑屏幕上。 但是,如果你可以将终端分成多个会话呢? 这正是 tmux 最方便的地方,或者说不可或缺的。

安装并启动 tmux

tmux 应用程序的名称来源于 终端 terminal 复用器 muxer 多路复用器 multiplexer 。 换句话说,它可以将您的单终端会话分成多个会话。 它管理窗口和窗格:

  • 窗口 window 是一个单一的视图 - 也就是终端中显示的各种东西。
  • 窗格 pane 是该视图的一部分,通常是一个终端会话。

开始前,请在系统上安装 tmux 应用程序。 你需要为您的用户帐户设置 sudo 权限(如果需要,请查看本文获取相关说明)。

sudo dnf -y install tmux

运行 tmux程序:

tmux

状态栏

首先,似乎什么也没有发生,除了出现在终端的底部的状态栏:

Start of tmux session

底部栏显示:

  • [0] – 这是 tmux 服务器创建的第一个会话。编号从 0 开始。tmux 服务器会跟踪所有的会话确认其是否存活。
  • 0:testuser@scarlett:~ – 有关该会话的第一个窗口的信息。编号从 0 开始。这表示窗口的活动窗格中的终端归主机名 scarletttestuser 用户所有。当前目录是 ~ (家目录)。
  • * – 显示你目前在此窗口中。
  • “scarlett.internal.fri” – 你正在使用的 tmux 服务器的主机名。
  • 此外,还会显示该特定主机上的日期和时间。

当你向会话中添加更多窗口和窗格时,信息栏将随之改变。

tmux 基础知识

把你的终端窗口拉伸到最大。现在让我们尝试一些简单的命令来创建更多的窗格。默认情况下,所有的命令都以 Ctrl+b 开头。

  • Ctrl+b, " 水平分割当前单个窗格。 现在窗口中有两个命令行窗格,一个在顶部,一个在底部。请注意,底部的新窗格是活动窗格。
  • Ctrl+b, % 垂直分割当前单个窗格。 现在你的窗口中有三个命令行窗格,右下角的窗格是活动窗格。

tmux window with three panes

注意当前窗格周围高亮显示的边框。要浏览所有的窗格,请做以下操作:

  • Ctrl+b,然后点箭头键
  • Ctrl+b, q,数字会短暂的出现在窗格上。在这期间,你可以你想要浏览的窗格上对应的数字。

现在,尝试使用不同的窗格运行不同的命令。例如以下这样的:

  • 在顶部窗格中使用 ls 命令显示目录内容。
  • 在左下角的窗格中使用 vi 命令,编辑一个文本文件。
  • 在右下角的窗格中运行 top 命令监控系统进程。

屏幕将会如下显示:

tmux session with three panes running different commands

到目前为止,这个示例中只是用了一个带多个窗格的窗口。你也可以在会话中运行多个窗口。

  • 为了创建一个新的窗口,请敲Ctrl+b, c 。请注意,状态栏显示当前有两个窗口正在运行。(敏锐的读者会看到上面的截图。)
  • 要移动到上一个窗口,请敲 Ctrl+b, p
  • 要移动到下一个窗口,请敲 Ctrl+b, n
  • 要立即移动到特定的窗口,请敲 Ctrl+b 然后跟上窗口编号。

如果你想知道如何关闭窗格,只需要使用 exitlogout,或者 Ctrl+d 来退出特定的命令行 shell。一旦你关闭了窗口中的所有窗格,那么该窗口也会消失。

脱离和附加

tmux 最强大的功能之一是能够脱离和重新附加到会话。 当你脱离的时候,你可以离开你的窗口和窗格独立运行。 此外,您甚至可以完全注销系统。 然后,您可以登录到同一个系统,重新附加到 tmux 会话,查看您离开时的所有窗口和窗格。 脱离的时候你运行的命令一直保持运行状态。

为了脱离一个会话,请敲 Ctrl+b, d。然后会话消失,你重新返回到一个标准的单一 shell。如果要重新附加到会话中,使用一下命令:

tmux attach-session

当你连接到主机的网络不稳定时,这个功能就像救生员一样有用。如果连接失败,会话中的所有的进程都会继续运行。只要连接恢复了,你就可以恢复正常,就好像什么事情也没有发生一样。

如果这些功能还不够,在每个会话的顶层窗口和窗格中,你可以运行多个会话。你可以列举出这些窗口和窗格,然后通过编号或者名称把他们附加到正确的会话中:

tmux list-sessions

延伸阅读

本文只触及的 tmux 的表面功能。你可以通过其他方式操作会话:

  • 将一个窗格和另一个窗格交换
  • 将窗格移动到另一个窗口中(可以在同一个会话中也可以在不同的会话中)
  • 设定快捷键自动执行你喜欢的命令
  • ~/.tmux.conf 文件中配置你最喜欢的配置项,这样每一个会话都会按照你喜欢的方式呈现

有关所有命令的完整说明,请查看以下参考:


作者简介:

Paul W. Frields 自 1997 年以来一直是 Linux 用户和爱好者,并于 2003 年加入 Fedora 项目,这个项目刚推出不久。他是 Fedora 项目委员会的创始成员,在文档,网站发布,宣传,工具链开发和维护软件方面都有贡献。他于2008 年 2 月至 2010 年 7 月加入 Red Hat,担任 Fedora 项目负责人,并担任 Red Hat 的工程经理。目前他和妻子以及两个孩子居住在弗吉尼亚。


via: https://fedoramagazine.org/use-tmux-more-powerful-terminal/

作者:Paul W. Frields 译者:Flowsnow 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

让GUI都玩儿蛋去!鼠标是你的敌人!只有键盘才是你唯一的朋友!

如果把Vim和Tmux结合在一起会发生什么?你将拥有完美的编程环境!下面是我多年来珍藏的一些不传之秘,有了这些,你立刻就能轻松打造出属于你的Vim开发环境。

Tmux相关

  • Tmux速成班,这个不错,可以让你快速掌握如何开始使用Tmux。
  • 这是我的tmux.conf配置文件,它有一个定制状态栏,可以大大改进颜色主题、优化可读性,里面还有一个必不可少的操作:重设快捷将,因为Ctrl+bVim要用,因此它帮你改为了Ctrl+a。
  • 其实,构建优化IDE就像写一个bash脚本一样简单。链接内的例子展示了如何编写一个.sh脚本来运行你自己的编程环境。

Vim插件

  • Vundle,Vim的插件管理器,用它可以跟踪.vimrc文件中的所有插件,还可以进行脚本的一键安装、更新或删除。额,我会告诉你用它还可以直接在Vim里搜索插件吗?总之,这个插件扩展绝对是居家旅行、杀人越货之Vim必备佳品。
  • Syntastic 可以检测语法是否正确,写代码的时候要想避免低级错误,这个工具必不可少,它的确能大大提高你的代码编写速度。
  • Supertab,这款插件可以帮助你使用实现自动补全。它会搜索当前文档中的所有字符串,然后给出所有的匹配项建议。对写代码带来的好处不只是提升速度,还可以避免很多拼写错误。如果有兴趣,在本文最后一部分用户推荐,有此插件的替代品。
  • Ack,99%的用户会选择用它代替grep。它完美集成在Vim里,用户可以直接用它搜索项目文件,搜索结果则显示在一个独立的窗口里。在本文最后一部分用户推荐,也有此插件的替代品。
  • CtrlP 能够极快的模糊搜索全路径文件、缓冲区、“最近使用”(MRU)和标签等等,纯粹用VimL写成,专为Vim搜索。
  • NERDTree 可以帮你浏览整个文件系统、打开文件或目录。它以树形结构显示整个文件系统,支持键盘操作和简单的文件系统操作。
  • Sparkup可以帮助你更快的编写HTML代码。支持类CSS语法完整的HTML扩展代码。在本文最后一部分用户推荐,也有此插件的替代品。

小贴士

  • Vimux可以帮你在Vim中与Tmux进行交互。例如在不需要离开Vim的情况下进行测试、编写脚本、建立任务等。
  • 《自动安装Vundle》这篇文章介绍了在.vimrc配置文件中只需添加几行VimL脚本,这样每次你在一个新环境中运行Vim的时候,它就能自动安装Vundle及所有关联包。在你拷贝Vim配置文件到一个新环境或新的服务器时,这是非常有用的。
  • 一名开发者的成功故事介绍了他是如何告别他曾经最信任的MacBook Pro,并改用iPad + Linode在云上开始开发工作。

用户推荐

  • YouCompleteMe,由Reddit用户hnasarat推荐。它安装起来稍微麻烦一些,但是支持非常强大的语法补全,包括C、Ruby、Python、PHP等许多语言。
  • Ag,由gckjk推荐,大多数Reddit用户都知道它,这是升级版的ack,速度快了3到5倍。它能读取.gitignore和.hgignore,或者.agignore,从而忽略一些被版本控制软件所忽略的匹配文件(译注:不加入版本库的文件,我想你大多数时候没有搜索它的意图)。
  • Emmet,由另一个资深reddit用户damnated推荐。这是一款Sparkup的替代品,可以非常方便快速地用标签标记字符串。链接里有示例演示视频。
  • Unite由网友 basetta推荐,它可以作为前面多个插件的集大成者。你可以用它搜索文件(就像CtrlP),搜索文档内容(就像ack或ag),还可以在下拉历史或缓冲区间进行自由移动和切换。所有这些功能都集成在了这一个插件里,非常方便!

via: http://devcharm.com/pages/18-vim-is-your-new-ide

译者:Mr小眼儿 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Tmux 是一个 C 语言编写的终端,它能够在单一窗口中同时访问和控制多个终端。它是一个类似于 GNU Screen 的工具。使用它,用户可以在 Linux 系统上管理多个任务和命令行程序,而不用同时打开多个终端窗口,Tmux 还可以切换到后台在需要的时候在调用到前台来。

在 Debian 和 Ubuntu 下安装 Tmux 的命令:

sk@sk:~$ sudo apt-get install tmux

在 CentOS 和 RHEL 中,它不存在于官方的软件源中,所以需要添加 EPEL 库。添加命令:

[root@server ~]# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

添加完毕后,可以用下面的命令来安装它:

[root@server ~]# yum install tmux

安装完毕后,只需要执行如下命令就可以使用它了:

[root@server ~]# tmux

执行这个命令后,您将会被转移到 Tmux 的会话中。转移到会话中后,您需要先按下 Ctrl+B 才能执行其他的命令。您可以先按下 Ctrl+B 后按 "?" 来查看所有支持的命令。

https://img.linux.net.cn/data/attachment/album/201307/01/220317dodu2dvgugddgdib.png

建立一个新 Tmux 会话命令:

先按下 Ctrl+B 后在按下 "c",您将建立一个新的会话。

https://img.linux.net.cn/data/attachment/album/201307/01/220318tiqeu0a5shiksz7x.png

在新的会话界面,您可以在底部看到绿色的 Tmux 会话记录,* 号标记的会话表示当前的会话。

您可以在所列出的会话之间切换,按下 Ctrl+B 然后在按 "w",然后使用箭头来移动到你需要的会话,然后在回车,就可以切换到相应的会话中。如果要退出当前的会话,只需要键入"exit"命令即可。

https://img.linux.net.cn/data/attachment/album/201307/01/220319wqm3nwoqe7jmupom.png

如果您想拆分两个会话窗口,可以按下 Ctrl+B 后在按下 "%" 来实现。

https://img.linux.net.cn/data/attachment/album/201307/01/220321bb1trtd82bzqd6ft.png

要从会话脱离,可以按下 Ctrl+B 后接着按 "d" 。将脱离所有的会话返回原来的终端屏幕。

如果要恢复脱离的会话,您可以输入如下命令来恢复:

[root@server ~]# tmux attach

这样,你将恢复链接到原来的会话中。

更详细的使用命令,可以查看 Tmux 的 man 来得到。

[root@server ~]# man tmux

试试这个工具吧。