VIM在每行末尾附加一个数字序列

| 我对vim完全陌生,我知道vim可以做什么神奇的事情。我的要求是在每行的末尾附加一个数字序列,然后我看到有人在我前面这样做。只是我没有足够的时间来搜索正确的命令,所以我认为在这里发一个问题应该是一种更快的方法,因为我已经没有时间了。很抱歉成为菜鸟,但看来这是我能想到的唯一方法。 所以样本文件的内容就像
1       Afghanistan     
2       Albania 
3       Algeria 
4       American        
5       Andorra 
6       Angola  
7       Anguilla        
8       Antarctica
国家列表,假设它是一个数据库表,每一列都用制表符分隔。我已经想出了一种在每个行的末尾添加制表符的方法,但是现在的问题是在每行的末尾也添加一个数字,并且每行的数字与其id完全相同(第一个数字) 我以某种方式认为应该在可视模式下完成,但是如果您知道的话,请告诉我一个可行的解决方案。非常感谢您的帮助。 最好的祝福, 海浪     
已邀请:
        在vim中打开文件。如果不在退出模式下,请按ESC。 写这个
:%s/$/\\=line(\'.\')/
这会将数字序列附加在每行的末尾。首先添加数字
:%s/^/\\=line(\'.\')/
    
        输入:
1       Afghanistan     
2       Albania 
3       Algeria 
4       American        
5       Andorra 
6       Angola  
7       Anguilla        
8       Antarctica
按键:
:%s!^\\(\\d\\+\\).*!&\\t\\1<CR>
输出:
1       Afghanistan         1
2       Albania     2
3       Algeria     3
4       American            4
5       Andorra     5
6       Angola      6
7       Anguilla            7
8       Antarctica  8
面值:20 说明:
:
:启动命令
%
:所有行
s
:替代
!
:图案开始
^
:行首
\\(
:小组开始
\\d
:数字
\\+
:一个或多个
\\)
:小组结束
.
:任意字符
*
:任意数量
!
:图案结束
&
:替换为-整个图案
\\t
:标签
\\1
:第一组 回车:执行     
        您可以使用由q启用的录音,后跟一个字母,该字母是该录音的书签。 例如。 在正常模式下,转到第一行并键入:
qe
^
y<space>
$
p
q (to end the recording)
现在键入
@e
以播放字母e或
20@e
的录音,然后重复@e 20次。 您可以像这样播放录音。在正常模式下,也许还会录制一个ѭ24so,以便将您带到下一行。     

要回复问题请先登录注册