mat*_*hew 133
:150
Run Code Online (Sandbox Code Playgroud)
将带你到vi的150行
:1500
Run Code Online (Sandbox Code Playgroud)
将带你到vi的1500行
根据您可能想要尝试的评论
150G
:150Enter 如果你不确定你在尝试什么线路,那么这就不那么重要了
:set nu!
Run Code Online (Sandbox Code Playgroud)
注意:
如果你想总是看到该行考虑编辑你的vim配置文件.最经常
vi ~/.vimrc
Run Code Online (Sandbox Code Playgroud)
并添加
:set nu!
Run Code Online (Sandbox Code Playgroud)
并写和退出
:wq
#or you could use :x
Run Code Online (Sandbox Code Playgroud)
这可以在vi之外完成.例如,如果我想删除文本文件中的第5000行,我可以使用脚本语言.例如,使用sed将是以下内容
sed -i '5000d;' inputFile.txt
Run Code Online (Sandbox Code Playgroud)
删除第10行到第20行
sed -i '10,20d;' inputFile.txt
Run Code Online (Sandbox Code Playgroud)
注意-i将在适当的位置编辑文件.如果没有-i,它将转到stdout.试试吧.您可以将stdout重定向到文件
sed '5001,$d;' inputFile.txt >> appenedFile.txt
Run Code Online (Sandbox Code Playgroud)
这可能会为你带来很多.这会将5001行删除为$.使用$作为文件的结尾.>>将附加到文件.其中as>创建一个新文件.
如果您好奇,您可能想要输入的文件中有多少行 wc -l inputFile.txt
其中一些可能看起来非常微不足道,但如果你试图用50,000行编辑一个文件,打开和遍历可能需要花费一分钟.如果你知道你只想删除最后一行你可以使用sed并在很短的时间内完成它.
sed也可以在文件中搜索和替换.但也许awk,perl或python也可能是一个可行的解决方案.
但总的来说,你可能想找到一个关于vi的好教程.成千上万.我会咨询谷歌.也许你会发现自己是一个VIM Cheatsheat.
从打开的终端,在bash shell中,只需运行以下命令即可编辑文件:
$ vi +N yourfile
Run Code Online (Sandbox Code Playgroud)
N
行号在哪里。
查看(more
或less
;):
$ less +N yourfile
$ more +N yourfile
Run Code Online (Sandbox Code Playgroud)
符号+
意思是在开始时运行的命令。因此,如果命令只是一个数字,然后vi
,less
并且more
,将跳转到这是行号。
但是您也可以使用它/regex
来查找特定字符串或正则表达式的首次出现:
$ less +/Error logfile
$ less -i +/error logfile # -i Causes less's searches to ignore case
$ vi +/open.*myfile myprog...
Run Code Online (Sandbox Code Playgroud)