Bash Vim参数在“"--远程选项卡";
对于上次更新,现在在我的终端中,当我运行Bash Vim参数在“"--远程选项卡";,bash,vim,archlinux,Bash,Vim,Archlinux,对于上次更新,现在在我的终端中,当我运行vim时,我得到: VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Nov 29 2014 09:48:57) Argument missing after: "--remote-tab" More info with: "vim -h" 以前,我能够在终端中打开vim并运行vim。我不知道如何修复它,也不知道是否只有我一个人有这个问题(特别是在ArchLinux上) 请注意,我使用了。这(可以说)是bash-i
vim
时,我得到:
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Nov 29 2014 09:48:57)
Argument missing after: "--remote-tab"
More info with: "vim -h"
以前,我能够在终端中打开vim并运行vim。我不知道如何修复它,也不知道是否只有我一个人有这个问题(特别是在ArchLinux上)
请注意,我使用了。这(可以说)是bash-it
中的一个bug,或者可能只是一个具有不幸副作用的功能
事实上,有一个,显然是由这个问题引起的。最新版本中有一个补丁(出于某种原因,vim
别名保留在MacOS中)
它为vim
命令创建一个别名,该命令扩展为gvim-b--remote选项卡
使用gvim
而不是vim
意味着它调用的是vim
的图形版本,而不是默认的文本版本
-b
选项设置二进制模式。文件说:
-b二进制模式。将设置一些选项,使编辑二进制文件或可执行文件成为可能
我自己也没用过。这可能基本上是无害的,但我建议阅读文档以确定它是否是您真正想要的
--remote选项卡
记录如下(在vim--help
中;我在手册页中没有看到):
--远程选项卡[-wait][-silent]作为--远程,但使用每个文件的选项卡页
--remote
选项(尝试)编辑Vim服务器中的文件;如果没有可用文件,则文件将正常打开
您遇到的问题是,与vim
不同,vim--remote
或vim--remote选项卡需要一个或多个文件名参数
使用该别名,您可以键入vim filename
,它应该可以正常工作。如果没有参数,您将看到您报告的错误消息
如果要在不指定文件名的情况下调用vim
,则需要覆盖别名。由于您使用的是bash,因此有几种方法可以做到这一点:
\vim
command vim
'vim'
或者您可以考虑禁用或修改该别名。如果您喜欢它的功能,可以编写一个shell函数,如果它有文件名参数,则调用
gvim-b--remote tab…
,如果没有,则只调用gvim
在回答您的问题时,如果您想了解如何定义vim
命令,可以使用
type -a vim
(假设您使用的是bash)。命令无法访问shell函数或别名。修复:
这是bash中的一个bug
。这个问题很容易解决。在~/.bash\u it/aliases/custom.aliases.bash
addalias vim='/usr/bin/vim'
当您在终端中键入“vim”时,您可能已经为它定义了一个别名或另一个使用其他参数运行的脚本。发布which vim
@UkuLoskit的输出:“vim-Vi改进了7.4”which vim
=/usr/bin/vim
当我在我的BASH_profile
中注释源代码$BASH_IT/BASH_IT.sh
时,然后在新的终端窗口中运行vim
,它会按预期在命令行中打开vim
。因此,我需要找出bash-it有什么问题,而这以前是没有问题的?(哪个
无法访问shell别名。)为了报复我标记另一个(现在已删除)答案而进行的这场无法解释的否决投票是什么?如果没有,请随意解释它的错误和/或我可以如何改进它。不知道为什么否决票,似乎是一个有效的解释。我最初“修复”了bash-it错误,因为它最初是覆盖vim使用macmvim
和--remote tab
,但这显然是不够的。无论如何,bash it将不再在mac以外的任何设备上为gvim使用vim别名(正如Travis最初编写的那样),如果您希望将gvim别名为vim,则必须编写自己的自定义别名;只需删除现有的一个。但这假设用户不希望运行vim filename
,而运行gvim-b--remote tab filename
。bash-it
中现有别名的缺点是,当您在没有参数的情况下调用vim
时,它不起作用,但如果您不这样做(我很少这样做),那也没什么大不了的。