Questions tagged «syntax-highlighting»

语法高亮显示是使用颜色,大小,字体或其他属性来直观地表明其具有特殊含义,从而使文本的理解更加容易。例如,用特定颜色标记语言关键字。

3
列出已知的文件类型
如何获得vim当前知道的文件类型名称列表? 我希望能够做到这一点,以便在vim无法自动检测到文件类型时,我可以尝试一些vim知道的文件类型,这些文件类型可能相似,并查看它们是否提供合理的语法突出显示。 我知道处理文件类型的vimscript文件是按惯例放在ftplugin目录中的,但它们不一定是必需的(我不确定,但我不认为ftplugin目录中的vimscript文件是特殊的),所以我只想询问vim它知道什么文件类型,而不管它如何了解它们。

2
Vim可以解释终端颜色换码吗?
许多CLI程序输出突出显示的文本。尽管其中大多数检查输出是否将发送到文件,但其中一些包含终端转义码。我喜欢带有转义代码的输出,但是在Vim中查看这些文件很痛苦。 Vim可以将这些转义码解释为预期的颜色吗?如果不是,可以将Vim设置为忽略这些转义码吗?

2
Vim的语法突出显示将Java中的lambda(->)视为错误
我正在使用Vim在Java 8中编程,并且语法高亮出现了问题。 Java 8的一项新功能是lambda支持,从而创建了arrow运算符:->。Vim在* .java文件中不能将其识别为有效的运算符。因此,它以亮红色突出显示此运算符,以引起对“语法错误”的注意。(当然,这确实是有效的语法。) 有没有一种方法可以更新Vim允许的运算符的“词典”和/或修复语法突出显示以避免此问题? 前两行:version状态: VIM-Vi IMproved 7.4(2013年8月10日,2014年1月2日19:39:32编译) 包含的修补程序:1-52

3
我该如何告诉vim某些文件扩展名是同义词?
我在.cpp文件中编辑C ++代码,而模板代码进入.tcc文件中。当我打开这样的文件时,没有语法突出显示可用。我set syntax=cpp在中的一个tpp.vim文件中尝试过~/.vim/ftplugin/,但是它什么也没做,而在编辑器中却可以。有什么办法可以使vim将特定扩展名与其他扩展名同义?

1
如何在Heredoc中启用特定于语言的语法?
当我编辑PHP文件并在Heredoc中定义字符串时,如果它是JavaScript语法或HTML语法或SQL语法,则将在Heredoc内部启用语法突出显示。但是,它不适用于CSS语法。 示例(如果我们hello.php使用以下代码创建一个新的PHP文件): <?php $foo = <<<"JAVASCRIPT" var hello = "hello"; JAVASCRIPT; $bar = <<<"CSS" /* This code below should be syntax-highlighted. */ .hello { font-weight: bold; } CSS; 该JAVASCRIPT块已正确突出显示,但该CSS块未突出显示。另外,如果我在JavaScript代码块SynStack上的var关键字上运行,则会得到['phpRegion', 'phpHereDoc', 'javaScriptIdentifier'],但如果对CSS块中的任何位置进行相同的操作,则只会得到['phpRegion', 'phpHereDoc'],因此我需要添加一些CSS语法突出显示规则。这些语法规则在哪里定义,如何添加到它们中?


5
Vim语法模式突出显示python关键字参数
我正在努力学习vim正则表达式(我也不太了解其他正则表达式),所以主要问题是定义匹配的正则表达式 some_function_call(simple_value, keyword=value) 此示例中的关键字。 因此,如果它在括号内并且后跟等号,则应该匹配一个单词。 下一个问题是如何在vim中定义语法文件。我很乐意为此提供帮助,但是学习起来应该不难,所以我可以自己做。 根据答案进行编辑我已经为python编写了自己的语法脚本。随时尝试。 在此处输入链接说明


