Показать вкладку listchars как пробелы


14

Я использую listи, listcharsчтобы показать свои пробелы, но стиль кода, которого я придерживаюсь, использует вкладки. Видеть >или ^Iдля всех моих вкладок тошнит.

Как бы я сохранил все мои существующие символы списка, но с пустым символом табуляции?


2
Обратите внимание, что установка пробела в качестве вкладки означает, что вы не сможете различать пробелы и вкладки или видеть вкладки в других местах (например, внутри строки, в конце строки). Это своего рода побеждает цель set list;-) Некоторые другие (меньшие) символы, которые вы можете попробовать: ·(MIDDLE DOT), (OPEN BOX) или (SUBSCRIPT MINUS). (Я лично использую: set listchars=tab:!·).
Мартин Турной

@Carpetsmoker правильно. Вот почему у меня есть линтер. :) Восклицательный знак может быть не таким уж и плохим, наверное, я смогу поиграть с ними.
Qix - МОНИКА ПРОИЗОШЛА

1
Как примечание, я фактически использовал маленькую стрелку для своих вкладок. Не так навязчиво.
Qix - МОНИКА ПРОИЗОШЛА

Ответы:


23

'listchars'принимает два символа, tabтак что вы можете просто использовать два обычных пробела:

set listchars=tab:\ \ ,trail:·,eol:¬,nbsp:_

1
Не знал, что вы могли бы сделать \ , хотя это имеет смысл, так как вы можете искать с ними ( /\ ). Я пытался \s, ' 'и т.д.
Qix - MONICA плохо обращались

3

Оказывается, неразрывные пробелы работают просто отлично.

Согласно этому ответу последовательность utf-8 есть "\xc2\xa0".

Так как я на Mac, я просто сделал, echo -en "\xc2\xa0" | pbcopyа затем добавил их в мой .vimrc :

set listchars=tab:[2p],...

где [2p]вставил в буфер обмена дважды. Результат оказался

set listchars=tab:<nbsp><nbsp>,...

что правильно заставило вкладки отображаться как простой пробел.


2
Это много проблем, когда вы могли бы сделать set listchars=tab:\ \ ,....
Ромен

1
@romainl тогда ответь :)
Qix - МОНИКА БЫЛА НЕЗАБЫВАЕМАЯ
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.