ভিআইএম + সিনটাস্টিক: কিভাবে চেকার অক্ষম করবেন?


118

আমি সিন্টাস্টিক ব্যবহার করছি যা আমার এইচটিএমএল ফাইলগুলির জন্য সক্ষম। যেহেতু আমার কাছে "ভ্যালিডেটর ডাব্লু 3" চেকার সক্ষম রয়েছে তার সাথে একটি খুব বড় ফাইল রয়েছে, তাই ফাইলটি সংরক্ষণ করার সময় জিভিআইএম বা ভিআইএম খুব ধীর হয়ে গেছে (: ডাব্লু)।

কেবলমাত্র বর্তমান অধিবেশনের জন্য অস্থায়ীভাবে সিনথেটিক বন্ধ করা সম্ভব?


3
চেষ্টা করুনlet g:syntastic_disabled_filetypes=['html']
ইয়াকিয়াং

উত্তর:


166

:SyntasticToggleModeআপনি ব্যবহার করে সিন্টাস্টিকটিকে প্যাসিভ মোডে টগল করতে পারেন, যা স্বয়ংক্রিয় চেকিং অক্ষম করবে। তারপরে আপনি তার :SyntasticCheckপরিবর্তে চালিয়ে কোনও ফাইল চেক করতে পারেন ।

আরও জন্য, দেখুন :help syntastic-commands

অন্য নোট অন: যদি Syntastic ধীর আপনি ব্যবহার করার কথা ভাবুন জন্য বীয়ার একটি বিকল্প হিসাবে। সিন্টাস্টিকের বিপরীতে এটি অবিচ্ছিন্নভাবে চালিত হয়, সুতরাং এটি ধীরে ধীরে হলেও এটি আপনাকে বাধা দেয় না।


1
এটিকে টগল করার জন্য কোনও একক উলাম বা ম্যাপ কী তৈরি করার কোনও উপায় আছে? অর্থাৎ, :errorবা Ctrl + Shift / Alt + e :SyntasticCheckএবং এর মধ্যে টগল করে :SyntasticToggleMode
yoaquim

2
আপনি :command Sd SyntasticToggleMode .vimrc এ এর মতো একটি নাম তৈরি করতে পারেন: তারপরে vi টিপুন: এসডি এবং এটি সিনটাস্টিকটিকে অক্ষম করবে। যে কাজ করতে কিভাবে এখানে আরও তথ্য: stackoverflow.com/questions/3878692/aliasing-a-command-in-vim
এরিক Leschinski

2
সুন্দর। কেউ যদি এটি ব্যবহার করতে চান তবে এফ 6-তে ম্যাপিংয়ের জন্যsilent! nmap <F6> :SyntasticToggleMode<CR>
lfender6445

87

আমি ডিফল্ট হিসাবে সিনটাস্টিক অক্ষম করেছি এবং আমার .vimrc এ নিম্নলিখিতগুলির সাথে ত্রুটি পরীক্ষা করে সক্রিয় / নিষ্ক্রিয় করেছি:

let g:syntastic_mode_map = { 'mode': 'passive', 'active_filetypes': [],'passive_filetypes': [] }
nnoremap <C-w>E :SyntasticCheck<CR>

যখন আমার ত্রুটি পরীক্ষা করতে ব্যবহার করার দরকার হয় তখন আমি কেবল হিট করি: ctrl-w E


এটি বেশ সহজ, ধন্যবাদ .. আমি আমার কনফিগারেশনে এই ধারণাটি যুক্ত করেছি। +1
jdt

3
আমি আমার .vimrcaswell এ এটি যোগ করেছি । তবে আমি Ctrl-w ই সিন্টাস্টিক টিপলে যদি দ্বিতীয়টির জন্য পপ আপ হয় এবং আবার অদৃশ্য হয়ে যায়। কোন ধারণা কি ভুল হচ্ছে এবং / বা কীভাবে এটি ট্র্যাক করা যায়?
অ্যান্টিকোম

আমি মনে করি ম্যাপিংটি থাকা উচিত নয়: সিন্টাস্টিকটগলমড <সিআর> এটি অপসারণ করে আপনার সমস্যাটি @ অ্যান্টিকমকে ঠিক করা উচিত।
আচল দাভে

