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

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

4
รับค่าปัจจุบันของการตั้งค่าในกลุ่ม
มีวิธีง่ายๆในการหาค่าปัจจุบันของการตั้งค่า Vim ที่ระบุหรือไม่? หากฉันต้องการทราบมูลค่าปัจจุบันของพูดว่าtabstopฉันสามารถเรียกใช้: :set tabstop โดยไม่ต้องผ่านการโต้แย้งและเป็นกลุ่มจะบอกฉันมูลค่าปัจจุบัน นี่เป็นเรื่องปกติสำหรับการตั้งค่าหลายอย่าง แต่ไม่ดีสำหรับผู้ที่เป็นจริงหรือเท็จ ตัวอย่างเช่นถ้าฉันต้องการหามูลค่าปัจจุบันของexpandtabวิ่ง: :set expandtab expandtabจริงจะช่วยให้ ฉันแค่อยากรู้ว่ามันเปิดใช้งานหรือไม่ ประเภทนี้ทำในสิ่งที่ฉันต้องการ: :echo &l:expandtab แต่ดูเหมือนว่าค่อนข้างละเอียด มีวิธีที่เร็วกว่านี้ไหม
274 vim 

12
ลบ newline เป็นกลุ่ม
มีวิธีลบบรรทัดใหม่ที่ท้ายบรรทัดใน Vim หรือไม่ดังนั้นบรรทัดถัดไปจะถูกต่อท้ายบรรทัดปัจจุบันหรือไม่ ตัวอย่างเช่น: Evaluator<T>(): _bestPos(){ } ฉันต้องการที่จะนำทั้งหมดนี้ในบรรทัดเดียวโดยไม่ต้องคัดลอกเส้นและวางลงในบรรทัดก่อนหน้า ดูเหมือนว่าฉันควรจะสามารถวางเคอร์เซอร์ของฉันที่ส่วนท้ายของแต่ละบรรทัดกดปุ่มและมีบรรทัดถัดไปกระโดดขึ้นไปบนเดียวกับที่เคอร์เซอร์อยู่ ผลลัพธ์สุดท้าย: Evaluator<T>(): _bestPos(){ } เป็นไปได้ในกลุ่ม?
271 unix  vim  shell  ssh  vi 

7
ฉันจะลบบรรทัดใน VIM อย่างรวดเร็วเริ่มต้นที่ตำแหน่งเคอร์เซอร์ได้อย่างไร
ฉันต้องการที่จะลบส่วนที่เหลือของบรรทัดที่ฉันเริ่มต้นที่ตำแหน่งเคอร์เซอร์ใน VIM มีคำสั่งที่ง่ายในการทำเช่นนี้หรือไม่? เพื่อช่วยอธิบายนี่คือก่อนคำสั่ง The quick brown dog jumps over the lazy fox. ^ |----- Cursor is here. นี่คือหลังจากคำสั่ง The q ^ |----- Cursor is here.
267 vim 

7
เป็นกลุ่มสำหรับ Windows - ฉันจะพิมพ์อะไรเพื่อบันทึกและออกจากไฟล์?
ใช้ Windows XP ฉันพิมพ์โดยไม่ได้ตั้งใจgit commit -aแทนgit commit -am "My commit message"และตอนนี้ฉันกำลังดูพรอมต์ CMD ของฉันซึ่งเต็มไปด้วยเวอร์ชันไฟล์ของข้อความส่งข้อความของฉัน ("โปรดป้อนข้อความยืนยันสำหรับคุณ ... ") ฉันได้เพิ่มข้อความของฉันไปด้านบนแล้ว แต่ตอนนี้ฉันไม่สามารถทราบวิธีการบันทึกและออก ฉันพยายามกดCtrl+W + Qแต่มันไม่ทำอะไรเลย แต่เพิ่ม^ที่เคอร์เซอร์อยู่ ฉันยังพยายามEscแรกแล้วCtrl+ W+ แต่มันบอกว่าQNo write since last change (add ! to override)


