4117 字
21 分钟

💻 摸鱼神器:用Vim在办公室优雅看小说 | Windows配置教程+PowerShell自动化脚本 | 程序员专属

据媒体报导,2022届高校毕业生规模预计达1076万人,同比增加167万人,再创历史新高。

如此大规模的毕业生涌入人才市场,企业该如何消化呢?又有什么办法能够降低就业难度呢?

以我拙见,这并非老板需要考虑的问题,而是需要我们在职社畜来进行努力。努力的方向也很简单:停止内卷、投身摸鱼事业,降低单人工作量以增加就业岗位。

今天,就教大家一个摸鱼小技巧——use-vim-read-novel-at-work。

一、声明#

本教程仅适用于部分程序开发岗。

若是HR、医生、教师、设计师、警察、财务等工作中很少用到代码编辑器的岗位则不适用本教程。如果因为本教程而导致遭到领导训斥,本文作者不承担任何责任。

适用人群:

  • ✅ 软件开发工程师(前端/后端/全栈)
  • ✅ 数据分析师(经常使用命令行)
  • ✅ DevOps工程师(频繁操作终端)
  • ✅ 系统管理员(日常工作涉及Vim)
  • ❌ 非技术岗位(容易被识破)

风险提示:

  • ⚠️ 请合理安排工作时间,摸鱼适度
  • ⚠️ 重要会议期间请勿使用
  • ⚠️ 绩效考核期谨慎操作
  • ⚠️ 建议配合正常工作使用,避免引起怀疑

二、为什么选择Vim?#

在介绍具体方法之前,先说说为什么Vim是办公室摸鱼的最佳选择:

🎯 五大核心优势#

  1. 完美伪装 🔒

    • Vim是程序员标配工具,领导看到以为你在编辑配置文件或代码
    • 黑色背景+彩色文本,典型的开发者界面
    • 命令行操作,看起来非常专业
  2. 极致简洁 📝

    • 纯文本界面,无弹窗、无广告、无花哨UI
    • 不占用额外屏幕空间
    • 降低被发现的概率
  3. 功能实用

    • 老板键(F2一键退出)
    • 空格键翻页(流畅阅读体验)
    • 自动记忆阅读位置(下次继续)
    • 支持搜索、跳转等高级功能
  4. 资源友好 💻

    • 几乎不占用内存和CPU
    • 不会影响正常工作软件运行
    • 老旧电脑也能流畅使用
  5. 跨平台支持 🌍

    • Windows/Mac/Linux通用
    • 可在VSCode、PyCharm、Eclipse等IDE终端中使用
    • 随时随地,想读就读

📊 与其他工具对比#

特性Vim浏览器阅读专用阅读软件PDF阅读器
隐蔽性⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
资源占用⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
功能丰富度⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
学习成本⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
自定义程度⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

三、下载并安装 Vim(会装的同学请跳过这一步)#

这里只提供windows的下载与安装方法。

官方下载地址:https://www.vim.org/download.php#pc

use-vim-read-novel-at-work 示例图片

点这个gvimxx.exe进行下载

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

use-vim-read-novel-at-work 示例图片

use-vim-read-novel-at-work 示例图片

然后无脑下一步就可以了。

安装成功后设置环境变量

在桌面的快捷方式上右键,打开文件所在位置。

use-vim-read-novel-at-work 示例图片

复制刚刚打开的目录路径

use-vim-read-novel-at-work 示例图片

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

use-vim-read-novel-at-work 示例图片

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

use-vim-read-novel-at-work 示例图片

按 win 键,输入”powershell” 并按回车进入 powershell。

在 powershell 中执行”vim –version”检查一下是否安装成功了吧!

use-vim-read-novel-at-work 示例图片

💡 小贴士:

  • 如果vim --version显示不是内部命令,说明环境变量未生效,重启电脑试试
  • 也可以使用Chocolatey包管理器安装:choco install vim
  • Mac用户可使用Homebrew:brew install vim
  • Linux用户通常已预装,无需额外安装

