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を使用し、2番目の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