আমি লাইনগুলি গণনা না করে কীভাবে একটি বৃহত পাঠকে মুছব?


91

ভিমে, আমাকে প্রায়শই মোছার দরকার হয়, বা বড় আকারের পাঠ্য মুছে ফেলা হয়।

আমি পাঠ্যের লাইনগুলি গণনা করতে পারি এবং 50dd50 টি লাইন মুছার মতো কিছু প্রবেশ করতে পারি ।

তবে তা কিছুটা ব্যথা। আমি কিভাবে পাঠ্যের এই বৃহৎ ব্লক মুছে দিতে পারেন ছাড়া কত লাইন আগাম মুছে ফেলতে জানেন যে হচ্ছে?


4
কীভাবে জানবেন শেষ কোথায়? যদি আপনি শেষটি বর্ণনা করতে পারেন তবে আপনি সেই বিন্দুতে মুছতে পারেন। আপনি যদি বর্ণনা করতে moveপারেন তবে শেষ পর্যন্ত কীভাবে পারেন । তারপরে প্রান্তটি মুছে ফেলা শেষ দিকে যাওয়ার চেয়ে আলাদা নয় is
মার্টিন ইয়র্ক

@ লোকি, শেষদিকে চলে যাওয়া সাধারণত পৃষ্ঠ-ডাউন এবং তীর কীগুলি ব্যবহার করা হয় যতক্ষণ না আমি সেখানে পৌঁছাই। এটা তোলে পারে প্রথম অথবা দশম ফাঁকা লাইন হয় তবে তা হতে পারে প্রথম বন্ধ যুগল হও। নীচের লাইনটি, এটি বেশ খানিকটা পরিবর্তিত হয়।

উত্তর:


111

আপনার ব্লকের প্রারম্ভিক লাইনে যান এবং টাইপ করুন ma("একটি" চিহ্নিত করুন, যদিও আপনি অবশ্যই বিভিন্ন অক্ষর ব্যবহার করতে পারেন , এবং এমনকি বিভিন্ন চিহ্নের জন্য একাধিক অক্ষরও প্রদান করা হয় তবে প্রতিটি অক্ষর কী তার চিহ্ন হিসাবে চিহ্নিত করে আপনি এটি সরাসরি আপনার মাথায় রাখতে পারেন) ।

তারপরে শেষ লাইনে গিয়ে প্রবেশ করুন d'a("ক" চিহ্নিত করতে মুছুন) বা y'a(ইয়ঙ্ক "এ" চিহ্নিত করতে) (ক)

এটি বর্তমান থেকে চিহ্নিত এক (অন্তর্ভুক্ত) পর্যন্ত সমস্ত লাইন মুছে ফেলবে / ইয়াঙ্ক করবে।

তারপর আপনি এটা যেমন স্বাভাবিক পেস্ট কমান্ড, সঙ্গে অন্য কোথাও আটকে দিতে পারেন pবা P

এটি আপনার viপাশাপাশি vimপরিবেশের আশীর্বাদ না হওয়ার অফ অফ সুযোগে এটিও সামঞ্জস্যপূর্ণ ।


(ক) আমি অন্য কোথাও সন্ধান করতে যেতে চাইলে যেমন ফাইলের মধ্যে আমার স্থান সংরক্ষণ করতে আমি এটি ব্যবহার করি, উদাহরণস্বরূপ, আমি যে ফাংশনটি কল করতে চাই তার সংজ্ঞাটি অনুলিপি-আটকানো।

আমি সহজভাবে বর্তমান লাইনটিকে একইভাবে চিহ্নিত করি ma, তারপরে আপনি যা খুজেন তা সন্ধান করতে ঘুরে বেড়ান।

তারপরে, এটি একবার খুঁজে পেয়ে আমি এটি একটি রেজিস্টারে অনুলিপি করেছি, আমি কেবল 'a"ক" চিহ্নিত করতে ফিরে যেতে প্রবেশ করি, আমি যে রেখাটি আগেই সংরক্ষণ করেছি, সেখানে আমি এটি আটকে দিতে পারি।


