(Grawity açıklamasıyla, itibaren ardından xargs
işaret stdin
etmek /dev/null
.)
Solüsyon bu sorun için eklemektir -o
parametreyi xargs
. Kimden man xargs
:
-o
/dev/tty
Komutu çalıştırmadan önce stdin'i alt süreçte olduğu gibi yeniden açın . xargs
Etkileşimli bir uygulama çalıştırmak istiyorsanız bu yararlıdır .
Bu nedenle, aşağıdaki kod satırı sizin için çalışmalıdır:
Bul -smi "* .txt" | xargs -o vim
GNU xargs, 2017'deki bazı sürümlerden bu yana bu uzantıyı desteklemektedir (uzun seçenek adıyla --open-tty
).
Xargs'ın daha eski veya diğer sürümleri /dev/tty
için sorunu çözmek için açıkça girebilirsiniz :
find . -name "*.txt" | xargs bash -c '</dev/tty vim "$@"' ignoreme
( ignoreme
Orada $ 0 almak için orada, böylece $ @, xargs dosyasındaki tüm argümanlardır.)
find
veya hiç kullanmadan tamamen vim içinde yapabilirsinizxargs
. Argüman olmadan vim'i açın, sonra:args **/*.txt<CR>
vim'in argümanlarını editörün içinden ayarlamak için çalıştırın .