Vim查看日志技巧

vim查看日志技巧

  • 平常看日志都是用vim来查看,主要是使用vim能够快速打开大文件不卡顿,且搜索迅速,筛选也非常便捷
  • 后来看同事用 TextAnalysisTool 查看日志,感觉有些功能还挺实用的,于是想着能不能通过vim也实现这些功能,以下是 TextAnalysisTool 的常用功能
    • 筛选器:支持反选、上色(上色有优先级)
    • 折叠非筛选器命中的行
    • 导出筛选器命中的行到其他文件

模拟 TextAnalysisTool 功能

筛选器

  • :vimgrep /\v(ERROR|WARN)/ % then :copen

  • 染色

    bash 复制代码
    syn match LogError /^.*\[ERROR\].*$/
    highlight LogError ctermbg=Red
    
    syn match LogWarn /^.*\[WARN\].*$/
    highlight LogWarn ctermbg=Yellow
    
    syn match LogInfo /INFO/
    highlight link LogInfo Identifier
    • 将以上保存为一个文件比如 color.vim,在打开日志后实用命令: :source color.vim 即可,这样就不用每次都要临时配置颜色方案了。
    • 优先级:后定义的优先级比先定义的优先级要高

折叠

  • 其实导航窗口已经算是折叠后的效果了,而日志窗口是非折叠的效果,但是vim支持更高级的折叠功能
    • :set foldemethod=expr foldexpr=getline(v:lnum)!~'\\v(ERROR\|WARN)'
    • za 切换当前光标处的折叠项的展开和折叠状态
    • zR: 展开所有折叠
    • zM: 收起所有折叠

导出

  • 导出非常简单,在导航窗口中执行: :w file_name 即可

持久化

  • 如果每次打开都要做这么一系列操作要烦死了,所以可以将这些操作放到脚本文件log.vim
bash 复制代码
source color.vim
set foldmethod=expr foldexpr=getline(v:lnum)!~'\\v(ERROR\|WARN)'

vimgrep /\v(ERROR|WARN)/ %
copen
source color.vim
  • 运行完: :source log.vim 的效果图

blend

  • 如果觉得背景色太碍眼了,可以设置前景色: ctermbg 改为 ctermfg
相关推荐
FlightYe12 小时前
linux系统编程(八):阻塞与非阻塞IO对比
android·linux·运维·服务器·github·vim
爱和冰阔落3 天前
【Linux】两个毫无关系的进程怎么通信?命名管道 FIFO 从原理到 Server/Client 实战
android·linux·数据库·c++·vim
FeelTouch Labs6 天前
Node.js 中的 spawn 和 exec:子进程执行的不同方式对比
node.js·编辑器·vue·vim
邪修king7 天前
Re:Linux系统篇(七) 开发工具篇 Chapter3:Makefile 从入门到精通 —— 依赖关系、伪目标、栈式推导与自动化构建全解
linux·运维·服务器·vim
赵庆明老师10 天前
Vben精讲:21-详解web-antd:tsconfig.json
前端·json·vim
听风34711 天前
LazyVim 使用教程与快捷键指南
vim·neovim·lazyvim
XCDoris12 天前
湖南文旅vi设计包含哪些核心要素及视觉规范有哪些讲究?
vim
云泽80813 天前
Linux基础开发工具(三):Vim高级配置、Swap恢复机制与Sudo权限白名单详解
linux·运维·vim
道尔柯南15 天前
【Linux】基础开发工具Vim
linux·运维·vim
Allen_LVyingbo15 天前
基于结构化电子病历的临床风险预测模型构建与大模型协同优化
python·安全·机器学习·docker·vim·健康医疗