@ আঁচালডেভ আমার জন্য এটি ঠিক করেন নি।
অ্যান্টিকম

এইচএম, কোনও ধারণা নেই। আমার সিনথেটিক সেটিংস দেখতে দেখতে এখানে: github.com/achalddave/dotfiles/blob/…
অচল ডেভ

33

জেমি এবং গসপস উত্তরের বিকল্প হিসাবে, চেকারকে নির্দিষ্ট করে নির্দিষ্ট করে চেকার সম্পূর্ণরূপে অক্ষম করতে পারে :

let g:syntastic_html_checkers=['']

এছাড়াও নিশ্চিত করুন যে এটি syntastic_check_on_open1 তে সেট করা নেই যা উপরের লাইনের বিপরীতে থাকবে:

let g:syntastic_check_on_open = 0

10

আপনি পুরো অধিবেশনটির জন্য সিন্টাস্টিক বন্ধ করতে পারেন ( জেমি শেম্ব্রির উত্তর অনুসারে ), তবে যদি এটি "খুব বড় ফাইল" এর সাথে সমস্যা হয় তবে আপনি কেবল একটি বাফারটি অক্ষম করতে চাইতে পারেন।

আমি আমার চাকরিতে যে কয়েকটি ফাইল নিয়ে কাজ করি তা হতাশাজনকভাবে পিএসআর-এর অনুগত। বেশিরভাগ কাজ ঠিক আছে। আমি কেবল সেই সমস্যাযুক্ত ফাইলগুলির জন্য সিন্টাস্টিকটি অক্ষম করতে কার্যকারিতা খুঁজছিলাম। প্রাথমিক অবদানকারী দ্বারা বর্ণিত ' সিন্টাস্টিক ডিসাইজেটগল ' সমাধানটির একটি সহজ ফর্ম আমার জন্য কাজ করে:

"disable syntastic on a per buffer basis (some work files blow it up)
function! SyntasticDisableBuffer()
    let b:syntastic_skip_checks = 1
    SyntasticReset
    echo 'Syntastic disabled for this buffer'
endfunction

command! SyntasticDisableBuffer call SyntasticDisableBuffer()

এটি অন্যান্য বাফারগুলিকে প্রভাবিত করে না বলে আমি আমার কাছে খোলা অন্য যে কোনও (আংশিকভাবে) আনুগত্যকারী ফাইলগুলির জন্য এই দুর্দান্ত প্লাগইনটি ব্যবহার করতে পারি।


6

এটি সরাসরি প্রশ্নের সমাধান করে না, তবে বর্তমান অধিবেশন ছাড়িয়ে সহায়তা করতে পারে। আপনার যদি এমন একটি ফাইল থাকে যা আপনি প্রায়শই সম্পাদন করতে পারেন তবে যা আপনি জানেন যে আপনি সর্বদা সিন্টাস্টিকটি অক্ষম করতে চাইবেন (উদাঃ এটির হাজার হাজার ত্রুটি রয়েছে এবং আপনি সেগুলি ঠিক করবেন না এবং এটি ইউআই ধীরগতির ফলস্বরূপ রেখে যাচ্ছেন) তবে স্থায়ীভাবে এটি কালো তালিকাভুক্ত করা খুব সুবিধাজনক।

এটি করতে, syntastic_ignore_filesবিকল্পটি ব্যবহার করুন । এটি সহায়তায় সরিয়ে দেওয়া হয়েছে, তবে আপনি এই বৈশিষ্ট্যটির সাথে রেজিক্সগুলি ফাইলগুলি কালো তালিকাভুক্ত করতে ব্যবহার করতে পারেন।

                                                    'syntastic_ignore_files'
Default: []
Use this option to specify files that syntastic should never check.  It's a
list of regular-expression patterns.  The full paths of files (see ::p) are
matched against these patterns, and the matches are case sensitive. Use \c
to specify case insensitive patterns.  Example:
    let g:syntastic_ignore_files = ['\m^/usr/include/', '\m\c\.h$']

1
দুর্দান্ত কাজ! যদিও প্রশ্নটি চেয়েছিল তা নয়। দরকারী হওয়ার জন্য এখানে একটি +1 দেওয়া আছে।
bschlueter

5

নিম্নলিখিত সেটিংস আমার জন্য কাজ করে।