四、配置 vim#

在 powershell 中执行”vim ~/.vimrc”

按一下 ”:” 键(英文 ”:”),输入 “set paste”并按回车进入粘贴模式,此模式文本粘贴将会保留原有的文本格式,而不会自动格式化。

然后按 “i” 键,进入编辑模式。

把下面的内容复制进去。

Terminal window
" 按一下空格往下翻两行
map <Space> 2j
" 老板键 F2 保存退出
map <F2> <Esc>ZZ
" 记忆上次编辑位置
autocmd BufReadPost *
\ if line("'\"")>0&&line("'\"")<=line("$") |
\ exe "normal g'\"" |
\ endif
" 设置文件编码格式
set encoding=utf-8
set fileencodings=utf-8,chinese,latin-1,gbk,gb18030,gk2312
if has("win32")
set fileencoding=chinese
else
set fileencoding=utf-8
endif
" 允许退格键删除和tab操作
set smartindent
set smarttab
set expandtab
set tabstop=4
set softtabstop=4
set shiftwidth=4
set backspace=2
set textwidth=79
set nu
" 高亮
syntax on
"colorscheme delek
"colorscheme elflord
"colorscheme murphy
colorscheme pablo

完事按 “Esc” 键,输入”!”并按回车,保存退出。前面的冒号跟叹号都是英文符号!

use-vim-read-novel-at-work 示例图片

这样 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-8
set fileencodings=utf-8,chinese,latin-1,gbk,gb18030,gk2312
if has("win32")
set fileencoding=chinese
else
set fileencoding=utf-8
endif

支持多种中文编码格式,确保不会出现乱码问题。

4. 编辑体验优化#

set smartindent " 智能缩进
set smarttab " 智能Tab
set expandtab " Tab转空格
set tabstop=4 " Tab宽度4个空格
set softtabstop=4
set shiftwidth=4
set backspace=2 " 退格键行为
set textwidth=79 " 文本宽度限制
set nu " 显示行号(方便定位)

5. 视觉效果#

syntax on " 开启语法高亮
colorscheme pablo " 使用pablo配色方案(可根据喜好更换)

🎨 其他推荐的配色方案:

  • delek - 浅色主题,适合明亮环境
  • elflord - 深色主题,护眼
  • murphy - 经典暗色
  • desert - 沙漠风格,柔和舒适
  • slate - 石板灰,低调专业

取消注释即可切换,例如:

"colorscheme pablo
colorscheme desert

五、普通的看小说#

随便打开一个编辑器或是IDE,只要是带命令窗口的就可以,比如 vscode、pycharm、eclipes,这里拿 vscode 做演示。

在命令窗口中执行 “vim 小说的绝对路径” 就可以打开小说了。

use-vim-read-novel-at-work 示例图片

效果是这样

use-vim-read-novel-at-work 示例图片

按空格可以往下翻两行,按 F2 可以保存并退出。再次打开时还可以继续上次看的位置继续看。

📖 基本操作指南#

常用命令速查表:

操作按键说明
向下翻页Space向下翻2行(已配置)
向上翻页Ctrl+b向上翻一整屏
向下翻页Ctrl+f向下翻一整屏
逐行移动j / k下/上一行
搜索关键词/关键词输入后按回车,n下一个,N上一个
跳转到行:行号:100跳到第100行
查看进度Ctrl+g显示当前行号和总行数
老板键F2保存并退出(紧急情况下使用)
强制退出:q!不保存退出
保存退出:wqZZ保存并退出

💡 进阶技巧:

  1. 快速跳转到章节

    /第10章 " 搜索"第10章",按n跳转到下一处
  2. 查看阅读进度

    :echo line('.') * 100 / line('$') . '%' " 显示百分比进度
  3. 书签功能

    ma " 在当前行设置书签a
    'a " 跳回到书签a的位置

