Comments 21
На каком языке в основном пишете, если не секрет? Просто для статистики.
0
Сейчас в основном на С++ и Python.
+1
И это очень логично. Кажется, что Vim наиболее пригоден как раз именно для этих языков. Для C++ потому что трудно написать хорошую IDE для такого сложного языка, а для Python — потому что для него написаны очень качественные и функциональные плагины.
0
Что меня прежде всего привлекает в Vim, так это отсутствие необходимости использовать мышь, скорость работы с текстом и его гибкость (одина возможность настроить Vim в зависимости от содержимого
ftplugin
чего стоит). Но скажу честно, что пользуюсь далеко не всеми его возможностями.+1
Vim – лучший текстовый редактор в мире. Но я ним не пользуюсь. Вернее, пользуюсь, но когда нужно отредактировать один файл.
Мне кажется, глупо не пользоваться преимуществами графических интефейсов и мощью семантического анализа IDE, учитывая, что для большинства из них есть симуляция Vim в том или ином виде: Intellij IDEA, Eclipse, ST, Atom. Даже для Emacs. IdeaVIM, например, поддерживает macros, remapping (limited), marks, buffers и многое другое. То есть можно очень даже неплохо жить, и при этом не краснеть когда тебе на code review говорят, что эта переменная не используется, или что она при неких обстоятельствах может быть не инициализированна. И не мучиться с GitGutter, который обновляет состояние раз в вечность.
В идеальном мире у Vim был бы API, который бы позволял подключать к нему внешние редакторы. Если я правильно понимаю, к этому стремятся ребята из NeoVIM.
Мне кажется, глупо не пользоваться преимуществами графических интефейсов и мощью семантического анализа IDE, учитывая, что для большинства из них есть симуляция Vim в том или ином виде: Intellij IDEA, Eclipse, ST, Atom. Даже для Emacs. IdeaVIM, например, поддерживает macros, remapping (limited), marks, buffers и многое другое. То есть можно очень даже неплохо жить, и при этом не краснеть когда тебе на code review говорят, что эта переменная не используется, или что она при неких обстоятельствах может быть не инициализированна. И не мучиться с GitGutter, который обновляет состояние раз в вечность.
В идеальном мире у Vim был бы API, который бы позволял подключать к нему внешние редакторы. Если я правильно понимаю, к этому стремятся ребята из NeoVIM.
+2
А демонстрацию \r\n вместо простого \n в конце строки сложно добавить?
0
Технически сложности быть не должно, потому что нужно лишь добавить еще одно регулярное выражение. Только навскидку не могу сказать к какой опции это можно привязать, чтобы подсветка срабатывала корректно. Спасибо за идею.
0
Если в файле везде CRNL, то никаким регулярным выражением вы ничего не сделаете: файл будет открываться с
setlocal fileformat=dos
с преобразованием CRNL полностью в перенос строки. Если нет, то ^M
в конце и без подсветки обычно заметить несложно, в регуляных выражениях можно использовать \r
.0
Хотя регулярное выражение
$
будет подсвечивать часть строки за последним символом. Только без дополнительного условия «использовать только если &l:fileformat is# "dos"
» подсвечиваться конец будет всегда.0
Спасибо за информацию. Я как раз думал над этим вопросом.
Получается, что подсветка в этом случае вообще не особенно нужна, если я правильно понял первый коментарий.
Получается, что подсветка в этом случае вообще не особенно нужна, если я правильно понял первый коментарий.
0
Подсветка — нет, скорее всего пользователь не поймёт, что подсвечивается и почему (если только это не смешанный CRNL/NL файл). Вот сообщение о том, что
Подсвечивать
Я бы рекомендовал подсвечивать
&l:fileformat is# 'dos'
при открытии сделать можно, вместе с описанием «а что это такое» и «как исправить» (и «как отключить предупреждение»).Подсвечивать
^M
в тексте всё же можно — «замечаемость» его сильно зависит от используемой цветовой схемы. С моим wombat256mod это особых проблем не доставляло, хотя там и нет кричащего фона. В стандартной схеме ^M
похож на комментарий, что ещё заметнее. Проблем нету в основном потому, что ^M
либо нет вообще, либо он есть везде (при вставке из старой Opera, к примеру). Так что мой комментарий всё же относится к моему опыту.Я бы рекомендовал подсвечивать
все
управляющие символы, а не \r
. Во всех известных мне языках программирования их можно заменить на что‐то из печатных символов, а проблем при использовании VCS или cat они доставить могут (VCS может счесть, что файл является бинарным, а в терминале они не зря называются управляющими).0
Несколько плагинов по теме, которые могут пригодиться:
sleuth — автоматическое определение tabstop, shiftwidth, softtabstop, expandtab
better-whitespace — подсветка лишнего/неправильного whitespace, а так же функция для удаление такового
indent-guides — подверстка отступов пробелами и табами
sleuth — автоматическое определение tabstop, shiftwidth, softtabstop, expandtab
better-whitespace — подсветка лишнего/неправильного whitespace, а так же функция для удаление такового
indent-guides — подверстка отступов пробелами и табами
0
Подсветка пробельных символов в конце строки
setlocal list listchars=eol:¬,trail:_
0
А зачем в github releases помещать README? Обычно туда помещают часть CHANGELOG (что изменилось по сравнению с предыдущим выпуском) и/или какую‐нибудь производную от него (к примеру, где сломана совместимость и как это исправить).
0
Спасибо за совет. Учту на будущее.
Если только CHANGELOG добавлять, то он у меня получается чересчур короткий от версии к версии, поэтому и вложил README.
Если только CHANGELOG добавлять, то он у меня получается чересчур короткий от версии к версии, поэтому и вложил README.
0
Так это хорошо. Есть страничка github.com/aserebryakov/filestyle/releases, на которой сейчас много копий README. А в предложенном варианте там будет нормальный, полный CHANGELOG.
Собственно поэтому в powerline я changelog не веду — достаточно того, что список изменений есть на Github и есть полностью его копия в описании изменений в
Собственно поэтому в powerline я changelog не веду — достаточно того, что список изменений есть на Github и есть полностью его копия в описании изменений в
master
ветке.0
Sign up to leave a comment.
Vim FileStyle: проверяем открытый файл на соответствие настройкам Vim