💻 摸鱼神器:用Vim在办公室优雅看小说 | Windows配置教程+PowerShell自动化脚本 | 程序员专属
据媒体报导,2022届高校毕业生规模预计达1076万人,同比增加167万人,再创历史新高。
如此大规模的毕业生涌入人才市场,企业该如何消化呢?又有什么办法能够降低就业难度呢?
以我拙见,这并非老板需要考虑的问题,而是需要我们在职社畜来进行努力。努力的方向也很简单:停止内卷、投身摸鱼事业,降低单人工作量以增加就业岗位。
今天,就教大家一个摸鱼小技巧——use-vim-read-novel-at-work。
一、声明
本教程仅适用于部分程序开发岗。
若是HR、医生、教师、设计师、警察、财务等工作中很少用到代码编辑器的岗位则不适用本教程。如果因为本教程而导致遭到领导训斥,本文作者不承担任何责任。
适用人群:
- ✅ 软件开发工程师(前端/后端/全栈)
- ✅ 数据分析师(经常使用命令行)
- ✅ DevOps工程师(频繁操作终端)
- ✅ 系统管理员(日常工作涉及Vim)
- ❌ 非技术岗位(容易被识破)
风险提示:
- ⚠️ 请合理安排工作时间,摸鱼适度
- ⚠️ 重要会议期间请勿使用
- ⚠️ 绩效考核期谨慎操作
- ⚠️ 建议配合正常工作使用,避免引起怀疑
二、为什么选择Vim?
在介绍具体方法之前,先说说为什么Vim是办公室摸鱼的最佳选择:
🎯 五大核心优势
-
完美伪装 🔒
- Vim是程序员标配工具,领导看到以为你在编辑配置文件或代码
- 黑色背景+彩色文本,典型的开发者界面
- 命令行操作,看起来非常专业
-
极致简洁 📝
- 纯文本界面,无弹窗、无广告、无花哨UI
- 不占用额外屏幕空间
- 降低被发现的概率
-
功能实用 ⚡
- 老板键(F2一键退出)
- 空格键翻页(流畅阅读体验)
- 自动记忆阅读位置(下次继续)
- 支持搜索、跳转等高级功能
-
资源友好 💻
- 几乎不占用内存和CPU
- 不会影响正常工作软件运行
- 老旧电脑也能流畅使用
-
跨平台支持 🌍
- Windows/Mac/Linux通用
- 可在VSCode、PyCharm、Eclipse等IDE终端中使用
- 随时随地,想读就读
📊 与其他工具对比
| 特性 | Vim | 浏览器阅读 | 专用阅读软件 | PDF阅读器 |
|---|---|---|---|---|
| 隐蔽性 | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
| 资源占用 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 功能丰富度 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 学习成本 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 自定义程度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
三、下载并安装 Vim(会装的同学请跳过这一步)
这里只提供windows的下载与安装方法。
官方下载地址:https://www.vim.org/download.php#pc

点这个gvimxx.exe进行下载
下载完成后直接打开,有的时候电脑比较敏感,会提示有风险。其实没啥风险。点击更多信息里面的仍要安装就可以了。


然后无脑下一步就可以了。
安装成功后设置环境变量
在桌面的快捷方式上右键,打开文件所在位置。

复制刚刚打开的目录路径

按 win 键,输入”环境变量”并点击”编辑系统环境变量”

依次进行:点击”环境变量” – 双击”Path” – 双击空白处 – 粘贴前面复制的 vim 目录路径 – 一路点击”确定”

按 win 键,输入”powershell” 并按回车进入 powershell。
在 powershell 中执行”vim –version”检查一下是否安装成功了吧!

💡 小贴士:
- 如果
vim --version显示不是内部命令,说明环境变量未生效,重启电脑试试 - 也可以使用Chocolatey包管理器安装:
choco install vim - Mac用户可使用Homebrew:
brew install vim - Linux用户通常已预装,无需额外安装
四、配置 vim
在 powershell 中执行”vim ~/.vimrc”
按一下 ”:” 键(英文 ”:”),输入 “set paste”并按回车进入粘贴模式,此模式文本粘贴将会保留原有的文本格式,而不会自动格式化。
然后按 “i” 键,进入编辑模式。
把下面的内容复制进去。
" 按一下空格往下翻两行map <Space> 2j" 老板键 按 F2 保存退出map <F2> <Esc>ZZ" 记忆上次编辑位置autocmd BufReadPost *\ if line("'\"")>0&&line("'\"")<=line("$") |\ exe "normal g'\"" |\ endif" 设置文件编码格式set encoding=utf-8set fileencodings=utf-8,chinese,latin-1,gbk,gb18030,gk2312if has("win32") set fileencoding=chineseelse set fileencoding=utf-8endif" 允许退格键删除和tab操作set smartindentset smarttabset expandtabset tabstop=4set softtabstop=4set shiftwidth=4set backspace=2set textwidth=79set nu" 高亮syntax on"colorscheme delek"colorscheme elflord"colorscheme murphycolorscheme pablo完事按 “Esc” 键,输入”

