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

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

2
ฉันจะแก้ไข Vim ให้ทำงานกับรูปแบบแป้นพิมพ์อื่นได้อย่างไร
ฉันพิมพ์ด้วยรูปแบบแป้นพิมพ์ที่ไม่ใช่แบบ QWERTY หลายปุ่มที่ Vim ใช้อยู่ในแถวบ้าน แต่การผูกกุญแจบางปุ่มไม่ทำงานปุ่มที่ชัดเจนที่สุดคือhjklกุญแจ ฉันจะเปลี่ยนการเชื่อมโยงคีย์เหล่านี้เพื่อให้ทำงานได้ดีขึ้นกับเค้าโครงแป้นพิมพ์ของฉันได้อย่างไรและที่ไหน

1
แม็พลำดับของตัวอักษรในโหมดแทรก
ฉันสามารถแมปคีย์ผสมในโหมดแทรกได้แล้ว: :inoremap abc <do stuff> อย่างไรก็ตามสิ่งนี้มีข้อบกพร่องเล็กน้อย: เมื่อพิมพ์บางส่วนของลำดับเช่นabอักขระจะไม่แสดงจริงในช่วงเวลาสั้น ๆ เนื่องจาก "รอ" เพื่อดูว่าคุณกำลังจะพิมพ์คำสั่งเต็มหรือไม่ สิ่งนี้ไม่พึงประสงค์ ฉันต้องการแมปลูกโซ่ของตัวอักษรโดยไม่หยุดถ้าสตริงย่อยบางส่วนของห่วงโซ่ถูกป้อน หากฉันพิมพ์abให้หยุดชั่วคราว (และรอจนกว่าอักขระจะปรากฏจริงตามที่กล่าวไว้ในจุดด้านบน) จากนั้นพิมพ์cคำสั่งจะไม่ถูกเรียกใช้งาน ฉันต้องการให้คำสั่งดำเนินการไม่ว่าจะรอนานแค่ไหน ฉันจะใช้iabแต่ไม่ได้ผลเพราะ: มันต้องป้อนช่องว่างหลังจากสตริง ฉันไม่สามารถดำเนินการคำสั่งโดยพลการด้วยมันเพียงแทรกสตริงของข้อความ มีวิธีใดบ้างที่จะรันคำสั่งหรือการกดแป้นถ้ามีการป้อนสตริงที่แน่นอนในโหมดแทรกโดยไม่ต้องใช้แผนที่ (ซึ่งจะทำให้หยุดชั่วคราวทุกครั้งที่ฉันพิมพ์aและไม่ทำงานหากฉันรอนานเกินไป)?

3
ปัญหาต่อไปนี้ลิงก์ของ doc ของ vim (: help) บนเทอร์มินัล
ฉันมีปัญหาในการอ่านเอกสารของกลุ่มในเทอร์มินัลเพราะฉันไม่สามารถติดตามลิงก์ที่ได้รับ ฉันพูด: ข้ามไปที่หัวเรื่อง: วางเคอร์เซอร์บนแท็ก (เช่น | บาร์ |) แล้วกด CTRL-] ปัญหาคือฉันใช้แป้นพิมพ์ภาษาสเปนซึ่งมีเครื่องหมาย "+" และ "]" อยู่บนปุ่มเดียวกันดังนั้นเมื่อฉันกด CTRL-] ฉันจะซูม ฉันสามารถแมป CTRL-] กับแป้นอื่นใดก็ได้หรือมีตัวเลือกอื่นได้หรือไม่?

6
วิธีลบบรรทัดด้านบน / ล่างเคอร์เซอร์ แต่ไม่ใช่บรรทัดปัจจุบัน
มีคำสั่งสำหรับการลบบรรทัด (หรือ n บรรทัด) เหนือบรรทัดปัจจุบันหรือไม่? ดังกล่าวข้างต้น = ปัจจุบันไม่รวม คือมีทางเลือกอื่นdkที่จะไม่ลบบรรทัดปัจจุบันหรือไม่ คล้ายกับวิธีo/ Oและp/ Pทำงาน แต่มีการลบ ขณะนี้ฉันกำลังทำอยู่kddซึ่งย้ายเคอร์เซอร์หนึ่งบรรทัดขึ้นและลบออก ฉันสามารถทำได้nnoremap <Leader>d kddและnnoremap <Leader>D jdd-แต่มีทางเลือกที่ไม่ย้ายเคอร์เซอร์ดูเหมือนว่าเป็นตัวเลือกที่ดีกว่า มีแบบนี้เหรอ?

