Rob*_*son 184
昨天只是其中的一天.在云雀上,我决定设置vi的完整路径(例如/usr/bin/vi
)而不仅仅是可执行文件.现在一切正常.我必须承认我没有得到它,因为vi
它本身是完全可执行的(我的$EDITOR
env变量也被设置为vi
),但它正在工作,我的技术业力最近并没有这么大,所以也许我不应该质疑神灵会......
Lan*_*tel 155
以下命令
git config --global core.editor /usr/bin/vim
Run Code Online (Sandbox Code Playgroud)
解决它.
[编辑]
现在我看到有人已经在评论中发布了它.希望它对像我这样的盲人来说仍然有用.
与目前为止的其他答案不同,对于我使用vi的绝对路径,并设置git core.editor
配置,不足以解决问题.(那些已经到位了.)
在我的情况下,通过在vi命令中添加-f
标志来解决问题:
git config --global core.editor '/usr/bin/vi -f'
Run Code Online (Sandbox Code Playgroud)
一旦这个-f
选项到位,我可以使用git rebase -i
,当我保存并退出提交列表时,rebase继续进行,而不是给出"无法执行编辑器"错误.
该VIM手册页说,对于选项-f
,
对于GUI版本,Vim不会从它启动的shell中分叉和分离....当Vim由等待编辑会话完成的程序(例如邮件)执行时,应该使用此选项.
我知道,我没有使用GUI版本.我git
在masOS Sierra 10.12.6上的终端窗口中运行bash命令行.但是,由于git rebase -i
等待编辑会话完成,我想这就是为什么-f
这里需要选项.也许vim(没有-f
)试图从shell中分离/分离由于某种原因我无法弄清楚.
我有这个问题,它是由vim的vcscommand插件的某些部分引起的.使用任何这些命令启动vim会导致退出代码1("错误"):
vi
vim
但这些给了我退出代码0("成功"):
/usr/bin/vi
/usr/bin/vim
vi -u NONE
vim -u NONE
通过重命名和运行以快速运行vim并打印退出代码,我能够通过禁用~/.vimrc
和文件将其追溯到特定插件.~/.vim
vi -c q ; echo $?