คำถามติดแท็ก key-bindings

การดำเนินการเมื่อกดปุ่ม สิ่งเหล่านี้เรียกว่าการแมปกุญแจหรือการแมป สำหรับคำถามเกี่ยวกับการผูกคีย์เริ่มต้นรวมถึงการสร้างหรือกำหนดนิยามการโยงคีย์ใหม่

12
วิธีอื่นในการออกจากโหมดแทรกนอกเหนือจาก Escape
เหตุผลหลักที่ฉันชอบพูดจาชอบ emacs ก็คือการเคลื่อนไหวของมือฉันอยู่ห่างจากแถวบ้านต่ำมาก (แม้ในฐานะโปรแกรมเมอร์) อย่างไรก็ตามครั้งหนึ่งที่ฉันทำเช่นนี้คือออกจากโหมดแทรกโดยการกด Escape ฉันเพิ่งเรียนรู้ว่าฉันสามารถใช้ Ctrl + C เพื่อออกจากโหมดแทรกได้เช่นกัน อย่างไรก็ตามนี่ไม่ใช่การปรับปรุงจริง ๆ ฉันจะออกจากโหมดแทรกโดยไม่ต้องออกจากแถวบ้านได้อย่างไรและโดยไม่มีผลกระทบอย่างใหญ่หลวงต่อสิ่งที่ฉันมีความสามารถในการพิมพ์ หมายเหตุ: ฉันใช้เสียงวานิลลาเป็นส่วนใหญ่กับรูปแบบแป้นพิมพ์ dvorak แม้ว่าฉันชอบที่จะได้ยินวิธีแก้ไขปัญหาสำหรับรูปแบบ qwerty เช่นกัน

1
วิธีการดีบั๊กแมป
ฉันเห็นคำถามมากมายที่นี่ซึ่งผู้ใช้มีการแมปซึ่งไม่ได้ผลและส่วนใหญ่แล้วเหตุผลก็ค่อนข้างคล้ายคลึงกัน ฉันขอแนะนำให้ทำให้คำถามนี้เป็นข้อมูลอ้างอิงสำหรับคำถามประเภทนี้เพื่อให้กระบวนการที่สมบูรณ์ในการดีบักการแมป หากผู้ใช้มีปัญหากับการทำแผนที่พวกเขาสามารถถูกเปลี่ยนเส้นทางที่นี่เพื่อกำจัดปัญหาที่พบบ่อยที่สุด แน่นอนว่ายังมีบางกรณีที่จะต้องใช้คำถามเฉพาะและจะไม่ได้รับการแก้ไขที่นี่

2
ฉันจะทราบได้อย่างไรว่า <Leader> ตั้งค่าไว้ที่ใด และเป็นไปได้ไหมที่จะทำการแมปใหม่อีกครั้ง
ฉันจะทราบได้อย่างไรว่าคีย์ใดถูกตั้งค่าเป็นของฉัน&lt;Leader&gt;และฉันจะทำการแมปใหม่ได้อย่างไร

4
ฉันจะย้ายเส้นได้อย่างง่ายดายได้อย่างไร?
คำสั่ง (หรือทางลัด) เพื่อย้ายบรรทัดขึ้นหรือลงในกลุ่มคืออะไร? เวิร์กโฟลว์ปัจจุบันของฉันคือการดึง (คัดลอก) บรรทัดและกว่าลบบรรทัดนั้นและแทนที่จะวาง (วาง) บรรทัดนั้น

8
เหตุใดการใช้ปุ่มลูกศรในโหมดปกติจึงถือว่าไม่เหมาะสม
ฉันได้อ่านมันในหลาย ๆ บทความ ( เช่น ) ว่ามันเป็นวิธีปฏิบัติที่ไม่ดีที่จะใช้ปุ่มลูกศรในโหมดปกติ มีใครอธิบายได้ไหมว่าเพราะเหตุใดจึงถือเป็นการกระทำที่ผิด

2
เปิดชื่อไฟล์ภายใต้เคอร์เซอร์เช่น gf แต่อยู่ในแท็บใหม่ (หรือแยก)?
คำสั่งโหมดปกติgfไปที่ไฟล์ที่มีเคอร์เซอร์ปัจจุบันอยู่ที่ แต่จะทำเช่นนั้นในหน้าต่างปัจจุบันแทนที่ข้อความปัจจุบัน ซึ่งหมายความว่าคุณต้องนำทางกลับอย่างชัดเจนเพื่อไปที่หลังในภายหลังและคุณต้องเขียนการเปลี่ยนแปลงในบัฟเฟอร์ปัจจุบันที่อาจเกิดขึ้น ฉันแน่ใจว่าเป็นไปได้หรือไม่ที่เปิดไฟล์ภายใต้เคอร์เซอร์ใน tabview ใหม่แทน?

