Я ищу способ запустить файл .do из Stata из Vim.Как запустить файл Stata do в Vim
Вот что я проверил до сих пор:
- В этой ссылке: http://fmwww.bc.edu/repec/bocode/t/textEditors.html#vim функции Vim были предложены;
- rundo.exe файл можно скачать здесь: http://huebler.blogspot.com/2008/04/stata.html
Однако, после того, также изменяя файлы .ini, как предложено, я все еще не могу запустить следующую функцию Vim, которая определена в _vimrc:
fun! RunDoLines()
let selectedLines = getbufline('%', line("'<"), line("'>"))
if col("'>") < strlen(getline(line("'>")))
let selectedLines[-1] = strpart(selectedLines[-1], 0, col("'>"))
endif
if col("'<") != 1
let selectedLines[0] = strpart(selectedLines[0], col("'<")-1)
endif
let temp = tempname() . ".do"
call writefile(selectedLines, temp)
" *** CHANGE PATH AND NAME TO REFLECT YOUR SETUP. USE \\ INSTEAD OF \ ***
exec "!start C:\\Program Files\\Scripts\\rundo.exe " . temp
" Delete the temp file after Vim closes
au VimLeave * exe "!del -y" temp
endfun
Как я отобразил эту функцию <F9>
с помощью: map <F9> :<C-U>call RunDoLines() <Enter>
, вот сообщения об ошибке я получаю при нажатии <F9>
при открытии profile.do
через Vim в домашнем каталоге STATA в.
Мой Vim на Github: https://github.com/llinfeng/Vim-Win; извлеченная папка, содержащая файл rundo.exe
, находится на моем Dropbox: https://www.dropbox.com/sh/5tneckhr1rfrp5x/AABLZ4HGElbdbIGBGrvE7Zfta
Где я ошибаюсь?
PS: хорошая новость заключается в том, функция следующие Rundo()
работает хорошо, за исключением одного вопроса:
fun! RunIt()
wa
!start /min "C:\Users\Linfeng\rundo.exe" "%:p"
endfun
Проблема: если файл .do содержит ошибку и Stata жалуется на него, ключ Ctrl
(или Alt
) будет удерживаться. Это делает нажатием Tab
, как если бы Alt-Tab
, который меняет окна. Блокировка клавиш выйдет только после нажатия Ctrl
за один раз.
Просьба уточнить, что означает «не может работать». Есть ли сообщения об ошибках? –
Одна вещь, которую я заметил, это то, что .ini ссылается на Stata 13, тогда как текущая версия - 13.1, если вы ее обновили. –