Как я могу запретить vim скрывать символы в markdown и json?

17

Это сводит меня с ума, я делаю

:set ft=text

Чтобы увидеть что-то, в противном случае все ссылки исчезают в уценке и цитаты в JSON.

Как отключить это раз и навсегда?

firedev
источник
1
Можете ли вы опубликовать скриншот того, что вы имеете в виду? Кроме того , при редактировании файла уценки, делать :redir > foo, :hi(просмотреть все Изюминку группы прижимной пространства), :redir endи добавить содержимое вновь созданный fooфайл здесь.
Муру
«# _this_ ** that **» будет отображаться как «# this that»
masukomi

Ответы:

23

(угадайте здесь, пожалуйста, предоставьте скриншот / дополнительную информацию)

Вы можете изменить 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.
nobe4
источник
1
Ах да, просто установите его в ноль в конфигурации, и это, кажется, это исправить. Интересно, что по умолчанию это 0, наверное, некоторые плагины меняют настройки.
firedev
1
Кажется, что conceallevelсбрасывается каждый раз, когда вы открываете файл. Есть ли способ заставить его всегда придерживаться 0?
yktoo
В вашем vimrc? set conceallevel=2
nobe4
4
Чтобы ответить на мой собственный вопрос и, возможно, помочь любому, кто сталкивается с той же проблемой: у меня установлен плагин indentLine , для которого conceallevelпо умолчанию для каждого файла устанавливается значение 2. Это можно отключить с помощью:let g:indentLine_setConceal = 0
yktoo
5
g:indentLine_setConceal = 0по сути, делает так, чтобы плагин Indentline больше не работал. Я нашел, let g:indentLine_fileTypeExclude = ['json']работал лучше для меня.
Мэтт Грир
7

Если вы используете плагин «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"том, чтобы скрытый текст окружал ваш курсор только в режиме вставки и в визуальном режиме. Надеюсь, что это может помочь вам.

Цянь Цюй
источник
0

Если вы используете indentLine и хотите сохранить его работать , но не хотите , чтобы Vim от прятать вещи в JSON и Markdown, решение попросить ваш синтаксис , чтобы не использовать скрывающие функцию.

Для файлов синтаксиса JSON и Markdown, включенных в vim-polyglot , это выполняется с помощью следующих двух строк:

let g:vim_json_syntax_conceal = 0
let g:vim_markdown_conceal = 0
ssokolow
источник