Як запобігти прихованню символів vim у відмітці та json?


17

Це зводить мене з розуму, я

:set ft=text

Щоб щось побачити, інакше всі посилання зникають у розмітці та лапках в JSON.

Як відключити це раз і назавжди?


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.

1
О так, просто встановіть його на нуль у конфігурації, і це, здається, виправить. Цікаво, що за замовчуванням це 0, я думаю, деякі плагіни змінюють налаштування.
звільнений

1
Здається, що conceallevelскидається щоразу, коли ви відкриваєте файл. Будь-який спосіб змусити його завжди дотримуватися 0?
yktoo

У вашому vimrc? set conceallevel=2
nobe4

4
Щоб відповісти на моє власне запитання і, можливо, допомогти тому, хто стикається з тією ж проблемою: у мене встановлений плагін indentLine , який примушує conceallevelйого встановлювати значення за замовчуванням для кожного файлу. Це можна відключити за допомогою:let g:indentLine_setConceal = 0
yktoo

5
g:indentLine_setConceal = 0по суті робить це так, що плагін відступу більше не працює. Я виявив, що 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.