我vi
在Ubuntu 12.10上使用。有些文件很长,所以当我想转到文件的中间时,我必须向下翻页或向下滚动。
是否有VIM快捷方式转到确切的行号?
Answers:
:150
将带您进入vi的150行
:1500
将带您进入VI的1500行
根据您可能想尝试的评论
150G
到达第150行。这是较少的按键操作, :150Enter 如果您不确定自己在哪一行,请尝试
:set nu!
注意:
如果您想始终看到该行,请考虑编辑您的vim配置文件。最经常
vi ~/.vimrc
并添加
:set nu!
然后写并退出
:wq
#or you could use :x
这可以在vi之外完成。例如,如果要删除文本文件中的5000行,则可以使用脚本语言。例如,使用sed将是以下内容
sed -i '5000d;' inputFile.txt
删除第10行到第20行
sed -i '10,20d;' inputFile.txt
注意-i将在适当位置编辑文件。如果没有-i,它将转到标准输出。尝试一下。您可以将标准输出重定向到文件
sed '5001,$d;' inputFile.txt >> appenedFile.txt
这可能会给您带来很多麻烦。这会将行5001删除为$。$是文件的结尾。>>将追加到文件中。其中>>创建一个新文件。
如果您想知道文件中有多少行,可以输入 wc -l inputFile.txt
其中一些看起来似乎微不足道,但是如果您尝试编辑具有50,000行的文件,则打开和遍历可能要花上一分钟的时间。如果您知道只想删除最后一行,则可以使用sed并在短时间内完成。
sed还可以在文件内部搜索和替换。但是也许awk,perl或python也可能是可行的解决方案。
但总的来说,您可能希望在vi上找到一个不错的教程。成千上万的存在。我会咨询谷歌。也许发现自己是VIM作弊。
150G
与相同:150
。它并不快,但可能更容易记住。
<CR>
了。
从打开的终端,在bash shell中,只需运行以下命令即可编辑文件:
$ vi +N yourfile
N
行号在哪里。
查看(more
或less
;):
$ less +N yourfile
$ more +N yourfile
符号+
意思是在开始时运行的命令。因此,如果命令只是一个数字,然后vi
,less
并且more
,将跳转到这是行号。
但是您也可以使用它/regex
来查找特定字符串或正则表达式的首次出现:
$ less +/Error logfile
$ less -i +/error logfile # -i Causes less's searches to ignore case
$ vi +/open.*myfile myprog...