我正在尝试编写一个简单的vim脚本用于学习目的。我想要做的是在下面的文本中大写所有合成文字高度关键词。
select column_name(s)
FROM table1
inner join table2
on table1.column_name=table2.column_name;
要
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;
当然我可以通过正则表达式搜索和替换来完成,但我希望它是基于vim中当前使用的syntaxt文件自动完成的。我不想再次对所有关键字进行硬编码。
答案 0 :(得分:0)
我还没有尝试过vimscript,但这里是我从几篇文章中结合起来的内容:
function! CapKeywords()
redir => lst
syntax list sqlKeyword sqlStatement
redir END
for i in split(lst)
:exe '%s/\<' . i . '\>/' . toupper(i) . '/gce'
endfor
endfunction
nnoremap <leader>h :call CapKeywords()<CR>
适用于您示例中的select
和on
。我不知道inner
和join
在哪里,所以我留给你。希望它有所帮助。