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

Vim เป็นตัวแก้ไขข้อความที่สามารถกำหนดค่าได้อย่างสูงซึ่งสร้างขึ้นเพื่อให้สามารถแก้ไขข้อความได้อย่างมีประสิทธิภาพ มันเป็นเวอร์ชันปรับปรุงของตัวแก้ไข vi

1
ฉันจะบอก vimdiff ให้ละเว้นช่องว่างได้อย่างไร
ฉันทำการเปลี่ยนแปลงจำนวนมากในไฟล์ที่ฉันกำลังทำงานรวมถึงการเปลี่ยนแปลงการเยื้อง ฉันใช้vimdiffเพื่อเปรียบเทียบไฟล์กับเวอร์ชันดั้งเดิมและฉันไม่ต้องการเห็นการเปลี่ยนแปลงเหล่านี้ ฉันvimdiffจะบอกให้ละเว้นช่องว่างระหว่างการเปรียบเทียบได้อย่างไร
15 vim  diff  whitespace 

3
การจัดรูปแบบตารางหลายรูปแบบใน Vim
ฉันเพิ่งย้ายจากการใช้ TextMate ไปใช้ Vim มากขึ้น (เพราะฉันแบ่งเวลาระหว่าง Mac และ Linux) สิ่งหนึ่งที่ฉันพลาดคือชุด MultiMarkdown ที่ยอดเยี่ยมซึ่งท่ามกลางคุณสมบัติอื่น ๆ ให้ฉันป้อนตารางในไวยากรณ์ MultiMarkdown แล้วปรับรูปแบบใหม่เพื่อให้ดูสวย ตัวอย่างเช่นนี้: | Heading 1 | Heading 2 | Heading 3 | | --: | -- | -- | | 1 | Some text | Some other text | | 2 | A somewhat longer …
15 vim  markdown 

1
การใช้ชุดรูปแบบสีกับเสียงเรียกเข้าและสีโป๊ว
ฉันกำลังพยายามใช้โครงร่างสีทะเลทรายกับ VIM 7.0 บน CentOS 5.6 x64 อยู่ที่นี่: http://hans.fugal.net/vim/colors/desert.vim ฉันดาวน์โหลดไฟล์และบันทึกไว้ใน~/.vim/colorsไดเรกทอรีของฉัน จากนั้นฉันก็บอกให้ VIM ใช้ชุดสีโดยออก: :colors desert มันควรจะเป็นแบบนี้: อย่างไรก็ตามฉันได้รับสิ่งนี้: ฉันเข้าสู่เซิร์ฟเวอร์นี้เหมือนผู้ใช้ทั่วไป (ไม่ใช่rootหรือsudo) โดยใช้ PuTTY 0.60 และตั้งค่าตัวเลือกต่อไปนี้ภายใต้Window -> Colours: อนุญาตให้เทอร์มินัลระบุ ANSI สี - ทำเครื่องหมาย อนุญาตให้เทอร์มินัลใช้โหมด 256 สี - ทำเครื่องหมายไว้ การทดสอบตัวหนาเป็นสีอื่น - ทำเครื่องหมายแล้ว พยายามใช้จานสีแบบลอจิคัล - ไม่ถูกตรวจสอบ ใช้สีของระบบ - ไม่ถูกตรวจสอบ ถ้าฉันsudoหรือเข้าสู่ระบบเป็นrootและลองเดียวกันฉันไม่ได้สีใด ๆ เลยนอกจากข้อความสีขาวบนพื้นหลังสีดำ โครงร่างเหล่านี้มีจุดประสงค์หลักที่ gVIM และ …
15 vim  centos  colors  putty 

