Vi & Vim

คำถามและคำตอบสำหรับผู้ที่ใช้ตระกูล vi และ Vim ของเครื่องมือแก้ไขข้อความ

4
Vim HardMode Fine Grain เคลื่อนไหว
ฉันเพิ่งค้นพบเกี่ยวกับโหมดยากเป็นกลุ่มและฉันตัดสินใจลองใช้ อย่างไรก็ตามฉันพบปัญหาบางอย่างกับการเคลื่อนไหวของเม็ดละเอียด ตัวอย่างเช่นสมมติว่าฉันต้องการเลื่อนขึ้นหรือลงหนึ่งบรรทัดจริงๆ ตั้งแต่jและkถูกปิดใช้งานฉันไม่แน่ใจว่ามีทางเลือกอะไรที่ดีกว่าสำหรับสิ่งนี้ ฉันพบปัญหาเดียวกันเมื่อฉันต้องการย้ายอักขระหนึ่งหรือสองตัวไปทางซ้ายหรือขวา ไม่มีใครรู้ว่าจะใช้วิธีใดในการทดแทนการเคลื่อนไหวประเภทนี้? นี้เป็นปลั๊กอินฉันใช้: https://github.com/wikitopian/hardmode

1
อะไรทำให้เคอร์เซอร์ของฉันดูแปลก ๆ [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา เมื่อใดก็ตามที่ฉันไปถึงจุดสิ้นสุดหรือจุดเริ่มต้นของบรรทัดฉันได้รับตัวละครที่แปลกมาก ๆ มีความคิดอะไรที่ทำให้เกิดสิ่งนี้ ฉันเชื่อว่าฉันติดตั้งแบบอักษรและชุดรูปแบบของฉันถูกต้อง ฉันใช้ Debian กับเทอร์มินัล xfce เริ่มต้น
11 terminal  cursor 

2
มีวิธีการตรวจสอบว่าฉันบันทึกใน vimscript หรือไม่?
มีอะไรที่เหมือนกันไหม eval("is_recording()") ฉันจะโทรหา vimscript ของฉันเพื่อดูว่าฉันกำลังบันทึกแมโครหรือไม่ ฉันจะคิดว่างานนี้: eval("mode(1)") แต่นั่นเพิ่งกลับ"n"มา ไม่แน่ใจว่ามันสำคัญหรือไม่ แต่ฉันใช้ neovim ดังนั้นถ้าเป็นพิเศษกับ neovim มันก็ใช้ได้

1
วิธีเปิดใช้งานการตรวจสอบตัวสะกดสำหรับไฟล์บางประเภท?
ฉันพลิกระหว่างไฟล์ Ruby และ Markdown มาก มีวิธีที่ฉันสามารถset spellตั้งค่าโดยอัตโนมัติเมื่อฉันเปิด*.mdไฟล์ แต่ไม่ใช่เมื่อฉันเปิดไฟล์ได้*.rbหรือไม่?

1
การทดลองกับ vim / gvim ในโหมด "บริสุทธิ์"
บางครั้งฉันต้องการลองเคล็ดลับที่พบในอินเทอร์เน็ต บ่อยครั้งการลองใช้วิธีนี้ใน vim (gvim หากเป็น gui trick) ในโหมด Virgin คือโดยไม่ต้องโหลดเนื้อหา ~ / .vimrc ทั้งหมดของฉัน คุณมีเคล็ดลับในการทำสิ่งนี้อย่างมีประสิทธิภาพหรือไม่?

1
ฉันจะหยุดหน้าต่างของฉันไม่ให้เคลื่อนไหวเมื่อใช้ vsplit ได้อย่างไร
เมื่อใช้:vsplitหน้าต่าง gvim ของฉันข้ามไปยังตำแหน่งหน้าจอเฉพาะ ฉันจะหยุดสิ่งนี้ไม่ให้เกิดขึ้นได้อย่างไร สิ่งเดียวกันนี้เกิดขึ้นเมื่อการแยกตัวที่สองถึงครั้งสุดท้ายถูกปิด ฉันใช้ gvim บน Windows

2
ฉันจะใช้ทริกเกอร์หลายตัวสำหรับข้อมูลโค้ดเดียวกันได้อย่างไร
ฉันสร้างตัวอย่างที่ฉันต้องการให้ทริกเกอร์ที่แตกต่างกันดังนั้นแทนที่จะพูดว่าtriggerฉันต้องการทริกเกอร์ด้วยmyothertrigger: snippet trigger "just an example" my text ... endsnippet มีวิธีง่ายๆในการทำเช่นนี้แทนที่จะคัดลอกตัวอย่าง? แก้ไข:เพื่อความชัดเจนฉันกำลังใช้UltiSnipsแต่ถ้ามีปลั๊กอินที่ดีกว่าฉันอาจมองว่า

1
กฎไฮไลต์ที่กำหนดเองอยู่ที่ไหน
บางครั้งฉันต้องการแทนที่ไวยากรณ์เริ่มต้นที่เน้นสีและสไตล์ด้วยการตั้งค่าของฉันเอง ฉันคิดว่าวิธีที่เหมาะสมที่สุดในการทำเช่นนี้คือการสร้างสีของฉันเอง อย่างไรก็ตามฉันมีคำถามสองสามข้อ ถ้าผมต้องการตั้งไฮไลท์สำหรับกลุ่มไวยากรณ์ที่เฉพาะเจาะจงในภาษาเฉพาะไม่นี้เป็นของในสกีมสีของฉันหรือมันจะดีกว่าที่จะวางไว้ในafter/syntax/[filetype].vim? highlight jsAssignExpIdent cterm=bold gui=bold ดูเหมือนแปลกเล็กน้อยที่จะวางกฎเฉพาะภาษาที่ไม่ชัดเจนใน colorcheme เนื่องจากจะมีการโหลดภาษาใดก็ตามที่ฉันกำลังทำอยู่ after/syntax/[filetype].vimบางครั้งฉันสร้างกฎไวยากรณ์ใหม่สำหรับภาษาเฉพาะใน ในกรณีที่ผู้ใช้รายอื่นต้องการใช้ส่วนขยายเหล่านี้มันจะเหมาะสมกับฉันหรือไม่ที่จะต้องจัดทำกฎการไฮไลต์เริ่มต้นที่นั่นซึ่งลิงก์ไปยังกลุ่มไฮไลต์เริ่มต้นทั่วไป หากผู้ใช้รายอื่นต้องการแทนที่สีเน้นสีนั้นพวกเขาควรทำเช่นไร? ::::: after/syntax/asm.vim ::::: syn match asmHexNumber /\(0x\|\$\)[0-9A-Fa-f]\+/ highlight default link asmHexNumber Number


7
วิธีค้นหาบรรทัดที่ตรงกับบรรทัดปัจจุบันเป็นกลุ่ม
ฉันมักจะค้นหาคำด้วย:/stringแต่ถ้าฉันต้องค้นหาทั้งบรรทัดปัจจุบันวิธีการทำ event: 1 beacon: 0x02 //line 1 event: 19 beacon: 0x02 //line 2 event: 1 beacon: 0x03 //line 3 event: 1 beacon: 0x02 //line 4 event: 8 beacon: 0x01 //line 5 event: 19 beacon: 0x02 //line 6 event: 1 beacon: 0x02 //line 7 ตัวอย่างเช่นหากcursorปัจจุบันอยู่ที่line 1วิธีการค้นหาในทำนองเดียวกันกับ:/ข้อความที่มีทั้งบรรทัดปัจจุบัน เคอร์เซอร์ควรข้ามจากนั้นไปที่การจับคู่line 4และอีกครั้งเพื่อline 7


1
วิธีใช้ backtick-expansion เพื่อเติมอาร์กิวเมนต์
จากความช่วยเหลือ:help backtick-expansion: On Unix and a few other systems you can also use backticks for the file name argument, for example: :next `find . -name ver\\*.c -print` :view `ls -t *.patch \| head -n1` The backslashes before the star are required to prevent the shell from expanding "ver*.c" prior to …

2
มี vim plugin ที่ใช้คุณสมบัติ hot exit จากข้อความประเสริฐ
Hot exit เป็นหนึ่งในคุณสมบัตินักฆ่าของ Sublime Text editor อนุญาตให้ปิดโปรแกรมแก้ไขเมื่อใดก็ได้โดยไม่ต้องกังวลเกี่ยวกับการแก้ไขไฟล์ที่เปิด - เพียงแค่ปิดโดยไม่มีคำถามใด ๆ เมื่อเรียกใช้ ST อีกครั้งไฟล์ที่เปิดและแก้ไขทั้งหมดจะอยู่ในสถานะเดิมเหมือนก่อนปิด ฉันสงสัยว่ามีวิธีการทำเช่นเดียวกันในกลุ่ม?
11 save 

1
ปัญหาการเยื้องของ gq ไม่ได้อธิบาย
ฉันแทรกข้อความนี้เป็นกลุ่ม: t tttt ttttttttt tt tttt tt ttt tttttt-tttt-ttttttt tttttttttttttttttttttttttttttttttttttttttttttttttttttt ttttt ttt ttt tttttt ttttttt tttt ttttttt: ttttttt tt ttttttt, ttttttt tt tttttt, tttttt tt ttttttt, tttttt tt tttttt ttt. t tttttt tt ttt (tttt) ttttttt-tttttt-tt-ttttttt tttttt for the "tttttt in ttttttt" part of the issue (in the previous week …

2
Vim จะช่วยให้ฉันจำจุลภาคต่อท้ายในไฟล์ BibTeX ได้อย่างไร
ฉันแก้ไขไฟล์ BibTeX ค่อนข้างน้อยและฉันลืมเครื่องหมายจุลภาคที่ต่อท้ายเป็นประจำ: ตัวอย่างเช่น: @Book{cooke2015british, author = {Cooke, Lez}, title = {British Television Drama}, publisher = {Palgrave on behalf of the British Film Institute}, year = {2015}, keywords = {about} address = {London}, isbn = {978-1844576234} } คุณจะเห็นว่าฉันลืมเพิ่มเครื่องหมายจุลภาคหลังจากkeywords = {about}ซึ่งจะหมายความว่าฉันต้องใช้เวลาแก้จุดบกพร่อง มีวิธีที่ Vim ทำให้ฉันจำได้ไหม? ยังไงก็ตามฉันมีbib_autocomp.vim ...

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