如何在Vim中运行Stata do文件
我正在寻找一种从Vim运行Stata的.do文件的方法 以下是我到目前为止已签出的内容:如何在Vim中运行Stata do文件,vim,stata,vim-plugin,Vim,Stata,Vim Plugin,我正在寻找一种从Vim运行Stata的.do文件的方法 以下是我到目前为止已签出的内容: 在此链接中:,建议使用Vim功能 rundo.exe文件可以从以下位置下载: 但是,在按照建议更改.ini文件之后,我仍然无法运行以下Vim函数,该函数在_vimrc中定义: fun! RunDoLines() let selectedLines = getbufline('%', line("'<"), line("'>")) if col("'>") < str
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
问题:如果.do文件包含错误并且Stata对此进行投诉,则按住
Ctrl
键(或Alt
键)。这使得按Tab
键就像按Alt-Tab
键一样移动窗口。仅在按下Ctrl
一次后才能释放钥匙锁 老实说,是我对函数RunDoLines()
的滥用造成了这个问题。该功能仍然与Windows 8.1上的Vim兼容
要调用此函数,请执行以下操作:
vnoremap
添加到
映射中李>
F9
保持正常模式,然后按
V
运行代码块 请澄清“无法运行”的含义。有任何错误消息吗?我注意到的一点是.ini引用了Stata 13,而当前版本是13.1,如果您已经更新了它的话。
fun! RunIt()
wa
!start /min "C:\Users\Linfeng\rundo.exe" "%:p"
endfun