ভিমে বন্ধনী (বা উদ্ধৃতি বা…) এর মধ্যে কীভাবে নির্বাচন করবেন?


219

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

বন্ধনী, বা উদ্ধৃতিগুলির মধ্যে বা সাধারণভাবে মিলে যাওয়া অক্ষরের তালিকার মধ্যে নির্বাচন করার সবচেয়ে সহজ উপায় কী?

   write ( *, '(a)' ) 'Computed solution coefficients:'

উদাহরণস্বরূপ, এখানে আমি নির্বাচন করতে চাই (a), বা Computed solution coefficients:

আমি মাল্টলাইনে আগ্রহী নই, কেবল এক লাইনে ঘটে যাওয়া কেসগুলি।

উত্তর:


276

প্রথম বন্ধনীর ভিতরে যেতে চাইলে যা কিছু নেভিগেশন কী ব্যবহার করুন, তারপরে আপনি কোনওটি ব্যবহার করতে পারেন yi(বা yi)মিলিত প্যারেনগুলির মধ্যে সমস্ত কিছু অনুলিপি করতে পারেন । এটি স্কোয়ার বন্ধনী (যেমন yi]) এবং কোঁকড়া ধনুর্বন্ধনী সঙ্গে কাজ করে। এছাড়াও y, আপনি পাঠ্য মুছতে বা পরিবর্তন করতে পারেন (যেমন ci), di])।

আমি এটি ডাবল এবং একক উদ্ধৃতি দিয়ে চেষ্টা করেছি এবং এটি সেখানে কাজ করে বলে মনে হচ্ছে। আপনার তথ্য জন্য, আমি কি:

write (*, '(a)') 'Computed solution coefficients:'

কার্সারে সরান C, তারপরে টাইপ করুন yi'। কার্সারটি একটি ফাঁকা লাইনে সরান, হিট করুন pএবং পান

Computed solution coefficients:

হিসাবে জন্য CMS লক্ষনীয় , পাশাপাশি চাক্ষুষ মোড নির্বাচনের জন্য এই কাজ - শুধু ব্যবহার vi), vi}, vi', ইত্যাদি


1
আমি সাধারণত পূর্বনির্ধারিত মিলে যাওয়া চরগুলি (সাধারণত কেবলমাত্র একক এবং ডাবল উদ্ধৃতি এবং সমস্ত ধরণের বন্ধনী) এর মধ্যে সমস্ত কিছু নির্বাচন করার উপায় খুঁজছি।
রুক

2
বিচ্ছিন্ন শব্দের অর্থ কী? আমি এটি "[x, y, z]" এ চেষ্টা করে দেখেছি এবং এটি "x, y, z"
টিম হুইটকম্বল

4
শেষ মন্তব্যটি উপেক্ষা করুন - সমস্যাটি কী ছিল তা খুঁজে পেয়েছেন। মোহন মত কাজ করে :-)
রুক

মনে হচ্ছে এটি কোটগুলির সাথে কাজ করে পাশাপাশি yi"সমস্ত
উইনিং কোটগুলি

ci(বা ci)আমি যা খুঁজছিলাম তার জন্য এটি করে। ধন্যবাদ। আমি এখনও iসেই ক্ষেত্রে পুরোপুরি বুঝতে পারি না , তবে যতক্ষণ না এটি কাজ করে ততক্ষণ কে যত্নশীল, তাই না? :)
justnorris

279

একক উদ্ধৃতিগুলির মধ্যে নির্বাচন করতে আমি সাধারণত একটি করি vi' ("অভ্যন্তরীণ একক উদ্ধৃতি নির্বাচন করুন")।

প্রথম বন্ধনী ব্লকের ভিতরে আমি ব্যবহার করি vib ("অভ্যন্তরীণ ব্লক নির্বাচন করুন")

একটি কোঁকড়ানো ধনুর্বন্ধনী ব্লকের ভিতরে আপনি ব্যবহার করতে পারেন viB("মূলধন বি")

