vim用冒号将参数解释为filename:line:column

mat*_*tec 4 vim

是否可以通过以下方式配置VIM:

vim filename:123:89
Run Code Online (Sandbox Code Playgroud)

它打开文件filename转到第123行和第89列?

如果不通过VIM,也许可以破解外壳?

FDi*_*off 6

您可以安装文件行插件以在文件名后指定的行和列中打开文件。(github镜像

从github上的自述文件

当您打开一个时file:line,例如,从编译器的错误中解决和粘贴时,vim会尝试打开一个名称中带有冒号的文件。

例子:

vim index.html:20 
vim app/models/user.rb:1337
Run Code Online (Sandbox Code Playgroud)

如果您的插件文件夹中有这个小脚本,则冒号后面的内容是数字,并且存在一个名称已指定的文件,然后冒号vim将打开该文件并将您带到您希望的第一行。


Fre*_*Foo 3

我不知道如何跳到该专栏,但我多年来一直想要相同的功能,所以我只是破解了“跳到行”功能。在你的.bashrc, 设置

VIM=$(which vim)

function vim {
    local args
    IFS=':' read -a args <<< "$1"
    "$VIM" "${args[0]}" +0"${args[1]}"
}
Run Code Online (Sandbox Code Playgroud)

这会将参数分割为 Vim by :,然后构造一个以下形式的命令行

vim <filename> +0<line>
Run Code Online (Sandbox Code Playgroud)

+0是一个确保默认行号为零的技巧。

(如果您不使用 Bash,您可以将其改编为脚本并将其放入您的路径中,或将其翻译为您最喜欢的 shell 语言。要编辑filename:with:colons,请使用$VIM。)