使用Neovim编辑K9s资源YAML时修改无法自动生效求助
K9s中Neovim编辑资源YAML自动生效的解决办法
问题根源
K9s是靠编辑器的退出码和文件变更信号来判断是否要自动应用修改的。Neovim默认的保存退出行为(比如:wq)或者swap文件机制,会让K9s误判成没有修改,所以不会触发kubectl apply;而nano的行为刚好符合K9s的预期,所以能自动生效。
解决方法
设置环境变量指定Neovim启动参数
给Neovim加上-n参数禁用swap文件,避免K9s识别文件变更出问题。执行下面的命令临时生效:export EDITOR="nvim -n"要永久生效的话,把这条命令加到
~/.bashrc、~/.zshrc这类shell配置文件里,然后执行source ~/.bashrc(对应你的shell配置文件)刷新即可。修改K9s配置文件
找到K9s的配置文件(通常在~/.k9s/config.yaml),添加或修改编辑器配置:editor: command: nvim args: ["-n"]保存后重启K9s就生效了。
换用
:x命令退出Neovim
别用:wq,试试:x——这个命令只在文件有修改时才保存退出,返回的退出码更贴合K9s的判断逻辑,大概率能触发自动应用。排查Neovim插件
如果装了自动保存类的插件,它们会后台偷偷保存文件,导致K9s抓不到你手动触发的修改信号。临时禁用这类插件,再测试编辑操作。
内容的提问来源于stack exchange,提问作者Marius Kimmina
相关产品推荐
相关产品推荐

