ইমাসগুলিতে কার্সারের নিচে ফন্টের মুখ পান


97

আমি আমার নিজস্ব কাস্টম রঙের থিমটি বিকাশ করছি এবং আমি যদি কর্সারের নীচে পাঠ্যকে প্রভাবিত ফন্ট-ফেসগুলির একটি তালিকা পেতে পারি তবে এটি সত্যিই কার্যকর হবে।

টেক্সটমেটের বর্তমান স্কোপ কমান্ডের মতো কিছু।

এটি এমএক্সকে কাস্টমাইজ-ফেস করতে এবং উপলভ্য বিকল্পগুলির সন্ধান করতে আমার সমস্যা বাঁচাতে পারে, অনুমান করে যে আমি যে শব্দটি চালু করছি তাতে কোনটি প্রভাবিত করে।

কোন ধারনা?


আপনি যদি মাউস কার্সার ব্যবহার করে একই কার্যকারিতাটি সন্ধান করছেন (যদি উদাহরণস্বরূপ, আপনি প্রশ্নযুক্ত পাঠ্যে উঠতে পারেন না point), দেখুন: emacs.stackexchange.com/a/35449/13444
ব্রাহাম স্নাইডার

উত্তর:


42

আপনি what-faceএই কোড দিয়ে সংজ্ঞা দিতে পারেন :

