我已经安装了 nodejs 和 jslint 并在 ftplugin 目录中创建了 javascript.vim 文件。javascript.vim 包含以下几行:
setlocal makeprg=jslint\ %
setlocal errorformat=%f:%l:%c:%m
nmap <F5> :w<CR>:make<CR>:cw<CR><CR>:copen<CR>
这将为 jslint 报告的错误打开快速修复窗口。现在我想在第一次 F5 运行时使用 F5 作为切换键,并在第二次 F5 关闭错误窗口时显示错误窗口。
我为此创建了以下代码
setlocal makeprg=jslint\ %
setlocal errorformat=%f:%l:%c:%m
let s:showMakeWnd = "0"
function! ToggleMake()
echo "Make Wnd mode: " . s:showMakeWnd
if s:showMakeWnd == "0"
execute ":w<CR>:make<CR>:cw<CR>:copen<CR>"
elseif
execute ":cclose<CR>"
endif
let s:showMakeWnd = (s:showMakeWnd == "0" ? "1" : "0")
endfunction
nmap <F5> :call ToggleMake()<CR>
但按 F5 后,我收到以下错误:
"<CR>:make<CR>:cw<CR>:copen<CR>"
Error detected while processing function ToggleMake:
line 10:
"<CR>:make<CR>:cw<CR>:copen<CR>" E212: Can't open file for writing