প্রতিটি লাইনের প্রথম কয়েকটি এন অক্ষর কীভাবে মুছবেন?


15

আমি সম্প্রতি জিজ্ঞাসা করেছি:

কিভাবে প্রতিটি লাইনে একটি উপসর্গ যুক্ত করবেন?

সুতরাং নীচের কোড থেকে যান:

I said Hello
I said There
I said I am some code

কোড করতে যেমন:

Hello
There
I am some code

এখন, আমি কীভাবে একটি লাইন থেকে অক্ষরের সংখ্যা মুছব?


আইএমএইচও এটি আপনার আগের প্রশ্নের মতোই।
এএপি

উত্তর:


28

এটি আরও সহজ! আবার আয়তক্ষেত্রের কমান্ড ব্যবহার করুন । আপনি যে আয়তক্ষেত্রটি মুছতে চান তার এক কোণে চলে যান, C-SPCচিহ্নটি সেট করতে টিপুন । আয়তক্ষেত্রের অন্য কোণে যান এবং C-x r d( delete-rectangle) টিপুন । উদাহরণস্বরূপ, আপনি যে প্রথম লাইনে কাজ করতে চান তাতে যান, টিপুন C-aবা homeলাইনের শুরুতে যেতে, আপনি যে শেষ লাইনে অভিনয় করতে চান তাতে নীচে যান, নীচের ডান কোণে যেতে এবং তারপরে মুছুন।C-u number C-fC-x r d

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

আপনি C-x r kআয়তক্ষেত্রটি হত্যার জন্য ব্যবহার করতে পারেন , যা আপনাকে C-x r yএটি পরে ইঁকতে দেয় ( ) পরে (যেখানে আপনি এটি সন্নিবেশ করতে চান সেখানে উপরের বাম কোণে যান)।

আপনি C-x r t( string-rectangle) ব্যবহার করতে পারেন এবং একটি খালি স্ট্রিং প্রবেশ করতে পারেন ।

আয়তক্ষেত্রের কমান্ডগুলি কলাম অবস্থানের উপর ভিত্তি করে। আপনি যদি এন কলামগুলির পরিবর্তে এন অক্ষরগুলি মুছতে চান (যা ট্যাবগুলির মতো বহু-কলামের অক্ষরের সাথে একটি পার্থক্য তৈরি করে) তবে আপনি নিয়মিত অভিব্যক্তি প্রতিস্থাপন ব্যবহার করতে পারেন : ^.\{42\}প্রতিটি লাইনের প্রথম 42 টি অক্ষর মুছতে কোনও কিছুই প্রতিস্থাপন করুন ।


3
সমস্ত আয়তক্ষেত্রের কমান্ডগুলি মনে রাখার চেষ্টা করার পরিবর্তে, আপনি সি-এসসিপির পরিবর্তে সিক্স এসসিসিও ব্যবহার করতে পারেন যা আপনার অঞ্চলটিকে একটি আয়তক্ষেত্র হিসাবে রূপান্তরিত করে এবং সবকিছুই কার্যকরভাবে কাজ করে।
মালবারবা

1
@ মালাবরবা কেবল ইম্যাক্স 24 এর পরে থেকে। (ইমাক্স 23 সহ একটি মেশিনে এটি লেখা They তারা এখনও অনেক বেশি কাছাকাছি রয়েছেন))
গিলস 'খারাপ হওয়া বন্ধ করুন'

