我的工作用的VIM配置(部分)
vimrc.vim
下面是 一个宏:效果是 "COL_NAME_TEST" --> "colNameTest"
vimrc.vim
set
nu
set tabstop = 4
set go = e
colorscheme murphy
winpos 500 500
set columns = 95
" define
map ,sql : set ft = sql < CR >
map ,q < ESC > ZQ < CR >
map ,z < ESC > ZZ < CR >
map , 1 :so mymarco/colname2java.vim < CR >
map , 2 :so mymarco/sql2javastring.vim < CR >
set tabstop = 4
set go = e
colorscheme murphy
winpos 500 500
set columns = 95
" define
map ,sql : set ft = sql < CR >
map ,q < ESC > ZQ < CR >
map ,z < ESC > ZZ < CR >
map , 1 :so mymarco/colname2java.vim < CR >
map , 2 :so mymarco/sql2javastring.vim < CR >
下面是 一个宏:效果是 "COL_NAME_TEST" --> "colNameTest"
"該当ラインを取得
let instr = tolower(getline("."))
"取得したラインを配列に転換
let words = split(instr, "_")
"配列の項目数を計算
let len = len (words)
let i = 1
"ワーク変数 結果
let result = words [ 0 ]
"二番目のワードから処理する
while i < len
"頭文字を大文字にする
let bigWord = toupper(strpart(words [ i ] , 0 , 1 )).strpart(words [ i ] , 1 )
"処理したワードを結果変数に連結
let result = result.bigWord
let i += 1
endwhile
"処理された結果を該当ラインに更新
call setline(".", result)
"共通関数を呼び出し、その一行を選んでCOPY
execute ' normal V"+y
let instr = tolower(getline("."))
"取得したラインを配列に転換
let words = split(instr, "_")
"配列の項目数を計算
let len = len (words)
let i = 1
"ワーク変数 結果
let result = words [ 0 ]
"二番目のワードから処理する
while i < len
"頭文字を大文字にする
let bigWord = toupper(strpart(words [ i ] , 0 , 1 )).strpart(words [ i ] , 1 )
"処理したワードを結果変数に連結
let result = result.bigWord
let i += 1
endwhile
"処理された結果を該当ラインに更新
call setline(".", result)
"共通関数を呼び出し、その一行を選んでCOPY
execute ' normal V"+y