3
วิธีการเปิดไฟล์ในกลุ่มโดยใช้ไพพ์
ฉันได้ใช้locateคำสั่งบ่อยมาก ดังนั้นถ้าฉันรันคำสั่งต่อไปนี้ locate updatedb | head -1 จากนั้นมันทำให้ฉัน O/p /usr/updatedb.conf ฉันสงสัยว่ามีคำสั่งใด ๆ ที่ให้ฉันเปิดไฟล์นั้นโดยตรงหรือไม่? ฉันหวังว่าจะมีอะไรเช่นนี้ locate updatedb | head -1 | vim
15 linux  bash  vim  pipe  locate 

4
vim: ทำต่อแมโครหลังจากเกิดข้อผิดพลาดใน submacro หรือไม่
ฉันกำลังดำเนินการตกแต่งซอร์สโค้ดบางส่วนโดยใช้ vim {1} ฉันได้สร้างมาโครมาโครสองตัวที่ทำตามแต่ละขั้นตอน: ลบ whilespace ต่อท้าย, ลบบรรทัดว่างหลังจาก{, ลบบรรทัดว่างก่อนหน้า{, สิ่งนั้น ตอนนี้ฉันต้องการสร้างแมโครที่เรียกใช้แมโครแต่ละตัวตามลำดับ อย่างไรก็ตามเมื่อแมโครแบบเรียกซ้ำตัวแรกสิ้นสุดลง (เนื่องจากไม่สามารถหาข้อผิดพลาดการจับคู่ -> การจับคู่อีกต่อไปได้) มาโคร "wrapper" ของฉันก็จะยุติเช่นกัน มีวิธีทำให้แมโครเป็นกลุ่มดำเนินต่อไปหลังจากที่ submacro สร้างข้อผิดพลาดหรือไม่ {1}ฉันรู้เกี่ยวกับการฟอร์แมตอัตโนมัติ ฉันอาจใช้มันกับปัญหาปัจจุบันของฉัน ฉันแค่กล่าวถึงการจัดรูปแบบแหล่งที่มาใหม่เพื่อประโยชน์ของตัวอย่าง อย่าโพสต์คำตอบใด ๆ เกี่ยวกับแหล่งที่มาสวยงามนี้หรือว่า คำถามไม่ได้เกี่ยวกับการจัดรูปแบบโค้ดต่อ seแต่เกี่ยวกับ vim macros ตัวอย่าง: มาโคร 1 - ตัดช่องว่างต่อท้าย - qw/\s\+$d$@wq มาโคร 2 - การลบบรรทัดว่างก่อน} - qe/\n\n *}dd@eq Wrapper Macro - แท็บใหม่, มาโคร …
15 vim  macros 

6
ไฮไลต์ข้อความค้นหาโดยไม่เลื่อนเคอร์เซอร์
บางครั้งฉันใช้ Vim ฉันพบว่าตัวเองจ้องไปที่ส่วนหนึ่งของซอร์สโค้ดชั่วขณะหนึ่งและต้องการให้ตัวแปรบางอย่างบนหน้าจอโผล่ออกมา ง่ายมาก/<var>ซึ่งเน้นให้พวกเขาทั้งหมด ปัญหาของฉันคือบ่อยครั้งกว่าการค้นหาจะเลื่อนหน้าต่างของฉันดังนั้นฉันจึงไม่ได้ดูซอร์สโค้ดจากที่เดียวกัน แม้ว่ามันจะเลื่อนไปเพียงไม่กี่บรรทัด แต่ก็ยังคงส่งฉันออกไปเนื่องจากฉันต้องใช้เวลาสองสามวินาทีเพื่อหาว่าสิ่งต่าง ๆ ย้ายไปที่ใด เป็นไปได้หรือไม่ที่จะเน้นข้อความค้นหาโดยไม่เลื่อนเคอร์เซอร์ไปที่การแข่งขันถัดไป

