Vi & Vim

คำถามและคำตอบสำหรับผู้ที่ใช้ตระกูล vi และ Vim ของเครื่องมือแก้ไขข้อความ

3
จะข้ามไปมาระหว่างแท็ก HTML / XML ที่ตรงกันได้อย่างไร
วิธีการข้ามไปมาระหว่างแท็กจับคู่ (เช่น<div>, <span>ฯลฯ ) เมื่อแก้ไขเอกสาร HTML / XHTML / XML ในทำนองเดียวกันตามที่%จะใช้ในการข้ามไปมาระหว่างวงเล็บจับคู่?

8
เหตุใดการใช้ปุ่มลูกศรในโหมดปกติจึงถือว่าไม่เหมาะสม
ฉันได้อ่านมันในหลาย ๆ บทความ ( เช่น ) ว่ามันเป็นวิธีปฏิบัติที่ไม่ดีที่จะใช้ปุ่มลูกศรในโหมดปกติ มีใครอธิบายได้ไหมว่าเพราะเหตุใดจึงถือเป็นการกระทำที่ผิด

2
เปิดชื่อไฟล์ภายใต้เคอร์เซอร์เช่น gf แต่อยู่ในแท็บใหม่ (หรือแยก)?
คำสั่งโหมดปกติgfไปที่ไฟล์ที่มีเคอร์เซอร์ปัจจุบันอยู่ที่ แต่จะทำเช่นนั้นในหน้าต่างปัจจุบันแทนที่ข้อความปัจจุบัน ซึ่งหมายความว่าคุณต้องนำทางกลับอย่างชัดเจนเพื่อไปที่หลังในภายหลังและคุณต้องเขียนการเปลี่ยนแปลงในบัฟเฟอร์ปัจจุบันที่อาจเกิดขึ้น ฉันแน่ใจว่าเป็นไปได้หรือไม่ที่เปิดไฟล์ภายใต้เคอร์เซอร์ใน tabview ใหม่แทน?

7
วิธีที่เร็วที่สุดในการเปลี่ยนเป็นบัฟเฟอร์ในกลุ่ม?
วิธีหนึ่งที่จะเลือกบัฟเฟอร์ในกลุ่มอาจจะมีการเรียกดูบัฟเฟอร์รายการโดยใช้คำสั่งมาตรฐาน:lsหรือบางปลั๊กอิน / รหัส vimscript ภายนอกเพื่อเรียกดูรายการในหน้าต่าง สมมติว่าฉันต้องการข้ามไปที่บัฟเฟอร์โดยตรงเร็วที่สุด เพื่อสำรวจรายการบัฟเฟอร์ในโหมดต่อเนื่องตอนนี้ฉันใช้<C-J> <C-K>ทางลัดโดยตั้งค่าไว้ใน. vimrc ของฉัน: " move among buffers with CTRL map <C-J> :bnext<CR> map <C-K> :bprev<CR> อีกวิธีหนึ่ง (การเข้าถึงโดยตรง) อาจจะเปลี่ยนจากจำนวน : <C-^>รู้จำนวนบัฟเฟอร์ก็เป็นไปได้ที่จะเปลี่ยนโดยตรงโดยการป้อนหมายเลขบัฟเฟอร์ตามมาด้วย ดังนั้นถ้าผมต้องการที่จะสลับไป buffer จำนวน 5 5<C-^>ผมจะกด แต่สิ่งนี้ดูเหมือนจะไม่ทำงานสำหรับฉัน (ฉันใช้ vim 7.4 บนกล่องอูบุนตูจากผู้เยี่ยมชม Windows พร้อมแป้นพิมพ์ภาษาอิตาลี ) ฉันสงสัยว่าเป็นเพราะ^ตัวละครอยู่ในคีย์^ìตัวพิมพ์ใหญ่ในแป้นพิมพ์ภาษาอิตาลีดังนั้นในความเป็นจริง^ฉันต้องกดSHIFT-^ ความคิดใด ๆ
43 vimrc  buffers 

2
ฉันจะเพิ่มหมายเลขบรรทัดใน Vim ได้อย่างไร
ฉันต้องการดูหมายเลขบรรทัดเริ่มต้น1จากด้านบนทางด้านซ้ายของ Vim เป็นการดีที่มันจะมีลักษณะเช่นนี้: 1 | foo = Foo.new 2 | bar = Bar.new 3 | baz = foo.baz(bar) ... 10| test = AwesomeSauce.test ฉันจะทำสิ่งนี้ใน Vim ได้อย่างไร

2
ปลั๊กอิน LaTeX แตกต่างกันอย่างไร
มีปลั๊กอิน Tex จำนวนมากสำหรับ vim ( vim-latex , AutomaticLatexPluginเพื่อพูดสองสามอย่าง) อะไรคือความแตกต่างของฟังก์ชั่นที่ให้ไว้ระหว่างปลั๊กอิน TeX เหล่านี้ (สิ่งที่ฉันตั้งชื่อและอื่น ๆ ) นี่คือคำถามที่เกี่ยวข้องสองสามข้อเกี่ยวกับ SO: การใช้งาน Latex และ Vim ปลั๊กอินที่จำเป็นใน VIM สำหรับลาเท็กซ์คืออะไร