5
วิธีการทำแผนที่ปุ่ม Alt?
ฉันพยายามแมปAltรหัสด้วยวิธีต่อไปนี้: :map &lt;A-j&gt; j :map &lt;A-k&gt; k แต่มันไม่ทำงาน (เบลล์ดังขึ้นAlt + j/ Alt + k) สิ่งที่ฉันหายไป? ฉันใช้ Terminal บน OSX สิ่งเดียวกันนี้เกิดขึ้นกับ Linux ระยะไกล เมื่อวันที่Ctrl + v, Alt + jฉันมี: ?~H~F( ∆เมื่อencoding=utf-8) เมื่อวันที่Ctrl + v, Alt + kฉันมี: ?~Z( ˚เมื่อencoding=utf-8) การใช้เสียงเรียกเข้าที่ไม่มีปลั๊กอิน ( -u NONE) ไม่ได้สร้างความแตกต่างเลย

2
<Leader> คืออะไร
ฉันเห็น&lt;Leader&gt;ค่อนข้างบ่อยในไฟล์ vimrc ของผู้อื่น แบบนี้ มันคืออะไร? มันทำอะไร?

6
ฉันสามารถลบทั้งบรรทัดยกเว้นตัวแบ่งบรรทัดได้หรือไม่
การดำเนินการที่ค่อนข้างธรรมดาสำหรับฉันในกลุ่มเนื่องจากฉันบังคับและครอบงำและชอบที่จะทำให้ไฟล์ของฉันปลอดจากช่องว่างคือการลบเนื้อหาของทั้งบรรทัด แต่ไม่ใช่ตัวบรรทัดเอง (เช่นไม่ใช่ตัวแบ่งบรรทัด) มีวิธีที่เป็นกลุ่มในการทำเช่นนี้? บางทีการd&lt;movement command&gt;ดำเนินการ? เพื่อให้ห่างไกลที่ดีที่สุดที่ฉันได้เป็น 0d$(ในบรรทัดในคำถาม) มีวิธีที่เร็วกว่านี้ไหม

2
ทำไม Y จึงเป็นคำพ้องความหมายสำหรับ yy แทนที่จะเป็น y $
มีเหตุผลทางประวัติศาสตร์ที่เฉพาะเจาะจงสำหรับสิ่งนี้หรือไม่? ความเป็นมา - (คุณสามารถข้ามส่วนนี้ได้หากคุณเข้าใจคำถามนี้ไปแล้ว) ในฐานะที่เป็นสื่อกลาง / ขั้นสูงviผู้ใช้จะรู้ว่าyคือ "งัดคำสั่ง" มัน yanks (สำเนา) ข้อความที่ระบุโดยคำสั่งการเคลื่อนไหวต่อไป. * ดังนั้นyeyanks ไปยังจุดสิ้นสุดของคำ, y0yanks จากตำแหน่งเคอร์เซอร์ไปยังจุดเริ่มต้นของบรรทัดy_ดึงเส้นปัจจุบันทั้งหมดy$ออกจากตำแหน่งเคอร์เซอร์จนถึงจุดสิ้นสุดของบรรทัดปัจจุบันเป็นต้น dคำสั่ง (ลบ) และcคำสั่ง (เปลี่ยนแปลง) ทั้งสองจะสามารถนำมาใช้กับทุกการเคลื่อนไหวเหล่านี้เช่นกัน ddเป็นคำพ้องสำหรับd_และลบบรรทัดปัจจุบันทั้งหมด ในทำนองเดียวกันccก็เป็นคำพ้องความหมายสำหรับc_และจะเปลี่ยนบรรทัดปัจจุบัน (เช่นมันจะลบข้อความทั้งหมดและทำให้คุณอยู่ในโหมดแทรกที่จุดเริ่มต้นของบรรทัด). ** คำสั่ง "กระชาก" เป็นไปตามอนุสัญญานี้ จะงัดบรรทัดปัจจุบันทั้งหมดเช่นเดียวกับyyy_ มีอีกหนึ่งชุดของคำพ้องความหมาย: Dเป็นคำพ้องความหมายสำหรับd$และจะลบจากตำแหน่งเคอร์เซอร์ไปยังจุดสิ้นสุดของบรรทัด Cเป็นคำพ้องความหมายc$และจะเปลี่ยนข้อความจากตำแหน่งเคอร์เซอร์เป็นจุดสิ้นสุดของบรรทัดวางคุณในโหมดแทรกเพื่อพิมพ์ข้อความใหม่ อย่างไรก็ตามYเป็นคำพ้องความหมายอื่นสำหรับyyหรือy_และจะดึงทั้งบรรทัดไม่ใช่เฉพาะจากเคอร์เซอร์จนถึงท้ายบรรทัดตามที่คุณคาดหวังจากCและDรูปแบบ ฉันเข้าใจว่าใน Vim มันถูกเก็บไว้เป็นวิธีนี้เพื่อรักษาความเข้ากันได้ย้อนหลังกับviตามที่กล่าวไว้ในความช่วยเหลือ Vim ภายใต้:help Y: หากคุณต้องการให้ "Y" ทำงานจากเคอร์เซอร์จนถึงจุดสิ้นสุดของบรรทัด (ซึ่งมีเหตุผลมากกว่า แต่ไม่รองรับ Vi) ให้ใช้ ": map Y …


