Tập tin .vimrc của tôi ở đâu?


436

Tôi đã sử dụng Vim và tôi thực sự muốn lưu cài đặt của mình. Vấn đề tôi gặp phải là tôi không thể tìm thấy tệp .vimrc của mình và nó không ở /home/user/.vimrcvị trí chuẩn . Làm thế nào tôi có thể tìm thấy tập tin này?


21
Nếu nó không có ở đó, tạo ra nó.

10
Máy Ubuntu của tôi có nó trong một tập tin có tên /usr/share/vim/vimrc.
ckjbgames

Câu trả lời:


512

Bạn cần tạo ra nó. Trong hầu hết các cài đặt tôi đã sử dụng, nó không được tạo theo mặc định.

Bạn thường tạo ra nó như ~/.vimrc.


17
đồng thời kiểm tra / etc / vim / vimrc
Natesh vào

@Nateshbhat: tôi nên tiếp tục sử dụng /etc/vim/vimrchoặc sao chép nó vào ~/.vimrc? Hoặc tôi có thể có cả hai?
Mohammad Faisal

Nếu bạn muốn tùy chỉnh nó, trước tiên tôi sẽ sao chép nó. Nếu không, bạn đang thay đổi cài đặt cho tất cả người dùng.
AlG

353

Các phương thức này hoạt động, nếu bạn đã có tệp .vimrc:

:scriptnamesliệt kê tất cả các tệp .vim mà Vim đã tải cho bạn, bao gồm cả .vimrctệp của bạn .

:e $MYVIMRCmở và chỉnh sửa .vimrc hiện tại mà bạn đang sử dụng, sau đó sử dụng Ctrl+ Gđể xem đường dẫn trên thanh trạng thái.


7
@MorganWilde Không nhất thiết, :scriptnames:e $MYVIMRCcả hai đều trả lại kết quả đầu ra trống cho tôi.
Rohmer

1
+1 cho :scriptnames. Tuy nhiên $MYVIMRCkhông được đảm bảo để được đặt, ví dụ như khi bắt đầu vim với vim -u filename.
1983

4
: scriptnames có vimrc nhưng không .vimrc, chúng có giống nhau không? Tôi tìm thấy chúng nằm trong thư mục usr / share của mình, liệu có thêm ~ / .vimrc (như câu trả lời được chấp nhận) thậm chí làm bất cứ điều gì sau đó mà không cần cấu hình thêm không? Có phải đó là một cách để thêm các tùy chọn cụ thể của người dùng vào vimrc?
Tyler

14
Lưu ý rằng :e $MYVIMRCchỉ hoạt động khi có một vimrctập tin ở nơi đầu tiên. Nếu không, điều này sẽ bắt đầu chỉnh sửa một tập tin được gọi theo nghĩa đen $MYVIMRC.
Tomalak

1
@Shadoninja - đó không phải là "của bạn", đó là rctệp toàn cầu . Bất cứ điều gì bạn xác định trong .vimrctệp của mình (trong hầu hết các trường hợp trong thư mục chính của bạn) sẽ ghi đè mặc định trong /etc/vimrc.
mathguy

92

Câu trả lời ngắn:

Để tạo vimrc của bạn, hãy khởi động Vim và thực hiện một trong các thao tác sau:

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

:e $HOME/_vimrc  " on Windows

:e s:.vimrc      " on Amiga

Chèn các cài đặt bạn muốn và lưu tệp.

Lưu ý rằng sự xuất hiện của tệp này sẽ vô hiệu hóa compatibletùy chọn. Xem bên dưới để biết chi tiết.

Câu trả lời dài:

Có hai loại vimrc:

  • các vimrc sử dụng trong$HOME
  • các hệ thống vimrc trong $VIM(trên các hệ thống Amiga, s:.vimrcđược coi là một vimrc người dùng)

Tệp vimrc người dùng thường không tồn tại cho đến khi được tạo bởi người dùng. Nếu bạn không thể tìm thấy $HOME/.vimrc(hoặc $HOME/_vimrctrên Windows) thì bạn có thể, và có lẽ nên, chỉ cần tạo nó.

Vimrc hệ thống thường không được sửa đổi và được đặt trong thư mục $VIM* . Hệ thống vimrc không phải là nơi tốt để bạn giữ các cài đặt cá nhân của mình. Nếu bạn sửa đổi tệp này, các thay đổi của bạn có thể bị ghi đè nếu bạn từng nâng cấp Vim. Ngoài ra, những thay đổi ở đây sẽ ảnh hưởng đến những người dùng khác trên hệ thống nhiều người dùng. Trong hầu hết các trường hợp, cài đặt trong vimrc người dùng sẽ ghi đè cài đặt trong vimrc hệ thống.

