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

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

3
gVIM“ ใส่” ทำให้ฉันโมโหฉันจะ“ วาง” ที่จุดเริ่มต้นของบรรทัดได้อย่างไร
ฉันกำลังเรียนรู้ gVIM บน Windows และในขณะที่ฉันเรียนรู้การกดแป้นอย่างช้า ๆ ฉันพบว่าตัวเองใช้เมาส์น้อยลงเรื่อย ๆ ซึ่งเยี่ยมมาก ฉันมีคำถามสองสามข้อที่ฉันยังไม่เข้าใจ: ฉันคัดลอกและวางมาก ดังนั้นฉันใช้ 'v' เพื่อเข้าสู่โหมด VISUAL ใช้ k / j เพื่อเลื่อนขึ้น / ลงและเลือกบรรทัดจากนั้นกด 'y' เพื่องัด จากนั้นฉันไปที่บรรทัดที่ฉันต้องการแทรกและกด 'p' เพื่อใส่ แต่สิ่งที่น่าเบื่อวางหลังจากตัวละครที่ 1 ฉันไม่สามารถขยับไปทางซ้ายได้อีกต่อไปดังนั้นฉันจึงเป็นจุดเริ่มต้นของเส้นดังนั้นฉันจึงพบว่าพฤติกรรม 'p'ut ของการวาง 1 อักขระหลังจากตำแหน่งเคอร์เซอร์ของฉันน่ารำคาญอย่างยิ่ง ฉันสลับระหว่างโหมดแก้ไขและโหมดคำสั่งเป็นอย่างมากและนิ้วก้อยที่น่าสงสารของฉันบนมือซ้ายของฉันกำลังเจ็บจากการถูกยืดออกเพื่อกดปุ่ม 'Esc' (เพื่อเข้าสู่โหมดคำสั่ง) ทุกสองสามวินาที มีวิธีที่สะดวกในการใช้นิ้วเข้าโหมดคำสั่งมากกว่านี้หรือไม่
2 vim  gvim 

1
grep เป็นกลุ่มสามารถทำให้เป็นกรณี ๆ ไปตามเงื่อนไขหรือไม่?
เมื่อฉันทำการค้นหาในเอกสารด้วย/หรือทำการค้นหาด้วย?ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เมื่อตัวอักษรพิมพ์ใหญ่ปรากฏในรูปแบบการค้นหาเนื่องจากการรวมกันของignorecaseและsmartcaseการตั้งค่า มีวิธีเลียนแบบพฤติกรรมนี้ด้วย:grepคำสั่งโดยไม่จำเป็นต้องเพิ่มการ-iตั้งค่าด้วยตนเองทุกครั้งหรือไม่?
2 vim  grep 

2
เป็นกลุ่ม: เปิดหลายไฟล์ในการกำหนดค่าที่ระบุจากบรรทัดคำสั่ง
ฉันใช้ชุดแท็บและแยกในหน้าต่าง Vim สำหรับเวิร์กโฟลว์ของฉัน การตั้งค่าของฉันมีลักษณะดังนี้: แท็บที่ 1 พร้อมตัวแบ่งแนวตั้งแสดงบัฟเฟอร์สองตัว แท็บที่ 2 ในการแยกต่อไปนี้: ----------------------------------- | | | | | | | | Buffer b | | | | | | | | Buffer a |------------| | | | | | | | | Buffer c | | | | |--------------------|------------| ตอนนี้ฉันจะเริ่มต้นเป็นกลุ่มได้อย่างไรว่าฉันได้รับไฟล์ทั้งหมดของฉันโหลดเป็นบัฟเฟอร์แยกต่างหากในรูปแบบเกี่ยวกับ? ฉันขี้เกียจเกินไปที่จะตั้งค่าเลย์เอาต์นี้ทุกครั้งที่ฉันต้องรีสตาร์ทกลุ่มด้วยเหตุผลบางอย่าง
2 vim  buffer 

