আমি কিভাবে একটি emacs কমান্ড লিখতে পারি যা বর্তমান কার্সার অবস্থানে একটি পরিবর্তনশীল স্ট্রিং সহ একটি পাঠ্য সন্নিবেশ করায়?


10

আমি একটি এলিস্প ইমাম কমান্ড লিখতে চাই যা একটি নির্দিষ্ট স্ট্রিং সন্নিবেশ করায় বর্তমান কার্সার অবস্থানে একটি পরিবর্তনশীল অংশ রয়েছে:

\label{$STRING} \index{\nameref{$STRING}}

যেখানে কমান্ডের জন্য অনুসন্ধান করা উচিত $STRING এবং পুরো টেক্সট সন্নিবেশ করান।

উত্তর:


11

Elisp

এখানে এটির জন্য একটি সহজ এলিস্প ফাংশন:

(defun labelnameref (string)
  "Insert \label{ARG} \index{\nameref{ARG}} at point"
  (interactive "sString for \\label and \\nameref: ")
  (insert "\\label{" string "} \\index{\\nameref{" string "}}"))

এই ফাংশনটি স্ট্রিংটির জন্য মিনিবফারে প্রশ্ন করে এবং তারপরে এটিকে সন্নিবেশ করে। এটি ব্যবহার করার জন্য আপনি এটি আপনার .emac এ স্থাপন করতে পারেন এবং তারপরে এটির মাধ্যমে এটি আহ্বান করতে পারেন এম-এক্স labelnameref অথবা একটি কী এটি আবদ্ধ।

YASnippet

আপনি যদি একই ধরণের গঠনগুলি ব্যবহার করতে চান তবে এটি yasnippets হিসাবে লিখতে আরও সহজ হতে পারে। সঙ্গে YASnippet আপনি সহজেই উপরে অনুরূপ আচরণ সঙ্গে একটি স্নিপেট তৈরি করতে পারেন। উদাহরণস্বরূপ আপনি নিম্নলিখিতটি ব্যবহার করতে পারেন (যদি আপনি এটির জন্য কিবিন্ডিং চান তবে সঠিক কিবিন্ডিং দিয়ে আপনি "কী বাইন্ডিং" প্রতিস্থাপন করেছেন):

# -*- mode: snippet -*-
# name: foo
# key: foo
# binding: "keybinding"
# --
\label{$1} \index{\nameref{$1}}

এই সঙ্গে আপনি foo লিখুন এবং প্রেস ট্যাব সরাসরি পরে এটি প্রসারিত \label{$1} \index{\nameref{$1}} এবং জন্য অনুসন্ধান করুন $1

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