【问题标题】:Real SQL syntax highlighting in PHP scripts with Vim使用 Vim 在 PHP 脚本中高亮显示真正的 SQL 语法
【发布时间】:2012-03-13 13:22:59
【问题描述】:

我知道可以使用该选项在 PHP 脚本中启用 SQL 语法突出显示

let php_sql_query=1

但这只会突出显示每个字符串中的所有 SQL 关键字。甚至一个普通的句子like这个。

有没有办法只为以“Select”、“update”或“delete”开头的字符串启用此功能?

【问题讨论】:

  • 鉴于有这么多的 LAMP(MySQL 和 PHP)编程,以及这么多使用 vim 的硬核编码人员,你会认为会有几十个插件来解决这个问题,或者至少尝试回答这个问题。
  • @sdjuan 格式很好,感谢插件,但这并不能修复损坏的语法突出显示。
  • 知道 8 年后是否有更好的解决方案?根据我对已接受答案的评论,这看起来确实是一个质量很差的解决方案。

标签: php sql vim vim-syntax-highlighting


【解决方案1】:

用 "SQL" 标识符将查询括在 heredoc 中会触发 Vim 在块中进行 SQL 语法高亮显示,例如:

$q = <<<SQL
        SELECT `foo`
        FROM `db`.`table`
        WHERE `foo` = 'bar'
SQL;

【讨论】:

  • 我的意思是,几乎没有。它将突出显示子句(SELECT/WHERE/GROUP/etc)和 AND/OR,以及数字,但据我所知,其他所有内容(表名、列名、mysql 函数、字符串)都以语法结尾phpRegion->phpHereDoc。我知道你的答案是 8 年前的;知道这些天是否有更完整的解决方案吗?
  • 实际上我收回了这一点,如果您使用反引号限定每个表名和列名,您将获得语法突出显示。如果没有,那你就不走运了。
猜你喜欢
  • 1970-01-01
  • 2016-05-07
  • 2010-09-08
  • 2016-08-16
  • 2015-05-11
  • 2015-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多