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

标签 linux bash vim ubuntu terminal

我在 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 作弊工具。

关于linux - VIM:如何在 Ubuntu 上精确到行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6380635/

相关文章:

linux - Timthumb 和 tmp 文件夹

linux - Docker:带有参数和引号的入口点

bash - cron 作业-ack : command not found

bash - AWS CodeDeploy [标准错误]/usr/bin/env : node: No such file or directory

vim - 在 Vim 的缓冲区内运行 R

linux - 用awk添加行数

c - 如何仅使用单个端口减少 UDP 套接字通信中的消息丢失?

python - 为什么向上和向下箭头命令在 Python 命令行解释器中不起作用?

vim - 如何关闭当前选项卡中的所有缓冲区?

php - 从 vim 中运行 PHP 文件