ไฟล์. vimrc ของฉันอยู่ที่ไหน


438

ฉันใช้เป็นกลุ่มและฉันต้องการบันทึกการตั้งค่าของฉัน ปัญหาฉันมีคือว่าผมไม่สามารถหาไฟล์ .vimrc ของฉันและมันไม่ได้อยู่ในมาตรฐาน/home/user/.vimrcที่ตั้ง ฉันจะหาไฟล์นี้ได้อย่างไร


21
หากยังไม่มีให้สร้าง

10
/usr/share/vim/vimrcเครื่องอูบุนตูของฉันมีไว้ในไฟล์ชื่อ
ckjbgames

คำตอบ:


513

คุณต้องสร้างมันขึ้นมา ในการติดตั้งส่วนใหญ่ที่ฉันใช้มันไม่ได้ถูกสร้างขึ้นเป็นค่าเริ่มต้น

~/.vimrcคุณมักสร้างเป็น


17
ตรวจสอบ / etc / vim / vimrc
Natesh bhat

@Nateshbhat: ฉันควรใช้ต่อไป/etc/vim/vimrcหรือคัดลอกมันไป~/.vimrc? หรือฉันจะมีทั้งคู่ได้ไหม
โมฮัมหมัดไฟซาล

หากคุณต้องการปรับแต่งมันฉันจะคัดลอกในเครื่องก่อน มิฉะนั้นคุณจะเปลี่ยนการตั้งค่าสำหรับผู้ใช้ทั้งหมด
AlG

354

วิธีการเหล่านี้ใช้งานได้หากคุณมีไฟล์. vimrc อยู่แล้ว:

:scriptnamesแสดงรายการไฟล์. vim ทั้งหมดที่โหลดเป็นกลุ่มรวมถึง.vimrcไฟล์ของคุณ

:e $MYVIMRCเปิดและแก้ไข. vimrc ปัจจุบันที่คุณใช้จากนั้นใช้Ctrl+ Gเพื่อดูเส้นทางในแถบสถานะ


7
@MorganWilde ไม่จำเป็นต้อง:scriptnamesและ:e $MYVIMRCทั้งสองคืนผลตอบแทนที่ว่างเปล่าสำหรับฉัน
Rohmer

1
+1 :scriptnamesสำหรับ แต่ไม่รับประกันว่าจะถูกตั้งค่าตัวอย่างเช่นเมื่อเริ่มต้นเป็นกลุ่มที่มี$MYVIMRC vim -u filename
1983

4
: scriptnames มี vimrc แต่ไม่ใช่. vimrc พวกมันเหมือนกันหรือไม่ ฉันพบพวกเขาอยู่ในโฟลเดอร์ usr / share ของฉันจะเพิ่ม ~ / .vimrc (เป็นคำตอบที่ยอมรับ) แม้จะทำอะไรก็ตามโดยไม่ต้องตั้งค่าเพิ่มเติม นั่นเป็นวิธีเพิ่มตัวเลือกเฉพาะของผู้ใช้ไปยัง vimrc หรือไม่?
ไทเลอร์

15
โปรดทราบว่า:e $MYVIMRCจะทำงานเมื่อมีvimrcไฟล์ในสถานที่แรกเท่านั้น มิฉะนั้นนี้จะเริ่มต้น edting $MYVIMRCไฟล์ที่เรียกว่าอักษร
Tomalak

1
@Shadoninja - นั่นไม่ใช่ "ของคุณ" นั่นคือrcไฟล์ทั่วโลก สิ่งที่คุณกำหนดไว้ใน.vimrcไฟล์ (ในกรณีส่วนใหญ่ในไดเรกทอรีบ้านของคุณ) /etc/vimrcจะแทนที่ค่าเริ่มต้นใน
mathguy

92

คำตอบสั้น ๆ :

ในการสร้าง vimrc ของคุณให้เริ่ม Vim และทำสิ่งใดสิ่งหนึ่งต่อไปนี้:

:e $HOME/.vimrc  " on Unix, Mac or OS/2

:e $HOME/_vimrc  " on Windows

:e s:.vimrc      " on Amiga

แทรกการตั้งค่าที่คุณต้องการและบันทึกไฟล์

โปรดทราบว่าการมีอยู่ของไฟล์นี้จะปิดการใช้งานcompatibleตัวเลือก ดูรายละเอียดด้านล่าง

คำตอบยาว:

vimrc มีสองชนิด:

  • vimrc ใช้ใน$HOME
  • vimrc ระบบใน$VIM(ในระบบเอมิs:.vimrcถือว่าเป็น vimrc ผู้ใช้)

