Portál AbcLinuxu, 10. května 2025 19:14

Dotaz: Vim - použití aktuálního řádku jako regulárního výrazu pro grep

23.1.2013 09:56 Kit
Vim - použití aktuálního řádku jako regulárního výrazu pro grep
Přečteno: 238×
Odpovědět | Admin
Pokud ve Vimu napíšu příkaz
:.!grep regular soubor.txt
tak mi aktuální řádek nahradí výsledkem vyhledávání "regular" v souboru "soubor.txt". Jak mám příkaz upravit, abych místo "regular" mohl použít text z aktuálního řádku, například přes registr?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.1.2013 10:26 l4m4
Rozbalit Rozbalit vše Re: Vim - použití aktuálního řádku jako regulárního výrazu pro grep
Odpovědět | | Sbalit | Link | Blokovat | Admin
Humpolácky takhle:
exec '.!grep "' . getline('.') . '" soubor.txt'
Pro reálné použití si zřejmě budeš muset napsat command nebo funkci, který výsledek getline('.') nejdřív oescapuje, než se ji odváží strčit shellu.
23.1.2013 10:54 Kit
Rozbalit Rozbalit vše Re: Vim - použití aktuálního řádku jako regulárního výrazu pro grep
Díky, funguje to. Je to jen pro mne, takže mě nějaké escapování moc netlačí. Chci si to udělat jako makro. Budu hledat dál, ale pokud nic lepšího nenajdu, použiji tohle.
23.1.2013 12:38 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: Vim - použití aktuálního řádku jako regulárního výrazu pro grep
Odpovědět | | Sbalit | Link | Blokovat | Admin
Keby si tomu grep-u nedal ako vstup soubor.txt, tak by spracoval stdin a tam dostal práve ten riadok.

viď
23.1.2013 12:43 Kit
Rozbalit Rozbalit vše Re: Vim - použití aktuálního řádku jako regulárního výrazu pro grep
To vím, ale potřebuji podle toho řádku vyhledávat v "soubor.txt" a výsledek hledání vložit do právě editovaného textu místo regulárního výrazu.
23.1.2013 14:16 chochi | skóre: 29 | Praha
Rozbalit Rozbalit vše Re: Vim - použití aktuálního řádku jako regulárního výrazu pro grep
A coz takhle:
:.!grep -f - soubor.txt
Tzn. grep si precte pattern ze stdin, kam mu ho vim podstrci.
23.1.2013 14:24 Kit
Rozbalit Rozbalit vše Re: Vim - použití aktuálního řádku jako regulárního výrazu pro grep
Tak to je přesně to, co jsem potřeboval. Funguje to. Jen jsem si špatně přečetl manuál grepu. Díky.
23.1.2013 15:17 l4m4
Rozbalit Rozbalit vše Re: Vim - použití aktuálního řádku jako regulárního výrazu pro grep
No vida, to je pěkné.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.