linux - VIM:如何在 Ubuntu 上精确到行

我在 Ubuntu 12.10 上使用 vi。有些文件很长,所以当我想转到文件中间时,我必须向下翻页或向下滚动。

是否有 VIM 快捷方式可以转到确切的行号?

最佳答案

:150

将带你到 vi 中的第 150 行

:1500

将带你到 vi 中的第 1500 行

根据评论你可能想尝试

150G

到第 150 行。 那是更少的击键次数 :150回车 如果你不确定你在哪条线路上试试

 :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 行删除到 $。 $ 是文件的结尾。 >> 将附加到文件中。其中 as > 创建一个新文件。

如果你想知道一个文件有多少行,你可以输入 wc -l inputFile.txt

其中一些可能看起来非常微不足道,但如果您尝试编辑一个包含 50,000 行的文件,则可能需要 vi 一段甜蜜的时间来打开和遍历。如果您知道您只想删除最后一行,您可以使用 sed 并在很短的时间内完成。

sed 也可以在文件中搜索和替换。但也许 awk、perl 或 python 也可能是一个可行的解决方案。

但总的来说,您可能希望找到关于 vi 的好教程。数以千计的存在。我会咨询谷歌。或许给自己找一个 VIM 作弊工具。

https://stackoverflow.com/questions/6380635/

相关文章:

linux - 在 printf 中使用颜色

linux - 使用 bash 历史记录获取先前的命令,复制它,然后 'run' 它但命令注释

linux - Git 和硬链接(hard link)

python - 类型错误 : Missing 1 required positional argu

python - 为什么 apt-get 功能在 Mac OS X v10.9 (Mavericks

python - 理解 NumPy 的 einsum

python - 我如何捕捉一个像异常一样的 numpy 警告(不仅仅是为了测试)?

python - functools partial 是如何做到的?

linux - 如何删除 CLOSE_WAIT 套接字连接

c - 如何从 C 程序中获得 100% 的 CPU 使用率