如何从bash脚本重新启动vim?
我想从bash脚本中重新启动vim,以便vim接收带外更改。我几乎让它工作了,但我一直在努力确定用什么来启动vim 以下是我所拥有的:如何从bash脚本重新启动vim?,bash,vim,Bash,Vim,我想从bash脚本中重新启动vim,以便vim接收带外更改。我几乎让它工作了,但我一直在努力确定用什么来启动vim 以下是我所拥有的: #!/usr/bin/env bash local servername=$(vim --serverlist) [ -n "$servername" ] && { vim --servername "$servername" --remote-send '<C-\><C-N>:mks! _session.vim<
#!/usr/bin/env bash
local servername=$(vim --serverlist)
[ -n "$servername" ] && {
vim --servername "$servername" --remote-send '<C-\><C-N>:mks! _session.vim<CR>:wqa<CR>'
vim -S _session.vim
sleep 1
rm _session.vim
}
#/usr/bin/env bash
本地服务器名=$(vim--serverlist)
[-n“$servername”]&&{
vim--servername“$servername”--远程发送:mks!\u会话。vim:wqa'
vim-S_session.vim
睡眠1
rm_session.vim
}
问题是脚本调用的vim
是位于/usr/bin/vim
的非常过时的系统vim,而不是作为mvim-v
别名的“我的”vim(其中mvim
是MacVim附带的启动脚本)
这有两个不幸的后果:(1)系统vim无法识别--serverlist
;(2) 即使这样,我的脚本也会随后启动错误的vim
在我的路径上调用vim的最佳方式是什么
+clientserver
构建的,因此您害怕失去的可移植性从一开始就不存在mvim-v
。此外,您的vim
是一个别名,因此它不在您的路径中
vim
:
#!/usr/bin/env bash
VIM='/path/to/mvim'
"$VIM" -v whatever
或者将别名转换为正确的脚本
或者,可以将mvim
放在路径的前面,并显式调用mvim-v
难道你就不能像你说的那样用
mvim-v
替换vim
吗?在这台特定的机器上,这对我来说是可行的,但我更喜欢便携式解决方案。这些带外更改是什么?您正在编辑的文件的更改?如果是,请参见:h“自动读取”
。您的vim文件或插件中的更改?使用:source
或使用类似的方法重新加载插件。你在使用vim?时更新了vim?@PeterRincker他们正在添加/更新/删除插件。在尝试在进程中重新加载插件时,事后重启Vim比处理所有边缘情况更简单。1。哦2.很高兴知道。3.看起来是最好的选择。谢谢