2010-02-18 42 views
9

Nhấn p dán những thứ dưới dòng hiện tại, dit xóa mọi thứ bên trong thẻ html. Làm thế nào để dán một cái gì đó bên trong các thẻ html?Làm thế nào để dán một cái gì đó giữa các thẻ html trong Vim?

Nor here 
<p>I want to paste something here</p> 
    Not here 
+0

Chữ thường 'p' đặt văn bản sau con trỏ, chữ hoa' P' đặt văn bản trước con trỏ. Bạn đã di chuyển con trỏ trước khi đặt văn bản chưa? http://vimdoc.sourceforge.net/htmldoc/change.html#put –

Trả lời

10

Kết quả của việc nhấn Pp tùy thuộc vào những gì bạn có trong sổ đăng ký đã chọn tại thời điểm đó. Nếu bạn xóa hoặc yank một hoặc nhiều dòng (ví dụ: với các lệnh dd, Y hoặc Vd), thì nhấn P sẽ chèn nội dung của thanh ghi của bạn trên dòng phía trên dòng hiện tại, trong khi p sẽ chèn vào dòng bên dưới con trỏ.

Nếu bạn xóa hoặc yank một phần của văn bản dưới một dòng (ví dụ với D, hoặc yw lệnh), sau đó P sẽ chèn nội dung của đăng ký của bạn trực tiếp trước vị trí con trỏ hiện tại, và p sẽ chèn trực tiếp sau khi con trỏ (tức là trên cùng một dòng).

Nếu hữu ích, bạn có thể xem xét các lựa chọn linewise như là tương tự như khối yếu tố html (như <div>), và lựa chọn characterwise như là tương tự như inline yếu tố html (như span).

Vì vậy, để trả lời câu hỏi của bạn: nó phụ thuộc. Giả sử bạn có một phần dòng văn bản trong thanh ghi, bạn sẽ muốn chia thẻ mục tiêu thành hai dòng trước khi thực hiện thao tác dán. Trong ví dụ của bạn, thay vì làm dit để xóa nội dung của thẻ, hãy cit để xóa cùng một phần và chuyển sang chế độ chèn. Nhấn return một lần, để chèn một dòng mới, sau đó esc để quay lại chế độ thông thường, sau đó P để chèn thanh ghi hàng của bạn trên đường thẳng với thẻ đóng.

Nếu bạn không muốn chia thẻ thành nhiều dòng, bạn sẽ phải đảm bảo rằng bạn đã kéo mạnh một lựa chọn theo ký tự vào thanh ghi. Sau đó, bạn có thể chạy:

"_ditP 

"_ xóa văn bản vào lỗ đen đăng ký, đảm bảo nó không ghi đè lên những gì có trong đăng ký mặc định của bạn. dit xóa nội dung của thẻ và P dán nội dung của thanh ghi mặc định của bạn trước vị trí con trỏ.

0

Bạn có thể nhấn "v" cho thị giác, sau đó đi đến nơi con trỏ là, và nhấn p hoặc P.

2

loại bỏ các nội dung hiện tại giữa các thẻ bằng lệnh

cit 

rằng sẽ 'thay đổi trong các thẻ' và một khi nội dung đó đã biến mất, bạn có thể dán với nhấp chuột giữa hoặc nếu bạn cần quay trở lại chế độ lệnh và sử dụng p/etc bình thường của bạn.

1

vitp nên xử lý dán theo đường thẳng.

11

Tôi thường chỉ làm vitp để trực quan chọn nội dung bên trong của thẻ, sau đó dán vào nội dung được chọn.

Làm việc cho tôi.

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