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

目录

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 上 , 你也可以这样管理。

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/270130.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开发工具:Git和SVN有哪些差异,看完你就懂了?

目录 Git vs SVN Git核心思想 Git-SVN常用命令 初始化 配置 增删文件 分支 提交 拉取 撤销 查询 Git或SVN相信很多搞技术的工程师都用过,不仅仅只有程序员才进行版本管理,机械、硬件、测试等其他岗位也有版本管理的需求。 早期用SVN的比较多,…

微信PC版近期更新的几个功能,你都会用吗?

目录 1、查找和添加微信号 2、截图识别二维码或小程序码 3・识别聊天窗口二维码和小程序码 4、左侧菜单栏新增搜一搜 5、发送文件时多出一个留言输入框 6、群聊邀请确认同步至PC端 7、视频号新增添加到桌面快捷方式 8、支持电脑开机时自动启动微信 9、微信电子身份证新功能上线…

Spring系列(九):Spring属性赋值注解@Value 用法介绍

目录 1、Value注解的作用 2、Value 注解的写法 3、用法示例 3.1 resources 目录新增 book.properties 配置文件 3.2 新增实体 Book.java 3.3 新增 TestValueConfig.java 3.4 新增 TestValue.java 测试文件 4、使用场景 今天给大家分享Spring属性赋值注解Value 用法&#xff0c…

Linux:9个实用shell运维脚本

目录 1、Dos攻击防范(自动屏蔽攻击IP) 2、Linux系统发送告警脚本 3、MySQL数据库备份单循环 4、MySQL数据库备份多循环 5、Nginx访问访问日志按天切割 6、Nginx访问日志分析脚本 7、查看网卡实时流量脚本 8、服务器系统配置初始化脚本 9、监控100台服务器…

Spring系列(十):@Autowired 和@Resource注解用法介绍

目录 一、Autowired 注解 1.1 介绍 1.2 作用 二、Resource 注解 2.1 介绍 2.2 Resource 自动注入顺序 三、Autowired 和 Resource区别 3.1 相同点: 3.2 不同点: 今天给大家分享Spring属性注入的注解Autowired 和Resource介,希望对大家能有所帮…

电脑软件:5个实用的Windows软件,大幅度提高你的工作效率

目录 软件一:投屏宝 软件二:Everything 软件三:uTools 软件四:Quicklook 软件五:CCleaner 今天小编给大家大家推荐这5款Windows必装的效率软件,实用又免费,可以大幅度提高你的工作效率。 软件一…

电脑软件:推荐八款提高工作效率的软件

目录 1、火绒杀毒软件 2、 Everything搜索神器 3、Bandizip压缩神器 ​​​​​​​4、Chrome浏览器 or 火狐 5、Snipaste 截图神器 6、geek卸载神器 7、vscode 代码编辑神器 8、Typora 今天小编给大家推荐八款提高工作效率的软件,欢迎下载试一试! 1、火…

centos7 安装 python3.5

centos7 安装 python3.5 一、 python虚拟环境virtualenv VirtualEnv用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper为前者提供了一些便利的命令行上的封装。 Virtualenv是一个非常好的virtual python environment builder,他最大的好处…

手机知识:90Hz或120Hz屏幕刷新率有啥区别

目录 1、屏幕刷新率概念介绍 2、显示器的工作原理 3、60Hz,90Hz和120Hz有什么区别? 4、高屏幕刷新率的缺点 5、你是否需要90Hz或120Hz的刷新率 今天小编给大家介绍手机90Hz或120Hz屏幕刷新率有啥区别,看完你就懂了! 1、屏幕刷新率…

电脑技巧:如何更改Win10桌面文件路径,轻松给系统盘瘦身

大家平常为了方便经常会在桌面上保存各种各样的文件,有些桌面文件可能会比较大从而占用C盘的磁盘空间,而系统盘我们在分配的时候,一般只有60-100G左右,时间长了我们的系统盘就会出现磁盘容量不足的情况,其实我们可以将…

MAC下快速打开指定目录

1.通过快捷键搜索 command 空格,输入关键词 2.通过控制台打开 1) 跳转到指定路径 cd /usr 2) 当前路径下打开文件夹 open .

Spring系列(十一):@Profile 注解用法介绍

目录 一、Profile 注解的作用 二、Profile 指定环境的方式 2.1 JVM启动参数 2.2 通过代码方式控制: 三、Profile 实现切换数据源示例 3.1 导入依赖 3.2 新建数据源配置文件dataSource.properties 3.3 新建TestProfileConfig.java 配置类 3.4 新建测试类TestProfile.…

传递参数的2种情况的理解。

最近差不多一个月没写博客了,主要的原因是目前在使用 Markdown 写学到的一些心得,一方面方便记笔记,另一方面页面排版更加的美观。 个人笔记站点 : https://yewenxiang23.github.io 碰到的问题: 今天碰到一个关于传递参数的问题&a…

电脑技巧:电脑卡顿的4个优化小技巧,太有用了

目录 一、调整电脑处理器性能 二、关闭系统自动更新 三、设置“处理器”个数 四、开机加速 电脑经常卡顿,就会严重影响了大家的工作效率,其实你的电脑可以开启“加速”优化设置来提升电脑的性能,今天小编就来给大家分享四个能减少电脑卡顿的实…