这让我发疯,我这样做

:set ft=text


要看到一些东西,否则所有链接都会在markdown和JSON引号中消失。一劳永逸地禁用此功能?

评论

您可以张贴您的意思的屏幕截图吗?另外,在编辑降价文件时,执行:redir> foo,:hi(浏览所有突出显示组并按空格键)、: redir结尾,然后在此处添加新创建的foo文件的内容。

“#_this_ ** that **”将显示为“#this that”

#1 楼

(在这里猜测,请提供屏幕截图/更多信息)

您可能需要更改conceallevel的设置:

:h 'conceallevel'
'conceallevel' 'cole'       *'conceallevel'* *'cole'*
            number (default 0)
            local to window
            {not in Vi}
            {not available when compiled without the |+conceal|
            feature}
    Determine how text with the "conceal" syntax attribute |:syn-conceal|
    is shown:

    Value       Effect ~
    0       Text is shown normally
    1       Each block of concealed text is replaced with one
            character.  If the syntax item does not have a custom
            replacement character defined (see |:syn-cchar|) the
            character defined in 'listchars' is used (default is a
            space).
            It is highlighted with the "Conceal" highlight group.
    2       Concealed text is completely hidden unless it has a
            custom replacement character defined (see
            |:syn-cchar|).
    3       Concealed text is completely hidden.


评论


哦,是的,只需在配置中将其设置为零即可解决。有趣的是默认情况下为0,我猜有些插件会更改设置。

– firedev
16-4-14的2:22

似乎每次打开文件时都会重置conceallevel。有什么办法让它始终保持为0?

– yktoo
17年4月14日在12:05

在您的vimrc中?设置conceallevel = 2

– nobe4
17年4月14日在12:06

要回答我自己的问题,并且可能会帮助遇到相同问题的任何人:我安装了indentLine插件,该插件强制将每个文件的conceallevel默认设置为2。可以使用以下命令禁用它:let g:indentLine_setConceal = 0

– yktoo
17 Sep 26'8:01



g:indentLine_setConceal = 0本质上使其有效,因此indentline插件不再起作用。我发现让g:indentLine_fileTypeExclude = ['json']更适合我。

–马特·格里尔(Matt Greer)
17年11月24日在18:20

#2 楼

如果您使用'indentLine'插件或其他可以更改vim中'隐藏'功能的插件。这是因为这些插件启用了Vim的“隐藏”功能,该功能可根据语法高亮自动隐藏一段文本。此设置将应用于所有语法项。
具体来说,在“ indentLine”插件中,它将“ concealcursor”和“ conceallevel”覆盖为:

let g:indentLine_concealcursor = 'inc'
let g:indentLine_conceallevel = 2


因此,我将其更改为.vimrc文件中的以下值:

let g:indentLine_setConceal = 2
" default ''.
" n for Normal mode
" v for Visual mode
" i for Insert mode
" c for Command line editing, for 'incsearch'
let g:indentLine_concealcursor = ""


另一个设置为let g:indentLine_concealcursor = "nv",这使隐藏在光标周围的文本仅在“插入”中显示模式和“视觉”模式。希望能对您有所帮助。

#3 楼

如果您使用的是plasticboy / vim-markdown插件,请放入您的.vimrc

let g:vim_markdown_conceal = 0
let g:vim_markdown_conceal_code_blocks = 0


#4 楼

如果您正在使用indentLine并希望使其保持工作状态,但又希望防止Vim在JSON和Markdown中隐藏内容,则解决方案是要求语法突出显示不使用隐蔽功能。
对于JSON和Markdown语法文件包含在vim-polyglot中,可通过以下三行完成:
let g:vim_json_syntax_conceal = 0
let g:vim_markdown_conceal = 0
let g:vim_markdown_conceal_code_blocks = 0


评论


@thiagowfx我拒绝了您的修改;如果您希望答案包含其他代码,请考虑在请求中留下评论,或者添加自己的答案。

– D. Ben Knoble♦
20年8月3日在16:21

@ D.BenKnoble实际上,在我写这篇文章的时候,我给人的印象是g:vim_markdown_conceal充当了主kill开关,所以编辑使它更加符合我的意图。

– ssokolow
20年8月4日在3:39

足够公平-但审阅者不知道是否没有指示:)这就是为什么IMO如此有效地帮助改进代码方面的答案的原因,IMO

– D. Ben Knoble♦
20年8月4日在12:39

*轻笑*“足够公平”是我的回答。现在,我应该如何在不重复的情况下承认你的观点?无论哪种方式,我都会承认“要求语法突出显示以不使用隐藏功能”是一个太微妙的提示,我希望它禁止所有使用。

– ssokolow
20年8月5日在5:11



>因此,编辑使其更符合我的意图|确实,这就是我的想法。感谢您的澄清。

–thiagowfx
20年8月9日在19:54



#5 楼

我在使用plasticboy / vim-markdowd插件时遇到了同样的问题(issues / 512)。
我已经删除了所有其他插件并在.vim文件夹中隐藏了grep,并确认除了.vim /之外没有其他与隐藏相关的设置。 bundle / vim-markdowd。
@Karlo Guidoni Martins的回答似乎对我不起作用。
我在vimrc文件的开头和结尾添加了两行。

评论


您是在回答还是说没有解决方案(例如,您有问题)?

– D. Ben Knoble♦
20年9月11日13:20在