私は、スクリプト内にdate<Tab>
のパターンを挿入マップして、現在の日付をYYYY-MM-DD
の形式で挿入しました。Vimの挿入モードマッピングの動作を変更するには?
inoremap <script> <silent> <buffer> date<Tab> <C-R>=strftime("%Y-%m-%d")<CR>
私はタブを押したときにのみ、Vimは唯一の最後の文字が入力された表示され、それはかなりanoyingで挿入モードでパターンを入力して、代わりの日付文字列でそれを交換する前に、完全なパターンの表示を開始私はそれを使用したくないとき。私は、例えば、 '日付' を入力していた場合、これはVimのディスプレイが( '|
は' カーソル表現である)ものです:
|d
|a
|t
data|
また、のタブを使用するSnipmate vimプラグインをインストールしました。 k私はスニペットをコードテンプレートで置き換えています。スニペットを入力しているときは、前に説明したように振る舞いません。 Snipmateが実行するのは、Tabキーのみをマッピングすることです。キーを押すと、前の単語が取得され、スニペットの1つと一致するかどうかが確認されます。
Vimは一切そのマッピングにそれを変更する前に、完全なパターンを表示設定しないための方法があります:私は2つの質問を残して、そのうちの1への答えは私の問題を解決し、言っ
?
同じマッピングを使用する2つのプラグインを使用できますか?もし私がのタブキーをマップしているように、そしてカーソルの前の単語が「日付」であるときはいつでも、私のプラグインは動作し、他の場合にはSnipmateが動作します。
私はここにあなたの最善の策は、あなたが望むものに展開「日付」という名前のスニペットを書くことになると思います。私が正しくリコールすれば、スニペットはスニペット内のネイティブのvimscriptをサポートしているので、これは非常に簡単に行うことができます。あなたの最初の質問に対する答えは「いいえ」です。 –
あなたが望むものを達成する最良の方法は、挿入モードで入力すると自動的に展開される略語です。あなたは[私が与えたこの回答](http://stackoverflow.com/questions/6344750/how-do-i-insert-current-time-into-a-file-using-vim/6344929#6344929)を参照することができます。現在の時間の挿入方法に関する質問(http://stackoverflow.com/questions/6344750/how-do-i-insert-current-time-into-a-file-using-vim) 。 – abcd
@Randy Morris - スクリプトのためのマッピングなので、私にとってはうまくいくだろうが、誰もがSnipmateを使用するとは想定できない。しかし、ありがとう! – freitass