2010-12-15 5 views
5

私が時々やりたいことは、vimコマンドの出力をバッファに貼り付けることです。例えば。私は私のvimrcを編集していたとき、statuslineをいじることができ、その後でちょうどvimコマンドの出力をバッファに貼り付ける方法はありますか?

"=set statusline?<Enter>p 

問題に似た何かをできるように素敵なことだ利回り

E121: Undefined variable: set 
E15: Invalid expression: set statusline? 
Press ENTER or type command to continue 

Iそのこれは可能であり、組み込み関数とその使い方については十分に分かっていないことがわかりました(私はexpandをここで使用していますが、どのコンテキストでも正常に動作させることはできませんでした) (私には)ノーマルモードをかなり理解していると思う。

この具体的な例は少し工夫されていますが、今はもっと良いものを考えることはできません。上記の具体的な使用例については、":pのように、実験中に使用したコマンド全体をsetで取得して編集することができますが、かなり定期的に、vimに何かを伝えたい場合は、それは私の仕事を続けながらそれを見続けることができるようにどこかに出力されます。

答えて

4

あなたはオプション設定を貼り付けることができます。

+3

'redir'レジスタに出力してからレジスタを貼り付けると動作します。それとも別の話をしているのですか? –

+0

@Herbert Sitz私はあなたがこの質問に最善の答えを持っていると思います。私は ':redir'について知らなかった。 –

+0

実際に、私はあなたが与えたダイレクトペーストのオプションが好きです。これは私が使っていないもので、自分で使い始めるものです。 。 。ありがとう。 –

4

設定値は、変数の前に&というシンボルが格納されています。したがって、statuslineに設定されている値には、&statuslineを参照してアクセスできます。文書に1つの方法で挿入するには、 "expression"レジスタ、<ctrl-R>=を使用します。使用するには、挿入モードに入り、<ctrl-R>を押してから=を押します。コマンドラインに等号が表示され、&statuslineと入力してからenterを押します。これにより、バッファに値が挿入されます。しかし、

"=&statusline<Enter>p 

私は、バッファ内の任意のコマンドの出力を置くためにどのような方法を知らない:

+0

ありがとう、私はこれを行うときに通常挿入モードではありませんが、設定がアンパサンドで参照されていることを知っておくとよいでしょう。 –

関連する問題