Có thể và hữu ích để phân chia vimrc?


21

Theo tiêu đề, có thể chia vimrctệp trong một số tệp phụ không? Giữ các tệp riêng biệt cho các nhóm cài đặt liên quan đến một điều ? Đây điều có thể là bất cứ điều gì, bất kỳ loại nhóm người dùng xác định các thiết lập. Ví dụ,

[cập nhật]

  • giữ tất cả các cài đặt liên quan đến Python (-mode) trong vimrc.python-mode?
  • giữ cài đặt cho tiện ích Lịch cho vim trong vimrc.calendar?
  • giữ cài đặt màu trong một tập tin riêng biệt?
  • giữ ánh xạ (còn gọi là phím tắt?) trong một tệp riêng biệt?

3
Mặt trái: nhóm dựa trên vị trí thay vì dựa trên filetype. Xem vi.stackexchange.com/q/77/205
muru

Có thể câu trả lời tôi đang tìm kiếm ở đâu đó trong số các dòng trong vi.stackexchange.com/a/3152/1963 ? Các tập tin nguồn chứa các cài đặt tôi muốn cho những thứ cụ thể tôi cần?
Nikos Alexandris

Đã xóa filetypethẻ - bây giờ có thể? Nó làm cho người đọc nghĩ rằng các câu hỏi là về các loại tệp cụ thể, không phải là trường hợp.
Nikos Alexandris

nó có vẻ thích hợp cho câu hỏi ban đầu.
muru

@muru Vâng, không phải lo lắng. Chúng tôi có thể thêm nó sau này là tốt. Cảm ơn bạn.
Nikos Alexandris

Câu trả lời:


22

Có điều này là có thể và hữu ích và thậm chí được coi là thực hành tốt nhất. Chúng được gọi là plugin filetype trong bài phát biểu của Vim. Và Vim thậm chí còn đi kèm với nhiều plugin filetype (cũng như các tệp cú pháp thụt lề và cú pháp) cho một số ngôn ngữ.

Bạn cần kích hoạt tính năng này .vimrcnhư thế này:

filetype plugin on

sau đó đặt các cài đặt filetype cụ thể của bạn vào một tệp (tạo các thư mục không tồn tại) được gọi ~/.vim/ftplugin/python.vimcho cài đặt python. Điều này cũng được bao gồm trong FAQ .

Cập nhật (13.11.2015) Ngoài ra còn có một khả năng khác (nếu bạn không muốn sử dụng các tùy chọn cụ thể của filetype): Nếu bạn muốn nhóm một số tùy chọn thành một tệp cụ thể, bạn có thể sử dụng lệnh sourcehoặc runtimelệnh. Ví dụ: my .vimrcchứa dòng này:

" This script contains plugin specific settings
source ~/.vim/plugins.vim
" This script contains mappings
source ~/.vim/mapping.vim
" additional helper functions:
source ~/.vim/functions.vim
" For abbreviations read in the following file:
source ~/.vim/abbrev.vim

Đẹp, tôi đã có cái này! Nhưng không bao giờ thực sự có một cái nhìn gần. Vì vậy, tôi đã bơm lên vimrc. Điều gì về các cài đặt không liên quan đến một filetype cụ thể?
Nikos Alexandris

2
Bạn có thể cần :he autoload:he source? Đồng thời kiểm tra câu trả lời này stackoverflow.com/a/805242/1821490
Alex Kroll

@AlexKroll không dành cho plugin filetype.
Christian Brabandt

@ChristianBrabandt cho mọi thứ bạn muốn. Bạn có thể nguồn bất kỳ tập lệnh trong .vimrc. Chỉ cần đặt source my-funy-useful-script.vimdòng trong .vimrcvà Vim tải nó sau khi khởi động lại (hoặc :so $MYVIMRClệnh). Cũng :he writing-library-scriptscó thể giúp bạn.
Alex Kroll

@AlexKroll Tôi nghĩ rằng đây là gần với câu trả lời tôi đang tìm kiếm. Bạn có phiền chỉnh sửa câu trả lời hiện tại và mở rộng nó không? Hoặc, làm cho một câu trả lời riêng biệt? Tôi không chỉ tìm kiếm các loại tập tin cụ thể. Tôi hy vọng điều này là rõ ràng trong câu hỏi của tôi.
Nikos Alexandris

4

Hoàn toàn có thể làm những gì bạn muốn. Một số người khác đã nói về các plugin filetype hoạt động tốt cho điều đó.

Nhưng bạn có thể nguồn và tệp .vim trong vimrc của mình để bạn có thể chia .vimrc thành nhiều tệp như bạn muốn. Chỉ cần nguồn tập tin và nó sẽ làm việc. Một ví dụ ở đây là dotfiles (có lẽ không hữu ích) của tôi. https://github.com/dspecht/dotfiles/


Bạn có thể vui lòng cho một ví dụ về những gì bạn đã làm trong câu trả lời của bạn và tại sao nó hoạt động?
EvergreenTree
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.