我从记事本切换到VIM作为主文本编辑器。
记事本可以通过按住ctrl并单击文本中的任何位置来拥有多个光标,因此如果键入,文本将显示在多个位置。
是否有可能在vim?在视觉模式下选择多行后,可以在文本中的任意位置放置光标。
没有这样的内置功能。
让我建议一个重复命令的函数(例如,重复最后一个)
更改命令)在给定标记的位置。标记和命令都是
指定为字符串参数。标记指定的方式范围定期
定义表达式或scanf格式说明符。例如,za-dx
表示标记z,a,b,c,d,x。
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标记所有地方同时插入(除了一个)
标记(通过m命令)。
>实际在一个未标记的地方插入文字。
>运行功能:
:call MarksRepeat(‹marks›,'.')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。