Làm cách nào để chuyển giữa các thẻ HTML / XML phù hợp?


44

Làm cách nào để chuyển giữa các thẻ khớp (chẳng hạn như <div>, <span>v.v.) khi chỉnh sửa các tài liệu HTML / XHTML / XML tương tự như %được sử dụng để chuyển giữa các dấu ngoặc phù hợp?


6
có thể trùng lặp với việc sử dụng% trong các ngôn ngữ không có dấu ngoặc nhọn ... Giải pháp này cũng hoạt động với HTML (chỉ cần thử nghiệm nó, nếu bạn sử dụng >nó sẽ hoạt động như trước, nếu bạn sử dụng divnó sẽ hoạt động như bạn muốn).
Martin Tournoij

@Carpetsmoker Nếu câu hỏi này được sao chép câu trả lời giống như chung (sử dụng một plugin), thì nó sẽ không cho phép bất kỳ câu trả lời nào liên quan đến thẻ html cụ thể.
kenorb 14/2/2015

Tuy nhiên, câu hỏi khác có cùng một câu trả lời, vì vậy đây là một bản sao.
Doorknob 14/2/2015

Câu trả lời mẫu đã đăng không phù hợp với câu hỏi khác, vì vậy nó không trùng lặp.
kenorb

1
@Doorknob Thực tế là hai câu hỏi xảy ra có cùng một câu trả lời không nhất thiết có nghĩa là các câu hỏi là trùng lặp với nhau.
200_success 14/2/2015

Câu trả lời:


44

Vim vận chuyển với một macro được gọi là matchit thực hiện điều này cho bạn; tất cả những gì bạn cần làm là kích hoạt nó runtime macros/matchit.vimtrong vimrc của bạn. Điều này sẽ cho phép bạn nhảy từ, ví dụ, a <div>sang nó </div>. Lưu ý rằng con trỏ của bạn sẽ phải nằm trong dấu ngoặc nhọn; nếu bạn đang ở trong ngoặc vuông, %sẽ nhảy từ khung này sang khung khác như bình thường.


22

Bạn có thể chuyển giữa các thẻ bằng các toán tử trực quan, ví dụ:

  1. Đặt con trỏ trên thẻ.
  2. Vào 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 a+ thoặc i+ tcho khối thẻ bên trong.

Con trỏ của bạn sẽ nhảy về phía trước để đóng thẻ html / xml phù hợp. Để nhảy lùi từ thẻ đóng, nhấn ohoặc Ođể nhảy sang thẻ đối diện.

Bây giờ bạn có thể thoát trực quan bằng cách nhấn Esc, thay đổi nó bằng choặc sao chép bằng y.


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


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

at một <tag> </tag>khối (có thẻ)

it<tag> </tag>khối bên trong


Hoặc sử dụng plugin như matchit.vim hoặc Surround.vim .


Xem thêm:


3

Các xmledit( http://vimawesome.com/plugin/xmledit ) Plugin cho phép để nhảy giữa các thẻ mở và đóng bằng

  • <người định vị>%

Thường thì <locallhead> sẽ có \, vì vậy bạn có thể nhảy với

  • \%

LƯU Ý: Không giống như matchit, bạn không phải đặt con trỏ vào trong thẻ. Đặt nó ngay trên <hoặc >hoàn toàn tốt cho xmleditplugin. :)

CHÚ THÍCH 2: Một nhược điểm ở đây là, bạn không thể sử dụng nó trong chế độ trực quan. Nhưng đây không phải là vấn đề lớn, vì bạn luôn có thể chọn toàn bộ thẻ at.

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.