这样 vim 的配置就大功告成了。
🔧 配置详解
让我详细解释每个配置项的作用:
1. 快捷键映射
map <Space> 2j " 空格键 = 向下翻2行(阅读更流畅)map <F2> <Esc>ZZ " F2 = 保存并退出(老板键,紧急情况下使用)2. 智能记忆功能
autocmd BufReadPost *\ if line("'\"")>0&&line("'\"")<=line("$") |\ exe "normal g'\"" |\ endif这段配置会自动记录你上次关闭文件时的光标位置,下次打开时直接跳转到该位置,无需手动查找。
3. 编码设置(防止中文乱码)
set encoding=utf-8set fileencodings=utf-8,chinese,latin-1,gbk,gb18030,gk2312if has("win32") set fileencoding=chineseelse set fileencoding=utf-8endif支持多种中文编码格式,确保不会出现乱码问题。
4. 编辑体验优化
set smartindent " 智能缩进set smarttab " 智能Tabset expandtab " Tab转空格set tabstop=4 " Tab宽度4个空格set softtabstop=4set shiftwidth=4set backspace=2 " 退格键行为set textwidth=79 " 文本宽度限制set nu " 显示行号(方便定位)5. 视觉效果
syntax on " 开启语法高亮colorscheme pablo " 使用pablo配色方案(可根据喜好更换)🎨 其他推荐的配色方案:
delek- 浅色主题,适合明亮环境elflord- 深色主题,护眼murphy- 经典暗色desert- 沙漠风格,柔和舒适slate- 石板灰,低调专业
取消注释即可切换,例如:
"colorscheme pablocolorscheme desert五、普通的看小说
随便打开一个编辑器或是IDE,只要是带命令窗口的就可以,比如 vscode、pycharm、eclipes,这里拿 vscode 做演示。
在命令窗口中执行 “vim 小说的绝对路径” 就可以打开小说了。

效果是这样

按空格可以往下翻两行,按 F2 可以保存并退出。再次打开时还可以继续上次看的位置继续看。
📖 基本操作指南
常用命令速查表:
| 操作 | 按键 | 说明 |
|---|---|---|
| 向下翻页 | Space | 向下翻2行(已配置) |
| 向上翻页 | Ctrl+b | 向上翻一整屏 |
| 向下翻页 | Ctrl+f | 向下翻一整屏 |
| 逐行移动 | j / k | 下/上一行 |
| 搜索关键词 | /关键词 | 输入后按回车,n下一个,N上一个 |
| 跳转到行 | :行号 | 如:100跳到第100行 |
| 查看进度 | Ctrl+g | 显示当前行号和总行数 |
| 老板键 | F2 | 保存并退出(紧急情况下使用) |
| 强制退出 | :q! | 不保存退出 |
| 保存退出 | :wq 或 ZZ | 保存并退出 |
💡 进阶技巧:
-
快速跳转到章节
/第10章 " 搜索"第10章",按n跳转到下一处 -
查看阅读进度
:echo line('.') * 100 / line('$') . '%' " 显示百分比进度 -
书签功能
ma " 在当前行设置书签a'a " 跳回到书签a的位置
六、powershell 下更优雅地看小说
在powershell中执行命令New-Item -Type file -Force $profile创建profile

执行vim $profile打开profile,并切换倒粘贴编辑模式,上文中有写。
然后把以下内容粘贴进去,其中第三行是存放小说的绝对路径,根据实际情况修改,切记不要有中文。
function rn { param([string]$set) $novel_dir="C:\Users\Administrator\Documents\txt" if (-not (Test-Path $novel_dir\novel)){ echo "" > $novel_dir\novel } $cur_txt_name=cat $novel_dir\novel if ($args[0] -like "-l"){ $name_list = dir $novel_dir\*.txt if ($name_list.basename.count -eq 0){ echo "There is no txt file in the $novel_dir" ii $novel_dir } elseif ($name_list.basename.count -eq 1){ $name_list.basename } else { for ($i=0;$i -lt $name_list.basename.length;$i++){ if ($name_list.basename[$i] -like $cur_txt_name){ "* " + $name_list.basename[$i] } else { $name_list.basename[$i] } } } return } if ($args[0] -like "-o"){ ii $novel_dir return } if ($set){ $new_path = "$novel_dir\$set.txt" if (Test-Path $new_path){ echo $set > $novel_dir\novel return } else { echo "The path does not exist. use 'rn -l'" } } $novel_path = "$novel_dir\$cur_txt_name.txt" if (-not (Test-Path $novel_path)){ echo "The path $novel_path does not exist. use 'rn -l' and 'rn -set <text name>'" return } vim $novel_path}完成后保存退出,并重新打开powershell。
power中执行 rn -o可以打开小说存放目录。

