Vim方式在多行上划出文本对象

srg*_*hma 3 vim

假设我有

- '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
Run Code Online (Sandbox Code Playgroud)

我如何autoindent autoread backspace...用视觉块(系统)将系统注册等词语等等

PS已经尝试过vim-multiple-cursors,但是插件有bug(而不是vim方式)并且如果在其间退出多游标模式,则不允许复制粘贴.


俄语版也有很棒的答案

rom*_*inl 6

一种方法

:%norm f'"Zya'
Run Code Online (Sandbox Code Playgroud)

会投入'autoindent' 'autoread' 'backspace' 'backupdir' 'complete' 'directory'登记z.

方法1

要在Vim之外使用,您可以:

:let @+ = @z
Run Code Online (Sandbox Code Playgroud)

另一个结果相同但复杂得多(只是为了它的乐趣)

/'\w\{-}' <CR>
"Zca'
<C-r><C-o>"<Esc>
n.n.n.n.n.
Run Code Online (Sandbox Code Playgroud)

方法2

奖金

清除命名寄存器(寄存器z,这里)的最快方法是:

qzq
Run Code Online (Sandbox Code Playgroud)