您如何在人工智能时代使用Vim?
您如何在人工智能时代使用Vim? 16条观点由rstagi 50分钟前发布 | 隐藏 | 过去 | 收藏 | 19条评论 我是一名重度Vim用户,但现在我越来越少查看代码,我在想这是否仍然有意义。求助 我在herdr中使用Vim和Claude Code(Fable)。我可以跳到一个标签查看代码,再跳回去与Claude聊一聊。我可以将这些任务分布到多个项目中,使用herdr的工作区。我仍然会在有意义的时候写代码。有时我用注释来注释代码,然后跳回去询问LLM处理我刚刚添加的注释并进行更改。有时我让LLM分析大量代码,并为我制定行动计划,然后我自己去实现。对于个人项目,我仍然自己写更多的代码,因为我喜欢这样。对于工作,我会选择最有效获得最佳结果的方法。我已经很长一段时间不使用用户界面(除了浏览器),而Vim仍然非常有用。诚然,语言服务器正在逐渐被忽视,但在Vim中用Markdown写下目标并将其发给LLM,使用自己编写的CLI框架,并以同样的方式查看结果要舒服得多。全是Unix。LLM只是最新的工具箱中的一部分。通常,我会将终端拆分并与代理并排打开,根据需要进行手动编辑或审查代码。在Vim内部,我有一个小插件,可以为LLM提供带有注释的文本块,指示其执行的操作。然后,它用执行结果替换文本。这对于一些不需要完整会话的小编辑非常有用。我还有预配置的neoterm浮动窗口以及pi代理,这让我可以立即跳入会话。就像正常使用一样?但我不让AI为我写代码——我把它当作一个伙伴,问问题,然后我自己实现所有的东西。这让我保持敏锐,也帮助我理解最新的AI内容。根据需要使用它来写和编辑代码。就像你一直以来那样。这仍然是一个非常有用的技能。我在让代理审查我的代码并提供内联自动补全方面,取得的成功远远超过了让我代理编写代码的尝试,而我再试图进行审查。我最终对代码的心理模型更好,输出的质量比我或代理单独完成要高。自从AI代理出现以来,这一点没有任何变化。 tmux,nvim搭配一些插件,主要是fzf和LSP支持。如果我使用AI代理,我只是把它放在另一个tmux窗口中。我用Vim相当多!我发现,在这个新时代,我在命令行中待得很久,并喜欢保持在命令行中。Vim(我使用neovim)是一个很好的方法。此外,我的很多工作流程现在是在远程服务器上完成的(我喜欢exe.dev),在那里Claude Code在一定程度上被沙盒限制(它仍然可以造成损害,只是不是我主计算机的文件系统)。当我配置这些服务器时,我有一个安装我所有Vim文件的设置脚本,让Vim在远程服务器上的表现与本地完全相同。我可以根据需要编辑内容。我也可以在这些服务器上访问Claude Code。因此,在远程机器上的工作感觉与在本地工作差不多。我知道我可以设置光标或VS Code来访问SSH服务器,但这就是不那么容易,也不太自然,在我看来。关于先调用`ssh remote-server`这一点,我很喜欢。我从使用Vim作为我的主要编辑器转向使用Zed的Vim模式。当您有第二个进程在后台编辑您的项目时,您需要一个可以立即显示这些更改而不需要繁琐缓冲区重新加载的编辑器。我还自定义了Zed的UI,以优化代码的阅读和审查,主要是添加注释或小的集中编辑,而不是从头开始编写整个文件。我仍然使用Vim,但与之前完全不同。我并不在乎高效的移动/编辑绑定。我现在使用它仅仅是为了导航和查看文件。在Claude和Codex中按^G会将您转入$EDITOR以编辑您的提示。我一直在使用这个。"vimdiff"是一种非常好的代码变更并排审查方法。在使用Fable的第二天,我意识到我维护了15-20年的.vimrc可能再也不会改变了。使用Opus时,我仍然觉得自己像是在进行配对编码,并想亲自去做一些更改,但与Fable合作(即使是Fable管理Opus代理)让我有了完全不同的心态,我意识到我只会制造麻烦。我的Neovim + AI工作流程是在终端拆分中并行运行Neovim(LazyVim)和Claude Code。随着代理的更改,我在Neogit中审查它们。我现在不再手动编辑了,但在进行审查时仍然是通过键盘导航代码。我可以快速跳转到引用,打开文件,通过键盘快捷键很快阅读diff。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