ไฟล์ vimrc ของผู้ใช้มักจะไม่มีอยู่จนกระทั่งสร้างโดยผู้ใช้ หากคุณไม่พบ$HOME/.vimrc(หรือ$HOME/_vimrcบน Windows) คุณสามารถทำได้และน่าจะสร้างได้

โดยปกติระบบ vimrc ควรจะไม่ถูกแก้ไขและอยู่ในไดเร็กทอรี$VIM* ระบบ vimrc ไม่ใช่สถานที่ที่ดีที่คุณเก็บการตั้งค่าส่วนตัวของคุณ หากคุณแก้ไขไฟล์นี้การเปลี่ยนแปลงของคุณอาจถูกเขียนทับหากคุณเคยอัพเกรด Vim นอกจากนี้การเปลี่ยนแปลงที่นี่จะส่งผลต่อผู้ใช้รายอื่นในระบบที่มีผู้ใช้หลายคน ในกรณีส่วนใหญ่การตั้งค่าในผู้ใช้ vimrc จะแทนที่การตั้งค่าในระบบ vimrc

จาก:help vimrc:

ไฟล์ที่มีคำสั่งเริ่มต้นเรียกว่าไฟล์ "vimrc" แต่ละบรรทัดในไฟล์ vimrc จะถูกดำเนินการเป็นบรรทัดคำสั่ง Ex บางครั้งเรียกว่าไฟล์ "exrc" เป็นไฟล์ประเภทเดียวกัน แต่ "exrc" เป็นสิ่งที่ Vi มักใช้เสมอ "vimrc" เป็นชื่อเฉพาะของกลุ่ม ดูเพิ่มเติมที่ | vimrc-intro |

สถานที่สำหรับการเริ่มต้นส่วนบุคคลของคุณ:

    Unix            $HOME/.vimrc or $HOME/.vim/vimrc
    OS/2            $HOME/.vimrc, $HOME/vimfiles/vimrc
                    or $VIM/.vimrc (or _vimrc)
    MS-Windows      $HOME/_vimrc, $HOME/vimfiles/vimrc
                    or $VIM/_vimrc
    Amiga           s:.vimrc, home:.vimrc, home:vimfiles:vimrc
                    or $VIM/.vimrc

ไฟล์จะถูกค้นหาตามลำดับที่ระบุไว้ด้านบนและอ่านไฟล์แรกเท่านั้นที่พบ

(MacOS นับเป็น Unix สำหรับด้านบน)

โปรดทราบว่าการมีอยู่ของผู้ใช้ vimrc จะเปลี่ยนพฤติกรรมของกลุ่มโดยการปิดcompatibleตัวเลือก จาก:help compatible-default:

เมื่อ Vim เริ่มทำงานตัวเลือก 'Compatible' จะเปิดขึ้นมา สิ่งนี้จะถูกใช้เมื่อ Vim เริ่มต้นการกำหนดค่าเริ่มต้น แต่ทันทีที่พบไฟล์ผู้ใช้ vimrc หรือไฟล์ vimrc ในไดเรกทอรีปัจจุบันหรือตัวแปรสภาพแวดล้อม "VIMINIT" ถูกตั้งค่ามันจะถูกตั้งค่าเป็น 'ไม่เข้ากัน' นี่คือผลข้างเคียงของการตั้งค่าหรือการรีเซ็ตตัวเลือกอื่น ๆ (ดูที่ 'เข้ากันได้') แต่จะมีการเปลี่ยนแปลงเฉพาะตัวเลือกที่ไม่ได้ตั้งค่าหรือรีเซ็ต


* $VIMอาจไม่ได้รับการตั้งค่าในเชลล์ของคุณ แต่ถูกตั้งค่าไว้ภายใน Vim เสมอ หากคุณต้องการที่จะเห็นสิ่งที่มันตั้งค่าให้เริ่มต้นเป็นกลุ่มและใช้คำสั่ง:echo $VIM


28

ในฐานะข้อมูลเพิ่มเติมส่วนใหญ่ใน macOS ไฟล์. vimrc จะอยู่ที่ไดเรกทอรี:

/usr/share/vim/.vimrc

25
นั่นคือระบบ vimrc ดีกว่าที่จะแก้ไข $ HOME / .vimrc และสร้างมันหากยังไม่มีอยู่
Laurence Gonsalves

1
หากไฟล์. vimrc ไม่ได้ถูกสร้างในโฮมไดเร็กตอ/usr/share/vim/.vimrcรี่ให้อ้างอิงไฟล์สำหรับการใช้งาน
Sandeep

