คำถามติดแท็ก vim

Vim เป็นโปรแกรมแก้ไขข้อความฟรีและโอเพ่นซอร์สสำหรับแพลตฟอร์มที่สำคัญ ๆ ช่วยให้มีประสิทธิภาพสูงในงานการแก้ไขข้อความจำนวนมาก แต่มีช่วงการเรียนรู้ที่สูงชัน หากต้องการเรียนรู้พื้นฐานให้เรียกใช้ ": help vimtutor" สำหรับคำถามที่ไม่ใช่การเขียนโปรแกรมโปรดใช้ https://vi.stackexchange.com/ แทน

7
คุณจะลบหน้าต่างแสดงตัวอย่างโดยอัตโนมัติหลังจากการเติมข้อความอัตโนมัติใน Vim ได้อย่างไร
ฉันกำลังใช้omnifunc=pythoncomplete. เมื่อเติมคำอัตโนมัติ (เช่นos.<something>) ฉันจะได้รับรายชื่อสมาชิกชั้นเรียนและฟังก์ชันที่มีสิทธิ์ตามที่คาดไว้ตลอดจนหน้าต่างแสดงตัวอย่างบัฟเฟอร์แบบขูดพร้อมเอกสารเกี่ยวกับสมาชิกหรือฟังก์ชันที่เลือก ดีมาก แต่หลังจากเลือกฟังก์ชั่นที่ต้องการแล้วหน้าต่างแสดงตัวอย่างจะยังคงอยู่ ฉันสามารถกำจัดมันได้ :pcแต่ฉันต้องการให้มันหายไปโดยอัตโนมัติหลังจากฉันเลือกฟังก์ชันของฉันแล้ว a la Eclipse ฉันเคยเล่นด้วยcompleteoptแต่ก็ไม่มีประโยชน์

16
คุณต้องการสลับระหว่างบัฟเฟอร์ใน Vim อย่างไร
ฉันได้ลองใช้MiniBufExplorerแล้ว แต่โดยปกติแล้วฉันมักจะมีหน้าต่างหลายบานแสดงหรือปิดไปพร้อมกัน สิ่งที่ฉันต้องการคือบางอย่างเช่นLustyJugglerพร้อมการค้นหาที่เพิ่มขึ้นวิธีที่ฉันสลับระหว่างบัฟเฟอร์ใน Emacs มีสคริปต์แบบนี้แน่ ๆ ?
92 vim  editor  buffer 

2
Vim Surround เพิ่มช่องว่างรอบคำ
เมื่อฉันเลือกคำและใช้ปลั๊กอินเซอร์ราวด์กับS: foobar มันกลายเป็น ( foobar ) ฉันจะลบช่องว่างพิเศษออกอย่างไรเพื่อให้มันกลายเป็น (foobar) ฉันควรวางอะไรในการตั้งค่าของฉัน?
92 vim  surround 

4
Word Wrap in Vim (รักษาการเยื้อง)
ฉันเพิ่งดูโพสต์นี้ซึ่งอธิบายถึงวิธีการรวมคำทั้งหมดเป็นกลุ่ม วิธีแก้ปัญหาที่ยอมรับคือ: :set formatoptions=l :set lbr ซึ่งรับข้อความนี้ (แท็บแสดงเป็น \ t): *Inside of window *Outside of window |---------------------------------------| |\t\tthis is a like of text that will wr|ap here |\t\tcan you see the wrap | | | |---------------------------------------| สิ่งนี้ทำให้เกิดพฤติกรรมเช่นนี้ (แท็บแสดงเป็น \ t): *Inside of window *Outside of window |---------------------------------------| |\t\tthis is a …
92 vim  word-wrap 

6
แมป Ctrl + A และ Ctrl + Shift + A ต่างกันอย่างไร?
ในเทอร์มินัลเราไม่สามารถแยกแยะCtrl+ AและCtrl+ Shift+ ได้Aเนื่องจากทั้งคู่ปล่อยรหัสคีย์เดียวกันดังนั้นฉันจึงเห็นว่าทำไม Vim ถึงทำไม่ได้ แต่ gVim ซึ่งเป็นแอปพลิเคชัน X สามารถแยกความแตกต่างCtrl+ AและCtrl+ Shift+ Aได้ มีวิธีใดบ้างที่จะทำแผนที่สองสิ่งนี้แตกต่างกัน? สำหรับผู้เริ่มต้นฉันต้องการทำสิ่งต่อไปนี้: ให้ "วางจากคลิปบอร์ด" ทำงานเหมือนเทอร์มินัล Gnome ในขณะที่เก็บCtrl+ Vไปที่โหมดภาพ :nmap <C-S-V> "+gP
92 vim  key-bindings 

