Ich habe die folgenden zwei Tutorials befolgt, um zu versuchen, einzurichten eslint
und Neomake
:
Ich habe also folgendes Minimum init.vim
call plug#begin('~/.vim/plugged')
Plug 'neomake/neomake'
call plug#end()
autocmd! BufWritePost,BufEnter * Neomake
let g:neomake_verbose=3
let g:neomake_open_list = 2
let g:neomake_javascript_enabled_makers = ['eslint']
" neomake
nmap <Leader><Space>o :lopen<CR> " open location window
nmap <Leader><Space>c :lclose<CR> " close location window
nmap <Leader><Space>, :ll<CR> " go to current error/warning
nmap <Leader><Space>n :lnext<CR> " next error/warning
nmap <Leader><Space>p :lprev<CR> " previous error/warning
Das Problem ist, wenn ich Neomake
Hänge mit folgender Meldung speichere :
Neomake: Starting: eslint -f compact /home/otis/Developer/test/index.js
Wenn ich diesen Befehl manuell außerhalb von nvim
wie folgt ausführe :
eslint -f compact /home/otis/Developer/test/index.js
Ich erhalte folgende Ausgabe:
/home/otis/Developer/test/index.js: line 1, col 1, Error - Unexpected var, use let or const instead. (no-var)
/home/otis/Developer/test/index.js: line 1, col 5, Error - 'a' is defined but never used. (no-unused-vars)
/home/otis/Developer/test/index.js: line 1, col 9, Error - Strings must use singlequote. (quotes)
3 problems
Was gut ist, bedeutet, dass eslint
es funktioniert, aber ich bekomme nichts zurück Neomake
.
Wenn ich :lopen
das Fenster starte, erscheint es und schließt sich sofort wie folgt:
Mein vim
/ nvim
Wissen ist etwas grundlegend, also bitte in den Antworten explizit angeben.
neovim
quickfix
plugin-neomake
Otis Wright
quelle
quelle
autocmd! BufWritePost,BufEnter * Neomake
zuaugroup neomake/ au!/ autocmd BufWritePost * Neomake/ augroup END
BufEnter zu ändern , haben nicht viel Sinn:lopen
Neomake aufgrund von Autocmd für BufEnter für diesen Puffer ausgeführt. @ Yonsy Snippet ist gut, sollte aber zusätzlich nur auf JavaScript-Dateien beschränkt sein:augroup neomake/ au!/ autocmd BufWritePost *.js Neomake/ augroup END
Antworten:
Einige [leicht bearbeitete] Informationen aus den Kommentaren:
quelle
Dies beantwortet Ihre Frage nicht genau, aber ich habe festgestellt, dass neomake mit eslint_d besser funktioniert . Es hat den schönen Nebeneffekt, dass es das Flusen auch schneller machen sollte.
Sie müssen zuerst eslint_d global installieren (es scheint jedoch immer noch eine lokale
.eslintrc
Datei aufzunehmen):Fügen Sie dann die folgende Konfiguration für neomake zu Ihrem
init.vim
/ hinzu.vimrc
:Für mich war das alles, was ich brauchte, nachdem
:Neomake
ich neovim neu gestartet und eine laufende Javascript-Datei geöffnet hatte , gab es mirlint-Warnungen.quelle