Vim میں لائنوں کو ترتیب دینے کے لئے رہنما

Vim My Laynw Kw Trtyb Dyn K Ly R Nma



Vim میں لائنوں کو ترتیب دینے کے لیے، آپ بلٹ ان استعمال کر سکتے ہیں۔ ترتیب دیں کمانڈ جو ایک متعین حد کے مطابق لائنوں کو ترتیب دیتا ہے۔ عام طور پر، دستاویز میں تمام لائنوں کو ترتیب دیا جاتا ہے اگر کوئی حد نہیں دی جاتی ہے۔

مثال کے طور پر، اگر آپ پوری دستاویز کو ترتیب دینا چاہتے ہیں، تو استعمال کریں۔ :ترتیب دیں نارمل موڈ میں کمانڈ۔ دوسری طرف، اگر آپ صرف مخصوص لائنوں کو ترتیب دینا چاہتے ہیں، تو استعمال کریں۔ :x، y ترتیب حکم، کہاں ایکس اور اور لائن نمبر سے رینج کی وضاحت کریں۔ ایکس کو اور .







چھانٹنا ان اہم افعال میں سے ایک ہے جو دستاویزات میں ترمیم کرتے وقت درکار ہے۔ جب چھانٹی جیسی منفرد خصوصیات فراہم کرنے کی بات آتی ہے تو Vim کسی بھی جدید ایڈیٹر سے کم نہیں ہے۔ لہذا، اس گائیڈ میں، میں ویم کے بلٹ ان کی وضاحت کروں گا۔ ترتیب دیں کمانڈ، اور لائنوں کو ترتیب دینے کے لیے اسے مختلف طریقوں سے استعمال کرنے کا طریقہ۔



نوٹ: اس گائیڈ میں مذکور ہدایات اور کمانڈ لینکس (Ubuntu 22.04) پر انجام دیے گئے ہیں۔ Vim ایک کراس پلیٹ فارم ٹیکسٹ ایڈیٹر ہے، اور یہ کمانڈز macOS اور Windows پر بھی بغیر کسی غلطی کے کام کریں گی۔



تمام لائنوں کو ترتیب دیں۔





کسی دستاویز میں تمام لائنوں کو ترتیب دینے کے لیے، پر عمل کریں۔ ترتیب دیں نارمل موڈ میں کمانڈ۔

:ترتیب دیں



پہلے سے طے شدہ طور پر، ترتیب دیں کمانڈ لکیکوگرافک ترتیب میں لائنوں کو ترتیب دے گی۔

نوٹ کریں کہ اگر آپ کی فائل میں خالی لائنیں ہیں، تو sort کمانڈ خالی لائنوں کو اصل متن کی ترتیب پر رکھے گی۔

منتخب لائنوں کو ترتیب دیں۔

منتخب لائنوں کو ترتیب دینے کے لیے، سب سے پہلے، ہمیں انہیں سلیکشن موڈ میں منتخب کرنا ہوگا۔ اور سلیکشن موڈ کو فعال کرنے کے لیے، دبائیں۔ میں ، اور کا استعمال کرتے ہوئے لائنوں کو منتخب کریں۔ h , جے , ک، اور l چابیاں یا دشاتمک بٹن۔

ویم کے پاس لائن سے متعلق سلیکشن موڈ بھی ہے جسے کہا جاتا ہے۔ بصری لائن موڈ دبائیں V (shift+v) کو چالو کرنے کے لئے بصری لائن لائنوں کو منتخب کرنے کے لئے موڈ.

لائنوں کو منتخب کرنے کے بعد، آپ دیکھیں گے ' ' > کمانڈ لائن میں، جو سلیکشن رینج کی نمائندگی کرتی ہے۔ ' < بصری انتخاب کی پہلی سطر کا اشارہ کیا، جبکہ ' > آخری کی طرف اشارہ کرتا ہے۔

اب، صرف ٹائپ کریں۔ ترتیب دیں کمانڈ، اور منتخب لائنوں پر ترتیب دینے کے لیے واپسی کی کو دبائیں جیسا کہ درج ذیل GIF میں دکھایا گیا ہے۔

رینجڈ لائنوں کو ترتیب دیں۔

لائن کی حد سے پہلے گزری جا سکتی ہے۔ ترتیب دیں لائنوں کو ترتیب دینے کا حکم۔ دی : سیٹ نمبر کمانڈ کا استعمال Vim میں لائن نمبر کو چالو کرنے کے لیے کیا جا سکتا ہے، اس لیے لائن نمبر کی شناخت کرنا آسان ہو جاتا ہے۔

