كيف يمكنني إدراج النص في بداية متعدد اختيار الخط في vi/همة?

StackOverflow https://stackoverflow.com/questions/253380

  •  05-07-2019
  •  | 
  •  

سؤال

في همة, كيف يمكنني إدخال الأحرف في بداية كل سطر في الاختيار ؟

على سبيل المثال, دعونا نقول كنت ترغب في التعليق خارج كتلة من التعليمات البرمجية قبل أن يتبع // في بداية كل سطر (على افتراض أن اللغة نظام تعليق لا تسمح كتلة وتعليقا مثل /* */).كيف لي أن أفعل هذا ؟

هل كانت مفيدة؟

المحلول

  • اضغط Esc للدخول 'وضع الأوامر'
  • استخدام Ctrl+V للدخول البصرية وضع كتلة
  • الخطوة حتى/أسفللتحديد أعمدة النص في الخطوط التي تريد التعليق.
  • ثم ضرب التحول+أنا ثم اكتب النص الذي تريد إدراج.
  • ثم ضرب Esc, انتظر 1 ثانية و إدخال النص سوف تظهر في كل سطر.

لمزيد من المعلومات قراءة, تحقق هذه المادة ذات الصلة على همة ويكي.

نصائح أخرى

وهذا يحل محل بداية <م> كل سطر مع "//":

:%s!^!//!

وهذا يحل محل بداية <م> كل الخط المحدد (استخدم وضع البصرية لتحديد) مع "//":

:'<,'>s!^!//!

<قوية> ملاحظة أن gv (في الوضع الطبيعي) يعيد اختيار البصرية الماضية، وهذا يأتي في متناول اليدين من وقت لآخر.

والنمط العام للبحث واستبدال هو:

:s/search/replace/

يستبدل التواجد الأول 'بحث' مع 'استبدال' عن الخط الحالي

:s/search/replace/g

يستبدل كافة تواجدات 'بحث' مع 'استبدال' عن الخط الحالي، "ز" هي اختصار ل "جلوبل"

وهذا الأمر سيحل محل كل قوع 'البحث' مع 'استبدال' للخط الحالي فقط. يتم استخدام٪ للبحث خلال الملف بأكمله. لتأكيد كل استبدال تفاعلي إلحاق 'ج' للتأكيد:

:%s/search/replace/c

تأكيد التفاعلي ليحل محل 'بحث' مع 'استبدال' عن الملف بأكمله

وبدلا من الحرف٪ يمكنك استخدام مجموعة رقم السطر على (لاحظ أن الحرف '^' هو حرف بحث خاص لبداية السطر) : ل

:14,20s/^/#/

إدراج الرمز (#) في بداية خطوط 14-20

إذا كنت تريد استخدام حرف آخر تعليق (مثل //) ثم تغيير محدد الأوامر الخاص بك:

:14,20s!^!//!

إدراج '//' تسلسل الأحرف في بداية خطوط 14-20

وأو يمكنك دائما مجرد هروب من الشخصيات // مثل:

:14,20s/^/\/\//

إدراج '//' تسلسل الأحرف في بداية خطوط 14-20

إذا كنت لا ترى أرقام الأسطر في محرر الخاص بك، ببساطة اكتب ما يلي

:set nu

وهناك طريقة أخرى قد يكون من الأسهل بالنسبة للقادمين الجدد:

 some█
 code
 here

وضع المؤشر على السطر الأول، على سبيل المثال بواسطة

: 1 أدخل

واكتب ما يلي للوصول الى وضع الإدراج وإضافة النص الخاص:

I / / الفضاء

 // █some
 code
 here

واضغط على خروج للعودة إلى وضع الأوامر واستخدام الدوغراف حرفان يمثلا ن صوتا مفردا:

ي . ي .

 // some
 // code
 //█here

ي هو أمر حركة النزول سطر واحد و. يكرر الماضي قيادة التحرير التي أجريتها.

و طريقة أخرى:

  • الانتقال إلى بداية السطر
  • أدخل البصرية وضع كتلة (CTRL-v)
  • حدد الخطوط التي تريد (التحرك لأعلى/أسفل مع ي/k, أو القفز إلى خط مع [line]ز)
  • اضغط أنا (أن رأس المال لا)
  • اكتب تعليق حرف(s)
  • اضغط ESC

وهذا يضيف # في بداية كل سطر:

:%s/^/#/

والناس سوف تكف عن الشكوى حول تقاعسكم عن مخطوطات التعليق بشكل صحيح.

إذا كنت ترغب في الحصول على السوبر يتوهم حول هذا الموضوع, ضع هذا في الخاص بك .vimrc:

vmap \c :s!^!//!<CR>
vmap \u :s!^//!!<CR>

ثم كلما في وضع البصرية, يمكنك ضرب \c إلى جomment كتلة ، \u إلى uncomment ذلك.بالطبع يمكنك تغيير تلك اختصار المفاتيح أيا كان.

ولكن بطريقة أخرى:

:'<,'>g/^/norm I//

و/^/ هو مجرد نمط دمية لتتناسب مع كل سطر. norm يتيح لك تشغيل الأوامر العادي وضع التالية. يقول I// لدخول إدراج الوضع في حين قفز المؤشر إلى بداية السطر، ثم أدخل النص التالي (اثنين مائلة).

و:g غالبا ما يكون مفيد لفعل شيء مجمع على خطوط متعددة، حيث قد ترغب في القفز بين وسائط متعددة أو حذف أو إضافة خطوط، تحريك المؤشر، قم بتشغيل مجموعة من وحدات الماكرو، وغيرها، ويمكن أن أقول لكم أن تعمل فقط على الخطوط التي تتطابق مع النمط.

لتعليقه كتل من التعليمات البرمجية، وأنا أحب الطالب الذي يذاكر كثيرا المعلق المساعد.

وحدد بعض النص:

Shift-V
...select the lines of text you want to comment....

وتعليق:

,cc

وغير تعليق:

,cu

وأو مجرد تبديل حالة تعليق من سطر أو كتلة:

,c<space>

ويمكنني أن أوصى EnhCommentify المساعد.

وعلى سبيل المثال. وضع هذا vimrc الخاص بك:

let maplocalleader=','
vmap <silent> <LocalLeader>c <Plug>VisualTraditional
nmap <silent> <LocalLeader>c <Plug>Traditional
let g:EnhCommentifyBindInInsert = 'No'
let g:EnhCommentifyMultiPartBlocks = 'Yes'
let g:EnhCommentifyPretty = 'Yes'
let g:EnhCommentifyRespectIndent = 'Yes'
let g:EnhCommentifyUseBlockIndent = 'Yes'

وبعد ذلك يمكنك التعليق / غير تعليق السطور (مختارة) مع 'ج'

مارك المنطقة المراد التعليق البصرية كتلة (<C-V)

والقيام c#<ESC>p

  1. change أنه "#"
  2. وضعه مرة أخرى

إذا كنت تفعل ذلك في كثير من الأحيان ، تعريف مختصر (على سبيل المثال \q) في الخاص بك .vimrc

:vmap \q c#<ESC>p

لإدراج "ABC" في بداية كل سطر:

1) إذهب إلى وضع الأوامر

2):٪ القاعدة في ABC

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top