নির্বাচনগুলিকে "অন্তর্ভুক্ত" করতে (পরিবর্তে কোট, প্রথম বন্ধনী বা ধনুর্বন্ধনী নির্বাচন করুন) আপনি এর aপরিবর্তে ব্যবহার করতে পারেন i

আপনি ম্যানুয়ালটিতে বা ভিএম এর মধ্যে টেক্সট অবজেক্ট নির্বাচনগুলি সম্পর্কে আরও পড়তে পারেন :help text-objects


এই পরামর্শের জন্য ধন্যবাদ, আমি সন্ধান করছি এবং অনুরূপ কিছু চাইছি এবং আমার ফলাফল নিয়ে সন্তুষ্ট নই। অসাধারণ.
আলফ্রেডোজা

এই টিপটি আমার মস্তিষ্ক এবং পেশীগুলির স্মৃতিশক্তির ভিতরে প্রতিশ্রুতি দেওয়া খুব সহজ এবং সহজ। ধন্যবাদ।
গজালী

এটি একটি অত্যন্ত দরকারী টিপ। অতিরিক্ত কী-স্ট্রোক নিয়ে আর ভ্রান্ত হবে না। লিঙ্ক করার জন্য আপনাকে ধন্যবাদ।
রাই

27

এই নির্বাচনের পদ্ধতিটি অন্তর্নির্মিত এবং ভিম সহায়তাতে ভালভাবে আবৃত। এটি এক্সএমএল ট্যাগ এবং আরও অনেক কিছু কভার করে।

দেখুন :help text-objects


1
: পাঠ্য-অবজেক্টগুলি দরকারী
স্টাফের

