Vim не поддерживает и никогда не будет поддерживать встроенную оболочку, такую как emacs или kate (если вы это имеете в виду), см. Этот вопрос о переполнении стека .
Дэвид Спиллет прав, вы можете запустить vim на экране GNU:
$ screen vim foo.txt
Но это только даст вам нечто, отдаленно напоминающее оконный менеджер в терминале - ОЧЕНЬ полезно, когда используется через ssh или в окне без X, но локально вы можете просто открыть другой xterm и переключаться между ними. *
В любом случае, если вы можете согласиться с тем фактом, что вы не увидите редактируемый файл, глядя на вывод, который он производит, совет Джека М хорош, но может быть короче:
:map ;e :w<cr>:!python %<cr>
Для той же цели у меня есть это в моем ~/.vimrc
:
au BufEnter * \if match( getline(1), '^\#!') == 0 | \ execute("let b:interpreter = getline(1)[2:]") | \endif fun! CallInterpreter() if exists("b:interpreter") exec ("!".b:interpreter." %") endif endfun map <F5> :call CallInterpreter()<CR>
Это запускает любой файл, который имеет shebang ( #!
) в первой строке. Он использует интерпретатор для запуска файла, поэтому ему не нужно иметь разрешения на выполнение.
* (экран имеет некоторые другие очень удобные функции, такие как копирование и вставка из вывода, мониторинг скрытых окон на активность / отсутствие активности, возможность одновременного использования сеанса с разных терминалов, возможность выхода из всех программ. Бег - это мощный инструмент).