Từ :help vimrc:

Một tệp chứa các lệnh khởi tạo được gọi là tệp "vimrc". Mỗi dòng trong tệp vimrc được thực thi dưới dạng dòng lệnh Ex. Đôi khi nó còn được gọi là tệp "exrc". Chúng là cùng loại tệp, nhưng "exrc" là thứ Vi luôn sử dụng, "vimrc" là tên cụ thể của Vim. Xem thêm | vimrc-giới thiệu |.

Địa điểm khởi tạo cá nhân của bạn:

    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

Các tập tin được tìm kiếm theo thứ tự được chỉ định ở trên và chỉ có tập tin đầu tiên được tìm thấy mới được đọc.

(MacOS được tính là Unix cho phần trên.)

Lưu ý rằng sự tồn tại đơn thuần của người dùng vimrc sẽ thay đổi hành vi của Vim bằng cách tắt compatibletùy chọn. Từ :help compatible-default:

Khi Vim bắt đầu, tùy chọn 'tương thích' được bật. Điều này sẽ được sử dụng khi Vim bắt đầu khởi tạo. Nhưng ngay sau khi tìm thấy tệp vimrc người dùng hoặc tệp vimrc trong thư mục hiện tại hoặc biến môi trường "VIMINIT" được đặt, nó sẽ được đặt thành 'không tương thích'. Điều này có tác dụng phụ là cài đặt hoặc đặt lại các tùy chọn khác (xem 'tương thích'). Nhưng chỉ các tùy chọn chưa được đặt hoặc đặt lại sẽ được thay đổi.


* $VIMcó thể không được đặt trong trình bao của bạn, nhưng luôn được đặt bên trong Vim. Nếu bạn muốn xem nó được đặt là gì, hãy khởi động Vim và sử dụng lệnh:echo $VIM


28

Là thông tin bổ sung, chủ yếu trong macOS, tệp .vimrc được đặt tại thư mục:

/usr/share/vim/.vimrc

25
Đó là hệ thống vimrc. Tốt hơn là chỉnh sửa $ HOME / .vimrc và tạo nó nếu nó chưa tồn tại.
Laurence Gonsalves

1
Nếu tệp .vimrc không được tạo trong thư mục chính thì /usr/share/vim/.vimrctệp tham chiếu vi sẽ được sử dụng.
Sandeep

Tương tự trong Ubuntu, như tôi đã tìm thấy.
ckjbgames

25
:echo($MYVIMRC)

sẽ cung cấp cho bạn vị trí của tệp .vimrc của bạn.

:e $MYVIMRC

sẽ mở nó


1
Tôi lấy lại các phần sau: -bash: lỗi cú pháp gần mã thông báo bất ngờ '$ MYVIMRC'
Yannis Dran

@YannisDran - Uhmm, cái gì?
Rook

@Idigas Tôi đã gõ: echo (xxx) trên cửa sổ lệnh của tôi nhưng tôi nhận ra bây giờ bạn có ý định nhập cái này vào trình soạn thảo vim. Tuy nhiên, mặc dù: e xxx hoạt động, nhưng: echo (xxx) thì không. Nó nói E121 Biến không xác định: xxx E15: Biểu thức không hợp lệ: ($ xxx)
Yannis Dran

@YannisDran - Để rõ ràng, bạn đã gặp lỗi đó khi gõ: echo ($ myvimrc) vào dòng lệnh vim? Không phải: echo (myvimrc) bởi cơ hội nào?
Rook

1
Tôi sử dụng $ và tôi đã thực hiện nó trong trình soạn thảo vi (Typing: enable dòng lệnh). Btw, bây giờ vim không trả lời gì cả, nó chỉ đặt chỉ báo ở dòng đầu tiên của vim. (Vim-Vi được cải thiện v.7.3 trên OSX)
Yannis Dran

15

Vì lý do nào, những câu trả lời này không hiệu quả với tôi. Đây là những gì làm việc cho tôi thay vào đó:

Trong Vim, :versionlệnh cung cấp cho bạn các đường dẫn của tệp vimrc và gvimrc của hệ thống và người dùng (trong số những thứ khác) và đầu ra trông giống như thế này:

 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"

Người bạn muốn là user vimrc file: "$HOME/.vimrc"

Vì vậy, để chỉnh sửa các tập tin: vim $HOME/.vimrc

Nguồn: Mở tệp vimrc


