Windows 系统下面聊编辑器,永远是个能吵起来的话题。我这些年用过的编辑器从记事本、EditPlus、Notepad++ 一路换到 VS Code、Sublime Text、Vim,中间还折腾过各种 Markdown 专用工具,最后留在手边的其实就那么几款。今天推荐的这四款,不是要分个高下,而是它们各自能扛起一类场景:写代码、改配置、看日志、处理大文本、在终端里快速编辑。不管你是程序员、运维、还是日常跟文档打交道的人,都能在这四款里找到顺手的那一个。
先说清楚一个观点,Windows 下的编辑器不是“越强大越好”,而是“匹配场景才好”。我见过有人为了改一行配置专门打开 VS Code,结果启动三秒、吃内存几百兆;也见过有人用记事本打开 1GB 的日志文件,直接卡死。这四款编辑器,对应的是四类完全不同的需求节奏,我按自己的使用习惯挨个拆开讲。
1. 为什么 Windows 上需要常备几款编辑器
1.1 系统自带的记事本为什么不够用
很多人觉得 Windows 自带记事本够用了,那是没经历过几个典型场景。第一个是编码问题,记事本在打开 UTF-8 无 BOM 的文件时经常显示乱码,尤其从 Linux 服务器上传下来的文件,十有八九是 UTF-8 编码,记事本大概率会把它当成 ANSI 读,中文瞬间变“锟斤拷”。第二个是换行符问题,Linux、macOS 用 LF,Windows 用 CRLF,记事本处理 LF 文件时偶尔能打开,但遇到特殊格式就会出现内容粘在一起的情况。
第三个问题是性能。记事本打开几十 MB 的文件就已经很吃力,更别说处理几个 GB 的日志文件。我有一次排查线上问题,日志文件 1.5GB,记事本直接无响应,最后用 Vim 秒开,才把问题定位出来。还有一个容易被忽略的短板——记事本没有“历史记录”概念,文件关闭后重新打开,上次编辑的位置、撤销的历史全部丢失,改配置文件时手滑关了窗口,那叫一个崩溃。
所以“常备几款编辑器”不是折腾,而是实际需求。Windows 生态的特点就是工具丰富,但系统自带的编辑能力太基础,认真干活的人必须自己配装备。
1.2 按使用场景把编辑器分类
编辑器分类有很多维度,我比较看重三条线:一是“重量级 vs 轻量级”,VS Code 属于重量级,Notepad++、Sublime Text、Vim 属于轻量级;二是“通用 vs 专用”,这四款都算通用编辑器,能写代码也能写文本,但各有侧重点;三是“GUI vs 终端”,前三款是图形界面,Vim 则经常以终端形态出现,虽然在 Windows 下也能装 GVim 图形版,但最常用的方式还是嵌在终端里。
这样分类的意义在于,选编辑器不是选“最牛的”,而是选“最顺手的”。写 Python 后端、调前端界面,用 VS Code 体验最好;改配置文件、批量替换文本,Notepad++ 最轻快;想要界面漂亮又不想太重,Sublime Text 很合适;在服务器上操作或者用 Windows Terminal 写命令,Vim 是脱不开的伙伴。把这四类场景覆盖住,日常 90% 的编辑需求就都解决了。
2. 四款编辑器逐个拆解:定位、优势与上手建议
2.1 VS Code:全场景主力,代码和 Markdown 通吃
VS Code 现在是大多数开发者的默认选择,微软出品,基于 Electron 架构,跨平台,免费开源。它的核心优势有三块:IntelliSense 智能提示、调试功能、以及极其庞大的插件生态。写 JavaScript、Python、Go、Java 都有对应的语言支持,配合内置终端和 Git 集成,基本等于一个轻量级 IDE。
我在 VS Code 里的常用插件不多,但个个都算刚需:中文语言包、Markdown All in One、Prettier、ESLint、Python、Remote-SSH。Remote-SSH 这个插件特别适合 Windows 用户,可以直接在 VS Code 里连接远程 Linux 服务器编辑代码,本地 Windows、远程 Linux 的环境隔阂一下就没了。
不过 VS Code 也有短板,启动速度和三款轻量级编辑器没法比,内存占用随插件数量水涨船高。我的习惯是给不同项目建独立的工作区设置,把每个项目需要的插件固定下来,而不是一股脑全局装几十个。改一行配置、快速看个文件这种小事,我不会开 VS Code,直接用 Notepad++。
2.2 Notepad++:轻量级文本处理之王
Notepad++ 用 C++ 编写,体积小、启动快,Windows 下处理文本的效率极高。它最大的特点是“快”和“强”:打开大文件快,批量操作强。我经常拿它做几类事情:
- 查看日志文件,几百 MB 的日志秒开,配合查找功能快速定位关键字;
- 批量替换文本,正则表达式替换比图形界面的“查找替换”强大得多;
- 编码转换,需要把 UTF-8 转成 GBK 提交给老旧系统时,用“编码”菜单几下就搞定;
- 列编辑,按住 Alt 键可以纵向选择多行,在 SQL 脚本或批量拼参数时非常好用。
举一个具体例子。有一次我需要把 500 行配置里的 IP 地址全换成新网段,用正则表达式匹配192\.168\.1\.替换成10\.20\.30\.,整个过程不到 10 秒。如果手动逐行改,光是复制粘贴就得折腾半小时。
Notepad++ 还内置了插件管理器,可以装 16 进制查看、JSON 格式化、Markdown 预览等插件。我用得最多的是 Compare 插件,做文件对比时一眼就能看出差异。它的不足是界面偏老派,跨平台不支持,但就 Windows 文本编辑这个细分场景来说,它依然是第一梯队的选手。
2.3 Sublime Text:颜值与性能兼备的中间派
Sublime Text 在 VS Code 流行之前是很多人的主力编辑器。它的特点是界面现代、运行流畅,虽然要付费,但可以无限期评估使用,只是偶尔弹个购买提醒。我把它定位成“轻量级里的颜值担当”,也是 VS Code 和 Notepad++ 之间的平衡点。
Sublime Text 最有名的几个功能:Goto Anything(Ctrl+P),输入文件名就能快速打开文件,输入@可以跳转到符号;多光标编辑,按 Ctrl 键在多个位置点一下,就能同时编辑多个地方;命令面板(Ctrl+Shift+P),几乎所有功能都能搜索执行,效率非常高。
配置方面,Sublime Text 用 JSON 格式的配置文件,比如设置字体、行号、主题。我习惯用 Consolas 字体加 Source Code Pro 主题,观感舒服。插件系统走 Package Control,装个 Emmet(前端开发)、Markdown Preview、SideBarEnhancements 基本就够用了。
有人纠结“Sublime Text 和 VS Code 选哪个”,我的看法是:如果你主要写代码并且需要调试、终端、Git 这些 IDE 功能,选 VS Code;如果你更多是写脚本、处理文本、改配置,喜欢轻量和干净,Sublime Text 更合适。它启动快、内存占用低,开几十个文件也不卡。
2.4 Vim:终端里的高效编辑工具
Vim 是一类特殊的存在,使用难度高,但一旦上手效率极高。Windows 下使用 Vim 有几种方式:一是安装 GVim 获得独立的图形窗口;二是在 Git Bash、Windows Terminal、WSL 里直接敲vim命令;三是在 VS Code 里装 Vim 插件,把 VS Code 的编辑体验变成 Vim 键位。
我对 Vim 的态度是:不一定非要把所有编辑都放在 Vim 里,但几个高频操作必须会。比如在终端里调整配置文件、快速改一行、查看文件内容,这些场景下 Vim 的效率无与伦比。因为服务器上通常没有图形界面,不会 Vim 就等于没法改配置。
Vim 的难点在于模式切换,普通模式、插入模式、可视模式各有各的规则。初学者会觉得连“删除一行”都要输入dd,这太难了;但熟练之后,普通模式下gg到文件头、G到文件尾、/keyword搜索、ciw替换当前单词,这些操作比鼠标点来点去快一个量级。
Windows 下配置 Vim 要注意_vimrc文件的编码格式,建议保存为 UTF-8,避免中文注释乱码。插件不需要装太多,新手先掌握内置功能就够,等用熟了再考虑 vim-plug 管理插件。
| 编辑器 | 定位 | 价格 | 适合人群 | 资源占用 | 扩展生态 | 上手难度 |
|---|---|---|---|---|---|---|
| VS Code | 全功能代码编辑器,轻量 IDE | 免费 | 开发者、写 Markdown 的人 | 偏高 | 极丰富 | 低 |
| Notepad++ | 轻量级文本处理 | 免费开源 | 日常文本、日志、配置修改 | 低 | 较丰富 | 很低 |
| Sublime Text | 轻量与现代兼顾 | 付费(可评估) | 脚本开发者、文本重度用户 | 中低 | 中 | 中低 |
| Vim | 终端编辑器 | 免费开源 | 运维、终端用户、追求效率的人 | 极低 | 丰富 | 高 |
3. 编辑器选型思路与安装配置要点
3.1 四款怎么选:按场景对照
选编辑器之前先想清楚一个问题:你平时在 Windows 上“编辑”的频率和形态是什么?纯写文章、做笔记的人,选 Markdown 编辑器比选代码编辑器更贴心;但要处理配置、脚本、日志的人,通用编辑器才是刚需。
如果你是前端或后端开发者,建议主力用 VS Code,装上对应语言的插件后体验接近 IDE,又没有 IDE 那么重。开发过程里要临时改个文件、看个日志,快速打开 Notepad++ 更省事。把 VS Code 和 Notepad++ 搭配使用,是我见过最常见的 Windows 开发组合。
如果你不是专职程序员,但经常跟配置文件、CSV、日志打交道,Sublime Text 或 Notepad++ 二选一就够了。Sublime Text 更漂亮,Notepad++ 更快更免费,看个人偏好。
如果你经常在终端里操作,或者需要远程登录服务器,Vim 是必学的。这里我的建议是:不要一上来就在服务器上用 Vim 编辑重要文件,先把 Windows 下的 GVim 装好,用vimtutor命令练习半小时,掌握基本移动、编辑、保存退出,再上服务器实战。
3.2 安装与初始配置避坑清单
安装编辑器本身很简单,但想用得舒服,有几点容易被忽略的配置,我踩过不少坑,列出来给你参考:
统一字体。很多编辑器默认字体在中文字体下不够清晰,建议设置成等宽字体,比如 Cascadia Code、JetBrains Mono、Consolas。Cascadia Code 是微软出品的等宽字体,和 Windows Terminal 配合很好,显示中文效果也不错。
编码统一。如果你经常和 Linux 服务器打交道,强烈建议把编辑器的默认编码设为 UTF-8,换行符设为 LF。VS Code 在右下角可以直接切换编码和换行符,Notepad++ 在“编辑”菜单里有 EOL 转换,Sublime Text 在“View -> Line Endings”里设置。四款编辑器默认值可能不同,新建文件时注意右下角状态栏。
不要乱装插件。插件是编辑器的双刃剑,装多了启动慢、功能冲突。我的原则是:每个类别的插件只装一个。代码格式化选 Prettier 还是 Beautify 就好,不要两个都装;Markdown 预览同样选一个插件。VS Code 里的Developer: Show Running Extensions可以查看插件耗时,超过 500ms 的就考虑禁用。
文件关联别贪多。安装编辑器时会提示关联文件类型,我建议只关联你真正常用的类型,不要全选。否则文件夹右键菜单变得特别长,打开 .txt 文件时还会出现“选择默认应用”的弹窗。
给编辑器设置快捷键。Windows 下可以为快捷方式设置快捷键,比如 Win+Shift+V 启动 VS Code、Win+Shift+N 启动 Notepad++。设置方法是右键快捷方式 -> 属性 -> 快捷键,先按一个数字或字母键就可以。这样切换编辑器会非常顺畅。
4. 实际使用中的常见问题与排查技巧
4.1 编码与换行问题:最隐蔽的坑
Windows 编辑器问题里,编码和换行排第一。最常见的两个场景:
一个是 UTF-8 BOM 问题。VS Code 保存文件时默认不带 BOM,而部分 Windows 老软件读 UTF-8 文件时,不带 BOM 就会乱码。反过来,带 BOM 的 UTF-8 文件拿到 Linux 上,某些命令会报“第一个字符非法”。我的做法是:服务器相关文件用不带 BOM 的 UTF-8,Windows 本地共享的配置文本用带 BOM 的 UTF-8,宁可在编辑器里多按一下切换,也不能让下游拿文件的人一脸懵。
另一个是 CRLF/LF 问题。Windows 默认换行是 CRLF,Linux/macOS 是 LF。如果一份代码在 Windows 上编辑后提交到 Git,仓库里全是 CRLF,会在 diff 里产生大量不需要的改动。解决办法是在项目根目录加.gitattributes,明确指定文本文件的换行符:* text=auto eol=lf。或者直接在 VS Code 设置里把files.eol设为\n,让新建文件默认用 LF。
高级编辑器都内置“转换换行符”功能,Notepad++ 在“编辑 -> 档案格式转换”里可以统一转为 Windows/Linux/Mac 换行。我以前写 Python 脚本,在 Windows 下用 Notepad++ 写好传到 Linux 上执行,直接报错SyntaxError: unexpected character after line continuation character,排查了半天才发现是 CRLF 在作怪,转成 LF 后立刻正常。
4.2 性能、插件与大文件处理的实战经验
大文件是编辑器性能的试金石。VS Code 打开 100MB 以上的文件时,代码高亮、折叠这些功能会拖慢速度,所以我看大日志基本不用它。Notepad++ 对几百 MB 的文件支持很好,打开速度快,滚动也流畅。Vim 处理超大文件更是强项,两三百 MB 的文本直接vim打开,完全无压力。
如果 VS Code 变得越来越卡,先看插件。按Ctrl+Shift+P输入Developer: Show Running Extensions,能看到每个插件的运行耗时。我遇到过某个主题插件导致启动直接多花 2 秒,禁用后整个世界都清净了。另外 VS Code 的“设置同步”功能很好用,换机器时登录账号就能同步配置和插件,但同步之前建议清理一遍无效插件,否则会把“垃圾”也搬过去。
插件失效的问题也常见。VS Code 更新版本后,某些插件暂时不兼容,表现是扩展命令不可用或功能不生效。处理方法是先禁用所有插件,逐个启用定位问题;如果某个插件长期不更新,考虑换一个替代品。
4.3 常见问题速查表
| 问题 | 原因 | 解决办法 |
|---|---|---|
| 中文打开乱码 | 文件编码与编辑器默认编码不一致 | 用 Notepad++ 的“编码”菜单切换编码;VS Code 点击右下角编码重新打开 |
| 保存后代码编译报错,提示非法字符 | 换行符或 BOM 不一致 | 将换行符统一为 LF,去掉 UTF-8 BOM |
| 打开大文件卡顿/无响应 | 编辑器内存或渲染限制 | 换 Notepad++ 或 Vim 打开;VS Code 关闭自动高亮 |
| VS Code 启动越来越慢 | 插件过多或部分插件耗时高 | 用Developer: Show Running Extensions查看耗时,禁用无用插件 |
| 右键菜单没有“用编辑器打开” | 安装时未关联文件类型 | 重新安装或手动添加右键菜单(VS Code 安装时可勾选;Notepad++ 有“添加到右键菜单”选项) |
| Vim 中文注释乱码 | _vimrc编码问题 | 将_vimrc存为 UTF-8,配置set encoding=utf-8 |
| Sublime Text 频繁提示购买 | 评估期提醒 | 如有条件可以付费支持;不介意提示可以继续使用评估版 |
| 任何编辑器都打不开某些二进制文件 | 普通文本编辑器不支持二进制查看 | 在 Notepad++ 插件中启用 Hex-Editor,或用专门的十六进制编辑器 |
5. 一个小技巧,最后分享给你
我个人的习惯是“常用 VS Code,常备 Notepad++,终端用 Vim,偶尔用 Sublime Text 换换心情”。四款编辑器不会互相冲突,关键是每个场景用对应的工具,效率自然上来。
最后分享一个切工具的细节:把四款编辑器的主题统一成同一套配色方案,比如 VS Code 用 Dark+,Notepad++ 用 Obsidian,Sublime Text 用 Monokai,Vim 用 desert。这样切换编辑器时视觉压力小,不用重新适应。这个细节看起来不起眼,但真正跨编辑器工作时,能省下不少眼睛的功夫。工具是拿来干活的,不是拿来折腾的,找到适合自己的组合,比追逐最新最热更重要。