<ডাবল- মাউস-1> এর সাথে আবদ্ধ নির্বাচিত শব্দ / প্রতীক ফাংশনটি কী


11

আমি বর্তমানে ডাবল মাউস ক্লিকের সাহায্যে পয়েন্টে শব্দ / প্রতীক নির্বাচন করার ক্ষমতাটি পছন্দ করি। আমি এটি কীবোর্ড থেকে করতে সক্ষম হতে চাই এবং তাই আমি এটি একটি কীস্ট্রোকের সাথে আবদ্ধ করতে চাই (বা সম্ভবত এটি ইতিমধ্যে আছে?), তাই আমার ফাংশনের নামটি প্রয়োজন need আমি ধরে নিই ফাংশনটি ইতিমধ্যে অবশ্যই থাকবে, তবে নামটি কী তা আমি বুঝতে পারি না।

আমি চেষ্টা করেছি C-h kকিন্তু তারপরে যখন আমি মাউসটিকে ডাবল ক্লিক করব তখন সাহায্য <down-mouse-1>প্রদর্শিত হবে (আমি ধরে নিয়েছি সহায়তা সিস্টেমটি দ্বিতীয় ক্লিক বা কোনও কিছুর জন্য অপেক্ষা করে না)। আমি সেই ডকুমেন্টেশনও অনুসন্ধান করেছি যেখানে এই কার্যকারিতাটি বিভাগ 21.2-এ সংজ্ঞায়িত করা হয়েছে, তবে এটি ফাংশনের নামটি বলে না।

আপডেট করুন: টিপিক্যাল keybinding জন্য আমি এটা সমতুল্য হয় ঠাউর <C-left>অনুসৃত দ্বারা <C-S-right>যা হয় left-wordএবং right-wordযথাক্রমে, যদিও Shift কী পরেরটির জন্য আয়োজন করা হয়। (শিফট কী এবং ক্যাপচারের সাথে তাদের ম্যাপিংয়ের সাথে কীবোর্ডের উপকরণগুলির মধ্যে সম্পর্কটি আমি পুরোপুরি বুঝতে পারি না, <C-S-right>এটি <C-right>এটি চিহ্নিত করার আগে এটি অনুবাদ করার জন্য সহায়তা right-word)


C-h bসেই বাফারের মাধ্যমে ব্যবহার এবং অনুসন্ধানের মাধ্যমে দেখা যায় যে কিছু নির্দিষ্ট ইভেন্টের সাথে ("মাউস.এল" থেকে) <double-mouse-1>কল mouse-set-pointআসে। এটি কতটা সহায়তা করে তা নিশ্চিত নয় :)
ভ্যানলিজার

1
সি-ডান এবং সি-বামের স্থানান্তরিত এবং অ-স্থানান্তরিত সংস্করণের মধ্যে সম্পর্কের জন্য, এটি shift-selection-mode(দেখুন (info "(emacs) Shift Selection")) এর প্রভাব । এছাড়াও দেখুন emacs.stackexchange.com/questions/12858/…
ইয়ংফ্রোগ

@ ইউংফ্রোগ এই জাতীয় জটিলতা হ'ল প্রায়শই আমার বেশিরভাগ ইমাস প্রোগ্রামিংকে কীবোর্ড ম্যাক্রো হিসাবে রাখে। একটি সহজ কেবিডি ম্যাক্রো এর ভিত্তিতে এর ভিত্তিতে <right> <C-left> <C-S-right>আমার সেই লিঙ্কটির দৈর্ঘ্যে আলোচিত সূক্ষ্ম সমস্যাগুলি পুরোপুরি সমাধান করার দরকার নেই।
চিপ গ্র্যান্ডিটস

উত্তর:


9

এটি আসলে কিছুটা জটিল। আপনি যখন ডাবল ক্লিক করেন mouse-1তখন একাধিক ক্রিয়া হয়। <down-mouse-1>প্রথমে ঘটে যখন আপনি বোতাম টিপুন। তারপরে mouse-1ঘটে যখন আপনি বোতামটি ছেড়ে দিন।

<down-mouse-1>কমান্ড করতে বাধ্য mouse-drag-region, এবং সেই আদেশটি কল করে mouse-drag-track। এই ফাংশনটি মাউস-বোতামের ক্লিকগুলিকে গণনা করে এবং যে কোনও মাউস গতিবিধির উপর নজর রাখে (আপনি যদি ডাবল-ক্লিক করেন তার অর্থ আপনি মাউসটি সরান নি)।

mouse-drag-trackmouse-start-end নির্বাচন করার জন্য পাঠ্যের ব্যাপ্তি নির্ধারণ করতে কলগুলি ফাংশন । এটি mouse-start-endযেখানে আপনি ক্লিক করেছেন সেখানে গিয়ে পৌঁছেছে, প্রথম দুটি আরগ এবং তৃতীয় আরগ হিসাবে ক্লিকের গণনা। এটি হ'ল mouse-start-end:

