记事本像VIM中的“多重编辑”一样?
发布时间:2020-12-15 19:19:54 所属栏目:安全 来源:网络整理
导读:我从记事本切换到VIM作为主文本编辑器。 记事本可以通过按住ctrl并单击文本中的任何位置来拥有多个光标,因此如果键入,文本将显示在多个位置。 是否有可能在vim?在视觉模式下选择多行后,可以在文本中的任意位置放置光标。 这是我很少使用的功能,也很容易
我从记事本切换到VIM作为主文本编辑器。
记事本可以通过按住ctrl并单击文本中的任何位置来拥有多个光标,因此如果键入,文本将显示在多个位置。 是否有可能在vim?在视觉模式下选择多行后,可以在文本中的任意位置放置光标。 这是我很少使用的功能,也很容易避免,我只是好奇,因为它是唯一一个我不能在vim中找到替代品。
没有这样的内置功能。
让我建议一个重复命令的函数(例如,重复最后一个) function! MarksRepeat(marks,command) let pos = 0 let len = strlen(a:marks) let alpha = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' let beta = '1234567899bcdefghijklmnopqrstuvwxyzzBCDEFGHIJKLMNOPQRSTUVWXYZZ' while pos < len if a:marks[pos + 1] != '-' exe 'norm `' . a:marks[pos] . a:command let pos += 1 elseif a:marks[pos] <= a:marks[pos+2] let mark = a:marks[pos] let stop = a:marks[pos+2] if mark =~ '[0-9a-zA-Z]' && stop =~ '[0-9a-zA-Z]' while 1 exe 'norm `' . mark . a:command if mark == stop break endif let mark = tr(mark,alpha,beta) endwhile endif let pos += 3 endif endwhile endfunction 在您的情况下,可以使用以下功能。 >使用Vim标记所有地方同时插入(除了一个) :call MarksRepeat(?marks?,'.') (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |