কীভাবে হাইলাইট-সিম্বল-এ-পয়েন্ট সহ প্রতীককে হাইলাইট করা যায়


13

highlight-symbol-at-point সত্যিই দরকারী তবে আমি প্রতীক আন-হাইলাইট করার সহজ উপায় খুঁজে পাইনি।

বর্তমানে আমাকে unhighlight-regexpপ্রতিটি হাইলাইট করা প্রতীকটির জন্য বারবার কল করতে হবে ।

এর থেকে আরও ভাল উপায় কি:

  • বাফারে সমস্ত হাইলাইট করা প্রতীকগুলি হাইটলাইট করুন
  • একটি মুহূর্তে একটি চিহ্ন উজ্জ্বল?

আপনার কী একসাথে সমস্ত প্রতীক আনইলাইট করা দরকার?
कुशल মোদী

বেশিরভাগ সময় - হ্যাঁ মাঝেমধ্যে বিন্দুতে একটি প্রতীক আনহাইলাইট করাও দরকারী।
Kostya

উত্তরগুলি পৃথক হবে যদি আপনি পয়েন্টের নীচে চিহ্নটি উজ্জ্বল করতে চান বা সমস্ত চিহ্নগুলিকে আলোকপাত করতে চান।
দক্ষ মোদী

আমি আমার প্রশ্ন আপডেট করেছি
kostya

2
আপনি ব্যবহার করে সমস্ত হাইলাইট করা প্রতীকগুলি সরিয়ে ফেলতে পারেনM-x hi-lock-mode
আমির করিমি

উত্তর:


10

একটি বাফারে সমস্ত হাইলাইট করা প্রতীক আনহাইটলাইট করার আরও ভাল উপায় কি?

থেকে C-h f unhighlight-regexp, আমরা পেয়েছি

(আনহাইটলাইট-রিজেক্সপ রিগেক্স)

হাই-লক দ্বারা সেট প্রতিটি ম্যাচের হাইলাইটিং REGEXP এ সরান। ইন্টারেক্টিভভাবে, হাই হাই-লক ইন্টারেক্টিভ ফাংশনগুলির দ্বারা সন্নিবেশিত কেবলমাত্র রেজিএক্সপস গ্রহণ করে, আরইজিইএক্সপি-র জন্য অনুরোধ করুন। যদি REGEXP টি হয় (বা যদি ইন্টার ইন্টারেক্টিভভাবে নির্দিষ্ট করা হয়েছিল), তবে সমস্ত হাই-লক হাইলাইটিং সরান।

তার মানে যে আমরা কেবল কল প্রয়োজন unhighlight-regexpসঙ্গে tতার আর্গুমেন্ট হিসাবে সব হাই-লক বাফারে হাইলাইট নয় হাইলাইট সরাতে।

যদি এটি এককালীন জিনিস ছিল, এটি দ্রুত M-: (unhighlight-regexp t)বা দ্বারা সম্পন্ন হতে পারে C-u M-s h u। তবে মনে হয় এটি বেশ কয়েকটি আপনার প্রায়শই করা উচিত। সেক্ষেত্রে এটি কোনও interactiveফাংশনে আবৃত করা এবং এটি কোনও কীতে আবদ্ধ করা ভাল।

নীচে একটি প্রস্তাবিত সমাধান কোথায় my/unhighlight-all-in-bufferমোড়কের ইন্টারেক্টিভ ফাংশন এবং এটি আবদ্ধ হয় hUমধ্যে search-map। ডিফল্টভাবে search-mapউপসর্গ হয় M-s। সুতরাং এখন, যেমন M-s h uউদ্বোধন করা হয় unhighlight-regexp, M-s h U(মূলধন U নোট করুন) লঞ্চগুলি my/unhighlight-all-in-buffer

(require 'hi-lock)        
(defun my/unhighlight-all-in-buffer ()
  "Remove all highlights made by `hi-lock' from the current buffer.
The same result can also be be achieved by \\[universal-argument] \\[unhighlight-regexp]."
  (interactive)
  (unhighlight-regexp t))
(define-key search-map "hU" #'my/unhighlight-all-in-buffer)

প্রতীকটি দীর্ঘস্থায়ী করার কি আরও ভাল উপায় আছে?

ভাল কথাটি হ'ল আপনার যে চিহ্নটি অপ্রকাশ্য করা উচিত সেটির জন্য আপনাকে পয়েন্টটি দেওয়ার দরকার নেই।

আপনি কেবল কল M-x unhighlight-regexpবা M-s h u(এটির পূর্বনির্ধারিত বাঁধাই করা) এবং যতক্ষণ না আপনি আনহাইটলাইট করতে হবে সেই প্রতীকটির রিজেক্সেপ জুড়ে আসতে M-p/ M-nচাপুন এবং এন্টার টিপুন।


4

আর একটি উপায় হ'ল লাইব্রেরি হাইলাইট ( highlight.el), কমান্ড hlt-highlight-symbol-at-pointএবং hlt-unhighlight-symbol-at-point

এগুলি যথাক্রমে ডিফল্ট C-x X h sএবং আবদ্ধ C-x X u s। হাইলাইটিং এবং আনহাইটলাইটিং সমস্ত কমান্ড C-x Xডিফল্টরূপে উপসর্গ কীতে আবদ্ধ । হাইলাইটিং কমান্ডগুলি প্রিফিক্স কী ব্যবহার করে C-x X h। আনহাইটলাইটিং কমান্ড প্রিফিক্স কী ব্যবহার করে C-x X u। আপনি C-x Xএটিকে উপসর্গের কমান্ডের সাথে আবদ্ধ করে আলাদা উপসর্গ কী ব্যবহার করতে পারেন hlt-map

লাইব্রেরিতে হাইলাইট করা হাইলাইট ওভারলে বা পাঠ্য বৈশিষ্ট্য (বা উভয়) ব্যবহার করতে পারে। হাইলাইট করা মুখ বা রঙটি স্বয়ংক্রিয়ভাবে চয়ন করা যেতে পারে (মুখ এবং রঙগুলির নিজস্ব কাস্টমাইজড ক্রম থেকে) বা না।

হাইলাইটিং সম্পত্তি ব্যবহার করতে পারে font-lock-face, যাতে এটি ফন্ট লক মোড দ্বারা নিয়ন্ত্রিত হয়। অথবা এটি সম্পত্তি ব্যবহার করতে পারে face, যাতে এটি এর দ্বারা নিয়ন্ত্রিত না হয়। (আপনি faceফন্ট-লক ব্যবহার করেন না এমন বাফারগুলিতে হাইলাইট করার জন্য সম্পত্তি ব্যবহার করতে পারেন এবং আপনি যখন ফন্ট লক মোডটি বন্ধ করেন তখন হাইলাইটিং ফন্ট-লক করা বাফারগুলিতে থাকে))


4

C-u C-x w r

(unhighlight-regexp REGEXP) (...) যদি রেগেক্সপ টি হয় (বা যদি C-u ইন্টারেক্টিভভাবে নির্দিষ্ট করা হয়েছিল), তবে সমস্ত হাই-লক হাইলাইটিং সরিয়ে দিন।


0

এটি একটি একক প্রতীককে আলোকপাত করবে:

(defun unhighlight-symbol-at-point ()
  "Remove highlight of symbol at point."
  (interactive)
  (unhighlight-regexp (concat "\\_<" (thing-at-point 'symbol) "\\_>")))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.