在麒麟OS中,如果想通过命令行修改默认编辑器,通常可以分为三步完成:首先设置 EDITOR 和 VISUAL 环境变量,这些变量既可临时生效,也可以写入 ~/.bashrc 或 ~/.zshrc 实现永久配置;其次,使用 xdg-mime 命令将 text/plain 类型关联到 code.desktop;最后,还需要手动检查并编辑 ~/.config/mimeapps.list 文件中的 [Default Applications] 段落,确保默认文本编辑器设置真正生效。

在麒麟OS里通过命令行设置默认编辑器,主要是为了让系统在调用文本编辑器的场景下(例如编辑 crontab、执行 git commit、使用 sudoedit 等)自动打开你指定的程序,而不是继续使用系统默认预装的 vim 或 nano。这也是很多用户搜索“麒麟OS修改默认编辑器”“Linux 命令行设置默认编辑器”时最常见的需求。
设置EDITOR和VISUAL环境变量
这一步会直接影响依赖环境变量的各类 CLI 工具,是命令行环境中最直接、优先级也较高的默认编辑器设置方式。
第一步:打开终端,执行以下命令,为当前会话临时设置默认编辑器:
export EDITOR=code; export VISUAL=code
第二步:验证配置是否已经生效,运行:
echo $EDITOR
第三步:如果输出结果是 code,就表示设置成功;不过需要注意,这种方式只在当前终端窗口中有效。若想让麒麟OS默认编辑器永久生效,还需要把配置写入 shell 启动文件。
第四步:根据你当前使用的 shell 类型(bash 或 zsh),执行对应命令追加配置:
对于bash用户:echo 'export EDITOR=code' >> ~/.bashrc && echo 'export VISUAL=code' >> ~/.bashrc
对于zsh用户:echo 'export EDITOR=code' >> ~/.zshrc && echo 'export VISUAL=code' >> ~/.zshrc
第五步:重新加载配置文件,使修改立即生效:
source ~/.bashrc 或 source ~/.zshrc
【注意:EDITOR 和 VISUAL 必须同时设置,否则某些工具(如 git)仍有可能继续调用 vim】
用xdg-mime绑定text/plain MIME类型
这种方法可以确保图形界面和命令行工具(例如 xdg-open *.txt)在打开文本文件时保持一致行为,尤其会影响系统中文本文件的默认打开方式,以及部分“在终端中打开”后关联的编辑器程序。
方法一:先确认目标编辑器对应的 .desktop 文件是否存在
执行命令:ls /usr/share/applications/ | grep -i code
方法二:如果返回结果中包含 code.desktop,则继续执行绑定命令:
xdg-mime default code.desktop text/plain
方法三:完成后验证绑定结果:
xdg-mime query default text/plain
如果返回的是 code.desktop,说明 text/plain 的默认编辑器绑定已经成功;如果返回为空或者显示错误的名称,就需要进一步检查 .desktop 文件路径是否正确,或者先确认 VS Code 是否已经安装,并且对应的桌面启动项已经成功注册到系统中。
修改~/.config/mimeapps.list手动指定
当 xdg-mime 命令没有生效,或者系统尚未自动生成该文件时,可以通过手动编辑 mimeapps.list 来强制指定默认应用。这种方式适合处理 MIME 关联异常、配置损坏或权限不正确等场景。
第一步:先确保配置目录存在:
mkdir -p ~/.config
第二步:检查并修复文件所有权:
使用命令“ls -l ~/.config/mimeapps.list 2>/dev/null || touch ~/.config/mimeapps.list”进行查看。
如果出现权限拒绝等提示,就执行下面这个命令:
“sudo chown $USER:$USER ~/.config/mimeapps.list”。这个 chown 命令是 Linux 系统中用于修改文件或目录所有权的重要工具,通过重新指定所属用户和用户组,可以更准确地解决默认编辑器配置文件无法写入的问题。
第三步:使用终端中的文本编辑器打开该文件:
gedit ~/.config/mimeapps.list
第四步:在 [Default Applications] 段落下添加以下一行:
text/plain=code.desktop
【必须严格使用等号连接,且 code.desktop 必须与 /usr/share/applications/ 中实际存在的文件名完全一致】
