.Vimrc có thể được chia thành nhiều tệp không?


11

Giả sử tôi có hàng trăm ánh xạ lại tùy chỉnh với iabJava và khoảng một trăm ánh xạ lại khác cho Haskell, sau đó tôi muốn chia chúng thành các tệp khác nhau để dễ quản lý hơn. Những gì tôi đang tìm kiếm là tạo ra một cái gì đó như thế này:

~/.
 ├── .vimrc
 └── .vim
     └── custom
         ├── java.vim
         └── haskell.vim

Trường hợp .vimrc có thể trông giống như

import java
import haskell

Là một cái gì đó như thế này có thể làm được, hoặc tôi chỉ là quá phức tạp? Tôi đoán những gì tôi đang cố gắng đạt được là những gì người ta làm trong LaTeX với \inputlệnh ...


2
Có một lý do bạn không đặt những thứ này vào ~/.vim/after/ftplugin/$language.vim?
wchargein

1
Không thực sự, tôi nên? Những gì được cho là đi vào after/ftplugin?
lindhe

2
Nếu bạn viết một tệp có tên, ví dụ ~/.vim/after/ftplugin/java.vim, nó sẽ tự động chạy bất cứ khi nào bạn mở javatệp. Đây dường như là những gì bạn muốn.
wchargein

Câu trả lời:


5

Bạn đang tìm kiếm ftplugins. Đây là mục đích của họ.

Và đừng quên xác định ánh xạ, cài đặt, viết tắt, lệnh, ... là cục bộ. Nếu không, chúng sẽ ký sinh các bộ đệm khác một khi được tải.

Dưới đây là một số câu trả lời đầy đủ hơn:


11

Có, lệnh vim bạn đang tìm kiếm :sourcehoặc :runtimeđể kéo chúng từ đó runtimepath.

Ví dụ: bạn có thể làm điều này trong .vimrc:

runtime custom/java.vim
runtime custom/haskell.vim

giả định ~/.vimlà trong của bạn runtimepath(mà theo mặc định).

Bạn cũng có thể thả tập lệnh của bạn vào ~/.vim/pluginthư mục; xem plugin ghi trong tài liệu. Vim tự động chạy tất cả các tập lệnh trong thư mục plugin.


Mát mẻ. Có bất kỳ quy ước đặt tên nào cho những gì tôi đã gọi ở đây custom, không phải là các plugin mà là các tệp cũng có thể có trong đó .vimrckhông?
lindhe

1
@ Lindh-E Không phải là tôi biết. Bạn có thể muốn sử dụng một cái gì đó mà bạn chắc chắn sẽ không có ý nghĩa bởi phiên bản vim trong tương lai. Vì họ cố gắng duy trì khả năng tương thích với tên tệp 8.3, nên tôi đề xuất tên thư mục> 8 ký tự.
derobert
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.