3

:既に入力された状態でvimをコマンドモードでスタックさせる方法はありますか?

そのようにして、例えば:

  • 入力する/fooEnterと、カーソルが次の行の先頭に移動しますfoo.
  • 次に、コマンド ライン モードのままで:、次のコマンドを入力済みです。
4

4 に答える 4

7

exはい、 asまたは as のいずれかを呼び出して、Ex モードで起動しますvi -e

また、Q (大文字でなければなりません) を入力して、通常のビジュアル モードから Ex モードに入ることができます。

コマンドを使用して、Ex モードから通常のビジュアル モードに戻すことができますvi

編集:これは、OPが探していることを実際には行いません。彼は、カーソルを一番下のコマンド ラインに置いたまま、視覚的な表示を維持したいと考えています。それは不可能かもしれません。

于 2012-12-28T19:43:34.203 に答える
0

最後の試みとして、vimをで初期化してから、コマンド全体がstdinで入力されたことを(解析によって)検出するたびに-servername=FOOstdinから読み取り、FOOに送信する小さなスクリプトをコーディングすることができました。remote-send

次に、Vimとこの他のスクリプトをさまざまなxterms/gnu画面で並べて使用します。

編集

はい、これを使用します。このように:aして、vimの挿入モードに入り、単一の行に入るときにコマンドモードに戻るようにコマンドを作成することもできます.。このようにして、テキストを挿入するときにその場で構文を強調表示することもできます(vimはテキストを非常に視覚的に表示しますが、edのインターフェイスにはあまりにも慣れています)。時間があれば、このスクリプトを作成してここにリンクします。

于 2012-12-29T02:16:09.007 に答える
0

次のように、独自のREPLを構築できます。

:while 1 | execute input(':') | redraw | endwhile

これは単なる概念的なデモです。おそらく、この特別なモードを終了する条件を追加する必要があります。また、 のようなコマンドが:append適切に機能するには、特別な処理が必要です。

于 2012-12-29T01:12:05.543 に答える
0

いいえ。ただし、マップできます。to : 自分自身をコマンド モードに「近づける」。

ここに同じ情報を再投稿する代わりに、Vim wiki にリンクします。

http://vim.wikia.com/wiki/Map_semicolon_to_colon

于 2012-12-28T20:28:20.203 に答える