2012-04-27 36 views
5

Tôi có hai bộ đệm trong phiên vim của mình và tôi đã đặt cú pháp trong vimrc của mình, tôi đã sử dụng minibufexpl để quản lý các bufs.vim cú pháp tắt khi một bộ đệm bỏ?

Tôi đã sử dụng : q để thoát buf hiện tại, nhưng buf khác sẽ tự động đặt cú pháp, tôi phải sử dụng: set syntax = on để mở cú pháp đánh dấu theo cách thủ công. Ai đó có thể cho tôi một giải pháp mà không đặt cú pháp tự động sau khi một buf bỏ? Cảm ơn!! (Tôi đã thử : bd để thoát buf thay vì : q, đôi khi nó vẫn giữ nguyên cú pháp nhưng đôi khi không có).

+1

': set syntax = on' sẽ buộc đánh dấu bộ đệm hiện tại bằng cách sử dụng 'syntax/on '.vim' script, nó sẽ không bật tô sáng cú pháp. – ZyX

Trả lời

1

Bạn có thể sử dụng cú pháp bật hoặc cú pháp trong vimrc của mình. Để biết thêm thông tin sử dụng: cú pháp h.

Ok sau đó kiểm tra xem tập tin cú pháp của bạn là chính xác, nó sẽ như thế này looke

au BufNewFile, BufRead * .cpp thiết syntax = cpp11 < - đó là dòng Tôi có cho các tập tin cpp.

Hy vọng trợ giúp này.

+1

Tôi đã đặt cú pháp trong vimrc của mình. Và vấn đề là khi tôi thoát khỏi một tệp, các tệp khác sẽ tự động đặt cú pháp. –

0

Plugin không hoạt động đúng.

Sau khi đóng bộ đệm (và làm mất cú pháp tô sáng), hãy điều tra, ví dụ:

:verbose set syntax? 

này sẽ hiển thị một cái gì đó giống như

syntax=cpp 
    Last set from C:\Program Files\Vim\vim73\syntax\syntax.vim 

Bạn cũng có thể có thể nhìn thấy những gì diễn ra sai tôi làm

:debug quit 

Nếu vẫn thất bại, hãy thử loại bỏ các nguồn sai sót bằng cách tắt bổ sung từng cái một (hoặc xóa tất cả, và cho phép từng cái một). Tại một số điểm vấn đề sẽ xuất hiện/biến mất và bạn đã tìm thấy bên có tội.

2

Đây có thể là quá muộn, nhưng tôi đã trải qua những vấn đề chính xác cùng và thấy rằng cách thêm dòng

set hidden 

Vimrc của tôi giải quyết vấn đề này. Điều này làm cho bộ đệm ẩn vim thay vì đóng chúng khi bạn nhập ": q" Nó cũng có vẻ để giữ cho cú pháp tô sáng của tôi được kích hoạt giữa các tập tin khi tôi điều hướng với minibufexplorer.

Hy vọng điều này sẽ hữu ích.

3

Nếu bạn đang sử dụng minibufexpl.vim, thêm dòng sau vào vimrc của bạn:

let g:miniBufExplForceSyntaxEnable = 1 

Nó dường như được gây ra bởi một lỗi trong vim. Đối với các chi tiết, tham khảo các release notes for minibufexpl version 6.3.1

Lưu ý rằng điều này sẽ làm việc cho : bd nhưng không : q

+0

Điều này không hoạt động trong phiên bản 6.5.2 (phát hành vào ngày 17 tháng 6 năm 2013) –

1

Có thể bạn nên thêm dòng này vào gvimrc:

autocmd BufDelete * syntax on 
+0

Thử nghiệm trong phiên bản 6.5.2 (phát hành vào ngày 17 tháng 6 năm 2013) –

Các vấn đề liên quan