3
เป็นไปได้หรือไม่ที่จะสร้างการแมปด้วยพารามิเตอร์?
ฉันได้สร้างการแมปสองสามอย่างเช่น: :nnoremap <buffer> <leader>xyzABC :call SomeFunc('ABC')<CR> :nnoremap <buffer> <leader>xyzDE :call SomeFunc('DE')<CR> :nnoremap <buffer> <leader>xyzFoo18 :call SomeFunc('Foo18')<CR> :nnoremap <buffer> <leader>xyzBar22 :call SomeFunc('Bar22')<CR> ซึ่งทำงานได้ตามที่ต้องการ ตอนนี้ฉันกำลังมองหาความเป็นไปได้ในการสร้างเทมเพลตแผนที่ที่จะช่วยให้ฉันลบส่วนที่ซ้ำซ้อนที่เห็นได้ชัดของการแมปของฉันเช่น :nnoremap <buffer> <leader> xyz? :call SomeFunc(?)<CR> เพื่อที่ฉันสามารถผ่านใด ๆSomeFuncค่าเป็นพารามิเตอร์ มีความเป็นไปได้ไหม?

2
วิธีการทำแผนที่ซ้ำเมื่อกดปุ่มค้าง
ฉันมี.vimrcการแมปแบบง่าย ๆ เพื่อปรับขนาดหน้าต่างแยกได้อย่างง่ายดาย: noremap <Leader><UP> <C-w>+ noremap <Leader><DOWN> <C-w>- มันใช้งานได้ดี แต่เมื่อฉันต้องการปรับขนาดหน้าต่าง 10 บรรทัดฉันต้องกดและปล่อยLeader+ UP10 ครั้ง ฉันจะทำซ้ำการแมปนี้ในขณะที่กดปุ่มได้อย่างไร สิ่งที่ฉันต้องการคือเมื่อฉันกดLeader+ UPการแมปจะถูกนำไปใช้หนึ่งครั้งหลังจากนั้นในช่วงเวลาสั้น ๆ มันจะถูกนำไปใช้อีกครั้งและอื่น ๆ ในขณะที่ฉันกดปุ่มค้างไว้ หมายเหตุ:ฉันรู้ว่าเป็นไปได้ที่จะนำหน้า<C-w>+ด้วยการนับและฉันสามารถเข้ารหัสในการทำแผนที่หรือเพียงแค่ใส่จำนวนก่อนที่จะใช้การทำแผนที่ แต่นั่นไม่ใช่วิธีที่ฉันต้องการจะทำ Note2:ฉันรู้ว่าการแมปยอดนิยมเพื่อปรับขนาดหน้าต่างคือการใช้+และ-ปุ่มที่กดได้ง่ายกว่าหลายครั้ง แต่ฉันไม่ต้องการใช้ปุ่มเหล่านั้นเพื่อทำเช่นนั้น