4
บันทึกการตั้งค่ากลุ่มในการเปิดตัว?
อาจารย์ของฉันมอบหมายบัญชี ssh ให้กับนักเรียนทุกคนในชั้นเรียนการเขียนโปรแกรมของฉันและได้รับคำสั่งว่าเราใช้ VIM สำหรับการแก้ไขข้อความ ฉันค้นพบ:set nuและ:set auto indentผ่าน Google ฉันสังเกตเห็นว่าการตั้งค่าทั้งสองนี้รีเซ็ตหลังจากเปิดตัวทุกครั้ง มีวิธีที่จะทำให้พวกเขายังคงอยู่ในบัญชีของฉันหรือไม่? แล้ว VIM บนเครื่องท้องถิ่นของฉันล่ะ
15 vim 

1
E464: การใช้คำสั่งที่ผู้ใช้กำหนดไม่ชัดเจน
เมื่อฉันพยายามที่จะไปที่จุดสิ้นสุดของไฟล์เป็นกลุ่มโดยทำ:Gฉันได้รับต่อไปนี้: E464: Ambiguous use of user-defined command ฉันไม่รู้ว่าทำไมพูดแบบนี้ ฉันจะดูรายการคำสั่งที่ผู้ใช้กำหนดและอาจลบได้อย่างไร
15 ubuntu  vim 

0
การคลิกเมาส์ใช้งานได้ครั้งเดียวกับ iterm2 / tmux / mosh
ฉันพยายามตั้งค่า iTerm2 + mosh + tmux เพื่อทำงานจากระยะไกล ฉันสามารถเชื่อมต่อทุกอย่างได้ แต่ด้วยเหตุผลบางอย่างการตอบสนองของเมาส์นั้นสนุกดี ถ้าฉันแบ่งหน้าต่าง tmux ของฉันดังนั้นฉันจึงมีสองบานหน้าต่างและคลิกเพื่อสลับระหว่างพวกเขาเป็นครั้งแรกที่ฉันทำสิ่งนี้ทุกอย่างจะถูกค้นหา ครั้งที่สองและหลังจากนั้นมันไม่ทำงานเลย ฉันไม่สามารถเลื่อนหรือทำสิ่งอื่นที่เกี่ยวข้องกับเมาส์ได้ สิ่งนี้จะเกิดขึ้นหลังจากฉันคลิก หากสิ่งที่ฉันทำคือเลื่อนในหน้าต่างทั้งสองไม่มีปัญหา ปัญหาไม่ได้เกิดขึ้นถ้าฉันใช้ SSH แทน mosh แต่ประเด็นทั้งหมดของความพยายามนี้คือเปลี่ยนไปใช้ mosh เต็มเวลา ปัญหายังไม่เกิดขึ้นถ้าฉันไม่ได้ใช้ tmux และมีหน้าต่างเป็นกลุ่มเดียว ฉันสามารถคลิกไปที่นั่นได้ทั้งวัน ไม่มีใครรู้ว่าการตั้งค่าอาจผิดหรือแม้กระทั่งที่จะเริ่ม? เห็นได้ชัดว่าเกี่ยวข้องกับ tmux แต่ฉันไม่สามารถค้นหาการตั้งค่าที่อาจทำให้เกิดปัญหา tmux.conf bind -n M-Left select-pane -L bind -n M-Right select-pane -R bind -n M-Up select-pane -U bind -n M-Down …
15 macos  vim  mouse  tmux  iterm2 

5
มีคำสั่งให้แบ่งบรรทัดใน Vim หรือไม่?
ในกลุ่มJคีย์จะรวมสองบรรทัดเข้าด้วยกัน มีการผสมคีย์ในตัวที่คล้ายคลึงกันเพื่อแยกบรรทัดด้วยการขึ้นบรรทัดใหม่ (ที่ตำแหน่งเคอร์เซอร์หรือคล้ายกัน) หรือไม่ อีกวิธีหนึ่งจะเป็นวิธีที่แข็งแกร่งที่สุดในการกำหนดชุดคีย์เพื่อทำสิ่งนั้น (ในโหมดปกติไม่ใช่โหมดแทรก)
15 vim  vi 