เช่นเดียวกับใน Ubuntu ที่ฉันพบ
ckjbgames

25
:echo($MYVIMRC)

จะให้ตำแหน่งของไฟล์. vimrc ของคุณ

:e $MYVIMRC

จะเปิดมัน


1
ฉันนำสิ่งต่อไปนี้กลับมา: -bash: ข้อผิดพลาดทางไวยากรณ์ใกล้กับโทเค็นที่ไม่คาดคิด '$ MYVIMRC'
Yannis Dran

@YannisDran - Uhmm อะไรนะ?
โกง

@Idigas ฉันพิมพ์: echo (xxx) บนหน้าต่างคำสั่งของฉัน แต่ฉันรู้แล้วว่าตอนนี้คุณต้องพิมพ์สิ่งนี้ลงในเครื่องมือแก้ไขเสียงเรียกเข้า อย่างไรก็ตามแม้ว่า: e xxx จะทำงานได้ แต่: echo (xxx) ไม่ทำงาน มันบอกว่า E121 Undefined Variable: xxx E15: การแสดงออกที่ไม่ถูกต้อง: ($ xxx)
Yannis Dran

@YannisDran - เพื่อให้ชัดเจนคุณมีข้อผิดพลาดเมื่อพิมพ์: echo ($ myvimrc) ลงในบรรทัดคำสั่ง vim? ไม่: echo (myvimrc) โดยโอกาสใด ๆ ?
โกง

1
ฉันใช้ $ และฉันได้ลงในตัวแก้ไข vi (การพิมพ์: เปิดใช้งานบรรทัดคำสั่ง) Btw ตอนนี้กลุ่มตอบสนองอะไรมันเพียงทำให้ตัวบ่งชี้ที่บรรทัดแรกของกลุ่ม (Vim-Vi ปรับปรุง v.7.3 บน OSX)
Yannis Dran

15

ไม่ว่าจะด้วยเหตุผลใดคำตอบเหล่านี้ไม่ได้ผลสำหรับฉัน นี่คือสิ่งที่ใช้ได้ผลสำหรับฉันแทน:

ใน Vim :versionคำสั่งให้พา ธ ของระบบและไฟล์ vimrc และ gvimrc ของผู้ใช้ (เหนือสิ่งอื่นใด) และเอาต์พุตมีลักษณะดังนี้:

 system vimrc file: "$VIM/vimrc"
   user vimrc file: "$HOME/.vimrc"
    user exrc file: "$HOME/.exrc"
system gvimrc file: "$VIM/gvimrc"
  user gvimrc file: "$HOME/.gvimrc"

สิ่งที่คุณต้องการคือ user vimrc file: "$HOME/.vimrc"

ดังนั้นเพื่อแก้ไขไฟล์: vim $HOME/.vimrc

ที่มา: เปิดไฟล์ vimrc


2
ฉันไม่เข้าใจว่าคำตอบที่มีอยู่ไม่ได้ผลสำหรับคุณอย่างไรในความเป็นจริงแล้วคำตอบที่คุณเสนอนั้นครอบคลุมอยู่แล้ว คำตอบนี้กล่าว$HOME/.vimrcและคำตอบด้านบนกล่าวซึ่งเป็นเช่นเดียวกับ~/.vimrc $HOME/.vimrc
doubleDown

เห็นด้วยอย่างสมบูรณ์กับคุณ สิ่งที่ฉันหมายถึงจะหายไปเมื่อคำตอบของฉันถูกแก้ไข
Aaron Alphonsus

11

Open Vim และในโหมดปกติ:

:echo $VIM

คำตอบที่ไม่ประเมิน
Fl.pf.

/usr/share/vimสำหรับผมมันจะออกผลลัพธ์เท่านั้น เวอร์ชัน 8.2.100, Arch Linux
Yaroslav Nikitenko

สิ่งนี้บอกให้คุณทราบถึงไดเร็กทอรีของระบบ vimrc ของคุณ แต่มันไม่ได้บอกคุณว่า vimrc ผู้ใช้ของคุณควรไปที่ใดหรือชื่ออะไร
Laurence Gonsalves

ดีคำถาม "ที่ไหน" เป็นไฟล์ vimrc vimrc ของผู้ใช้ควรไปที่ไหน? ใส่ไว้ใน~/.vimrcหรือ~/.vim/vimrcสังเกตว่าหลังไม่มีจุดอยู่ข้างหน้า
adem

8

บนยูนิกซ์vim --versionจะบอกตำแหน่งต่าง ๆ ของไฟล์ vim config:

   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/share/vim"

