ฉันใช้ VIM ใน Windows ปัญหาคือฉันต้องการใช้CtrlVเป็นโหมดภาพ อย่างไรก็ตามคีย์นี้ขัดแย้งกับการวางของ Windows ฉันจะรีเซ็ตคีย์นี้กลับไปเป็นโหมดภาพ VIM แทนการวางได้อย่างไร ฉันชอบตั้งค่านี้ในไฟล์คอนฟิกูเรชัน _vimrc ของฉัน
ฉันใช้ VIM ใน Windows ปัญหาคือฉันต้องการใช้CtrlVเป็นโหมดภาพ อย่างไรก็ตามคีย์นี้ขัดแย้งกับการวางของ Windows ฉันจะรีเซ็ตคีย์นี้กลับไปเป็นโหมดภาพ VIM แทนการวางได้อย่างไร ฉันชอบตั้งค่านี้ในไฟล์คอนฟิกูเรชัน _vimrc ของฉัน
คำตอบ:
จากเอกสาร VIM :
เนื่องจากCTRLVใช้เพื่อวางคุณจึงไม่สามารถใช้เพื่อเริ่มการเลือกภาพแบบบล็อกได้ คุณสามารถใช้CTRLQแทนได้ นอกจากนี้คุณยังสามารถใช้ในโหมดแทรกบรรทัดคำสั่งโหมดที่จะได้รับความหมายเก่าCTRLQ CTRLVแต่ใช้CTRLQ ไม่ได้กับเทอร์มินัลเมื่อใช้สำหรับโฟลว์การควบคุม
Shift
คีย์สำหรับการเลือกภาพบน Windows ในขณะที่ฉันไม่ได้ใช้ Linux
Shift
คู่กับลูกศร? ฉันเห็นพฤติกรรมเดียวกัน แต่ก็พบว่าShift
ได้ผล ฉันไม่รู้ว่า h / j / k / l ทำงานได้
ตรวจสอบไฟล์ _vimrc ของคุณและดูว่าเป็นแหล่งที่มาของ mswin.vim หรือไม่ สคริปต์นั้นแมป ^ v กับการวาง คุณสามารถลบบรรทัดนั้นในไฟล์ _vimrc ของคุณหรือปิดใช้งานคำสั่งการแมปโดยตรงบน mswin.vim
ทำ a: ช่วยทำงานเป็นกลุ่มสำหรับข้อมูลเพิ่มเติม
โหมดภาพ (และสิ่งอื่น ๆ ) ที่ทำงานเหมือนใน Unix ต้องใช้ทั้งคำแนะนำของ JOP และ Windows Programmer
ใน GVim บน Windows ไปที่เมนูแก้ไขคลิกที่การตั้งค่าเริ่มต้นและแสดงความคิดเห็นเกี่ยวกับขยะเฉพาะของ Windows (โดยใช้อักขระข้อคิดเห็น vimrc ซึ่งเป็นเครื่องหมายคำพูดคู่) ไฟล์ mswin.vim เป็นที่ที่ระบุctrl- vแทนที่และตัวเลือกการทำงานของ mswin ทำให้ปุ่มลูกศรไม่เพียงแค่ใช้การเคลื่อนไหวอย่างที่คุณคาดหวัง (มันยังเปลี่ยนพฤติกรรมการเลือกเมาส์ด้วย)
"source $VIMRUNTIME/mswin.vim
"behave mswin
ฉันชอบเพิ่มสีพื้นหลังสีดำในนั้นด้วยดังนั้นมันจึงดูเหมือนสิ่งที่ฉันเห็นในเทอร์มินัลมากกว่า (และเนื่องจากพื้นหลังสีอ่อนเหมาะกับกระดาษ แต่แย่มากบนหน้าจอที่มีแสงพื้นหลัง):
colorscheme koehler
หากบรรทัดนี้ใน _vimrc ของคุณสร้างปัญหาให้คุณ:
behave mswin
จากนั้นลบบรรทัดนั้น
ฉันชอบการกดแป้นพิมพ์แบบเดียวกันทุกที่ดังนั้นฉันจึงใช้สิ่งนี้ใน. vimrc เพื่อแทนที่ mswin.vim:
if has('win32')
" Avoid mswin.vim making Ctrl-v act as paste
noremap <C-V> <C-V>
endif
ฉันไม่แน่ใจว่ามีอะไรให้คุณทำมากมาย คุณสามารถใช้CtrlQแทนได้
การรวมกันของคำแนะนำของ jop (มองหา mswin.vim ในไฟล์ _vimrc เริ่มต้น) และคำแนะนำ "โปรแกรมเมอร์ของ Windows" (การกำจัดบรรทัด "behavior mswin") เป็นเสน่ห์สำหรับฉัน
(ตัวแทนของฉันต่ำเกินไปที่จะโหวตให้พวกเขาหรือรวมพวกเขา - มีคนทำความสะอาดสิ่งนี้ให้ฉันหรือฉันจะกลับมาอีกเมื่อตัวแทนของฉันสูงขึ้น)