2
ในกลุ่มการเปลี่ยนแปลงสีพื้นหลังในการเลื่อน
บางครั้งฉันได้รับข้อผิดพลาดแปลก ๆ กับสีพื้นหลังเป็นกลุ่มเมื่อเลื่อนขึ้นเป็นไฟล์ยาว พื้นหลังเหนือข้อความถูกต้อง แต่ทุกที่ที่ไม่มีตัวอักษรที่พิมพ์ได้พื้นหลังเปลี่ยนเป็นสีดำ หลังจากการล่าสัตว์และทดลองฉันพบว่า: วาดใหม่! แก้ไขปัญหา แต่ฉันต้องการทราบสาเหตุที่เกิดขึ้นและหากมีสิ่งใดที่ฉันสามารถทำได้เพื่อแก้ไขปัญหาอย่างถาวร แม้ว่าฉันจะได้รับข้อผิดพลาดนี้เพื่อให้เกิดขึ้นกับชุดสีอื่น ๆ สำหรับสิ่งที่คุ้มค่าฉันกำลังใช้ชุดรูปแบบสี lucius กับ vim 7.3 การแก้ไขแฟ้มหลามพวง
14 vim  colors  vimrc 

2
ในกลุ่มฉันจะทำการแมปใหม่โดยไม่ต้องทำการแมปอีกด้วย <Ctrl + i> ได้อย่างไร
ฉันชอบที่จะใช้แท็บเพื่อข้ามระหว่าง windows ที่แยกดังนั้นฉันมีmap &lt;tab&gt; &lt;C-W&gt;&lt;C-W&gt;ใน. vimrc ของฉัน แต่ฉันสังเกตเห็นว่าสิ่งนี้ทำเพื่อให้ Ctrl + ฉันไม่ทำงานเป็น Ctrl + I อีกต่อไป แต่เป็น Ctrl + W, Ctrl + W ฉันจะทำการแมปใหม่&lt;tab&gt;ได้&lt;C-i&gt;อย่างไรแต่ไม่ใช่?
14 vim 


5
ฉันจะทดสอบปลั๊กอินได้อย่างไรและรวมเฉพาะเมื่อมีอยู่ใน. vimrc เท่านั้น
ในตัวฉัน.vimrcฉันกำลังพยายามใช้ftpluginและเห็นได้ชัดว่าใช้คำสั่งบางอย่างที่เกี่ยวข้องกับสิ่งนั้นภายใต้สมมติฐานที่ว่ามันถูกโหลดสำเร็จ อย่างไรก็ตามตอนนี้ฉันได้พบกับเครื่องจักรเก่า ๆ สองสามตัวที่ไม่มีปลั๊กอินติดตั้งอยู่ ฉันสามารถทำการโหลดปลั๊กอินแบบมีเงื่อนไขและเพิ่มfiletype onและคำสั่งที่คล้ายกันลงในบล็อกเงื่อนไขแบบเดียวกันได้หรือไม่? ฉันได้เห็นแล้วว่ามีเงื่อนไขสำหรับโทนสีและเวอร์ชัน Vim แต่ฉันไม่เห็นตัวอย่างที่จะตรวจสอบปลั๊กอิน (หรือจำไม่ได้) NB: อ่อนโยนฉันเป็นผู้เริ่มต้น VimScript
14 vim  vimrc 

4
ฉันจะแสดงชื่อไฟล์, การนับบรรทัด, และการนับจำนวนอักขระในกลุ่มได้อย่างไร
เมื่อคุณเปิดใช้ vim ด้วยครั้งแรกvim myfile.cที่ด้านล่างซ้ายของหน้าจอจะแสดงชื่อไฟล์ในเครื่องหมายคำพูดจำนวนบรรทัดแล้วนับจำนวนตัวอักษร มันหายไปในนาทีที่สิ่งอื่นต้องการอสังหาริมทรัพย์นั้น ฉันจะรับมันคืนได้อย่างไร ฉันรู้ว่า:echo @%คุณจะได้รับชื่อไฟล์ แต่นั่นก็เป็นเพียง 1/3 ของวิธีที่นั่น
14 vim 

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