Câu trả lời:
Bạn cần một plugin tuyệt vời và phải có bao quanh plugin . Sau đó, nó sẽ vui vẻ làm những gì bạn muốn nếu bạn chọn văn bản và nhập Sb
(dấu ngoặc nhọn) hoặc S)
(lưu ý viết hoa S!).
Nó thực sự có thể làm rất nhiều thứ xung quanh: nhiều trích dẫn, thẻ, v.v. Nó cho phép bạn đặt con trỏ vào từ được trích dẫn kép và thay đổi dấu ngoặc kép thành dấu ngoặc đơn bằng cách gõ: cs"'
(thay đổi bao quanh "
thành '
). Hoặc bạn hoàn toàn có thể xóa dấu ngoặc kép bằng cách gõ ds"
(xóa-Surround "
).
Đọc tài liệu theo liên kết, nó thực sự tuyệt vời!
sb
(dấu ngoặc nhọn), hoặc s)
.
s
chỉ xóa lựa chọn và vào chế độ chèn.
Để thêm vào gợi ý của Dmitry về plugin bao quanh , việc thêm dấu ngoặc đơn xung quanh văn bản được tô sáng có thể được thực hiện bằng lệnh sau:
xi()<Esc>P
Bạn có thể đặt bản đồ ở chế độ trực quan bằng cách sử dụng (ví dụ) \s
bằng cách thêm phần sau vào ~/.vimrc
tệp của mình :
xnoremap <leader>s xi()<Esc>P
V
thay vì v
). Trong trường hợp này, nó chỉ dán các dòng bên dưới parens của bạn.
lh-ngoặc đơn giản liên kết (
để bao quanh lựa chọn với dấu ngoặc. Không giống như bao quanh, nó không tuân theo triết lý đóng khóa thông thường của vim. Thay vào đó, cần ít chìa khóa hơn.
Nếu không, có nhiều cách để tiến hành. Nếu bạn không phiền làm hỏng sổ đăng ký không tên, bạn cũng sử dụng s(^R")<esc>
( ^R
như CTRL-R
)
Dựa trên câu trả lời của dotancohens, tôi đặt câu hỏi sau .vimrc
:
xnoremap <leader>( <ESC>`>a)<ESC>`<i(<ESC>
Bạn có thể dễ dàng tạo các ánh xạ tương tự cho [], {}, v.v. Nó hoạt động bằng cách nhảy đến điểm đánh dấu bắt đầu và kết thúc được đặt ngầm sau khi kết thúc chế độ trực quan. Bằng cách này, việc chọn toàn bộ các dòng sẽ thêm các parens ở đầu / cuối của dòng đầu tiên / cuối cùng; nó sẽ không ghi đè đăng ký yank của bạn; và nó sẽ rời khỏi con trỏ ngay trước khi mở paren.