سؤال

عندما اقسم همة أن تريني بعض الملفات أو أجزاء مختلفة من نفس الملف, هل هناك أي طريقة أن يكون واحدا البحث في نافذة واحدة و البحث المختلفة في واحد آخر ؟ على سبيل المثال, أود الجزء العلوي من نافذة إلى نمط البحث foo وانخفاض نافذة إلى نمط البحث bar.

البحث النشط يؤثر على نمط ما هو الضوء عند استخدام البحث تسليط الضوء ، و هو مزعج جدا عندما يكون لدي foo سلط الضوء في الجزء العلوي من النافذة ، ثم التبديل إلى النافذة السفلى و البحث عن bar, ، foo توقف يجري تسليط الضوء في الجزء العلوي من النافذة.

تحرير: هذا السؤال ويبدو أن تكون ذات صلة ، على الرغم من أنني لست متأكدا من انها نسخة مطابقة.

هل كانت مفيدة؟

المحلول

يمكنني استخدام هذا سيناريو تسليط الضوء على بحث متعددة الأنماط.

نصائح أخرى

كانوب الجواب ربما اجمل طريقة للقيام بذلك إذا كنت تستخدم هذا في كثير من الأحيان, ولكن إذا كنت تريد أن تفعل ذلك مع الفانيليا همة تثبيت (أو أكثر لهذه النقطة, بدون تثبيت أي ملحقات), يمكنك أن تفعل ببساطة:

:call matchadd('Search', 'foo')
:call matchadd('Search', 'bar')

ثم يمكنك مسح جميع المباريات مع

:call clearmatches()

وهناك أيضا طرق أكثر نيق حول ما كنت واضح (مع :call matchdelete(...)) من خلال توفير إخراج matchadd إلى متغير.يمكنك قراءة المزيد عن هذا في :help matchadd() و :help matchdelete()

إذا كنت لا تستخدم معقدة جدا صيغة الملف (على وجه التحديد ، وليس باستخدام قوس قزح.همة وتسليط الضوء) ، وربما يمكنك أن تفعل ذلك أيضا مع:

:syn keyword Search foo
:syn keyword Search bar

و من الواضح أنه مع

:syn clear Search

الوحيد الممكن الاستفادة من هذا أعتقد أنه إذا كان هناك الكثير من المباريات التي تحاول تسليط الضوء ، keyword تسليط الضوء هو أسرع بكثير من match تسليط الضوء (وهذا الأخير يستخدم التعبير العادية البحث).يمكنك لا تزال تفعل syn keyword مباراة إذا كنت تستخدم قوس قزح.همة ، ولكن الأمر أكثر تعقيدا من ذلك بكثير.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top