9
এর জন্য ভিজ্যুয়াল মোডও ব্যবহার করতে পারে, তাই না?
জেএমসি

3
এটি এক উপায়, জেএমসি, তবে আমি নিশ্চিত নই যে স্ট্যান্ডার্ড vi এর ভিজ্যুয়াল মোড রয়েছে।

5
যেহেতু আমি প্রায় এক বছর আগে ভিজ্যুয়াল নির্বাচন থেকে চিহ্নিতকরণ এবং আপেক্ষিক লাইন নম্বরগুলিতে স্থানান্তরিত করেছি আমি দেখতে পেয়েছি যে vi গতি কমান্ডগুলি ভিজ্যুয়াল নির্বাচনটি আরও দ্রুত এবং দক্ষ। যদিও পরবর্তী সময়ে যতটা সহজ হয় আমি যতবার চাপি vততবার আমি নিজেকে জিজ্ঞাসা করি আমার কি সত্যিই এটির প্রয়োজন আছে বা এর চেয়ে আরও ভাল গতি উপায় আছে?
সুকিমা

1
হ্যাঁ, একইভাবে এটি আকর্ষণীয়, @ সুকিমা, আমি জিওআইতে এমনকি মাউসটি যত কম ব্যবহার করি তত বেশি দক্ষ বোধ করি feel আমি কীবোর্ডে থাকতে পারলে নিজেকে আরও দ্রুত হতে দেখি।

3
যদি আপনি কখনও লম্বা লাইন দিয়ে কোনও কিছু সম্পাদনা করেন তবে এর ব্যাকটিক সংস্করণটি খুব কার্যকরও হতে পারে (যা পুরো লাইনের পরিবর্তে লাইনের অভ্যন্তরে স্থানটিকে বোঝায়)।
মিসৌথ

65

ভিমে, ভিজ্যুয়াল লাইন মোড ব্যবহার করুন :

  1. আপনার কার্সারটিকে সরানোর জন্য পাঠ্য / কোডের ব্লকের শীর্ষ লাইনে রাখুন
  2. টিপুন V(এটি মূলধন "ভি": Shift+ v)
  3. আপনার কার্সারটিকে সরানোর জন্য পাঠ্য / কোডের ব্লকের নীচে নামান
  4. প্রেস d

পাঠ্যের বৃহত ব্লকগুলি মোছার জন্য এটি সাধারণ ভিজ্যুয়াল মোডের তুলনায় বেশি পছন্দ করা হয়েছে কারণ কার্সারটি কোন কলামে রয়েছে তা নিয়ে আপনাকে চিন্তা করার দরকার নেই।


3
পদক্ষেপ 3. আপনি অবজেক্ট গতি ব্যবহার করে দ্রুত সরাতে পারেন। উদাহরণস্বরূপ }পুরো অনুচ্ছেদ বা )বাক্যগুলির জন্য নির্বাচন করতে পারেন । আরও রয়েছে, আপনি সেগুলি সম্পর্কে পড়তে পারেন:h object-motions
এমএক্সলিয়ান

2
এছাড়াও /something<CR>আপনার নির্বাচনের ব্লকের শেষ প্রান্তে পৌঁছানোর জন্য একটি স্ট্রিংয়ের সন্ধান করা খুব দক্ষ পদ্ধতি
এমএক্সলিয়ান

1
এটি আমার পছন্দের পদ্ধতি। তবে বিকল্পভাবে jকার্সারটি নিচে নামানোর জন্য বারবার টিপুন না করে (পদক্ষেপ 3), আপনি লাইন নম্বরটি টাইপ করতে পারেন তারপরে Gসেই লাইনটি নির্বাচন করতে। উদাহরণ:V150Gd
রানহিরু জুড কুরাই

42

আপনি পারেন :set relativenumber, যাতে আপনাকে গণনা করতে হবে না। ;)


8
অথবা :set number, এবং 35 লাইন পর্যন্ত মুছে ফেলতে d35G ব্যবহার করুন
র্যান্ডম 832

