سؤال

هل هناك أي طريقة نسخ جميع الخطوط من فتح الملف إلى الحافظة في السادس محرر.حاولت yز ولكن ليس باستخدام الحافظة لتخزين تلك الخطوط.

هل هذا ممكن ؟

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

المحلول

يجب أن نثر النص إلى * أو + يسجل:

زز"*yز

التفسير:

  • gg للحصول على المؤشر إلى الحرف الأول من الملف
  • "*y لبدء نثر الأمر إلى السجل * من السطر الأول حتى...
  • G الذهاب إلى نهاية الملف

نصائح أخرى

استخدام:

:%y+

لنثر جميع الخطوط.

التفسير:

  • % للإشارة الأمر التالي للعمل على كافة الخطوط
  • y لنثر تلك الخطوط
  • + نسخ إلى الحافظة النظام

NB:في ويندوز ، + و * تعادل انظر هذا الجواب.

على ماك

  • نسخ الجزء المحدد:بصريا تحديد النص(نوع v أو V في العادي الوضعية) و نوع :w !pbcopy

  • نسخ الملف بأكمله :%w !pbcopy

  • الماضي من الحافظة :r !pbpaste

الحافظة هي العازلة +.نسخ إلى الحافظة, هل "+y و [الحركة].

لذلك ، زز"+yز سيتم نسخ الملف بأكمله.

وبالمثل, لصق من الحافظة ، "+p

وسيلة سهلة أخرى لنسخ الملف بأكمله إذا كنت تواجه مشاكل في استخدام VI، هو فقط عن طريق كتابة "اسم القط". وسيشدد الملف على الشاشة ومن ثم يمكنك التمرير فقط صعودا وهبوطا ونسخ / لصق.

وهذا هو ما أقوم به لنثر الملف بأكمله:

ggVGy

و(ردا علىrshdev، وتجنب الحاجة إلى إعادة ترجمة همة مع + xterm_clipboard فيnelstrom في تصريحات على OP)

وهناك برنامج يسمى xclip التي تعمل مثل putclip على أوبونتو 11:

:%!xclip -sel clip
u

وليس تثبيته بشكل افتراضي. التركيب والاستخدام:

sudo apt-get install xclip

على أوبونتو 12

وكنت قد تحاول تثبيت vim-gnome الحزمة:

sudo apt-get install vim-gnome

حاولت ذلك, لأن vim --version قال لي أنه قد علم xterm_clipboard تعطيل (المشار إليها - ) ، الذي هو ضروري من أجل استخدام وظيفة الحافظة.

-> تثبيت همة-جنوم حزمة على أوبونتو 12 أيضا تثبيت وحدة التحكم القائمة على نسخة من همة ، وقد تمكين هذا الخيار (المشار إليها من قبل + قبل xterm_clipboard العلم)

على ارتش لينكس

يجوز لك تثبيت vim-clipboard لنفس السبب.

ويمكنك استخدام "القط" الأمر لفتح ملف واستخدام الماوس لنسخ

إذا كنت تستخدم همة في وضع البصرية القياسية قص ولصق مفاتيح تنطبق أيضا على الأقل مع ويندوز.

  • CTRLA يعني "مارك الملف بأكمله.
  • CTRLج يعني "نسخ التحديد.
  • ESC يعني "دي-حدد لذا القادم الخاص بك اضغط على مفتاح لا يحل محل ملف كامل :-)

