运维:分享四款非常好用的命令行软件

目录

1、终端程序 — Alacritty

2、Shell – Fish

3、终端复用 — Tmux

4、编辑器 — Vim


6cd6f229b428f509720a8c442d4166e5.png

常言道,工欲善其事、必先利其器,熟练一套高效且趁手的工具,对开发工作的重要性不言而喻。

本文给大家分享下命令行开发环境,文章较长,配图较多, 其中几处详细内容,已将其折叠起来,读者可视兴趣展开阅读。

命令行工具非常多,称得上神器的,提炼为以下四个:

  • 终端程序 - Alacritty

  • Shell - Fish

  • 终端复用 — Tmux

  • 编辑器 — Vim

我选择工具的标准是:美、快、爽。

1、终端程序 — Alacritty

Alacritty 是一款 rust 编写的、 启用 GPU 加速的终端模拟器。

天下武功,唯快不破,它唯一特点就是:快。

d4b3b996c7167783b113f771d97b2132.png

图1.1 alacritty 终端模拟器

在 2018 年之前,我一直在用流行的 iterm 2。不过,自从邂逅 alacritty 后,就从未离开。相比 iterm2 来说,alacritty 的功能要简单的多, 但是,它足够快。

下面的动图展示了同时在 alacritty(左) 和 iterm2 中用 viu打开一张图片时的渲染速度:

db92d7b5e216a94520c10dc7c2978c20.gif

图1.2 左边 alacritty 和 右边 iterm2 渲染图片对比

作为终端,一定要颜值在线。Alacritty 也支持配色,可参考 alacritty-theme , 我用的配色是 snazzy ,从未换过。此外,选择一款 等宽的 字体,对终端的整体颜值至关重要,我一直在用的字体是 InconsolataLGC Nerd Font。

我对 alacritty 的功能需求非常少,只要它够快,够漂亮 就好。比如说,我是没有用终端 Tab 页的习惯的, 这些事情 tmux 完全可以搞定。作为终端模拟器,简单快速就好!

2、Shell – Fish

无独有偶,选择 fish shell 的原因,仍然是它更快,同时也更轻。

这里所说的「快」,是指 shell 的 prompt 加载快, 如下图中,进入 fish 几乎是没有延迟的:

9d81a2e5b61844b422cac22e7438c88f.gif

图2.1 配置的少的 shell 才快

当然,不带任何配置的 zsh 和 bash 也很快。但是,为了酷炫的颜值、快捷的功能, 许多 zsh 用户都会搭配类似 oh-my-zsh 的东西, 或者是搞一大堆配置,这都会让 shell 变慢。

但是真正的不同在于,fish 是开箱即用的,大可不必自己折腾那么多。比如 fish 的一大特色是自带补全暗示功能:

264dc08cf61e5e9a134afda937a707db.png

图2.2 fish 自带的 hint 提示

还有自带的 ManPage 补全功能等等,这一切都无需插件。

f2d5c91bc0028f2f360a6407570902b5.png

图2.3 fish 自带的 ManPage 补全功能

因此 fish 的插件要相对少得多。我在用的也很少:

图片
  • pure-fish/pure 从未换过的 fish prompt 主题,它是如此简洁。

  • jethrokuan/z 快速跳转目录的插件

    b3a0e635c09b06bafe0aa1ed89087d1a.gif

    图2.4 fish shell 中 jethrokuan/z 的自动跳转

除去工具本身外,unix 中 emacs 风格的 shell 快捷键 也值得推荐, 它们在常见的 shell (fish, zsh, bash) 中都是通用的,其中部分快捷键甚至可以在网页文本框中使用。

  • Emacs 风格的 shell 快捷键 - 光标移动和编辑

  • Emacs 风格的 shell 快捷键 - 回翻历史命令

  • Emacs 风格的 shell 快捷键 - 进程挂起

其实,主流的 shell (fish, zsh, bash) 也都支持 vi 风格的操作模式。虽然身为 vim 用户,之所以在 shell 中选择 emacs 风格,是因为它在大部分情况下都是默认的 设定。

在带过的每一支技术团队中,我总会提醒小伙伴们要勤用这些 emacs 风格的快捷键,它看似麻烦, 但是一旦熟练起来,一定比鼠标快。只要刻意地去用,就会熟起来,将大有裨益。

