2012-12-02 10 views
8

Tôi đang sử dụng vim-latexsuite để chỉnh sửa tệp mủ. Văn bản ban đầu từ google doc và có nhiều ký hiệu toán học không được viết trong chế độ toán học.chỉnh sửa mủ trong vim: cách thay đổi văn bản sang chế độ toán học

Tôi phải thêm $ trước và sau mỗi biểu tượng. Nhưng đó là đau đớn. (Tìm kiếm/Thay thế không hoạt động bởi vì một số mẫu phương trình phức tạp.)

Có cách nào cho phép tôi chọn trực quan các ký hiệu hoặc equestions bằng cách sử dụng Ctrl-V trong chế độ trực quan, sau khi nhấn phím, $ thêm trước và sau khi lựa chọn trực quan?

Trả lời

7

Tôi không nghĩ có bất kỳ lệnh tiêu chuẩn cho điều này, nhưng bạn có thể sử dụng plugin surround.vim để làm điều này:

http://www.catonmat.net/blog/vim-plugins-surround-vim/

Lệnh là csW$ bao vây các văn bản hiện tại với $

+0

Tôi thích surround.vim. Lưu ý nếu bạn đã có một lựa chọn, bạn có thể chỉ cần khóa 's $' để bao quanh với '$'. Và vì 'c',' s', 'W' và' $ 'là tất cả được khóa bằng tay trái, tôi sẽ sử dụng' ysiw $ 'để bao quanh từ con trỏ đang ở trên với' $ '(nó có một chuyển động trống quay qua lại tuyệt đẹp). Hoặc kết hợp với macro và bạn đã đặt! –

+0

cảm ơn, nó hoạt động tuyệt vời! – user875367

+0

Đối với tôi, nó không phải '' csW $ '' nhưng '' cSW $ '' (lưu ý chữ viết hoa S) để bao quanh văn bản với ký hiệu đô la $. Khi sử dụng sai chữ thường '' s'', văn bản sẽ bị xóa. Xem thêm: http://stackoverflow.com/questions/13497990/vim-surround-not-working-for-me-s-key-deletes-instead-of-surrounds –

2

Bạn có thể ghi lại macro để thực hiện việc này.

Với lựa chọn hình ảnh, làm điều này:

qq – kỷ lục vĩ mô trong sổ đăng ký q

c – thay đổi nội dung của vùng chọn hình ảnh

$$Esc – chèn $$

P – dán văn bản gốc giữa $ s (lưu ý đó là một P vốn)

q – dừng ghi vĩ mô

Từ đó trở đi, bạn có thể chọn lựa hình ảnh và chỉ cần chạy @q.

2

Có thực tế một lệnh tiêu chuẩn cho việc này được tích hợp vào vim-latexsuite. Xem tài liệu vim-latex dành cho macro here.

In addition the visual mode macros are provided: 

    `( encloses selection in \left(and \right) 
    `[ encloses selection in \left[ and \right] 
    `{ encloses selection in \left\{ and \right\} 
    `$ encloses selection in $$ or \[ \] depending on characterwise or 
              linewise selection