私はViやVimを使ったことがありませんが、OCamlファイルを編集するのに最適なオプションのようです。残念ながら、ocaml-vi-addon、vi-scripts、otagsなど、気にすることがたくさんあります。
cream を使用して、Vimに対する最初の恐怖を打ち破りましたが、vim-scripts以外のパッケージ*が必要かどうかは疑問です。
OCamlのデフォルトモードは、実際にあるすべてです。次のプラグインの使用を検討できます。
https://github.com/scrooloose/syntastic -構文チェック
https://github.com/def-lkb/merlin -オートコンプリート
https://github.com/jpalardy/vim-slime -repl統合
https://github.com/OCamlPro/ocp-indent -コードのフォーマット
これらの行を〜/ .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はコンパイラーの出力を解析し、正しい場所にジャンプすることができます。
これらの理由から、編集者からのサポートが必要です。
1と2の場合、デフォルトで十分ですが、より良い仕事をしようとする このocp-indentプラグイン があります。
3の場合、私は構文の強調表示に頼っていますが、vimに適したものは何も知りません。
インラインデバッグに関しては、コマンドラインからocamldebugを使用することができなかったため、エディターから試したことはありませんでした。
イントロスペクションに関しては、READMEで説明されているようにvimプラグインとしてインストールできる annotプログラム を十分にお勧めすることはできません。
インストールすると、2回のキーストロークでカーソルの下にあるもののタイプを取得できます。これは、最も複雑なタイプを推測できる言語にとって非常に便利です。
https://github.com/ocaml/merlin/wiki/vim-from-scratch に本当に素敵なガイドがあります
Stack Overflowはリンクのみの回答を認識しないため、ここにコマンドがありますが、実際には、そのページにアクセスして洞察とコンテキストを確認してください。
opam install merlin
これを.vimrcに追加します:
let g:opamshare = substitute(system('opam config var share'),'\n$','','''')
execute "set rtp+=" . g:opamshare . "/merlin/vim"