1
ใช้กรณีสำหรับ `gs '
ตามเอกสารสำหรับgs: เข้าสู่โหมดสลีปเป็นเวลา N วินาที (ค่าเริ่มต้น 1) ดังนั้นคุณสามารถใส่เป็นกลุ่มเพื่อการนอนหลับเป็นเวลา 10 10gsวินาทีโดยใช้ กรณีใช้งานที่ดีสำหรับคำสั่งนี้คืออะไร

3
ส่วนคนเปิด 3
ฉันใช้ Vim เพื่อพัฒนา C บน Linux เมื่อฉันกดKเพื่อเปิดหน้าคนสำหรับคำที่ขีดเส้นใต้ฉันไม่สามารถควบคุมได้ว่าจะเปิดส่วนคนใด มีวิธีการระบุว่าที่ไหน?

4
การรวมลำดับคำสั่งบันเดิลเข้าด้วยกันเพื่อทำซ้ำ (.)
พิจารณา: apple pear วางเคอร์เซอร์ของคุณในบรรทัดแรกและประเภทYpผลิต: apple apple pear วางเคอร์เซอร์ของคุณบนpearบรรทัดและพิมพ์.เพื่อทำซ้ำคำสั่งสุดท้าย สิ่งนี้ซ้ำเพียงp(แทนที่จะรวมกันYp) ผลิต: apple apple pear apple ฉันต้องการวิธีบอก.ให้ทำซ้ำคำสั่ง N ล่าสุด สิ่งที่ต้องการ2.รวมกันซ้ำYpเพื่อผลิต: apple apple pear pear Ofc ที่ไม่ทำงาน - มันซ้ำpสองครั้ง แต่ความคิดจะเป็น "ทำซ้ำลำดับของ 2 คำสั่งสุดท้าย" ฉันรู้ว่าฉันสามารถqบันทึกลำดับคำสั่ง -record และทำซ้ำได้@@แต่โซลูชันนี้ไม่เหมาะเพราะคุณต้องวางแผนล่วงหน้ามาตลอดในขณะที่ในทางปฏิบัติคุณมักจะไม่รู้ว่าคุณต้องทำซ้ำจนกว่าจะถึงเวลา คุณทำมันแล้ว มีวิธีใดบ้างที่จะบรรลุสิ่งที่ฉันต้องการ รางวัลชมเชย: หากเป็นไปไม่ได้มีวิธีการเล่นแมโครครั้งสุดท้ายซ้ำอีกครั้งหรือไม่? เช่นหากฉันพิมพ์@@เพื่อเล่นแมโครสุดท้ายของฉันฉันต้องการให้สิ่งต่อ.ไปนี้เทียบเท่ากับการพิมพ์@@อีกครั้งซึ่งไม่ได้ (เช่นหากผลลัพธ์@@ขึ้นอยู่กับบรรทัดที่คุณอยู่)

2
การแมปโหมดแทรกความไวตามบริบทหรือตัวย่อ
ฉันวางแผนที่จะใช้การแมปอรรถประโยชน์สำหรับปลั๊กอิน LaTeXของฉันเพื่อทำให้การพิมพ์ทางคณิตศาสตร์ง่ายขึ้น ตัวอย่างเช่นฉันต้องการสร้างตัวย่อที่คล้ายกับ `a : \alpha `b : \beta -> : \to => : \Rightarrow และคล้ายกัน ฉันต้องการ (บางส่วน) การแมปเท่านั้นที่จะสามารถใช้งานได้ในสภาพแวดล้อมทางคณิตศาสตร์ไม่ใช่ด้านนอก ฉันรู้ว่าฉันสามารถรับรู้สภาพแวดล้อมทางคณิตศาสตร์ผ่านกลุ่มไวยากรณ์คือและtexMathZoneE texMathZoneXอย่างไรก็ตามฉันไม่ทราบวิธีใช้สิ่งนี้เพื่อทำการแมปตามบริบทหรือตัวย่อ

3
เช่นเดียวกับ Ctrl-A และ Ctrl-X แต่ปรับเปลี่ยนเฉพาะตัวเลขตัวแรก
มีวิธีเพิ่ม / ลดดิจิตแรกหลัง / ภายใต้เคอร์เซอร์ไม่ใช่จำนวนเต็มหรือไม่ ฉันรู้ว่ามันไม่ทำงานเป็นกลุ่ม แต่มีปลั๊กอินที่ทำอย่างนั้น? ฉันหามันไม่เจอ มันมีประโยชน์มากเมื่อแก้ไข css และในกรณีอื่นด้วย ได้รับ: ▐margin: 10px เมื่อฉันกดCTRL-Aฉันต้องการดู: ▐margin: 20px จริง: ▐margin: 11px

1
มี <Cw> สำหรับ WORD หรือไม่
การกดCtrl- wในโหมดแทรกจะลบคำก่อนหน้า มันเทียบเท่ากับCtrl- Backspaceใน Windows และOpt- Deleteใน OS X และพิมพ์ได้เร็วขึ้นจริงๆ เป็นกลุ่มมีแนวคิดที่แยกต่างหากของwordและWORD(ดู:help word) นี้เป็นสิ่งล้ำค่าสำหรับการนำทางข้อความ: มันเป็นความแตกต่างระหว่างwและW, bและB, และอื่น ๆ Ctrl- ดำเนินการเกี่ยวกับw wordมีคำแนะนำที่คล้ายกันWORDหรือไม่?

2
vimgolf บันทึกการกดแป้นทั้งหมดอย่างไร
จากเวลาที่ผมชอบที่จะมีส่วนร่วมในการออกรอบvimgolf มันสามารถตรัสรู้ พวกเขาสามารถบันทึกการกดแป้นทั้งหมดได้อย่างไร นั่นต้องเป็นคุณสมบัติกลุ่ม ใคร ๆ ก็คิดว่าจะทำยังไง มันมีประโยชน์ในการบันทึกทุกอย่างในบางสถานการณ์

1
การแมป Ctrl พร้อมเครื่องหมายเท่ากับ
ฉันพยายามแมป Ctrl และเครื่องหมายบวกด้วยกัน นี่คือสิ่งที่ฉันพยายามใน vimrc ของฉัน: nnoremap &lt;C-=&gt; : echo "Hello" &lt;CR&gt; อย่างไรก็ตามดูเหมือนว่าการแมปจะไม่ถูกทริกเกอร์ มีข้อเสนอแนะเกี่ยวกับสิ่งที่ฉันอาจทำผิดหรือเปล่า? ฉันใช้ MacVim

4
สลับค่า“ จริง” และ“ เท็จ” ผ่าน ctrl + a, ctrl + x
ฉันคิดว่ามันจะเป็นประโยชน์ที่จะมีความเป็นไปได้ที่จะแลกเปลี่ยนtrueและfalseค่าในรหัสอย่างรวดเร็วด้วยการรวมกันctrl+ aหรือ+ctrl xมีปลั๊กอินสำหรับสิ่งนั้นหรืออย่างอื่น?

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