11
VIM Super Fast Navigation
สิ่งเดียวที่ฉันพลาดเกี่ยวกับการใช้โปรแกรมแก้ไขอื่น ๆ คือการค้นหาตำแหน่งของฉันด้วยเมาส์ ฉันสามารถมองไปยังพื้นที่เฉพาะบนไฟล์ด้วยการเคลื่อนไหวของเมาส์และคลิกฉันก็อยู่ที่นั่น ด้วย VIM ฉันต้อง jjjjjkkkkkkjjjjhhhh ... เกือบจะมีแล้วโอ้อึฉันพลาด 3 ตัวอักษร lll ฉันกำลังเรียนรู้ที่จะทำเครื่องหมายและฉันพบปลั๊กอินบุ๊กมาร์กที่ยอดเยี่ยมฉันสามารถสร้างเครื่องหมายและทำลายมันด้วย<f3>และนำทางไปยังเครื่องหมายเหล่านั้นโดยขออภัยที่ลืมเครื่องหมายเมื่อไฟล์ถูกปิด คุณทั้งหมดนำทางไฟล์ได้อย่างไร? ฉันรู้ว่าฉันสามารถทำ 5j7k4j5h และอื่น ๆ ได้ แต่ต้องมีปลั๊กอินที่สามารถอ่านสายตาของฉันและวางเคอร์เซอร์ในที่ที่ฉันต้องการจริงๆ .. ฉันยังได้เรียนรู้การใช้ /% เพื่อค้นหาคำที่ต้องการ มันช่วยได้ แต่อักขระที่ตรงกันทั้งหมดจะถูกเน้นผ่านเอกสาร
92 vim  navigation 

7
การเยื้องไม่ถูกต้องเมื่อแก้ไข Yaml ใน Vim
ดูเหมือนว่ากลุ่มจะไม่ตอบสนองอย่างถูกต้องที่สัญลักษณ์ขีดในไฟล์ YAML ดังนั้นจึงทำลายรูปแบบ ตัวอย่างเช่นฉันมีบล็อกที่ควรมีลักษณะดังนี้: handlers: - name: restart exim4 service: name=exim4 state=restarted เมื่อฉันพิมพ์เสร็จrestart exim4และพิมพ์service:Vim reindents serviceบรรทัดสุดท้ายของฉัน: handlers: - name: restart exim4 service: name=exim4 state=restarted เห็นได้ชัดว่า Vim พยายามจัดแนวประโยคให้เป็นคอลัมน์แต่นั่นไม่ใช่สิ่งที่จำเป็นใน YAML ฉันต้องการสร้างอาร์เรย์ที่มีสองค่า จะแก้ไขได้อย่างไร?
92 vim  yaml 

