ভিম: ভিজ্যুয়াল মোডে পাঠ্যের ব্লকগুলি নির্বাচন করার দ্রুত উপায়


190

আমি বেশ কিছুদিন ধরে ভিএম ব্যবহার করে আসছি এবং অবগত রয়েছি যে ভিজ্যুয়াল মোডে পাঠ্যের ব্লকগুলি নির্বাচন করা SHIFT+ এর মতোই সহজ এবং আমি যে পাঠ্যটির ব্লকের Vশেষে পৌঁছাচ্ছি ততক্ষণ পর্যন্ত তীর কীটি উপরে বা নীচে লাইন-বাই-লাইন সরানো I নির্বাচিত চান।

আমার প্রশ্নটি হল - উদাহরণস্বরূপ পাঠ্যগুলির একটি ব্লক নির্বাচন করার জন্য ভিজ্যুয়াল মোডে আরও দ্রুততর উপায় আছে SHIFT+ এর Vপরে লাইন নম্বরটি নির্দিষ্ট করে যেখানে আমি নির্বাচনটি থামাতে চাই? ( :35উদাহরণস্বরূপ, যেখানে 35 টি লাইন নম্বর আমি নির্বাচন করতে চাই - এটি স্পষ্টতই কাজ করে না তাই আমার প্রশ্নটি এটির অনুরূপ কিছু কীভাবে করা যায় তা সন্ধান করা ...)


3
+1 ভাল প্রশ্ন যেমন আমি নিজেকে প্রায়শই এরকম কিছু করতে দেখেছি। যদি সম্ভবত এই জায়গাটি ব্যবহার ব্যবহার শুরু করা হয় না আমি অবাক হচ্ছি v%বা v/patternবা অন্য কিছু?
ব্যবহারকারী 786653

9
ভিআইপি নির্বাচন করুন অভ্যন্তরীণ বাক্য নির্বাচন করুন অভ্যন্তরীণ অনুচ্ছেদ।
সার্জিওআরাউজো

27
V35Gবর্তমান লাইন থেকে লাইন 35 তে দৃশ্যত নির্বাচন করবে , V10jঅথবা V10kপরবর্তী বা পূর্ববর্তী 10 লাইনটি দৃশ্যত নির্বাচন করবে
স্টিফান

1
@ স্টেফান, আমি যা খুঁজছিলাম ঠিক এটিই। ধন্যবাদ !!
চিক্কুর

লাইন নির্বাচন আমি ব্যবহারের শর্টকাটের: nnoremap <Space> V। যখন ভিজ্যুয়াল লাইন মোডে নির্বাচন সংজ্ঞায়িত করতে মাউসের সাহায্যে ডান ক্লিক করুন (কমপক্ষে লিনাক্সের ক্ষেত্রে এটি তাই)) যাইহোক, কেবল কীবোর্ডের চেয়ে বেশি কার্যকর।
মিখাইল ভি

উত্তর:


212

অন্যেরা যা বলেছে তা ছাড়াও, আপনি প্যাটার্ন অনুসন্ধানগুলি ব্যবহার করে আপনার নির্বাচনকে প্রসারিত করতে পারেন।

উদাহরণস্বরূপ, v/fooআপনার বর্তমান অবস্থান থেকে পরবর্তী "foo" উদাহরণটি নির্বাচন করবে। উদাহরণস্বরূপ, আপনি যদি সত্যই 35 লাইনে "foo" এর পরবর্তী উদাহরণে প্রসারিত করতে চান তবে কেবল চাপুনn নির্বাচন প্রসারিত করতে , এবং আরও কিছু।

হালনাগাদ

