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

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

7
ปุ่ม Backspace ไม่ทำงานใน Vim / vi
ฉันเพิ่งทำการเปลี่ยนแปลงบางอย่างกับ.vimrcไฟล์และ.bash_aliasesไฟล์และตั้งแต่นั้นมาฉันไม่สามารถลบคำที่มีปุ่ม backspace .vimrcไฟล์ของฉันมี: set nocompatible set number set incsearch set autoindent set ruler set autowrite set smarttab set linebreak set spell set et set title set mouse=v set history=50 set tabstop=4 set matchtime=2 set matchpairs+=<:> syntax enable filetype plugin indent on filetype indent on set sw=4 map <f2> :w\|!python % …
89 vim 

15
ฉันจะแทรกเส้นแบ่งโดยที่เคอร์เซอร์อยู่โดยไม่เข้าสู่โหมดแทรกใน Vim ได้อย่างไร
เป็นไปได้ไหมที่จะแทรกตัวแบ่งบรรทัดโดยที่เคอร์เซอร์อยู่ใน Vim โดยไม่ต้องเข้าสู่โหมดแทรก นี่คือตัวอย่าง ( [x]หมายถึงเคอร์เซอร์เปิดอยู่x): if (some_condition) {[ ]return; } ในบางครั้งฉันอาจต้องการป้อนรหัสเพิ่มเติม ผมจะกดiเพื่อเข้าสู่โหมดแทรกกดEnterเพื่อแทรกตัวแบ่งบรรทัดแล้วลบช่องว่าง ต่อไปฉันจะเข้าสู่โหมดปกติและวางเคอร์เซอร์ก่อนวงเล็บปีกกาปิดจากนั้นทำสิ่งเดียวกันเพื่อให้มันอยู่ในบรรทัดของตัวเอง ฉันทำมาระยะหนึ่งแล้ว แต่มีวิธีที่ดีกว่านี้แน่ ๆ ?

8
ฉันจะสลับระหว่างโหมดคำสั่งและโหมดแทรกใน Vim ได้อย่างไร
ฉันเพิ่งเริ่มใช้ Vim เป็น IDE ตอนนี้ฉันใช้มันเป็นตัวแก้ไขการทดสอบดังนั้นฉันจึงไม่ต้องไปที่โหมดคำสั่งบ่อยนัก แต่เนื่องจากฉันเขียนโปรแกรมใน Java ฉันต้องไปที่โหมดคำสั่งเพื่อสร้างไฟล์รวบรวม / เรียกใช้ ... ฯลฯ ปัญหาคือ: ฉันต้องการวิธีที่ดีในการสลับระหว่างสองโหมดนี้ ฉันดูออนไลน์แล้วมันบอกว่า<Esc>คีย์ควรจะทำอย่างนั้น แต่มันไม่ได้ผลสำหรับฉัน (อาจไม่ใช่สำหรับ gVim ฉันไม่รู้ว่าทำไม) ฉันต้องกดCTRLOทุกครั้งเพื่อไปที่โหมดคำสั่ง; ปุ่ม Escape ทำงานจากโหมดนั้น ... มันนำฉันกลับไปที่โหมดแทรก แต่มีวิธีที่ดีกว่าหรือง่ายกว่าในการสลับระหว่างโหมดคำสั่งและโหมดแทรก?
88 vim  insert  command 

3
คุณจะตรวจสอบได้อย่างไรว่าตัวเลือกใดถูกคอมไพล์ด้วย?
ฉันต้องการทราบว่าตัวเลือกการรวบรวมใดที่ใช้สำหรับไบนารี Vim ของฉัน มีวิธีใดในการสอบถามสิ่งนี้หรือไม่? โดยเฉพาะฉันสนใจว่ามันเปิดใช้งานการรองรับ Python หรือไม่
88 vim 

11
ใช้ Vim สำหรับการพัฒนา Lisp
ฉันใช้ Lisp อยู่ตลอดเวลา แต่เริ่มจริงจังกับการทำงาน "ของจริง" ใน Lisp มากขึ้น ฉันเป็นแฟนตัวยงของ Vim และสงสัยว่าฉันจะทำงานได้ดีที่สุดโดยใช้ Vim เป็นบรรณาธิการสำหรับการพัฒนา Lisp ยินดีต้อนรับปลั๊กอินคำแนะนำขั้นตอนการทำงาน ฯลฯ โปรดอย่าพูดว่า "ใช้ emacs" เพราะฉันได้ใช้ Vim ไปแล้วและฉันก็สนุกกับการเป็นบรรณาธิการ
88 vim  ide  lisp  common-lisp 

