কীভাবে ভিমে মুছে ফেলবেন (কাটবেন না)?


145

আমি কোনও লাইনটিকে আমার ডিফল্ট বাফারে না রেখে কীভাবে মুছতে পারি?

উদাহরণ:

line that will be copied.

line that I want to be substitued with the previous one.

আমি যা করার চেষ্টা করছি:

yy
dd
p

তবে ভিম মুছে ফেলা (কাটা) একটি দিয়ে সাম্প্রতিক অনুলিপিযুক্ত স্ট্রিংয়ের পরিবর্তে। আমি জানি যে আমি বাফার ব্যবহার মতো করতে "1yy, ddতারপর "1p, কিন্তু আমি সবসময় একটি বাফারে কপি স্ট্রিং লাগাতে ভুলবেন তারপর আমি আমার বিষয়বস্তু প্রথম (লাইন যে অনুলিপি করা হবে) পেস্ট করতে এবং তারপর মুছে ফেলতে আমি কি চাই (লাইন আমি চাই যে প্রয়োজন আগেরটির সাথে প্রতিস্থাপন করা to)

আমি কীভাবে ভি (এম) এর কোনও পাঠ্য অনুলিপি না করে মুছে ফেলতে পারি?

আরেকটি সম্পর্কিত প্রশ্ন আমি কীভাবে সন্নিবেশ মোডে একটি শব্দ মুছে ফরোয়ার্ড করতে পারি? আমি Ctrl+ এর মতো কিছু চাই w


উত্তর:


130

, "ব্ল্যাক হোল রেজিস্টার" ব্যবহার করুন "_সত্যিই ডিলিট কিছু: "_d। কিছু পেস্ট করতে
ব্যবহার করুন "_dPএবং এটিকে পরবর্তী আটকানোর জন্য উপলব্ধ রাখুন।

দ্বিতীয় প্রশ্নের জন্য, আপনি ব্যবহার করতে পারেন <C-o>dwসন্নিবেশ মোডটি <C-o>না রেখেই একটি সাধারণ কমান্ড কার্যকর করতে ব্যবহৃত হয় ।

আপনি অবশ্যই টাইপিং সংরক্ষণ করতে নিজের ম্যাপিংস সেটআপ করতে পারেন। আমি এই আছে:

nnoremap <leader>d "_d
xnoremap <leader>d "_d
xnoremap <leader>p "_dP

thx, আপনি আমার উভয় প্রশ্নের উত্তর দিন। তবে আমি বুঝতে পারি না যে এই নোরম্যাপ আদেশগুলি কীভাবে আমাকে সহায়তা করবে। আমি কি কাট ফাংশন হারাচ্ছি, তাই না?
মাইকোআইডি

3
না, dএখনও "কাট" এবং pএখনও "আটকানো", যখন <leader>dসত্যের জন্য মুছে ফেলা <leader>pহয় এবং নির্বাচিত পাঠ্যটিকে ছুঁড়ে ফেলে দেয় এবং ডিফল্ট রেজিস্টারের সামগ্রীটি পেস্ট করে। <leader>pনাম রেজিস্টার ব্যবহার না করেই আমাকে একই পাঠ্য একাধিক বার আটকানোর অনুমতি দেয়।
রোমেনেল

119

ব্ল্যাক হোল রেজিস্টার "_ কৌতুক করতে হবে, কিন্তু সেখানে ভাল সমাধান পাওয়া যাবে:

pকমান্ডটি দিয়ে আপনি যখন লাইনে ফিরে প্রবেশ করবেন তখন আপনি (উদ্বায়ী) ডিফল্ট রেজিস্ট্রারের বিষয়বস্তুগুলি পেস্ট ""করছেন যা দ্বারা ওভাররাইট করা হয়েছে dd। তবে আপনি এখনও (অস্থির) ইয়াঙ্ক নিবন্ধ থেকে পেস্ট করতে পারেন "0, যা মুছুন আদেশ দ্বারা ওভাররাইট করা যাবে না dd

সুতরাং আপনার আদেশ অনুসারে এই আদেশগুলি ব্যবহার করতে চান:

yy
dd
"0p

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

44

আমি ভিএম সম্পর্কে এই বিষয়গুলি অপছন্দ করি তার মধ্যে একটি ... আমি ddআমার .vimrc এ ব্ল্যাকহোল রেজিস্ট্রারে ম্যাপিং শেষ করেছি এবং জীবনটি তখন থেকেই ভাল হয়েছে:

nnoremap d "_d
vnoremap d "_d

6
তাহলে আপনি কাটাবেন কিভাবে?
ভাইটালিবি

11
v/Vসঙ্গে xকাটা হয়। এবং কাটা xকাটাও Ctrl + xকোনও ওএসের সাথে সুসংগত ।
ওয়েস্টার্নগুন

22

নিম্নলিখিত ম্যাপিংগুলি উত্পাদন করবে:

  • d => "মুছুন"
  • নেতা d => "কাটা"
nnoremap x "_x
nnoremap d "_d
nnoremap D "_D
vnoremap d "_d

nnoremap <leader>d ""d
nnoremap <leader>D ""D
vnoremap <leader>d ""d

এছাড়াও, "লিডার" কীটি কমাতে সেট করা একটি দুর্দান্ত অনুশীলন, যেমন:

let mapleader = ","
let g:mapleader = ","

এই 2 টি স্নিপেটগুলি আপনার নতুন কাট কমান্ড হতে ", ডি" করবে।

আপনি যদি এই ম্যাপিংস টগথরকে একটি ভাগ করা সিস্টেম ক্লিপবোর্ড কনফিগারেশন ব্যবহার করতে চান তবে https://github.com/pazams/d-is-for-delete এ আরও বিশদটি দেখুন


আমি আশা করি আমি এই উত্তরটি একাধিকবার উজ্জীবিত করতে পারতাম - আমি কেপ্রোবস্টের উত্তরটি ব্যবহার করছিলাম তবে তারপরে একটি লাইন কাটতে, আমাকে ব্যবহার করতে yyddহয়েছিল যা আমার আঙ্গুলগুলিতে কিছুটা স্থির ছিল না ;-)
তাহির হাসান

1
ইন্টেলিজ আইডিয়া এর পরে এত অদ্ভুত অভিনয় করে। ডিডি কিছুই করেনা। , d কিছুই করে না
s1n7ax

আমি সমাধানটি অনেক পছন্দ করি। একটি জিনিস যা আমার পক্ষে কাজ করে নি - তা হল লাইন কাটা ,dd। যুক্ত করার পরে nnoremap <leader>dd ""ddএটি কাজ শুরু করে
আলেক্সি

8

"_dজিনিসগুলি আপনার ইয়ঙ্কযুক্ত পাঠ্যটি ওভাররাইট করা থেকে বিরত রাখতে আপনি ব্যবহার করতে পারেন । আপনি যেকোন নিবন্ধের সাথে ইয়াঙ্কড বা মুছে ফেলা পাঠ্য সংরক্ষণ করতে পারেন "এবং _এটি 'ব্ল্যাকহোল' রেজিস্ট্রার, যেখানে আপনি এমন জিনিসপত্র প্রেরণ করেন না যা আপনার যত্ন নেয় না।

আরও তথ্যের জন্য আপনি টাইপ করতে পারেন :help "_বা:help deleting


-1
yy
Vx
p

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


3
এটি মুছে ফেলা লাইনটি ক্লিপবোর্ডে অনুলিপি করে যা ওপিকে এড়াতে চায়।
#VeryStableGenius 13

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