2
Tôi không hiểu làm thế nào các câu trả lời hiện tại không phù hợp với bạn khi thực tế giải pháp bạn đề xuất đã được họ đề cập. Câu trả lời này đề cập $HOME/.vimrccâu trả lời hàng đầu đề cập đến ~/.vimrcgiống như $HOME/.vimrc.
doubleDown

Hoàn toàn đồng ý với bạn. Điều tôi muốn nói đã bị mất khi câu trả lời của tôi đã được chỉnh sửa
Aaron Alphonsus

11

Mở Vim và ở chế độ bình thường:

:echo $VIM

câu trả lời bị đánh giá thấp
Fl.pf.

Đối với tôi nó chỉ xuất ra /usr/share/vim. Phiên bản 8.2.100, Arch Linux.
Yar Tư Nikitenko

Điều này cho bạn biết thư mục mà vimrc hệ thống của bạn được đặt, nhưng nó không cho bạn biết vimrc người dùng của bạn nên đi đâu, hoặc tên của nó sẽ là gì.
Laurence Gonsalves

Chà, câu hỏi "ở đâu" là tập tin vimrc. Người dùng vimrc nên đi đâu? Đặt nó vào ~/.vimrchoặc ~/.vim/vimrc, lưu ý rằng sau này không có dấu chấm phía trước nó.
quảng cáo

8

trên unix vim --versioncho bạn biết các vị trí khác nhau của tệp cấu hình vim:

   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"

Có thể xác minh rằng điều này hoạt động với VIM đi kèm với Git cho Windows. (Lưu ý điều này chỉ vì rất nhiều câu trả lời SO có thể cho rằng KHÔNG LÀM VIỆC trong Git Bash.)
Janet

5

Dưới đây là một vài lời khuyên:

  • Trong Arch Linux , toàn cầu là một /etc/vimrc. Có một số ý kiến ​​trong đó với các chi tiết hữu ích.

  • Vì tên tệp bắt đầu bằng a ., nên nó bị ẩn trừ khi bạn sử dụng ls -ađể hiển thị TẤT CẢ các tệp.

  • Nhập :versionvào trong Vim sẽ hiển thị cho bạn một loạt thông tin thú vị bao gồm cả vị trí tệp.

  • Nếu bạn không chắc chắn điều gì ~/.vimrccó nghĩa là nhìn vào câu hỏi này .


5

Tôi muốn chia sẻ cách tôi đặt hiển thị số dòng làm mặc định trên Mac.

  1. Trong một thiết bị đầu cuối, gõ cd. Điều này sẽ giúp bạn đi đến thư mục nhà.
  2. Trong thiết bị đầu cuối, gõ vi .vimrc. Điều này sẽ tạo ra một tệp hệ thống vimrc trống mà bạn muốn sử dụng.
  3. Trong tệp, nhập set number, sau đó nhấn Esctrên bàn phím và nhập :wq. Điều này sẽ đặt số dòng được hiển thị trong tệp cài đặt mặc định vimrcvà lưu nó.
  4. vi somethingđể xem nếu điều này làm việc. Nếu không, hãy thử khởi động lại thiết bị đầu cuối hoàn toàn.

Nếu trong một thiết bị đầu cuối, nhập vào cd /usr/share/vim/, đi đến thư mục đó và nhập ls. Bạn có thể trực tiếp nhìn thấy một tập tin có tên vimrc. Nhưng đó là một tập tin hệ thống chỉ đọc. Tôi cảm thấy không nên thử sửa đổi nó. Vì vậy, làm theo các bước trên để tạo một vimrc một mình là tốt hơn. Nó làm việc cho tôi.


Một điều tôi cần thay đổi ở trên cho cài đặt CentOS7 của mình: sau bước 1, nhập "tên người dùng cd".
Hold OfferHunger

2

Tôi đã thử mọi thứ trong câu trả lời trước và không thể tìm thấy một .vimrctập tin, vì vậy tôi phải làm một tập tin.

Tôi đã sao chép tập tin ví dụ , cp vimrc_example.vim ~/.vimrc.

Tôi đã phải tạo tập tin, sao chép từ /usr/share/vim/vim74/vimrc_example.vimđến ~/.vimrc. Đó là những chỉ dẫn trong vimrc_exampletập tin.

Giải pháp của tôi là dành cho Unix cho các hệ điều hành khác. Theo tài liệu của Vim, đường dẫn đích của bạn phải như sau:

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

1

Từ cmd (Windows):

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

Bây giờ trong Vim, nhập chế độ lệnh bằng cách nhập: " : " (tức là Shift+ ;)

:tabedit $HOME/.vimrc

Điều này giả định một bàn phím có bố trí Hoa Kỳ.
Peter Mortensen


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.