কার্সারটি সরানো ছাড়া অনুসন্ধান শব্দটি হাইলাইট করা


11

ভিম ব্যবহার করে, আমি কখনও কখনও কিছু সময়ের জন্য সোর্স কোডের একটি বিভাগে ঘুরে দেখি এবং হঠাৎ পর্দায় কিছু পরিবর্তনশীল পপ আউট করতে চাই। এটা সহজ: /<var> যা তাদের সব হাইলাইট। আমার সমস্যা হল অনুসন্ধানটি আমার উইন্ডোতে স্থানান্তর না করার চেয়ে আরো প্রায়ই তাই আমি একই স্থান থেকে উৎস কোডটি দেখছি না। এমনকি যদি এটি কয়েকটি লাইন স্থানান্তরিত হয় তবে তা এখনও আমাকে বন্ধ করে দেয়, কারণ কিছু জিনিস সরানোর জন্য আমাকে কয়েক সেকেন্ড সময় নিতে হবে।

পরবর্তী ম্যাচটিতে কার্সারটি সরাতে কোনও অনুসন্ধান শব্দটি হাইলাইট করা কি সম্ভব?


2
ঠিক একটি উত্তর না, কিন্তু আমি যেখানে আগে ছিল সেখানে লাফ দিতে আমি দুটি ব্যাকটিক (``) ব্যবহার করি।
Izkata

উত্তর:


1

http://vim.wikia.com/wiki/VimTip1572

আপনি যদি এই প্লাগিনটি ব্যবহার করেন তবে আপনি কেবল কার্যক্ষমতাকে সক্ষম করতে পারেন

\ মি

তারপরে আপনার কার্সারটি সরানো ছাড়া সর্বত্র যে শব্দটি একটি রঙ বরাদ্দ করতে একটি নামপ্যাড কী ব্যবহার করুন।

1

আপনি বিভিন্ন শব্দগুলির জন্য একবারে বিভিন্ন ভিন্ন হাইলাইটগুলি ব্যবহার করতে পারেন, অথবা যদি আপনি চান তবে আরো জটিল অনুসন্ধানের নিদর্শনগুলি ব্যবহার করতে পারেন।


আমি এই প্লাগিন প্রেম!
Andrew Wood

13

আকাশের উত্তর আপনি যা চান তা সম্পাদন করতে স্বাভাবিক অনুসন্ধান হাইলাইটিংটি কীভাবে ব্যবহার করবেন তার ধারণাটি দেখায়।

আমি একটি কীবিন্দু তৈরীর দ্বারা যে কৌশল প্রসারিত যে অনুরূপ কাজ করে * হুকুম , কিন্তু প্রকৃতপক্ষে পরবর্তী ম্যাচ চলন্ত ছাড়া।

আমার ধন্যবাদ যায় garyjohn ইঙ্গিত জন্য expand() সমতুল্য * শব্দ নির্বাচন (ব্যবহার এড়ানোর জন্য * নিজেই এবং ভিউ পুনরুদ্ধার)। এটি যথেষ্ট কোড সরল করে যাতে এটি সরাসরি ম্যাপিংয়ে যেতে পারে (একটি ফাংশন ব্যবহার করে স্থবির করে)। আমি একটি ম্যাপিং যোগ করেছেন যে আংশিক শব্দ মেলে (যেমন g* )।

:" The leader defaults to backslash, so (by default) this
:" maps \* and \g* (see :help Leader).
:" These work like * and g*, but do not move the cursor and always set hls.
:map <Leader>* :let @/ = '\<'.expand('<cword>').'\>'\|set hlsearch<C-M>
:map <Leader>g* :let @/ = expand('<cword>')\|set hlsearch<C-M>

1
আপনি winsaveview (), winrestview () এবং এর কলগুলিতে এড়াতে পারেন normal * প্রতিস্থাপন দ্বারা let @/ = @/ সঙ্গে let @/ = expand("<cword>")
garyjohn

@ গ্যারেজজঃ হ্যাঁ, এটা ভাল। আমি নিশ্চিত ছিলাম যে "শব্দ" নির্বাচনের সমতুল্য কিছু আছে *, কিন্তু <cword> তাই কি.
Chris Johnsen

11

আপনি যে পরিবর্তনশীলের সাথে মেলাতে চান তার জন্য আপনি অনুসন্ধান নিবন্ধটিও সেট করতে পারেন।

প্রথম, অনুসন্ধান হাইলাইট চালু করা আছে তা নিশ্চিত করুন:

:set hlsearch

তারপরে, আপনি এর সাথে অনুসন্ধান নিবন্ধটি সেট করতে পারেন:

:let @/="variable"

এই পরবর্তী ম্যাচে জাম্পিং ছাড়া পরিবর্তনশীল সব ঘটনা হাইলাইট হবে।

আরো তথ্যের জন্য দেখুন :help @/


6

এক উপায় ব্যবহার করা হয় :match কমান্ড, উদাহরণস্বরূপ,

:match Question '^R^W'

যে প্রশ্ন হাইলাইট গ্রুপ ব্যবহার করে কার্সার অধীন শব্দ হাইলাইট হবে। আমি প্রায়ই প্রশ্ন গ্রুপ ব্যবহার করি কারণ আমার টার্মিনালে এটি একটি সুন্দর সবুজ। উপলব্ধ হাইলাইট গ্রুপ দেখতে, চালান

:hi

দ্য ^R এবং ^W Ctrl-R এবং Ctrl-W হয় যথাক্রমে, এবং কার্সারের অধীনে শব্দ দ্বারা প্রতিস্থাপিত হয়। দেখ

:help c_CTRL-R_CTRL-W

যে আরো জন্য। দেখ

:help :match

আরো জন্য :match কমান্ড। যে হাইলাইট পরিষ্কার, সহজভাবে চালানো

:match

কোন আর্গুমেন্ট সঙ্গে।


1

ছাড়াও:

 :set hlsearch

আপনি করতে পারেন:

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