1. ホーム
  2. bash

VimからBashで現在の行を実行する

2023-09-20 07:39:03

質問

この質問は Vim: 現在のファイルを実行しますか? しかし、現在のファイルを実行するのではなく、現在の行だけを実行したいのです。

これは可能でしょうか?

理想を言えば、外殻に副作用を持たせることができるような解決策を探しています。

たとえば、次のような行があるとします。

alias foo=bar

Vimでコマンドを実行した後、シェルを起動し :sh と入力すると、エイリアス foo は利用可能ですが、もし私が vim を使って :q を使用する場合、エイリアスは使用できなくなります。

どのように解決するのですか?

もちろん、現在のファイルの任意のコンテンツを 標準入力 に書き込むことができます。

:.w !bash

ここで . (の前の部分)。 w の前の部分)は、書いている行の範囲を指しており . は現在の行だけである。次に !bash を使って、それらの行をBashに書き込みます。