2
Colorschemes VIM ใช้งานได้เฉพาะใน. vimrc
หากฉันแก้ไข~/.vimrcเป็นกลุ่มโดยเฉพาะ:colorscheme <some colorscheme>จะทำสิ่งที่ควรจะทำ รูปแบบเฉพาะใน/usr/share/vim/vim74/colorsจะทำงานได้และไม่พูดในโฟลเดอร์อื่น ๆ เช่น~/.vim/colors/(มันกลับมาCannot find colorscheme '<some colorscheme>) หากฉันแก้ไขไฟล์อื่นนอกจาก~/.vimrcนี้:colorscheme <some colorscheme>จะไม่ส่งคืนข้อผิดพลาดใด ๆ แต่จะเปลี่ยนสีพื้นหลังเท่านั้น~ซึ่งจะเป็นจุดเริ่มต้นของแต่ละบรรทัดและถ้าฉันโชคดีจะเปลี่ยนข้อความจากโทนสีเหลืองเป็นสีฟ้าโมโนโทนหรือ บางสิ่งบางอย่างของการจัดเรียง .vimrcไฟล์ที่ว่างเปล่าในขณะนี้
2 vim  colors 

3
VIM: เป็นไปได้หรือไม่ที่จะเพิ่มพฤติกรรมที่กำหนดเองเมื่อใช้ / c ด้วยคำสั่ง replace?
มีบางกรณีที่สะดวกในการค้นหาและแทนที่พฤติกรรมสำหรับบางสิ่ง ตัวอย่างเช่นฉันมีการแมปต่อไปนี้ใน vimrc ของฉัน: nnoremap n nzzzv ซึ่งจัดกึ่งกลางหน้าจอไว้ทุกครั้งที่คุณเลื่อนไปยังนัดต่อไป สิ่งนี้ใช้ได้ดี แต่ใช้ไม่ได้เมื่อทำคำสั่ง% s // c มีวิธีการเชื่อมต่อหรือไม่เมื่อผู้ใช้เลือกหนึ่งในตัวเลือกการยืนยัน y / n / q / q / l / etc เพื่อให้คุณสามารถเรียกใช้คำสั่ง?
2 vim  gvim  vimscript 

2
มีวิธีใดบ้างที่จะได้รับการแจ้งเตือนสำหรับปลั๊กอิน vim เวอร์ชันใหม่
ฉันได้ติดตั้งปลั๊กอินกลุ่มจำนวนมาก ฉันต้องการรับการแจ้งเตือนเมื่อมีเวอร์ชันใหม่ออกมา หน้าปลั๊กอินแต่ละหน้าใน vim.org (เช่นhttp://www.vim.org/scripts/script.php?script_id=3025 ) ไม่มีฟีด RSS คุณจะอัพเดทปลั๊กอินของคุณได้อย่างไร?
2 vim  gvim 

1
วิธีบังคับ gvim ให้แสดงไฟล์ทั้งหมด (*. *) ในกล่องโต้ตอบแก้ไขไฟล์
ฉันใช้ gvim บน Windows 7 คำถามของฉันเกี่ยวข้องกับกล่องโต้ตอบแก้ไขไฟล์ที่ปรากฏเมื่อเลือกไฟล์ -> เปิดจากแถบเมนู gvim ที่ด้านล่างขวาของกล่องโต้ตอบแก้ไขไฟล์เป็นตัวเลือกประเภทไฟล์ที่ช่วยให้การกรองไฟล์ที่แสดงขึ้นอยู่กับนามสกุลของพวกเขา ตัวเลือกเริ่มต้นที่เลือกคือนามสกุลที่ตรงกับไฟล์ในบัฟเฟอร์ปัจจุบัน ตัวอย่างเช่นหากฉันเปิดไฟล์ '.xml' เมื่อฉันพยายามเปิดไฟล์อื่นตัวเลือกเริ่มต้นที่เลือกไว้คือ 'ไฟล์ XML (* .xml)' ดังนั้นหากฉันเปลี่ยนตัวเลือกที่เลือกฉันอาจเรียกดู XML เท่านั้น ไฟล์ เนื่องจากฉันทำงานกับไฟล์ที่มีนามสกุลต่างกันฉันจึงต้องเปลี่ยนตัวเลือกที่เลือกเกือบทุกครั้งที่เปิดไฟล์ ฉันต้องการเปลี่ยนตัวเลือกเริ่มต้นที่เลือกไว้ของตัวเลือกประเภทไฟล์เป็น 'All Files (*. *)' ไม่มีใครรู้วิธีการทำเช่นนี้?
2 windows  vim  gvim 

1
เครื่องหมายเป็นกลุ่มและแป้นพิมพ์สากลของสหรัฐอเมริกา
ฉันใช้แป้นพิมพ์ระหว่างประเทศสหรัฐอเมริกาเพื่อให้การกด'aสร้าง "á" ในขณะที่อยู่ในโหมดแทรก อย่างไรก็ตามฉันต้องการเข้าถึงเครื่องหมายที่ชื่อว่าaโดยกด'aภายใต้โหมดปกติ 'spaceaที่ไม่ได้ทำงานและเป็นวิธีแก้ปัญหาผมต้องกด มีวิธีแก้ไขไหม? ฉันหมายถึงสามารถเป็นกลุ่มได้แม้จะเห็นว่าฉันกด'ปุ่มหรือกลไก Dead-key ทั้งหมดไม่สามารถมองเห็นเป็นกลุ่มเพื่อที่จะได้รับการกดแป้นพิมพ์เมื่อaพิมพ์หลังจากนั้น (ฉันใช้ Linux) ในกรณีสุดท้ายฉันสามารถแมป "à" ถึง "'a" ในโหมดปกติได้ แต่นั่นไม่สามารถใช้ได้กับทุกปุ่มฉันหมายถึงการกด'bไม่สร้างข้อความใด ๆ บนแป้นพิมพ์ปัจจุบันของฉัน
2 linux  vim  keyboard 

1
การขยายเปอร์เซ็นต์โหมดคำสั่งเป็นกลุ่ม
เวิร์กโฟลว์ประจำวันทั่วไปของฉันใน Vim เกี่ยวข้องกับการมีบานหน้าต่างแนวตั้งสองบาน รหัสการผลิตทางด้านซ้ายและการทดสอบทางด้านขวา ฉันสลับภาษา (และกรอบการทดสอบ) บ่อยครั้งดังนั้นฉันต้องการสร้างการแมปใหม่สำหรับการเรียกใช้รหัสทดสอบของฉันในแต่ละเซสชัน lib/importer.rbสมมติว่าฉันทำบางโครงการทับทิมและฉันขับรถออกมาจากชั้นใน spec/lib/importer_spec.rbรายละเอียดที่มาพร้อมกับอาศัยอยู่ใน หากต้องการสร้างการแมปของฉันสำหรับการเรียกใช้ข้อมูลจำเพาะฉันจะมุ่งเน้นไปที่บานหน้าต่างแสดงรายละเอียดและป้อนข้อมูลต่อไปนี้: :nnoremap -g :!rspec %<cr> หมายเหตุ: ฉันใช้ยัติภังค์ / ลบเป็นรหัสผู้นำของฉัน นี้ทำงาน -gแต่ถ้าบานหน้าต่างข้อมูลจำเพาะมีโฟกัสเมื่อฉันตี หากบานหน้าต่างการผลิตมีโฟกัสและฉันกดปุ่มแผนที่rspecจะลองและเรียกใช้รหัสการผลิตซึ่งไม่สมเหตุสมผล เพื่อหลีกเลี่ยงปัญหานี้ฉันสามารถเขียนพา ธ สัมบูรณ์ไปยังไฟล์ข้อมูลจำเพาะ: :nnoremap -g :!rspec spec/lib/importer_spec.rb<cr> ใช้งานได้แม้ว่ามันจะค่อนข้างยุ่งยากในการเขียน ในขณะที่อ่านVim ที่ใช้งานได้เมื่อคืนฉันรู้ว่าในโหมดคำสั่งคุณสามารถใช้ส่วน%ขยาย - คุณเขียน%แล้วกดtabและเปอร์เซ็นต์จะถูกแทนที่ด้วยพา ธ สัมบูรณ์ไปยังไฟล์ในบานหน้าต่างที่เน้นอยู่ในปัจจุบัน ถ้าฉันทำสิ่งนี้: :!rspec % ... และจากนั้นtabฉันได้รับสิ่งนี้: :!rspec spec/lib/importer_spec.rb และนั่นยอดเยี่ยม! อย่างไรก็ตามถ้าฉันทำสิ่งนี้: :nnoremap -g :!rspec % ... และจากนั้นtabฉันได้รับสิ่งนี้: …

1
เป็นกลุ่มสคริปต์: เป็นไปได้ที่จะทำให้การเคลื่อนไหวที่กำหนดเองไม่สามารถทำซ้ำได้?
ฉันพยายามเขียนฟังก์ชัน yank ที่กำหนดเอง แต่ฉันไม่สามารถหาวิธีทำให้ไม่สามารถทำซ้ำได้ (เช่น yank ปกติ) ฉันมีบางอย่างที่คล้ายกับต่อไปนี้: function! s:YankMotion(type) if a:type ==# 'line' normal! `[V`]y elseif a:type ==# 'char' normal! `[v`]y else echom "Unexpected selection type" return endif endfunction nnoremap y :set opfunc=<sid>YankMotion<cr>g@ ปัญหาคือว่าถ้าคุณทำการผ่าตัดที่ทำซ้ำได้ (เช่น. cw) งัดบางสิ่งบางอย่างจากนั้นดำเนินการทำซ้ำอีกครั้งกดปุ่ม.คุณจะคาดหวังที่จะเรียกcwแต่มันพยายามที่จะทำงัดอีกครั้ง เป็นไปได้ไหมที่จะแก้ไขปัญหานี้?
2 vim  vimscript 

0
ธีมสี 24 บิตใน vim / neovim ในระบบย่อย linux สำหรับ windows
ตอนนี้สีที่เป็นกลุ่มนั้นผิดทั้งหมด อย่างที่คุณเห็นฉันได้ลองแล้ว wsl-terminal con-emu และการตั้งค่าสีในแอปพลิเคชันเทอร์มินัลเริ่มต้นเพื่อจับคู่ชุดรูปแบบของแสงอาทิตย์ เทอร์มินัลทั้งหมด (ยกเว้น conemu) ใช้สีแสงอาทิตย์ที่ถูกต้อง แต่ทั้งหมดใช้สีผิดวิธีใน vim / neovim โปรดทราบว่าฉันได้พยายามปิด termguicolors ตัวเลือก สีเปลี่ยนไป แต่ก็ยังผิด ฉันได้พบ ปัญหา แต่ฉันไม่รู้ว่าสิ่งนี้เกี่ยวข้องกับปัญหานี้หรือไม่ มีใครสามารถตั้งค่าสี 24 บิตอย่างถูกต้องในเทอร์มินัลใด ๆ ใน windows ใน vim / neovim หรือไม่?


1
วิธีหลีกเลี่ยง `.viminfo` ใน '$ HOME`
ใน หนึ่งในไฟล์การตั้งค่าของฉัน ฉันตั้ง viminfo ไปยัง set viminfo+=n~/.cache/vim/info ตอนนี้ ทั้งสอง ~/.viminfo และ ~/.cache/vim/info ถูกสร้างขึ้น ถ้าฉันลบ ~/.viminfo มันได้รับการสร้างใหม่อีกครั้ง ฉันจะบอก Vim ให้หลีกเลี่ยงการสร้างได้อย่างไร ~/.viminfo ไฟล์และใช้เฉพาะ ~/.cache/vim/info ไฟล์?

1
วิธีการกำหนดตัวละครที่ถือว่าเป็นส่วนหนึ่งของ tagname ในกลุ่ม
เมื่อฉันใช้ Ctrl-] เพื่อข้ามไปยัง tagname ในกลุ่มจะไม่สนใจ! และ อักขระที่สามารถใช้ใน ruby ​​เป็นส่วนหนึ่งของตัวระบุ เช่นเมื่อพยายามข้ามไปยัง 'ว่างเปล่า' แท็กมันบ่นเกี่ยวกับแท็กที่ขาดหายไป 'ว่าง'
1 vim  ruby 

1
จะโหลดปลั๊กอินได้อย่างไร?
คู่ค้าและฉันกำลังรักษา Vimified โครงการกำหนดค่า Vim โดยใช้ Vundle . เมื่อเวลาผ่านไปไฟล์การกำหนดค่าก็กำลังเติบโตตามที่เราพยายามเสนอการกำหนดค่าที่ดีที่สุดสำหรับภาษาที่มากขึ้น เรามีการจัดการแพ็คเกจ ( อ่านเพิ่มเติม ) ซึ่งอนุญาตให้คุณติดตั้งเฉพาะชุดข้อมูลที่มีบทบาทในสิ่งที่คุณสนใจ เช่นเดียวกับใน บริษัท ของฉันมีโปรแกรมเมอร์หลายคนเป็นจำนวนมาก และเราเริ่มสงสัยว่าอะไรจะเป็นวิธีที่ดีกว่าในการทำให้ Vim เร็วขึ้นแม้ว่าฉันจะต้องสนับสนุนภาษามากมายเพราะฉันรู้หลายภาษา ดังนั้นเราเริ่มพูดว่า: จะเป็นอย่างไรถ้าเราสามารถโหลดปลั๊กอินได้อย่างรวดเร็วตามส่วนขยายของไฟล์ เรารู้ว่าโดยค่าเริ่มต้นการเปลี่ยนแปลงการกำหนดค่าของมันขึ้นอยู่กับนามสกุลไฟล์ (เช่นไวยากรณ์) เราเริ่มคิดว่าเราสามารถใช้ autocmd แต่หลังจากหนึ่งหรือสองชั่วโมงฉันไม่สามารถหาวิธีทำได้ ใครจะมีความคิด? หรือเป็นไปได้จริง ๆ ?
1 vim 

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