Notepad-- 跨平台文本编辑器实战指南:从乱码文件到全目录搜索
【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--
凌晨两点排查日志,你发现 UTF-8 文件里的中文全变成了乱码,连要改哪一行都看不清。文本编辑器要解决的第一个问题就是这个小麻烦。Notepad--(项目名 ndd)是一款跑在 Windows、Linux、macOS 上的跨平台文本编辑器,基于 Qt 框架和 Scintilla 编辑引擎,GPL 协议开源。下面按四个日常任务带你走一遍:救回乱码文件、整个目录批量搜索、文件并排对比、行级批量操作。
乱码文件怎么救:3 步用编码菜单搞定
打开文件发现乱码,先看窗口右下角,那里写着当前读取到的编码,比如 "UTF-8-BOM"、"GB18030(简体中文)"。救文件的步骤是固定的:
- 菜单栏点"编码",在菜单里选这个文件实际是的编码——比如 GBK 文件先按 GB18030 打开,窗口里立刻从乱码变回正常文字;
- 还是在"编码"菜单里,选你要转成的目标编码(比如 UTF-8);
- 按 Ctrl+Shift+S 另存为,把文件以新编码写回磁盘。
顺手看一处:右下角还显示换行格式(Windows CR LF / Unix LF)。换行不统一是后续对比文件时最常见的干扰项,转完编码顺便把它也统一掉。
把项目文件夹拖进来,目录树自动就位
从"文件"菜单打开一个目录,左侧"目录列表"会自动生成项目树:文件夹可展开可折叠,点任意文件就在主区域新开一个标签页打开。
Notepad-- 跨平台文本编辑器 macOS 界面:左侧为项目目录列表,主区域是 C++ 语法高亮多标签编辑
目录就位之后,这三件小事马上有用:
- 标签页:多个文件就是多个标签,右键标签页有"关闭""复制路径""在新窗口打开"这些选项,实现代码在 src/cceditor/ccnotepad.cpp 里,想加自定义菜单可以参考。
- 书签:行号旁边的空白处点一下,这行就挂一个黄色标记,再点一次取消。几百行的文件里记几个待办位置,比翻行号快。
- 语法与主题:语言按扩展名自动识别,右下角显示当前语言(cpp、xml 等);仓库 src/themes/ 目录下内置了 Monokai、Twilight 等 17 套配色,在"设置"里切换。
全目录查找替换:把"在目录里查找"用一次
想知道一个函数在项目里哪里被调用,单文件搜索不够用。从菜单栏"查找"打开"查找与替换"窗口,切到"在目录里查找"页签:
- "目标目录"填路径,或点"选择"按钮浏览;
- "查找目标"里输入关键字;
- 勾选"文件类型",填上
*.cpp,*.ui这类过滤,避免把资源文件一起搜进来; - 点"全部查找"。
结果落在窗口底部的"查找结果"栏:共几处命中、分布在哪些文件、每一处第几行,全列在一起,点结果行直接跳到那一行。关键字容易误匹配就勾"全词匹配""匹配大小写";找固定结构时把"查找模式"换成"正则表达式"。右侧选项还能设"跳过子目录""跳过隐藏文件""跳过二进制文件""跳过超过 N MB 的文件",把搜索范围控制住。
两个文件对不上?并排对比直接看差异
从菜单栏"对比"菜单选两个文件做对比,窗口标题为"对比文件",左右各放一个文件,差异直接摆出来:
- 红色行是两侧内容不同的行,斜纹块是只在一侧存在的行;
- 底部"当前有 N 处不同块"告诉你一共多少处差异,工具栏"上一个""下一个"逐个跳转;
- 右侧"差异图"把全部差异缩成一列色条,长文件里快速定位到哪一段出了问题;
- 左右放反了点"交换";每侧底部各有一个编码选择器,两边编码不一致也能正确对比。
对比完不想每次都重新选文件,用菜单栏"最近对比"可以重新打开上一次的对比。
Notepad-- 文件对比视图:并排显示两个文件共 14 处不同块
行级批量操作:行编辑、列编辑与宏
重复性的小改动,别用回车和 Ctrl+C 一条条敲,菜单里有三个入口:
- 行编辑("编辑"→"行编辑"):"复制当前行"是 Ctrl+D,"删除连续的重复行"能一键清掉一坨重复内容,"下移/上移当前行"不用复制就能调顺序,"移动空行""降序/升序排列文本行"也在这里;
- 列编辑:菜单栏"列编辑"进入列编辑模式,一次修改多行同一列的位置,批量改配置文件参数很顺手;
- 宏:菜单栏"工具"里找到宏,点"开始录制"→把操作做一遍→停止并保存。之后每次回放,一整串操作自动重复;状态栏会显示录制状态和选区情况。
Windows / Linux / macOS 安装差异一张表
| 系统 | 安装方式 | 说明 |
|---|---|---|
| Windows | 下载官方发布包(NSIS 安装器) | 安装脚本与多用户安装配置在 src/installer/ |
| Linux | CMake 编译,或安装 deb 包 | deb 打包配置见 cmake/deb_package_config.cmake,桌面快捷方式模板在 src/linux/usr/share/ |
| macOS | 应用包,Intel 与 Apple Silicon 均有构建 | 仓库内提供 macicon/ 图标集与 RealCompare.pro 工程 |
想从源码构建的话,先克隆仓库,再用 CMake 编译:
git clone https://gitcode.com/GitHub_Trending/no/notepad--cd notepad-- && mkdir build && cd build cmake .. && make编译细节可以看仓库根目录的"编译说明.docx",使用手册在 ndd-v3.7.0-manual.pdf,编辑引擎(Scintilla 的 Qt 封装)源码在 src/qscint/。
今天就能做的 3 件事
- 打开一个常用文件,看右下角显示的编码;如果乱码,就在"编码"菜单里换对编码,再以 UTF-8 另存。
- 把项目目录整个打开一次,以后找内容直接用"在目录里查找",记得勾"文件类型"过滤。
- 对比两个版本的文件,用"对比"菜单并排打开,工具栏"上一个/下一个"逐处看差异。
【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考