let g:syntastic_mode_map = { 'mode': 'passive', 'active_filetypes':   [],'passive_filetypes': [] }
noremap <C-w>e :SyntasticCheck<CR>
noremap <C-w>f :SyntasticToggleMode<CR>

Ctrl-w + e shall enable checking
Ctrl-w + f shall disable checking 

To disable warnings use: 
let g:syntastic_quiet_messages={'level':'warnings'}

4

একটি একক বাফার (ফাইল টাইপ নির্বিশেষে) জন্য পরীক্ষা বন্ধ করার জন্য অন্য বিকল্পটি হ'ল :let b:syntastic_mode="passive"। যেহেতু এটি কোনও টগল নয়, এটি বাফারটি বর্তমানে প্যাসিভ মোডে থাকলেও এটি কাজ করবে।

আপনি যদি সমস্ত বাফারগুলিতে সমস্ত ফাইল টাইপের পরীক্ষা সাময়িকভাবে বন্ধ করতে চান তবে আপনি এটি ব্যবহার করতে পারেন :bufdo let b:syntastic_mode="passive"। সমস্ত বাফার চেক / অফ করার জন্য আমার কাছে সেটআপ ম্যাপিং রয়েছে:

nnoremap <leader>sN :bufdo let b:syntastic_mode="passive"<cr>
nnoremap <leader>sY :bufdo unlet b:syntastic_mode<cr>

:wqaপ্রচুর ওপেন বাফার সহকারে এটি বিশেষত সহায়ক ।


4

একইভাবে কয়েক জন অন্যদের দ্বারা উল্লিখিতদের কাছে, এখানে একটি ভিআরসিআর সেগমেন্ট রয়েছে যা ডিফল্টরূপে সিন্টাস্টিকটিকে বন্ধ করে দেবে, তবে বর্তমান ফাইলটি পরীক্ষা করতে একটি বোতাম (এখানে, এফ 10) মানচিত্র করে এবং চেকগুলি বন্ধ করতে টগল হিসাবে একই বোতামটি ব্যবহার করে। এটি কিছুটা ধীর, তবে কাজ করে।

let g:syntastic_check_on_open = 0                                                                                 
let g:syntastic_check_on_wq = 0
let g:syntastic_mode_map = {'mode':'passive'}
nnoremap <F10> :SyntasticCheck<CR> :SyntasticToggleMode<CR> :w<CR>


0

আমি এলে এবং সিনটাস্টিকটি মূলত ব্যবহার করছি কারণ মরচে আলে সমর্থন এখনও খুব ভাল নয়। আমার ক্ষেত্রে আমি ভিআইএম-প্লাগ প্যাকেজ ম্যানেজার ব্যবহার করছি, আমি সেটআপ করছি যাতে এটি এর কোনও স্বয়ংক্রিয়ভাবে সক্ষম না হয়। আমি পরিবর্তে একটি টগল কৌশল ব্যবহার করি।

আমার ক্ষেত্রে আমি ডিফল্টরূপে আলে এবং মরিচির জন্য সিন্টাস্টিক চাই

ভিএমআরসি-র প্লাগইন অংশে আমি এটি করেছি

Plug 'w0rp/ale', { 'on': 'ALEToggle' }
Plug 'vim-syntastic/syntastic', { 'on': 'SyntasticToggleMode' }

এরপরে আমি লম্বাটি সক্ষম করার জন্য একটি বাঁধাই সেট করেছি, (আমি লিন্টারের জন্য মেমোমিক হিসাবে এল ব্যবহার করি)

nnoremap <leader>l :ALEToggle<CR>

মরিচা জন্য আমি একই বাঁধাই ওভাররাইড

au FileType rust noremap <buffer> <leader>l :SyntasticToggleMode<CR>

এছাড়াও আমার ভিএমআরসি থেকে স্ট্যাটাসলাইন স্টাফগুলি সরিয়ে ফেলতে হয়েছিল অন্যথায় সিন্টাস্টিক অক্ষম করে লোড করার সময় আমি ত্রুটিগুলি পাই

" Syntastic stuff
"set statusline+=%#warningmsg#
"set statusline+=%{SyntasticStatuslineFlag()}
"set statusline+=%*

let g:rustfmt_autosave = 1
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
" Syntastic stuff

শুভেচ্ছা সহ

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.