ดึงไฟล์ทั้งหมด


126

ฉันมักจะเขียนบางอย่างใน gVim จากนั้นต้องคัดลอกวางลงในแอปพลิเคชันอื่น

มีวิธีง่ายๆในการดึงไฟล์ทั้งหมดหรือไม่? ฉันมักจะทำอะไรแบบนี้

ggVG"+y

(ไปที่ด้านบนโหมดเส้นภาพไปที่ด้านล่างดึง)

แต่มีวิธีที่ดีกว่านี้ไหมที่ฉันพลาดไป

คำตอบ:


202

ฉันใช้คำแนะนำต่อไปนี้: :%y+


6
กรุณา + ทำอะไร
VoY

5
นี่คือการลงทะเบียนที่เกี่ยวข้องกับคลิปบอร์ด อันเดียวกับที่ OP ใช้ในคำถามของเขา => :h :y,:h registers
Luc Hermitte

5
@ VoY: คุณต้องรวบรวมคลิปบอร์ด - คุณสมบัติเป็นกลุ่มเพื่อให้ "+ คลิปบอร์ด" ใช้งานได้ หมายความว่า "ทุกอย่างดึงไปยัง external-clipboard-in-some-window-manager" คุณสมบัตินี้ไม่ใช่โดยพฤตินัย แต่มาพร้อมกับกลุ่มกราฟิกบางส่วนที่เห็นได้ชัดว่าเป็น de-facto เช่น gVim โปรดแก้ไขฉันหากฉันผิด (เพิ่งสังเกตเห็นสิ่งนี้เมื่อต้องใช้ yank ใน Windows gVim ดังนั้นฉันจึงไม่สามารถแน่ใจได้ทั้งหมด แต่ฉันเชื่อว่านี่เป็นคุณสมบัติ)
hhh

8
หาก + register ใช้งานไม่ได้สำหรับคุณใน ubuntu 11.04+ ให้ลองติดตั้ง gVim (apt-get install vim-gnome) สิ่งนี้จะให้คุณสมบัติ + คลิปบอร์ดใน vim เวอร์ชันเทอร์มินัลเช่นกัน
adharris

3
ฉันเคยทำgg"+YGแต่ฉันไม่ชอบมันเพราะฉันทำสายเดิมที่ฉันใช้อยู่หายไป ลงตัวนี้!
กริยา

57

ggyG (ไปที่บรรทัดแรกดึงไปที่บรรทัดสุดท้าย)

แก้ไข: อ่าคลิปบอร์ดของระบบ ไม่ได้หมุนนิ้วอย่างแน่นอน แต่:gg"+yG


1
ขอบคุณสิ่งนี้ได้ผลสำหรับฉันไม่ใช่:% y + แต่ฉันจะวางใน localhost จากรีโมทได้อย่างไร? :)
valk

1
โดยพื้นฐานแล้วคำสั่งนี้จะขึ้นไปที่ด้านบนสุดของเอกสารและทำอะไรบางอย่างดึงไปที่ด้านล่างของเอกสารหรือไม่? "ทำอะไรที่นี่
geoyws

1
@Geoyws "บอกว่าคุณต้องการทำงานกับทะเบียน "+คือการลงทะเบียนที่เชื่อมโยงกับคลิปบอร์ดของระบบ "+yGดึงทุกอย่างจนถึงด้านล่างของไฟล์ลงในรีจิสเตอร์นี้ :help "+
Annika Backstrom

15

โซลูชันการทำงานใน vi เก่าอยู่:r filenameในไฟล์ใหม่


5
แม้ว่านี้ไม่ว่าคำตอบของคำถามที่ว่ามันเป็นคำตอบของเหมือง ขอบคุณ.

2
ฉันต้องการเพิ่มศูนย์เพื่อวางที่จุดเริ่มต้นของไฟล์::0r filename
Stefan van den Akker



6

ฉันใช้คำแนะนำต่อไปนี้: :%y.


... ไม่เกินหน้าต่างที่แตกต่างกันในตัวจัดการหน้าต่าง + ในตอนท้ายดึงไปยังคลิปบอร์ดภายนอก (เห็นได้ชัดว่าสิ่งที่หน่วยงานพยายามทำ)
hhh




1

:%yโดยไม่+ทำงานกับทั้งระบบหากคุณใช้neo-vim (nvim)

