Questions tagged «syntax-highlighting»

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

1
如何修复Python关键字(例如“ self”)的“ missing”语法突出显示?
我正在尝试为python突出显示语法;我的颜色与屏幕快照中不同Vim配色方案中“应该”显示的颜色不同。您会看到将.rb(正确显示)与.py(看起来好像已经关闭)进行比较的区别: 例如,注意如何self不突出显示。(这是在base16中进行的,但在其他配色方案中,其比较将是相似的)。通常,看起来对象语法突出显示是错误的。 我尝试过的一些事情: 查看vim加载的语法脚本;在下面的示例中,.py和.rb之间的唯一区别是,当然,ruby获取了indent / ruby​​.vim和语法/ruby.vim,而python获取了indent / python.vim和语法/python.vim。这些是自制软件vim随附的文件。 在macvim中加载相同的文件,而不是在终端(iterm2)vim中加载;同样的问题,文件看上去与图片完全相同。 添加新的python.vim文件。即使用作.vim/after脚本也不能解决问题。 欢迎任何建议;我已经花了好几个小时不停地努力,无法弄清楚为什么突出显示效果不如预期。

1
自定义突出显示规则在哪里?
有时,我想用自己的首选项覆盖默认语法,以突出显示颜色和样式。 我认为最合适的方法是创建自己的颜色方案。但是我有几个问题。 如果我想为使用特定语言的特定语法组设置突出显示,这是否属于我的colorcheme,还是最好将其放置在after/syntax/[filetype].vim? highlight jsAssignExpIdent cterm=bold gui=bold 在colorscheme中放置晦涩的特定于语言的规则似乎有点奇怪,因为无论我使用哪种语言,它们都会被加载,但是在语法文件中放置突出显示规则似乎更糟。 有时,我会在中为特定语言创建新的语法规则after/syntax/[filetype].vim。如果其他用户想要使用这些扩展,是否适合在我那里提供链接到常见默认突出显示组的默认突出显示规则?如果另一个用户想要覆盖该突出显示颜色,他们应该怎么做? ::::: after/syntax/asm.vim ::::: syn match asmHexNumber /\(0x\|\$\)[0-9A-Fa-f]\+/ highlight default link asmHexNumber Number

3
随着语法的开启,Vim随着时间的流逝而变慢
syntax on使用Vim时我可以做些什么来保持? 一打开实质性内容,过一会儿几乎就无法编辑。每次按键都会导致延迟。如果我关闭了语法高亮显示功能或重新启动了vim,那就可以了。 我将其synmaxcol设置为120。示例ruby文件只有59行,且不超过80个字符。 我正在使用vim-ruby和vim-rails。 问题在于,延迟似乎会随着时间而累积。当我从头开始打开文件时,就可以了。一段时间后,它变得越来越慢。

1
如何在本地vimrc中添加其他语法突出显示规则?
我在Fedora和Win7上都安装了gvim。我发现Fedora上的vim和gvim都没有突出显示c代码中的函数名称,而win7上的gvim突出了它。 我发现在win7上,vim73/syntax/c.vim末尾有其他行: syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2 syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1 hi cFunction gui=NONE guifg=#B5A1FF 如果我将这些行添加到c.vimFedora上,gvim也可以突出显示函数名称。 为了保持可移植性,我只想修改.vimrc即可突出显示函数名称。但是,将这些行添加到中后.vimrc,它不起作用。 那么,有人可以帮助我吗?我进行了搜索,找到了许多解决方案来突出显示vim中的函数名称。但是我很好奇如何使这些线在.vimrc。非常感谢!

1
如何在选择时突出显示matchit.vim定义的匹配“%”名称(例如if / end,for / end)?
目前,我的Vim用青色背景和白色前景突出显示匹配的括号,方括号,引号等-可以在之间移动光标%。多亏了matchit.vim,我也可以%在if / end,for / end等之间切换。但是,这些在选择时未突出显示。 如何在选择时自动突出显示这些匹配对,就像用括号自动完成一样? 此外,如何使用修改用于这些对的背景色:highlight? 提前致谢。 我已经通过下面的@Tommy A更新了答案,以说明指定的matchit.vim组不正确,以及其他情况下%操作员永远不会将光标返回到原始位置。检查“ while”循环中的差异。建议阅读此线程的任何人都使用此版本,以避免无限循环: function! s:get_match_lines(line) abort " Loop until `%` returns the original line number; abort if " (1) the % operator keeps us on the same line, or " (2) the % operator doesn't return us to the same line after …


3
如何使.vimrc中的突出显示命令在Vim 7.4中立即生效?
highlight我的.vimrc文件中有几个命令。在Vim 7.3中,这些在Vim启动后立即生效。在更新到Vim 7.4之后,情况不再如此。Vim最初使用其默认突出显示。当我.vimrc通过执行再次加载时source ~/.vimrc,突出显示了我想要的效果。 您应该能够使用以下步骤来重现此问题: 复制.vimrc文件。 替换~/.vimrc为仅包含行的文件highlight Type ctermfg=28 cterm=bold。 运行vim dummy.c在256色终端(例如GNOME终端)。 键入int到缓冲区。本int应出现在常规字体并淡绿色,这不是我想要的。 输入:source ~/.vimrc。现在,int应当以粗体显示,并以深绿色显示。 根据如何控制/配置vim颜色一文,只需将highlight命令放入即可.vimrc。文章说您应该放在命令syntax enable后面highlight,但这没有任何区别。 我的第一个解决方法是在每个highlight命令之前.vimrc加上autocmd VimEnter *。这适用于某些文件类型,但不适用于其他文件类型(C文件为示例)。 这种行为的原因是什么?如何highlight在启动Vim时执行命令,以使它们在整个Vim会话期间对所有缓冲区生效?

1
带单引号数字分隔符的数字文字的Vim语法高亮
C ++ 14为我们提供了使用单引号分隔大数字文字的数字的选项。这破坏了Vim的语法突出显示。 例如,考虑以下C ++ 14程序: #include <stdlib.h> int main(int argc, char** argv) { // small numbers are fine int normal_number = 5; // large numbers have the correct highlighting but they're hard to visually parse int huge_number = 1000000000; // apostrophes help with visual parsing but mess up syntax …


3
如何将突出显示的源代码输出到文件中以在vim外使用
在我的工作场所中,我想介绍我为解决我们遇到的一些问题而开发的自定义语言。为了简化开发,我为此特定语言创建了自己的vim语法文件。 现在,我需要将其呈现在另一台没有该语法文件的计算机上。就我所知,它甚至可能没有安装vim(但我对此表示怀疑)。 如果我能使less -r一个文件获得与我自己的计算机上相同的语法突出显示,那将是完美的。 但是,我不知道如何在保留颜色的同时复制和粘贴(在Debian上的gnome终端中),或者如何从vim中以语法高亮显示文件作为原始控制字符。我对从vim中找到解决方案更有信心,但是我不知道该怎么做。 您是否知道以其他方式将打开的文件的语法突出显示为ANSI raw-control-chars的方式输出到另一个文件中?
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.