2
(এছাড়াও, +1 কারণ দীর্ঘদিনের
ভিআইএম

@ স্টোবার চিয়ার্স সেই রেফারেন্সটি ঠিক করেছেন
মাইকেল 25

21

একক উদ্ধৃতি মধ্যে নির্বাচনের জন্য ব্যবহার করুন vi'

প্রথম বন্ধনী ব্যবহারের মধ্যে নির্বাচন করার জন্য vi(


3
দ্রষ্টব্য: ci'বা ci(চাক্ষুষভাবে নির্বাচনের পরিবর্তে পরিবর্তনের জন্য। তবে এটি আমি যা চেয়েছিলাম ঠিক তেমন করে। ধন্যবাদ :)
justnorris

দ্বিতীয়টি কেবল তখন () ব্লকের মধ্যে কাজ করে, তাই সাধারণত আমি করি %vi(বা%vib
816-8055

7

তীর ব্যবহার করুন বা hjklব্র্যাককেটিং এক্সপ্রেশনগুলির মধ্যে একটিতে যেতে, তারপরে vভিজ্যুয়াল (যেমন নির্বাচন করা) মোড নির্বাচন %করতে , তারপরে অন্য বন্ধনীতে জাম্প করতে।


5
(দুর্ভাগ্যক্রমে, যদিও উদ্ধৃতিগুলি করেন না ...)
স্টোবোর

3

searchpairঅন্তর্নির্মিত ফাংশনটি ব্যবহার করে .vimrc এ একটি ভিম ফাংশন লিখুন :

searchpair({start}, {middle}, {end} [, {flags} [, {skip}
            [, {stopline} [, {timeout}]]]])
    Search for the match of a nested start-end pair.  This can be
    used to find the "endif" that matches an "if", while other
    if/endif pairs in between are ignored.
    [...]

( http://vimdoc.sourceforge.net/htmldoc/eval.html )


2

আমি সর্বাধিক ভোট দেওয়া উত্তরে একটি বিবরণ যুক্ত করব:

আপনি যদি gvim ব্যবহার করছেন এবং ক্লিপবোর্ডে অনুলিপি করতে চান, ব্যবহার করুন

"+<command>

বন্ধনী (বা পেরেন বা কোঁকড়ানো বন্ধনী) এর মধ্যে সমস্ত সামগ্রী অনুলিপি করতে

উদাহরণস্বরূপ: "+yi}আপনার কার্সারটি কোঁকড়ানো বন্ধনীগুলির মধ্যে থাকা সমস্ত সামগ্রী ক্লিপবোর্ডে অনুলিপি করবে।


2
এটি সমস্যার সম্পূর্ণরূপে অর্থেগোনাল এবং এর উত্তর হওয়া উচিত নয়। আপনি যা জিজ্ঞাসা করে প্রতিটি প্রশ্নে এটি লিখতে পারেন y
পাইপ

এটি উত্তরের একটি সংযোজন, নিজেই কোনও উত্তর নয়।
ইউরিপ্লোক

তারপরে এটির উত্তরের একটি সম্পাদনা হওয়া উচিত, এই পোস্টটি যেমন হয় তেমন প্রশ্নের উত্তর দেয় না।
পাইপ

এটি gvim ব্যবহার না করার জন্য একটি বিজ্ঞাপন :) তাদের জীবনে অতিরিক্ত দুটি শিফট + কী কী দরকার?
পল পার্কার

1

আমি একটি প্লাগইন তৈরি করেছি vim-textobj-quotes: https://github.com/beloglazov/vim-textobj-quotes

এটি যে কোনও ধরণের উদ্ধৃতিগুলির নিকটতম জোড়াগুলির জন্য পাঠ্য সামগ্রী সরবরাহ করে। কেবলমাত্র এটি ব্যবহার করা iqবা aqএটি আপনাকে একক ('), ডাবল ("), বা পিছনে (`) উদ্ধৃতিগুলি বর্তমানে কার্সারকে ঘিরে রেখেছে, কার্সারের সামনে বা পিছনে রয়েছে (অগ্রাধিকার ক্রমে) অন্য কথায়, উদ্ধৃতিতে পৌঁছানোর জন্য এটি সামনে বা পিছনের দিকে লাফ দেয়।

উদাহরণগুলি দেখে বোঝা আরও সহজ (কার্সারটি দিয়ে দেখানো হয়েছে |):

  1. আগে: foo '1, |2, 3' bar; চাপ দেওয়ার পরে diq:foo '|' bar
  2. আগে: foo| '1, 2, 3' bar; চাপ দেওয়ার পরে diq:foo '|' bar
  3. আগে: foo '1, 2, 3' |bar; চাপ দেওয়ার পরে diq:foo '|' bar
  4. আগে: foo '1, |2, 3' bar; চাপ দেওয়ার পরে daq:foo | bar
  5. আগে: foo| '1, 2, 3' bar; চাপ দেওয়ার পরে daq:foo | bar
  6. আগে: foo '1, 2, 3' |bar; চাপ দেওয়ার পরে daq:foo | bar

উপরের উদাহরণগুলি একক উদ্ধৃতির জন্য দেওয়া হয়েছে, ডাবল (") এবং পিছনে (`) উদ্ধৃতিগুলির জন্য প্লাগইন ঠিক একইভাবে কাজ করে।

: আপনি অন্য কোন অপারেটর ব্যাবহার করতে পারেন ciq, diq, yiq, viq, ইত্যাদি

আরও তথ্যের জন্য দয়া করে উপরের লিঙ্ক করা গিথুব পৃষ্ঠাটি দেখুন।


-6

ভিমে একটি সাধারণ কীম্যাপ এই সমস্যাটি সমাধান করবে। viik F "lvf" hh মানচিত্র এই উপরের কমান্ডটি উদ্ধৃতিগুলির মধ্যে অনুসন্ধানের কীগুলিতে viq মানচিত্র করে। "যে কোনও চরিত্রের সাথে প্রতিস্থাপন করুন এবং আপনার কীম্যাপগুলি তৈরি করুন start প্রারম্ভকালে এটি ভিমআরসিতে লেগে থাকুন এবং আপনি এটি প্রতিবার ব্যবহার করতে সক্ষম হবেন।

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