尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Notepad-- 跨平台文本编辑器:从装好到跨文件批量替换的完整实战

Notepad-- 跨平台文本编辑器:从装好到跨文件批量替换的完整实战 Notepad-- 跨平台文本编辑器从装好到跨文件批量替换的完整实战【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器目标是做中国人自己的编辑器来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--Notepad-- 是一个同时支持 Windows、Linux、macOS 的轻量级文本编辑器基于 Qt5 和 Scintilla 开发。它最实用的点在于把目录级批量查找替换、GB18030 中文编码、超大日志分块只读这三件国产信创环境里绕不开的事都做进了一台程序里。下面按先装好再用起来的顺序讲。三分钟装好它Windows到官方发布页下载对应版本的安装包.exe双击安装即可装完直接能从开始菜单启动。想自己编译的话仓库里的 win.mk 写好了完整流程核心就两条命令需先装好 Qt5 MinGW/MSVCcmake -Bbuild -DCMAKE_BUILD_TYPERelease -DPLUGIN_ENon -DCMAKE_PREFIX_PATHQt5路径 cmake --build ./build --configReleaseLinuxUbuntu/Debian需要 Qt5 开发包CMake 里依赖了 Core、Widgets、PrintSupport、XmlPatterns 等组件装完再配置编译sudo apt install g make cmake qtbase5-dev qt5-qmake qtbase5-dev-tools libqt5printsupport5 libqt5xmlpatterns5-dev cmake -Bbuild -DCMAKE_BUILD_TYPERelease cd build make -j$(nproc)macOS装上 Qt5 后编译方式和 Linux 相同CMakeLists.txt 对 Windows 和非 Windows 分别处理了资源文件和安装规则mac 走的就是普通可执行文件分支。第一次打开它假设你手上有一份server.log双击用 Notepad-- 打开。界面从左到右大致分四块顶部菜单 工具栏文件、编辑、查找、视图、编码、语言、设置、对比工具栏对应常用操作的图标标签页每个文件一个标签可以同时开十几个New 0是未命名新文件左侧目录列表把文件树拖进来或打开项目目录后文件按树状列在左边点击即在标签页中打开底部状态栏实时显示缩放百分比、当前语言语法高亮类型、行/列/选中文本数、行尾类型CRLF/LF和文件编码。打开日志时留意状态栏右下角——它能自动识别编码并显示出来比如 GB18030 文件会直接标为GB18030(简体中文)不用你猜。跨文件批量替换的正确姿势痛点很常见重构时把项目里所有GeoModel改成GeoScene一个文件一个文件地 CtrlH 不现实。操作步骤按CtrlF打开查找替换窗口切到在目录查找标签页选目标目录输入查找目标填好替换文本勾选文件类型并填过滤条件如*.cpp;*.ui点在文件中替换全部替换完成后窗口底部会提示查询完成一共发现 N 处在 M 个文件中。加分技巧右侧选项区可以勾跳过二进制文件、跳过超过大小限制的文件默认 20 MB大仓库里这样跑既快又不会把图片当文本处理。如果命中的文件太多想先确认可以先只做查找下方的结果树会按文件列出每处的行号和上下文双击直接跳转。打开超大日志不卡死几 GB 的运行日志直接双击打开很多编辑器要么假死要么直接闪退。Notepad-- 的处理方式是打开大文件时弹出一个选择窗口询问以哪种模式打开——小于 8G 走大文本只读模式8G 以上走超大文本只读模式两种模式都带行号。相关逻辑在 ccnotepad.cpp 里可以查到对应分支。加分技巧超大文本模式下不支持按行号跳转只支持按地址跳转源码里留了这个说明所以先搜关键字定位比直接跳行号靠谱。换一套护眼配色晚上写代码觉得默认浅色刺眼不用装插件。操作路径菜单栏设置里进主题相关配置选一套即可比如 Monokai、Obsidian 这类深色主题。所有配色方案都在 src/themes/ 下每个主题是一个目录按语言拆成独立的 ini 文件每个语言一个 ini外加一个 AllGlobal.ini 管全局仓库内置了 Bespin、Monokai、Deep Black、lavender 等 17 套。![Notepad-- 文本编辑器在 macOS 上的标签页编辑与目录树界面](https://raw.gitcode.com/GitHub_Trending/no/notepad--/raw/4510896f716e71db9f4b25ed8559b9c39a4f23d4/pngshow/macos/2023-10-05 18.04.17.png?utm_sourcegitcode_repo_files)加分技巧界面本身的样式是另一套 QSS 文件在 src/qss/ 下black、myblack、lightblue、flatgray 等。想改编辑器背景和字体颜色改 QSS想改语法高亮颜色改 themes 下的 ini两者别搞混。改快捷键快捷键有独立管理窗口菜单栏进设置→ 快捷键管理可以逐条查看每个操作绑定的热键冲突的条目能直接取消或改绑快捷键管理界面对应的 UI 在 shortcutkeymgr.ui。加分技巧改之前先记一条对照——CtrlF查找、CtrlH替换替换框会自动带过查找关键字、CtrlD复制当前行这三个在批量改代码时几乎每天都用别改到自己记不住的位置。给编辑器写插件Notepad-- 支持动态插件主程序启动时扫描程序目录下plugin文件夹用QLibrary加载其中的动态库见 ccnotepad.cpp 中的加载逻辑插件通过 NddPluginApi 拿到当前编辑框句柄就能对文本做读写操作。注意该头文件明确要求保证 ABI 兼容——成员函数只能往后加不能删改顺序。想动手的话直接看仓库里现成的最小例子src/plugin/helloworld/ 是一个完整可编译的插件工程CMake qmake 两套配置都有编译出的 dll 丢进plugin目录即可被识别。踩坑与排错现象Linux 编译报find_package(Qt5)找不到。原因只装了运行时库没装开发包CMake 还需要 PrintSupport 和 XmlPatterns 两个组件。解法把qtbase5-dev qt5-qmake libqt5printsupport5 libqt5xmlpatterns5-dev都装上再重新 cmake。现象打开几 GB 的文件发现没法编辑。原因大文件默认以只读模式打开这是设计如此不是坏了。解法超大文件建议只做查看和检索要修改就先用命令把文件切块如split -l 100000改完再合并。现象从 Windows 拷来的 txt 打开是乱码。原因文件实际编码是 GB18030/GBK被按 UTF-8 解了。解法看状态栏右下角显示的编码在编码菜单里按正确编码重新解析再用另存为转成 UTF-8 长期保存。收尾Notepad-- 把国产文本编辑器的基本盘做齐了跨三平台、目录级批量替换、GB18030 中文编码、超大日志分块只读加上可换的主题、QSS 样式和插件扩展。遇到问题可以直接向仓库提交 Issue历史需求与改动记录在 changelog.txt 里可以查想扩展功能就从 src/plugin/helloworld/ 这个示例插件起步。【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器目标是做中国人自己的编辑器来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表