web-dev-qa-db-ja.com

特定のファイルのVimホットキー

Vimで特定のファイルタイプにホットキーを設定することは可能ですか?.

たとえば、.Javaファイルを編集している場合、5を押したときにvimでjavac.Javaを実行したいと思います。

これは可能ですか?

4
vonhogen

〜/ .vimrc

autocmd FileType Java map <F5> :! javac %<cr>

キーマッピング および 外部コマンド に関する詳細情報。

8

(SOとそのような質問のSU ...とにかく:)の間の二分法のポイントを理解できませんあなたの質問は、数日後、SOですでに回答されています: ftplugins +ローカルマッピング/略語/コマンドが進むべき道です。

Javac呼び出しに関しては、%<を使用して拡張子なしのファイル名を取得します。したがって、最初の正しいマッピングは次のようになります。

:nnoremap <buffer> <f5> :!javac %<<cr>

ただし、代わりに次のクイックフィックスモードに依存することをお勧めします。

:setlocal makeprg=javac\ $*
:nnoremap <buffer> <f5> :make %<<cr>
4
Luc Hermitte

私はVimでこのようなものを最初から書いた経験はありませんが、以下の例を探してみてください。

おそらく、.Javaファイル用のファイルタイププラグイン(ftplugin)が必要です。

ファイルタイププラグインは、オプションを設定し、現在のバッファのみのマッピングを定義することを除いて、グローバルプラグインに似ています。 | add-filetype-plugin |を参照してくださいこのタイプのプラグインの使用方法について。

そして、mapleader + hotkeyでそれを使用してください:

「mapleader」変数を使用するマッピングを定義するには、特別な文字列「」を使用できます。 「mapleader」の文字列値に置き換えられます。 「mapleader」が設定されていないか空の場合は、代わりに円記号が使用されます。 ... "mapleader"変数を使用するマッピングを定義するには、特別な文字列 ""を使用できます。 「mapleader」の文字列値に置き換えられます。 「mapleader」が設定されていないか空の場合は、代わりに円記号が使用されます。

Java開発用のVi(m)の構成については、 Vim JDEスクリプト または このガイド をご覧ください。 このページ Vimでのjavacの使用に関する情報があります。

3
jtimberman