Come posso impedire a Vim di nascondere i simboli in Markdown e JSON?


17

Questo mi fa impazzire, lo faccio

:set ft=text

Per vedere qualcosa, altrimenti tutti i collegamenti scompaiono nel markdown e nelle virgolette in JSON.

Come disabilitarlo una volta per tutte?


1
Puoi pubblicare uno screenshot di cosa intendi? Inoltre, durante la modifica di un file Markdown, fare :redir > foo, :hi(sfogliare tutti i gruppi di evidenziazione pressanti spazio), :redir ende aggiungere il contenuto del recente creazione foodi file qui.
muru,

"# _questo_ ** che **" verrà visualizzato come "# questo che"
masukomi

Risposte:


23

(indovinando qui, si prega di fornire uno screenshot / ulteriori informazioni)

Potresti voler cambiare la tua conceallevelconfigurazione:

: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.

1
Oh sì, basta impostarlo su zero in config e questo sembra risolverlo. Interessante che sia 0 di default, immagino che alcuni plugin cambino le impostazioni.
firedev,

1
Sembra che conceallevelvenga ripristinato ogni volta che si apre un file. Un modo per farlo rimanere sempre con 0?
yktoo,

Nel tuo vimrc? set conceallevel=2
nobe4,

4
Per rispondere alla mia domanda e forse aiutare chiunque si trovi ad affrontare lo stesso problema: ho installato il plug-in indentLine , che impone concealleveldi essere impostato su 2 per impostazione predefinita per ogni file. Questo può essere disabilitato con:let g:indentLine_setConceal = 0
yktoo,

5
g:indentLine_setConceal = 0essenzialmente lo rende quindi il plugin indentline non funziona più. Ho trovato let g:indentLine_fileTypeExclude = ['json']funzionato meglio per me.
Matt Greer,

7

Se stai utilizzando il plug-in 'indentLine' o altri plug-in che possono modificare le funzionalità 'nascondi' in vim. È perché questi plugin abilitano la funzione 'nascondi' di Vim che nasconde automaticamente tratti di testo basati sull'evidenziazione della sintassi. Questa impostazione si applica a tutti gli elementi di sintassi. Nello specifico, nel plugin 'indentLine', sovrascriverà "concealcursor" e "conceallevel" per:

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

Quindi, lo cambio al seguente valore nel mio file .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 = ""

un altro set è quello let g:indentLine_concealcursor = "nv"che fa circondare il testo nascosto che il cursore mostra solo in modalità 'insert' e 'visual'. Spero che ti possa aiutare.


0

Se si utilizza indentLine e si desidera mantenerlo funzionante, ma si desidera impedire a Vim di nascondere elementi in JSON e Markdown, la soluzione consiste nel chiedere l'evidenziazione della sintassi per non utilizzare la funzione di occultamento.

Per i file di sintassi JSON e Markdown inclusi in vim-polyglot , questo viene realizzato utilizzando le seguenti due righe:

let g:vim_json_syntax_conceal = 0
let g:vim_markdown_conceal = 0
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.