我正在通过 ssh 在 vim 中编辑文件,我想通过在 vim 中运行外部命令来保存 git 提交和其他内容,:!git add % && git commit -m "update"
但因为我的服务器(hostgator)有一个有限的 shell,cpanel jamshell,我收到错误:
Cannot execute shell /usr/local/cpanel/bin/jailshell
有没有办法在 vim 中配置 shell 设置以便外部命令起作用?
答案1
您可以扭转这一局面并用于sshfs
通过连接挂载远程文件ssh
,并使用计算机本地的工具与它们交互(即vim
& git
)。
看看这个sshfs 教程。
例子
$ modprobe fuse
$ sshfs sessy@mycomputer:/home/sessy /mnt/sessy -C -p 9876
现在只需 cd 进入并在本地/mnt/sessy
使用即可。完成后将其卸载。vim
git
$ fusermount -u /mnt/sessy
答案2
我最终通过添加set shell=/bin/bash
到我的.vimrc
.