2
ভোজ্য ম্যানেজারের উত্তরগুলিতে প্রস্তাবিত নম্বর.ভিম প্লাগইনটি এর মতো relativenumberতবে আরও ভাল :-)
মার্টিন টর্নয়েজ

39

আপনি পাঠ্যের কাঠামোগত জ্ঞানটি সহজেই মুছে ফেলতে পারেন।

যদি অনুচ্ছেদটি থাকে তবে ব্যবহার করুন: d{(যেমন আপনি অনুচ্ছেদের সংখ্যার সাথে উপসর্গ করতে পারেন)

যদি এটি বন্ধনীর মধ্যে কোডের ব্লক হয় তবে ব্যবহার করুন: d%

যদি ফাইলটির শেষ অবধি টেক্সট উপস্থিত থাকে তবে ব্যবহার করুন: dG

এটি কীভাবে শেষ হয় তা যদি আপনি জানেন তবে ব্যবহার করুন: d/এবং এরপরে সমাপ্ত পাঠ্যটি টাইপ করুন Enter(আপনি নিয়মিত প্রকাশও ব্যবহার করতে পারেন, তাই সম্ভাবনাগুলি অন্তহীন)।

বিকল্পভাবে ভিজ্যুয়াল মোড ( V) ব্যবহার করুন এবং দ্রুত পাঠ্য (উদাহরণস্বরূপ {) নির্বাচন করতে এবং এটি ( d) মুছে ফেলার জন্য গতি কীগুলি ব্যবহার করুন ।

অথবা লাই রায়ানের পরামর্শ অনুসারে, d/search-string/eবর্তমান কার্সার থেকে অনুসন্ধানের স্ট্রিংয়ের পাঠ্য মোছার জন্য ব্যবহার করুন ।

দেখুন: :help dএবং :help motionআরও তথ্যের জন্য।


2
এছাড়াও রয়েছে d/search-string/eঅনুসন্ধান স্ট্রিং নিজেই এবং সহ, সার্চ স্ট্রিংয়ের শেষ প্রান্ত বর্তমান কার্সার থেকে মুছে ফেলতে c/search-queryমুছে ফেলার সন্নিবেশ মোডে জন্য। ব্যবহার d/সঙ্গে set incsearchযেমন ইন্টারেক্টিভ পদ্ধতিতে আউট কিনা ডান টেক্সট ব্যাপ্তির উপর অপারেটিং চিন্তা, এবং আপনি যখন বেশি প্রয়োজনীয় টাইপ এড়াতে অনুসন্ধানের বিষয়টি টাইপ থামাতে জানেন সাহায্য করতে পারবেন একটি ঝরঝরে সংমিশ্রণ।
মিথ্যা রায়ান

4
আমিও এটি dসঙ্গে a(বাইরের), অথবা i(ভিতরের) এবং একটি বস্তু সুনির্দিষ্টভাবে উল্লেখ করা খুবই দরকারী। যেমন অবজেক্টস wশব্দের জন্য, pঅনুচ্ছেদ জন্য, (বা bজন্য (...), [জন্য [...], {বা Bজন্য {...}ইত্যাদি চাক্ষুষ-অপারেটরদের জন্য ডকুমেন্টেশন
শাহবাজ

22

আপনি গতি এবং / অথবা পাঠ্য অবজেক্ট ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনি কার্সার থেকে পরবর্তী ফাঁকা লাইনের সাথে সমস্ত কিছু মুছতে পারেন d}। কার্সার একটি অনুচ্ছেদ ভিতরে থাকে, তবে প্যারাগ্রাফেই মুছে ফেলা হতে পারে dipবা dap। কার্সারটি যদি কোনও এইচটিএমএল ট্যাগের মধ্যে থাকে তবে আপনি এটির মাধ্যমে ditবা এটি মুছতে পারেন dat

এই জন্য ভাল স্মৃতিবর্ধনবিদ্যা "হয় elete আমি nside" এবং " d elete একটি বৃত্তাকার" (অনুচ্ছেদ / ট্যাগ / প্রথম বন্ধনী)।


11

আমি সাধারণত করি

:<start>,<end>d

যা প্রদত্ত শুরু এবং শেষের লাইন সংখ্যার (প্রদত্ত রেখাগুলি সহ) প্রতিটি লাইনের মুছবে।

নোট করুন startএবং উভয়ই endপরম লাইন সংখ্যা, নিদর্শন বা অন্য অবস্থান থেকে অফসেট হতে পারে।

ভিমের সীমার ডকুমেন্টেশনগুলি দেখার বিষয়ে ডাবলডাউনের মন্তব্যও দেখুন , এর কয়েকটি দরকারী টিপস রয়েছে।

উদাহরণ:

বলুন আপনার কাছে নিম্নলিখিত ফাইল রয়েছে:

1. The quick brown
2. fox jumps
3. over the
4. lazy dog.

তারপর কমান্ড ব্যবহার করে :2,3dবা :/fox/,/over/dবা :/quick/+1,/lazy/-1বা :+1,+2dযদি আপনি প্রথম লাইনে গেছেন অথবা :-1,.dআপনি তৃতীয় লাইনে, আপনি দিয়ে শেষ:

1. The quick brown
4. lazy dog.

তবে এর অর্থ আপনার এখনও লাইনগুলি গণনা করা দরকার? নাকি আমি আপনার উত্তর ভুল বুঝেছি?
মার্টিন টর্নয়েজ

7
আপনার লাইনগুলি গণনা করার দরকার নেই, তবে আপনাকে লাইন সংখ্যাগুলি জানতে হবে।
জেএমসি

প্রথমে করুন :set ruler, তারপরে পাঠ্যগুলির শীর্ষ ও নীচে যান startএবং endসংখ্যাগুলি সন্ধান করুন এবং তারপর করুন:<start>,<end>d
রোব্লগিক

1
আপনি আপেক্ষিক লাইন নম্বরগুলিও ব্যবহার করতে পারেন:+12,+24d
rpattabi 22'15

2
প্রকৃতপক্ষে, আপনি এর জন্য <start>এবং এর <end>জন্য লাইন সংখ্যাগুলির একটি জোড়া, নিদর্শনগুলির একটি জোড়া বা মিশ্রিত জোড়া ব্যবহার করতে পারেন । রেফারেন্সের জন্য, দেখুন :h [range]। সুতরাং আপনি এটি তৈরি করার চেয়ে এটি বেশ খানিকটা নমনীয়।
ডাবলডাউন

5

যদি আপনি ডিলিমিট ব্লকগুলি (যেমন: কোড বা এক্সএমএল / এইচটিএমএল ট্যাগ) ব্যবহার করছেন তবে আপনি ব্লকের শুরুতে কার্সারটি স্থাপন করতে পারেন %এবং কোডের সম্পূর্ণ ব্লকগুলি দ্রুত নির্বাচন করার জন্য ভিজ্যুয়াল মোড ব্যবহার করতে পারেন এবং তারপরে হিট করতে পারেন dতাদের মুছতে।


5
অন্যথা, আপনি ব্যবহার করতে পারেন dap, একটি অনুচ্ছেদ মুছে ফেলতে da(, da{, da[, প্রথম বন্ধনী, ধনুর্বন্ধনী, অথবা বর্গাকার বন্ধনী দ্বারা delimeted ব্লক মুছে দিন। এইচটিএমএল-এর জন্য এটি রয়েছে dat, যা একটি ট্যাগ মুছে ফেলে da'এবং da"স্ট্রিংগুলি মুছে দেয়। রয়েছে dip, di(ইত্যাদি রূপের যে বিভেদক ভিতরে সবকিছু মুছে ফেলবে, কিন্তু বিভেদক অক্ষত ছেড়ে। বিকল্পভাবে, আপনি সমস্ত (শ্রেন্দ্রের অভ্যন্তরীণ) অনুচ্ছেদ নির্বাচন করতে vap(শ্রদ্ধা vip) ব্যবহার করতে পারেন । (এবং তাই এখানে আছে va(এবং vi(।) আরও আছে capএবং cip(বা ca(এবং ci() মুছতে এবং সন্নিবেশ মোডে (অর্থাত্ "পরিবর্তন") যেতে হবে। আর yapহ্যাঁচকা টান থেকে
jmc

আমি মনে করি তার পূর্ববর্তী মন্তব্যে বর্ণিত কিছু জটবদ্ধতা @ জেএমসি আশেপাশে রয়েছে Tim টিম পোপের লেখা প্লাগ প্লাগইন। এটি একটি দুর্দান্ত প্লাগইন যা আমি ইনস্টল করার প্রস্তাব দিই, তবে এর অর্থ এই নয় যে এই বাইন্ডিংগুলি ডিফল্ট ভিম ইনস্টলেশনের অংশ নয়।
হাইগিন

5

অন্যান্য সমস্ত ভাল পরামর্শ ছাড়াও আমি বর্তমান কার্সার অবস্থান থেকে পর্দার শেষ দৃশ্যমান লাইনে সবকিছু মুছে ফেলার জন্য d+ Shift+ যুক্ত করছি L। আদেশটি পুনরাবৃত্তি করা আপনাকে তুলনামূলকভাবে দ্রুত নামিয়ে ফেলবে।


5

Numbers.vim প্লাগইন এই জন্য খুবই দরকারী। এটি একটি লাইন সংখ্যা সহ প্রতিটি লাইনকে পূর্ববর্তী করার একটি বর্ধিত উপায়। লাইক 'number'এবং 'relativenumber', উভয়ই এক হয়ে গেছে!

এটি ইনস্টলেশনের পরে ডিফল্টরূপে সক্ষম করা হয়েছে, আপনি set numberযদি এটি ইতিমধ্যে না পেয়ে থাকেন তবে আপনার ভিএমআরসিতেও যুক্ত করতে চান , যেহেতু এটি না থাকলে এটি অদ্ভুতভাবে আচরণ করে।

ইন স্বাভাবিক মোডে এটি অনুরূপ :set relativenumber:

  3 call plug#begin('~/.vim/plugged')
  2 
  1 Plug 'myusuf3/numbers.vim'
7   set number█
  1 
  2 " Add indentation 'guidelines' (:IndentLinesToggle or <F11>)
  3 Plug 'Yggdroot/indentLine'

কার্সার চালু আছে এমন রেখাটি বাদে এটি আপনাকে আপেক্ষিক রেখার সংখ্যা দেখায়, যেখানে এটি পরম রেখার সংখ্যাটি দেখায় (এই ক্ষেত্রে 7)।

তারপরে যদি আমরা সন্নিবেশ মোডে স্যুইচ করি তবে এটি এমন আচরণ করবে যেন numberসর্বদা নিখুঁত রেখা সংখ্যা দেখিয়ে সেট করা থাকে:

  4 call plug#begin('~/.vim/plugged')
  5 
  6 Plug 'myusuf3/numbers.vim'
  7 set number█
  8   
  9 " Add indentation 'guidelines' (:IndentLinesToggle or <F11>)
 10 Plug 'Yggdroot/indentLine'

আরও কিছু বিকল্প এবং কয়েকটি কমান্ড রয়েছে (হোমপেজটি পরীক্ষা করুন), তবে ডিফল্টদের বেশিরভাগ লোকের পক্ষে কাজ করা উচিত।


প্রথমে আমি ভেবেছিলাম এই উত্তরটি কিছুটা সাময়িক বিষয় ছিল তবে আমি প্লাগইন ইনস্টল করেছি এবং আমাকে বলতে হবে এটি আমার জন্য গেম চেঞ্জার। আমি নিজেই অদলবদল করতাম এবং অতিরিক্ত মানসিক পদক্ষেপের অর্থ হ'ল আমি এই গতিগুলি ব্যবহার করা থেকে দূরে সরে এসেছি। ধন্যবাদ!
সুকিমা

1
এটি এমন কিছুর মতো শোনাচ্ছে যা আপেল লাইন নম্বরটি টগল করতে একটি InsertEnter / InsertLeave অটোকোমডি করতে পারে। আমি কিছু অনুপস্থিত করছি?
বেন

আমি পার্টিতে খুব দেরি করেছি তবে @ বেন ঠিক বলেছেন, এটি কেবল কয়েকটি স্বতঃআপনার লাইন। উদাহরণ হিসেবে বলা যায়, আমার vimrc আমি আছে set number, set relativenumberতারপর autocmd InsertEnter * :set norelativenumberএবংautocmd InsertLeave * :set relativenumber
বি লেয়ার

4

আরেকটি পদ্ধতির হ'ল যদি আপনি একটি নির্দিষ্ট প্যাটার্নে মোছার চেষ্টা করছেন, আপনি কেবল টাইপ করতে পারেন d/delimEnter


2

আপনি dএকটি গতিতে প্রবেশের স্বাভাবিক প্রক্রিয়াটি ব্যবহার করতে পারেন (ইতিমধ্যে অন্যান্য উত্তরে ব্যাখ্যা করেছেন)। ইজিমোশন প্লাগইনটি এমন নতুন গতি সরবরাহ করে যা আপনি ব্যবহার করতে পারেন যা আপনার সমস্যার দ্রুত এবং সহজ উপায়ে সমাধান করতে পারে।

বলুন যে আপনি বর্তমান কার্সার অবস্থান থেকে স্ক্রিনের প্রদত্ত কোনও শব্দের শেষে মুছে ফেলতে চান, মোশন কীগুলি হবে <Leader><Leader>e(স্বাভাবিক eগতির মতো)। তারপরে প্রশ্নযুক্ত শব্দের শেষে উপস্থিত হাইলাইটেড লেটার (গুলি) টাইপ করুন। একটি লাইন গতিও রয়েছে যাতে আপনি বর্তমান লাইনটি প্রশ্নটি করা লাইনের নিচে মুছে ফেলতে পারেন <Leader><Leader>j

আমি আমার <Leader>চাবি সেট আছে ,। সুতরাং, সম্পূর্ণ কমান্ডটি d<Leader><Leader>eহাইলাইটেড লেটার (গুলি)}}

থেকে :help easymotion:

ইজিমোশন ভিএম-তে কিছু গতি ব্যবহার করার সহজ উপায় সরবরাহ করে। এটি সম্ভাব্য সমস্ত পছন্দকে হাইলাইট করে এবং সরাসরি টার্গেটে সরাসরি যাওয়ার জন্য একটি কী টিপতে আপনাকে অনুমতি দেওয়ার মাধ্যমে ডাব্লু বা এফের <number>বাইরে চলে যায় ।<number><number>{char}

যখন উপলভ্য গতিগুলির মধ্যে একটি ট্রিগার করা হয়, তখন কার্সরের পূর্ববর্তী বা অনুসরণকারী সমস্ত দৃশ্যমান পাঠ্য বিবর্ণ হয়ে যায় এবং গতির লক্ষ্যগুলি হাইলাইট করা হয়।

সম্পাদনা:

EasyMotion এর GitHub সংগ্রহস্থলেরhttps://github.com/Lokaltog/vim-easymotion

ইজমোশন ব্যবহার করে এমন লোকদের সম্পর্কে এই রেডডিটটি পড়তে মজাদার হতে পারে।


1

একটি সহজ সমাধান যা আপনার সমস্যার সমাধান করতে পারে।

আপনি মুছে ফেলতে চান এমন পাঠ্য ব্লকের শুরুতে আপনার কর্সারটি রাখুন এবং করুন d50gg

এটি আপনার বর্তমান অবস্থান থেকে আপনার পাঠ্যের 50 তম লাইনের সমস্ত লাইন মুছে ফেলবে।

EQ: যদি আপনার কার্সার লাইন এ 46 , d50ggমুছে ফেলবে 4 লাইন।


1
আমি Gজিজি পরিবর্তে ব্যবহার করার পরামর্শ দেব কারণ এটি vi তেও কাজ করে, এবং অবশ্যই :set numberআপনি যে লাইনে যেতে চান সেই লাইন নম্বরটি অনুসন্ধান করার জন্য সর্বদা কার্যকর।
র্যান্ডম 832

এই প্রশ্নের পুরো বিষয়টি হ'ল আপনি জানেন না যে আপনি কতগুলি লাইন সরাতে চান।
200_সুকেস

200_সুকসেস, আমি পোস্ট করা উত্তরটি দিয়ে আপনি কতগুলি লাইন মুছে ফেলতে চান তা আপনাকে জানতে হবে না। আপনাকে যা জানার দরকার তা হ'ল "আপনি কোন লাইনে সরাতে চান"
জিই

1

লাইন হাইলাইটিং সহ ভিজ্যুয়াল মোড ব্যবহার করুন।

  1. আপনার কার্সারটিকে সরানোর জন্য পাঠ্য / কোডের ব্লকের শীর্ষ লাইনে রাখুন
  2. চাপুন Shift+v
  3. আপনার কার্সারটিকে সরানোর জন্য পাঠ্য / কোডের ব্লকের নীচে নামান
  4. প্রেস d

কোডের ব্লকগুলি মোছার জন্য আমি এই পদ্ধতিটি পছন্দ করি কারণ এটি ভিজ্যুয়াল মোড ব্যবহার করার তুলনায় সম্পূর্ণ লাইনগুলি মুছে দেয় যেখানে আপনি যা চান সেটি মুছতে আপনাকে ডান কলামে কার্সারটি অবস্থান করতে হবে।


3
আপনি জবাবটি মূলত @ 200_success দ্বারা পুনরাবৃত্তি করুন।
মার্টিন শ্র্রেডার

1

আমি relativenumberসব সময় থাকতে পছন্দ করি না , তাই আমি আমার ভিমটি কেবলমাত্র ভিজ্যুয়াল মোডে থাকা অবস্থায় এটি সক্ষম করার জন্য কনফিগার করেছি:

" Entering Visual mode
nnoremap <silent>     v :set relativenumber cursorcolumn<CR>v
nnoremap <silent> <C-q> :set relativenumber cursorcolumn<CR><C-q>
nnoremap <silent>    gv :set relativenumber cursorcolumn<CR>gv
nnoremap <silent>     V :set relativenumber<CR>V

" When finished
augroup ClearCursorColumnAndLine
    autocmd!
    autocmd CursorHold * set norelativenumber nocursorcolumn nocursorline
augroup END

এটি আপনার কাজকে সহজ করে তোলে:

V49jd

কারণ আঘাত করার পরে Vআপনি লক্ষ্য লাইনটি কত দূরে রয়েছে তা দেখতে পাবেন।

এটি দীর্ঘমেয়াদে বিরক্তিকর প্রমাণ হতে পারে (রিলেটিভেনবারটি সক্ষম / অক্ষম করা থাকলে পাঠ্যটি ডান এবং বামে স্থানান্তরিত হয়) তবে এখন পর্যন্ত আমি এটি বেশ উপভোগ করছি।


1
আমার মনে হয় আপনি ব্যবহার করবেন v<Esc>d50j?
মার্টিন টর্নয়েজ

ধন্যবাদ, আমি সত্যিই এটি ভুল লিখেছি। আসলে আমি শুরু করেছিলাম Vযদি আমি জানি যে আমি একটি লাইন-ভিত্তিক অপারেশন করবো এবং তারপরে dআরও আত্মবিশ্বাসের জন্য আমি শেষ অবধি ছেড়ে যেতে পারি।
জোয়েটউইল

আমার উত্তরটি কোনও দরিদ্র ব্যক্তির সংখ্যার সমীকরণ বলে মনে হয় vভিম প্লাগইন অন্য উত্তরে প্রস্তাবিত। ;-)
জোয়েটউইডল

1

যা আমার জন্য দুর্দান্ত কাজ করেছে vi:

  1. :set number যেখানে আমি মুছে ফেলতে চেয়েছি সেখানে লাইনটির সংখ্যা দেখতে;

    +1289 idle 
    +1289 idle 
    +1290 # <- I want to delete until here
    +1291 if [[ ! -z "$SFIN" ]]
    
  2. মুছে ফেলা শুরু হওয়া লাইনে ফিরে যান back

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