(defun what-face (pos)
  (interactive "d")
  (let ((face (or (get-char-property (pos) 'read-face-name)
                  (get-char-property (pos) 'face))))
    (if face (message "Face: %s" face) (message "No face at %d" pos))))

তারপর,

M-x what-face

বর্তমান পয়েন্টে পাওয়া মুখটি মুদ্রণ করবে।

( যেটিwhat-face অন্তর্নির্মিত ছিল না তা নির্দেশ করার জন্য থ্যাডজকে ধন্যবাদ ))


4
এটি পাঠ্য বৈশিষ্ট্য হিসাবে সেট করা মুখগুলি উপেক্ষা করে। সক্ষম হলে hl-line-modeআপনি কেবল hl-lineমুখ হিসাবে দেখতে পাবেন , অন্য মুখগুলি নয়। Gist.github.com/Wilfred/f7d61b7cdf9fdbb1d11c
উইলফ্রেড হিউজেস

4
কার্ল ফোগেল এই কোডে একটি বাগ নির্দিষ্ট একটি পৃথক উত্তরে : আউটপুট বার্তা বলছেন তা মুখ বর্ণনা করেন posপরামিতি, কিন্তু মুখের পড়া আসলে সম্পন্ন করা হয় (point)বদলে এ pos
ররি ও'কেনে

4
এটি কাজ করে না, আপনি পরিবর্তে "এমএক্স বর্ণনা-মুখ" ব্যবহার করতে পারেন।
luochen1990

4
posকোন কাজ নয়; অনুক্রমে করতে স্নিপেট কাজ, আপনি প্রতিস্থাপন করা উচিত (pos)সঙ্গে posলাইন 3 এবং 4
cebola

176

what-cursor-position একটি উপসর্গ যুক্তি সহ অন্যান্য তথ্যের মধ্যেও পয়েন্টের নীচে চেহারা দেখায়।

কীবোর্ড শর্টকাটটি Cu Cx =

উদাহরণ আউটপুট (মুখের সম্পত্তিটি শেষ অনুচ্ছেদে দেখানো হয়েছে):

             position: 5356 of 25376 (21%), column: 4
            character: r (displayed as r) (codepoint 114, #o162, #x72)
    preferred charset: ascii (ASCII (ISO646 IRV))
code point in charset: 0x72
               syntax: w    which means: word
             category: .:Base, L:Left-to-right (strong), a:ASCII, l:Latin, r:Roman
          buffer code: #x72
            file code: #x72 (encoded by coding system undecided-unix)
              display: by this font (glyph code)
    nil:-apple-Monaco-medium-normal-normal-*-12-*-*-*-m-0-iso10646-1 (#x55)

Character code properties: customize what to show
  name: LATIN SMALL LETTER R
  general-category: Ll (Letter, Lowercase)
  decomposition: (114) ('r')

There are text properties here:
  face                 org-level-2
  fontified            t

[back]

11
যা আহবান করে what-cursor-position
viam0Zah

হুঁ, কখনও কখনও এটি হোস্ট-কার্সার-অবস্থানের অনুরোধ করে, কখনও কখনও এটি বাফার বৈশিষ্ট্যগুলির একটি তালিকা প্রদর্শন করে (ফন্ট সহ)। যদি আমি পূর্বের আচরণটি পাই তবে কার্সারটি সরিয়ে নিয়ে যাওয়া এবং পুনরাবৃত্তি করা পরে আসে।
ডেভিডা

4
আমি খুব খুশী আমি এটি পেয়েছি, কমান্ড এবং কীস্ট্রোকের কিছু অজানা সংমিশ্রণের সাথে আমি emacsপ্রদর্শন করতে পেরেছিলাম যে আমি এটি কীভাবে পছন্দ করেছি এবং কীভাবে এটি আমার পরবর্তী পুনঃসূচনাতে ফিরে পাব না
খের পরিবর্তনশীল

4
এটি ইমাসস জিইউআইতে ফন্টের নাম দেখায়। টার্মিনালে, ইমাকস হরফ সেট করার জন্য দায়বদ্ধ নয় এবং তাই যখন C-u C-x =টার্মিনালে চলমান ইম্যাকগুলিতে কেউ এটি করে তখন যেমন তথ্য পাওয়া যায় না emacs -nw file.txt
ফার্নান্দো বাসো

68

এমএক্স বর্ণনা-মুখ


5
এটিতে দুর্দান্ত লিঙ্কটি অন্তর্ভুক্ত রয়েছে যাতে অবিলম্বে কার্সারের অধীনে মুখটি কাস্টমাইজ করা সম্ভব হয়
dolzenko

4
এটি বেশিরভাগ সময় ভালভাবে কাজ করে তবে কখনও কখনও কারণে আমি বুঝতে পারি না যে আমি যে মুখটি খুঁজছি তা এটি প্রস্তাব করে না। উদাহরণস্বরূপ উদাহরণস্বরূপ যখন অ্যান্সির রঙ থাকে তখন এটি কেবল "ডিফল্ট" বলে।
স্যামুয়েল এডউইন ওয়ার্ড

4
এটি আমাকে এমন একটি প্রম্পট দেখায় যেখানে আমি কিছু প্রবেশ করতে পারি। কার্সারের অধীনে ফন্টটি বর্ণনা করতে আমার কী প্রবেশ করতে হবে?
জেলফির কালটস্টল

4
Org-মোডে কোড ব্লক ফন্টগুলি কাস্টমাইজ করার জন্য এটি আমার পক্ষে কাজ করেছে। কমপক্ষে আমার ক্ষেত্রে @ জেলফির, প্রম্পটের আগে লেখাটি দেখানো হয়েছিল। আপনি কেবল আঘাত করতে পারেন return। উদাহরণস্বরূপ আমার ফলাফল পড়ুন Describe face (default ‘org-block-background’):
ম্যালরি-এরিক

8

ট্রে এর মুখটি সঠিক পথে রয়েছে। এটি আমাকে একটি মেইলিং তালিকার একটি ইমেলের দিকে পরিচালিত করেছিল:

(defun what-face (pos)
    (interactive "d")
        (let ((face (or (get-char-property (point) 'read-face-name)
            (get-char-property (point) 'face))))
    (if face (message "Face: %s" face) (message "No face at %d" pos))))

দুহ, ভুলে গেছে এটি ইমাস দিয়ে বান্ডিল ছিল না। আমি কি আমার উত্তরটিতে উত্সটি রাখতে পারি? :)
ট্রে জ্যাকসন

2

এর পরিবর্তে এটি ব্যবহার করে "(পয়েন্ট)" যদিও বার্তা পরে, - ফাংশন একটি আর্গুমেন্ট হিসাবে "পিওএস" লাগে কিন্তু তারপর, এটা ব্যবহার করে না যখন মুখ পেয়ে আছে: `কি-মুখ 'কোডে একটি বাগ এর দাবি পিওএস "% d এ মুখ নেই" ক্ষেত্রে।


4
এই উত্তরে মন্তব্য হিসাবে এটি আরও ভালভাবে স্থাপন করা হবে।
অ্যাডাম স্পায়ার্স

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