深度演示Sublime多行选中一键转化为SQL条件语句的技巧(数据库神器)

云婷君_4364

云婷君_4364

2026-07-15

396人浏览

原创

ctrl+shift+l(windows/linux)或 cmd+shift+l(mac)是多光标核心操作,用于在每行末尾生成独立光标以同步添加标点或格式;ctrl+j仅合并选中行为空格连接,不适用于sql格式化。

深度演示sublime多行选中一键转化为sql条件语句的技巧(数据库神器)

Ctrl+Shift+L 多光标是核心,不是 Ctrl+J

很多人一上来就按 Ctrl+J,结果只拼了两行或根本没反应——Ctrl+J 是「合并选中行」,它不生成 SQL,也不加引号逗号,只用空格连接,且必须选中换行符才生效。真正用来批量加标点、改格式的,是 Ctrl+Shift+L(Windows/Linux)或 Cmd+Shift+L(Mac)。

这个操作把每行末尾变成独立光标,你输入什么,所有行就同步加什么。比如处理 ID 列表:

a123
b456
c789

操作步骤:

  • Ctrl+A 全选
  • Ctrl+Shift+L 拆出三行光标(状态栏显示 3 lines selected)
  • 按 End 跳到行尾,输入 ',
  • 再按 Home 回行首,输入 '

结果直接得到:'a123','b456','c789', ——末尾多一个逗号,删掉就行。

正则替换补全 IN 语句结构,避免手拼括号

光有引号逗号还不够,SQL 的 IN 条件需要包裹在 in (...) 里,手动加容易漏括号或空格。用正则一次收尾最稳:

  • 确保当前文本只有待转的值(每行一个,无空行)
  • Ctrl+H 打开替换面板,勾选 .*(正则模式)
  • 查找:^(.+)$ → 替换:'$1'(给每行套单引号)
  • 再查:\r?\n → 替换:, (换行变逗号加空格)
  • 最后在开头加 in (,结尾加 ),注意删掉末尾多余逗号

原始:

Sublime Text Build Linux版
Sublime Text Build Linux版

Sublime Text Linux x86-64 deb 安装包。官方也提供 rpm、tar.xz 和软件源安装方式。

下载
user_001
user_002
user_003

一步到位产出:in ('user_001', 'user_002', 'user_003')

自定义命令 sql_in.py 能省事,但要注意编辑位置和权限

写个 Python 插件实现一键转换确实方便,但实际落地常卡在三个地方:

  • 文件必须放在 Sublime Text 3\Data\Packages\User 目录下,名字严格为 SqlInCommand.py,大小写不能错
  • 插件里 self.view.run_command('select_all') 会清空已有选区,如果只想转局部内容,得删掉这行,改用 region = self.view.sel()[0] 获取当前选区
  • Windows 下若提示“无法导入 sublime_plugin”,通常是文件编码不是 UTF-8 无 BOM,用 Sublime 自己另存为即可
  • 快捷键配置写在 Default (Windows).sublime-keymap 里,别误放到 User 目录同名文件——那个是覆盖用的,不是追加

最简可用版函数体(不自动全选):

import sublime
import sublime_plugin
<p>class SqlInCommand(sublime_plugin.TextCommand):
def run(self, edit):
region = self.view.sel()[0]
lines = self.view.lines(region)
result = ""
for line in lines:
s = self.view.substr(line).strip()
if s:
result += "'%s', " % s
if result:
result = result[:-2]  # 去掉末尾 ', '
self.view.replace(edit, region, "in (%s)" % result)</p>

中文引号、空格、换行符这些隐形杀手必须先清理

从 Excel 或网页复制的数据,表面看着整齐,实际常埋雷:

  • 中文单引号 ‘’ 或全角逗号 ,:搜 [‘’,] 全部替换成英文 ' 和 ,
  • 行尾空格或制表符:查 [ \t]+$,替换为空,否则 strip() 在插件里可能失效
  • 混合换行符(\r\n 和 \n 并存):查 \r\n|\r|\n,统一替换成 \n,不然 lines() 可能漏行
  • 空行干扰:查 ^\s*$\n(空行加换行),替换为空,避免生成 '' 这种非法值

这些清理动作建议做成 Sublime 的「多步宏」或固定快捷键,别每次手动重复——真正拖慢效率的,从来不是操作本身,而是反复识别和修正脏数据。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

sublime sublime text

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

2023.10.12

4383

8

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.27

911

4

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

2024.02.23

1149

5

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

2024.03.06

6321

10

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

2024.03.06

3123

4

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

2024.04.07

6280

11

sql中where的含义
sql中where的含义

sql中where子句用于从表中过滤数据,它基于指定条件选择特定的行。想了解更多where的相关内容,可以阅读本专题下面的文章。

2024.04.29

8541

6

sql中删除表的语句是什么
sql中删除表的语句是什么

sql中用于删除表的语句是drop table。语法为drop table table_name;该语句将永久删除指定表的表和数据。想了解更多sql的相关内容,可以阅读本专题下面的文章。

2024.04.29

1170

5

sql中删除一列的命令是什么
sql中删除一列的命令是什么

在sql中,使用alter table语句可以删除一列,语法为:alter table table_name drop column column_name。想了解更多sql的相关内容,可以阅读本专题下面的文章。

2024.04.29

1012

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程