[博客翻译]一键即用:零配置工具的魅力


原文地址:https://arne.me/blog/we-need-more-zero-config-tools


它就是好用。— 史蒂夫·乔布斯

如果你关注这个博客,你会知道我正在做一个名为“Emacs Config From Scratch”1的系列。Emacs 是一个编辑器操作系统,你可以配置和自定义几乎所有内容。我喜欢你可以真正让它成为你的东西,但要到达那个地步需要付出很大努力。

最近,我开始喜欢那些开箱即用(command line)工具。这篇博客文章是为它们而作。

Fish

Julia Evans 最近发布了《我仍然喜欢 fish shell 的几个原因》,她提到的第一点就是“无需配置”。

在 ZSH 等 shell 中需要插件和大量代码才能实现的功能,比如自动建议,在 fish 中默认包含并已配置。在撰写本文时,我的 fish 配置文件的行数不到 31 行,其中大多数是缩写。

我配置了两个 fish 插件:z 用于跳转到目录,以及 hydro 作为我的 shell 提示符。两者都不需要额外的配置。

Helix

我的 Neovim 配置中有 21 个外部插件。让 LSP、tree-sitter 和格式化功能正常工作花费了很长时间(仅 LSP 就需要 3 个插件),最终还是有些地方不能正常工作。

我已经转用了 Helix,它可以实现许多开箱即用的功能,以下是一个非完整列表:

  • LSP(包括自动补全、显示签名、跳转到定义、显示引用等)即开即用
  • 内建 tree-sitter,甚至可以对 tree-sitter 对象执行选择操作
  • 文件选择器和全局搜索
  • 在普通模式下按下键会显示接下来可按的键及其功能
  • 可以跳转到任何可见单词,添加/移除/替换引号或其他字符
  • ... 还有更多功能

我全天使用的代码编辑器的配置文件只有 5 行代码。以下是它的内容:

theme = "kanagawa"

[editor]
line-number = "relative"
cursorline = true
rulers = [80]

我会说,由于它采用了选择 -> 操作模型,因此需要一段时间来适应,例如你需要运行 wd 而不是 dw 删除下一个单词。

Lazygit

在伦敦夸赞 Magit 后,我的团队向我介绍了 Lazygit,此后我一直使用它——它真的很好用,并且无需配置就能满足需求3。

你可以切换不同的屏幕模式,活动窗口大小会相应调整,基本上你想做的每件事都只需几个键即可实现。

Zellij

作为开箱即用的 Tmux 替代品,Zellij 无需任何配置即可良好运行。你可以设置布局而不需要额外插件(尽管有一个插件系统),我通常不会觉得缺少我习惯的 Tmux 配置中的任何功能。

我最喜欢的一个功能是浮动窗口。按 Ctrl + p,w 即可将某个窗口作为浮动窗口置顶显示——我经常将这个功能用于 Lazygit。

还有什么?

你有自己特别喜爱的无需或只需要少量配置的工具吗?给我发邮件,我会在这里增加你的推荐!

如果你正在开发某个项目,请务必确保默认体验能满足大多数人的需求。