alt+↑/alt+↓是notepad++原生行交换操作,直接重排行索引,不触发缩进重算、不展开折叠块、空行保持独立;失效常见于宏录制中、未启用新式多字节支持、系统级快捷键冲突;边界及列编辑模式下无效,折叠块整体移动,但无语法校验,移错可能导致运行时错误。

Alt+↑/Alt+↓ 是原生行交换,不是剪切粘贴
Notepad++ 的 Alt+↑ 和 Alt+↓ 是直接重排行索引的原子操作,不是先剪再贴——所以不会触发缩进重算、不会展开折叠块、空行移动后仍独立存在。这点和 Ctrl+Shift+↑ 有本质区别:Ctrl+Shift+↑ 实际是 Ctrl+D(复制行)加光标上移再粘贴,容易导致空行合并、Python 缩进错乱、JSON 数组元素错位。
为什么按了 Alt+↑ 没反应?三个高频原因
常见失效不是快捷键坏了,而是被以下状态屏蔽:
-
REC显示在状态栏右下角 → 正在录制宏,所有Alt+↑/Alt+↓被捕获为宏动作,点「宏 → 停止录制」即可恢复 - 设置 → 首选项 → 常规 → 语言菜单/字体 → 「使用新式多字节字符支持」未勾选 → 在 UTF-8-BOM 或 GBK 文件中该快捷键默认禁用
- Windows 系统级冲突:比如 Win+↑(窗口最大化)、或微软拼音启用「快捷键模式」时劫持
Alt+↑
边界行为必须提前知道
这些细节不试一次根本意识不到,但直接影响你敢不敢在 hosts 或 nginx.conf 里直接拖动:
- 光标在第 1 行时,
Alt+↑无响应;光标在最后一行时,Alt+↓同样无效 - 当前行为空行,移动后仍是独立空行,不会与上下空行自动合并
- 处于列编辑模式(按住
Alt鼠标拖选)时,Alt+↑/Alt+↓完全失效,必须先退出列模式 - 对折叠块整体生效:光标放在 if 块内任意一行按
Alt+↓,整个折叠块一起下移,不会意外展开
别在没保存的 JS/Python 文件里乱移 return 或 break
因为这是纯行索引交换,不校验语法也不检查控制流。移错位置可能直接让函数提前返回、循环提前跳出——这类错误不会报红,但运行时崩得无声无息。动手前建议先 Ctrl+Z 留退路,或者用 Ctrl+Shift+Z 开启多步撤销(需在设置里启用)。