我们将之前发过的各种项目及工具进行了整理,收录到了GitHub项目,欢迎各位小伙伴光临Star,地址如下:https://github.com/Wechat-TJ/TJ-WORLD-FORU

3、终端复用 — Tmux

Tmux 是一款终端复用神器,不必多言,它早已声名远扬。

简单讲,终端复用就是在一个终端中,可以开多个 shell 会话。一些现代的终端应用,比如 iterm2, 也支持 Tab 页 和 切屏,不过它们在 tmux 的颜值和效率面前,都相形见绌。

73602308f4bab28675fcaf75b64678cd.gif

图3.1 tmux 常用的功能

几乎所有的 tmux 功能,都需要按一下 前缀键 来触发, 默认的是 C-b,我则是习惯用 C-a 。

我常用的 tmux 功能有:面板、窗口、Copy 模式、会话保持 还有 两三个小插件。

  • tmux - 面板和窗口快捷键

  • tmux - copy 模式

  • tmux - 会话保持

  • tmux - 用到的三个小插件

Tmux 的可配置性很强,我的建议是,多用默认的快捷键,只做少许的自定义快捷键, 毕竟我们许多时候会在服务器等其他环境下使用它。

4、编辑器 — Vim

Vim 有着「编辑器之神」的美誉, 如果把程序员比作武林中的侠客,那么 vim 就是倚天屠龙的利器。已诞生 30 余年, 宝刀虽老,但是在 2022 年的今天,它的文本编辑效率仍尚无敌手。

6b18b9cba04aebf6912cf43dfbb34c89.png

图4.1 我的 vim 编辑器的样子

相对于现代编辑器 或 IDE 来说,上手 vim 的难度曲线要陡峭许多。据说有许多新手在刚刚进入 vim 时,不得不关机或重启终端程序来退出它 …

不过,这是个先苦后甜的过程。如果前面花功夫去学,坚持用下去,甚至形成肌肉记忆,就会爱上它,而 vim 也会在后期带来惊喜。熟练之后,自会入境,享受 「指随心动、码字如飞」的感觉。

Vim 中的学问很多,我用 vim 码字也蛮多年了,但也远远不敢妄称精通,只能说是经常用。

但是,只需要了解 vim 中少部分的知识点,就足够完成大部分的编辑工作。

我将基本内容总结为下面几块。

  • Vim - 5 种常用的模式

  • Vim - 快速移动光标 motion

  • Vim - 快速编辑文本

  • Vim - 窗口和标签页

  • Vim - 开发和编程

顺带一提,目前在用的配色是 PaperColor ,用了好久了, 中间偶尔会烦一下,换换配色、换换心情,不过,最终又总是回到这个配色上来。

Vim 的键位集中在字母区,大部分情况下,在 vim 中编辑,手是不用离开键盘的。话说,是不是许多 HHKB 用户都喜欢用 vim 呢?

如果非要去理解 vim 编辑器之高效到底来自何处,恐怕只能亲身体会才能知晓。我看来,高效的不是 vim 本身, 而是它帮用户养成的编辑习惯。

目前有一款社区维护的、脱胎于 vim 的编辑器,叫做 NeoVim , 它支持 lua 语言的插件, 对 LSP作了 内建支持, 而且完全兼容 vim ,在社区驱动下,neovim 的迭代要比 vim 快多了,社区生态也是遍地开花。不过我仍然没有离开 vim8,因为目前为止还找不到什么动力去换,或许未来会尝试切过去试一段时间, 所谓, 生命不息,折腾不止  嘛。

结尾语

命令行下的快捷键虽然多,但是不同工具的快捷键,都具有一定的共通性。而这些快捷键熟练之后,将体会到,键盘操作是比鼠标要快的。

在配置方面,许多人都把配置做成了仓库托管在 github 上 , 你也可以这样管理。

最后,天下神器,因人而异。不同的工具在不同的人手上、发挥的效果不尽相同。工具的强大,因为它们的高上限,而最终威力几何,取决于执剑之人 。

神兵之神,不在兵器本身,而在于用兵器的人。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT技术分享社区

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值