5
วิธีเพิ่มเส้น / แนวการเยื้อง
ใน Sublime Text 2 คุณจะได้รับคำแนะนำในแนวตั้งที่มีการเยื้องของคุณเช่นนี้: แต่ในกลุ่มฉันเห็นได้ชัดว่าไม่: มีวิธีการแสดงบรรทัดเช่นนี้ในกลุ่ม? โดยวิธีการเยื้องของฉันคือ 2 ช่องว่าง :set tabstop=2 softtabstop=2 shiftwidth=2 expandtab

5
วิธีการดึงสายด้วยหมายเลขบรรทัดที่แน่นอน?
บอกว่าฉันอยู่ที่บรรทัดที่ 20 และฉันต้องการที่จะดึงสาย 4 ฉันจะทำอย่างไร และในทำนองเดียวกันฉันจะดึงเส้นหนึ่งที่สัมพันธ์กับตำแหน่งเคอร์เซอร์ของฉันพูดว่าหนึ่งบรรทัด 3 เส้นขึ้นไปได้อย่างไร


7
เยื้องรหัสเยื้องที่ไม่ดีอีกครั้ง
ฉันชอบฟีเจอร์สมาร์ทเยื้องของ Vim ทำให้ฉันสามารถสร้างบล็อคโค้ดที่เยื้องเข้าไปได้ ฉันคัดลอก / วางรหัสลงในบัฟเฟอร์อย่างสม่ำเสมอ แต่รหัสนั้นมักมีรูปแบบไม่ดี สิ่งที่เหมาะสมที่สุดคือ "ประมวลผลซ้ำ" รหัสผ่านระบบสมาร์ท - เยื้อง เป็นไปได้ไหม ตัวอย่างเช่นคุณจะแก้ไขรหัสต่อไปนี้อย่างไร (แยกจากบล็อกขนาดใหญ่ - ฉันไม่ต้องการแก้ไขแต่ละบรรทัดด้วยตนเอง ... ): else { m[c] = 5; Finished = true; std::cout<<"(ID,R,E)"<<"-->"<<"("<<g[c]<<","<<r[c]<<","<<E1 <<")"<< std::endl; std::cout << "\n"<<"finish-->" << r[c] << "\t" <<"E1-->"<< E1 <<"\n" ; } }
39 indentation  ide 

2
ฉันจะทำให้ Vim ปรับให้เข้ากับลักษณะการเยื้องในปัจจุบันของไฟล์ที่ฉันแก้ไขได้อย่างไร
ฉันทำงานกับโปรเจ็กต์ JavaScript หลายประเภท ในโครงการส่วนใหญ่การเยื้องของไฟล์ JavaScript คือ 2 ช่องว่างดังนั้นฉันจึงตั้งค่าความกว้างของการเยื้องเป็นค่าเริ่มต้น อย่างไรก็ตามมันจะกลายเป็น 1 หรือ 4 ในบางโครงการอื่น ๆ มีวิธีให้ Vim เปลี่ยนสไตล์การเยื้องตามสไตล์ที่ใช้ไปแล้วในไฟล์ปัจจุบันหรือไม่?

1
อะไรคือความแตกต่างระหว่าง `filetype indent on` และ` filetype indent on`?
ฉันเห็นหนึ่งในสองบรรทัดนี้ใน.vimrcไฟล์ อันนี้ดูเหมือนจะเป็นเรื่องธรรมดาที่สุด: filetype plugin indent on แต่มันแตกต่างจากบรรทัดนี้อย่างไร: filetype indent on ฉันพบเอกสารสำหรับหลังแต่ฉันยังสับสนอยู่

2
อะไรคือความแตกต่างระหว่าง: wq <cr>: x <cr> และ ZZ เมื่อออกเป็นกลุ่ม?
Vi และ Vim ทุกคนรู้มีคำพ้องความหมายมากมาย มีสามวิธีที่ฉันรู้ในการบันทึกไฟล์และออกจาก Vim และ Vi เหล่านี้คือ: WQ &lt;CR&gt; , : x &lt;CR&gt;และZZ ฉันเคยได้ยินว่าสิ่งเหล่านี้มีความแตกต่างในบางวิธี มีความแตกต่างในทางปฏิบัติระหว่างการใช้: :x&lt;cr&gt; :wq&lt;cr&gt; หรือ ZZ จะบันทึกไฟล์และออกจาก Vim และ Vi ได้อย่างไร

1
เหตุใดฉันจึงต้องมีทั้ง vimrc และ gvimrc
ดูเหมือนจะมีสองวิธีในการจัดเก็บค่ากำหนดเฉพาะสำหรับ gvim: เก็บ.vimrcไฟล์สำหรับ vim และ.gvimrcไฟล์สำหรับการเพิ่มเฉพาะ gvim ให้การตั้งค่าทั้งหมดใน.vimrcและห่อการตั้งค่าเฉพาะ gvim ในเงื่อนไขการตรวจจับคุณสมบัติ: if has('gui_running') " gvim specific settings here endif เมื่อมีตัวเลือกหลังทำไมฉันต้องมี.gvimrcไฟล์ด้วยซ้ำ
38 vimrc  gvim 

4
ฉันจะเปลี่ยนชื่อไฟล์ที่ฉันแก้ไขได้อย่างไร
เป็นไปได้ไหมที่จะเปลี่ยนชื่อไฟล์ที่ฉันแก้ไขจากภายใน Vim? ปัจจุบันสิ่งที่ฉันทำคือออกจากกลุ่มเปลี่ยนชื่อไฟล์และเปิดจากกลุ่มอีกครั้ง

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