مثال کے طور پر، لائن نمبر 1 سے لائن نمبر 4 تک لائنوں کو ترتیب دینے کے لیے، استعمال کریں۔ :1,4 ترتیب کمانڈ.

: 1 , 4 ترتیب دیں

جیسا کہ اوپر کی آؤٹ پٹ میں دیکھا جا سکتا ہے کہ صرف مخصوص لائنوں کو ترتیب دیا گیا ہے۔

ریورس میں ترتیب دیں۔

جیسا کہ پہلے ذکر کیا گیا ہے، کا ڈیفالٹ رویہ ترتیب دیں کمانڈ لائنوں کو لغت کی ترتیب میں ترتیب دینا ہے۔ لکیروں کو غیر لغوی انداز میں ترتیب دینے کے لیے، فجائیہ نشان شامل کریں ( ! ) کے بعد ترتیب دیں کمانڈ.

:ترتیب دیں !

مقامی کے لحاظ سے ترتیب دیں۔

کمپیوٹر پوری دنیا میں چلائے جاتے ہیں، مختلف زبانیں ہیں جن میں حروف اور قواعد کے مختلف سیٹ ہیں۔ جب مقامی معاملات کے لحاظ سے کولیشن کو ترتیب دینے کی بات آتی ہے۔ مثال کے طور پر، اگر آپ جاپان میں رہ رہے ہیں اور اس مقام کے مطابق لائنوں کو ترتیب دینا چاہتے ہیں، تو آپ کو اس کی وضاحت کرنی ہوگی۔ دی ترتیب دیں کمانڈ لوکل آپشن کو سیٹ کرنے کے لیے بھی فراہم کرتا ہے۔ l پرچم

موجودہ کولیشن لوکل کو چیک کرنے کے لیے، استعمال کریں۔ :زبان کمانڈ.

:زبان

موجودہ مقامی استعمال کے ساتھ ترتیب دینے کے لیے:

: ترتیب دیں

نوٹ: ممکن ہے کہ یہ آپشن میکوس پر مبنی سسٹمز پر ٹھیک سے کام نہ کرے۔

نمبر کے لحاظ سے ترتیب دیں۔

ایک لائن میں پہلے اعشاریہ نمبر کی بنیاد پر لائنوں کو ترتیب دینے کے لیے، استعمال کریں۔ n کے ساتھ پرچم ترتیب دیں کمانڈ. چھانٹنا بطور ڈیفالٹ صعودی ترتیب میں آگے بڑھے گا۔

:چھانٹنا n

نزولی ترتیب میں ترتیب دینے کے لیے، استعمال کریں۔ ! کمانڈ کے بعد علامت۔

:ترتیب دیں ! n

کے درمیان فرق ترتیب دیں اور چھانٹنا n یہ ہے کہ sort کمانڈ لائنوں کو لغوی طور پر ترتیب دیتی ہے، ان میں موجود نمبروں کو نظر انداز کر کے۔ اگر آپ نمبروں کے حوالے سے ترتیب دینا چاہتے ہیں، تو شامل کریں۔ n sort کمانڈ کے ساتھ جھنڈا لگائیں۔

مثال کے طور پر، درج ذیل فائل کی لائنوں میں حروف اور اعداد بھی ہیں۔ جب ہم اسے لاگو کرکے ترتیب دیتے ہیں۔ ترتیب دیں صرف کمانڈ، ان لائنوں کو حروف تہجی کے مطابق ترتیب دیا جائے گا۔ دوسری طرف، لاگو کرنا چھانٹنا n کمانڈ لائنوں کو نمبر کے لحاظ سے ترتیب دیں جیسا کہ درج ذیل تصویر میں دکھایا گیا ہے۔

عددی چھانٹی کے لیے کچھ اور اختیارات درج ذیل جدول میں بیان کیے گئے ہیں۔

f فلوٹ نمبر چھانٹنا
ب بائنری نمبر چھانٹنا
اے اوکٹل نمبر کی چھانٹی
h ہیکساڈیسیمل نمبر کی چھانٹی

مارکس کے حساب سے ترتیب دیں۔

Vim میں، سینکڑوں لائنوں والی فائل کی آسانی سے نیویگیشن کے لیے فائل میں مخصوص پوزیشنیں سیٹ کرنے کے لیے نشانات کا استعمال کیا جاتا ہے۔ نشانات کا استعمال کرتے ہوئے ایک چھانٹ آپریشن انجام دینے کے لئے استعمال کیا جا سکتا ہے ترتیب دیں کمانڈ.

فرض کریں آپ نے دو نمبر رکھے ہیں۔ a اور ب .

