jaký je příkaz pro “ Vybrat vše ” ve vim a VsVim?

Jak vyberu veškerý obsah souboru ve Vim a VsVim? Stejně jako v jiných editorech ctrl+A provádí práci pro výběr všech.

Komentáře

  • SibiCoder ' odpověď je dobrá, ale bylo by užitečné vědět, co máte v úmyslu udělat s kopírovaným obsahem.
  • Nejprve " vyberte " nějaký text v " vyrovnávací paměti ", ne v " soubor ". Dva, " výběr " je ve Vimu často zbytečný, takže musíte mít jasno v tom, co s tím chcete dělat " výběr ". Pro vás a pro nás.
  • @romainly Myslím, že OP znamená výběr celého souboru ve vizuálním režimu, vzhledem k tomu, že ctrl+a v jiných editorech vizuálně zvýrazní celý soubor .
  • @statox Proč jste vsvim upravili? Mně to ' není příliš velké, ale myslím si, že značka je naprosto vhodná a já jsem se ' nechtěl dostat dovnitř válka za úpravy. (Provedl bych na vás ping v :chat!, ale v té místnosti jste v poslední době nebyli ', takže ' to let me)
  • @DJMcMayhem: Došlo k chybě: Nejprve jsem si myslel, že vsvim je jako vimperator a tento druh pluginů pro další software, a proto byl mimo téma, takže jsem to odstranil, pak jsem měl pochybnosti, takže jsem zkontroloval meta a viděl, že to bylo na téma , takže jsem vaši úpravu značky schválil, ale otázku jsem znovu zapomněl upravit. ' Právě to měním, omlouvám se.

Odpovědět

ggVG vybere veškerý obsah. gg se přesune na první řádek. V spustí vizuální režim. G přeskočí na poslední řádek, čímž vybere od prvního do posledního řádku

Komentáře

  • Dostávám ne příkaz vim pro ggVG a gg, dokonce i G
  • 77 upvotes a označen jako přijatá odpověď, přesto je to ' špatné? I podle textu samotné odpovědi by tato kombinace byla VggG.

Odpověď

Spolu se SibiCoder “ Pokud máte jasnou představu o tom, co chcete dělat, můžete použít následující:

:%X 

Kde X je příkaz, například:

:%d -> delete every line :%y -> yank every line :%normal! >> -> indent every line 

Máte také globální příkaz :g, který s vyhledávací vzor ^, může dělat totéž:

:g/^/d -> delete every line :g/^/y -> yank every line :g/^/normal! >> -> indent every line 

Pokud chcete vybrat text, pak ggVG je v pořádku, ale mějte na paměti tuto metodu, pokud již víte, jaký je další krok. Pamatujte, že kurzor neopustí ve vizuálním režimu.

Viz: :h :% a :h :g jako reference.


Upozorňujeme, že i když C-A mapování se používá ve vimu (viz :h CTRL-A), můžete jej namapovat na dělat to, co dělají ostatní redaktoři:

nnoremap <C-A> ggVG 

odpověď

Ostatní odpovědi jsou dobré . Zde je další alternativa.

Jelikož zmiňujete, že používáte VsVim, můžete změnit, které klíče zpracovává Visual Studio a které klíče zpracovává vsvim. Přejít na

Nástroje -> Možnosti -> VsVim -> Klávesnice

Odtud můžete nastavit Ctrl-a na bude zpracovávat Visual Studio, spíše než VsVim.

Ačkoli to nedoporučuji, protože nebudete moci použít vim „s <C-a>, který najdu být základní funkcí. I když je to na vás.

Odpovědět

můžete použít velké číslo jako 99999rr k výběru veškerého obsahu souboru

Komentáře

  • Soubory větší než 100000 řádky jsou možné, i když vzácné. Použití yy je také vytrhne , ne vyberte je .
  • jo, máte pravdu, ale při výběru něčeho je ' ve většině případů oříznout, zkopírovat nebo odstranit 🙂
  • To ' je to, co jsem potřeboval. Vyberte vše a vytrhněte.
  • Jen :%y stačí. Nebo :%y + vytrhnout vše v + registru.

Odpověď

Jak zmínil @SibiCoder ggVG dělá trik , ale líbí se mi něco blíže k Ctrl+A.

Takže jsem tento řádek přidal do svého .vimrc

nnoremap <leader>a ggVG 

Stisknutím <leader>a vyberete vše, v mém případě to bude „s \a.

Komentáře

  • Vítejte v Vi a Vim ! Teoreticky byste mohli ovládání mapy a (<C-a>), ale má výchozí užitečnou funkci
  • Ano, ' s proč dávám přednost <leader>a

odpověď

Pokud jste d jako rychlejší / intuitivnější způsob, jak toho dosáhnout, a nevadí přidání pluginu, vypadá to užitečně: https://github.com/kana/vim-textobj-entire

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *