Pull to refresh
22
0

Пользователь

Send message

Извините, что ответ только сейчас — на сайте в последнее время бываю не часто. Целью создания собственного плагина было желание иметь систему под себя, алгоритм, который отвечал моим, сугубо специфичным критериям. Из опыта использования fzf, стало ясно что его нечеткий поиск скорее мешает, чем помогает, поэтому от данной фичи я отказался, ну и банально — это сложнее. Собственно, это первое отличие от fzy. Алгоритм прост настолько, насколько может быть — это регулярные выражение, те самые, которые в состоянии переварить unix'овый grep. С производительностью тоже не всё так хорошо, как могло бы быть. При печатании любого символа, все строки (а их может быть довольно много) передаются в stdin grep'а, так что на сравнительно небольших объемах данных порядка 100к уже будут подвисания. Но поскольку весь спектр моих задач плагин покрывает, переписывать модель нет никакого желания. Вывод можете сделать сами, я лишь дам пару подсказок: если нужен нечеткий поиск или у вас много файлов, то лучше использовать fzf или fzy. Если нравится дизайн, превью, расширяемость, то можете обратить внимание на плагин.

У меня наблюдается следующий процесс: когда вызываю команду, fzf перерисовывает экран и предлагает список вариантов. После выбора пункта из списка, fzf возвращается в vim и вызывает соответствующий обработчик. Когда я заканчиваю работу и выхожу из vim, то история вводимых команд отсутствует. Это не критично, конечно же, просто иногда там может быть полезная информация — вывод команды git, например.

Goban
JohnnyGo и признание от всех Джонни.

Причина зависимости от vim 8 указана в статье. В коде всего пара вызовов timer_start, которые очень легко убрать, но что делать с курсором в такое случае — я не знаю. А где вы прослеживаете предпочтения сообщества?

Я намеренно отказался от горячих клавиш, так как на видео не видно, что нажимается. Ввод команды не только нагляднее, но и предоставляет базовый howto. О возможности забиндить команду на комбинацию клавиш не знает разве что совсем юный vim'ер.

А что вы имеете ввиду под производительностью? Скорость запуска редактора или выполнение каких-то операций? Последнее как-то не замечаешь, а для первого придумали autoload.

В Lisp оператор пишется слева, а операнды — справа. Всего лишь дело привычки. Зато писать выражения вида:


(+ 1 2 3 4 5 6 7 8 9)

намного приятнее)

Поясните, что вы имеете ввиду. Если есть что-то быстрее, чем


  1. Нажать триггер
  2. Ввести запрос
  3. Нажать ентер

то с радостью добавлю это в свой плагин.

Об этом и речь. Каким бы крутым не был опенсорс вообще и сообщество vim'а в частности, оно всегда будет на несколько шагов позади коммерческой разработки в плане различных фич (речь только про ide). Благо, мои небольшие проекты пока не вынуждают меня пересаживаться на прожорливые ide.
Я так понимаю, эти плагины не от сообщества, а от разработчика ide? То есть, есть какое-то ядро для всех продуктов JetBrains и зависимые от языка детали для каждой из ide, которые могут устанавливаться как плагины?
Я, конечно, плохо знаком с различными IDE, но разве под множеством не подразумеваются смежные языки? C-C++, PHP-HTML-CSS. Разве есть IDE, которая предоставляет удобные инструменты для PHP, Python и C++ единовременно? Плагины написать можно, но это ведь будет примитивная поддержка.
Даже если когда-нибудь из vim получится сделать полноценную IDE, то то это просто будет ещё одна IDE.

Не совсем еще одна. IDE не поддерживает множество языков, в отличие от vim'а. Но это всё мечты.
Есть мнение, что делать из vim'a ide некорректно и, скорее всего, невозможно. Некоторые вещи, если и можно сделать, то в урезанном виде, и если без таких вещей невозможно обойтись, то целесообразнее использовать ide.

Если начать копаться — вообще ничего не написано про то как сделать vim удобным для людей, которые пишут серьезные большие проекты.

Если бы всё было так просто, то ide никто бы уже давно не использовал. Вам не понравилось, а кто-то оценит статью, попробует редактор и, возможно, будет использовать для своих «pet-project'ов» или для правки конфигов, ведения заметок и всего прочего. Впрочем, вы всегда можете написать статью о своем видении работы с vim'ом.
Проверил с вашими настройками — аналогично всё работает. Боюсь, я не тот, кто вам нужен, опыта у меня немного. Vim последней версии стоит?
Не смог воспроизвести баг, у меня тема не слетает. Но vim создает временный файл, а потом загружает его на сервер. Возможно, после первого сохранения, он пытается работать с этим файлом? Файл сохраняется в /tmp/vIhh6rh/4. Но вообще, это довольно бредово звучит. Может имеет смысл скопировать конфиг на удаленный сервер и работать на нем? Если, конечно, их не десятки. Либо монтировать директорию.
Странный вы) Разве не удобнее, когда ошибка всплывает сразу, когда в памяти еще хранятся детали реализации и вносить изменения проще всего, а не через несколько часов/вечером (или как там у вас процесс настроен)?

Например vim-javascript тормозит работу Vim если работаешь с файлами в 150000 строк

Как по мне, это не повод отказываться от постоянных удобств в угоду очень редким правкам. Возможно, стоит отключить загрузку плагина в рантайм на время работы с таким файлом, или, выставить в буфере неизвестный тип файла, чтобы не работала подсветка.

Вообще, я согласен с тем, что vim из коробки я знаю достаточно плохо. Мне хотелось сделать работу в vim'е более комфортной, неважно достигается это за счет плагинов или настройки самого vim'а. Более того, само наличие плагина наводит на мысль, что из коробки vim такое не умеет или умеет хуже, и у меня не было никаких оснований думать иначе. Если вы знаете еще какие-нибудь команды, касательно статьи, вроде стандартного файлового менеджера, пожалуйста, напишите.
Спасибо, не знал про ":e.". Возможно, со временем тоже откажусь от NerdTree.
Посмотрел историю изменений. Допустим, fugitive можно удалить и работать напрямую с git, но чем вы заменили nerdtree и syntastic?
Не понял вас. Как без плагинов можно пользоваться fuzzy поиском по файлам? Как работать с деревом каталога или получить (улучшенную) поддержку определенного языка? Я согласен с тем, что от некоторых плагинов, вроде surround или tabular, можно отказаться, но далеко не от всех. Я к тому, что плагины создаются для того, чтобы облегчить жизнь и тут либо писать нужный функционал с нуля, либо использовать готовое.
Youcompleteme умеет в семантику. К примеру, в php можно писать так

image

Думается, что и с питоном всё нормально, но, боюсь, вам придется погуглить на это счет или установить несколько плагинов самому на тот случай, если простой установки youcompleteme будет недостаточно, так как с питоном я вообще не знаком.

Вот еще полезная ссылка, удачи.
1

Information

Rating
Does not participate
Date of birth
Registered
Activity