2
আমার সমবেদনা ... :-(
মালাবারবা

এটি মাত্র আমার জন্য 2013-10-25 এর জিএনইউ ইমাক্স 23.4.1 (x86_64-pc-linux-gnu, GTK + সংস্করণ 2.24.21) এ কাজ করেছে, দেবিয়ান দ্বারা সংশোধিত
ড্যাভিডার্মচার্স

4

আরেকটি সম্ভাবনা: আমি এই জাতীয় কাজের জন্য সত্যিই একাধিক কার্সার ব্যবহার করতে চাই। package.elমেলপা মাধ্যমে উপলব্ধ , এটি আমার ইমাসের একটি অপরিহার্য অংশ হয়ে উঠেছে। আমি কেবল নির্বাচন করব I said(এবং সম্ভবত এর আগে লাইন ব্রেকটি অন্তর্ভুক্ত করব), ব্যবহার করব M-x mc/mark-all-like-thisএবং আমার পথে থাকব। আপনি যদি আরও সূক্ষ্ম-নিয়ন্ত্রণযুক্ত নিয়ন্ত্রণ চান, আপনি ব্যবহার করতে পারেন mc/mark-next-like-thisবা mc/mark-next-lines

আমার কী বাইন্ডিংস:

(use-package multiple-cursors
  :bind (("C->"   . mc/mark-next-like-this)
         ("C-M->" . mc/mark-all-like-this-dwim)))

বাধ্যতামূলক ইমাকস রকস! পর্ব: http://emacsrocks.com/e13.html


3

আপনি যদি cua-modeসক্ষম করে থাকেন তবে তা:

  • C-a লাইনের শুরুতে যেতে,
  • C-RET আয়তক্ষেত্র শুরু করতে,
  • তারপরে তীর কী বা যে কোনও ইমাস মুভ কমান্ডের সাহায্যে সরানো C-f
  • DEL নির্বাচন মুছতে

আমি cua-modeকাজের পদ্ধতি পছন্দ করি , Emacs মান আয়তক্ষেত্রের তুলনায় যেখানে সমতুল্য হবে:

  • C-a লাইনের শুরুতে যেতে,
  • C-SPC আয়তক্ষেত্র শুরু করতে,
  • তারপরে তীর কী বা যে কোনও ইমাস মুভ কমান্ডের সাহায্যে সরানো C-f
  • C-x r d নির্বাচন মুছতে

cua-modeমান গিয়ে Emacs আয়তক্ষেত্র তুলনায় তিন মূল প্রক্রিয়া পরিমাণ সঞ্চয় হয়।


3

সম্পূর্ণতার স্বার্থে: প্রতিটি লাইন থেকে প্রথম 3 টি অক্ষর মুছে ফেলা (আনুষ্ঠানিকভাবে: বিন্দু থেকে, বা অঞ্চলে) খালি স্ট্রিং দিয়ে রিজেক্সেপ-প্রতিস্থাপন ^...(বা আরও সাধারণভাবে ^.\{3\}:) দ্বারা করা যেতে পারে ।

ব্যাখ্যা: regexen এ, ^মানে হলো "লাইনের শুরুতে", .মানে হলো "কোন চরিত্র", এবং \{n\}মানে হলো " এন সামনে জিনিস পুনরাবৃত্তির"।

ইন্টারেক্টিভ হওয়ার এটির অতিরিক্ত উপকার রয়েছে (যদি একটি প্রেস না করে !, যা query-regexp-replaceএখন থেকে সমস্ত প্রশ্নকে আরও প্রশ্ন ছাড়াই প্রতিস্থাপন করে)।


1
ডাউনভোটস কেন?
এমবার্ক

0

এবং আরও একটি সম্ভাবনা:

F3C-aC-3C-dC-nF4

মূলত "লাইনের শুরুতে চলে যান, তিনটি অক্ষর মুছুন এবং পরবর্তী লাইনে যান" বলে একটি কীবোর্ড ম্যাক্রো রেকর্ড করে। তারপরে, আপনি এটি দ্বারা বাফার শেষ না হওয়া অবধি পুনরায় প্লে করতে পারেন C-uF4, বা C-xC-krঅঞ্চলটির লাইনে এটি প্রয়োগ করতে পারেন। এটির একটি অসুবিধা রয়েছে: কোনও লাইনে 3 টিরও কম অক্ষর থাকলে তা ভেঙে যায়।


-1

এটি যদি কেবল একটি রেখা থাকে তবে আপনি এমজেডের সাথে জ্যাপ-টু-চর করতে পারেন যে এই চরিত্রটি বিন্দু এবং আপনি মুছতে চান তার মাঝে পুনরাবৃত্তি হয় না। কিছু ক্ষেত্রে এটি অঞ্চল তৈরির চেয়ে দ্রুত।

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