如何将vim设置为journalctl的分页器?Fedora系统下配置方法问询
操作方案
可以实现将vim设置为journalctl的分页器,具体操作如下:
单次临时生效
如果仅需要某次查询journal日志时使用vim打开,直接使用管道命令即可,兼容所有systemd版本,不会受环境变量冲突影响:
- 命令:
journalctl | vim -R -
其中-R表示以只读模式打开,避免误修改日志内容;-指定vim从标准输入读取内容,进入vim后按G即可直接跳转到日志最后一行。
如果你要使用分页器变量的方式单次生效,正确命令为:
- 命令:
SYSTEMD_PAGER="vim -R -" SYSTEMD_LESS="" journalctl
永久生效配置
如果你需要每次调用journalctl都默认用vim作为分页器,按以下步骤配置:
- 编辑当前用户的shell配置文件:
- bash用户编辑
~/.bashrc - zsh用户编辑
~/.zshrc
- bash用户编辑
- 在配置文件末尾添加以下两行内容:
# 设置journalctl默认分页器为只读vim export SYSTEMD_PAGER="vim -R -" # 清空systemd默认传给分页器的less适配参数,避免和vim冲突 export SYSTEMD_LESS="" - 保存文件后执行对应命令让配置立即生效:
- bash用户执行:
source ~/.bashrc - zsh用户执行:
source ~/.zshrc
- bash用户执行:
之前配置不生效的原因
你之前的尝试失效核心有两个问题:
- 仅设置
SYSTEMD_PAGER=vim没有加-参数,vim默认不会从标准输入读取journalctl输出的内容- systemd默认会给分页器传递适配less的启动参数,这些参数vim无法识别,导致调用失败,必须清空
SYSTEMD_LESS变量规避冲突
内容的提问来源于stack exchange,提问作者Pierre Vittet
相关产品推荐
相关产品推荐

