Dosyanın tamamını kopyala


126

Genellikle gVim'de bir şeyler yazıyorum, sonra onu başka bir uygulamaya kopyalayıp yapıştırmam gerekiyor.

Dosyanın tamamını çekmenin kolay bir yolu var mı? Genellikle böyle bir şey yaparım

ggVG"+y

(Yukarı git, görsel çizgi modu, alta git, çek)

Ama kaçırmamın daha iyi bir yolu var mı?

Yanıtlar:


202

Aşağıdaki talimatı kullanıyorum: :%y+


6
+ Ne yapar lütfen?
VoY

5
Bu, pano ile ilgili bir kayıttır. OP'nin sorusunda kullandığıla aynı. => :h :y,:h registers
Luc Hermitte

5
@VoY: Bu çalışan "+ panoyu" elde etmek için Clipboard özelliğini Vim'e derlemeniz gerekir. Bu, "her şey bir pencere yöneticisindeki harici panoya çekilir" anlamına gelir. Bu özellik fiili değildir, ancak gVim gibi görünüşte fiili olarak bazı grafiksel bilgilerle birlikte gelir. Lütfen, yanılıyorsam düzeltin (Windows gVim'de yank kullanmak zorunda kaldığımda bu şeyi fark ettim, bu yüzden elbette tamamen emin olamıyorum ama bunun mülkiyet olduğuna inanıyorum).
hhh

8
+ Kayıt sizin için ubuntu 11.04+ sürümünde çalışmıyorsa, gVim'i (apt-get install vim-gnome) yüklemeyi deneyin. Bu, + clipboard özelliğini
vim'in

3
Eskiden yapardım gg"+YGama hiç sevmedim çünkü bulunduğum orijinal dizeyi kaybettim. Bu harika!
verboze

57

ggyG (ilk satıra git, son satıra git)

Düzenleme: Ah, sistem panosu. Tam olarak parmaklarını yuvarlamıyor, ama:gg"+yG


1
Teşekkürler, bu benim için çalışıyor, değil:% y +. Ancak bunu uzaktan kumandadan localhost'a nasıl yapıştırırım? :)
valk

1
Yani temelde bu komut belgenin üstüne çıkıyor ve bir şey yapıyor, belgenin altına mı çekiliyor? "Burada ne var?
geoyws

1
@Geoyws ", bir kayıt defteri ile çalışmak istediğinizi söylüyor. "+sistem panosuna bağlı bir kayıttır. "+yGdosyanın sonuna kadar her şeyi bu sicile çeker. :help "+
Annika Backstrom

15

Eski vi'de çalışan bir çözüm :r filenameyeni dosyadadır.


5
Bu sorunun tam olarak cevabı olmasa da, benim cevabımdı . Teşekkür ederim.

2
Dosyanın başlangıcına yapıştırmak için sıfır eklemem gerekiyor::0r filename
Stefan van den Akker



6

Aşağıdaki talimat kullanın: :%y.


... pencere yöneticisinde farklı pencereler üzerinden değil. + sonunda harici panoya çeker (görünüşe göre operasyonun yapmaya çalıştığı şey)
hhh



3

OSX'te:

ggVG
!tee >(pbcopy)

Hangisini daha güzel buluyorum:

ggVG
:w !pbcopy

Bir komut istemini göstermediği için: " Press ENTER or type command to continue"


1

:%yolmadan +tüm sistem üzerinde eser kullandığınız takdirde , neo-vim (nvim).

Bu, parmaklarımızı +esnetmekten kaçınmamızı sağlar - aslında bu kısayolu daha iyi hale getirir ggyG.


0

Ne sıklıkla yaptığınıza bağlı olarak, bunun için bir anahtar eşleyin ve isteğe bağlı olarak vimrc'ye ekleyin.

:nnoremap <F5> :%y

veya

:nnoremap <leader><whatever> :%y

ya da güvenli ve en hızlı olduğunu bildiğiniz anahtar ne olursa olsun - sonra bir eşleme kaynağına veya her neyse ekleyin. Bunun avantajı ggyG, imleci hareket ettirmemesi (daha hızlı) ve imleç konumunuzu korumak için bir<Ctrl-o><Ctrl-o>

İnsanlar genellikle vimrc'de olmadığı sürece komutların oturuma dayalı olduğunu unuturlar. Çoğu zaman bir çok şeyi ne zaman yapacağımı bilirim ama buna varsayılan olarak ihtiyacım yok ve sadece:[mode]remap <whatever> <whatever>

Gerekirse vim'i kapatıp yeniden açabilirim.

Eğer <Ctrl-A><Ctrl-C>sizin için çalışır o zaman kaynağında mswin.vim kullanarak ve artım gücü üzerinde kaybediyoruz <Ctrl-a>ve eksiltme <Ctrl-x>(diğer şeyler arasında) işlemleri. Windows'ta başladım ve zaman önce mswin.vim'i kullanmayı bıraktım. Kişisel olarak Vim'i doğru şekilde sallamanın ve ardından gerçekten ihtiyacınız olan koltuk değneklerini eklemenin en iyisi olduğunu düşünüyorum: P


2
Stackoverflow'a hoş geldiniz. Düzenleyici biçimlendirmeyi destekler , bu nedenle kod örneklerinizi (kullandığınız komutlar gibi) geri işaretlere ( `) veya kod bloklarına kaydırmayı düşünün .
Jan Kundrát

-1

Kirlidir, ancak shift tuşunu kullanmanıza gerek yoktur ve yalnızca 3 farklı tuş daha hızlı olabilir:

gg1111yy

(Dosyanın 1111 satırdan daha kısa olduğunu varsayarsak)


-2

Windows'ta tümünü Windows panosuna kopyalamak için genellikle sadece CTRL-A, CTRL-C yapıyorum ... Bundan daha kolay olamaz!

Web sitesinden standart bir gvim 7.1 kullanıyorum ...

(BTW: Mac'imde MacVim ile de çalışır ve o komik mac tuşu + A, mac tuşu + C)


1
windows gvim, denemek ve Windows kullanıcılarına daha iyi uymasını sağlamak için diğer sürümlerde olmayan bazı ekstra kısayollar ekler. ctrl + a, ctrl + c, bunlara iki örnektir.
davr

9
Mm, ctrl-c'nin bir terminal kullanıcısı için oldukça farklı bir anlamı vardır.
Xiong Chiamiov

tabii, ama pencerelerde, pencere olarak ne zaman yapmak :) Sadece gvim ve MacVim onur platformları standart pano kısayolları diyerek - hiçbir şey yanlış .... ya bunları kullanarak birlikte orada
Daren Thomas

4
Bunun gibi kısayolları kullanmak istiyorsanız vim'i hiç kullanmayabilirsiniz.
VoY

1
CTRL-A imlecin altındaki sayıyı artırır.
Alexcp
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.