8
ซ่อนบรรทัดที่ตรงกันทั้งหมดใน Vim
เป็นไปได้ไหมที่จะแสดง / ซ่อนบรรทัดที่ตรงกันทั้งหมดใน vi หรือ Vim? ไม่ใช่ไฮไลต์ แต่แสดงเฉพาะบรรทัดเหล่านั้น ERRORเช่นฉันมีข้อความที่มีคำว่าคำว่า ฉันจะทำให้แสดงเฉพาะบรรทัดที่มีERRORและจะแสดงเฉพาะบรรทัดที่ไม่มีได้ERRORอย่างไร มีวิธีแก้ไขโดยไม่ต้องลบบรรทัดที่ตรงกันทั้งหมดแล้วเลิกทำหรือไม่?
88 vim  vi 

12
วิธีการนำทางในโครงการขนาดใหญ่ใน VIM
คุณจัดการโปรเจ็กต์ขนาดใหญ่ (หลายร้อยไฟล์) โดยใช้ VIM เพียงอย่างเดียวได้อย่างไร ฉันเองเริ่มมีปัญหาในโครงการที่ใหญ่กว่าขนาดเล็ก มีวิธีใดบ้างที่จะ "ไปที่ไฟล์" ได้อย่างรวดเร็วโดยเฉพาะการกรอกชื่อ เหมือนกันสำหรับ 'go to class definition' เมื่ออยู่ในไฟล์อื่น ฉันรู้พื้นฐานเกี่ยวกับ VIM ทั้งหมดดังนั้นฉันจึงไม่มีปัญหาในการใช้มันในการเขียนสคริปต์หรือแก้ไขซอร์สโค้ดอย่างรวดเร็ว แต่มันยุ่งมากสำหรับฉันเมื่อฉันต้องนำทางไปมาระหว่างไฟล์ต่างๆ
87 vim  editor 

7
เป็นกลุ่มวิธีการรีโหลดการเน้นไวยากรณ์
เมื่อฉันรัน Rmodel, Rcontroller และอื่น ๆ ใน Vim ฉันเห็น แต่ข้อความสีขาว แต่เมื่อฉันไปที่บัฟเฟอร์ถัดไปแล้วย้อนกลับไป:bnและ:blสีก็ใช้ได้ นี่คือโฟลเดอร์. vim ของฉัน https://github.com/regedarek/dotvim

7
การตั้งค่า Tab Vs Space ใน Vim
Vim รองรับมากเมื่อพูดถึงแท็บ Vs. การตั้งค่าพื้นที่ ตามที่ฉันเข้าใจแล้วการtabstopตั้งค่าจะระบุความกว้างของอักขระแท็บ shiftwidthการตั้งค่าที่ระบุว่าหลายคอลัมน์ที่จะเพิ่มขึ้น / ลดลงเมื่อใช้<<และ>>คำสั่งในขณะที่softtabstopการตั้งค่ามีผลต่อปริมาณของช่องว่างที่จะแทรกเมื่อคุณกดTabคีย์ในโหมดแทรก หากexpandtabเปิดอยู่แป้นแท็บจะแทรกsofttabstopจำนวนอักขระเว้นวรรค ในขณะที่มีexpandtabการปิดการกดTabแทรกคีย์ตัวเลขที่เป็นไปได้ที่เล็กที่สุดของอักขระแท็บ + softtabstopพื้นที่ที่การแข่งขัน (กรุณาแก้ไขฉันถ้าฉันผิด) ประเด็นสุดท้ายนี้ทำให้ฉันสงสัยว่ามีกรณีปฏิบัติที่คุณไม่ต้องการshiftwidth == tabstop && tabstop == softtabstopหรือไม่? คิดไม่ออกสักอย่าง เท่าที่ฉันกังวลมันจะสะดวกที่สุดถ้าฉันสามารถตั้งค่าทั้ง 3 อย่างนี้เป็นค่าเดียวกันในการมอบหมายงานเดียว เช่นโทร: :set stab=4 ซึ่งจะเทียบเท่ากับการทำงาน: :set tabstop=4 softtabstop=4 shiftwidth=4 ใครสามารถแนะนำวิธีนี้ได้บ้าง? อัปเดต ขอบคุณสำหรับการตอบกลับจากphp , hobbsและkaiser.seมากเกินไป แทนที่จะตอบกลับทีละคำถามฉันกำลังอัปเดตคำถามที่นี่ Softtabstop ที่ปิด expandtab ผมกล่าวข้างต้นว่ามีการ expandtab ปิดกดปุ่ม Tab แทรกจำนวนน้อยที่สุดของตัวละครแท็บ + softtabstopพื้นที่ที่การแข่งขัน ฉันยืนอยู่ข้างนั้น แต่ฉันคิดว่าฉันต้องอธิบายว่าฉันหมายถึงอะไร …

