Как Content Assist Ruby или JavaScript в Vim?
Я хотел бы знать, можно ли в Vim использовать такие языки сценариев, как Ruby или JavaScript.
Если это возможно, как я могу это сделать?
Нужно ли мне компилировать исходный код vim, чтобы включить опцию 'rubyinterp'?
2 ответа
То, что вы называете "помощником по содержанию" (фон Eclipse?), Называется "Завершением Омни" в Vim. Это часть большого семейства доработок, которое просто называется "Режим завершения вставки", и вы можете прочитать все об этом в :h ins-completion
,
Однако есть два существенных различия с большинством механизмов завершения IDE:
Встроенный в Vim механизм завершения не может быть автоматическим: вам нужно нажать на определенные ярлыки, чтобы появилось меню завершения. Если вам нужно автоматическое завершение, вам понадобится плагин: NeoComplCache, SuperTab, AutoComplPop или младший YouCompleteMe. Есть и другие, так что попробуйте vim.org.
Vim не "понимает" ваш язык, как IDE. Vim - это общий текстовый редактор, ориентированный на программирование, но он не способен анализировать ваш код и действительно понимать, что вы имеете в виду, или следовать своей области видимости или дереву зависимостей. Из-за этого завершение может быть немного нечетким. Так что не надейтесь на свои ожидания слишком высоко.
Для завершения JavaScript не требуется ничего особенного, но, AFAIK, Vim должен быть скомпилирован с поддержкой Ruby, чтобы обеспечить завершение Ruby. Как получить правильную сборку Vim, зависит от вашей платформы, которую мы не знаем.
На обоих языках, ударяя <C-x><C-o>
(в режиме вставки) после method_name.
должен открыть меню завершения, которое работает более или менее так же, как в других редакторах /IDE.
Да, по крайней мере, в некоторой степени.
Включение rubyinterp потребует перекомпиляции, если вы не можете найти бинарный файл, в котором он есть. Вы найдете больше по теме здесь.
Помощь по коду может быть достигнута с помощью плагинов и собственной функциональности vim, которая называется (omni-) Завершение. Есть много плагинов для работы, но одним из моих любимых является Neocachecomplete. Или попробуйте один из "дистрибутивов" vim, например, сделанный Францией Стивом.
Также вы можете добавить пользовательские файлы синтаксиса, которые расширяют поддержку вашего языка по вашему выбору. Вы также можете найти плагины, которые проверяют синтаксис, например. синтетический.