Какова текущая настройка для использования OCaml в Vim?
Я никогда не использовал Vi или Vim, но кажется, что это лучший вариант для редактирования файлов OCaml.
К сожалению, я потерял столько вещей, о которых нужно заботиться: ocaml-vi-addon, vi-scripts, otags и т.д.
Я нарушил свой первоначальный страх перед Vim, используя cream,
но я сомневаюсь, что мне нужен пакет *, отличный от vim-скриптов.
- → Я использую Debian, возможно, эта информация бесполезна.
Ответы
Ответ 1
Режим OCaml по умолчанию - это все, что нужно. Вы можете использовать следующие плагины:
https://github.com/scrooloose/syntastic - проверка синтаксиса
https://github.com/def-lkb/merlin - автоматическое завершение
https://github.com/jpalardy/vim-slime - интеграция с заменой
https://github.com/OCamlPro/ocp-indent - форматирование кода
Ответ 2
Поместите эти строки в файл ~/.vimrc:
filetype indent on
filetype plugin on
au BufRead,BufNewFile *.ml,*.mli compiler ocaml
syntax on
Затем вы получите несколько ярлыков:
-
\s
переключается между файлами .ml и .mli
-
\c
комментирует текущую строку/выбор (\c
, чтобы раскомментировать)
-
%
переходит к совпадению let/in, if/then и т.д. (см. :h matchit-install
)
-
\t
указывает тип объекта под курсором (если вы скомпилированы с -annot
)
Кроме того, Vim может затем анализировать выходные данные компилятора и переходить в нужное место.
Ответ 3
Один хочет получить поддержку от своего редактора по следующим причинам:
- лучшее представление с помощью подсветки синтаксиса/складывания
- лучший автоматический отступ
- ошибки пятна ранее с помощью фоновой компиляции, подсветки синтаксиса (снова) или любым другим средним значением
- встроенная отладка
- интроспекция для отображения доступных имен/методов, вида объекта и т.д.
Для 1 и 2 значение по умолчанию должно быть достаточно хорошим, хотя есть этот плагин ocp-indent, который пытается сделать лучшую работу.
Для 3 я прибегаю к подсветке синтаксиса и не знаю ничего лучше для vim.
Что касается встроенной отладки, мне никогда не удавалось использовать ocamldebug из командной строки, поэтому никогда не пробовали из редактора.
Что касается интроспекции, я не могу рекомендовать достаточно программу аннота, которая может быть установлена как плагин vim, как описано в README.
После установки вы можете получить тип чего-либо под курсором только с двумя нажатиями клавиш, что очень удобно для языка, способного вывести самые сложные типы.
Ответ 4
Omlet был хорошим режимом для Vim: Страница автора, vim.org. Событие, если с 2005 года не было новой версии, это может удовлетворить ваши потребности. Если вы попробуете, расскажите, что вы думаете!
Ответ 5
Существует действительно хорошее руководство по адресу https://github.com/ocaml/merlin/wiki/vim-from-scratch.
Поскольку переполнение стека не оценивает ответы только по ссылкам, вот команды, но на самом деле - посетите эту страницу для понимания и контекста.
opam install merlin
Добавьте это к .vimrc:
let g:opamshare = substitute(system('opam config var share'),'\n$','','''')
execute "set rtp+=" . g:opamshare . "/merlin/vim"