นี้จะช่วยให้เราหลีกเลี่ยงการยืดนิ้วมือของเราไป+- acctually ggyGทำให้ทางลัดนี้ดีกว่า


0

ขึ้นอยู่กับความถี่ที่คุณทำเพียงแค่แมปคีย์สำหรับสิ่งนี้และเพิ่มลงใน vimrc

:nnoremap <F5> :%y

หรือ

:nnoremap <leader><whatever> :%y

หรือคีย์อะไรก็ได้ที่คุณรู้ว่าปลอดภัยและเร็วที่สุดจากนั้นเพิ่มแหล่งที่มาของการแมปหรืออะไรก็ได้ ข้อดีของสิ่งนี้ggyGคือไม่เลื่อนเคอร์เซอร์ (เร็วกว่า) และเพื่อรักษาตำแหน่งเคอร์เซอร์ของคุณคุณจะต้องเพิ่ม<Ctrl-o><Ctrl-o>

คนมักลืมว่าคำสั่งนั้นขึ้นอยู่กับเซสชันเว้นแต่ใน vimrc ฉันมักจะรู้ว่าเมื่อไหร่จะทำอะไรหลาย ๆ อย่าง แต่ไม่จำเป็นต้องเป็นค่าเริ่มต้นและเฉยๆ:[mode]remap <whatever> <whatever>

ฉันสามารถปิดและเปิดกลุ่มใหม่ได้หากต้องการ

หาก<Ctrl-A><Ctrl-C>เหมาะกับคุณแสดงว่าคุณกำลังใช้ mswin.vim ในแหล่งที่มาของคุณและสูญเสียพลังของการดำเนินการเพิ่ม<Ctrl-a>และลด<Ctrl-x>(เหนือสิ่งอื่นใด) ฉันเริ่มต้นใน windows และหยุดใช้ mswin.vim เมื่อนานมาแล้ว โดยส่วนตัวแล้วฉันรู้สึกว่าเป็นการดีที่สุดที่จะคลำหาวิธีที่ถูกต้องแล้วเพิ่มไม้ค้ำยันที่คุณต้องการจริงๆ: P


2
ยินดีต้อนรับสู่ Stackoverflow ตัวแก้ไขรองรับการจัดรูปแบบดังนั้นโปรดพิจารณาการตัดตัวอย่างโค้ดของคุณ (เช่นคำสั่งที่คุณใช้) ใน backticks ( `) หรือบล็อกโค้ด
Jan Kundrát

-1

มันสกปรก แต่คุณไม่ต้องใช้ปุ่ม shift เลยและมีเพียง 3 ปุ่มที่แตกต่างกันซึ่งอาจเร็วกว่า:

gg1111yy

(สมมติว่าไฟล์สั้นกว่า 1111 บรรทัด)


-2

ใน Windows ฉันมักจะทำ CTRL-A, CTRL-C เพื่อคัดลอกทั้งหมดไปยังคลิปบอร์ดของ windows ... ไม่ง่ายไปกว่านั้นอีกแล้ว!

ฉันใช้ gvim 7.1 มาตรฐานจากเว็บไซต์ ...

(BTW: ใช้งานได้กับ Mac ของฉันด้วย MacVim และ mac-key + A, mac-key + C ที่ตลก ๆ )


1
windows gvim เพิ่มทางลัดพิเศษบางอย่างที่ไม่มีในเวอร์ชันอื่น ๆ เพื่อพยายามทำให้เหมาะกับผู้ใช้ windows มากขึ้น ctrl + a, ctrl + c เป็นสองตัวอย่างของสิ่งเหล่านี้
davr

9
mm, ctrl-c มีความหมายค่อนข้างแตกต่างกับผู้ใช้เทอร์มินัล
Xiong Chiamiov

แน่นอน แต่เมื่ออยู่ใน windows ให้ทำตามที่ windows ทำ :) เพียงแค่พูดว่า gvim และ MacVim ใช้ทางลัดคลิปบอร์ดมาตรฐานของแพลตฟอร์ม - ไม่มีอะไรผิดปกติกับการใช้พวกเขาเช่นกัน ....
Daren Thomas

4
เช่นกันอาจไม่ใช้ vim เลยหากคุณต้องการใช้ทางลัดเช่นนี้
VoY

1
CTRL-A เพิ่มตัวเลขใต้เคอร์เซอร์
Alexcp
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.