4
VIM: วิธีไปที่บรรทัดที่แน่นอนบน Ubuntu
ฉันใช้viบน Ubuntu 12.10 บางไฟล์ค่อนข้างยาวดังนั้นเมื่อฉันต้องการไปที่ตรงกลางของไฟล์ฉันต้องเลื่อนหน้าลงหรือเลื่อนลง มีทางลัด VIM เพื่อไปยังหมายเลขบรรทัดที่แน่นอนหรือไม่?
87 linux  bash  vim  ubuntu  terminal 

6
ฉันจะเปิดไฟล์หลายไฟล์พร้อมกันใน Vim ได้อย่างไร
มีวิธีเปิดไฟล์ทั้งหมดในไดเร็กทอรีจากภายใน Vim หรือไม่? ดังนั้น:commandการที่จะบอกว่ามีผลในการ "เปิดไฟล์ทั้งหมดที่อยู่ภายใต้การ/some/pathเข้าบัฟเฟอร์" เป็นการดีที่จะเปิดไฟล์ทั้งหมดภายใต้ dir แบบวนซ้ำ
87 vim 

6
ตั้งค่าแบบอักษรเริ่มต้นของ MacVim
ฉันจะตั้งค่าแบบอักษรเริ่มต้นสำหรับ MacVim ได้อย่างไร ฉันได้ลองเพิ่มบรรทัดต่อไปนี้แล้ว set guifont = Monaco:h12 ไปยังไฟล์ใดไฟล์หนึ่งต่อไปนี้: ~/.vimrc ~/.gvimrc ~/Applications/MacVim/MacVim.app/Contents/Resources/vim/vimrc ~/Applications/MacVim/MacVim.app/Contents/Resources/vim/gvimrc ~/Applications/MacVim/MacVim.app/Contents/Resources/vim/.vimrc ~/Applications/MacVim/MacVim.app/Contents/Resources/vim/.gvimrc ฉันรีสตาร์ท MacVim แต่ยังไม่ได้ตั้งค่าแบบอักษรเริ่มต้น ฉันพลาดอะไรไป? อัปเดต:ฉันสามารถออกset guifontคำสั่งในรันไทม์ได้และใช้งานได้ดี ดูเหมือนจะไม่อ่านออกจากไฟล์เริ่มต้นของฉัน
87 vim  fonts  default 

3
ไปที่สัญลักษณ์ที่ n ในบรรทัด
จะย้ายเคอร์เซอร์ไปที่สัญลักษณ์ n-th จากทางซ้ายใน Vim ได้อย่างไร? วิธีแก้ปัญหาอย่างหนึ่งที่ฉันเห็นคือกด0n<right-arrow>มันจะย้ายไปที่ตำแหน่ง n + 1 มีวิธีไหนที่เป็นธรรมชาติกว่านี้อีกไหม?
87 vim 

10
วิธีคัดลอกบรรทัดที่เลือกไปยังคลิปบอร์ดเป็นกลุ่ม
วิธีคัดลอกบรรทัดที่เลือกไปยังคลิปบอร์ดเป็นกลุ่ม ฉันรู้วิธีทำสำหรับไฟล์ข้อความทั้งหมดแต่ฉันต้องการทำในบรรทัดที่เลือก ขอบคุณ!
87 vim 

8
ฉันจะระบุ“ คำที่อยู่ใต้เคอร์เซอร์” บนบรรทัดคำสั่งของ VIM ได้อย่างไร
ฉันต้องการเขียนคำสั่งที่ระบุ "คำที่อยู่ใต้เคอร์เซอร์" ใน VIM ตัวอย่างเช่นสมมติว่าฉันมีเคอร์เซอร์อยู่บนคำและทำให้ปรากฏสองครั้ง ตัวอย่างเช่นหากคำนั้นเป็น "abc" และฉันต้องการ "abcabc" ฉันสามารถพิมพ์: :s/\(abc\)/\1\1/ แต่ฉันต้องการที่จะสามารถย้ายเคอร์เซอร์ไปที่ "def" และใช้คำสั่งเดียวกันเพื่อเปลี่ยนเป็น "defdef": :s/\(def\)/\1\1/ ฉันจะเขียนคำสั่งในบรรทัดคำสั่งเพื่อให้ทำสิ่งนี้ได้อย่างไร :s/\(*whatever is under the commandline*\)/\1\1
86 vim  command-line 

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