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

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

2
เขียนไฟล์เป็นกลุ่มผู้ใช้ super?
นี่เป็นปัญหาการใช้งานที่เกิดขึ้นกับฉันบ่อยครั้ง: ฉันเปิดไฟล์ระบบแบบอ่านอย่างเดียวที่มีเสียงเรียกเข้าแม้กระทั่งแก้ไขเพราะฉันไม่ใส่ใจพอหรือเพราะเสียงในระบบมีการกำหนดค่าไม่ดี เมื่อการเปลี่ยนแปลงของฉันเสร็จสิ้นฉันก็ยังคงต้องเขียนมันในไฟล์ชั่วคราวหรือทำมันหายเพราะ: w! จะไม่ทำงาน มีคำสั่ง vim (: W !!!) ที่อนุญาตให้คุณเขียนบัฟเฟอร์ปัจจุบันในฐานะผู้ใช้ระดับสูงหรือไม่? (กลุ่มจะขอรหัสผ่าน sudo หรือ su ของคุณตามธรรมชาติ)
10 vim 

5
ฉันจะลบบรรทัดถัดไปเป็นกลุ่มได้อย่างไร
ใน emacs เมื่อใดก็ตามที่ฉันต้องการลบข้อความสองสามบรรทัดฉันก็แค่ใช้ Ck จนกว่าข้อความทั้งหมดจะหายไป อย่างไรก็ตามในกลุ่มดูเหมือนว่าจะซับซ้อนกว่าเล็กน้อย ฉันรู้ว่าฉันสามารถทำได้d$เพื่อลบจนกว่าจะสิ้นสุดของบรรทัดและddลบทั้งบรรทัดที่ฉันเปิดอยู่ แต่ฉันจะลบบรรทัดถัดไปทั้งหมดได้อย่างไร

6
มีโปรแกรมประมวลผลคำคล้าย Vim หรือไม่?
ฉันรู้ว่า Vim ทำให้งานพื้นฐานมีประสิทธิภาพมาก (การตัดการลบการวาง ... ) ฉันชอบที่จะมีคุณสมบัติเหล่านั้นในโปรแกรมประมวลผลคำ ไม่มีใครรู้บ้าง (ฉันชอบโอเพ่นซอร์ส)

4
VIM และ putty - ปัญหาเมาส์
ฉันไม่ค่อยมีประสบการณ์ใน VIM ฉันใช้ VIM กับผงสำหรับอุดรูและฉันมักจะใช้การเลื่อนเมาส์และย้ายเคอร์เซอร์ข้อความด้วยเมาส์ บางครั้งฉันจำเป็นต้องวางโค้ดบางส่วนจากคลิปบอร์ดของ windows ดังนั้นฉันต้องพิมพ์ ": set mouse =" เพื่อปิดการจัดการเมาส์ใน VIM วางโค้ดด้วยปุ่มเมาส์ขวาแล้วเปิดการจัดการเมาส์อีกครั้งด้วย ": set mouse = a" ฉันกำลังมองหาวิธีที่ดีกว่าที่จะทำ
10 mouse  vim  putty 

2
พิมพ์ (ถอดรหัส) ไฟล์ที่เข้ารหัสเป็นกลุ่ม
ฉันใช้-xตัวเลือกในกลุ่มเพื่อเข้ารหัสไฟล์ ฉันอ่านไฟล์นี้บ่อยกว่าที่เขียนไว้ดังนั้นฉันมักจะใช้ cat แล้วจำไว้ว่ามันถูกเข้ารหัสเพราะสิ่งที่มันแสดง .. ดังนั้นฉันต้องใช้เป็นกลุ่มใส่รหัสผ่านแล้วออกจากการใช้:q.. มีวิธีการใช้ cat (หรือคำสั่งอื่นแน่นอนผ่านรหัสผ่านของฉันที่ไหนสักแห่ง) และเพียงแค่พิมพ์ / รับเนื้อหา? หรืออาจจะมีเพียงตัวเลือกเป็นกลุ่มที่พิมพ์เฉพาะเนื้อหาโดยไม่ต้องเข้าสู่โปรแกรมแก้ไข?

5
แถบเลื่อนสำหรับกลุ่ม (เป็นกลุ่มที่ใช้ curses ไม่ใช่ gvim)?
ในฐานะผู้ใช้ลีนุกซ์ฉันรู้สึกสบายใจกับเครื่องมือของ CLI และ TUI แต่ฉันคิดถึงแถบเลื่อนเล็ก ๆ ในโปรแกรม GUI เกือบทุกโปรแกรม มันง่ายกว่าสำหรับฉันที่จะรู้ว่าไฟล์อยู่นานแค่ไหนและฉันอยู่ที่ไหนจากแถบเลื่อนแทน "9752 บรรทัด 24%" สิ่งที่ฉันคาดหวังคือแถบเลื่อน ASCII ที่ดูเหมือนว่า | | | | # # # | | | และฉันสามารถกำหนดค่าให้ปรากฏบนด้านซ้ายหรือขวา (และถ้าด้านซ้ายตำแหน่งสัมพัทธ์กับหมายเลขบรรทัดและเครื่องหมายรอยพับ) มีปลั๊กอิน Vim ให้ทำหรือไม่ฉันจะเขียนเองได้ไหม? เฟรมเวิร์กปลั๊กอินของ Vim ไม่สนับสนุนการปรับเปลี่ยน UI ดังกล่าวโดยตรง
10 vim  scrollbar 