আমি প্রায়শই এটি করি না, তবে আমি জানি যে কিছু লোক চাক্ষুষ নির্বাচনগুলি করার জন্য ব্যাপকভাবে চিহ্ন ব্যবহার করে। উদাহরণস্বরূপ, আমি যদি লাইন 5-এ থাকি এবং আমি 35 লাইনটি নির্বাচন করতে চাই, আমি লাইন 5-এ maচিহ্নিত করতে চাপতে পারি a, তারপরে :35লাইন 35-এ সরাতে পারি Shift+ vলাইনওয়াইজ ভিজ্যুয়াল মোডে প্রবেশ করতে এবং শেষ পর্যন্ত `aচিহ্নিত করতে আবার নির্বাচন করতে a


21
আপনার যদি প্রয়োজন সেই প্যাটার্নটি অন্তর্ভুক্ত করতে হয় তবে v/foo/eeমিলেছে প্যাটার্ন "শেষ" জন্য দাঁড়িয়েছে।
পিটার রিঙ্কার

6
এবং আপনি অফসেটের সাহায্যে সেই লাইনটি থেকে সংশোধন করতে পারেন: ভি / ফু / + 5 বা ভি / ফু / / 5 (আমি লেখকের মতো লাইনওয়াইজ ভিজ্যুয়াল মোড ব্যবহার করছি)।
bheeshmar

আপনি যদি নিজের সন্ধানের সাথে মেলে এমন পাঠ্যের ব্যাপ্তিটি নির্বাচন করতে চান তবে আপনি কী করবেন; অর্থাত: আপনার অনুসন্ধান শব্দটি সন্ধান করুন এবং (পুরো শব্দটি) নির্বাচন করুন?
ড্যানিয়েল পার্ক 21

5
@ ড্যানিয়েলপার্ক বর্তমান শব্দটি নির্বাচন করতে, ব্যবহার করুন v i w। আপনি যদি বর্তমান সংলগ্ন অ-সাদা স্থান নির্বাচন করতে চান তবে v i Shift+ ব্যবহার করুন w। পার্থক্যটি যখন ক্যারেটটি এখানে থাকবে তখন MyCla|ss.Methodপ্রথম কম্বোটি নির্বাচন করবে MyClassএবং দ্বিতীয়টি পুরো জিনিসটি নির্বাচন করবে।
জে

1
ধন্যবাদ। পাওয়া গেছে যে ব্যবহার করে v i w sআপনাকে কার্যকরভাবে "প্রতিস্থাপন" অপারেশন করতে দেয়।
ড্যানিয়েল পার্ক

113
G                       Goto line [count], default last line, on the first
                        non-blank character linewise.  If 'startofline' not
                        set, keep the same column.
                        G is a one of jump-motions.

V35G আপনি যা চান তা অর্জন করে


89

ভিম একটি ভাষা। ভিমকে সত্যই বুঝতে হলে আপনার ভাষাটি জানতে হবে। অনেক কমান্ড ক্রিয়াপদ হয়, এবং ভিমেও অবজেক্টস এবং প্রিপোজিশন থাকে।

V100G
V100gg

এর অর্থ "100 টি লাইন পর্যন্ত বর্তমান লাইনটি নির্বাচন করুন" "

পাঠ্য অবজেক্টগুলি যেখানে প্রচুর শক্তি থাকে। তারা প্রিপোজিশনগুলি সহ আরও অবজেক্টগুলি প্রবর্তন করে।

Vap

এর অর্থ "বর্তমান অনুচ্ছেদের চারপাশে নির্বাচন করুন", এটি বর্তমান অনুচ্ছেদ এবং এটি অনুসরণ করে ফাঁকা রেখা নির্বাচন করুন।

V2ap

এর অর্থ "বর্তমান অনুচ্ছেদ এবং পরবর্তী অনুচ্ছেদের চারপাশে নির্বাচন করুন।"

}V-2ap

এর অর্থ "বর্তমান অনুচ্ছেদের শেষে যান এবং তারপরে এটি এবং পূর্ববর্তী অনুচ্ছেদটি দৃশ্যত নির্বাচন করুন।"

ভিমকে ভাষা হিসাবে বোঝা আপনাকে এ থেকে সেরা মাইলেজ পেতে সহায়তা করবে।

আপনি নীচে নির্বাচন করার পরে, আপনি অন্যান্য কমান্ডের সাথে একত্রিত করতে পারেন:

Vapd

উপরের কমান্ডের সাহায্যে আপনি একটি অনুচ্ছেদের চারপাশে নির্বাচন করতে এবং এটি মুছতে পারেন। পরিবর্তন dএকটি থেকে yকপি করতে বা করার cপরিবর্তন করতে বা করার pউপর পেস্ট করতে।

এই সমস্ত কমান্ডগুলি কীভাবে একসাথে কাজ করবে তা একবার আপনি হ্যাং পেয়ে গেলে, শেষ পর্যন্ত আপনার দৃশ্যত কোনও কিছুই নির্বাচন করার প্রয়োজন হবে না। দৃষ্টিভঙ্গি নির্বাচন এবং তারপরে একটি অনুচ্ছেদ মুছে ফেলার পরিবর্তে আপনি কেবলমাত্র অনুচ্ছেদটি অনুচ্ছেদে মুছতে পারেন dap


} ভি -2 এপ -2 এর ব্যবহার সত্যিই স্মার্ট।
আম্বরীশ

40

v35G কার্সার থেকে লাইন 35 পর্যন্ত সমস্ত কিছু নির্বাচন করবে।

vআপনাকে নির্বাচিত মোডে রাখে, আপনি 35যে লাইন নম্বরটি চান তা নির্দিষ্ট করেG যেতে ।

আপনি v}পরবর্তী প্যারাগ্রাফের শুরু পর্যন্ত যা ব্যবহার করতে পারেন তাও ব্যবহার করতে পারেন ।


16

লাইনের সংখ্যা নির্বাচন করার জন্য:

শিফট + ভি 9 জে - 10 টি লাইন নির্বাচন করুন


2
ছোট পরিসরের জন্য এটি ভাল, বিশেষত যখন তৈরি হয়:set rnu
পিটার রিঙ্কার

9

Shift+V n j অথবা Shift+V n k

এটি বর্তমান লাইন এবং পরবর্তী / পূর্ববর্তী nলাইনগুলি নির্বাচন করে । আমি এটি খুব দরকারী মনে হয়।


এটি আমি একটি সহজ উপায় খুঁজছিলাম। ধন্যবাদ
আর্সাল

6

v 35 জে

সর্বনিম্ন 30 অক্ষরের জন্য পাঠ্য যোগ করা হয়েছে


6

v%

পুরো ব্লকটি নির্বাচন করবে।

এছাড়াও খেলুন:

v}, vp, vs, ইত্যাদি

সহায়তা দেখুন:

:help text-objects

যা বর্ণ, শব্দ, বাক্য, অনুচ্ছেদ, ব্লক এবং আরও অনেকগুলি বেছে নেওয়ার জন্য বিভিন্ন উপায়ে তালিকাভুক্ত করে।



4

বন্ধনী দ্বারা vi}বেষ্টিত ব্লকটি নির্বাচন করতে আপনি টিপতে পারেন {}যেখানে আপনার কার্সারটি বর্তমানে অবস্থিত।

আপনি যে ব্লকের ভিতরে রয়েছেন তা আসলেই গুরুত্বপূর্ণ নয় (কেবলমাত্র আপনি বাহ্যিকতম অবস্থানে রয়েছেন তা নিশ্চিত করুন)। এছাড়াও আপনি পরিবর্তন করতে পারেন {কিছু মত একজোড়া হয়েছে যে )বা]


3

ক্রিয়া পুনরাবৃত্তি করতে আপনি সর্বদা কেবল পূর্বের সংখ্যাগুলি ব্যবহার করতে পারেন:

  • ভিজ্যুয়াল মোডে টাইপ করুন 35 এবং কার্সারটি পরবর্তী 35 টি লাইন নির্বাচন করে 35 বার নীচে চলে যাবে
  • সাধারণ মোডে:
    • 35 লাইন মুছুন 35dd
    • 35 বার পেস্ট করুন 35p
    • 35 টি পরিবর্তন পূর্বাবস্থায় ফিরে যান 35u
    • প্রভৃতি

2

সরল শুধু টিপুন Shift v line number gg

উদাহরণস্বরূপ: আপনার বর্তমান লাইনের লাইনে 41 টি চাপুন Shift v 41 gg


1

} এর অর্থ পরবর্তী অনুচ্ছেদে কার্সার সরানো। সুতরাং, v}পুরো অনুচ্ছেদ নির্বাচন করতে ব্যবহার করুন।


0

ভিজ্যুয়ালটিতে সমস্ত নির্বাচনের জন্য: ইওর স্বাভাবিক মোডে রয়েছে তা নিশ্চিত হওয়ার জন্য Esc টাইপ করুন

:0 

ফাইলের শুরুতে ENTER টাইপ করুন

vG

ggপ্রথম লাইনেও যেতে আপনি সাধারণ মোডে ব্যবহার করতে পারেন ।
Huangzonghao

0

এটি কাজে লাগাতে পারে:

উদাহরণস্বরূপ ব্যবহারের জন্য একই পরিমাণের রেখা নির্বাচন করার জন্য আপনার ব্লকওয়াইজ বা লাইনওয়াইজ 1v করতে সক্ষম হতে কিছু পরিবর্তন করা উচিত ছিল 1v

আজ আমি এখান থেকে এই আশ্চর্যজনক টিপটি দেখেছি :

 :5mark < | 10mark > | normal gvV
 :5mark < | 10mark > | normal gv

আপনি ভিজ্যুয়াল ব্লকের সীমানা পুনরায় সেট করতে পারেন:

m< .......... sets the visual mode start point
m> .......... sets the visual mode end point

0

আমি এটিকে ভাঁজ ইনডেন্ট মোডে ব্যবহার করি:

v ব্লকের যে কোনও জায়গায় ভিজ্যুয়াল মোড খুলুন

zaza দুবার টোগল করুন

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