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

vim (Vi IMproved) เป็นโปรแกรมแก้ไขข้อความที่รองรับโหมดการแก้ไขที่แตกต่างกัน

2
. vimrc สามารถแบ่งออกเป็นหลายไฟล์ได้หรือไม่?
สมมติว่าฉันมีการแมปซ้ำอีกหลายร้อยแบบที่กำหนดเองiabสำหรับ Java และการแมปอีกหนึ่งร้อยหรือมากกว่านั้นสำหรับ Haskell จากนั้นฉันต้องการแบ่งสิ่งเหล่านี้ออกเป็นไฟล์ต่าง ๆ เพื่อให้จัดการได้ง่ายขึ้น สิ่งที่ฉันกำลังมองหาคือการสร้างสิ่งนี้: ~/. ├── .vimrc └── .vim └── custom ├── java.vim └── haskell.vim ที่. vimrc อาจมีหน้าตาเป็นอย่างไร import java import haskell เป็นเช่นนี้เป็นไปได้ที่จะทำหรือฉันเพิ่งจะสรุปสิ่งต่าง ๆ ? ฉันเดาว่าสิ่งที่ฉันพยายามทำให้ได้คือสิ่งที่ LaTeX ทำด้วย\inputคำสั่ง ...
11 vim  vimrc 

4
ฉันจะทำให้เชลล์นามแฝงพร้อมใช้งานได้อย่างไรเมื่อ shelling จาก Vim
ในตัวฉัน.zshrcฉันประกาศนามแฝงบางอย่าง เช่นwhich dbstartแสดงเนื้อหาของนามแฝงนั้น ถ้าฉันเปิดเป็นกลุ่มจากเชลล์นั้นมันเป็นกระบวนการลูก :! some_commandในกลุ่มผมสามารถเรียกใช้คำสั่งเปลือก ถ้าฉันทำ:! echo $0เพื่อดูว่าเชลล์ Vim ใช้อะไรอยู่มันจะส่งเอาต์พุต '/ bin / zsh' อย่างไรก็ตามชื่อแทนของฉันไม่สามารถใช้งานได้ที่นั่น ฉันจะทำให้เชลล์ปกติของฉันพร้อมใช้งานได้อย่างไรเมื่อฉัน shell ออกจาก Vim สองความคิด: อย่างใดEXPORTนามแฝงจากเปลือกเดิมเพื่อกระบวนการของเด็กvimและอีกครั้งเพื่อดำเนินการเปลือกเด็ก กำหนดค่า Vim ให้อ่านของฉัน.zshrcเมื่อสร้าง subshells

3
เป็นกลุ่มสามารถแก้ไขไฟล์ระยะไกลเป็น root ได้หรือไม่?
ฉันพบคำถามนี้ที่อธิบายวิธีแก้ไขไฟล์ระยะไกลด้วย vim โดยใช้: vim scp://user@myserver[:port]//path/to/file.txt เป็นไปได้ไหมที่จะทำเช่นนี้เป็นรูท (ผ่านsudo) บนรีโมตโฮสต์ ฉันได้ลองสร้างไฟล์ด้วยการอนุญาตรูทบนรีโมตโฮสต์แล้วแก้ไขมันด้วยวิธีการข้างต้น เป็นกลุ่มสามารถดูเนื้อหาสามารถแก้ไขและสามารถบันทึกได้ แต่ไม่มีการเปลี่ยนแปลงใด ๆ ในรีโมตโฮสต์ (อาจเป็นเพราะ vim เพิ่งบันทึกไฟล์ temp ของมันแล้วมอบให้กับ scp เพื่อนำกลับมา?) เมื่อทำสิ่งนี้กับไฟล์ที่บันทึกโดยผู้ใช้ของฉันมันจะทำงานตามที่คาดไว้ SSH ของฉันใช้คีย์เพื่อตรวจสอบสิทธิ์และเซิร์ฟเวอร์ระยะไกลมี NOPASSWD สำหรับการเข้าถึง sudo ของฉัน คำถามนี้คล้ายกัน แต่คำตอบเดียวกับการลงคะแนนใช้หุ่นเชิดซึ่งไม่ใช่สิ่งที่ฉันต้องการใช้แน่นอน แก้ไข: เพื่อตอบสนองต่อความคิดเห็นของ @ drewbenn ด้านล่างนี่คือกระบวนการทั้งหมดของฉันสำหรับการแก้ไข: vim scp://nagios//tmp/notouch ในกรณีที่/tmp/notouchเป็นไฟล์ที่เป็นเจ้าของโดยรากผมดูการแสดงได้อย่างรวดเร็วเป็นกลุ่ม :!scp -q 'nagios:/tmp/notouch' '/tmp/vaHhwTl/0' สิ่งนี้จะหายไปโดยอัตโนมัติเพื่อให้หน้าจอสีดำที่มีข้อความว่างเปล่า "/tmp/vaHhwTl/0" 1L, 12C Press ENTER or type command …
10 vim  sudo  remote 