1
ปิดใช้งาน <Esc> แต่เก็บ <C - [>
&lt;Esc&gt;สำหรับการเปลี่ยนกลับจากโหมดแทรกฉันใช้ ตอนนี้ฉันกำลังมองหาที่จะฝึกตัวเองให้แทน&lt;C-[&gt; &lt;Esc&gt;เพื่อที่ฉันจะต้องปิดการใช้งาน&lt;Esc&gt;เพื่อช่วยในการอบรมขึ้นใหม่ ปัญหาคือ :inoremap &lt;Esc&gt; &lt;Nop&gt; &lt;C-[&gt;ยังพิการ สำหรับเสียงเรียกเข้าพวกเขาดูเหมือนจะเป็นสิ่งเดียวกัน มีวิธีการปิดการใช้งานอย่างใดอย่างหนึ่งโดยไม่ต้องอื่น ๆ ?

4
ฉันจะทำงานกับการแยกใน Vim โดยไม่มี Ctrl-W ได้อย่างไร
เทอร์มินัลของฉันไม่อนุญาตให้ฉันพิมพ์Ctrl+ Wเนื่องจากเป็นทางลัดในการปิดแท็บเทอร์มินัล ผมชอบทำงานกับแยก C-Wแต่ฉันไม่สามารถหาวิธีที่จะทำได้โดยไม่ต้องใช้ใด นี้บังคับให้ฉันใช้แท็บเพราะผมสามารถสลับระหว่างพวกเขาด้วยgt, gTหรือ#gtที่ # เป็นจำนวน แต่ฉันพบนี้สะดวกน้อยกว่าแยกเป็นฉันเท่านั้นที่สามารถดูเนื้อหาของไฟล์เดียวในเวลา ฉันไม่สามารถใช้งานmouse=aได้เนื่องจากเทอร์มินัลของฉันไม่รองรับ ฉันจะทำงานกับการแยกใน Vim โดยไม่มีCtrl+ Wคอมโบได้อย่างไร

3
วิธีการปิดการใช้งานปุ่มลูกศรในกลุ่ม?
ฉันต้องการสอนตัวเองโดยใช้ hjkl มากกว่าใช้ปุ่มลูกศรเพื่ออยู่ในแถวบ้าน และใช่ฉันทราบดีว่าไม่ควรใช้ hjkl เป็นปุ่มนำทางหลัก ถึงกระนั้นนิสัยของฉันก็ค่อนข้างแรงและฉันก็ไม่รู้ด้วยซ้ำว่ามันทำให้มือนั้นขยับไปยังปุ่มลูกศรและฉันก็อยากจะแก้มัน หากต้องการทำลายนิสัยดังกล่าว: ฉันจะปิดใช้งานแป้นลูกศรเพื่อให้ฉันถูกบังคับให้ใช้ hjkl หรือวิธีการนำทางอื่น ๆ ได้อย่างไร ในฐานะโบนัสมันจะมีประโยชน์ถ้ามีข้อความที่แสดงDont't use this!ว่ายังไม่ได้รับคำสั่ง หากพวกเขาไม่ทำงานมันจะทำให้ฉันสับสนมากพอที่จะคิดใหม่นิสัยของฉัน

3
`<Bar> 'หมายถึงอะไร
ในการตอบคำถามตอนนี้ฉันพูดถึงการใช้การแมปปุ่มโหมดปกติที่สามารถพบได้ที่ vim.wikia.com ในช่วงกลางของการอธิบายการทำแผนที่สำคัญฉันรู้ว่าฉันไม่รู้ว่า&lt;Bar&gt;หมายถึงอะไร มันหมายความว่าอะไร? ฉันพยายามแทนที่ด้วยไพพ์|โดยมีและไม่มีช่องว่างก่อนรอบและหลังจากนั้น แต่แต่ละ.vimrcไฟล์แตกด้วยข้อความแสดงข้อผิดพลาดต่อไปนี้: Error detected while processing /home/bottomsc/.vimrc: line 173: E488: Trailing characters: :nohl&lt;CR&gt;

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