十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

打造无鼠标阅读工作流:termpdf 终端 PDF 阅读器 + tmux + Vim 实战指南

打造无鼠标阅读工作流:termpdf 终端 PDF 阅读器 + tmux + Vim 实战指南 打造无鼠标阅读工作流termpdf 终端 PDF 阅读器 tmux Vim 实战指南【免费下载链接】termpdfbarebones graphical pdf/djvu/cbr/image viewer that works inside iTerm2 2.9 and Kitty项目地址: https://gitcode.com/gh_mirrors/te/termpdftermpdf 是一款运行在终端里的图形化 PDF 阅读器配合 tmux 与 Vim 可以彻底摆脱鼠标实现全键盘化的文档阅读体验。本文将带你从零开始了解 termpdf 终端 PDF 阅读器的安装方法、Vim 风格快捷键、tpdfc 远程控制技巧以及如何把它融入 tmux Vim 的无鼠标阅读工作流让你的论文、电子书和代码阅读效率翻倍。什么是 termpdf为什么你需要一个终端 PDF 阅读器程序员和研究者常常陷入这样的困境写代码用 Vim看文档却要切到图形界面鼠标在编辑器、PDF 阅读器、终端之间来回切换思路频繁被打断。termpdf 的出现解决了这个痛点——它是一个运行在终端内部的图形化 PDF 阅读器直接把 PDF 页面渲染到终端窗口里让你全程不离开命令行。termpdf 的定位是barebones极简它本质上是围绕终端图形转义码编写的一组脚本但胜在轻量、快速、够用。它默认支持 Kitty 终端的图形协议也兼容 iTerm2 2.9并实验性支持 libsixel 终端。在 Kitty 中配合terminal_dimensions辅助工具翻页渲染速度非常流畅。termpdf 支持的文件格式一览类型支持格式多页文档PDF、DJVU、TIFF、CBR、CBZ、CBT单张图片JPG、PNG、GIF、BMP、SVG、PSD 等十余种目录与压缩包文件夹、ZIP、RAR、TAR自动按页浏览也就是说termpdf 不仅能看 PDF还能看漫画CBR/CBZ、电子书扫描件DJVU和图片目录甚至支持用 LibreOffice 间接打开 docx、xlsx、pptx 等 Office 文档是一个相当全能的多格式终端阅读器。快速安装 termpdf3 步搞定termpdf 的安装非常简单核心就是两个可执行脚本termpdf和tpdfc。整个安装过程分三步准备依赖、获取脚本、配置终端。第一步准备终端与系统依赖首先确保你安装了较新版本的Kitty或iTerm2。然后根据系统安装依赖macOSbrew install poppler djvulibre libtiff unrar imagemagick bashDebian/Ubuntuapt install ghostscript bc libtiff5 unrar imagemagick poppler-utilsArch Linuxpacman -S bc poppler djvulibre ghostscript libtff unrar imagemagick其中 Poppler 负责处理 PDF 拆页ImageMagick 负责图片转换Ghostscript 负责把 PDF 转成 PNG 用于快速渲染unrar 则用于解压 CBR 漫画压缩包。第二步下载并安装 termpdf 脚本获取项目源码后把termpdf和tpdfc两个脚本设为可执行并加入 PATH 即可git clone https://gitcode.com/gh_mirrors/te/termpdf cd termpdf chmod ux termpdf tpdfcArch 用户也可以直接用 AUR 安装yay -S termpdf-git依赖会自动处理。第三步安装 terminal_dimensions 加速渲染这是一个约 50 行的小型 C 工具用于向终端报告字符单元格与像素尺寸。Kitty 下安装它后图片渲染速度会明显提升也是体验 sixel 模式的前提git clone https://github.com/dsanson/terminal_dimensions cd terminal_dimensions gcc terminal_dimensions.c -o terminal_dimensions mv terminal_dimensions /usr/local/bin安装完成后直接运行termpdf 论文.pdf就能在终端里看到 PDF 页面了。上手使用Vim 风格快捷键让你爱不释手termpdf 最吸引人的地方在于它完整继承了Vim 的操作逻辑j/k翻页、gg/G跳转首尾页、/搜索文本、m标记页面——熟悉 Vim 的用户几乎零成本上手。在脚本内运行termpdf -k可以随时查看全部快捷键。快捷键功能j/k向前 / 向后翻一页支持5j一次翻 5 页gg/G跳到第一页 / 最后一页nG直接跳转到第 n 页/查询词在当前文档中搜索文本n/N下一个 / 上一个搜索结果m[r]/[r]在当前页打标记 / 跳转到标记页yy/p把当前页导出为 PDF / 打印文档r/R刷新显示 / 重新加载文档c/a裁剪页面留白 / 在分屏中批注t/T在 less 中查看全文 / 当前页文本q退出可以看到termpdf 连页面旋转[n]r旋转 0~270 度、标记页批量导出yr从当前页到标记导出为 PDF这些进阶操作都设计成了 Vim 风格。除了快捷键它还支持:命令行模式例如:goto 20跳到第 20 页、:crop裁剪边距、:gui用系统默认阅读器打开文档。用 tpdfc 远程控制 termpdf配合 Vim 无缝切换termpdf 的杀手锏功能是tpdfc——一个远程控制脚本。你可以从任意位置比如另一个终端窗格、Vim 内部甚至 tmux 里向正在运行的 termpdf 实例发送命令实现边写代码边翻论文的神奇体验。tpdfc goto 5 # 翻到第 5 页 tpdfc -n 2 goto 5 # 控制第 2 个 termpdf 实例 tpdfc -p 1234 goto # 按 PID 控制指定实例 tpdfc -l # 列出所有正在运行的实例原理很简单tpdfc把命令写入$HOME/.config/termpdf/sigusr1文件然后向目标进程发送SIGUSR1信号termpdf 收到信号后执行对应命令。这意味着你可以在Vim 中定义快捷键一键把当前光标下的页码发送给 termpdf 跳转实现真正的编辑器与阅读器联动。termpdf tmux Vim无鼠标阅读实战工作流把 termpdf 装好后就可以搭建完整的无鼠标阅读工作流了。下面分享三个高频实战场景。场景一论文精读边看边记在 tmux 中开两个窗格左边用 Vim 打开笔记文件右边运行termpdf paper.pdf。读到关键段落时用m打上标记切到 Vim 记笔记需要回看时用跳回标记页。配合tpdfc还可以在 Vim 里映射快捷键直接控制翻页全程手不离键盘。场景二代码与文档对照阅读读开源项目源码时常常需要对照 API 文档。左侧 Vim 看代码右侧 termpdf 看文档j/k翻页与代码滚动节奏一致/搜索文档关键词配合 Vim 的/搜索双栏检索效率极高。文档读完用yy把关键页导出为 PDF 保存方便后续查阅。场景三漫画与图片目录浏览termpdf 支持 CBR/CBZ 漫画格式和图片目录直接把漫画文件拖进终端就能像翻书一样看漫画。目录会按find递归顺序排列--depth参数可以控制搜索深度。配合[n]r旋转功能竖版扫描图片也能轻松调整方向。配置文件与自定义按键termpdf 的配置极其简单把自定义命令写入$HOME/.config/termpdf/config文件即可该文件在启动时会被自动加载。你可以在里面覆盖keys()函数重新定义按键映射也可以调整打印设置。另外$HOME/.config/termpdf/exithook文件会在脚本退出前执行适合做清理工作。如果想深入了解脚本的内部实现可以直接阅读源码主程序在termpdf脚本中其中keys()函数约第 198 行起定义了全部按键映射tpdfc脚本则实现了远程控制逻辑项目根目录的README.md有完整的使用说明。常见问题与注意事项tmux 兼容性早期版本在 iTerm tmux 下表现良好当前版本可能存在兼容问题。如果遇到渲染异常建议先在原生终端Kitty/iTerm中确认可用再尝试 tmux 场景。像素尺寸报 0部分终端下terminal_dimensions会返回0 0这会导致渲染变慢属于终端能力限制Kitty 下通常没有此问题。脚本的健壮性termpdf 本质是 bash 脚本没有完善的错误处理极端情况下可能崩溃属于预期内的极简特性。缩放功能README 中标注/-/缩放功能目前处于 broken 状态需要缩放时可以试试裁剪c功能。总体来说termpdf 是一款理念极客、上手极快的终端 PDF 阅读器。如果你是 Vim 用户、经常在终端里工作或者渴望摆脱鼠标专注阅读那么 termpdf tmux Vim 的组合值得一试。从安装到配置只需几分钟却能换来长期专注、高效的无鼠标阅读体验。【免费下载链接】termpdfbarebones graphical pdf/djvu/cbr/image viewer that works inside iTerm2 2.9 and Kitty项目地址: https://gitcode.com/gh_mirrors/te/termpdf创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表