đặt `.vimrc` vào thư mục` .vim`


24

Là nó có thể để đưa .vimrcvào .vimthư mục vì vậy mà tôi chỉ phải đồng bộ hóa toàn bộ thư mục và không thư mục và tập tin vào máy tính khác?


2
Bạn có thể xem xét giữ tất cả các dotfiles của mình trong kho lưu trữ được kiểm soát sửa đổi. Tất cả các dotfiles của tôi được giữ trong một thư mục được quản lý bởi git. Repo này cũng chứa một tập lệnh để kiểm tra các khác biệt giữa repo và dotfiles đã cài đặt và tập lệnh để sao chép các dotfiles vào vị trí thích hợp của chúng. Để thiết lập một máy khác, về cơ bản, tôi sao chép repo và chạy tập lệnh cài đặt.
Roland Smith

Tôi đã nhận được cùng một hệ thống, dotfile của tôi thậm chí còn được biên dịch từ rất nhiều tệp nguồn riêng biệt, vì một tệp duy nhất đã trở nên quá dài :-D
Martin Uting

@RolandSmith Làm thế nào để bạn thiết lập một repo với các tập tin dấu chấm của bạn? Một cách tôi có thể nghĩ đến là chạy git init trong thư mục nhà của bạn và loại trừ mọi thứ trừ các tệp chấm mà bạn muốn theo dõi.
adammendoza

@adammendoza Tôi không quản lý chúng tại chỗ. Tôi tập hợp mọi thứ vào một cây thư mục và sử dụng một tập lệnh gọi là triển khai để cài đặt chúng. Đọc mô tả trên trang github được liên kết để xem nó hoạt động như thế nào.
Roland Smith

Có một công cụ được gọi là VCSH cho phép bạn theo dõi họ trong thư mục nhà của bạn nhưng vẫn giữ repo ở một nơi khác.
Martin Uting

Câu trả lời:


28

Bắt đầu từ Vim 7.4, bạn cũng có thể đặt tệp vimrcvào $HOME/.vim/vimrchoặc $HOME/vimfiles/vimrccho Windows và Vim sẽ tự động tìm tệp.

Lưu ý, đây là vimrckhông có a. (dấu chấm) hoặc _ (gạch dưới) như tệp .vimrc / _vimrc truyền thống sẽ có.


Âm thanh tốt. Nếu bạn thích, bạn có thể đặt mã của bạn vào backticks.
Martin Uting

Hiện tại 7.4 cũng đã hết bản beta ... vì vậy đây có lẽ là cách tốt nhất để làm điều đó ngay bây giờ.
Ben

+1 cho cách tiêu chuẩn mới của tôi để gán các tệp đó. Trong trường hợp tôi đang sử dụng máy không sử dụng 7.4 nhưng là phiên bản cũ hơn, tôi luôn có thể tạo liên kết tượng trưng ...
polemon

@Ben: Chà, sẽ mất một lúc cho đến khi tôi có 7.4 trên máy Ubuntu của mình mà không có bất kỳ backport nào, vì vậy nó sẽ giữ nguyên như vậy cho đến bây giờ.
Martin Uting

15

Tôi giữ .vimrc của tôi trong .vim và liên kết nó.

ln -s ~/.vim/.vimrc ~/.vimrc

Trên Windows tôi tin rằng bạn có thể làm tương tự với mklink.


Tôi làm điều này và cũng có thư mục .vimrc trên github, điều này rất dễ dàng khi thiết lập một tài khoản mới. Điều này được mô tả trong các bước đầu tiên của vimcast này
pmac72

5

Nếu bạn đã tạo một bí danh cho vim để chỉ định vị trí của .vimrc như vậy:

alias vim='vim -u ~/.vim/vimrc'

sau đó bạn có thể loại bỏ việc có .vimrc riêng biệt.

NHƯNG

Điều này sẽ gây ra vấn đề với các chương trình khác tương tác với vim. Nhấn 'v' trong 'less' sẽ không hoạt động, vì nó gọi vim thông qua nội dung của biến env EDITOR. Tôi cho rằng bạn có thể thêm bit '-u ...' vào biến EDITOR. có thể làm việc.

Đối với gvim, bạn sẽ sử dụng chữ hoa 'U' ở đó, để chỉ định vị trí của tệp .gvimrc. Một lần nữa, các vấn đề xảy ra trừ khi bạn thay đổi MỌI vị trí bắt đầu có thể của gvim trong các liên kết bắt đầu của người quản lý cửa sổ của bạn.

Nói chung, tôi khuyên bạn nên sử dụng đề xuất của @ remyo nếu bạn PHẢI có tất cả trong một thư mục con.

Thật dễ dàng để tạo một tập lệnh kéo sau sẽ thiết lập lại liên kết giữa 'repo / .vimrc' và '~ / .vimrc'.

Chúc may mắn.

(bạn có thể tự biên dịch lại vim, chỉ định vị trí mặc định mới cho tệp .vimrc.)


1
Được rồi, có vẻ như tạo ra nhiều vấn đề hơn là giải quyết.
Martin Uting

2

Đó chính xác là những gì tôi làm, với dòng duy nhất này trong ~/.vimrc:

runtime vimrc

2
Được rồi, nhưng tôi vẫn phải có một .vimrcsau đó. Sau đó, tôi chỉ sử dụng một trong những bạn đã cho tôi trong câu hỏi khác.
Martin Uting
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.