假设我有
- 'autoindent' is set by default
- 'autoread' is set by default
- 'backspace' defaults to "indent,eol,start"
- 'backupdir' defaults to .,~/.local/share/nvim/backup (|xdg|)
- 'complete' doesn't include "i"
- 'directory' defaults to ~/.local/share/nvim/swap// (|xdg|), auto-created
我如何用视觉块(假设)将单词autoindent autoread backspace...
等用于系统注册
P.S。尝试了vim-multiple-cursors,但是插件buggy(而不是vim方式)并且如果一个退出多游标模式,则不允许复制粘贴。
答案 0 :(得分:6)
:%norm f'"Zya'
会将'autoindent' 'autoread' 'backspace' 'backupdir' 'complete' 'directory'
放入注册z
。
要在Vim之外使用,您可以这样做:
:let @+ = @z
/'\w\{-}' <CR>
"Zca'
<C-r><C-o>"<Esc>
n.n.n.n.n.
清除命名寄存器(寄存器z,这里)的最快方法是:
qzq
答案 1 :(得分:1)
为了使其发挥作用:
a
:输入 qaq
在命令行执行:
:%s/^- '\(\w\+\)'/\=setreg('A',submatch(1),'V')/n
将所需的输出复制到注册表a
中,您可以通过输入命令行来获取它:
:put A
答案 2 :(得分:1)
没有视觉阻止的解决方案:
:let @+=''
- 清除系统寄存器
qa
- 记录以注册&#39; a&#39;
^3l"kyej
- 进入第四栏,抓住这个词来注册&#39; k&#39;并转到下一行
:let @+=@+ . ' ' . @k
- 连接系统寄存器,&#39; &#39;并注册&#39; k&#39;并将结果再次存储在系统寄存器
q
- 停止录制
5@a
- 重复录制的命令5次 - 瞧
reg +
- 显示"+ autoindent autoread backspace backupdir complete
答案 3 :(得分:1)
我的ExtractMatches plugin(以及其他)有:YankMatches
命令。它的工作方式类似于内置:substitute
:
:YankMatches!/'\zs[^']\+\ze'/+
默认情况下,该命令用换行符分隔元素;如果您希望它们以空格分隔,请使用以下变体:
:YankMatches!/'\zs[^']\+\ze'/& /+