私は280Northの新しいObjective-J / Cappuccino JavaScript フレームワークを見てきました。SubEthaEdit と TextMate の構文強調表示を処理するためのプラグインを提供していますが、私は主に vi を使用しています。vi で Objective-J 構文の強調表示を取得する方法、または他の 2 つのエディターが使用する形式を変換する良い方法を知っている人はいますか?
4 に答える
github のソースに vim ハイライト モジュールが含まれるようになりました。
ここで提案されていることを行うだけでは不十分であることがわかりました。
フランシスコが提案するようにファイルをダウンロードします
解凍、
cd Tools/
ディレクトリシェルを実行し、
sh install-tools
objj.vim ファイルを vim dir にコピーし、
cp Tools/Editors/objj.vim /usr/share/vim/vim71/syntax/
問題
「.j」ファイルでは構文の強調表示が機能しないことがわかりました。ここでの問題は、ファイル拡張子が認識されないことです。私のようにgvimを使用している場合、メニュー項目もありません。
Objective-J を gvim メニューに追加
Syntax->Ne-MO->Objective J の gvim にメニュー項目を追加するには:
sudo vim /usr/share/vim/vim71/synmenu.vim
次の行を追加します。
an 50.70.465 &Syntax.Me-NO.Objective\ J :cal SetSyn("objj")<CR>
Objective-C エントリの下。
保存して終了
:wq!
次に、gvim で「.j」ファイルをリロードします。次に行く場合:
- 構文 -> Ne-MO -> 目的 J
選択した Objective-J ファイルが強調表示されます。
Objective-J の自動ハイライト?
しかし、ファイルをロードするときの自動強調表示についてはどうでしょうか? ファイルの関連付けはないようです。そう:
sudo vim /usr/share/vim/vim7.1/filetype.vim
ファイルには、ファイルタイプの関連付けのリストがあります。行を追加する場所を知りたい場合は、filetype.vimで「 setf ocaml 」を検索してください。以下の行を上に追加します (アルファベット順):
"" Objective J au BufNewFile,BufRead *.j setf objj
結果を保存します。「.j」拡張子の付いたファイルをロードできるようになり、Objective-J ファイルの構文強調表示が機能するようになりました。
結果
これで、ファイル タイプ ".j" による Objective-J ファイルの自動認識と、gvim でこのファイル タイプを設定する方法が得られるはずです。これはおそらく、Bram または vim の公式リリースを行う人によって追加されるはずですが、今のところ、このハックは私にとってはうまくいきます。(Ubuntu 8.10、Vim 7.1)
Objective-J Toolsパッケージ(http://cappuccino.org/download)とgithubのソースに、vimハイライトモジュールが含まれるようになりました。
自動ファイル検出機能を備えた Objective J のハイライトを (Mac)Vim に追加する別の方法を次に示します。これは、ブートロードのバージョンよりもはるかにクリーンで短いものです (MacVim にメニューを追加することはありませんが、まったく必要ありません)。 :
- Francisco が言及した objj.vim ファイルをダウンロードします。
- に配置し
~/.vim/syntax/
ます(必要に応じてフォルダーを作成します) au BufNewFile,BufRead *.j setf objj
行を追加します~/.vim/filetype.vim
~/.vimrc
構成ファイルでファイルタイプの検出をオンにすることを忘れないでください。filetype plugin on
通常のjavascript構文の強調表示で十分な場合は、次のようなものを.vimrcファイルに追加することで、それを.jファイルにマップできます。
augroup objective-j
au! BufRead,BufNewFile *.j set filetype=objective-j
au! Syntax objective-j source /usr/share/vim/vim71/syntax/javascript.vim
augroup END
この正確なコードは試していませんが、LinuxマシンでC#構文を.valaファイルにマッピングするときに同様のことを行いました。(注:javascript.vimファイルはコンピューターの別の場所にある可能性があります。)もちろん、そのまま使用する代わりに、そのjavascript.vim構文定義に基づいてobjective-j.vimファイルを作成することもできます。