Jak mogę zapobiec ukrywaniu symboli przez Vima w Markdown i Json?

17

To doprowadza mnie do szaleństwa

:set ft=text

Aby coś zobaczyć, w przeciwnym razie wszystkie linki znikną w przecenach i cytatach w JSON.

Jak wyłączyć to raz na zawsze?

firedev
źródło
1
Czy możesz opublikować zrzut ekranu tego, co masz na myśli? Ponadto, podczas edycji pliku markdown, zrobić :redir > foo, :hi(Przejrzyj wszystkich grup podświetleniem dociskowych przestrzeń), :redir endi dodać zawartość do nowo utworzonego foopliku tutaj.
mur 8.04.16
„# _this_ ** that **” wyświetli się jako „# this that”
masukomi 30.01.2017

Odpowiedzi:

23

(zgadując tutaj, proszę podać zrzut ekranu / więcej informacji)

Możesz zmienić conceallevelkonfigurację:

: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
źródło
1
O tak, po prostu ustaw go na zero w konfiguracji i wydaje się, że to naprawia. Ciekawe, że domyślnie jest to 0, chyba niektóre wtyczki zmieniają ustawienia.
firedev
1
Wygląda na conceallevelto, że jest resetowany przy każdym otwarciu pliku. Jakiś sposób, aby zawsze pozostawał z 0?
yktoo
W twoim vimrc? set conceallevel=2
nobe4
4
Aby odpowiedzieć na moje pytanie i być może pomóc każdemu, kto boryka się z tym samym problemem: Mam zainstalowaną wtyczkę indentLine , która concealleveldomyślnie wymusza ustawienie 2 dla każdego pliku. Można to wyłączyć za pomocą:let g:indentLine_setConceal = 0
yktoo
5
g:indentLine_setConceal = 0w zasadzie sprawia, że ​​wtyczka indentline już nie działa. Uważam, że let g:indentLine_fileTypeExclude = ['json']działało dla mnie lepiej.
Matt Greer
7

Jeśli używasz wtyczki „indentLine” lub innych wtyczek, które mogą zmieniać funkcje „ukrywania” w vimie. Jest tak, ponieważ wtyczka ta włącza funkcję ukrywania Vima, która automatycznie ukrywa fragmenty tekstu na podstawie podświetlania składni. To ustawienie zostanie zastosowane do wszystkich elementów składni. W szczególności we wtyczce „indentLine” nadpisze „concealcursor” i „conceallevel”, aby:

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

Dlatego zmieniam go na następującą wartość w moim pliku .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 = ""

innym zestawem jest to, let g:indentLine_concealcursor = "nv"aby ukryty tekst otaczał kursor tylko w trybie „wstawiania” i „wizualnym”. Mam nadzieję, że może ci pomóc.

Qian Qu
źródło
0

Jeśli używasz indentLine i chcą utrzymać go pracy, ale chcą, aby zapobiec Vima z ukrycia rzeczy w JSON i promocji cenowych, rozwiązaniem jest zapytać podświetlanie składni, aby nie używać ukryć funkcję.

W przypadku plików składni JSON i Markdown zawartych w vim-polyglot jest to realizowane za pomocą następujących dwóch wierszy:

let g:vim_json_syntax_conceal = 0
let g:vim_markdown_conceal = 0
ssokolow
źródło