วิธีคัดลอกบรรทัดที่เลือกไปยังคลิปบอร์ดเป็นกลุ่ม ฉันรู้วิธีทำสำหรับไฟล์ข้อความทั้งหมดแต่ฉันต้องการทำในบรรทัดที่เลือก ขอบคุณ!
วิธีคัดลอกบรรทัดที่เลือกไปยังคลิปบอร์ดเป็นกลุ่ม ฉันรู้วิธีทำสำหรับไฟล์ข้อความทั้งหมดแต่ฉันต้องการทำในบรรทัดที่เลือก ขอบคุณ!
คำตอบ:
หากคุณใช้ Linux และใช้ VIm เวอร์ชัน 7.3.74 หรือสูงกว่า (เวอร์ชันที่ติดตั้งใน Ubuntu 11.10 เป็นต้นไปเป็นไปตามนี้) คุณสามารถทำได้
set clipboard=unnamedplus
ซึ่งจะวางข้อความที่ดึงเข้าไปในคลิปบอร์ดส่วนกลางและช่วยให้คุณสามารถวางจากคลิปบอร์ดส่วนกลางได้โดยไม่ต้องใช้การลงทะเบียนพิเศษใด ๆ ซึ่งแตกต่างจากโซลูชันของ ldigas สิ่งนี้จะใช้ได้กับ VIm เวอร์ชันที่ไม่ใช่ gui
vim-gnome
แพคเกจแทนvim
ไฟล์.
vim --version | grep "+xterm_clipboard"
คุณสามารถตรวจสอบได้หากเป็นกรณีโดยพิมพ์นี้
clipboard=unnamed
แทน ( vim.wikia.com/wiki/Accessing_the_system_clipboard )
set guioptions+=a
จะ ... อืมพูดสั้น ๆ เมื่อใดก็ตามที่คุณเลือก / ดึงบางสิ่งบางอย่างใส่ไว้ในคลิปบอร์ดด้วย (ไม่ใช่ของ Vim แต่เป็นแป้นพิมพ์ส่วนกลางของระบบหน้าต่าง) ด้วยวิธีนี้คุณไม่ต้องคิดเกี่ยวกับการดึงสิ่งต่าง ๆ ลงในทะเบียนพิเศษ
สำหรับ GVIM กดv
เพื่อเข้าสู่โหมดภาพ เลือกข้อความและกดCtrl+Insert
เพื่อคัดลอกการเลือกไปยังคลิปบอร์ดส่วนกลาง
จากเมนูคุณจะเห็นว่าปุ่มทางลัดคือ"+y
กดปุ่ม Shift ค้างไว้จากนั้นกด"
จาก+
นั้นปล่อย Shift แล้วกดy
(ยุ่งยากเมื่อเทียบกับ Shift + Insert)
หากคุณใช้ vim ใน MAC OSX น่าเสียดายที่มันมาพร้อมกับเวอร์ชันเก่ากว่าและไม่เป็นไปตามตัวเลือกคลิปบอร์ด โชคดีที่ homebrew สามารถแก้ปัญหานี้ได้อย่างง่ายดาย
ติดตั้ง vim:
brew install vim --with-lua --with-override-system-vim
ติดตั้ง gui verion ของ vim:
brew install macvim --with-lua --with-override-system-vim
รีสตาร์ทเทอร์มินัลเพื่อให้มีผล
ต่อท้ายบรรทัดต่อไปนี้เพื่อ ~ / .vimrc
set clipboard=unnamed
ตอนนี้คุณสามารถคัดลอกบรรทัดเป็นกลุ่มyy
และวางได้ทั้งระบบ
ติดตั้ง "xclip" หากคุณยังไม่ได้ ...
sudo apt-get install xclip
Xclip ใส่ข้อมูลลงในคลิปบอร์ด "การเลือก / ไฮไลต์" ที่คุณคลิกกลางเพื่อวางตรงข้ามกับ "ctrl + v"
ในขณะที่อยู่ในกลุ่มให้ใช้คำสั่ง ex:
7w !xclip
หรือ
1,7w !xclip
หรือ
%w !xclip
จากนั้นคลิกกลางเพื่อวางลงในแอปพลิเคชันอื่น ๆ ...
หากรวบรวมเป็นกลุ่มด้วยการสนับสนุนคลิปบอร์ดคุณสามารถใช้"*y
ความหมาย: ดึงข้อความที่เลือกด้วยสายตาลงใน register *
('*' สำหรับคลิปบอร์ด)
หากไม่มีการสนับสนุนคลิปบอร์ดฉันคิดว่ามีวิธีอื่นเท่านั้นที่จะใช้Ctrl+Insert
หลังจากเลือกข้อความเป็นกลุ่ม
ฉันได้เพิ่มบรรทัดต่อไปนี้ในไฟล์ .vimrc
vnoremap <F5> "+y<CR>
นี้ช่วยให้คุณเพื่อคัดลอกข้อความที่เลือกF5
ไปยังคลิปบอร์ดโดยการกด คุณต้องอยู่ในโหมดภาพเพื่อให้ใช้งานได้
~/.vimrc
ขอบคุณนี้ดีกว่าเยอะ
เพิ่มรหัสต่อไปนี้ลงใน.vimrc
:
if has('clipboard')
if has('unnamedplus') " When possible use + register for copy-paste
set clipboard=unnamed,unnamedplus
else " On mac and Windows, use * register for copy-paste
set clipboard=unnamed
endif
endif
ก่อนอื่นให้ตรวจสอบว่าการติดตั้งเป็นกลุ่มของคุณรองรับคลิปบอร์ดหรือไม่
vim --version
หากติดตั้งการรองรับคลิปบอร์ดคุณจะเห็น:
+clipboard
+X11
+xterm_clipboard
หากไม่ได้ติดตั้งการรองรับคลิปบอร์ดคุณจะเห็น:
-clipboard
-X11
-xterm_clipboard
ในการติดตั้งการสนับสนุนคลิปบอร์ด:
apt-get install vim-gnome
เมื่อคุณตรวจสอบแล้วว่ามีการติดตั้งการสนับสนุนคลิปบอร์ดแล้วให้ทำดังต่อไปนี้:
ขั้นตอนข้างต้นอาจน่าเบื่อหากคุณต้องคัดลอกซ้ำ ๆ จากกลุ่มไปยังคลิปบอร์ดของระบบและในทางกลับกัน คุณสามารถสร้างทางลัดเป็นกลุ่มเพื่อให้เมื่อคุณกดCtrlcข้อความที่เลือกจะถูกคัดลอกไปยังคลิปบอร์ดของระบบ และเมื่อคุณกดCtrlpระบบข้อความคลิปบอร์ดจะถูกคัดลอกไปยังกลุ่ม ในการสร้างทางลัด:
เปิดไฟล์. vimrc และเพิ่มข้อความต่อไปนี้ที่ท้ายไฟล์:
nnoremap <C-c> "+y
vnoremap <C-c> "+y
nnoremap <C-p> "+p
vnoremap <C-p> "+p
บันทึกและโหลด. vimrc ของคุณซ้ำเพื่อใช้การเปลี่ยนแปลงใหม่
วางเคอร์เซอร์ไว้ที่บรรทัดแรกที่คุณต้องการคัดลอก
กดShiftvเพื่อเข้าสู่โหมดภาพ
กด↓เพื่อเลือกหลายบรรทัด
กดCtrlcเพื่อคัดลอกข้อความที่เลือกไปยังคลิปบอร์ดของระบบ
ตอนนี้คุณสามารถคัดลอกข้อความที่เลือกไปยังเบราว์เซอร์โปรแกรมแก้ไขข้อความ ฯลฯ
กดCtrlpหากคุณต้องการคัดลอกข้อความคลิปบอร์ดของระบบเป็นกลุ่ม
หมายเหตุ: สำหรับระบบ ubuntu