لہذا، تمام لائنوں کو نشان سے ترتیب دینا a نشان زد کرنا ب ، درج ذیل کمانڈ کا استعمال کریں۔

: 'a،' ب ترتیب دیں

واحد اقتباس ( ' نمبروں تک رسائی کے لیے استعمال کیا جاتا ہے۔

ریگولر ایکسپریشن کے لحاظ سے ترتیب دیں (RegEx)

ریگولر ایکسپریشن (RegEx) ایک پیٹرن کی وضاحت کرکے لائنوں کو ترتیب دینے کا ایک عام طریقہ ہے۔ ترتیب دیں کمانڈ.

مثال کے طور پر، حروف تہجی اور ہندسے والے کالم کے حوالے سے لائنوں کو ترتیب دینے کے لیے، استعمال کریں /[a-z]*[0-9]+/ کے ساتھ پیٹرن ترتیب دیں کمانڈ. دی r کے بعد پرچم ترتیب دیں کمانڈ کا استعمال کمانڈ کو مذکورہ پیٹرن کی بنیاد پر ترتیب دینے کے لیے کیا جاتا ہے۔

: ترتیب دیں / [ a-z ] * [ 0 - 9 ] + /

جیسا کہ آپ اوپر کی تصویر میں دیکھ سکتے ہیں، آخری کالم کو حروف تہجی کے مطابق ترتیب دیا گیا ہے۔ کالم کو عددی طور پر ترتیب دینے کے لیے، صرف داخل کریں۔ n پرچم

نوٹ: میں نے لائن 2,5 سے رینج کی وضاحت کرکے پہلی لائنوں کو چھوڑ دیا۔

دی r flag آپ کو دیے گئے نمونوں کے مطابق فائل کو ترتیب دینے کی اجازت دیتا ہے۔ کے بغیر r flag، sort کمانڈ ان تمام لائنوں کو ترتیب دے گی جو پیٹرن سے مماثل نہیں ہیں۔

ڈپلیکیٹ لائنوں کو ہٹا دیں۔

فائل میں ڈپلیکیٹ لائنوں کو ہٹانے کا تیز ترین طریقہ استعمال کرنا ہے۔ ترتیب دیں کے ساتھ حکم میں پرچم، جو منفرد کی نمائندگی کرتا ہے۔

: ورائٹی یو

نوٹ کریں کہ ڈپلیکیٹ لائنوں کو ہٹانے کے لیے اس طریقہ کا استعمال لائنوں کو بھی ترتیب دے گا، جو بہت سے حالات میں ناپسندیدہ ہو سکتا ہے۔ چھانٹنے کی ضرورت کے بغیر فائل میں ڈپلیکیٹ لائنوں کو ہٹانے کے لیے متبادل طریقے، جیسے regex، استعمال کریں۔

کالم کی بنیاد پر لائنوں کو ترتیب دیں۔

کالم کی بنیاد پر Vim میں لائنوں کو ترتیب دینے کے دو طریقے ہیں۔ پہلا طریقہ بیرونی لینکس ترتیب کمانڈ کا استعمال کرتا ہے، جبکہ دوسرا بلٹ ان ترتیب کمانڈ استعمال کرتا ہے۔

پہلے سے طے شدہ ترتیب کمانڈ کے مقابلے میں بیرونی کمانڈ کو لاگو کرنا آسان ہے۔ نوٹ کریں کہ بیرونی کمانڈز Vim کی ڈیفالٹ کمانڈز نہیں ہیں۔ اس کا مطلب ہے کوئی بھی کمانڈ جو آپریٹنگ سسٹم کے ذریعے سپورٹ کرتا ہے۔

آئیے سمجھتے ہیں کہ یہ Vim میں کیسے کام کرتا ہے۔

Vim میں کسی بھی بیرونی کمانڈ کو استعمال کرنے کے لیے، ! اس کمانڈ سے پہلے علامت استعمال ہوتی ہے۔ فرض کریں کہ ہمارے پاس کوما سے الگ فائل (CSV) ہے اور ہم تیسرے کالم کے حوالے سے فائل کو ترتیب دینا چاہتے ہیں۔ حکم ہو گا۔

: %! ترتیب دیں -t '،' -k3

دی % انتخاب کے طور پر پورے بفر کی نشاندہی کرتا ہے۔ دی -t فلیگ کا استعمال فیلڈ سیپریٹر کی وضاحت کے لیے کیا جاتا ہے، جو کوما، بڑی آنت، یا اسپیس بھی ہو سکتا ہے۔ دی -k پرچم وہ کلید ہے جو لائن میں پوزیشن کی نشاندہی کرتی ہے، اور k2 کا مطلب ہے مخصوص ڈیلیمیٹر کے بعد دوسرا فیلڈ۔

مثال میں، میں نے اس کے بجائے رینج کا ذکر کیا ہے۔ % پہلی لائن کو چھوڑنے کے لیے۔

: 2 ، 5 ! ترتیب دیں -t '،' -k3

بیرونی ترتیب دیں کمانڈ بہت سے دوسرے طریقوں سے بھی کارآمد ہو سکتا ہے کیونکہ یہ چھانٹنے کے مختلف اختیارات پیش کرتا ہے جیسے شفلنگ، بے ترتیب چھانٹنا، اور ضم کرنا۔ Linux sort کمانڈ کے بارے میں مزید جاننے کے لیے، استعمال کریں۔ آدمی مدد کمانڈ.

دوسری طرف، Vim کا بلٹ ان استعمال کرنے کے لیے ترتیب دیں کمانڈ، ایک ریگولر ایکسپریشن پیٹرن کو sort کمانڈ کے ساتھ استعمال کیا جائے گا۔

:ترتیب دیں / \v^ ( . { - } ، ) { 2 } /

مندرجہ بالا کمانڈ میں:

  • \in عمودی ٹیب کی نمائندگی کرتا ہے۔
  • ^ لائن کے آغاز کی طرف اشارہ کرتا ہے۔
  • ({-}،) ایک گروپ ہے جس میں .{-} کا ایک غیر لالچی ورژن ہے۔ .* اور ، علیحدگی کا میدان ہے۔
  • {2} چھوڑنے کے لیے پہلے 2 کالموں کی نمائندگی کر رہا ہے۔

یہ دیکھا جا سکتا ہے کہ r پرچم پیٹرن کے ساتھ استعمال نہیں کیا جاتا ہے، جس کا مطلب ہے کہ پیٹرن کسی بھی مماثل کالم کو چھوڑ دے گا اور پیٹرن کے بعد کالموں کو ترتیب دے گا۔ اس صورت میں، فائل کو تیسرے کالم کی بنیاد پر ترتیب دیا جائے گا۔ ایک بار پھر مندرجہ ذیل مثال میں، پہلی لائن کو چھوڑنے کے لیے، میں نے رینج 2,5 کا استعمال کیا۔

کے درمیان بنیادی فرق .* اور .{-} یہ ہے .{-} مختصر ترین میچ کے پہلے الگورتھم پر کارروائی کرے گا، جبکہ .* جتنا ممکن ہو سکے گا. مثال کے طور پر، ایک تار میں wxyz the x.*y پوری سٹرنگ کے ساتھ میچ کرے گا جبکہ x{-}y صرف xy سے مماثل ہوگا۔

چھانٹیں لائنز کیس غیر حساس

اگر آپ لائنوں کو ترتیب دیتے ہیں جو اوپری اور نچلے حروف سے شروع ہوتی ہیں، تو sort کمانڈ پہلے بڑے حروف میں لائنوں کو ترتیب دے گی۔ ٹھیک ہے، کیس کی حساسیت کو نظر انداز کرنے کے لیے، استعمال کریں۔ میں پرچم

جیسا کہ آپ مندرجہ ذیل تصویر میں دیکھ سکتے ہیں، دونوں کے ساتھ غیر ترتیب شدہ اور ترتیب شدہ لائنیں۔ :ترتیب دیں اور :میں ترتیب دیں۔ احکامات

نتیجہ

Vim میں چھانٹنا آسانی سے Vim بلٹ ان کا استعمال کرتے ہوئے کیا جا سکتا ہے۔ ترتیب دیں کمانڈ. پہلے سے طے شدہ طور پر، لائنوں کو حروف تہجی کے مطابق ترتیب دیا جاتا ہے، تاہم، اگر آپ ریورس میں ترتیب دینا چاہتے ہیں تو استعمال کریں ! کمانڈ کے بعد دستخط کریں۔ sort کمانڈ عام طور پر پورے بفر کو ترتیب دیتی ہے۔ ایک رینج کوما سیپریٹر سے بھی بیان کیا جا سکتا ہے۔ دی n پرچم کو عددی چھانٹنے کے لیے استعمال کیا جاتا ہے، جبکہ نقل کی لکیروں کو ہٹانے کے لیے میں پرچم استعمال کیا جاتا ہے. اس کے علاوہ، چھانٹنے کے عمل کو بڑھانے کے لئے، بیرونی ترتیب دیں کمانڈ Vim میں بھی استعمال کی جاسکتی ہے۔

Vim میں چھانٹنے کے بارے میں مزید جاننے کے لیے، چلائیں۔ : مدد ترتیب دیں۔ کمانڈ.