六、powershell 下更优雅地看小说#

在powershell中执行命令New-Item -Type file -Force $profile创建profile

use-vim-read-novel-at-work 示例图片

执行vim $profile打开profile,并切换倒粘贴编辑模式,上文中有写。

然后把以下内容粘贴进去,其中第三行是存放小说的绝对路径,根据实际情况修改,切记不要有中文。

Terminal window
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可以打开小说存放目录。

use-vim-read-novel-at-work 示例图片

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

use-vim-read-novel-at-work 示例图片

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

use-vim-read-novel-at-work 示例图片

然后再输入rn就可以直接看小说了!

🚀 PowerShell脚本功能详解#

这个rn(read novel)函数提供了完整的小说管理功能:

核心功能#

  1. 列出所有小说 rn -l

    Terminal window
    PS> rn -l
    * 三体
    流浪地球
    北京折叠
    • 当前正在阅读的小说会标记*
    • 如果目录为空,会提示并自动打开文件夹
    • 只显示.txt文件
  2. 打开小说目录 rn -o

    Terminal window
    PS> rn -o
    # 直接在文件资源管理器中打开小说文件夹
  3. 切换小说 rn -s 小说名

    Terminal window
    PS> rn -s 流浪地球
    # 设置"流浪地球.txt"为当前小说
  4. 阅读小说 rn

    Terminal window
    PS> rn
    # 自动打开当前设置的小说,Vim会记住上次阅读位置

工作原理#

用户执行 rn
读取 C:\Users\Administrator\Documents\txt\novel 文件
获取当前小说名称(如"三体")
拼接完整路径 C:\Users\Administrator\Documents\txt\三体.txt
调用 vim 打开文件
Vim自动跳转到上次阅读位置

自定义配置#

修改小说存放路径:

Terminal window
# 找到这一行,修改为你的实际路径
$novel_dir="D:\Novels" # 建议使用英文路径

添加更多功能:

Terminal window
# 在函数末尾添加,支持随机推荐小说
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个技巧#

  1. 快捷键肌肉记忆训练

    • 每天练习10分钟,直到不看键盘就能操作
    • 重点练习:空格翻页、F2退出、搜索跳转
    • 减少低头看键盘的频率,降低可疑度
  2. 多窗口快速切换

    Alt+Tab # 切换到工作窗口
    F2 # Vim保存退出
    Win+D # 显示桌面(终极老板键)

    建议同时打开几个工作相关的文档或代码文件,随时可以切换。

  3. 字体和颜色伪装

    " 在.vimrc中添加,调整字体大小与工作代码一致
    set guifont=Consolas:h11
    " 使用与公司项目相同的配色方案
    colorscheme your_company_theme
  4. 时间管理策略

    • ⏰ 每次阅读不超过15分钟
    • ⏰ 间隔至少1小时再次阅读
    • ⏰ 避免在上午刚上班和下午快下班时阅读
    • ⏰ 周五下午相对安全,周一上午最危险
  5. 内容选择智慧

    • ✅ 优先阅读技术类书籍(《算法导论》《设计模式》)
    • ✅ 英文小说(被发现可解释为学习英语)
    • ✅ 行业相关文献
    • ❌ 避免网络爽文、玄幻小说(太明显)
  6. 物理防护措施

    • 调整显示器角度,避免背后窥视
    • 使用防窥膜(投资约50-100元)
    • 戴耳机假装在听技术播客
    • 桌上放一杯咖啡,营造工作氛围
  7. 应急预案

    " 在.vimrc中添加更多老板键
    map <F2> <Esc>ZZ # F2保存退出
    map <F3> :q!<CR> # F3强制退出不保存
    map <F4> :!start chrome https://github.com<CR> # F4打开GitHub

    准备多层应急方案,从温和到激进逐级响应。

📚 小说资源获取与管理#

