个人觉得用vim编写pl/sql最为方便,写出的代码可读性非常之好,特别是保留字节大写,字符串自动代换等功能,真是太好玩了。如果把matchit.vim(从vim老家下载)
放入plugin目录,编程过程中查找保留字节的匹配(比如begin end; if end if 等)更为方便。
"韦传仁用于编写pl/sql的vim配置文件
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
silent execute '!d:Vimvim63diff ' . opt . arg1 . ' ' . arg2 . ' ' . arg3
endfunction
if version 600
set helplang=cn
endif
set nobackup
set ts=4
set expandtab
set ignorecase
set filetype=sql
set showmatch
set number
"我是色弱。
"colorscheme evening
iab begin BEGIN
iab declare DECLARE
iab end END
iab if IF
iab msg DBMS_OUTPUT.PUT_LINE
iab select SELECT
iab from FROM
iab cursor CURSOR
iab pragma PRAGMA
iab exception EXCEPTION
iab when WHEN
iab then THEN
iab loop LOOP
iab while WHILE
iab update UPDATE
iab delete DELETE
iab insert INSERT
iab values VALUES
iab long LONG
iab rownum ROWNUM
iab where WHERE
iab type TYPE
iab rowtype ROWTYPE
iab for FOR
iab else ELSE
iab to_char TO_CHAR
iab sysdate SYSDATE
iab varchar2 VARCHAR2
iab char CHAR
iab number NUMBER
iab boolean BOOLEAN
iab dual DUAL
iab dbms_utility DBMS_UTILITY
iab rowidtochar ROWIDTOCHAR
iab variable VARIABLE
iab null NULL
iab date DATE
iab default DEFAULT
iab not NOT
iab no_data_found NO_DATA_FOUND
iab others OTHERS
iab exception_init EXCEPTION_INIT
iab in IN
iab is IS
iab elsif ELSIF
iab nvl NVL
iab procedure PROCEDURE
iab function FUNCTION
iab integer INTEGER
iab and AND
iab or OR
iab intersect INTERSECT
iab minus MINUS
iab union UNION
iab record RECORD
iab exit EXIT
iab raise RAISE
iab open OPEN
iab isopen ISOPEN
iab fetch FETCH
iab close CLOSE
iab notfound NOTFOUND
iab into INTO
iab found FOUND
iab rowcount ROWCOUNT
iab count COUNT
iab enable ENABLE
iab ref REF
iab return RETURN
iab by BY
iab index INDEX
iab binary BINARY
iab table TABLE
iab of OF
iab binary_integer BINARY_INTEGER
iab add_months ADD_MONTHS
iab last_day LAST_DAY
iab round ROUND
iab trunc TRUNC
iab months_between MONTHS_BETWEEN
iab out OUT
iab commit COMMIT
iab replace REPLACE
iab create CREATE
iab having HAVING
iab group GROUP
iab sum SUM
iab allfee fee1+fee2+fee3+fee4+fee11+fee12+fee13+fee14
iab decode DECODE
iab substr SUBSTR
iab lpad LPAD
iab like LIKE
iab ceil CEIL
iab ltrim LTRIM
iab rtrim RTRIM
iab max MAX
iab min MIN
iab avg AVG
iab on ON
iab trigger TRIGGER
iab each EACH
iab row ROW
iab new NEW
iab before BEFORE
iab after AFTER
iab rem ----
iab qq SELECT * FROM
"空行
iab spacel --NullLine
iab remn ------------------------------------------------------------------
iab remm ------******************************************************------
iab exists EXISTS
iab sqlcode SQLCODE
iab sqlerrm SQLERRM
“这些是我常用到的表
iab bbs bb_service_relation_t
iab bbms bb_month_service_relation_t
iab ura user_record_array
iab pmon TO_CHAR(ADD_MONTHS(SYSDATE,-1),'YYYYMM')
"消除铃声
set vb t_vb=".