تحت أوبونتو محطة (جنوم) على الأقل ، معيار نسخ يعمل أيضا (CTRLالتحولج, ، على الرغم من أن هناك لا يبدو أن يكون مستوى لوحة المفاتيح اختصار select all (بخلاف ALTهـ تليها A).

ويمكنك الضغط زز لتحديد موقع المؤشر إلى بداية الملف، ثم اضغط YG لنسخ كل المحتوى من البداية الى النهاية (G الموجود) لbuffer.good الحظ!

وحاولت بعض الأوامر التي ذكرها الناس فوق. عمل لا شيء. ثم حصلت على عقد من أبسط من كل منهم.

الخطوة 1: vi <filename>
الخطوة 2: انقر بزر الماوس الأيمن على شريط عنوان المعجون نافذة
الخطوة 3: حدد "scrollback واضح" (لتجنب نسخ بقية جلسة SSH الخاص بك)
الخطوة 4: انقر بزر الماوس الأيمن مرة أخرى وحدد "نسخ كافة إلى الحافظة".

و:%y a يانكيز كل المحتوى إلى عازلة همة، و سوف الضغط p في وضع الأمر لصق محتوى انتزع بعد السطر الذي المؤشر يقف حاليا في.

gVim:

:set go=a

ز ز V G

وانظر :help go-a:

'a' Autoselect:  If present, then whenever VISUAL mode is started,
 or the Visual area extended, Vim tries to become the owner of
 the windowing system's global selection.  This means that the
 Visually highlighted text is available for pasting into other
 applications as well as into Vim itself.  When the Visual mode
 ends, possibly due to an operation on the text, or when an
 application wants to paste the selection, the highlighted text
 is automatically yanked into the "* selection register.
 Thus the selection is still available for pasting into other
 applications after the VISUAL mode has ended.
     If not present, then Vim won't become the owner of the
 windowing system's global selection unless explicitly told to
 by a yank or delete operation for the "* register.
 The same applies to the modeless selection.

ولم يكن هناك مفهوم "الحافظة" في السادس بيل جوي لذلك أنا لا أعتقد أن هناك وسيلة المدمج في القيام بذلك.

وسلط الضوء-نسخ أي شيء-إلى الحافظة ميزة تلقائية gVim هي أسهل أو استخدام برنامج خارجي عن طريق:!

لهمة سيغوين وأنا استخدم

:%!putclip
u

وربما أوبونتو لديه التطبيق CLI مثل putclip ؟؟

حسنا, كل من هذه الطرق هي مثيرة للاهتمام, ولكن كما كسول مبرمج يمكنني استخدام نثر كل خط باستخدام مزيج من عدد + y

على سبيل المثال لديك مصدر رمز الملف مع ما مجموعه 78 خطوط, يمكنك القيام به على النحو التالي:

  1. gg للحصول على المؤشر في أول السطر
  2. إدراج 78 + y --> كان الأمريكان 78 خطوط تحت المؤشر السطر الحالي

إذا أصابعك افتراضي لCTRL-A CTRL-C، ثم حاول تعيينات من $VIMRUNTIME/mswin.vim.

" CTRL-C and CTRL-Insert are Copy
vnoremap <C-C> "+y

" CTRL-A is Select all
noremap <C-A> gggH<C-O>G
inoremap <C-A> <C-O>gg<C-O>gH<C-O>G
cnoremap <C-A> <C-C>gggH<C-O>G
onoremap <C-A> <C-C>gggH<C-O>G
snoremap <C-A> <C-C>gggH<C-O>G
xnoremap <C-A> <C-C>ggVG

ولدي منها تعيينها إلى <Leader><C-a> و<Leader><C-c>.

هل نسخ الملف بأكمله داخل همة أو علامات تبويبها

y G 

وبعد ذلك الانتقال إلى علامة التبويب ولصق من قبل

p

ووخفض استخدام الملف بأكمله

d G

وهنا أمر خريطة لتحديد كافة إلى الحافظة باستخدام CTRL + من :

"
" select all with control-a
"
nnoremap <C-a> ggmqvG"+y'q

وإضافته إلى الخاصة بك .vimrc وكنت على ما يرام ...

وأنا أعلم عشر سنوات على هذا ينبغي أن تسوى ولكن لم الإجابات الأولين لا تعمل بالنسبة لي لذلك ظللت الحفر. على ردهات (الملقم البعيد) - ويندوز 10 (الجهاز المحلي)، إذا كنت لا يمكن تحديد كل شيء مع الماوس، كنت عالقة بسبب النسخ العادية لا تعمل بين جهاز التحكم عن بعد ولوحات الاعلانات الجهاز المحلي

.

وهكذا، لنسخ على لينكس عن بعد ولصق على Windows المحلي، تحديد المخزن المؤقت الأساسي مع * والقيام نثر مزدوج لطيفة

استخدم ز ز " * ص ص .

ولقد إضافة السطر التالي إلى بلدي .vimrc

nnoremap <F5> :%y+<CR>

وهذا يتيح لي الفرصة لنسخ كل النص في فيم إلى الحافظة عن طريق الضغط على F5 (في وضع الأوامر).

لم أستطع نسخ الملفات باستخدام الإجابات أعلاه ولكن لدي المعجون و لقد وجدت الحل على قرة.

  1. تغيير إعدادات المعجون الدورة ، انتقل إلى تسجيل وتغييره إلى "للطباعة الشخصيات".تعيين ملف السجل
  2. هل القط من كل ملف
  3. انتقل إلى الملف الذي تم تعيينه في الخطوة رقم 1 وسوف يكون المحتوى الخاص بك في ملف السجل.

ملاحظة:نسخ جميع الأحرف المطبوعة من تلك الدورة إلى ملف السجل ، لذلك سوف تحصل على كبير في نهاية المطاف.في هذه الحالة حذف ملف السجل و القط الملف الهدف حتى تحصل على هذا الملف خاصة المحتوى نسخها على الجهاز الخاص بك.

ولقد خلق وظيفة لتنفيذ هذا الإجراء، وضعه على ~/.vimrc الخاص بك.

fun! CopyBufferToClipboard()
    %y+
endfun
nnoremap <Leader>y :call CopyBufferToClipboard()<CR>
command! -nargs=0 CopyFile :call CopyBufferToClipboard()

وOBS: إذا كنت تستخدم neovim تحتاج أيضا بعض مدير الحافظة مثل xclip. لمزيد من المعلومات نوع في :h checkhealth neovim

ومن المهم أيضا أن نذكر أن ليس دائما سوف y بسيطة نسخ إلى الحافظة، من أجل جعل كل رضعة نسخة + اللي تبونه هو "الحافظة التسجيل" محاولة تعيين: :set clipboard=unnamed,unnamedplus. للحصول على معلومات مور راجع: :h unnamed

.

هنا مزيد من المعلومات حول يكيا همة.

وانقر على زر الماوس الأيسر، اسحب عبر القسم الذي تريد نسخ والافراج عنهم. تلقائيا يحصل على نسخ رمز إلى الحافظة.

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