notepad++ 的 ctrl+z/ctrl+y 仅撤销/重做文本编辑操作,不记录光标位置;实现“上一个编辑位置”需用 locationnavigate 插件(alt+←/→)或书签(ctrl+f2/f2/shift+f2)。

Notepad++ 没有“撤销编辑位置”的功能,Ctrl+Z 和 Ctrl+Y 只作用于文本内容变更,不记录光标跳转或浏览行为。所谓“前进/后退编辑点”,本质是位置导航,不是操作历史,必须靠插件或书签模拟。
Notepad++ 的 Ctrl+Z 和 Ctrl+Y 真实作用范围
这两个快捷键只管理「编辑操作栈」:插入、删除、替换、剪切粘贴等文本改动。它们不会记住你刚才在哪行改过、上一个光标停留位置、或者从哪跳过来的。
-
Ctrl+Z每按一次,回退最近一次文本修改(不是光标移动) -
Ctrl+Y仅能重做刚被Ctrl+Z撤销的那一步,不能跨多步恢复 - 关闭文件再打开,撤销栈清空;重启 Notepad++ 同样丢失全部撤销记录
- 列编辑(
Alt+C)过程中产生的批量修改,也计入同一栈,但不易感知边界
实现“上一个编辑位置”跳转必须用 LocationNavigate.dll
这是目前唯一稳定支持位置历史栈的插件,它监听的是光标停驻事件,而非文本变更。
- 下载对应架构版本:
LocationNavigate.dll(x64 或 x86,须与 Notepad++ 一致) - 放入
plugins目录(例如C:\Program Files\Notepad++\plugins),不是plugins\config - 重启后工具栏出现 ←→ 按钮;默认快捷键为
Alt+Left(后退)、Alt+Right(前进) - 它不记录每敲一个字符,而是以操作类型触发存档:比如按
Enter、Tab、鼠标点击、或静止超 500ms - 跨文件时位置栈独立,不会把 a.txt 的编辑点带到 b.txt
不用插件时,用书签模拟“编辑点标记”
适用于受限环境(如公司禁用插件)、临时回溯,或只想标记关键位置。
- 每次准备编辑前,手动按
Ctrl+F2打书签(行号左侧出现实心圆点) - 编辑完想回去?按
F2跳到下一个书签,Shift+F2跳到上一个 - 书签保存在文件内,关掉再开还在;但不会自动清除,需手动
Ctrl+Alt+F2清空当前文件所有书签 - 缺点明显:不区分“编辑过”和“只是看过”,也无法知道哪个书签是最近一次编辑点
真正容易被忽略的是:LocationNavigate 的“后退”不是回到上一次修改的那行,而是回到上一次光标**停留足够久或触发操作**的位置——比如你在第 10 行按了 Enter,它才记一笔;快速扫过第 15 行根本不会进栈。这点和 IDE 的“Last Edit Location”逻辑不同,得适应它的触发节奏。