7
ในกลุ่มฉันจะกลับไปยังที่ที่ฉันเคยค้นหาก่อนได้อย่างไร
การเขียนโปรแกรมเป็นกลุ่มฉันมักจะค้นหาบางสิ่งบางอย่างงัดแงะจากนั้นกลับไปยังที่ที่ฉันใส่ดัดแปลงแก้ไข ปัญหาคือหลังจากที่ฉันค้นหาและค้นหาฉันต้องด้วยตนเองหาทางกลับไปยังที่ที่ฉันเป็น มีวิธีอัตโนมัติในการกลับไปยังตำแหน่งที่ฉันเคยเป็นเมื่อฉันเริ่มการค้นหาครั้งล่าสุดหรือไม่?
258 vim  vi 

12
วิธีการเรียกใช้ mvim (MacVim) จาก Terminal
ฉันติดตั้ง MacVim แล้วและฉันพยายามตั้งค่าเป็นตัวแก้ไขสำหรับ Git (การควบคุมเวอร์ชัน) แต่ฉันไม่สามารถเรียกใช้ 'mvim' จากบรรทัดคำสั่งได้เนื่องจากไม่รู้จัก ฉันจะติดตั้ง mvim เพื่อให้สามารถเรียกใช้จาก Terminal ได้อย่างไร

11
ปิดไฟล์โดยไม่เลิกสมัคร VIM หรือไม่
ฉันใช้คำสั่ง:eและ:wเพื่อแก้ไขและเขียนไฟล์ ฉันไม่แน่ใจว่ามีคำสั่ง "ปิด" เพื่อปิดไฟล์ปัจจุบันโดยไม่ทิ้ง Vim หรือไม่? ฉันรู้ว่า:qสามารถใช้คำสั่งเพื่อปิดไฟล์ได้ แต่ถ้าเป็นไฟล์สุดท้าย Vim ก็จะปิดเช่นกัน จริง ๆ แล้วใน Mac OS MacVim จะปิด มีเพียงหน้าต่าง Vim เท่านั้นที่ปิดและฉันสามารถใช้Control- Nเพื่อเปิดหน้าต่าง Vim เปล่าอีกครั้ง ฉันต้องการให้ Vim เปิดอยู่ด้วยหน้าจอว่างเปล่า
258 vim 

11
การเติมข้อความอัตโนมัติใน Vim
หลังจากการฝึกฝนมาเป็นเวลานานฉันก็เปลี่ยนมาเป็นกลุ่มในที่สุด แต่ฉันมีปัญหากับการเติมข้อความอัตโนมัติ ฉันจะมีข้อเสนอแนะรหัสในขณะที่ฉันพิมพ์ได้อย่างไร ฉันมักจะพัฒนา PHP, Ruby, HTML, C และ CSS
258 vim  autocomplete  macvim 

7
การเติมข้อความอัตโนมัติใน Vim
สั้นฉันกำลังค้นหาคุณสมบัติการเติมข้อความอัตโนมัติที่ใช้งานได้สำหรับเครื่องมือแก้ไข Vim ฉันได้ถกเถียงกันมาก่อนว่า Vim แทนที่ IDE ภายใต้ Linux อย่างสมบูรณ์และแม้ว่ามันจะเป็นจริง แต่ก็ไม่มีคุณสมบัติที่สำคัญอย่างใดอย่างหนึ่ง: การเติมข้อความอัตโนมัติ ฉันรู้เกี่ยวกับCtrl+ N, บูรณาการเจริญงอกงาม ctags , Taglist , cppcompleteและOmniCppComplete อนิจจาสิ่งเหล่านี้ไม่ตรงกับคำอธิบายของฉันเกี่ยวกับ“ การเติมข้อความอัตโนมัติที่ทำงาน:” Ctrl+Nทำงานอย่าง (เท่านั้น) ถ้าคุณได้ forgotton วิธีการสะกดหรือclass whileโอ้ดี Ctagsให้ความรู้พื้นฐานแก่คุณ แต่มีข้อเสียมากมาย Taglistเป็นเพียงเสื้อคลุม Ctags และเป็นเช่นนั้นสืบทอดส่วนใหญ่ของข้อเสีย (แม้ว่ามันจะทำงานได้ดีสำหรับการประกาศรายการ ) cppcompleteใช้งานไม่ได้ตามที่สัญญาและฉันไม่สามารถเข้าใจได้ว่าฉันทำอะไรผิดหรือหาก "ทำงาน" ถูกต้องและข้อ จำกัด นั้นเกิดจากการออกแบบ OmniCppCompleteดูเหมือนจะมีปัญหาเช่นเดียวกับ cppcomplete เช่นการเติมข้อมูลอัตโนมัติไม่ทำงานอย่างถูกต้อง นอกจากนี้tagsไฟล์จะต้องได้รับการอัพเดตอีกครั้งด้วยตนเอง ฉันตระหนักถึงความจริงที่ว่าแม้แต่ IDE ที่ทันสมัยและเต็มไปด้วยลมหายใจนั้นก็ไม่ได้นำเสนอโค้ด C ++ ที่สมบูรณ์ นั่นเป็นเหตุผลที่ฉันยอมรับการขาด …
257 c++  vim  ide  autocomplete 

