Search code examples
vimargument-passingxtermgnome-terminal

How to use GNOME Terminal instead of XTerm here?


I have the following variable defined in ~/.vimrc. This works well with XTerm but I can't get it working with GNOME Terminal. Please help.

let g:slimv_client = 'python /home/dumrat/.vim/ftplugin/slimv.py -r "xterm -e sbcl --core /home/dumrat/.sbcl/sbcl.core -s"'

Solution

  • The option -e makes XTerm run the command specified by all of the remaining command line arguments following -e. Consequently, xterm -e sbcl --core /home/dumrat/.sbcl/sbcl.core -s opens an XTerm instance running sbcl --core /home/dumrat/.sbcl/sbcl.core -s command.

    GNOME Terminal has the option -x with the same meaning that -e has for XTerm.1 Thus, change the configuration file, as follows.

    let g:slimv_client = 'python /home/dumrat/.vim/ftplugin/slimv.py -r "gnome-terminal -x sbcl --core /home/dumrat/.sbcl/sbcl.core -s"'
    

    1 Note that -e has somewhat different behavior in GNOME Terminal—the whole command is expected to be in the next argument, while -x assumes that everything to the end is the command to run.