2011-01-23 32 views
6

Có lệnh vim để trực tiếp chọn một khối văn bản vừa được dán không?vim: cách chọn khối được dán

ps. Tôi biết về gv để chọn lại một khối sau khi thoát khỏi chế độ trực quan. Nó không áp dụng cho trường hợp này.

+0

Hmm ... Tôi tự hỏi nếu bạn có thể thêm một 'autocmd' để chạy sau khi bạn dán? –

Trả lời

11

Nếu bạn muốn chọn nó ngay sau khi dán (trước khi thay đổi bất cứ điều gì khác), sử dụng

nnoremap <expr> gV "`[".getregtype(v:register)[0]."`]" 

. [] điểm đánh dấu để bắt đầu và kết thúc thay đổi cuối cùng, v: đăng ký được đặt thành thanh ghi cuối cùng được sử dụng (đăng ký được sử dụng cho lệnh dán trừ khi bạn, ví dụ, yank), [0] chỉ chọn byte đầu tiên của thanh ghi loại (nó là cần thiết vì cho đăng ký khối, nó trả về <C-v>{width}) và loại đăng ký là một byte mà chỉ là giống như các phím tắt bạn nên sử dụng trong chế độ bình thường để gọi chế độ trực quan.

Tôi đã thấy giải pháp này ở đâu đó trên SO, bạn có thể muốn tìm kiếm giải pháp đó để nhận một số giải pháp thay thế.

+0

Hoàn hảo, cảm ơn! –

+2

Tôi tin rằng đây là chủ đề bạn đang tìm kiếm: http://stackoverflow.com/questions/4312664/is-there-a-vim-command-to-select-pasted-text –

+1

'getregtype ([{regname}]) 'Nếu {regname} không được chỉ định,' v: register' được sử dụng. Vì vậy, 'getregtype() [0]' cũng hoạt động. – kev

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