2010-11-24 6 views
25

ドキュメントを書くとき、自分自身がそのドキュメントに適したorginizationのコンベンションで解決しています。しかし、ftpluginを作成することはあまりにも「グローバル」なので、ドキュメントには構文カラーリングを付ける必要があります。そのプラグインを使わないでどこかに送信すれば、まだ色付けを取得できます。私はあなたがオプションを受け入れるだけなので、あなたがモデルラインを通してそれをすることができないことを発見しました。Vim:選択されたテキストをvimコマンドとして実行する方法

今私はビジュアルモードでテキストを選択する方法があるかどうかを調べようとしていますが、それはすばらしいと思いますので視覚的な線のモードを使用しています。 vimコマンド。一つの文書の下部に例えば

は、私が持っている:

vim highlighting: 
    syn match Comment "^>.*$" 

は、どのように私はそのテキストを選択し、それを再入力するのではなく「ブーム、それを実行する」と言うことができますか?

+0

大きな質問 - 私は常にカスタムマッチや同様のものなど、さまざまなものに対して拡張されたモデルラインを使用できるようにしたいと思っています。そのために一時的なftpluginsを書くために使われます。 – progo

答えて

37

あなたは、私がどのレジスタを含まないlh-vim-libに基づいてa few mappingsを定義した、行を選択する選択をヤンクし、

:@" 
+1

さらに詳しい情報は、[http://stackoverflow.com/questions/3997078/how-do-you-paste-text-into-a-vim-colon-command/3997110#3997110](この回答)を参照してください。使用レジスタ – Benoit

+3

これはどのようなレジスタでも動作します。 '' ayy''を使って '' a''を実行し、 '' a''を使って実行することができます。 – naught101

+2

私は 'nnoremap 2:@" "を持っていて、私はそれをたくさん使っています。 (ニーモニックはShift-2 = @ = Executeです)。 –

1

でそれを実行することができます。 これは実際には過剰な解決策ですが、マッピングのためのきれいなものです。デフォルトのレジスタを決して変更しないためです。

2

私はあなたが最初の視覚的な選択をすると、あなたの無名レジスタ上書きしない必要があります。このマッピング作るのが好き:あなたが行の継続とvimのコマンドを書くことが好きなら

vmap <space> "xy:@x<CR> 

を:

vmap <space> :w! /tmp/x.vim<CR>:so /tmp/x.vim<CR> 
関連する問題