參考網址:Tom Ordonez Create a Regex Macro in Sublime
sport.sql.php 誀個檔案中放著sql建立資料表的語法,因為有許多資料表,要找到想要的資料表常常得翻來翻去,著實麻煩。
想說如果有個類似UltraEdit的function列表就方便找尋了,於是試著做做看。
#function aa_game_date { # # 資料表格式: `game_date` # DROP TABLE IF EXISTS game_date; CREATE TABLE game_date ( game_date_id tinyint(4) NOT NULL auto_increment, #主索引鍵 game_date_str char(4) NOT NULL default '0', #比賽日期 PRIMARY KEY (game_date_id) )ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 ; # # 列出以下資料庫的數據: `game_date` # INSERT INTO game_date VALUES (1, '0105'); INSERT INTO game_date VALUES (2, '0106'); INSERT INTO game_date VALUES (3, '0107'); INSERT INTO game_date VALUES (4, '0108'); #INSERT INTO game_date VALUES (5, '0205'); #}
一開始糸嘗試用macro來做,發現macro無法記錄find 及 replace。
首先安裝symlist這個外掛,再來安裝regReplace外掛
JSON file with Find and Replace pairs
Go to the top menu Preferences/Package Settings/RegReplace/Rules-User.
{ "format": "3.0", "replacements": { // function 變成function模式 "func_start": { "find": "^#function", "replace": "function", "greedy": true }, "func_end": { "find": "^#}", "replace": "}", "greedy": true }, "func_top": { "find": "^#####top", "replace": "<?php", "greedy": true }, "func_bottom": { "find": "^#####bottom", "replace": "?>", "greedy": true }, // unfunction 變成註解模式 "unfunc_start": { "find": "^function", "replace": "#function", "greedy": true }, "unfunc_end": { "find": "^}", "replace": "#}", "greedy": true }, "unfunc_top": { "find": "^<\\?php", "replace": "#####top", "greedy": true }, "unfunc_bottom": { "find": "^\\?>", "replace": "#####bottom", "greedy": true } } } 問號得加兩條\
JSON file with the Macro command
Go to the top menu Preferences/Package Settings/RegReplace/Rules-User.
[ { "caption": "RegReplace: function", "command": "reg_replace", "args": {"replacements": ["func_start","func_end","func_top","func_bottom"]} }, { "caption": "RegReplace: unfunction", "command": "reg_replace", "args": {"replacements": ["unfunc_start","unfunc_end","unfunc_top","unfunc_bottom"]} } ]
建立快捷鍵
Preferences/Key Buiding/user
[ { "keys": ["ctrl+alt+f"], "command": "reg_replace", "args": {"replacements": ["func_start","func_end","func_top","func_bottom"]} }, { "keys": ["ctrl+alt+u"], "command": "reg_replace", "args": {"replacements": ["unfunc_start","unfunc_end","unfunc_top","unfunc_bottom"]} } ]
原來不用這麼麻煩,outline外掛原本就內建sql模式,把語言改成sql,它就會自動抓'CREATE TABLE' 當大綱。
https://github.com/warmdev/SublimeOutline/issues/22
用ctrl+shift+p叫出Command Palette
輸入outline可以找到
Outline :Toggle Sort 切換list排序方式
Browse Mode:Outline(Left)
Browse Mode:Outline(Right) list表放在右邊