如何将范围扩展到vimscript中的列表?
发布时间:2020-12-14 01:14:14 所属栏目:Linux 来源:网络整理
导读:我想自动选择一个视觉选择的文本块,例如 51-100,并将其扩展为51,52,53,…,99,100. 在vimscript中有一个简单的方法吗? 解决方法 让我提出以下实施方案. vnoremap silent leader# :c-ucall ExpandRange()crfunction! ExpandRange() norm! gvy let n = matchli
我想自动选择一个视觉选择的文本块,例如
51-100,并将其扩展为51,52,53,…,99,100. 在vimscript中有一个简单的方法吗? 解决方法
让我提出以下实施方案.
vnoremap <silent> <leader># :<c-u>call ExpandRange()<cr> function! ExpandRange() norm! gvy let n = matchlist(@",'(d+)s*-s*(d+)')[1:2] if len(n) != 2 || +n[0] > +n[1] return end exe 'norm! gvc' . join(range(n[0],n[1]),',') endfunction 如果范围符号保证周围没有空格 let n = split(@",'-') 请注意,表示范围的文本将放入未命名的寄存器中.如果它 function! ExpandRange() let [qr,qt] = [getreg('"'),getregtype('"')] norm! gvy let n = matchlist(@",'(d+)s*-s*(d+)')[1:2] call setreg('"',qr,qt) if len(n) != 2 || +n[0] > +n[1] return end exe 'norm! gv"_c' . join(range(n[0],') endfunction (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |