Vim-এ লাইন সাজানোর নির্দেশিকা

Vim E La Ina Sajanora Nirdesika



Vim এ লাইন বাছাই করতে, আপনি বিল্ট-ইন ব্যবহার করতে পারেন সাজান কমান্ড যা একটি সংজ্ঞায়িত পরিসর দ্বারা লাইন সাজায়। সাধারণত, নথির সমস্ত লাইন বাছাই করা হয় যদি কোন পরিসীমা দেওয়া না হয়।

উদাহরণস্বরূপ, আপনি যদি সম্পূর্ণ নথিটি সাজাতে চান তবে ব্যবহার করুন :সাজান সাধারণ মোডে কমান্ড। অন্যদিকে, আপনি যদি শুধুমাত্র নির্দিষ্ট লাইনগুলি সাজাতে চান তবে ব্যবহার করুন :x,y সাজানোর আদেশ, কোথায় এক্স এবং এবং লাইন নম্বর থেকে পরিসীমা সংজ্ঞায়িত করুন এক্স প্রতি এবং .







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



বিঃদ্রঃ: এই নির্দেশিকায় উল্লিখিত নির্দেশাবলী এবং কমান্ডগুলি লিনাক্সে (উবুন্টু 22.04) সঞ্চালিত হয়। ভিম একটি ক্রস-প্ল্যাটফর্ম পাঠ্য সম্পাদক, এবং এই কমান্ডগুলি ম্যাকওএস এবং উইন্ডোজেও কোনও ত্রুটি ছাড়াই কাজ করবে।



সমস্ত লাইন সাজান





একটি নথিতে সমস্ত লাইন বাছাই করতে, চালান সাজান নরমাল মোডে কমান্ড।

:সাজান



ডিফল্টরূপে, সাজান কমান্ড লেক্সিকোগ্রাফিক ক্রমে লাইন বাছাই করবে।

মনে রাখবেন যে আপনার ফাইলে যদি খালি লাইন থাকে, তাহলে sort কমান্ডটি খালি লাইনগুলিকে উপরের প্রকৃত পাঠ্য সাজানোর স্থানে রাখবে।

বাছাই করা লাইন

নির্বাচিত লাইনগুলি সাজানোর জন্য, প্রথমে, আমাদের নির্বাচন মোডে সেগুলি নির্বাচন করতে হবে। এবং নির্বাচন মোড সক্রিয় করতে, টিপুন ভিতরে , এবং ব্যবহার করে লাইন নির্বাচন করুন , j , k, এবং l কী বা দিকনির্দেশক বোতাম।

ভিমের একটি লাইন-নির্দিষ্ট নির্বাচন মোড রয়েছে যা বলা হয় ভিজ্যুয়াল লাইন মোড. চাপুন V (shift+v) সক্ষম করতে ভিজ্যুয়াল লাইন লাইন নির্বাচন করার জন্য মোড।

লাইনগুলি নির্বাচন করার পরে, আপনি দেখতে পাবেন ' <, ' > কমান্ড লাইনে, যা নির্বাচন পরিসীমা প্রতিনিধিত্ব করে। দ্য ' < চাক্ষুষ নির্বাচনের প্রথম লাইন নির্দেশ করে, যখন ' > শেষ নির্দেশ করে।

এখন, শুধু টাইপ করুন সাজান কমান্ড, এবং নিম্নলিখিত জিআইএফ-এ দেখানো হিসাবে নির্বাচিত লাইনগুলিতে সাজানোর জন্য রিটার্ন কী টিপুন।

রেঞ্জড লাইনগুলি সাজান

লাইন পরিসীমা আগে পাস করা যেতে পারে সাজান লাইন সাজানোর কমান্ড। দ্য : সেট নম্বর কমান্ড Vim-এ লাইন নম্বর সক্রিয় করতে ব্যবহার করা যেতে পারে, তাই লাইন নম্বর সনাক্ত করা সহজ করে তোলে।

উদাহরণস্বরূপ, লাইন নম্বর 1 থেকে লাইন নম্বর 4 পর্যন্ত লাইনগুলি সাজাতে, ব্যবহার করুন : 1,4 বাছাই আদেশ

: 1 , 4 সাজান

উপরের আউটপুটে দেখা যাবে যে শুধুমাত্র নির্দিষ্ট লাইনগুলি সাজানো হয়েছে।

বিপরীতে সাজান

পূর্বে উল্লেখ করা হয়েছে, ডিফল্ট আচরণ সাজান কমান্ড হল লিক্সিকোগ্রাফিক ক্রমে লাইনগুলি সাজানো। একটি অ-আভিধানিক পদ্ধতিতে লাইনগুলি সাজাতে, বিস্ময়বোধক চিহ্ন যোগ করুন ( ! ) পরে সাজান আদেশ

:সাজান !

লোকেল অনুসারে সাজান

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

বর্তমান কোলেশন লোকেল পরীক্ষা করতে, ব্যবহার করুন :ভাষা আদেশ

:ভাষা

বর্তমান লোকেল ব্যবহারের সাথে সাজাতে:

