タイトルは非常にわかりやすいです。念のため、私は例を与える:ビジュアルモードのテキストブロックをVimのファイルに保存するにはどうしたらいいですか?
START BLOCK1
something
END BLOCK1
START BLOCK2
something
somenthing...
END BLOCK2
- を私はいくつかの他にヤンク
BLOCK1
を保存することができますどのようにY - を押してヤンクビジュアルモードで
BLOCK1
- を選択しますファイル?
タイトルは非常にわかりやすいです。念のため、私は例を与える:ビジュアルモードのテキストブロックをVimのファイルに保存するにはどうしたらいいですか?
START BLOCK1
something
END BLOCK1
START BLOCK2
something
somenthing...
END BLOCK2
BLOCK1
を保存することができますどのようにYBLOCK1
視線のいずれかで、保存したいテキストを選択するか、ビジュアルモードをブロックし、
:w new.txt
入力したものだが、あなたが実際には上記だ正確に何を見ていないということ。 :
を押すと、自動的に選択情報が入力されるコマンドラインに移動します。
:'<,'>
ちょうど
:'<,'>w new.txt
を取得するために、残り(w new.txt
)を入力の上に運ぶ...と入力し、Enterキーを押します:それはこのような何かを見てみましょう。
おそらくもっと簡単な方法ですが、新しいバッファ(またはタブ)を作成してp
と貼り付けるだけです。 :new
で新しいバッファを作成するか、:tabnew
で新しいタブを作成することができます。 :w filename
で通常どおりバッファ/タブをファイルに書き込むことができます。
上部に余分な行を削除するようにしてください! –
ブロックが選択されている場合、:'<,'>w other-file
を入力すると、選択したブロックのみがother-file
に書き込まれます。視覚モードで:
を打つと'<,'>
がコマンドラインに入力されますので、実際には:w other-file
と入力するだけです。
Vimは、外部コマンドへのパイプラインを常に選択するので、unix/cygwinの 'cut'コマンドを使用することができます(空のバッファに貼り付けると、上部に余分な行が作成されます。選択内の各行の列NからMの長方形を選択するには、 ': '<,'> w!cut -cN-M> new.txt'を選択します。最高の投票回答と読者がその質問を理解していないように見えることは驚きです。 – mosh
コメント内の@dronusと同様に、:w !pbcopy
の提案は、行全体をコピーするため正しくコピーされません。私が行の中のURLだけをコピーしたいのであれば、私はできないでしょう。ここでは、CTRL-Cを打つたびに、あなたのvimの中に選択した行をクリップボードにコピーされるように、あなたの.vimrc
ファイルに追加できるラインです:
map <C-c> y:e ~/clipsongzboard<CR>P:w !pbcopy<CR><CR>:bdelete!<CR>
あなたは何これについての詳細を読みたい場合はあなたはこれについて読むことができますmy blog
これは@rmeadorと同じ実装です。 @ソングスのソリューションと同様に
は、私は、これは使用してのようにそれを行うことを好む「:新しい」
vmap <C-c> y:new ~/.vimbuf<CR>VGp:x<CR>:!pbcopy < ~/.vimbuf<CR><CR>
pbcopyは私の知る限り、OSX上にのみ存在します。 Linuxや他のシステムにも同様のプログラムがありますが、名前が異なり、動作が異なります。 –
うん、それはpbcopy実行可能ファイルの場合にのみ動作する:) だから全く害はない – chenkaie
これは、行内の選択開始と終了位置を無視して、完全な行のみを書き込むため、期待される結果を提供しません。それに対する解決策はありますか?それ以外の場合は、もう一度メインの質問を提出するのが好きです。 – dronus
@ dronus - あなたが何を求めているのかよく分かりません。これは、私の理解のために、OPが何を求めているかを質問します。 – Rook
非線形ビジュアルモードで選択した場合、 ':w'は選択された範囲でタッチされたフルラインを書き出しますが、ラインの先頭または末尾の正確な範囲は書き出しません。たとえば、ブロック選択モードで幅の狭い列を選択した場合、またはビジュアルセレクトモードで1行の一部を選択した場合、 'y'が行の正しい部分をコピーする場合でもフルラインは':w'で書き込まれます。 – dronus