ভিএম-এ অটোসমিড বা অগ্রুপ কীভাবে অক্ষম করবেন?


25

প্রদত্ত আমার একদল কমান্ড রয়েছে যেমন:

augroup MyGroup
  autocmd CursorMoved * silent call MyCommandOne()
augroup END

আমি একটি সময়ের জন্য মাইগ্রুপের সমস্ত স্বতঃসমান্তকে অক্ষম করতে চাই এবং পরে এটি আবার সক্ষম করতে চাই।

গ্রুপটির সাথে আমি কি কিছু করতে পারি? বিশেষত, পুরো গ্রুপটি একবারে অক্ষম করার কোনও উপায় আছে কি? যদি তা না হয় তবে স্বতন্ত্র আদেশগুলি অক্ষম করতে আমি কী করতে পারি?

সাহায্যের দিকে তাকিয়ে আমি কেবল কয়েকটি বিকল্প দেখতে পাচ্ছি:

  • augroup!পুরো গোষ্ঠীটি মুছবে: আমি মনে করি এটি সঠিক নয় কারণ আমি এটি আবার সক্ষম করতে চাই। (তবে সম্ভবত গ্রুপটি আবার নতুন করে সংজ্ঞায়িত করার কোনও উপায় আছে?)
  • :noautocmdকেবলমাত্র কমান্ডের এক-অফ-অনুরোধের জন্য কলব্যাকগুলি অক্ষম করবে। (এবং এটি নির্দিষ্ট করে নয়, সমস্ত অটোমডিএস অক্ষম করে )
  • eventignore ইভেন্টকে বাধ্যতামূলকভাবে নির্দেশ করে, কমান্ডকে নয়: মনে হচ্ছে এটি কেবল একটি আদেশ বা আমি নির্দিষ্ট করতে পারি না এমন একটি গোষ্ঠী নয়, প্রদত্ত ইভেন্টের জন্য সমস্ত সীমাবদ্ধ কমান্ড অক্ষম করে।

এটি কিভাবে হয়?

উত্তর:


20

থেকে :help autocmd:

If you want to skip autocommands for one command, use the :noautocmd command
modifier or the 'eventignore' option.

থেকে :help :noautocmd:

To disable autocommands for just one command use the ":noautocmd" command
modifier.  This will set 'eventignore' to "all" for the duration of the
following command.  Example:

    :noautocmd w fname.gz

This will write the file without triggering the autocommands defined by the
gzip plugin.

সুতরাং এটি :noautocmdযা আপনি খুঁজছেন তা দেখা যাচ্ছে।

কোন প্রসঙ্গে আপনি একটি অক্ষম করতে চান augroup?


আপনার উত্তরের জন্য ধন্যবাদ, তবে আমি এটি ইতিমধ্যে দস্তাবেজে পড়েছি। আমি আমার প্রশ্নটি স্পষ্ট করে বললাম (আশা করি) আমি কী খুঁজছি show
অ্যান্ড্রু ভিট

8

থেকে এখানে , মনে হয় যে এই এটা অর্জন করা:

:augroup Foo
:autocmd BufEnter * :echo "hello"
:augroup END

...

:autocmd! Foo BufEnter *

1

এমন যে কেউ পুনঃস্থাপন করতে সক্ষম হচ্ছে মূল পোস্টার প্রয়োজন নেই জন্য augroup, :autocmd! <augroup name>কমান্ড কেবল সব মুছে ফেলতে হয় autocmdএকটি ইন augroup, যেমন:

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