常言道,工欲善其事、必先利其器,熟练一套高效且趁手的工具,对开发工作的重要性不言而喻。
本文给大家分享下命令行开发环境,文章较长,配图较多, 其中几处详细内容,已将其折叠起来,读者可视兴趣展开阅读。
命令行工具非常多,称得上神器的,提炼为以下四个:
我选择工具的标准是:美、快、爽。
Alacritty 是一款 rust 编写的、 启用 GPU 加速的终端模拟器。
天下武功,唯快不破,它唯一特点就是:快。
图1.1 alacritty 终端模拟器
在 2018 年之前,我一直在用流行的 iterm 2。不过,自从邂逅 alacritty 后,就从未离开。相比 iterm2 来说,alacritty 的功能要简单的多, 但是,它足够快。
下面的动图展示了同时在 alacritty(左) 和 iterm2 中用 viu打开一张图片时的渲染速度:
图1.2 左边 alacritty 和 右边 iterm2 渲染图片对比
作为终端,一定要颜值在线。Alacritty 也支持配色,可参考 alacritty-theme , 我用的配色是 snazzy ,从未换过。此外,选择一款 等宽的 字体,对终端的整体颜值至关重要,我一直在用的字体是 InconsolataLGC Nerd Font。
我对 alacritty 的功能需求非常少,只要它够快,够漂亮 就好。比如说,我是没有用终端 Tab 页的习惯的, 这些事情 tmux 完全可以搞定。作为终端模拟器,简单快速就好!
无独有偶,选择 fish shell 的原因,仍然是它更快,同时也更轻。
这里所说的「快」,是指 shell 的 prompt 加载快, 如下图中,进入 fish 几乎是没有延迟的:
图2.1 配置的少的 shell 才快
当然,不带任何配置的 zsh 和 bash 也很快。但是,为了酷炫的颜值、快捷的功能, 许多 zsh 用户都会搭配类似 oh-my-zsh 的东西, 或者是搞一大堆配置,这都会让 shell 变慢。
但是真正的不同在于,fish 是开箱即用的,大可不必自己折腾那么多。比如 fish 的一大特色是自带补全暗示功能:
图2.2 fish 自带的 hint 提示
还有自带的 ManPage 补全功能等等,这一切都无需插件。
图2.3 fish 自带的 ManPage 补全功能
因此 fish 的插件要相对少得多。我在用的也很少:
图片图2.4 fish shell 中 jethrokuan/z 的自动跳转
除去工具本身外,unix 中 emacs 风格的 shell 快捷键 也值得推荐, 它们在常见的 shell (fish, zsh, bash) 中都是通用的,其中部分快捷键甚至可以在网页文本框中使用。
其实,主流的 shell (fish, zsh, bash) 也都支持 vi 风格的操作模式。虽然身为 vim 用户,之所以在 shell 中选择 emacs 风格,是因为它在大部分情况下都是默认的 设定。
在带过的每一支技术团队中,我总会提醒小伙伴们要勤用这些 emacs 风格的快捷键,它看似麻烦, 但是一旦熟练起来,一定比鼠标快。只要刻意地去用,就会熟起来,将大有裨益。
我们将之前发过的各种项目及工具进行了整理,收录到了GitHub项目,欢迎各位小伙伴光临Star,地址如下:https://github.com/Wechat-TJ/TJ-WORLD-FORU
Tmux 是一款终端复用神器,不必多言,它早已声名远扬。
简单讲,终端复用就是在一个终端中,可以开多个 shell 会话。一些现代的终端应用,比如 iterm2, 也支持 Tab 页 和 切屏,不过它们在 tmux 的颜值和效率面前,都相形见绌。
图3.1 tmux 常用的功能
几乎所有的 tmux 功能,都需要按一下 前缀键 来触发, 默认的是 C-b,我则是习惯用 C-a 。
我常用的 tmux 功能有:面板、窗口、Copy 模式、会话保持 还有 两三个小插件。
Tmux 的可配置性很强,我的建议是,多用默认的快捷键,只做少许的自定义快捷键, 毕竟我们许多时候会在服务器等其他环境下使用它。
Vim 有着「编辑器之神」的美誉, 如果把程序员比作武林中的侠客,那么 vim 就是倚天屠龙的利器。已诞生 30 余年, 宝刀虽老,但是在 2022 年的今天,它的文本编辑效率仍尚无敌手。
图4.1 我的 vim 编辑器的样子
相对于现代编辑器 或 IDE 来说,上手 vim 的难度曲线要陡峭许多。据说有许多新手在刚刚进入 vim 时,不得不关机或重启终端程序来退出它 …
不过,这是个先苦后甜的过程。如果前面花功夫去学,坚持用下去,甚至形成肌肉记忆,就会爱上它,而 vim 也会在后期带来惊喜。熟练之后,自会入境,享受 「指随心动、码字如飞」的感觉。
Vim 中的学问很多,我用 vim 码字也蛮多年了,但也远远不敢妄称精通,只能说是经常用。
但是,只需要了解 vim 中少部分的知识点,就足够完成大部分的编辑工作。
我将基本内容总结为下面几块。
顺带一提,目前在用的配色是 PaperColor ,用了好久了, 中间偶尔会烦一下,换换配色、换换心情,不过,最终又总是回到这个配色上来。
Vim 的键位集中在字母区,大部分情况下,在 vim 中编辑,手是不用离开键盘的。话说,是不是许多 HHKB 用户都喜欢用 vim 呢?
如果非要去理解 vim 编辑器之高效到底来自何处,恐怕只能亲身体会才能知晓。我看来,高效的不是 vim 本身, 而是它帮用户养成的编辑习惯。
目前有一款社区维护的、脱胎于 vim 的编辑器,叫做 NeoVim , 它支持 lua 语言的插件, 对 LSP作了 内建支持, 而且完全兼容 vim ,在社区驱动下,neovim 的迭代要比 vim 快多了,社区生态也是遍地开花。不过我仍然没有离开 vim8,因为目前为止还找不到什么动力去换,或许未来会尝试切过去试一段时间, 所谓, 生命不息,折腾不止 嘛。
在配置方面,许多人都把配置做成了仓库托管在 github 上 , 你也可以这样管理。
最后,天下神器,因人而异。不同的工具在不同的人手上、发挥的效果不尽相同。工具的强大,因为它们的高上限,而最终威力几何,取决于执剑之人 。
神兵之神,不在兵器本身,而在于用兵器的人。
原文地址:https://toutiao.io/k/hjda293
------
我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。另外,如果你最近想跳槽的话,年前我花了2周时间收集了一波大厂面经,节后准备跳槽的可以点击这里领取!
··································
你好,我是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书、创过业、国企4年互联网6年。10年前毕业加入宇宙行,工资不高、也不算太忙,业余坚持研究技术和做自己想做的东西。4年后离开国企,加入永辉互联网板块的创业团队,从开发、到架构、到合伙人。一路过来,给我最深的感受就是一定要不断学习并关注前沿。只要你能坚持下来,多思考、少抱怨、勤动手,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你看好一个事情,一定是坚持了才能看到希望,而不是看到希望才去坚持。相信我,只要坚持下来,你一定比现在更好!如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯,帮你积累弯道超车的资本。
点击阅读原文,领取2022最新10000T学习资料