sublime中ctrl+click失效是因drag_text默认开启,需在用户配置中设"drag_text": false并完全重启;中文输入法和软换行也会影响多光标操作。

Ctrl+Click加光标在Markdown里失效?先关drag_text
不是快捷键坏了,是Sublime默认开启drag_text,导致按住Ctrl/Cmd点鼠标时优先拖动文本,而不是加光标。90%的“多光标没反应”都卡在这儿。
必须手动改配置:Preferences → Settings(用户配置),添加这一行:
"drag_text": false
改完要彻底退出Sublime再重开——只重载配置不生效。另外,中文输入法(比如搜狗、微软拼音)常劫持Cmd+Click,临时切英文再试;软换行(View → Word Wrap)也会让光标点偏,编辑前建议关闭。
给多行标题统一加#号?别拖选,用Ctrl+L+Ctrl+Shift+L
想把10行文字全变成二级标题(## 标题),千万别用鼠标框选后打##——只会改第一行。
正确链路:
- 用
Ctrl+L(Windows/Linux)或Cmd+L(macOS)逐行选中目标行(每按一次,光标跳到下一行开头) - 再按
Ctrl+Shift+L(或Cmd+Shift+L),把每行拆成独立光标 - 按
Home跳到行首,输入##(注意空格)
如果某几行是空行,Ctrl+Shift+L会把光标放在行首而非行尾,得手动按End再补内容;首尾有空白符的行也容易错位,建议先用Ctrl+Shift+P → Indentation: Reindent Lines清理一下。
用Emmet包裹多行Markdown内容?语法和选区都得对
Ctrl+Shift+G在.md文件里没反应?不是插件没装,而是Emmet对上下文极其敏感:
- 右下角必须显示
Markdown或HTML语法,显示Plain text就肯定失败 - 输入法必须是英文,否则缩写(如
div)根本提交不了 - 选区不能含空行或首尾大量空格,否则Emmet静默退出
比如想把5行列表项包进ul>li,直接拖选5行再输ul>li*只会套一层。得先Ctrl+L逐行选中,或Ctrl+Shift+L拆光标,再Ctrl+Shift+G输ul>li回车——每行自动变成一个<li>,并被<ul></ul>包裹。
正则替换搞定末尾补符号,比列编辑更稳
给10行代码块末尾统一加```,或者给所有后面补{: .center}?列编辑(Shift+Alt+鼠标拖选)看着快,但缩进不齐、空行干扰、不可见字符错位,实际极易漏改或改错行。
更可靠的做法是正则替换:
- 按
Ctrl+H打开替换面板 - 勾选
Regular Expression - 查找
$(代表行尾),替换为你要加的内容,比如```或{: .center} - 如果只想改选中的几行,先
Ctrl+L选中目标行,再Ctrl+Shift+H调出“仅在选区替换”模式
注意:$匹配的是逻辑行尾,不受软换行影响;但若行尾有空格,得改成\s*$,否则空格会挡在新内容前面。