推荐的小说来源:

  1. Project Gutenberg - 公版英文小说(合法免费)
  2. Z-Library镜像 - 大量中文电子书(需注意版权)
  3. ** calibre库** - 个人电子书管理系统
  4. 微信读书导出 - 付费用户可导出TXT格式

文件格式转换:

Terminal window
# 使用calibre命令行工具转换格式
ebook-convert input.epub output.txt
# 或使用在线工具
# https://cloudconvert.com/epub-to-txt

批量整理脚本:

Terminal window
# 自动重命名小说文件,去除特殊字符
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: 检查以下几点:

  1. 确认.vimrc中包含正确的编码设置
  2. 小说文件本身是否为UTF-8编码
  3. 在Notepad++中打开小说,查看右下角编码格式
  4. 如有需要,转换为UTF-8:菜单栏→编码→转为UTF-8编码

Q2: F2老板键不起作用怎么办?

A: 可能原因:

  1. 配置文件未正确保存,重新执行:wp!
  2. Vim未重新加载配置,重启Vim或执行:source ~/.vimrc
  3. F2键被其他软件占用,尝试改为F3或F4

Q3: PowerShell提示”无法加载文件,因为在此系统上禁止运行脚本”?

A: 执行以下命令解除限制:

Terminal window
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Q4: 如何在Mac/Linux上使用类似功能?

A: Mac/Linux用户可以使用:

Terminal window
# 在~/.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文件:

Terminal window
Copy-Item $HOME\_viminfo D:\Backup\viminfo_$(Get-Date -Format yyyyMMdd)

Q7: 能否在远程服务器上使用?

A: 可以!通过SSH连接后直接使用Vim:

Terminal window
ssh user@server
vim /path/to/novel.txt

这是最安全的摸鱼方式,因为所有人都在用SSH+Vim 😂

九、法律与道德考量#

⚖️ 版权声明#

本教程仅供学习和娱乐目的,请遵守以下原则:

  1. 尊重版权

    • 优先阅读公版作品(作者去世50年以上)
    • 支持正版,购买授权电子书
    • 不要传播盗版内容
  2. 职场伦理

    • 完成本职工作是前提
    • 不要在重要会议或deadline前摸鱼
    • 保持职业素养,适度放松
  3. 法律责任

    • 因使用本教程导致的任何后果,作者不承担责任
    • 请自行评估风险和收益
    • 遵守公司规章制度

💡 更健康的工作生活平衡建议#

与其冒险摸鱼,不如考虑:

  1. 提高工作效率

    • 学习自动化工具(Python脚本、Excel宏)
    • 优化工作流程,减少重复劳动
    • 合理分配任务优先级
  2. 合法休息时间

    • 充分利用午休时间
    • 每工作1小时休息5-10分钟
    • 年假该休就休
  3. 职业发展

    • 利用碎片时间学习新技能
    • 参加线上技术课程
    • 阅读技术博客和文档

记住:摸鱼是手段,不是目的。最终目标是提高生活质量,找到工作与生活的平衡点。

十、总结#

通过本教程,你已经掌握了:

✅ Vim的安装与配置方法
✅ 老板键、翻页、记忆位置等核心功能
✅ PowerShell自动化脚本(rn命令)的使用
✅ 在IDE终端中隐蔽阅读的技巧
✅ 进阶优化和故障排查方法
✅ 法律与道德注意事项

最后提醒:

  • 🎯 工作第一,摸鱼第二
  • 🎯 适度为宜,过犹不及
  • 🎯 持续学习,提升价值
  • 🎯 保持低调,安全第一

祝各位社畜朋友们摸鱼愉快,工作顺利!🐟


相关阅读:

💻 摸鱼神器:用Vim在办公室优雅看小说 | Windows配置教程+PowerShell自动化脚本 | 程序员专属
https://971918.xyz/posts/docs/use-vim-read-novel-at-work/
作者
九所长
发布于
2022-07-16
许可协议
CC BY-NC-SA 4.0