Saya pengguna Vim yang cukup baru dan saya menemukan bahwa kurva pembelajarannya cukup curam (setidaknya bagi saya). Saya baru saja menginstal skrip vim ini untuk pemeriksaan kesalahan JavaScriptLint, yang menunjukkan kesalahan di jendela perbaikan cepat vim setelah saya menyimpan buffer.
Namun, saya tidak tahu apa yang harus saya lakukan selanjutnya .. Bagaimana cara 'menggulir' semua kesalahan? Bagaimana cara menutup 'jendela' quickfix? Bagaimana cara memeriksa kesalahan setelah saya membuat perubahan pada kode saya?
Saya telah melihat dokumen quickfix vim tetapi jumlah perintahnya sangat banyak dan saya tidak dapat menemukan apa yang saya inginkan. Bantuan apa pun akan dihargai.
Pertanyaan sampingan: apakah ada cara agar javascriptlint memeriksa kesalahan js untuk kode yang berada dalam file .html?
Terima kasih!
:cn
seharusnya tidak menutup jendela qf, tetapi akan beralih ke jendela yang berisi kesalahan: apakah ini yang Anda maksud dengan "lompat"? Anda dapat dengan cepat beralih kembali denganCtrl-W p
atau:wincmd p
, sehingga Anda dapat melakukan:command! CN :cn | wincmd p<CR>
atau sesuatu seperti itu (belum teruji). Ini akan memberi Anda:CN
perintah yang menuju ke kesalahan berikutnya tanpa beralih dari jendela perbaikan cepat. Atau Anda dapat melakukan sesuatu seperti:au BufWinEnter quickfix nmap <buffer> <Enter> :.cc | wincmd p<CR>
(lagi-lagi belum teruji) dan menggunakan Enter untuk memilih kesalahan tanpa keluar dari jendela perbaikan cepat.Cara termudah untuk menavigasi daftar quickfix (atau daftar lokasi, dalam hal ini) adalah yang
unimpaired
Plugin .Setelah jendela quickfix terisi,
[q
dan]q
maju dan mundur (masing-masing) di daftar quickfix.[Q
dan]Q
pergi ke awal dan akhir (yang sangat berguna jika Anda hanya memiliki satu item dalam daftar; ini membuat vim mengeluh tentang[q
dan]q
). Jadi alur kerjanya adalah:[Q
untuk pergi ke item pertama[q
dan]q
Jika Anda menggunakan Syntastic, Anda akan mendapatkan daftar lokasi, bukan daftar perbaikan cepat. Tidak masalah; hanya menggunakan
[L
,]L
,[l
, dan]l
dengan cara yang sama.unimpaired
memiliki banyak pemetaan berguna lainnya juga -[e
dan]e
garis "gelembung" ke atas dan ke bawah,[<Space>
dan]<Space>
sisipkan baris kosong di atas dan di bawah, dll. Saya terkejut tidak ada yang menyebutkannya di sini sebelumnya; itu mungkin karena tidak ada hingga Januari 2010, meskipun pertanyaan itu diajukan pada 2009.sumber
Letakkan dua baris berikut di file .vimrc Anda:
Sekarang Anda dapat menelusuri kesalahan menggunakan ctrl-j dan ctrl-k, yang meniru perintah standar gerakan ke bawah dan atas j dan k.
sumber
<c-j>
kadang-kadang (tergantung pada terminal ?!) salah atau sama sekali tidak berfungsi, karena artinya sama dengan <NL> // cara termudah, untuk digunakan<c-n>
dan<c-p>
sebaliknya // sebaliknya: stackoverflow.com/questions/8304421/…noremap <F7> :cprevious<CR>
dannoremap <F8> :cnext<CR>
di.vimrc
<C-j>
dan<C-k>
untuk menavigasi antara vim splits dan tmux panes dengan vim tmux navigator . Kombinasi<C-M-j>
dan<C-M-k>
mungkin bisa menjadi alternatif.Anda juga dapat menggunakan
:cc 2
(atau nomor lain) untuk melompat ke, dalam hal ini, kesalahan kedua di jendela perbaikan cepat. Menavigasi dengan:cn
,,:cc 4
dll akan menempatkan kursor pada baris yang dimaksud.sumber
Cara praktik terbaik untuk mengintegrasikan pemeriksaan sintaks JavaScript adalah menggunakan plugin Syntastic Vim , yang menggunakan jendela daftar lokasi Vim (yang sejajar dengan perbaikan cepat ).
Saya telah menulis jawaban untuk pertanyaan ini dan pertanyaan ini menjelaskan bagaimana melakukannya, ditambah juga bagaimana mendapatkan penjelajahan kode sumber / daftar-tag untuk Vim menggunakan jshint.com berbasis komunitas (yang jauh lebih baik daripada JSLint IMO) dan Mozilla's DoctorJS (sebelumnya jsctags ).
sumber
Mungkin opsi ini tidak ada ketika pertanyaan ini ditulis (atau mungkin saya mempermalukan diri saya sendiri karena ada sesuatu dalam diri saya
.vimrc
yang membuat ini terjadi) tetapi ketika saya mendapatkanQuickfix List
, saya hanya menavigasi denganj
dank
kemudian menekan<CR>
(yaitu tombol Enter) untuk melompat ke tempat itu di file.Kemudian, untuk kembali ke
Quickfix List
I ketikCtrl
+W
j
untuk "pindah ke jendela" dan saya kembali.Akhirnya, setelah selesai, saya cukup mengetik
:q
, seperti saya akan menutup jendela normal mana pun.sumber
nmap <CR> o<Esc>
, jadi saya bisa menambahkan baris baru dalam mode normal.jendela quickfix dioperasikan sebagian besar seperti jendela vim lainnya: j ke bawah satu baris, k ke atas satu baris,: cn untuk melompat ke kesalahan / peringatan berikutnya, dll.
percobaan!
sumber
Selain @DrAl jawaban yang bagus tentang cara membuka dan menutup jendela cepat dan menavigasi antar entri, saya membuat gambar untuk menunjukkan beberapa perintah navigasi perbaikan cepat lainnya.
Setiap grup dari 3 file di bawah mewakili sekumpulan hasil perbaikan cepat, misalnya dari vimgrep. lebih dingin dan lebih dingin untuk menjalani serangkaian hasil bersejarah.
sumber