crypt of decay - алё, есть вимеры в зале? [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

алё, есть вимеры в зале? [Feb. 15th, 2014|08:49 am]
Previous Entry Add to Memories Tell A Friend Next Entry
хочу странного. хочу, чтобы табы и висящие пробелы примерно как в mcedit выглядели.

описываю.

если это таб, то он должен заменяться на «<--->» (по ширине таба; но ок, «<>» тоже покатит, я поставлю табы в 2) и подкрашиваться синим цветом.

если это «висящие» пробелы (т.е. пробелы в конце строки), то варианта два: или заменять на точки такого же цвета, как табы, или (даже лучше) покрасить нахуй СТРАШНЫМ цветом.

условие: не править руками цветовую схему, только vimrc.

у меня не получается раскрасить и то, и другое.

upd: да, я в курсе, что есть плугин «ShowTrailingWhitespace». вы шутите? для такой простой хуйни надо злоебучий плугин?!

и да: я знаю, как заменить таб на другой символ — listchars, да. но это не то. я хочу, чтобы каждый из табов на стрелочки типа выше заменялся, причём ширина стрелочки — как ширина таба.
Linkmeow!

Comments:
[User Picture]
From:[info]zim
Date:February 15th, 2014 - 10:21 am
(Link)
сэмпл кода, например
[User Picture]
From:[info]ketmar
Date:February 15th, 2014 - 10:26 am
(Link)
та йопт. открой любой makefile: там табы. хочу вместо них на экране крашеные стрелочки.

сделай любой файл, где в конце строки после букв один или более пробела. хочу их (пробелы) красиво раскрашеные тоже.
[User Picture]
From:[info]zim
Date:February 15th, 2014 - 10:42 am
(Link)
мне любопытно, что нуждается в таком ебанистическом оформлении
сэмпл кода, например
[User Picture]
From:[info]ketmar
Date:February 15th, 2014 - 10:57 am
(Link)
ебанистический код, взятый из ебанистических интернетов. там очень любят ставить сраные табы, а иногда даже табы вперемешку с пробелами. и очень не любят убирать trailing tabs. я хочу открыть файл в редакторе — и сразу это всё увидеть глазами.

конкретный код мне искать сейчас лень, но раз мне это надо — то, наверное, я с этим сталкиваюсь достаточно часто. mcedit с некоторых пор научился такую фигню показывать, и это очень удобно.
[User Picture]
From:[info]zim
Date:February 15th, 2014 - 11:11 am
(Link)
есть такая тема - hex редакторы, там сразу все видно.
ты свой код из копипасты собираешь?
[User Picture]
From:[info]ketmar
Date:February 15th, 2014 - 11:12 am
(Link)
отличная шутка, евгений ваганович!
[User Picture]
From:[info]zim
Date:February 15th, 2014 - 11:14 am
(Link)
спасибо, я старался
[User Picture]
From:[info]gregory_777
Date:February 15th, 2014 - 07:46 pm
(Link)
> ебанистический код, взятый из ебанистических интернетов.

Да, вот меня всегда удивляет, КАК люди добиваются такого ада в форматировании кода?
[User Picture]
From:[info]ketmar
Date:February 16th, 2014 - 03:17 am
(Link)
для меня тоже загадка. по-моему, такое ведь можно сделать только сильно постаравшись.
[User Picture]
From:[info]ketmar
Date:February 15th, 2014 - 10:58 am
(Link)
s/trailing tabs/trailing spaces/
From:(Anonymous)
Date:February 18th, 2014 - 05:04 am
(Link)
да, в общем-то все
а если какойнить мудак услышал о cmake и начал его пользовать, то совсем весело становится
From:[info]tzirechnoy.livejournal.com
Date:February 15th, 2014 - 02:29 pm
(Link)
А в виме ещё и табы есть?

(да, я, кстати, старый вимер).
From:[info]tzirechnoy.livejournal.com
Date:February 15th, 2014 - 02:30 pm
(Link)
А, блин, сначала писай -- думай потома.

Я понял, про какие табы речь.
[User Picture]
From:[info]ketmar
Date:February 15th, 2014 - 02:37 pm
(Link)
я вообще начинаю плавно думать, что надо брать какой-нибудь «микрови», форкать и запиливать под себя. пока я его пилить буду — заодно и команды выучу.
[User Picture]
From:[info]ketmar
Date:February 15th, 2014 - 02:35 pm
(Link)
таки да. :tabnew, gt, всё такое. я вообще начинаю подозревать, что шутки насчёт того, что в имаксе есть всё, кроме редактора — они и к виму вполне применимы.

только я-то имел в виду символ '\9'.

я тут всё проникаюсь вимом изо всех сил. и, вроде бы, хорош, зараза. и удобен должен быть. а вот такие мелочи, как в посте — всё портят.

а ещё к нему придётся k8jam руками цеплять. а для этого — чую — скрипты учить. тоскааа…
From:[info]tzirechnoy.livejournal.com
Date:February 15th, 2014 - 02:56 pm
(Link)
:set list lcs=tab:<>,trail:.
:highlight ExtraWhitespace ctermbg=red guibg=red
:let ews=matchadd("ExtraWhitespace", '\s\+\%#\@
From:[info]tzirechnoy.livejournal.com
Date:February 15th, 2014 - 02:56 pm
(Link)
:set list lcs=tab:<>,trail:.
:highlight ExtraWhitespace ctermbg=red guibg=red
:let ews=matchadd("ExtraWhitespace", '\s\+\%#\@«!$')
:autocmd InsertLeave * redraw!

В vimrc -- без начальных :.

Да, я вижу, что табы несколько не так. И вообще, похожэ, из примеров tab:<- -- лучшэ. Проще расслабиться, чем переделывать, имхо.
[User Picture]
From:[info]ketmar
Date:February 15th, 2014 - 03:16 pm
(Link)
tnx, но табы это не раскрасит, увы. попытки раскрасить табы одновременно с пробелами мне таким образом категорически не удались.

и неа, смиряться я никак не готов. к виму ещё привыкать надо, и удобную фичу откусили. а mcedit хоть и долбоебичен, зато привычен. ну его.

с прискорбием отмечаю, что очередная попытка перейти на вим накрылась табами. гадство.

ну ладно, может, мне в следующий раз повезёт. вот какой-нибудь восьмой вим выйдет — снова попробую.
From:[info]tzirechnoy.livejournal.com
Date:February 15th, 2014 - 03:30 pm
(Link)
У меня и так весь :list почему-то синим, потому я и не парился.

То есть после этих строк табы невконцэ строки у меня, натурально, синие.
From:[info]tzirechnoy.livejournal.com
Date:February 15th, 2014 - 03:31 pm
(Link)
Ну и да, в любом случае уж покрасить-то табы можно в любой цвет через matchadd().
[User Picture]
From:[info]ketmar
Date:February 16th, 2014 - 03:19 am
(Link)
ну, я же не настоящий сварщик. я красил через просто :match, правда, но раскрасить получалось только что-то одно: или пробелы, или табы.

" visible shit

:set list
:set listchars=tab:≤≥,trail:.,nbsp:.

:highlight ExtraWhitespace ctermfg=Yellow ctermbg=Red
:match ExtraWhitespace /\s\+$/

:highlight HiTabs ctermfg=Red ctermbg=Black
:match HiTabs /\t\+/

вот тут можно менять местами их, и работать завсегда будет только одна раскраска.
From:[info]tzirechnoy.livejournal.com
Date:February 16th, 2014 - 01:39 pm
(Link)
>вот тут можно менять местами их, и работать завсегда будет только одна раскраска.

Именно поэтому и надо красить через matchadd().
Кстати, твой вариант ExtraWhiteSpace будет красить текущий пробел пока печатаешь. Потому нужэн тот сложный вариант. Который я неправильно набрал, надо
:let ews=matchadd("ExtraWhitespace", '\s\+\%#\@<!$')

И redraw -- чтобы сразу ошыбку раскрашывало.
[User Picture]
From:[info]ketmar
Date:February 16th, 2014 - 01:48 pm
(Link)
я знаю про текущий, да. и ту стреманину в гугеле тоже нашёл. просто пока тестировал — выкинул.
[User Picture]
From:[info]ketmar
Date:February 15th, 2014 - 03:17 pm
(Link)
двоеточия, кстати, в vimrc не мешают, это допустимо. и зачем let, можно же call?
From:[info]tzirechnoy.livejournal.com
Date:February 15th, 2014 - 03:30 pm
(Link)
Чтобы можно было потом удалить. Оно по этому id удаляется.
From:[info]tzirechnoy.livejournal.com
Date:February 15th, 2014 - 05:37 pm
(Link)
Про listchars -- я думаю, ты перебьёшся без закрывающей стрелочки.
[User Picture]
From:[info]ketmar
Date:February 16th, 2014 - 03:21 am
(Link)
неа. эстетика — это очень важно.

а если немного серьёзней, то вот так: я уже кучу программ имею, которые мне диктуют, как мне же будет лучше. ну ок, это историческое наследие. но переходить на новую, которая опять будет рассказывать мне, как мне будет лучше, вместо того, чтобы просто сделать то, что я хочу… не, «слава роботам» и всё такое, но нахуй её. буду ждать vim8, авось починят.