7
ฉันจะแทรกข้อความตรงกลางบรรทัดเป็นหลายบรรทัดใน Vim ได้อย่างไร
สมมติว่าฉันมีสิบบรรทัดและต้องการนำหน้าข้อความไปยังคำที่อยู่ในบรรทัดเหล่านั้นหรือไม่? ไม่จำเป็นต้องอยู่ที่จุดเริ่มต้นของบรรทัด จาก: sdfsd foo sdfsd sfsd foo fsdf sdfsdf foo sdfsdf ถึง: sdfsd bar(foo sdfsd sfsd bar(foo fsdf sdfsdf bar(foo sdfsdf เป็นไปได้หรือไม่ที่จะไม่เพียงbar(แต่นำหน้า แต่ล้อมรอบfooด้วยbar(foo)? ฉันต้องการวิธีที่รวดเร็วในการต่อท้าย//ความคิดเห็นในหลาย ๆ บรรทัด (ความคิดเห็นแบบ C) ฉันใช้ Vim / GVim 7.2
91 vim  vi 

6
ฉันจะเปลี่ยนเส้นไฮไลต์ Vim ไม่ให้เป็นขีดเส้นใต้ได้อย่างไร
ในบางสีธีมบรรทัดปัจจุบันที่เน้นการเปลี่ยนแปลงพื้นหลังในส่วนอื่น ๆ เช่น Desert บรรทัดปัจจุบันจะขีดเส้นใต้ ฉันต้องการเปลี่ยนการไฮไลต์บรรทัดปัจจุบันใน Desert เพื่อใช้สีพื้นหลังอื่นแทนการขีดเส้นใต้ ฉันจะทำเช่นนั้นได้อย่างไร? ของฉัน.vimrc: set cursorline highlight Cursorline cterm=bold อัปเดต: .vimrcช่วยแก้ปัญหาได้ colorscheme desert set cursorline hi CursorLine term=bold cterm=bold guibg=Grey40
91 vim 



15
การนำทางไฟล์ Vim
ฉันพยายามอย่างหนักที่จะเรียนรู้กลุ่มหลังจากใช้ TextMate ในช่วงสองสามปีที่ผ่านมา ฉันเริ่มส่งการนำทางในไฟล์ไปยังหน่วยความจำ แต่ฉันกำลังดิ้นรนกับการนำทางระหว่างไฟล์หลาย ๆ ไฟล์ ในเวิร์กโฟลว์ของฉันเป็นเรื่องปกติที่ฉันจะสลับไปมาระหว่างไฟล์จำนวนหนึ่งค่อนข้างสม่ำเสมอ (ไฟล์ที่มากพอที่ทำให้หน้าต่างแบ่งบานหน้าต่างเล็กเกินไป) ฉันกำลังใช้ NERDTree แต่พบว่าการเจาะลึกลงไปในไดเร็กทอรีที่ยุ่งยากรวมถึงการใช้CTRL+ W h/ CTRL+ W lเพื่อกระโดดไปมา ฉันคิดว่าฉันจะทำได้ดีกว่าเมื่อใช้แท็บที่ฉันสามารถสลับไปมาได้อย่างง่ายดาย แต่บางทีฉันอาจต้องใช้เวิร์กโฟลว์อื่น ฉันต้องการทางลัด "ไปที่ไฟล์ ... " เช่นCMD+ Tใน TextMate ฉันพบแล้วfuzzy_file_finderแต่ต้องสร้างกลุ่มด้วยการผูก Ruby ซึ่งไม่ใช่กรณีการติดตั้งแบบเนทีฟที่ฉันเคยทำ ในขณะที่ฉันสามารถสร้างใหม่ได้เหตุผลหลักที่ฉันต้องการเปลี่ยนเป็นกลุ่มคือดังนั้นฉันจึงสามารถมีสภาพแวดล้อมตัวแก้ไขที่ฉันรู้ว่าจะทำงานบนทุกแพลตฟอร์มได้อย่างง่ายดาย ตัวเลือกต่างๆมีความคิดที่น่าชื่นชมมาก!
91 vim  editor  navigation 

10
วิธีที่ดีที่สุดในการแทรกเวลาในกลุ่ม?
EditPad Lite มีคุณสมบัติที่ดี ( CTRL- E, CTRL- I) ซึ่งแทรกการประทับเวลาเช่น "2008-09-11 10:34:53" ลงในรหัสของคุณ วิธีที่ดีที่สุดในการรับฟังก์ชันนี้ใน Vim คืออะไร? (ฉันใช้ Vim 6.1 บนเซิร์ฟเวอร์ Linux ผ่าน SSH ในสถานการณ์ปัจจุบันพวกเราหลายคนแชร์ล็อกอินดังนั้นฉันจึงไม่ต้องการสร้างตัวย่อในโฮมไดเร็กทอรีหากมีวิธีอื่นในการรับการประทับเวลา )
90 vim  vi 

11
เลื่อนเข้าไปใน Vim ใน Terminal ของ Mac
ฉันพยายามที่จะลองคิดดูว่าเป็นไปได้หรือไม่ที่จะใช้ล้อเลื่อนของเมาส์เพื่อเลื่อนในขณะที่อยู่ในVimใน Terminal ของ Mac โดยไม่มีโชค ดูเหมือนว่ามีเพียงX11หรือ iTerm เท่านั้นที่รองรับสิ่งนี้ ก่อนที่ฉันจะยอมแพ้ฉันคิดว่าฉันจะลองใช้อัจฉริยะที่นี่เพื่อดูว่ามีใครรู้วิธีทำสิ่งนี้บ้าง มีใครรู้บ้างว่าฉันตั้งค่าได้ไหม หรือฉันควรพิจารณาใช้แอปพลิเคชันเทอร์มินัลอื่นอย่างจริงจัง
89 macos  vim  terminal 

6
ตรวจสอบว่าคีย์ถูกผูกไว้กับบางสิ่งในกลุ่มหรือไม่
ฉันต้องการทราบว่ามีวิธีพิจารณาว่าคีย์ทำอะไรเป็นกลุ่มหรือไม่ ฉันรู้ว่าฉันสามารถใช้:mapเพื่อดูการแมปที่ผู้ใช้กำหนดได้ แต่มีบางอย่างสำหรับสิ่งต่างๆในตัวหรือไม่ ตัวอย่างเช่นฉันเคยCTRL- Wผูกไว้เพื่อปิดแท็บเพราะฉันคิดว่ามันไม่ได้ใช้ หลังจากผ่านไปครึ่งปีฉันพบว่ามีลำดับบางอย่างที่ใช้มันเช่นCTRL- W CTRL- Sเพื่อแบ่งหน้าต่างและมันเป็นฝันร้ายที่ต้องฝึกฝนตัวเองใหม่
89 vim  key-bindings 

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