
原数据:
期望数据:
这里涉及两个问题:
1、只要2-4行需要自动添加行号
2、需要在Vim编辑器上执行
解决思路:
2、通过外部命令Awk可以自动生成行数
在vim的命令行模式输入:
就可以实现上述目的
释义:
1、指定行数:2,4
只要2-4行
2、执行外部命令:!awk '{print ""NR":" 2}'
!awk:执行外部命令awk
NR:行数。这里是NR行数与Vim行数不一样,而是我们输入的指定内容行行数,即2-4行内容
打开第一个文件,进入vim的宏录制模式,开始录制宏,结束录制宏。1、打开第一个文件:在vim中输入命令vimfile1,打开第一个文件。在vim中输入命令:splitfile2,打开第二个文件并分屏显示。在vim中输入命令G,光标会移动到第一个文件的末尾行。
2、进入vim的宏录制模式:在vim中输入命令qa,这里的a是宏的名称,可以替换成其他字母。
3、开始录制宏:在vim中输入命令Yp^w,这里的Yp是复制当前行并粘贴到下一行,是将当前行的数字加1,^w是将光标移动到下一个窗口。
4、结束录制宏:在vim中输入命令q,结束宏的录制。在vim中输入命令@a,执行刚刚录制的宏,即将第一个文件和第二个文件对应行的数字相加。在vim中输入命令:norm@a,这里的:norm是执行普通模式命令的意思,@a是执行宏a,表示将宏a在当前文件的每一行上都执行一次,即将第一个文件和第二个文件对应行的数字相加。
vim编辑器的三种模式:一般模式、编辑模式和命令行模式。在一般模式中可以进行删除、复制和粘贴的功能,但是无法编辑文件内容。从一般模式切换到编辑模式可以按下i、I、o、O、a、A、r、R键。按下Esc键可以回到一般模式。在一般模式中输入:、/、?三个中的任意一个可以将光标移到最下面的一行。在这个模式中可以提供查找数据的 *** 作,而读取、保存、大量替换字符、离开vii、显示行号等 *** 作则是在此模式中完成的。需要注意的是,编辑模式与命令行模式之间是不能互相切换的。
下面列出平时用的最多的vi命令:
移动光标的方法:
[Ctrl]+[f]:屏幕向下移动一页,相当于[PageDown]按键。
[Ctrl]+[b]:屏幕向上移动一页,相当于[PageUp]按键。
0或功能键[Home]:移动到这一行的最前面字符处。
$或功能键[End]:移动到这一行的最后面字符处。
G:移动到这个文件的最后一行。
gg:移动到这个文件的第一行,相当于1G.
N[Enter]:N为数字,光标向下移动N行。
查找和替换:
/word:向下寻找一个名称为word的字符串。
?word:向上寻找一个名称为word的字符串。
:n1,n2s/word1/word2/g:在第n1行和n2行之间寻找word1这个字符串,并且将其替换为word2.
:1,$s/word1/word2/g:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2.
:1,$s/word1/word2/gc:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2.且在替换前显示提示字符给用户确认是否需要替换。
删除、复制和粘贴:
x,X:在一行字中,x为向后删除一个字符(相当于[Del]键),X为向前删除一个字符(相当于[Backspace])。
dd:删除光标所在的一整行。
ndd:删除光标所在的向下n行。
yy:复制光标所在的一行。
nyy:复制光标所在的向下n行。
p,P:p为将已复制的内容在光标的下一行粘贴,P则为粘贴在光标的上一行。
u:复原前一个 *** 作。
[Ctrl]+r:重做上一个 *** 作。
.:小数点,重复前一个 *** 作。
根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。
具体步骤如下:/导致这种情况的原因主要是……
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)