10
วิธีการหยุดการแบ่งบรรทัดในกลุ่ม
ฉันชอบที่จะแสดงเส้นยาวมากกว่ามากกว่าหนึ่งบรรทัด terminal; ฉันไม่ชอบกลุ่มที่แทรกบรรทัดใหม่ในข้อความจริงของฉัน ส่วนไหนของ. vimrc ที่ฉันควรเปลี่ยน?
257 vim 


18
คัดลอกและวางเนื้อหาจากไฟล์หนึ่งไปยังไฟล์อื่นใน vi
ฉันกำลังทำงานกับสองไฟล์และฉันต้องการคัดลอกสองสามบรรทัดจากไฟล์หนึ่งและวางลงในไฟล์อื่น ฉันรู้วิธีคัดลอก (yy) และวาง (p) ในไฟล์เดียวกัน แต่นั่นไม่ได้ผลกับไฟล์ที่แตกต่างกัน สิ่งนี้ทำได้อย่างไร นอกจากนี้ยังมีวิธีการตัดแปะด้วยหรือไม่? ฉันลองใช้ Google แล้ว แต่ทรัพยากรส่วนใหญ่พูดคุยเกี่ยวกับการคัดลอกวางเท่านั้น
256 vim  copy-paste  vi  cut 

5
ทำไมต้องขึ้นบรรทัดใหม่สำหรับ Vim
จากคำถามจะแทนที่อักขระสำหรับบรรทัดใหม่ใน Vim ได้อย่างไร . คุณต้องใช้ \ r เมื่อแทนที่ข้อความสำหรับการขึ้นบรรทัดใหม่เช่นนี้ :%s/%/\r/g แต่เมื่อแทนที่บรรทัดและบรรทัดใหม่สำหรับอักขระคุณสามารถทำสิ่งต่อไปนี้: :%s/\n/%/g ส่วนใดของเอกสารคู่มือพฤติกรรมเหล่านี้และเหตุผลที่อยู่เบื้องหลังพวกเขาคืออะไร
254 vim 

4
Vim: เลื่อนเคอร์เซอร์ไปที่ตำแหน่งสุดท้าย
เป็นไปได้ไหมใน (g) Vim เพื่อเลื่อนเคอร์เซอร์ไปยังตำแหน่งก่อนหน้า (ขณะอยู่ในโหมดปกติ)? สิ่งที่จะวนกลับไปกลับมาในรายการตำแหน่งเคอร์เซอร์ก่อนหน้านั้นน่าจะเหมาะที่สุด แต่เพียงเพื่อเปลี่ยนไปยังตำแหน่งสุดท้ายจะพอเพียง (เช่นcd -ทุบตีกับไดเรกทอรี) นี่เป็นการสาธิตเล็กน้อย: line |1| <- cursor position line 2 line 3 line 4 และสมมติว่าฉันทำ2jนี่คือวิธีตอนนี้: line 1 line 2 line |3| <- cursor position line 4 ตอนนี้ฉันต้องการกดบางสิ่ง ( 2kอย่างชัดเจน) เพื่อเลื่อนกลับไปที่ตำแหน่งแรกและอาจเป็นตำแหน่งก่อนหน้า
252 vim 

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