2
จะแสดงหมายเลขบรรทัดเป็นกลุ่มทางด้านขวาของบัฟเฟอร์ได้อย่างไร
ฉันมีset nuของฉัน.vimrcซึ่งแสดงหมายเลขบรรทัดที่ด้านซ้ายของบัฟเฟอร์ปัจจุบัน ฉันต้องการดูหมายเลขบรรทัดทางด้านขวา ทำอย่างไรจึงจะได้สิ่งนี้? UPDATE: สิ่งนี้ควรใช้ได้กับ set relativenumber
10 linux  vim 

2
ใน VIM ให้แทนที่พา ธ ด้วยสแลชโดยไม่ใช้ Escape slashes
ในกลุ่มฉันต้องการแทนที่เส้นทางที่ยาว/a/b/f/g/d/gกับอีกอัน/s/g/w/d/g/rในไฟล์ข้อความ ปกติฉันจะใช้\/แต่มีเครื่องหมายทับมากเกินไปที่นี่ มีวิธีที่ง่ายกว่านี้ไหม?

1
ความล่าช้าเล็กน้อยเมื่อใช้ Ctrl + C แต่เฉพาะในไฟล์ SQL
ฉันกำลังทำงานกับโครงการที่มีทั้งซอร์สไฟล์ JavaScript และ SQL เมื่อฉันแก้ไข JavaScript, Vim จะทำงานได้ตามปกติ อย่างไรก็ตามเมื่อฉันแก้ไขไฟล์ SQL มีความล่าช้าประมาณหนึ่งวินาทีระหว่างเมื่อฉันกดCtrlCและเมื่อ Vim ออกจากโหมดแทรก เมื่อฉันใช้ปุ่ม Escape หรือShiftEnterที่ฉันแมปใน~/.vimrcการทดสอบมันไม่แสดงความล่าช้า ฉันคิดว่าบางทีมันเป็นเรื่องเกี่ยวกับการเน้นไวยากรณ์ แต่เมื่อฉัน:syntax offพยายามลองแก้ไขมันความล่าช้าก็ยังปรากฏอยู่ ฉันยังลอง:setf textซึ่งยังไม่ได้ผล ฉันมีปลั๊กอินเพียงไม่กี่ตัวที่ติดตั้ง (CtrlP, NerdTree และปากกาเน้นข้อความสำหรับ Jade, Less และ CoffeeScript) ดังนั้นฉันจึงไม่คิดว่านั่นเป็นสิ่งที่รบกวน ไม่มีใครรู้ว่าเกิดอะไรขึ้น?
10 vim  gvim 

2
Vim - แม็พคำสั่งเชลล์สุดท้ายกับคีย์
มีวิธีการแมปผู้นำ -R เพื่อทำซ้ำคำสั่งสุดท้ายที่ส่งไปทุบตี? ตัวอย่างเช่นเมื่อทำงานกับไฟล์ C ฉันต้องการรวบรวมและเรียกใช้โปรแกรมจากกลุ่มโดยไม่ต้องพิมพ์:! make หรือ gcc ฉันรู้ว่าฉันสามารถผูกคำสั่งเฉพาะกับคีย์ แต่มันจะไม่ทำงานกับไฟล์ประเภทอื่น


