คำถามติดแท็ก command-history

5
ฉันจะข้ามไปยังตำแหน่งของการแก้ไขล่าสุดได้อย่างไร
ฉันมักจะทำการเปลี่ยนแปลงที่ตรงกลางของไฟล์ขนาดใหญ่ใช้ggเพื่อข้ามไปด้านบนเพื่อตรวจสอบบางสิ่งบางอย่างและจากนั้นฉันก็ลืมที่จะกำหนดเครื่องหมายที่ฉันแก้ไข มีวิธีในตัวเพื่อข้ามไปยังตำแหน่งของบรรทัดที่เปลี่ยนแปลงล่าสุดหรือไม่?

2
ฉันจะดูและแก้ไขการบันทึกของฉัน (เช่นมาโครที่บันทึกไว้) ได้อย่างไร
ฉันใช้ซ้ำที่ซับซ้อนในการบันทึกการดำเนินงานของฉัน ( qqเพื่อบันทึกการดำเนินการบาง , qการหยุด) และฉันไม่ผิดพลาด เป็นไปได้ไหมที่จะเห็นสิ่งที่ฉันบันทึกและแก้ไขข้อผิดพลาดแทนที่จะทำอีกครั้ง? เรียกใช้ตัวละครที่บันทึกไว้ตาม@qผลงาน แต่ฉันไม่เห็นในการแม็พ ( :map q- No mapping found) :help recordingและมีข้อมูลไม่มากในการช่วยเหลือโดยการพิมพ์:

2
ฉันสามารถดูประวัติการกดปุ่มในโหมดปกติได้หรือไม่?
ฉันรู้ว่า Vim เก็บประวัติคำสั่ง ex การค้นหาการข้ามตำแหน่งการเปลี่ยนแปลงและอื่น ๆ ด้วยshowcmdset, Vim จะแสดงให้คุณเห็นว่าคุณใช้คีย์ใดบ้างสำหรับคำสั่งโหมดปกติจนกระทั่งคำสั่งนั้นทำงาน บางครั้งเมื่ออยู่ในโหมดปกติฉันพิมพ์ผิดและการกระทำเกิดขึ้น ฉันสามารถยกเลิกการกระทำเหล่านี้ได้ แต่บางครั้งฉันอยากรู้ว่าการแก้ไขในช่วงที่เกิดความผิดพลาดเกิดขึ้นได้อย่างไร บางครั้งการแก้ไขดูเท่และฉันต้องการทราบวิธีการทำซ้ำในอนาคต ดังนั้นมีวิธีการดูประวัติของการกดปุ่มในโหมดปกติใด ๆ คั่นอย่างยิ่งเมื่อเกิดการแก้ไขหรือการกระทำที่เกิดขึ้นจริง (เช่นการเคลื่อนไหวหรือการเปลี่ยนแปลงโหมด)?

3
เสียงเรียกเข้าเป็นตัวกำหนดขนาดของ“ การแก้ไข” เดี่ยวเมื่อใช้“ u” และ“ CTL-R”
เมื่อใช้uหรือCTL-Rเลิกทำการแก้ไขหรือทำซ้ำเป็นกลุ่มฉันดูเหมือนจะเปลี่ยนข้อความเป็นข้อความไม่ใช่แค่การกดแป้นพิมพ์ครั้งล่าสุด อะไรเป็นตัวกำหนดขนาดของก้อนที่ถือว่าเป็นการแก้ไขครั้งเดียว?

1
ประวัติคำสั่งถูกแก้ไขได้อย่างไรระหว่าง Vim หลายอินสแตนซ์?
Vim จะเก็บประวัติคำสั่ง ex (สามารถเข้าถึงได้ผ่าน:↑และq:) และประวัตินั้นจะคงอยู่หลังจากเลิก ถ้าฉันเรียกใช้หลายอินสแตนซ์ของ Vim (ผู้ใช้เดียวกัน, โฮมไดเร็กตอรี่เดียวกัน), Vim จะทำการอนุญาโตตุลาการระหว่างประวัติคำสั่งอย่างไร? ดูเหมือนว่ากระบวนการสุดท้ายที่จะออกจากการชนะ มีวิธีการเก็บประวัติคำสั่งของอินสแตนซ์ทั้งหมดหรือไม่