1
การกำหนดค่าปุ่มฟังก์ชันใน PuTTY สำหรับทั้ง Vim และ Midnight Commander ภายใต้ tmux?
ก่อนอื่นฉันทราบว่าฉันสามารถใช้Alt+ 1(ถึง 9 และ 0) เพื่อสังเคราะห์คีย์ฟังก์ชั่นตามลำดับ ( F1ผ่านF10) ใน Midnight Commander มันช่วยฉันได้หลายครั้ง แต่โดยปกติฉันยังกดปุ่มฟังก์ชั่นจริงๆ สรุปสาระสำคัญ: ฉันกำลังพยายามเรียกใช้ทั้ง Vim และ Midnight Commander ภายในtmuxเซสชัน (บางครั้งหน้าต่างบางครั้งบานหน้าต่าง) โดยใช้ PuTTY ดังนั้นโดยปกติฉันมีการกำหนดค่า PuTTY ต่อไปนี้: ด้วยESC[n~การทำแผนที่ ปัญหาตอนนี้เมื่อการแมป ( map <F1> :tab help<CR>และยังnmapและimap) F1ในกลุ่มคือว่ามันให้ผลของ~(กรณีสลับ) และถ้าฉันกดF1เข้าไปF5ในเปลือกหอยตัวหนอน ( ~) คือผลลัพธ์พร้อมกับกระดิ่ง ปุ่มฟังก์ชั่นทำงานได้อย่างสมบูรณ์แบบใน Midnight Commander แม้ว่าใช้การตั้งค่านี้ มีสิ่งหนึ่งที่แปลกเกี่ยวกับการตั้งค่าข้างต้นนอกเหนือจากปัญหาของฉันด้วยF1: ฉันยัง "แมป" F5( set pastetoggle=<F5>) ในกลุ่ม แปลกพอที่ใช้งานได้เหมือนมีเสน่ห์ถึงแม้ว่าF5ปุ่มบนเปลือกจะให้ความ~รู้สึกเหมือนF1ฯลฯ …

3
ฉันจะให้ Syntastic รู้จักไวยากรณ์ของ Ruby ที่ใหม่กว่าได้อย่างไร
ฉันใช้ Syntastic เป็นกลุ่มและจะเน้นไวยากรณ์ของ Ruby ที่ใหม่กว่าเป็นข้อผิดพลาด ตัวอย่างเช่นถ้าฉันใช้อาร์กิวเมนต์คำหลักที่ต้องการ (แนะนำใน Ruby 2.1) เช่นนี้: def distance(from:, to:) # whatever end ... มันเน้นบรรทัดคำจำกัดความและบอกว่า "ไม่คาดหวัง", "" ฉันจะทำให้การรับรู้นี้เป็นไวยากรณ์ทับทิมที่ถูกต้องได้อย่างไร ~/.vim/syntax/ruby.vimผมได้ปรับปรุงแล้ว
10 vim  ruby 

2
ฉันจะแมป <cmd> - <shift> -f เพื่อเรียกใช้ปลั๊กอิน Ack ในกลุ่มได้อย่างไร
ฉันใหม่เพื่อกลุ่มและฉันพยายามแมปคำสั่งผสมที่สำคัญสำหรับการเรียกใช้ปลั๊กอิน Ack ที่นี่: https://github.com/mileszs/ack.vim ฉันต้องการที่จะ map เพื่อเรียกใช้คำสั่งcmd-shift-f Ack :Ackฉันได้เพิ่มสิ่งต่อไปนี้ลงใน~/.vimrc nmap &lt;D-F&gt; :Ack&lt;space&gt; มันไม่ทำงาน ผมทำอะไรผิดหรือเปล่า? ฉันใช้กลุ่ม 7.3 ใน iTerm 2 บน MacOS X

1
การวางเป็นกลุ่มจาก GUI ทำให้เกิดบรรทัดที่หายไป
เมื่อฉันคัดลอกข้อความจากแอป OS X GUI (เช่น Firefox) และวางลงในกลุ่มในเทอร์มินัลของฉันมักจะขาดสองสามบรรทัดแรกหรือตัวอักษรโดยไม่มีรูปแบบที่ชัดเจน สิ่งนี้อาจไม่เจาะจงเป็นกลุ่ม แต่ฉันเพิ่งทดสอบการวางลงในเทอร์มินัลเมื่อไม่ได้ใช้ vim - เช่นเมื่อใช้ bash shell - และไม่ได้รับปัญหา
10 macos  vim  terminal 

2
เป็นกลุ่ม:“ การจับคู่รั้ง” สำหรับภาษาที่ไม่มีเครื่องหมายวงเล็บหรือไม่? (Ruby, Python, ฯลฯ )
เป็นกลุ่มที่ดีในการเน้นวงเล็บปีกกาจับคู่ แต่เมื่อเร็ว ๆ นี้ผมทำงานในรูบีที่นิยามโดยทั่วไปวิธีการเริ่มต้นด้วยdoและจบลงด้วยการendแทนและ{ }ในทำนองเดียวกันifคำสั่งและcaseคำสั่งและอื่น ๆ ไม่ได้ใช้วงเล็บปีกกาเพียงคำหลัก มีใครมีการกำหนดค่าที่สามารถเน้นคำหลักที่ตรงกันเช่นนี้ตัวอย่างเช่นเมื่อฉันอยู่ให้endเน้นแถบdoที่เริ่มต้นบล็อกนั้นหรือไม่
10 vim  ruby 

4
Vi-Vim เช่นการควบคุมปุ่มลัดสำหรับ Windows
ฉันใช้ gVim มาระยะหนึ่งแล้วก็ชอบอินเตอร์เฟส ฉันหลงรัก skill-fu keyboard ของฉัน ฉันสงสัยว่ามีแอปพลิเคชั่นใดบ้างที่จะขยายการใช้งานไปยังทุกส่วนของ Windows 7? อย่างน้อยก็มีฟังก์ชั่นพื้นฐานบางอย่าง ฉันต้องการควบคุม Explorer เบราว์เซอร์และอื่น ๆ ฉันแค่ต้องการหยุดใช้เมาส์นองเลือดของฉัน มันไม่สนุกเลย ขอบคุณ

2
เติมข้อความอัตโนมัติของ vim: วิธีป้องกันไม่ให้ vim อ่านไฟล์บางไฟล์?
Vim มีปุ่ม Ctrl-N ที่มีประโยชน์ซึ่งจะเติมคำอัตโนมัติภายใต้เคอร์เซอร์ด้วยคำในไฟล์ปัจจุบันหรือไฟล์ใด ๆ ที่รวมอยู่ หากเมื่อฉันรวมไลบรารีการเพิ่มคุณสมบัตินี้จะไร้ประโยชน์อย่างแน่นอนเพราะต้องใช้เวลาหลายสิบวินาทีในการอ่านการเพิ่มทั้งหมดและฉันไม่ต้องการทำสิ่งใดที่กำหนดไว้ในการเพิ่ม ดังนั้นฉันจะบอกให้กลุ่มที่จะละเว้น / usr / include / boost directory เมื่อค้นหาไฟล์ include ได้อย่างไร โอ้ฉันจะตั้งค่าตัวเลือก 'รวม' เพื่อละเว้น #include &lt;boost /.*&gt; ได้อย่างไร
10 vim 

1
ตรงข้ามกับ: g ในกลุ่ม?
:gฉันรู้วิธีการทำอะไรบางอย่างกับสายที่ตรงกับรูปแบบที่ทุกคนใช้ มีวิธีทำบางอย่างกับทุกบรรทัดที่ไม่ตรงกับรูปแบบหรือไม่? ตัวอย่างเช่นสมมติว่าฉันต้องการลบทุกบรรทัดที่ไม่ตรงกับ / foo / ฉันอาจทำสิ่งที่ชอบ: :G/foo/d ( :Gไม่ตรงข้ามกับ:gแต่นั่นคือสิ่งที่ฉันกำลังมองหา) ความคิดใด ๆ
10 vim  regex 

10
$ PATH ใน Vim ไม่ตรงกับ Terminal
ฉันใช้ MacVim และเมื่อฉันไม่เปิดจาก Terminal ( mvim) $ PATH ของมันไม่รวมสิ่งที่ฉันตั้งไว้ใน. bash_profile ของฉัน ดูเหมือนว่าจะมีค่าเริ่มต้น/usr/bin:/bin:/usr/sbin:/sbinเท่านั้น ฉันใช้ OS X 10.5.8 แม้ว่าฉันจะสามารถตั้งค่าด้วยตนเองใน. vimrc ของฉันที่จะโอเคแม้ว่าฉันจะชอบที่จะดึงจากที่เดียวกับ Terminal ฉันได้ลองทำตามสิ่งที่แนะนำในไซต์เดียวแล้วเพิ่มlet $PATH += /blah/foo:/bar/etcให้เป็นประโยชน์ แก้ไข / แก้ไข:ดูคำตอบของฉันด้านล่าง MacVim มีตัวเลือกในการแก้ไขปัญหานี้

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