3
เป็นกลุ่มที่กำหนดเองด้วยคำสั่ง emacs (โหมดแทรกเท่านั้น)
ฉันเป็นemacsผู้ใช้และฉันต้องเปลี่ยนไปvimใช้ แต่ฉันคิดถึงบางคำสั่ง emacs พื้นฐานในvimโหมดแทรก: C-A C-E C-K C-Y C-x C-s ... และอื่น ๆ ฉันรู้ว่าฉันสามารถกดEscapeแล้วกดปุ่มบางปุ่มต่อไปนี้และในที่สุดก็กดปุ่มi: ^ $ d$ p :w [Enter] ... แต่ฉันจะต้องการที่จะอยู่ในvimโหมดแทรกและหลีกเลี่ยงการกดEscape/ iปุ่ม บนเว็บที่ฉันได้พบการปรับแต่งสำหรับemacs( vi-mode, vip, viper, vimpulse, vim-mode, evil) แต่ยังไม่พบสิ่งที่ตรงกันข้าม: ปรับแต่งvimเพื่อใช้emacsคำสั่ง ... ฉันสนใจเกี่ยวกับemacsคำสั่งในvim โหมดแทรกเท่านั้น เพียงบางคำสั่งพื้นฐานเช่นbashคำสั่ง: C-A, C-E, C-K, C-Y, C-U... (ครับC-Uไม่ได้เป็นค่าเริ่มต้นemacsคำสั่ง แต่ผมชอบมันมากเกินไป)

2
วิธีการตั้งค่าบิตเรียกใช้งานสำหรับไฟล์เฉพาะโดยอัตโนมัติ
ฉันต้องการที่เมื่อฉันสร้างไฟล์เฉพาะสมมติว่าฉันสร้างในเครื่องมือแก้ไขเป็นกลุ่มไฟล์ที่สร้างควรได้รับอนุญาตปฏิบัติการเช่นกันเมื่อมันได้รับการสร้าง ฉันต้องการสิ่งนี้ในขณะที่ฉันกำลังสร้างไฟล์หลามและไม่ต้องการตั้งค่าการอนุญาตสำหรับไฟล์อย่างชัดเจนดังนั้นฉันต้องการวิธีที่จะให้บิตที่ใช้งานได้ถูกตั้งค่าทันทีที่ฉันสร้างไฟล์ที่มีนามสกุลเฉพาะหรือด้วยโปรแกรมแก้ไขเฉพาะ
10 shell  vim  editors 

