2016-12-19 19 views
0

我要到远程服务器不直接相关的部署上使用Capistrano的对任务的自定义设置,这将是对我有用的,如果我可以使用Capistrano的启动Vim,我已经试过这一点:是否可以从capistrano任务启动vim?

set :pty, true 
execute "vim #{shared_path}/my_file.txt" 

但我收到这个(原因很明显)

01 stdin: is not a tty 
    01 Vim: Warning: Output is not to a terminal 
    01 Vim: Warning: Input is not from a terminal 

它的存在,无论如何,使其工作?

回答

0

据我所知,你不能在没有终端的情况下启动vim。你可以用vim启动一个终端,这里有几种方法可以做到这一点:

启动一个像st,xterm或类似的终端。示例:

x-terminal-emulator -e vim 

st -e vim 

xterm -e vim 

该解决方案不是最好的,因为终端仿真器可以有不同的开关来执行呼叫中的命令。 -e正在为st和xterm工作。

更好的解决方案是启动像的zsh,bash或类似的壳,因为几乎每一个壳具有相同的开关,这是-c直接在它启动一个程序工作。例如:

zsh -c vim 

bash -c vim 
相关问题