สามารถตรวจสอบว่าใช้งานได้กับ VIM ที่รวมกับ Git สำหรับ Windows (สังเกตนี้เพียงเพราะมากว่าคำตอบนั้นอาจเข้าใจว่าไม่ทำงานใน Git Bash.)
เจเน็ต

5

นี่คือเคล็ดลับเพิ่มเติมเล็กน้อย:

  • ในArch Linux/etc/vimrcหนึ่งทั่วโลกที่ มีความคิดเห็นบางส่วนในนั้นพร้อมรายละเอียดที่เป็นประโยชน์

  • เนื่องจากชื่อไฟล์ขึ้นต้นด้วย a .มันจะซ่อนอยู่เว้นแต่คุณls -aจะใช้เพื่อแสดงไฟล์ทั้งหมด

  • การพิมพ์:versionใน Vim จะแสดงข้อมูลที่น่าสนใจมากมายรวมถึงตำแหน่งไฟล์

  • หากคุณไม่แน่ใจว่าสิ่งที่~/.vimrcหมายถึงการมองไปที่คำถามนี้


5

ฉันต้องการแบ่งปันวิธีที่ฉันตั้งค่าให้แสดงหมายเลขบรรทัดเป็นค่าเริ่มต้นบน Mac

  1. cdในขั้วประเภท สิ่งนี้จะช่วยคุณไปที่โฟลเดอร์บ้าน
  2. vi .vimrcในขั้วประเภท สิ่งนี้จะสร้างไฟล์ระบบ vimrc ที่ว่างซึ่งคุณต้องการใช้
  3. ในแฟ้มชนิดset numberและจากนั้นกดบนแป้นพิมพ์และพิมพ์Esc :wqนี้จะตั้งค่าหมายเลขบรรทัดที่แสดงในไฟล์การตั้งค่าเริ่มต้นvimrcและบันทึก
  4. vi somethingเพื่อดูว่าใช้งานได้หรือไม่ หากไม่ลองทำการรีสตาร์ทเครื่องโดยสมบูรณ์

หากใน terminal, พิมพ์ไปที่โฟลเดอร์นั้นและพิมพ์cd /usr/share/vim/ lsคุณสามารถดูไฟล์ชื่อ vimrc โดยตรง แต่มันเป็นไฟล์ระบบที่บอกว่าอ่านได้อย่างเดียว ฉันรู้สึกว่าไม่ใช่ความคิดที่ดีที่จะลองแก้ไข ดังนั้นทำตามขั้นตอนข้างต้นเพื่อสร้าง vimrc ด้วยตัวเองจะดีกว่า มันใช้งานได้สำหรับฉัน


สิ่งหนึ่งที่ฉันต้องการเปลี่ยนเป็นข้างต้นสำหรับการติดตั้ง CentOS7 ของฉัน: หลังจากขั้นตอนที่ 1 พิมพ์ "ชื่อผู้ใช้ cd"
HoldOffHunger

2

ฉันลองทุกอย่างในคำตอบก่อนหน้าและไม่สามารถหา.vimrcไฟล์ได้ดังนั้นฉันต้องทำมัน

ฉันคัดลอกไฟล์ตัวอย่าง, cp vimrc_example.vim ~/.vimrc.

ผมต้องสร้างไฟล์ที่คัดลอกจากไป/usr/share/vim/vim74/vimrc_example.vim ~/.vimrcเหล่านั้นคือคำแนะนำในvimrc_exampleไฟล์

โซลูชันของฉันสำหรับ Unix สำหรับระบบปฏิบัติการอื่น ตามเอกสารที่เป็นกลุ่มเส้นทางปลายทางของคุณควรเป็นดังนี้:

    For Unix and OS/2   : ~/.vimrc
    For Amiga           : s:.vimrc
    For MS-DOS and Win32: $VIM\_vimrc
    For OpenVMS         : sys$login:.vimrc

1

จาก cmd (Windows):

C\Users\You> `vim foo.txt`

ตอนนี้ในกลุ่มให้เข้าสู่โหมดคำสั่งโดยพิมพ์: " : " (เช่นShift+ ;)

:tabedit $HOME/.vimrc

สิ่งนี้จะสันนิษฐานว่าแป้นพิมพ์มีเค้าโครงของสหรัฐอเมริกา
ปีเตอร์มอร์เทนเซ่น

1

vimrcแฟ้มในอูบุนตู ( 12.04 (Precise Pangolin) ) : ฉันพยายาม:scriptnamesในกลุ่มและมันแสดงให้เห็นทั้งในและ/usr/share/vim/vimrc~/.vimrc

~/.vimrcแต่ผมได้สร้างขึ้นด้วยตนเอง


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