gpt4 book ai didi

vim - 我可以在 Vim 的同一个文件中同时使用 Python 和 SQL 语法高亮显示吗?

转载 作者:行者123 更新时间:2023-12-04 03:34:31 24 4
gpt4 key购买 nike

我在 Python 程序中使用多行字符串进行 SQL 查询。

有没有办法告诉 Vim 在它们内部应用不同的高亮规则,可能通过使用 --SQL标记?

最佳答案

我从 here 复制粘贴-更改:

function! TextEnableCodeSnip(filetype,start,end,textSnipHl) abort
let ft=toupper(a:filetype)
let group='textGroup'.ft
if exists('b:current_syntax')
let s:current_syntax=b:current_syntax
" Remove current syntax definition, as some syntax files (e.g. cpp.vim)
" do nothing if b:current_syntax is defined.
unlet b:current_syntax
endif
execute 'syntax include @'.group.' syntax/'.a:filetype.'.vim'
try
execute 'syntax include @'.group.' after/syntax/'.a:filetype.'.vim'
catch
endtry
if exists('s:current_syntax')
let b:current_syntax=s:current_syntax
else
unlet b:current_syntax
endif
execute 'syntax region textSnip'.ft.'
\ matchgroup='.a:textSnipHl.'
\ start="'.a:start.'" end="'.a:end.'"
\ contains=@'.group
endfunction

au FileType python call TextEnableCodeSnip('sqlpostgres', "'''", "'''", 'SpecialComment')

现在每个多行三重单引号字符串都获得了 sql 语法。三重双引号字符串仍然很简单。我已更改 sqlpostgres.vim 以赋予 SQL 绿色的细微差别以区分两种语言,它在 256 色墨水瓶方案中看起来很漂亮。

还相关: Embedded syntax highligting in Vim

关于vim - 我可以在 Vim 的同一个文件中同时使用 Python 和 SQL 语法高亮显示吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4873292/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com