Jestem całkiem nowym użytkownikiem Vima i odkryłem, że jego krzywa uczenia się jest dość stroma (przynajmniej dla mnie). Właśnie zainstalowałem ten skrypt Vima do sprawdzania błędów JavaScriptLint, który pokazuje błędy w oknie quickfix vima po zapisaniu bufora.
Jednak nie wiem, co dalej. Jak „przewinąć” wszystkie błędy? Jak zamknąć „okno” quickfix? Jak sprawić, by sprawdzał błędy po wprowadzeniu zmian w kodzie?
Przeglądałem dokumentację vim quickfix, ale ilość poleceń jest przytłaczająca i nie mogę znaleźć tego, czego chcę. Każda pomoc będzie mile widziana.
Pytanie poboczne: czy istnieje sposób na sprawdzenie javascriptlint pod kątem błędów js dla kodu znajdującego się w pliku .html?
Dzięki!
:cn
nie powinno zamykać okna qf, ale przełączy się do okna zawierającego błąd: czy to jest to, co masz na myśli przez „skok”? Możesz szybko przełączyć się z powrotem za pomocąCtrl-W p
lub:wincmd p
, więc możesz zrobić:command! CN :cn | wincmd p<CR>
lub coś takiego (niesprawdzone). Powinno to dać:CN
polecenie, które prowadzi do następnego błędu bez wychodzenia z okna quickfix. Alternatywnie możesz zrobić coś takiego:au BufWinEnter quickfix nmap <buffer> <Enter> :.cc | wincmd p<CR>
(ponownie nieprzetestowane) i użyć Enter, aby wybrać błąd bez wychodzenia z okna quickfix.Najprostszym sposobem, aby poruszać się po liście quickfix (lub listę lokalizacji, dla tej sprawy) jest wtyczki .
unimpaired
Gdy okno quickfix jest wypełniana,
[q
i]q
iść do przodu i do tyłu (odpowiednio) na liście quickfix.[Q
i]Q
przejdź do początku i końca (co jest szczególnie przydatne, jeśli masz tylko jedną pozycję na liście; to sprawia, że Vim narzeka[q
i]q
). Tak więc przepływ pracy wygląda następująco:[Q
aby przejść do pierwszego elementu[q
i]q
Jeśli używasz Syntastic, otrzymasz listę lokalizacji zamiast listy quickfix. Nie ma problemu; Wystarczy użyć
[L
,]L
,[l
, i]l
w ten sam sposób.unimpaired
ma mnóstwo innych przydatnych odwzorowań też -[e
i]e
„bańki” linie w górę iw dół,[<Space>
i]<Space>
wstawić puste wiersze powyżej i poniżej, itd. Byłem zaskoczony, nikt nie wspomniał tu wcześniej; prawdopodobnie dlatego, że istniał dopiero w styczniu 2010 r., chociaż pytanie zadano w 2009 r.źródło
Umieść następujące dwie linie w swoim pliku .vimrc:
Teraz możesz poruszać się po błędach za pomocą ctrl-j i ctrl-k, co naśladuje standardowe polecenia ruchu w dół i w górę j i k.
źródło
<c-j>
czasami (zależy od terminala ?!) jest błędne lub całkowicie nie działa, ponieważ oznacza to samo co <NL> // najłatwiejszy w użyciu,<c-n>
a<c-p>
zamiast tego // w przeciwnym razie: stackoverflow.com/questions/8304421/…noremap <F7> :cprevious<CR>
inoremap <F8> :cnext<CR>
w.vimrc
<C-j>
i<C-k>
do nawigowania między podziałami vima i panelami tmux za pomocą nawigatora vim tmux . Kombinacje<C-M-j>
i<C-M-k>
może być alternatywą.Możesz także użyć
:cc 2
(lub dowolnej innej liczby), aby przejść do, w tym przypadku, drugiego błędu w oknie quickfix. Nawigacja za pomocą:cn
,:cc 4
itd będzie umieścić kursor na danej linii.źródło
Najlepszym sposobem integracji sprawdzania składni JavaScript jest użycie wtyczki Syntastic Vim , która używa listy lokalizacji Vima (która jest równoległa do quickfix ).
Napisałem odpowiedzi na to pytanie i to pytanie wyjaśniające, jak to zrobić, a także jak uzyskać przeglądanie kodu źródłowego / listę tagów dla Vima za pomocą społecznościowej jshint.com (co jest o wiele lepsze niż JSLint IMO) i Mozilla's DoctorJS (dawniej jsctags ).
źródło
Może ta opcja nie istniała, gdy pisano to pytanie (a może sam siebie zawstydzam, ponieważ jest coś w moim,
.vimrc
co sprawia, że tak się dzieje), ale kiedy dostajęQuickfix List
, po prostu nawiguję po nimj
ik
następnie wciskam<CR>
(tj. Klawisz Enter) aby przejść do tego miejsca w pliku.Następnie, aby wrócić do
Quickfix List
wpisywaniaCtrl
+W
j
„przesuń okno w dół” i wracam.Wreszcie, kiedy skończę, po prostu piszę
:q
, tak jakbym chciał zamknąć każde normalne okno.źródło
nmap <CR> o<Esc>
, więc mogłem dodawać nowe linie w trybie normalnym.okno quickfix działa jak każde inne okno Vima: j w dół wiersza, k w górę wiersza,: cn, aby przejść do następnego błędu / ostrzeżenia, itp.
eksperyment!
źródło
Oprócz świetnej odpowiedzi @DrAl na temat otwierania i zamykania szybkiego okna oraz nawigacji między wpisami, stworzyłem obraz pokazujący niektóre inne polecenia szybkiej naprawy.
Każda grupa 3 plików poniżej reprezentuje zestaw wyników quickfix, np. Z vimgrep. Cnever and colder to przeglądanie historycznych zestawów wyników.
źródło