it-swarm.asia

تكرار خط كامل في فيم

كيف يمكنني تكرار خط كامل في فيم بطريقة مماثلة ل Ctrl+D في IntelliJ IDEA/Resharper أو Ctrl+Alt+/ في الكسوف؟

1492
sumek

yy أو Y لنسخ الخط
أو
dd لحذف (قطع) الخط

ثم

p للصق النص المنسوخ أو المحذوف بعد السطر الحالي
أو
P للصق النص المنسوخ أو المحذوف قبل السطر الحالي

2555
Mark Biek

الوضع العادي: انظر الإجابات الأخرى.

السابقين الطريق:

  • :t. سيكرر الخط ،
  • :t 7 ستنسخه بعد السطر 7 ،
  • :,+t0 ستقوم بنسخ السطر الحالي والخط التالي في بداية الملف (,+ هو مرادف للنطاق .,.+1) ،
  • :1,t$ ستعمل على نسخ الخطوط من البداية حتى موضع المؤشر إلى النهاية (1, هو مرادف للنطاق 1,.).

إذا كنت بحاجة إلى التنقل بدلاً من النسخ ، فاستخدم :m بدلاً من :t.

يمكن أن يكون هذا الأمر قويًا إذا قمت بضمه مع :g أو :v:

  • :v/foo/m$ سينقل جميع الأسطر التي لا تتطابق مع النمط "foo" إلى نهاية الملف.
  • :+,$g/^\s*class\s\+\i\+/t. ستنسخ جميع الأسطر التالية من النموذج class xxx مباشرة بعد المؤشر.

المرجع: :help range و :help :t و :help :g و :help :m و :help :v

381
Benoit

YP أو Yp أو yyp.

280
Linulin

copy and paste in vim

لا تحصل على أي أكثر بساطة من هذا! من الوضع العادي:

yy

ثم انتقل إلى الخط الذي تريد لصقه في و

p
230
Adam

yy

سوف ينتزع الخط الحالي دون حذفه

dd

سيحذف السطر الحالي

p

سوف put سطر أمسك بأي من الطرق السابقة

49
pjz

افعل هذا:

أول، yy لنسخ السطر الحالي ، ثم p لصق.

38
Eric Z Beard

إذا كنت تريد طريقة أخرى :-)

"ayy سيؤدي هذا إلى تخزين السطر في المخزن المؤقت a

"ap سيضع هذا محتويات المخزن المؤقت a في المؤشر.

هناك العديد من الاختلافات حول هذا.

"a5yy هذا سيخزن 5 خطوط في المخزن المؤقت a

راجع http://www.vim.org/htmldoc/help.html لمزيد من المتعة

38
Kwondri

yyp - تذكرها مع "yippee!"

أسطر متعددة برقم بين:

y7yp

37
theschmitzer

yyp - لصق بعد

yyP - الصق قبل

22
yemu

يمكنك أيضًا تجربة <C-x> <C-l> والتي ستكرر السطر الأخير من وضع الإدراج وتوفر لك نافذة إكمال مع جميع الخطوط. كان يعمل تقريبا مثل <C-p>

11
nikolavp

خيار آخر هو الذهاب مع:

nmap <C-d> mzyyp`z

يمنحك ميزة الحفاظ على موضع المؤشر.

11
Rook

انا يعجبني: Shift+v (لتحديد السطر بالكامل على الفور وتتيح لك تحديد خطوط أخرى إذا كنت تريد) ، ص ، ص

10
Gabe

بالنسبة لشخص لا يعرف vi ، قد تضلله بعض الإجابات الواردة أعلاه بعبارات مثل "لصق ... بعد/قبل الخط الحالي".
إنها في الواقع "لصق ... بعد/قبل المؤشر".

yy أو Y لنسخ الخط
أو
dd لحذف الخط

ثم

p للصق النص المنسوخ أو المحذوف بعد  المؤشر
أو
P للصق النص المنسوخ أو المحذوف قبل  المؤشر


لمزيد من الارتباطات الرئيسية ، يمكنك زيارة هذا الموقع: vi Complete Key Binding List

10
Michael

1 مسكتك: عند استخدام "p" لوضع الخط ، فإنه يضعه بعد السطر الذي يكون المؤشر فيه قيد التشغيل ، لذلك إذا كنت ترغب في إضافة السطر بعد السطر الذي تنتقص منه ، فلا تقم بتحريك المؤشر أسفل خط قبل وضع السطر الجديد.

3
cori

الافتراضي هو yyp، لكنني أستخدم هذا التجديد لمدة عام أو نحو ذلك وأحب ذلك:

" set Y to duplicate lines, works in visual mode as well. nnoremap Y yyp vnoremap Y y`>pgv

2
Chris Penner

بالنسبة لأولئك الذين بدأوا في تعلم vi ، في ما يلي مقدمة جيدة عن vi عن طريق سرد أوامر جنبًا إلى جنب لحركة مؤشر Windows GUI Editor النموذجية ومفاتيح الاختصار. وهو يسرد جميع الأوامر الأساسية بما في ذلك yy (نسخة خط) و p (لصق بعد) أو P(الصق قبل).

السادس (فيم) لمستخدمي ويندوز

1
ap-osd

أعلم أنني تأخرت في الحفلة ، لكن أيا كان ؛ لدي هذا في بلدي. vimrc:

nnoremap <C-d> :copy .<CR>
vnoremap <C-d> :copy '><CR>

يقوم الأمر :copy بنسخ السطر المحدد أو النطاق (الأسطر بأكملها دائمًا) إلى ما دون رقم السطر المحدد كوسيطته.

في الوضع العادي ، ما يفعله هذا هو copy . انسخ هذا السطر إلى أسفل هذا الخط مباشرة .

وفي الوضع المرئي ، يتحول إلى '<,'> copy '> نسخة من بداية التحديد إلى نهاية التحديد إلى السطر أدناه نهاية التحديد .

1
DarkWiiPlayer

إذا كنت ترغب في تكرار خط ولصقه على الفور أسفل الحالي ، تمامًا كما هو الحال في Sublime Ctrl+Shift+D، ثم يمكنك إضافة هذا إلى ملف .vimrc الخاص بك.

imap <S-C-d> <Esc>Yp

0
jedi

أحب استخدام هذا التعيين:

:nnoremap yp Yp

لأنه يجعلها متناسقة لاستخدامها بجانب أمر YP الأصلي.

0
yolenoyer