Подтвердить что ты не робот

Какова текущая настройка для использования OCaml в Vim?

Я никогда не использовал Vi или Vim, но кажется, что это лучший вариант для редактирования файлов OCaml. К сожалению, я потерял столько вещей, о которых нужно заботиться: ocaml-vi-addon, vi-scripts, otags и т.д.

Я нарушил свой первоначальный страх перед Vim, используя cream, но я сомневаюсь, что мне нужен пакет *, отличный от vim-скриптов.

  • → Я использую Debian, возможно, эта информация бесполезна.
4b9b3361

Ответ 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"