我正在为一个教师重构一堆PHP代码.我决定做的第一件事是更新所有要用Drupal SQL编码约定编写的SQL文件,即大写关键字.我写了一些正则表达式:
:%s/create table/CREATE TABLE/gi
:%s/create database/CREATE DATABASE/gi
:%s/primary key/PRIMARY KEY/gi
:%s/auto_increment/AUTO_INCREMENT/gi
:%s/not null/NOT NULL/gi
Run Code Online (Sandbox Code Playgroud)
好的,这是一个开始.现在我只需打开vim中的每个SQL文件,运行所有五个正则表达式,然后保存.这感觉应该是它的五倍.他们可以复制到一个令人讨厌但很容易复制的正则表达式吗?
为什么你要在vim中做到这一点?怎么样sed/awk?
例如用sed
sed -e 's/create table/\U&/g' -e's/not null/\U&/g' -e 's/.../\U&/' *.sql
Run Code Online (Sandbox Code Playgroud)
顺便说一句,你可能会这样做
:%s/create table/\U&/g
Run Code Online (Sandbox Code Playgroud)
改变案例,保存一些打字.
更新
如果你真的想要一个长命令在vi中执行,也许你可以尝试:
:%s/create table\|create database\|foo\|bar\|blah/\U&/g
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
128 次 |
| 最近记录: |