GNU/Linux >> Znalost Linux >  >> Linux

Otevřete soubor daný výsledkem příkazu ve vim

Můžete použít substituci příkazů:

vim $(find -name somefile.txt)

nebo

find -name somefile.txt -exec vim {} \;

Zkuste toto:

  1. spusťte vim
  2. ve vim použijte následující:

:r!find /<path> -name 'expression'

Po dokončení vyhledávání by se výsledky měly objevit ve vimu.

Nebo

Zkuste:

find /<path> -name > results.txt
vim results.txt 

Pokud vám nevadí spustit příkaz znovu:stiskněte Nahoru a připojte xargs příkaz. Nebo použijte substituci historie a spusťte

!! | xargs vim          # won't work with file names containing \'" or whitespace
!! | xargs -d \\n vim   # GNU only (Linux, Cygwin)

Existuje jednoduchý způsob, jak uložit výstup příkazu, který funguje v ksh a zsh, ale ne v bash (vyžaduje, aby byla výstupní strana potrubí provedena v nadřazeném shellu). Přeneste příkaz do funkce K (definice zsh níže), která k eeps svůj výstup v proměnné $K .

function K {
    K=("${(@f)$(tee /dev/fd/3)}") 3>&1;
}
find … |K
vim $K

Automatické ukládání výstupu každého příkazu není skutečně možné se samotným shellem, musíte příkaz spustit v emulovaném terminálu. Můžete to udělat spuštěním uvnitř script (utilita BSD, ale dostupná na většině unices včetně Linuxu a Solarisu), která ukládá veškerý výstup vaší relace do souboru (ještě je potřeba vynaložit trochu úsilí ke spolehlivé detekci poslední výzvy ve strojopisu).


Linux
  1. Získat doplněk k výsledku příkazu Ls?

  2. Je možné zjistit, který Vim/tmux má soubor otevřený?

  3. Jak příkaz Xdg-open ví, kterou aplikaci použít k otevření souboru?

  1. Základní příklady příkazu File v Linuxu

  2. 9 Užitečné příklady příkazu Split v Linuxu

  3. Jak připojit výstup do souboru?

  1. Jak používat příkaz Tar v Linuxu

  2. Přesměrování obsahu souboru na příkaz „echo“?

  3. Jak otevřít soubor ve vim pomocí pipe