2010-11-07 42 views
17

Cũng giống như chỉnh sửa tệp nguồn C, tôi có thể nhấn% để đóng cửa} cho con trỏ hiện tại {. Tôi làm cách nào để chỉnh sửa tệp html? Có phím tắt nào không? Để được rõ ràng, tôi muốn:Tôi làm cách nào để tìm thấy thẻ html đóng nhanh chóng trong vim?

<html> 
</html> 

Khi di chuyển curosr để <html>, tôi muốn nhấn một phím, do đó con trỏ sẽ nhảy đến </html>.

+0

thể trùng lặp của [Chuyển đến phù hợp với thẻ XML trong Vim] (http://stackoverflow.com/questions/500989/jump-to-matching-xml-tags-in-vim) – kenorb

Trả lời

14

Bạn có thể thực hiện việc này bằng plugin matchit bằng cách nhập% khi chuột của bạn ở trên thẻ mở.

http://www.vim.org/scripts/script.php?script_id=39

+4

Nếu tôi không nhầm, plugin matchit được đưa vào bản phân phối vim, vì vậy liên kết này không liên quan. Để cài đặt nó, hãy xem ': h matchit-install' (nhưng tôi đề nghị bạn thay thế tất cả các lệnh' cp' bằng 'ln -s', để không phải trùng khớp với mỗi lần nó được cập nhật). – ZyX

+1

Tùy thuộc vào bản phân phối của bạn. Có vẻ như gvimportable từ portableapps.com không bao gồm nó. Tôi có thể nhầm lẫn và tôi hy vọng như vậy. – Benoit

5

Tôi đã gặp vấn đề với điều này là quá khứ, ngay cả với plugin matchit. Cách tôi giải quyết nó là sửa đổi b: match_words trên các tệp kiểu xml. Đây là phần có liên quan từ .vimrc của tôi:

autocmd FileType html let b:match_words = '<\(\w\w*\):</\1,{:}' 
    autocmd FileType xhtml let b:match_words = '<\(\w\w*\):</\1,{:}' 
    autocmd FileType xml let b:match_words = '<\(\w\w*\):</\1,{:}' 

Hãy dùng thử, xem có giúp ích gì không.

+0

Bạn có thể có một dòng trong '.vimrc': \t': let loaded_matchit = 1'. Tôi đã thêm nó vào đầu mà không cần đọc kỹ tài liệu. Vì vậy, nó làm cho tôi dành rất nhiều thời gian gỡ lỗi này. –

+0

Trong trường hợp của tôi, tôi không có dòng này, nhưng cảm ơn bạn cho tip. –

18

Bạn có thể nhảy giữa các thẻ sử dụng khai thác thị giác, trong ví dụ:

  1. Đặt con trỏ trên thẻ.
  2. Nhập chế độ trực quan bằng cách nhấn v.
  3. Chọn khối thẻ bên ngoài bằng cách nhấn một + t hay i + t cho khối tag bên trong.

Con trỏ của bạn phải chuyển tiếp đến thẻ đóng html/xml phù hợp. Để lùi lại từ thẻ đóng, nhấn o hoặc O để chuyển sang thẻ đối diện.

Bây giờ bạn có thể thoát khỏi hình ảnh bằng cách nhấn Esc, thay đổi nó bằng c hay sao chép bởi y.


Để ghi lại hành động đó vào đăng ký, nhấn qq để bắt đầu ghi, thực hiện thẻ nhảy như trên (bao gồm cả Esc), nhấn q để kết thúc. Sau đó, để gọi nhảy, hãy nhấn @q.


Xem thêm trợ giúp tại :help visual-operators hoặc :help v_it:

tại một khối <tag> </tag> (với thẻ)

nội <tag> </tag> khối


Hoặc sử dụng các plugin như matchit.vim (Xem: Using % in languages without curly braces).


Xem thêm:

+1

Xuất sắc. Tôi đã tìm kiếm một cái gì đó để phân tích cú pháp HTML và tìm các thẻ bắt đầu và kết thúc, nhưng không thể tìm thấy gì hữu ích. HTML là một mớ hỗn độn lộn xộn vào thời điểm tốt nhất. Điều tồi tệ nhất của tất cả các đánh dấu, và không có đánh dấu là tốt. Điều này làm việc tốt, cảm ơn. – MagicLAMP

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