2013-08-16 24 views
8

Tôi đang sử dụng tính năng ẩn của vim để hiển thị các tệp latex của tôi ở dạng có phần dễ đọc hơn.Kết hợp tính năng che giấu và che dấu của vim

Hơn nữa, tôi đang sử dụng plugin vim-latex, tạo nếp gấp cho môi trường toán học, sau đó hiển thị nhãn và phần đầu nội dung của môi trường.

Ví dụ: Môi trường toán học trong mã latex đơn giản trông như thế này:

\begin{align} 
    \xi = \cos \alpha 
    \label{eqn:test} 
\end{align} 

Sử dụng tính năng che giấu của vim, nó được hiển thị như

\begin{align} 
    ξ = \cos α 
    \label{eqn:test} 
\end{align} 

Khi vim tại tạo nếp gấp, nó hiển thị dưới dạng

+-- 4 lines: align (eqn:test): \xi = \cos \alpha 

Câu hỏi của tôi bây giờ là: Có thể sử dụng phần che giấu để mô tả các nếp gấp để trông giống như dưới đây không?

+-- 4 lines: align (eqn:test): ξ = \cos α 
+1

+1 để hiển thị ẩn, điều này hoàn toàn mới đối với tôi! – Jonatan

+0

Không bao giờ nghe nói về che giấu trước câu hỏi này! Cảm ơn! – imslavko

+1

@ Jonatan mỗi khi chúng tôi ': h something' chúng ta thấy cú pháp che giấu và che giấu làm nổi bật. Bởi vì vim giúp ft có cú pháp che giấu. Ví dụ. ': h something' và sau đó' V' rồi 'jjjjjj ...' cho đến khi bạn nhìn thấy những thứ che giấu. (ví dụ, liên kết) bộ đệm trợ giúp vim có 'cocu = nc' và' cole = 2'. – Kent

Trả lời

2

Nhìn chung, foldtext và che giấu thể được kết hợp. Nhưng điều này cần phải được thực hiện bởi chính mình, theo logic ẩn.

Tùy chọn foldtext xác định văn bản cần hiển thị, khi gấp được đóng. Giá trị của tùy chọn có thể là hàm hoặc biểu thức vim. vì vậy chúng tôi có thể sửa đổi khá nhiều trên văn bản gốc.

Che giấu. thường là khi mô hình X phù hợp, hiển thị Y thay vì X. Vì vậy, chúng ta có thể viết một hàm, đọc dòng đầu tiên, kiểm tra các mẫu cú pháp ẩn, nếu dòng khớp với bất kỳ, nếu True, sau đó loại bỏ các phần phù hợp và hiển thị cchar. Chúng tôi đặt chức năng này làm giá trị của tùy chọn foldtext. Tất nhiên chỉ dành cho loại tệp nhất định.

Để đánh dấu, hai nhóm này có thể được sử dụng cho ngữ cảnh.

Folded  line used for closed folds 
FoldColumn 'foldcolumn' 

Đó là những gì tôi có thể nghĩ đến. Nếu ai đó có thể có một số cách tốt hơn/dễ dàng hơn để làm điều đó, tôi vui mừng khi biết. ví dụ một số chức năng tích hợp, mà tôi không biết, có thể giúp đỡ trong tình huống này.

+0

Cảm ơn thông tin. Vì vậy, về cơ bản, tôi phải viết một bộ lọc cho hàm foldtext đi kèm với bộ latex, và sử dụng nó như là một văn bản mới. Có cách nào để sử dụng cú pháp của vim phù hợp trên chuỗi trả về bởi một hàm hoặc tôi sẽ phải thực hiện toàn bộ kết hợp bản thân mình? –

+0

@SimonL. như tôi đã viết trong câu trả lời. AFAIK Tôi không nghĩ rằng vim cung cấp những thứ ra khỏi hộp. – Kent

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