: বাছাই

বিঃদ্রঃ: এই বিকল্পটি macOS ভিত্তিক সিস্টেমে সঠিকভাবে কাজ নাও করতে পারে।

সংখ্যা অনুসারে সাজান

একটি লাইনের প্রথম দশমিক সংখ্যার উপর ভিত্তি করে লাইনগুলি সাজাতে, ব্যবহার করুন n সঙ্গে পতাকা সাজান আদেশ ডিফল্টভাবে বাছাই ক্রমবর্ধমান ক্রমে এগিয়ে যাবে।

: সাজানো n

অবরোহ ক্রমে সাজাতে, ব্যবহার করুন ! কমান্ডের পরে প্রতীক।

:সাজান ! n

দুইটার মধ্যে পার্থক্য সাজান এবং সাজানো n হল যে sort কমান্ড লাইনগুলিকে আভিধানিকভাবে সাজায়, তাদের মধ্যে থাকা সংখ্যাগুলিকে উপেক্ষা করে৷ আপনি যদি সংখ্যার সাপেক্ষে সাজাতে চান, তাহলে যোগ করুন n সর্ট কমান্ড সহ পতাকা।

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

সংখ্যাগত বাছাই করার জন্য কিছু অন্যান্য বিকল্প নিম্নলিখিত টেবিলে উল্লেখ করা হয়েছে।

ফ্লোট নম্বর বাছাই
বাইনারি সংখ্যা বাছাই
অক্টাল সংখ্যা বাছাই
হেক্সাডেসিমেল সংখ্যা বাছাই

মার্কস অনুসারে সাজান

Vim-এ, চিহ্নগুলি শত শত লাইন সহ একটি ফাইলের সহজে নেভিগেশনের জন্য ফাইলে নির্দিষ্ট অবস্থান সেট করতে ব্যবহৃত হয়। চিহ্নগুলি ব্যবহার করে একটি সাজানোর অপারেশন করতে ব্যবহার করা যেতে পারে সাজান আদেশ

ধরুন আপনি দুটি মার্ক সেট করেছেন এবং .

সুতরাং, চিহ্ন থেকে সমস্ত লাইন সাজাতে চিহ্নিত করা , নিম্নলিখিত কমান্ড ব্যবহার করুন।

: 'ক,' সাজান