2
根据文件大小和类型禁用语法高亮显示
我经常需要用vim编辑各种XML文件,这些文件的大小千差万别-从包含几行斜线的配置文件到最大2GB的生产数据文件。在处理大文件时,启用语法高亮当然是一个非常糟糕的主意,因此,如果文件大于阈值,我想禁用它。 我不能autocommand直接使用它来禁用语法突出显示,因为从外壳启动vim时,显然在启用语法之前执行了该命令: " this autocmd has no effect except for the echo: autocmd Filetype xml if getfsize(@%) > 1000000 | echom '!' | syntax off | endif 我找到了一种解决方法,可以全局禁用语法高亮显示,然后针对除xml以外的所有其他文件类型再次将其打开,如果文件的大小不超过阈值,则针对xml文件类型将其打开: syntax off autocmd Filetype * syntax off autocmd Filetype * if &ft != 'xml' | syntax enable | endif autocmd Filetype xml …

1
将字符串文字视为另一种语言
我有许多JavaScript文件,其中的字符串是要插入网页的HTML片段。Vim在JavaScript上突出显示语法,并突出显示加引号的字符串。实际上,它似乎超出了突出显示的范围:在使用引号时,vim与<使用标签开头的标签与以标签>结束的vim不匹配%;似乎假设字符串文字中不存在方括号之类的内容。 有没有一种方法可以指示vim字符串文字应被视为单独语言中的代码?

3
tmux中没有语法突出显示
我安装tmux在iTerm 2中。(内部版本3.0.13)在中执行vim时tmux,语法高亮显示如下。 但是在tmux之外,语法高亮看起来很好。 我的$TERM内外tmux是xterm-256color。我还加了 set -g default-terminal "screen-256color" 在.tmux.conf并添加了这个 set t_Co=256 set t_AB=m set t_AF=m if &term =~ '256color' set t_ut= endif 在中.vimrc。 我还尝试了tmux -2命令并阅读了这些问题。 在tmux模式下丢失vim颜色方案 使用Solarized的iTerm2中的vim颜色不正确 这是一个问题tmux,vim或者我的配置? 编辑: 我.vimrc在GitHub中 https://gist.github.com/sohnryang/3c63397f332f2e30c7d7b2a83c3c9f52


2
自动突出显示相同的行文本
我前不久看到一个熟练的vim忍者这样做,但我不知道该如何开始。 A)有没有一种方法可以设置Vims背景色,使内容相同的连续行突出显示。 B)如果有人知道该怎么做,那么如果高亮显示在连续的行中而只考虑第一个单词(而不是整个行),则可以对它进行一个很好的调整。 如果高亮显示可以配置为不同的颜色,则根据匹配行数(或取决于AB的单词处于活动状态)使用第二个调整。因此,我们只有两个连续的行匹配,然后匹配绿色,连续3-5个行匹配橙色,然后再匹配6+个红色。

1
可以使vim语法区域接触/重叠吗?
所以不久前,我决定通过创建自己的文件来学习更多有关vim语法文件如何工作的信息。我的目标是创建一个简单的语法文件,该文件将基于定界符将文件分为3个部分,并包括这三个部分中两个部分的预先存在的语法文件。 这是一个示例文件: Some text, unstyled ==================== Log (Output of git log) ==================== Diff (Output of diff) 目标是git.vim仅应用于日志,仅应用于diff.vim差异,不包括两个标头。1 这是我的语法文件最终看起来像: if exists("b:current_syntax") finish endif syntax include @gitlog $VIMRUNTIME/syntax/git.vim syntax region GitLog \ start=/^===* Log/ \ end=/^===* Diff/ \ contains=@gitlog syntax include @gitdiff $VIMRUNTIME/syntax/diff.vim syntax region Diff \ start=/^===* Diff/ \ end=/\n\n/ \ …

1
vim中的混合颜色语法
我经常使用vim 在knitr中编写文档,这意味着我将markdown代码与R代码混合在一起。我想在R块上使用R语法着色,但在所有其他片段上都使用markdown或不着色。这可行吗?怎么样?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.