web-dev-qa-db-ja.com

VimでOCamlを使用するための現在の設定はどれですか?

私はViやVimを使ったことがありませんが、OCamlファイルを編集するのに最適なオプションのようです。残念ながら、ocaml-vi-addon、vi-scripts、otagsなど、気にすることがたくさんあります。

cream を使用して、Vimに対する最初の恐怖を打ち破りましたが、vim-scripts以外のパッケージ*が必要かどうかは疑問です。

  • ->私はDebianを使用していますが、この情報は役に立たないかもしれません
23
user445107

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 -コードのフォーマット

24
rgrinberg

これらの行を〜/ .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はコンパイラーの出力を解析し、正しい場所にジャンプすることができます。

15
Thomas Leonard

これらの理由から、編集者からのサポートが必要です。

  1. 構文の強調表示/折りたたみによるより良いプレゼンテーション
  2. より良い自動インデント
  3. バックグラウンドコンパイル、構文の強調表示(再度)、またはその他の方法でエラーを早期に発見
  4. インラインデバッグ
  5. 使用可能な名前/メソッドを一覧表示したり、オブジェクトタイプを確認したりするためのイントロスペクション。

1と2の場合、デフォルトで十分ですが、より良い仕事をしようとする このocp-indentプラグイン があります。

3の場合、私は構文の強調表示に頼っていますが、vimに適したものは何も知りません。

インラインデバッグに関しては、コマンドラインからocamldebugを使用することができなかったため、エディターから試したことはありませんでした。

イントロスペクションに関しては、READMEで説明されているようにvimプラグインとしてインストールできる annotプログラム を十分にお勧めすることはできません。

インストールすると、2回のキーストロークでカーソルの下にあるもののタイプを取得できます。これは、最も複雑なタイプを推測できる言語にとって非常に便利です。

3
rixed

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"
1
chelmertz

OmletはVimに適したモードでした: 作成者のページvim.org 。 2005年以降、新しいバージョンがない場合は、ニーズに合う可能性があります。やってみたら、どう思うか教えてください!

0
jrouquie