ファイルの一部を調達する方法


8

たとえば、vimrcwith :so %やでファイルを調達できます:so <filename>。しかし、ファイルの一部のみを調達する必要がある場合はどうすればよいですか。ファイルの一部を視覚的に選択して:h vソースを取得する方法が必要です。ちょっとemacsのようなM-x eval-region


2
すべてのケースで機能するわけではありませんが、:@*
質量

回答:


10

ビジュアル選択を行った後、これを実行します。

y:@"<CR>

yレジスタに"明示的に名前を付けなかったため、選択を名前のないレジスタ()にコピーします。次に:@"、そのレジスタの内容をExコマンドとして実行します。

help :@および/programming/20262519/vim-how-to-source-a-part-of-the-bufferを参照してください


それで、それをコピーしてコマンドラインウィンドウに貼り付ければよいと言っているのですか。それは……思ったより簡単です。
クラウス

1
コマンドラインに貼り付けるのではなく、データを読み取って入力バッファーに保存するようなものです。既存のメモリ割り当て(レジスタストア)からのデータを処理するようにvimに指示するだけで、オーバーヘッドが大幅に減少します。
Bレイヤー

1

スクリプトの最初のエラーで停止しない代替実装:

command! -range=% Exec call execute(getline(<line1>, <line2>), '')

ビジュアルモードで:'<,'>Exec選択した行を処理するタイプになりました('<,'>通常どおり自動的に追加されます)。また、:Exec通常モードでは、:source %最初にバッファを保存する必要がないことを除いて、と同じようにバッファ全体を実行します。

マッピングが必要な場合は、簡単に追加できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.