¿Cómo evito que vim oculte símbolos en markdown y json?

17

Esto me vuelve loco, lo hago

:set ft=text

Para ver algo, de lo contrario, todos los enlaces desaparecen en las rebajas y las comillas en JSON.

¿Cómo deshabilitar esto de una vez por todas?

firedev
fuente
1
¿Puedes publicar una captura de pantalla de lo que quieres decir? Además, mientras edita un archivo de reducción, haga :redir > foo, :hi(navegue a través de todos los grupos resaltados presionando espacio) :redir end, y agregue el contenido del fooarchivo recién creado aquí.
muru
"# _esto_ ** eso **" se mostrará como "# esto que"
masukomi

Respuestas:

23

(adivinando aquí, proporcione una captura de pantalla / más información)

Es posible que desee cambiar su conceallevelconfiguración:

: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.
nobe4
fuente
1
Oh sí, solo configúralo en cero en la configuración y eso parece solucionarlo. Interesante que sea 0 por defecto, supongo que algunos complementos cambian la configuración.
firedev
1
Parece que conceallevelse restablece cada vez que abre un archivo. ¿Alguna forma de hacer que siempre se quede con 0?
yktoo
En tu vimrc? set conceallevel=2
nobe4
44
Para responder mi propia pregunta y tal vez ayudar a cualquiera que se enfrente al mismo problema: tengo instalado el complemento indentLine , que obliga conceallevela establecerlo en 2 de forma predeterminada para cada archivo. Esto se puede desactivar con:let g:indentLine_setConceal = 0
yktoo
55
g:indentLine_setConceal = 0esencialmente lo hace para que el complemento indentline ya no funcione. Encontré que let g:indentLine_fileTypeExclude = ['json']funcionó mejor para mí.
Matt Greer
7

Si está utilizando el complemento 'indentLine' u otros complementos que pueden cambiar las características de 'ocultar' en vim. Esto se debe a que este complemento habilita la función 'ocultar' de Vim que oculta automáticamente extensiones de texto basadas en el resaltado de sintaxis. Esta configuración se aplicará a todos los elementos de sintaxis. Específicamente, en el plugin 'indentLine', sobrescribirá "concealcursor" y "conceallevel" para:

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

Entonces, lo cambio al siguiente valor en mi archivo .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 = ""

otro conjunto es el let g:indentLine_concealcursor = "nv"que hace que el texto oculto que rodea el cursor solo se muestre en modo 'insertar' y modo 'visual'. Espero que te pueda ayudar.

Qian Qu
fuente
0

Si está usando indentLine y quiere que siga funcionando pero quiere evitar que Vim oculte cosas en JSON y Markdown, la solución es pedirle a su resaltado de sintaxis que no use la función de ocultación.

Para los archivos de sintaxis JSON y Markdown incluidos en vim-polyglot , esto se logra utilizando las siguientes dos líneas:

let g:vim_json_syntax_conceal = 0
let g:vim_markdown_conceal = 0
ssokolow
fuente