Saya menggunakan Syntastic yang diaktifkan untuk file HTML saya. Karena saya memiliki file yang sangat besar dengan checker "validator w3" diaktifkan, GVIM atau VIM menjadi sangat lambat saat menyimpan file (: w).
Apakah mungkin untuk menonaktifkan sintastik sementara hanya untuk sesi saat ini?
let g:syntastic_disabled_filetypes=['html']
Jawaban:
Menggunakan
:SyntasticToggleMode
Anda dapat mengalihkan Syntastic ke mode pasif, yang akan menonaktifkan pemeriksaan otomatis. Anda kemudian dapat memeriksa file dengan menjalankannya:SyntasticCheck
.Untuk lebih lanjut, lihat
:help syntastic-commands
Di catatan lain: jika Syntastic lambat untuk Anda pertimbangkan untuk mencoba ale sebagai alternatif. Tidak seperti Syntastic, ini berjalan secara tidak sinkron, jadi meskipun lambat, itu tidak akan menghalangi Anda.
sumber
:error
atau Ctrl + Shift / Alt + e untuk beralih antara:SyntasticCheck
dan:SyntasticToggleMode
.:command Sd SyntasticToggleMode
Kemudian di vi tekan: Sd dan ini akan menonaktifkan syntastic. Info lebih lanjut tentang cara melakukannya di sini: stackoverflow.com/questions/3878692/aliasing-a-command-in-vimsilent! nmap <F6> :SyntasticToggleMode<CR>
Saya telah menonaktifkan Syntastic secara default dan mengaktifkan / menonaktifkan pemeriksaan kesalahan dengan yang berikut di .vimrc saya:
Ketika saya perlu menggunakan pemeriksaan kesalahan, saya cukup menekan: ctrl-w E
sumber
.vimrc
juga. Namun jika saya menekan Ctrl-w E Syntastic muncul sebentar dan menghilang lagi. Ada ide apa yang salah dan / atau bagaimana cara melacaknya?Alternatif untuk jawaban Jamie dan gospes, seseorang dapat menonaktifkan pemeriksa sepenuhnya dengan menentukan pemeriksa seperti ini:
Juga pastikan
syntastic_check_on_open
tidak disetel ke 1, yang akan melawan baris di atas:sumber
Anda dapat mematikan Syntastic untuk seluruh sesi (seperti yang dijawab oleh Jamie Schembri ), tetapi jika itu hanya masalah dengan satu "file yang sangat besar", Anda mungkin ingin menonaktifkan satu buffer saja.
Beberapa file yang saya kerjakan di pekerjaan saya sangat tidak sesuai dengan PSR. Kebanyakan bekerja dengan baik. Saya mencari fungsionalitas untuk menonaktifkan Syntastic hanya untuk file masalah itu. Bentuk solusi ' SyntasticDisableToggle ' yang lebih sederhana yang diuraikan oleh kontributor utama berfungsi untuk saya:
Karena ini tidak mempengaruhi buffer lain, saya dapat terus menggunakan plugin yang luar biasa ini untuk file lain yang sesuai (sebagian) yang saya buka.
sumber
Ini tidak secara langsung menjawab pertanyaan, tetapi dapat membantu di luar sesi saat ini. Jika Anda memiliki file yang harus sering Anda edit tetapi Anda tahu bahwa Anda akan selalu ingin menonaktifkan Syntastic (mis. File memiliki ribuan kesalahan dan Anda bermaksud untuk tidak memperbaikinya, dan membiarkannya pada hasil dalam perlambatan UI), kemudian secara permanen membuat daftar hitam sangat nyaman.
Untuk melakukan ini, gunakan
syntastic_ignore_files
opsi. Itu tersimpan dalam bantuan, tetapi Anda dapat menggunakan regex dengan fitur ini untuk memasukkan file ke daftar hitam.sumber
Pengaturan berikut berhasil untuk saya.
sumber
Opsi lain untuk menonaktifkan pemeriksaan buffer tunggal (apa pun jenis berkasnya) adalah dengan menggunakan
:let b:syntastic_mode="passive"
. Karena ini bukan toggle, ini akan berfungsi bahkan jika buffer saat ini dalam mode pasif.Jika Anda ingin menonaktifkan pemeriksaan semua jenis file di semua buffer untuk sementara, Anda dapat menggunakan
:bufdo let b:syntastic_mode="passive"
. Saya telah menyiapkan pemetaan untuk menonaktifkan / memeriksa semua buffer:Ini sangat membantu saat melakukan
:wqa
dengan banyak buffer terbuka.sumber
Mirip dengan yang disebutkan oleh beberapa orang lain, berikut adalah segmen vimrc yang akan mematikan Syntastic secara default, tetapi memetakan tombol (di sini, F10) untuk memeriksa file saat ini, dan menggunakan tombol yang sama sebagai toggle untuk mematikan pemeriksaan. Ini agak lambat, tapi berhasil.
sumber
Terima kasih untuk Steven Lu , saya bisa mengabaikan file dari Ansible Roles , sekarang.
sumber
Saya menggunakan Ale dan Syntastic terutama karena dukungan Rust Ale belum terlalu bagus. Dalam kasus saya, saya menggunakan vim-plug package manager, saya mengatur sehingga tidak akan mengaktifkan semua ini secara otomatis. Saya menggunakan strategi toggle sebagai gantinya.
Dalam kasus saya, saya ingin Ale secara default, dan Syntastic untuk Rust
Di bagian plugin vimrc saya melakukan ini
Setelah itu saya menetapkan bind untuk mengaktifkan linter, (saya menggunakan l sebagai mnemoic untuk linter)
Untuk Rust saya mengganti pengikatan yang sama
Juga saya harus menghapus barang-barang statusline dari vimrc saya jika tidak saya mendapatkan kesalahan saat memuatnya dengan Syntastic dinonaktifkan
Salam
sumber