Bao gồm trong vimrc?


11

Có thể bao gồm các tệp bên ngoài để có nguồn gốc trong tệp vimrc?

Có phải nó là một vấn đề đơn giản như chỉ cần thêm source somefile?

Câu trả lời:


15

Không giống như :source, :runtimekhông cần một con đường tuyệt đối để làm việc. Nó là tốt hơn nhiều so với :sourceviệc xây dựng các thiết lập di động.

Xem :help :runtime.

Trong ví dụ sau, chúng tôi bảo Vim tìm vimrctệp trong các thư mục được cung cấp bởi runtimepathbiến. Vì ~/.vim/là thư mục đầu tiên trong danh sách, runtime vimrchoạt động giống như :source ~/.vim/vimrckhông cần cung cấp đường dẫn phụ thuộc hệ thống.

Trong ~/.vimrc:

runtime vimrc

4

Câu trả lời nên phụ thuộc vào những gì bạn muốn phân tán trong một số tệp. Có một vài cách khác nhau để có cấu hình trong một số tệp. Lưu ý: sự khác biệt giữa runtimesourceđã được mô tả, tôi sẽ không nói gì nữa về chủ đề này.

Vì thế. Bạn cũng sẽ phải tính đến những gì. Ngày nay, chúng tôi hiếm khi có nhu cầu sử dụng sohoặc rutừ .vimrc. Tuy nhiên, tôi vẫn làm điều đó chỉ trong hai trường hợp:

  • hãy chắc chắn rằng một plugin không tự động tải được tải trước khi kết thúc .vimrc (để xác định những thứ khác phụ thuộc vào plugin này)
  • tải cài đặt cụ thể của hệ điều hành

Đối với các trường hợp khác:

  • đối với định nghĩa hàm, có các plugin tự động tải;
  • để làm nổi bật cú pháp, màu sắc, có các tệp chuyên dụng trong các thư mục cùng tên;
  • đối với các cài đặt cụ thể của filetype, có các plugin filetype (có autocommands trong .vimrc là một giải pháp dành cho người nghèo, một giải pháp không có tỷ lệ);
  • đối với các cài đặt cụ thể của dự án, có các plugin như local_vimrc;
  • đối với bất kỳ tập hợp ánh xạ hoặc tính năng phức tạp nào khác, có các plugin nơi chúng tôi có thể tập hợp lại các định nghĩa theo chủ đề;

Cuối cùng, tôi có .vimrc của mình:

  • tùy chọn toàn cầu được thiết lập với :set
  • thủ tục cần thiết của trình quản lý plugin tôi đang sử dụng
  • các cấu hình khác nhau cho các plugin tôi sử dụng (Tôi ghi đè các tổ hợp phím mặc định trong .vimrc)
  • và một vài điều (thực sự quá nhiều) tôi đã kéo dài suốt 20 năm.


2

Là một compleI có những dòng này trong vimrc của tôi có thể khiến bạn quan tâm. Sau đó, tôi sử dụng nguồn vimrc cục bộ mà tôi không giữ trong điều khiển nguồn dotfiles của mình:

" Source a local vimrc {{{
    if has('win32')
        let $MYLOCALVIMRC = $HOME . "/_local.vim"
    else
        let $MYLOCALVIMRC = $HOME . "/.local.vim"
    endif

    if filereadable($MYLOCALVIMRC)
        source $MYLOCALVIMRC
    endif
" }}} 

Phần đầu tiên xác định tên tệp thành nguồn có thể không thú vị đối với bạn nhưng phần thứ hai sẽ kiểm tra xem tệp có thể được lấy nguồn trước khi tìm nguồn cung ứng hay không.

Lưu ý rằng :h source:

Đọc các lệnh Ex từ {file}. Đây là các lệnh bắt đầu bằng dấu ":"

Vì vậy, điều này sẽ cho phép bạn tìm nguồn tệp chứa vimscript nhưng bạn không thể nguồn trực tiếp một tệp chứa ngôn ngữ khác với phương thức này, ngay cả khi dòng đầu tiên chứa shebang đúng ( #!/bin/...)

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.