একক উদ্ধৃতি ( ' ) চিহ্নগুলি অ্যাক্সেস করতে ব্যবহৃত হয়।

রেগুলার এক্সপ্রেশন (RegEx) অনুসারে সাজান

রেগুলার এক্সপ্রেশন (RegEx) হল একটি প্যাটার্ন সংজ্ঞায়িত করে লাইন সাজানোর একটি সাধারণ উপায় সাজান আদেশ

উদাহরণস্বরূপ, বর্ণমালা এবং অঙ্ক আছে এমন একটি কলামের সাপেক্ষে লাইনগুলি সাজানোর জন্য, ব্যবহার করুন /[a-z]*[0-9]+/ সঙ্গে প্যাটার্ন সাজান আদেশ দ্য r পতাকা পরে সাজান কমান্ডটি উল্লেখিত প্যাটার্নের উপর ভিত্তি করে সাজানোর নির্দেশ দিতে ব্যবহৃত হয়।

: বাছাই r / [ a-z ] * [ 0 - 9 ] + /

আপনি উপরের ছবিতে দেখতে পাচ্ছেন, শেষ কলামটি বর্ণানুক্রমিকভাবে সাজানো হয়েছে। কলামটিকে সাংখ্যিকভাবে সাজাতে, শুধু সন্নিবেশ করুন n পতাকা

বিঃদ্রঃ: আমি লাইন 2,5 থেকে পরিসীমা সংজ্ঞায়িত করে প্রথম লাইনগুলি এড়িয়ে গিয়েছি।

দ্য r ফ্ল্যাগ আপনাকে প্রদত্ত নিদর্শন অনুসারে ফাইল বাছাই করতে দেয়। ছাড়া r flag, sort কমান্ড প্যাটার্নের সাথে মেলে না এমন সমস্ত লাইন বাছাই করবে।

ডুপ্লিকেট লাইনগুলি সরান

একটি ফাইলের ডুপ্লিকেট লাইন মুছে ফেলার দ্রুততম উপায় হল ব্যবহার করা সাজান সঙ্গে কমান্ড ভিতরে পতাকা, যা অনন্য প্রতিনিধিত্ব করে।

: বিভিন্ন ইউ

মনে রাখবেন যে ডুপ্লিকেট লাইনগুলি অপসারণ করতে এই পদ্ধতিটি ব্যবহার করে লাইনগুলিও সাজানো হবে, যা অনেক পরিস্থিতিতে অবাঞ্ছিত হতে পারে। বাছাই করার প্রয়োজন ছাড়াই ফাইলের ডুপ্লিকেট লাইন মুছে ফেলার জন্য বিকল্প পদ্ধতি, যেমন regex ব্যবহার করুন।

একটি কলামের উপর ভিত্তি করে লাইন সাজান

কলামের উপর ভিত্তি করে Vim-এ লাইন সাজানোর দুটি পদ্ধতি রয়েছে। প্রথম পদ্ধতিটি এক্সটার্নাল লিনাক্স সর্ট কমান্ড ব্যবহার করে, যখন দ্বিতীয়টি বিল্ট-ইন সর্ট কমান্ড ব্যবহার করে।

ডিফল্ট সাজানোর কমান্ডের তুলনায় বহিরাগত কমান্ড প্রয়োগ করা সহজ। মনে রাখবেন যে বহিরাগত কমান্ড Vim এর ডিফল্ট কমান্ড নয়। এর অর্থ অপারেটিং সিস্টেম দ্বারা সমর্থিত যেকোনো কমান্ড।

আসুন বুঝুন এটি কীভাবে ভিমে কাজ করে।

Vim এ কোন বাহ্যিক কমান্ড ব্যবহার করতে,! সেই কমান্ডের আগে প্রতীক ব্যবহার করা হয়। অনুমান করুন আমাদের একটি কমা-বিচ্ছিন্ন ফাইল (CSV) আছে এবং আমরা তৃতীয় কলামের সাথে ফাইলটি সাজাতে চাই। হুকুম হবে

: %! সাজান -t ',' -k3

দ্য % একটি নির্বাচন হিসাবে সমগ্র বাফার নির্দেশ করে. দ্য -t পতাকা ক্ষেত্র বিভাজক সংজ্ঞায়িত করতে ব্যবহৃত হয়, যা একটি কমা, কোলন, বা এমনকি স্থান হতে পারে। দ্য -k পতাকা হল কী যা লাইনের অবস্থান নির্দেশ করে, এবং k2 নির্দিষ্ট সীমার পরে দ্বিতীয় ক্ষেত্র মানে.

উদাহরণে, আমি পরিবর্তে পরিসীমা উল্লেখ করেছি % প্রথম লাইন এড়িয়ে যেতে।

: 2 , 5 ! সাজান -t ',' -k3

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

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

:সাজান / \v^ ( . { - } , ) { 2 } /

উপরের কমান্ডে:

  • \ভিতরে উল্লম্ব ট্যাব প্রতিনিধিত্ব করে
  • ^ লাইনের শুরু নির্দেশ করে
  • ({-},) একটি দল যা হবে .{-} এর একটি অ-লোভী সংস্করণ .* এবং , বিচ্ছেদ ক্ষেত্র
  • {2} এড়িয়ে যাওয়ার জন্য প্রথম 2টি কলামের প্রতিনিধিত্ব করছে৷

দেখা যায় যে r ফ্ল্যাগ প্যাটার্নের সাথে ব্যবহার করা হয় না, যার মানে প্যাটার্নটি যে কোনো মিলিত কলামকে এড়িয়ে যাবে এবং প্যাটার্নের পরে কলামগুলিকে সাজাতে হবে। এই ক্ষেত্রে, ফাইলটি তৃতীয় কলামের উপর ভিত্তি করে সাজানো হবে। আবার নিম্নলিখিত উদাহরণে, প্রথম লাইনটি এড়িয়ে যাওয়ার জন্য, আমি পরিসীমা 2,5 ব্যবহার করেছি।

মধ্যে মৌলিক পার্থক্য .* এবং .{-} যে .{-} সংক্ষিপ্ততম ম্যাচ প্রথম অ্যালগরিদম প্রক্রিয়া করা হবে, যখন .* যতটা সম্ভব মিলবে। উদাহরণস্বরূপ, একটি স্ট্রিং wxyz x.*y যখন সমগ্র স্ট্রিং মিলবে x।{-}y শুধুমাত্র xy এর সাথে মিলবে।

বাছাই লাইন কেস সংবেদনশীল

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

আপনি নীচের ছবিতে দেখতে পাচ্ছেন, উভয়ের সাথে সাজানো এবং সাজানো লাইন :সাজান এবং : সাজানো i আদেশ

উপসংহার

ভিমে বাছাই করা সহজে ভিম বিল্ট-ইন ব্যবহার করে করা যেতে পারে সাজান আদেশ ডিফল্টরূপে, লাইনগুলি বর্ণানুক্রমিকভাবে সাজানো হয়, তবে, আপনি যদি বিপরীতে সাজাতে চান তাহলে ! আদেশের পরে স্বাক্ষর করুন। সাজানোর কমান্ডটি সাধারণত পুরো বাফারকে সাজায়; একটি পরিসীমা একটি কমা বিভাজক দিয়েও সংজ্ঞায়িত করা যেতে পারে। দ্য n পতাকা সাংখ্যিক বাছাইয়ের জন্য ব্যবহৃত হয়, যখন নকল লাইনগুলি সরাতে ভিতরে পতাকা ব্যবহার করা হয়। তাছাড়া, বাছাই প্রক্রিয়া উন্নত করতে, বাহ্যিক সাজান কমান্ড Vim এও ব্যবহার করা যেতে পারে।

ভিমে বাছাই সম্পর্কে আরও জানতে, চালান : সাহায্য বাছাই আদেশ