3
วิธี `ค้นหา 'หลายไฟล์และเปิดในกลุ่ม?
สมมติว่าผมมีไฟล์ชื่อfilename123.txtและเป็นไฟล์เดียวที่มีชื่อเช่นนั้นและฉันสามารถกับคำสั่งlocate locate filename123และจะส่งคืนเฉพาะไฟล์นี้ ตอนนี้ผมต้องการที่จะเปิดมันด้วย/vi vimแต่ฉันไม่ต้องการไปที่ตำแหน่งนั้นและพิมพ์viคำสั่งตามด้วยชื่อไฟล์ ที่นี่ฉันต้องการผลลัพธ์locate filename123ที่จะผนวกเข้ากับคำสั่ง vi ฉันจะทำเช่นนั้นได้อย่างไร ฉันได้ลองแล้ว: locate filename123 | vi แต่มันไม่ได้ผล และข้อผิดพลาดนี้มาใน terminal: santosh@santosh:~$ locate filename123 | vi Vim: Warning: Input is not from a terminal Vim: Error reading input, exiting... Vim: Finished.

1
VIM - เปลี่ยนเวลารอสำหรับแผนที่คีย์ผสม
ใน VIM เมื่อฉันแม็พตัวอย่าง<F9><F10>กับคำสั่งและคำสั่ง<F9>อื่นมันจะรอ 1-2 วินาทีเมื่อฉันกด F9 เพื่ออนุญาตให้ฉันกด<F10>เพื่อเข้าถึงคำสั่งที่แม็พ<F9><F10>และถ้าฉันไม่กด<F10>มันจะเรียกใช้คำสั่งที่แม็พกับ<F9>. มีวิธีที่จะเปลี่ยนเวลารอคอยนี้หรือไม่?
10 vim 

1
ในกลุ่มวิธีการแมป“ คำสั่งด้านขวา” และ“ คำสั่งด้านซ้าย” กับจุดเริ่มต้นของบรรทัดและสิ้นสุดบรรทัดบน mac?
ฉันพยายามทำให้มันเป็นเหมือนการแก้ไขข้อความเริ่มต้นใน Mac ฉันพยายาม map! <D-Left> 0 และ map! <D-Right> $ ใน ~ / .vimrc แต่แน่นอนว่ามันไม่ได้ผล ฉันจะทำสิ่งนี้ได้อย่างไร
10 vim  macintosh 

2
screen + vim - มีวิธีใดที่จะตั้งชื่อหน้าต่างหน้าจอโดยอัตโนมัติเพื่อเปิดชื่อไฟล์เป็นกลุ่ม?
ฉันมีไฟล์ rc ของหน้าจอที่ดีงามที่แสดงให้ฉันเห็นหน้าต่างที่เปิดอยู่เกือบเหมือนกับแท็บที่ด้านล่างของเครื่อง ขณะนี้หน้าต่างตั้งชื่อตามพรอมต์ของฉันซึ่งไม่เป็นประโยชน์ มีวิธีในการตั้งชื่อหน้าต่างโดยอัตโนมัติตามชื่อไฟล์ของเซสชัน vim ที่เปิดอยู่ในหน้าต่างหรือไม่? ฉันคิดว่านี่น่าจะเป็นตัวแก้ไขหน้าต่างที่ยอดเยี่ยมถ้าเป็นไปได้

3
แก้ไข CTRL- * เป็นกลุ่มภายใต้หน้าจอ GNU
เมื่อเรียกใช้เป็นกลุ่มภายใต้หน้าจอ GNU ฉันพบว่าการรวมกันของCTRLปุ่มลูกศรและ Pg * ไม่ทำงานอย่างที่คาดไว้ ฉันใช้vim-gnomeแพ็คเกจUbuntu 10.10 บนเครื่องที่แตกต่างกันยังใช้ Ubuntu สิ่งนี้ทำงานได้โดยไม่มีปัญหา โชคไม่ดีที่ตอนนี้ฉันยังไม่มีการกำหนดค่า มีคำถามที่เกี่ยวข้องที่นี่: วิธีการแก้ไข Ctrl + ลูกศรในกลุ่ม? อย่างไรก็ตามวิธีแก้ปัญหาที่แนะนำนั้นคือทำการแมปปุ่มลัดของ vim เพื่อทำงานกับเทอร์มินัลอีมูเลเตอร์ในกรณีนั้น PuTTY ฉันไม่จำการเรียงลำดับใด ๆ และสงสัยว่ามีตัวเลือกการกำหนดค่าหน้าจอซึ่งจะแก้ไขปัญหานี้ได้ นอกจากนี้ยังมีเธรดในรายชื่อผู้รับจดหมายบนหน้าจอ gnu ซึ่งแสดงว่าการเรียกใช้ vim ผ่าน$ TERM=xterm vimเป็นการแก้ไขที่เหมาะสมหรือวิธีแก้ไขปัญหา ใช้งานได้ แต่ฉันกังวลเล็กน้อยว่าอาจมีผลข้างเคียง มันไม่ได้ฟังดูคุ้นหูพอที่จะเป็นวิธีแก้ปัญหาที่ฉันติดตั้งบนเครื่องอื่น (ถ้าจำเป็นต้องมีวิธีแก้ไข)
10 ubuntu  vim  gnu-screen 

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