rn -l 可以列出该目录中的所有小说,如果没有小说则会提示。

rn -s 小说名可以设置默认小说

然后再输入rn就可以直接看小说了!
🚀 PowerShell脚本功能详解
这个rn(read novel)函数提供了完整的小说管理功能:
核心功能
-
列出所有小说
rn -lTerminal window PS> rn -l* 三体流浪地球北京折叠- 当前正在阅读的小说会标记
* - 如果目录为空,会提示并自动打开文件夹
- 只显示
.txt文件
- 当前正在阅读的小说会标记
-
打开小说目录
rn -oTerminal window PS> rn -o# 直接在文件资源管理器中打开小说文件夹 -
切换小说
rn -s 小说名Terminal window PS> rn -s 流浪地球# 设置"流浪地球.txt"为当前小说 -
阅读小说
rnTerminal window PS> rn# 自动打开当前设置的小说,Vim会记住上次阅读位置
工作原理
用户执行 rn ↓读取 C:\Users\Administrator\Documents\txt\novel 文件 ↓获取当前小说名称(如"三体") ↓拼接完整路径 C:\Users\Administrator\Documents\txt\三体.txt ↓调用 vim 打开文件 ↓Vim自动跳转到上次阅读位置自定义配置
修改小说存放路径:
# 找到这一行,修改为你的实际路径$novel_dir="D:\Novels" # 建议使用英文路径添加更多功能:
# 在函数末尾添加,支持随机推荐小说if ($args[0] -like "-r"){ $name_list = dir $novel_dir\*.txt $random_index = Get-Random -Minimum 0 -Maximum $name_list.count $random_novel = $name_list[$random_index].basename echo "Random recommendation: $random_novel" echo $random_novel > $novel_dir\novel vim "$novel_dir\$random_novel.txt" return}使用后可以通过rn -r随机打开一本小说,解决书荒问题!
七、进阶技巧与最佳实践
🎯 提升隐蔽性的7个技巧
-
快捷键肌肉记忆训练
- 每天练习10分钟,直到不看键盘就能操作
- 重点练习:空格翻页、F2退出、搜索跳转
- 减少低头看键盘的频率,降低可疑度
-
多窗口快速切换
Alt+Tab # 切换到工作窗口F2 # Vim保存退出Win+D # 显示桌面(终极老板键)建议同时打开几个工作相关的文档或代码文件,随时可以切换。
-
字体和颜色伪装
" 在.vimrc中添加,调整字体大小与工作代码一致set guifont=Consolas:h11" 使用与公司项目相同的配色方案colorscheme your_company_theme -
时间管理策略
- ⏰ 每次阅读不超过15分钟
- ⏰ 间隔至少1小时再次阅读
- ⏰ 避免在上午刚上班和下午快下班时阅读
- ⏰ 周五下午相对安全,周一上午最危险
-
内容选择智慧
- ✅ 优先阅读技术类书籍(《算法导论》《设计模式》)
- ✅ 英文小说(被发现可解释为学习英语)
- ✅ 行业相关文献
- ❌ 避免网络爽文、玄幻小说(太明显)
-
物理防护措施
- 调整显示器角度,避免背后窥视
- 使用防窥膜(投资约50-100元)
- 戴耳机假装在听技术播客
- 桌上放一杯咖啡,营造工作氛围
-
应急预案
" 在.vimrc中添加更多老板键map <F2> <Esc>ZZ # F2保存退出map <F3> :q!<CR> # F3强制退出不保存map <F4> :!start chrome https://github.com<CR> # F4打开GitHub准备多层应急方案,从温和到激进逐级响应。
📚 小说资源获取与管理
推荐的小说来源:
- Project Gutenberg - 公版英文小说(合法免费)
- Z-Library镜像 - 大量中文电子书(需注意版权)
- ** calibre库** - 个人电子书管理系统
- 微信读书导出 - 付费用户可导出TXT格式
文件格式转换:
# 使用calibre命令行工具转换格式ebook-convert input.epub output.txt
# 或使用在线工具# https://cloudconvert.com/epub-to-txt批量整理脚本:
# 自动重命名小说文件,去除特殊字符Get-ChildItem *.txt | ForEach-Object { $newName = $_.Name -replace '[^\w\u4e00-\u9fa5.-]', '_' Rename-Item $_ $newName}⚙️ Vim高级配置扩展
添加状态栏显示阅读进度:
" 在.vimrc中添加set statusline=%F\ %m%r%h%w\ [%{&ff}]\ [%Y]\ [ASCII=\%03.3b]\ [HEX=\%02.2B]\ [POS=%04l,%04v][%p%%]\ [LEN=%L]set laststatus=2添加书签管理:
" 使用m+a-z设置书签,'+a-z跳转" 查看所有书签map <F5> :marks<CR>自动折行(适合小屏幕):
set wrap " 启用自动折行set linebreak " 在单词边界折行set showbreak=>>> " 折行提示符搜索高亮优化:
set hlsearch " 高亮搜索结果set incsearch " 增量搜索set ignorecase " 忽略大小写set smartcase " 智能大小写八、常见问题与故障排查
❓ FAQ
Q1: 为什么我的Vim显示中文乱码?
A: 检查以下几点:
- 确认
.vimrc中包含正确的编码设置 - 小说文件本身是否为UTF-8编码
- 在Notepad++中打开小说,查看右下角编码格式
- 如有需要,转换为UTF-8:菜单栏→编码→转为UTF-8编码
Q2: F2老板键不起作用怎么办?
A: 可能原因:
- 配置文件未正确保存,重新执行
:wp! - Vim未重新加载配置,重启Vim或执行
:source ~/.vimrc - F2键被其他软件占用,尝试改为F3或F4
Q3: PowerShell提示”无法加载文件,因为在此系统上禁止运行脚本”?
A: 执行以下命令解除限制:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserQ4: 如何在Mac/Linux上使用类似功能?
A: Mac/Linux用户可以使用:
# 在~/.bash_profile或~/.zshrc中添加alias rn='vim ~/Documents/novels/current.txt'alias rnl='ls ~/Documents/novels/*.txt'Q5: Vim打开大文件(>100MB)很卡怎么办?
A: 优化配置:
" 在.vimrc开头添加set lazyredraw " 延迟重绘set synmaxcol=200 " 限制语法高亮列数set nowrapscan " 禁止循环搜索Q6: 如何备份阅读进度?
A: 定期备份.viminfo文件:
Copy-Item $HOME\_viminfo D:\Backup\viminfo_$(Get-Date -Format yyyyMMdd)Q7: 能否在远程服务器上使用?
A: 可以!通过SSH连接后直接使用Vim:
ssh user@servervim /path/to/novel.txt这是最安全的摸鱼方式,因为所有人都在用SSH+Vim 😂
九、法律与道德考量
⚖️ 版权声明
本教程仅供学习和娱乐目的,请遵守以下原则:
-
尊重版权
- 优先阅读公版作品(作者去世50年以上)
- 支持正版,购买授权电子书
- 不要传播盗版内容
-
职场伦理
- 完成本职工作是前提
- 不要在重要会议或deadline前摸鱼
- 保持职业素养,适度放松
-
法律责任
- 因使用本教程导致的任何后果,作者不承担责任
- 请自行评估风险和收益
- 遵守公司规章制度
💡 更健康的工作生活平衡建议
与其冒险摸鱼,不如考虑:
-
提高工作效率
- 学习自动化工具(Python脚本、Excel宏)
- 优化工作流程,减少重复劳动
- 合理分配任务优先级
-
合法休息时间
- 充分利用午休时间
- 每工作1小时休息5-10分钟
- 年假该休就休
-
职业发展
- 利用碎片时间学习新技能
- 参加线上技术课程
- 阅读技术博客和文档
记住:摸鱼是手段,不是目的。最终目标是提高生活质量,找到工作与生活的平衡点。
十、总结
通过本教程,你已经掌握了:
✅ Vim的安装与配置方法
✅ 老板键、翻页、记忆位置等核心功能
✅ PowerShell自动化脚本(rn命令)的使用
✅ 在IDE终端中隐蔽阅读的技巧
✅ 进阶优化和故障排查方法
✅ 法律与道德注意事项
最后提醒:
- 🎯 工作第一,摸鱼第二
- 🎯 适度为宜,过犹不及
- 🎯 持续学习,提升价值
- 🎯 保持低调,安全第一
祝各位社畜朋友们摸鱼愉快,工作顺利!🐟
相关阅读: