সম্পাদনা করুন : আমি সবেমাত্র vim-টেক্সটবজেক্ট-ল্যাটেক্স প্লাগইনটি আবিষ্কার করেছি, যা আপনি সুনির্দিষ্ট কার্যকারিতা যুক্ত করেছেন (কয়েকটি অন্যান্য জিনিস ছাড়াও)। প্লাগইনের README থেকে:
বর্তমানে সমর্থিত পাঠ্য অবজেক্টগুলি হ'ল:
a i Description
a\\ i\\ Inline math surrounded by ``\\(`` and ``\\)``.
a$ i$ Inline math surrounded by dollar signs.
aq iq Single-quoted text ``\`like this'``.
aQ iQ Double-quoted text ``\``like this''``.
ae ie Environment ``\begin{...}–\end{...}``
সুতরাং আপনি caq
যেমনটি চেয়েছিলেন তেমন ব্যবহার করতে পারেন । আমি এটি পরীক্ষা করেছি এবং এটি বিজ্ঞাপন হিসাবে কাজ করে তবে লক্ষ্য করুন যে এটি ভিম-টেক্সটোবজেক্ট-ব্যবহারকারী প্লাগইনের উপর নির্ভরশীল । এছাড়াও নোট করুন যে আপনাকে অবশ্যই নিশ্চিত করতে হবে যে textobject-user
প্লাগইনটি প্রথমে লোড হয় , অন্যথায় জিনিসগুলি কাজ করবে না।
আপনি যদি প্লাগিনগুলির সাথে ঝামেলা করতে না চান তবে আমার মূল উত্তরটি কার্যকর থাকবে:
আপনার এই দুটি লাইন যুক্ত করা আপনার যা চান তার বেশিরভাগ অংশ .vimrc
জুড়ে দেবে।
onoremap aq :<c-u>normal! F`vf'<cr>
onoremap iq :<c-u>normal! T`vt'<cr>
এটি নতুন পাঠ্য অবজেক্ট তৈরি করে ( aq
এবং iq
) যা পূর্ববর্তীগুলিতে ফিরে যায় `
, ভিজ্যুয়াল নির্বাচন মোডে প্রবেশ করে, তারপরে পরবর্তীটি নির্বাচন করুন '
।
এই জন্য কাজ করবে ciq
, caq
, yiq
, এবং diq
। যাইহোক, yaq
এবং daq
বাইরের উদ্ধৃতিগুলি ইয়েঙ্ক / মুছে ফেলবে না, তাই এটি পরিচালনা করতে আমি অন্য একটি পাঠ্য বস্তু তৈরি করেছি, a"
( i"
প্রয়োজন হয় না, তবে আমি জিনিসগুলিকে সামঞ্জস্য রাখতে যোগ করেছি:
onoremap a" :<c-u>normal! 2F`v2f'<cr>
onoremap i" :<c-u>normal! 2T`v2t'<cr>
এখানে সবচেয়ে বড় খারাপ দিক এটি হ'ল এটি স্বাভাবিকভাবে ভেঙে যায় ca"
ইত্যাদি। আপনি যদি সেগুলির সাথে প্রিফেস করেন তবে au FileType tex
আপনার কেবল .tex
ফাইলগুলিতে এই সমস্যাটি থাকবে তবে এটি মাঝে মাঝে বিরক্তি হতে পারে। আপনি বস্তুর নাম ad
/ / id
('ডি' 'ডাবল' উদ্ধৃতি) এর মতো কিছু রাখতে পারেন , তবে এটি আমার কাছে কম স্বজ্ঞাত বলে মনে হয়েছিল (আমি স্বাভাবিক অপারেশন থেকে ন্যূনতম পার্থক্যের লক্ষ্যে ছিলাম)।
এগুলিকে কেবল দুটি পাঠ্য বস্তুতে গুটিয়ে রাখার আমি কেবল ভাবতে পারি এমন একটি ফাংশন লিখতে হবে যা প্রথম সেটটির বাইরে অন্য উদ্ধৃতি পরীক্ষা aq
করে এবং কল করার জন্য পাঠ্য অবজেক্টগুলি সেট করে ।
দ্রষ্টব্য : এগুলির সাথে আরও কয়েকটি ছোটখাটো সমস্যা রয়েছে:
- ইয়াঙ্কিং আপনার কার্সারটিকে অপ্রত্যাশিত জায়গায় ছেড়ে দিতে পারে (কমান্ডগুলিতে একটি চিহ্ন যোগ করে এটি সংশোধন করা যেতে পারে (উদাহরণস্বরূপ
ma2F`v2f'<cr>`a
), আপনি বার বার ম্যানুয়ালি ব্যবহার করেন না এমনটি নিশ্চিত করুন)
- কার্সারটি অবশ্যই উদ্ধৃতিগুলির মধ্যে থাকতে হবে; অদ্ভুত জিনিসগুলি যদি তা উদ্ধৃতিতে হয়।
এই সমস্ত আপ মোড়ানো, আমি ব্যক্তিগতভাবে .vimrc
এই সমস্যাটির জন্য আমার যোগ করতে হবে :
augroup filetype_latex
au!
au FileType tex,plaintex onoremap a' :<c-u>normal! muF`vf'<cr>`u
au FileType tex,plaintex onoremap i' :<c-u>normal! muT`vt'<cr>`u
au FileType tex,plaintex onoremap a" :<c-u>normal! mu2F`v2f'<cr>`u
au FileType tex,plaintex onoremap i" :<c-u>normal! mu2T`v2t'<cr>`u
end augroup
আপনি দেখতে পাচ্ছেন, আমি স্বাভাবিক ca'
/ ya"
/ ইত্যাদি কার্যকারিতা ভঙ্গ করার পক্ষে বেছে নিয়েছিলাম সুতরাং আমি তাদের জন্য নতুন কমান্ড শিখতে হবে না যেহেতু আমি যেভাবেই ল্যাটেক্সের মধ্যে সাধারণ কার্যকারিতাটি ব্যবহার করব না। এটি কেবল একটি ব্যক্তিগত পছন্দ; অবজেক্টের নাম পরিবর্তন করতে শক্ত নয় not আমি ফাইল টাইপ সনাক্তকরণ এবং চিহ্নগুলিতেও যুক্ত করেছি।
iq
করে তবে মনে হয় এটির সাথে কাজ করে না, উদাহরণস্বরূপdaq
।