mouse-start-end is a compiled Lisp function in `mouse.el'.

(mouse-start-end START END MODE)

Return a list of region bounds based on START and END according to MODE.
If MODE is 0 then set point to (min START END), mark to (max START END).
If MODE is 1 then set point to start of word at (min START END),
mark to end of word at (max START END).
If MODE is 2 then do the same for lines.

MODEডাবল ক্লিকের জন্য তৃতীয় আরগ ( ) হিসাবে পাস করা ক্লিক-কাউন্টটি 1 হয়।

আপনি কিবোর্ড কী সিকোয়েন্স থেকে এই কোডটির কয়েকটি কল করতে পারবেন না তবে কোডটি পরীক্ষা করা আপনাকে কী-বোর্ড-বাইন্ডেবল কমান্ডটি লিখতে সাহায্য করবে যা আপনি চান তা করতে।


মাউসের ইভেন্টগুলির জন্য কেন C-h k কাজ করে না তা বোঝানোর জন্য ধন্যবাদ । ইমাকস কীভাবে "মাউস পরিচালনা করছে" তদন্ত করার জন্য আমি যে সর্বোত্তম উপায়টি আবিষ্কার করেছি তা কী-বোর্ড ম্যাক্রো হিসাবে এটি রেকর্ড করা, নাম লিখুন এবং তারপরে insert-kbd-macro সাধারণভাবে উত্পন্ন কোডটি দেখুন আমি সাধারণভাবে কোনও মাউস ইভেন্টটি ব্যবহার করার চেষ্টা করব না ম্যাক্রো, সুতরাং এই অস্থায়ী ম্যাক্রোগুলি ইমাক্স কী করছে তা দেখার জন্য কেবল দরকারী।
চিপ গ্র্যান্ডিটস

6

@ ড্র্রু মাউসের ক্রিয়াতে আবদ্ধ ইভেন্টগুলির সাথে যুক্ত কিছু জটিলতার ব্যাখ্যা দিয়েছে। কীবোর্ডটি ব্যবহার করে শব্দটি চিহ্নিত করার জন্য আপনার চূড়ান্ত লক্ষ্য হিসাবে, আপনি প্রসারিত-অঞ্চলে আগ্রহী হতে পারেন ।

expand-regionআপনাকে সিনেমিক ইউনিটগুলির মাধ্যমে অঞ্চলটি হেরফের করতে দেয়। উদাহরণস্বরূপ, যখন কোনও অঞ্চল সক্রিয় না থাকে, কল করা er/expand-region(সাধারণত আবদ্ধ C-=) বর্তমান শব্দটিকে চিহ্নিত করবে। এটিকে আবার কল করা অঞ্চলটি বর্তমান বাক্যে প্রসারিত করে। এবং তারপরে অনুচ্ছেদ, বিভাগ ইত্যাদি প্রকৃত ইউনিটগুলি আপনি যে মোডে রয়েছেন তার উপর নির্ভর করবে, সুতরাং লিস্প মোডে তারা প্রতীক হবে, প্রতীককে ঘিরে থাকা ভাব প্রকাশ করবে, সেই ভাবটি সংযুক্ত করে প্রকাশ করবে ইত্যাদি units

লিঙ্কযুক্ত পৃষ্ঠার আরও ব্যাখ্যা এবং এটির একটি ভিডিও রয়েছে।


1
হ্যাঁ আমি মেলপা থেকে প্যাকেজ তালিকায় প্রসারিত অঞ্চল প্যাকেজটি দেখতে পাচ্ছি। খুব দরকারী, আমি অবাক হয়েছি এটি ইমাসে ডিফল্ট নয় বা কমপক্ষে সিইডিইটি দিয়ে বান্ডিল রয়েছে। বখশিশের জন্য ধন্যবাদ!
চিপ গ্র্যান্ডিটস

চিপ গ্র্যান্ডিটস: এটি লেখক (গুলি) যথাযথ কপিরাইট অ্যাসাইনমেন্ট সহ এফএসএফ তাদের প্যাকেজ জমা দেওয়ার উপর নির্ভরশীল। লেখকরা এটি জমা না দিলে এটি ইম্যাক্সের ডিফল্ট অংশ হতে পারে না।
ফিল্ড করুন

2

এখানে একটি ফাংশন যা আমি এটি থেকে বের mouse-set-regionকরেছি তা আপনি যখন ডাবল ক্লিক করেন তখন চিহ্নিত করে:

(defun ora-mark-like-double-mouse-1 ()
  (interactive)
  (let ((bnd (mouse-start-end (point) (point) 1)))
    (goto-char (car bnd))
    (push-mark)
    (set-mark (point))
    (goto-char (cadr bnd))))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.