1
ป้องกัน Vim จากการบันทึกเหตุการณ์สำหรับไฟล์บางชนิด
หากต้องการเพิ่มคำถามสแต็คโฟลว์โฟล์วสิ่งใดที่ควรใส่.vimrcเพื่อให้แน่ใจว่า 'การแก้ไขส่วนตัว' ของนามสกุลไฟล์บางไฟล์ (เช่น.gpgไฟล์) ไม่ควรบันทึกข้อมูลเกี่ยวกับงานที่ทำเสร็จรวมถึงการลงทะเบียนประวัติการค้นหาประวัติคำสั่งการดูการสลับ ฯลฯ สำหรับgpgไฟล์ผู้ใช้สามารถใช้vim pluginนี้ได้ แต่นอกเหนือจากการแก้ไขปลั๊กอิน มีการขยายแนวคิดที่กล่าวถึงเหล่านี้ไปยังประเภทไฟล์ใด ๆ เราอาจใช้ประโยชน์จากคำสั่งต่อไปนี้ if <ft in privacy_ext_list> set noswapfile set noundofile set viminfo= endif แต่นอกจากคำแถลงเงื่อนไขที่เหมาะสมแล้วมีอะไรหายไปบ้าง นอกจากนี้ Vimscript ยังมีวิธีสร้างอาเรย์ของไฟล์นามสกุลแล้วประเมินว่าไฟล์ประเภทปัจจุบันนั้นอยู่ในอาเรย์หรือไม่?

2
แสดงประวัติคำสั่งด้วย showcmd
เมื่อใช้set showcmdVim แสดงคำสั่งบางส่วนในบรรทัดสุดท้ายของหน้าจอ ตัวอย่างเช่นในโหมดปกติเมื่อพิมพ์คำสั่งdt.บรรทัดสุดท้ายจะแสดงขึ้นdtมาจากนั้นเมื่อคุณกด.คำสั่งเสร็จแล้วจึงไม่มีอะไรปรากฏขึ้น มีวิธีแสดงคำสั่งแบบเต็มหรือไม่? ตัวอย่างเช่นเมื่อพิมพ์จะแสดงเป็นdt.gU(อันดับแรก dt.และเมื่อเริ่มพิมพ์คำสั่งที่สองคำสั่งแรกจะถูกล้างเพื่อที่ว่าในท้ายที่สุดgU(จะปรากฏเท่านั้น สิ่งนี้อาจมีประโยชน์เช่นในการแสดงภาพ GIF และเพื่อตรวจสอบว่าคุณพิมพ์สิ่งที่คุณต้องการหากคุณเผชิญกับผลลัพธ์ที่ไม่คาดคิด

2
จะเพิ่มขนาดประวัติ cmdline ได้อย่างไร?
ฉันได้ตั้งค่าต่อไปนี้ใน.vimrcไฟล์แล้ว: set history=1000 อยู่ที่นั่นซักพักแล้วฉันทำงานเป็นกลุ่มทุกวันดังนั้นตอนนี้ก็มีคำสั่งมากมายที่สั่งการ ฉันรู้จากความช่วยเหลือเป็นกลุ่มที่ทำซ้ำและจับคู่บรรทัดคำสั่งจะไม่ถูกเก็บไว้และมันก็บอกว่า: Use the 'history' option to set the number of lines that are remembered (default: 20). ขณะนี้มีประมาณ 130 บรรทัดในประวัติศาสตร์ของฉัน ( :hisและq:แตกต่างกันเล็กน้อยบรรทัดที่สองมีประมาณ 90 รายการ) แต่ในความคิดของฉันควรมีมากกว่านั้น มีบางคำสั่งขาดหายไปเช่นการเปิดไฟล์บางไฟล์หรือคำสั่งการแทนที่ด้วย regex ที่ซับซ้อน ไม่ได้ใช้มาระยะหนึ่งแล้ว แต่ฉันมีขนาดประวัติเพิ่มขึ้นนานพอ มีข้อ จำกัด อีกข้อที่ฉันไม่รู้เกี่ยวกับอะไร หรืออาจไม่ใช่วิธีที่ถูกต้องในการเพิ่มขนาดประวัติ cmdline?

1
ใช้ backspace เพื่อแก้ไขคำสั่งปัจจุบันในโหมดปกติหรือไม่
บางครั้งเมื่อป้อนคำสั่งในโหมดปกติคุณอาจพิมพ์ผิดเช่นถ้าฉันตั้งใจจะพิมพ์ผมตั้งใจจะเริ่มพิมพ์10dk19d เนื่องจากคำสั่งยังไม่เสร็จสมบูรณ์ / ถูกกำหนดจึงเป็นไปได้หรือไม่ที่จะลบคีย์ที่ไม่ถูกต้องโดยใช้ backspace เช่น: 19d<backspace><backspace>0dkแทนที่จะต้องกดปุ่ม Escape แล้วลองคำสั่งอีกครั้ง? คำถามด้านข้าง: มีคำว่า Vim สำหรับโครงสร้างข้อมูลที่เก็บคำสั่งปัจจุบันก่อนที่จะคอมมิต
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.