ট্রান্সিয়েন্ট-মার্ক-মোড সক্রিয় থাকাকালীন ইমাসের স্বাভাবিক আচরণ হ'ল আপনি যখন একটি শিফ্ট-নির্বাচন করেন, তারপরে পরবর্তী কমান্ডটি যদি একটি নন-শিফ্ট চলাচল করে, চিহ্নটি নিষ্ক্রিয় করা হয়। উদাহরণস্বরূপ, কমান্ডগুলির পরে M-l
(নীচের ফাংশনটির সাথে বর্তমান লাইনটি চিহ্নিত করতে) এবং C-f
, চিহ্নটি নিষ্ক্রিয় করা হয়েছে। এলিসপ থেকে কীভাবে সেই আচরণটি অনুকরণ করা যায় (set-mark-command nil)
?
উদাহরণ স্বরূপ:
(defun my-mark-current-line ()
(interactive)
(beginning-of-line)
(set-mark-command nil)
(end-of-line)
(forward-char))
(global-set-key (kbd "M-l") 'my-mark-current-line)
এখন এমএল সিএফ এবং অঞ্চলটি বৃদ্ধি পাবে, তবে পরিবর্তে, আমি ডিফল্ট আচরণটি চাই, সিএফ করার সময় অঞ্চলটি নিষ্ক্রিয় করতে, এবং সিএসএফের সাথে বৃদ্ধি পেতে।
সম্পাদনা : সেট-চিহ্ন-কমান্ডের জন্য আলাদা কোনও ফাংশন ব্যবহার করা উচিত যা এটির অনুমতি দেয়? আমি কিছুই খুঁজে পেলাম না।
C-f
তা আপনার ব্যবহারযোগ্য অন্যান্য নেভিগেশন কমান্ডগুলির ক্ষেত্রেও প্রযোজ্য।
C-f
পরে M-l
অঞ্চলটিকে প্রসারিত করে না কারণ শেষে কোনও সক্রিয় অঞ্চল নেই M-l
(যা downcase-word
পূর্বনির্ধারিতভাবে আবদ্ধ )।
M-l
ওপি দ্বারা উল্লিখিত রেফারেন্সটি ডিফল্ট বাঁধাই নয় ( downcase-word
), তবে কাস্টম বাইন্ডিংmy-mark-current-line
C-S-f
সমান । আপনি সম্ভবত যা চান তা কোনও র্যাপার ফাংশনের সাথে আবদ্ধ হয়ে পেতে পারেন যা প্রথমে সক্রিয় হলে কোনও অঞ্চলকে নিষ্ক্রিয় করে এবং তারপরে যা করে তা এগিয়ে যায় ( ); এবং সরাসরি বাঁধা । মনে রাখবেন যে আপনি যদি কখনও টার্মিনাল মোডে ইমাস ব্যবহার করেন এবং উভয়ই টার্মিনাল হিসাবে দু'জনের মধ্যে পার্থক্য করতে পারে না এমন আচরণ করবে ।C-SPC
C-f
C-f
C-f
forward-char
C-S-f
forward-char
C-f
C-S-f
C-f