Có thể không? Chắc chắn rồi! Trường hợp và điểm: textobj-word-cột.vim .
Cách tạo các đối tượng văn bản của riêng bạn
Thông thường chế độ trực quan được sử dụng để tạo một đối tượng văn bản mới. Chế độ trực quan có thể là dòng thông minh, thông minh nhân vật (thông thường) hoặc khối hình ảnh. Dưới đây là những điều cơ bản về những gì bạn sẽ cần:
- Một tổ hợp khóa không được sử dụng điển hình
a{char}
hoặc i{char}
ở {char}
cả hai mô tả và không được sử dụng. ví dụ i/
như một đối tượng văn bản mẫu giữa /
's.
- Cần một cách để tìm sự bắt đầu của đối tượng văn bản của bạn. ví dụ
T/
- Cần một cách để tìm sự kết thúc của đối tượng văn bản của bạn. ví dụ
t/
- Chọn một chế độ trực quan. ví dụ
v
- Tạo một chế độ trực quan (chỉ) ánh xạ qua
xnoremap
.
- Tạo một toán tử ánh xạ chế độ chờ xử lý sử dụng ánh xạ chế độ trực quan thông qua
onoremap
và :normal
.
Bây giờ là một ví dụ về đơn giản của chúng ta i/
tạo ra một đối tượng văn bản giữa /
các:
xnoremap i/ :<c-u>normal! T/vt/<cr>
onoremap i/ :normal vi/<cr>
Miễn là bạn làm theo các thành phần cơ bản, bạn có thể tạo các đối tượng văn bản cho tất cả các loại.
Tạo đối tượng văn bản nâng cao với vim-textobj-user
Các vim-textobj người dùng plugin cung cấp một cách phổ biến để xác định tùy chỉnh văn bản các đối tượng trong một thời trang khai báo nhiều hơn nữa. Ví dụ ở đây là một đối tượng văn bản thẻ php:
call textobj#user#plugin('php', {
\ 'code': {
\ 'pattern': ['<?php\>', '?>'],
\ 'select-a': 'aP',
\ 'select-i': 'iP',
\ },
\ })
Để được trợ giúp thêm với vim-textobj-user, hãy xem tài liệu trợ giúp của nó : :h textobj-user-introduction
.
Để được trợ giúp thêm
:h map-overview
:h visual-start
:h :norm
Cũng như Tạo các đối tượng văn bản mới Trang wiki Vim.