vimでackを実行する

vimでackを実行する

vimでackを実行しようとしています。しかし、何らかの理由でvimはackを実行した後に停止することにしました。 vimが止まるのをどうやって止めますか?

(一部のシステムではackと呼ぶことをack-grepといいます。)

vimで私がすること:

:!ack something

何が起こるのか?

$vim myfile.myextension

somefile.someext
356:              : this line contains something and somewhat

[1]+  Stopped                 vim chatconfig.js

私が実行すると、fg次のように言います。

vim myfile.myextension

Press ENTER or type command to continue

Enterを押すとvimに戻ります。

私が期待することは次のとおりです。

$vim myfile.myextension

somefile.someext
356:              : this line contains something and somewhat

Press ENTER or type command to continue

だからfgはありません。

ackをパイピングして愚かなことを処理する解決策があります。

:!ack something | grep -v "asdasdasd"

しかし、私はgrepにパイプするときに自動的に発生するトリックを知りたいです。

Vim7.4、Ubuntu 15.10、ack 2.14

答え1

私のvimrcには次のハックがあります。

set shellcmdflag=-ic

vimで動作するbashエイリアスを取得します。これにより、説明された動作が発生します。 ackを別のプロセスにパイプすると、ackは非対話型で実行されます。

解決策はハッキングを削除することです。

関連情報