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


54

Як я можу налаштувати vim для відображення прихованих символів, таких як вкладки чи пробіли, лише коли вони вводяться? Я не хочу, щоб вкладки та / або пробіл замінювалися спеціальними символами, такими як ">" або "_", коли файл записується.


1
Вам точно потрібні пробіли для показу? Типовим рішенням є використання :set list. Це може отримати все, крім пробілів.
Кріс Харпер

Відповіді:


64

Можна використовувати команди

:set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
:set list

щоб показати всі символи, які не є пробілом. Тож пробіли - це єдине, що не відображається.

Якщо вам теж потрібні пробіли, щоб позначити пробіли, вам потрібно спробувати щось менш приємне. Щось на зразок

:%s/ /█/g

Замінить усі пробіли символом блоку. Тоді вам потрібно буде скасувати її перед написанням. Ви можете змінити команду для запису

cmap :w :%s/█/ /g<CR>:w

Просто пропозиція. Я ще цього не пробував.


Дякую за допомогу; Ваша пропозиція працює досить непогано. Однак я помітив, що часом, коли я відкриваю певні файли, я бачу "> ---" (вказівка ​​на вкладку). Чи є спосіб зробити так, щоб символи вкладки відображалися лише під час набору тексту?
dan0

@ dan0 Ви маєте на увазі лише під час вставки? Не знаю. Я певно сумніваюся в цьому. Ви можете зробити деякі функції відображення, щоб, перейшовши в режим вставки, він спочатку викликає :set listcharsкоманду і встановлює її ні до чого, а потім викликає її знову, коли ви виходите з режиму вставки. Але я не знаю достатньо карт, щоб це зробити.
Кріс Харпер

@JonathanKomar "встановити список"
Владислав Довгалець

1
Використання space:␣працює добре для мене: :set listchars=eol:$,tab:>-,trail:~,space:␣
loxaxs

15

Новіші версії vim також можуть показувати пробіли. (Підтверджено vim 7.4.1689).

:set list
:set listchars=tab:→\ ,space:·,nbsp:␣,trail:•,eol:¶,precedes:«,extends:»

4

У моєму випадку мені довелося боротися з nbsp ,

:set listchars=nbsp:☠,tab:▸␣
:set list

Ви також можете використовувати ␣ замість ☠

Ось приклад, коли вищевказаний конфігурація vim виділяє "невидимі дивні" пробіли та додатково виділяє вкладки (червоний колір, оскільки я використовую плагін vim trailing-whitespace)

Ось

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.