我想在不规则长度的行末尾粘贴一列文字。
例如,我想粘贴以下内容:
SRR447882.fastq.gz
SRR447883.fastq.gz
SRR447944.fastq.gz
在这些行的末尾:
TIL01_
TIL01_
TIL04-TIP285_
过去很多次,我只是在第一行创建了足够的空间,在最长行的现有文本结束之前粘贴不会到来。但后来我需要回去删除空格。
我尝试使用谷歌搜索“vim列粘贴不规则长度行”和类似的查询。
答案 0 :(得分:37)
您可以尝试执行以下四个步骤:
y
V
)以_
结尾的3行,按:right
$
),粘贴被拉动的文本gv
重新选择这些行,按:left
看起来像这样:
答案 1 :(得分:4)
你可以这样做:
qq
,开始录制q
宏4k
,上线四行d$
,删除到行尾4j
,请返回上一行$p
,将该行粘贴在该行的末尾q
,停止录制宏jVG
,向下一行并选择其余行:norm! @q
,将宏应用于选择但它确实留下了前一个文本所在的空间。 @Kent one's仍然更容易和更性感。
答案 2 :(得分:4)
答案 3 :(得分:0)
Step 1
- 转到SPP ...行的开头,然后用 V (大写字母V)按行开始视觉模式,按 j 2选择所需行的时间然后按 y 。
Step 2
- 转到TIL0 ...行的开头,然后用 V (大写字母V)按行开始视觉模式,按 j 两次要选择所需的行,请键入...
:s;$;\=' ' . split(@")[line('.')-line("'<")];g`
并按 Enter 。
答案 4 :(得分:0)
这是另一种方式,它有不同的感觉:
set ve=all
允许在eol之后的任意列插入/粘贴。阻止复制源文本,然后在第一个目标行粘贴100|P
(100
任何列号比目标行长),然后:'[,']s, *\%100c,,
如果您执行p
而不是P
,则会获得空格分隔符。