সিস্টেমের ক্লিপবোর্ড থেকে (এবং অনুলিপি করুন) ভিম পেস্ট কীভাবে তৈরি করবেন?


769

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

আমি কি সিস্টেমের ক্লিপবোর্ড থেকে এবং ভিম পেস্ট তৈরি করতে পারি?



7
"+ Y পেস্ট করুন" + পি অনুলিপি ঠিক যেমন ইয়াঙ্ক এবং পেস্টের মতো কাজ করে আপনি তার আগে রেজিস্ট্রি নির্দিষ্ট না করে।
বানজোক্যাট

2
নিম্নলিখিত কমান্ডগুলি ব্যবহার করতে, নিশ্চিত হয়ে নিন যে আপনি এটি করেছেন sudo apt-get install vim-gnome যা এটির কার্যকারিতাটি সিস্টেমের ক্লিপবোর্ড ব্যবহারের অন্তর্নির্মিত ভিমে যোগ করবে।
হরণিরভাইর সিং

2
@ হার্নিরভাইয়ার এখানে প্রচুর পাঠকের vim-gnomeজন্য সম্ভবত অতিরিক্ত ওভারকিল বা তাদের অপারেটিং সিস্টেম / ডিস্ট্রোতে সহজলভ্য নয়, যেখানে আমি সন্দেহ করি vim-gtkএবং vim-gtk3সম্ভবত ক্লিপবোর্ড ইন্টিগ্রেশন সরবরাহ করার সময় কমপক্ষে নির্ভরশীলতার উপস্থিতি বেশি হয় (কমপক্ষে এক্স 11 তে এখনও তাদের জন্য; আমি নিশ্চিত নই যে এটি কীভাবে ওয়েল্যান্ডের সাথে যোগাযোগ করে)।
আন্ডারস্কোর_

3
ফেডোরা ডিফল্টরূপে - কোন ক্লিপবোর্ড অ্যাক্সেস (আপনি gvim প্রয়োজন থাকলে), superuser.com/questions/194747/...
icc97

উত্তর:


880

"*এবং "+রেজিস্টার সিস্টেমের ক্লিপবোর্ড জন্য প্রযোজ্য ( :help registers)। আপনার সিস্টেমে নির্ভর করে তারা বিভিন্ন জিনিস করতে পারে। উদাহরণস্বরূপ, যেসব সিস্টেমে এক্স 11 যেমন ওএসএক্স বা উইন্ডোজ "*ব্যবহার করে না , তাদের রেজিস্টারটি সিস্টেম ক্লিপবোর্ডে পড়তে এবং লিখতে ব্যবহৃত হয়। এক্স 11 সিস্টেমে উভয় রেজিস্টার ব্যবহার করা যেতে পারে। দেখুন :help x11-selectionআরো বিস্তারিত জানার জন্য, কিন্তু মূলত "*ব্যবহারে X11 এর অনুরূপ প্রাথমিক নির্বাচন (যা সাধারণত কপি জিনিষ আপনি মাউস এবং মাঝখানের মাউস বাটন ব্যবহার প্রতিলেপন সঙ্গে নির্বাচন করুন) এবং "+ব্যবহারে X11 এর অনুরূপ ক্লিপবোর্ড নির্বাচন (যা ক্লিপবোর্ড সঠিক)।

যদি আপনার মাথার সমস্ত কিছুই চলে যায় তবে ব্যবহার করার চেষ্টা করুন "*yyবা "+yyআপনার সিস্টেমের ক্লিপবোর্ডে একটি লাইন অনুলিপি করুন। ধরে নিচ্ছি আপনার কাছে উপযুক্ত সংকলনের বিকল্প রয়েছে, এক বা অন্যটির কাজ করা উচিত। আপনি এটি আপনার জন্য আরও সুবিধাজনক কিছুতে পুনরায় তৈরি করতে পছন্দ করতে পারেন। উদাহরণস্বরূপ, যদি আপনি করা হতে পারে vnoremap <C-c> "*yআপনার ~ / .vimrc যাতে আপনি চাক্ষুষরূপে নির্বাচন করুন ও টিপতে পারেন Ctrl+ + cআপনার সিস্টেমের ক্লিপবোর্ডে Yank করতে।

জেনে রাখুন যে অনুলিপি / সিস্টেম ক্লিপবোর্ড থেকে পেস্ট করা কাজ করবে না যদি :echo has('clipboard')আয় 0. এই ক্ষেত্রে, তেজ দিয়ে কম্পাইল করা হয় না +clipboardবৈশিষ্ট্য এবং আপনি একটি ভিন্ন সংস্করণ ইনস্টল অথবা এটি কম্পাইল করতে হবে। কিছু লিনাক্স ডিস্ট্রস ডিফল্টভাবে একটি সর্বনিম্ন ভিম ইনস্টলেশন সরবরাহ করে তবে সাধারণত আপনি যদি প্যাকেজটি ইনস্টল করেন vim-gtkবাvim-gtk3 অতিরিক্ত বৈশিষ্ট্যগুলি পেতে পারেন।

আপনি 'clipboard'বর্ণিত বিকল্পটি একবার দেখতে চান :help cb। এই ক্ষেত্রে আপনি :set clipboard=unnamedবা :set clipboard=unnamedplusসমস্ত ইয়াঙ্কিং / মুছে ফেলা অপারেশনগুলি সিস্টেম ক্লিপবোর্ডে স্বয়ংক্রিয়ভাবে অনুলিপি করতে পারেন। ক্লিপবোর্ডে আপনি অন্য কোনও কিছু সংরক্ষণ করছেন এমন কিছু ক্ষেত্রে এটি কোনও অসুবিধা হতে পারে কারণ এটি এটিকে ওভাররাইড করবে।

পেস্ট করতে আপনি "+pবা "*p(আবার আপনার সিস্টেম এবং / বা পছন্দসই নির্বাচনের উপর নির্ভর করে) ব্যবহার করতে পারেন বা আপনি এটিকে অন্য কোনওটিতে মানচিত্র করতে পারেন। আমি সেগুলি স্পষ্টভাবে টাইপ করি তবে আমি প্রায়শই নিজেকে সন্নিবেশ মোডে খুঁজে পাই। আপনি যদি সন্নিবেশ মোডে থাকেন তবে আপনি এগুলি ব্যবহার করে <C-r><C-p>*বা যথাযথ ইনডেন্টেশন দিয়ে পেস্ট করতে পারেন <C-r><C-p>+। দেখুন :help i_CTRL-R_CTRL-P

এটি ভিআইএম এর pasteবিকল্পটি ( :help paste) উল্লেখ করার মতো । এটি ভিমকে একটি বিশেষ "পেস্ট মোডে" রাখে যা বেশ কয়েকটি অন্যান্য বিকল্পকে অক্ষম করে, আপনাকে সহজেই আপনার টার্মিনাল এমুলেটর বা মাল্টিপ্লেক্সারের পরিচিত পেস্ট শর্টকাট ব্যবহার করে ভিমে মধ্যে পেস্ট করতে দেয়। :set pasteএটি সক্ষম করতে কেবল টাইপ করুন , আপনার সামগ্রী আটকে দিন এবং তারপরে :set nopasteএটি অক্ষম করতে টাইপ করুন । বিকল্পভাবে, আপনি pastetoggleএকটি কী-কোড সেট করতে বিকল্পটি ব্যবহার করতে পারেন যা মোডকে টোগল করে ( :help pastetoggle)। আমি এই বিকল্পগুলির পরিবর্তে রেজিস্টারগুলি ব্যবহার করার পরামর্শ দিচ্ছি, তবে যদি তারা এখনও খুব ভয়ঙ্কর হয় তবে আপনি যখন নিজের ভিম চপগুলি নিখুঁত করছেন তখন এটি একটি সুবিধাজনক কাজ হতে পারে।

দেখুন :help clipboardআরো বিস্তারিত তথ্যের জন্য।


103
এটি অত্যন্ত তথ্যবহুল, তবে আপনি কি সিস্টেম ক্লিপবোর্ড থেকে পেস্ট করার জন্য কী কী স্ট্রোকের প্রয়োজন তা সংক্ষিপ্ত করতে পারেন ... উদাহরণস্বরূপ কেউ কী করছে "*p? আমি কি Shift- ', তারপরে শিফট -8, তারপরে পি ইত্যাদি চাপবো?
টি। ব্রায়ান জোন্স

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

4
হায়! আমি যদি আজকের আগে কেবল এই পোস্টটি দেখতে পেতাম! সিস্টেম ক্লিপবোর্ড থেকে অনুলিপি এবং আটকানো সম্পর্কে আমি যা জানতে চাইছি এটি এটি। "<Cr> <Cp> * বা <সিআর> <সিপি> +" খাঁটি সোনার।
কিথ পিনসন

54
একটি জোর: আপনার vim-gtkপ্যাকেজটি ইনস্টল করতে হবে (কমপক্ষে ডেবিয়ানের অধীনে), সংকলিত ভিএম পেতে +xterm_clipboard। এটি খুঁজে পেতে আমাকে 40 মিলিয়ন ডলার নিয়েছিল, এবং কেবল কয়েক সেকেন্ডে sudo apt-get install vim-gtk
ডোমিনিকাস মোস্তাউসকিস

3
@ ডোমিনিকাস মোস্তাস্কিসও vim-gnomeকাজ করে এবং +xterm_clipboardসক্ষম করেছে ।
শেভ

155

আপনি জিনোম-টার্মিনালের শর্টকাটটি পেস্টের জন্য অনুলিপি করতে পারেন। ফাইলটি সন্নিবেশ মোডে তৈরি করুন এবং ব্যবহার করুন

Ctrl+ Shift+v

আগে মনে রাখবেন

 :set paste 

ইন্ডেন্টেশন দিয়ে ঝামেলা এড়াতে।


19
লুপের জন্য পাইথনের মতো একাধিক লাইন থাকলে ইন্ডেন্টেশনের সাথে এই
মোজ

11
সন্নিবেশ মোডের জন্য একটি পেস্ট টগল ব্যবহার করুন। উদাহরণস্বরূপ পেস্টটগল সেট করুন <<F2> তারপরে সন্নিবেশ মোডে <F2> টিপুন এবং তারপরে আপনার অজগর কোডটি সন্নিবেশ করুন।
জান ওয়েটজ

হ্যাঁ সিটিআরএল + শিফট + সি দিয়ে অনুলিপি করুন এবং অন্য ফাইলটিতে
আটকে দিন

1
যদি ট্যাবস / সাদা স্পেস, ইলস ইত্যাদি দৃশ্যমান চরিত্র হিসাবে দেখানো হয় (তালিকার বিকল্পগুলির মাধ্যমে), তবে সেই বিকল্প অক্ষরগুলি গোপনের পরিবর্তে অনুলিপি করা হবে।
ব্যবহারকারী 907860

2
এটির সংক্ষিপ্ত উত্তর দেওয়ার পরে এটি নির্বাচিত উত্তর হওয়া উচিত
আইডিন

41

লিনাক্স

আমার লিনাক্স সিস্টেমে, +এবং *একটি এক্স 11 নির্বাচনের জন্য মানচিত্রটি নিবন্ধভুক্ত করে, যা মাঝের মাউস বোতামের সাহায্যে আটকানো যায়। কখন :set clipboard=unnamedএবং:set clipboard=unnamedplus ব্যবহার করা হয়, তারপরে ক্লিপবোর্ডে মানচিত্রগুলি নিবন্ধভুক্ত করে এবং CTRL-V দিয়ে আটকানো যায়।

নির্দিষ্টকরণগুলি কিছুটা কনফিগারেশন এবং সিস্টেম নির্ভর বলে মনে হচ্ছে, তাই আপনার মাইলেজটি অবশ্যই পৃথক হবে। যদিও এটি অবশ্যই আপনাকে সঠিক দিকে নির্দেশ করবে।

আরো দেখুন

http://vim.wikia.com/wiki/Accessing_the_system_clipboard


1
কেবল *এক্স 11 প্রাথমিক রেজিস্ট্রারে মানচিত্র (যা সাধারণত মাউস দ্বারা আটকানো হয়)। +এক্স 11 ক্লিপবোর্ডের মানচিত্র সাধারণত শর্টকাটগুলি দ্বারা আটকানো হয়।
জাইএক্স

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

আমি বিশ্বাস করি এর অর্থ ক্লিপবোর্ড ম্যানেজার যেমন ক্লিপার / গ্লিপার, তারা দুটি বাফার সিঙ্ক্রোনাইজ করতে সক্ষম। এটা সত্য যে পরিবর্তন করে না তেজ ব্যবহারসমূহ *প্রাথমিক এবং +ক্লিপবোর্ড ব্যবহারে X11 রেজিস্টার স্বরূপ, আপনি তেজ উৎস এই দেখতে পারেন: এই মান সেখানে নির্ধারণ করা হয় এবং কখনও পরিবর্তন, এবং clip_starএবং clip_plusসবসময় জন্য ব্যবহার করা হয় *এবং +যথাক্রমে রেজিস্টার।
জাইএক্স

41

আমার জন্য যে কনফিগারেশন অনুলিপি এবং আটকানোর জন্য কাজ করে

" copy and paste
vmap <C-c> "+yi
vmap <C-x> "+c
vmap <C-v> c<ESC>"+p
imap <C-v> <ESC>"+pa

আপনি কি পেস্ট করেছেন?
স্টারউইন্ড0

এই আইএমএইচওটি এমন একটি আরও ভাল সমাধান যা ক্লিবোবোর্ডটি নামবিহীন স্থাপন করে - প্রতিটি এক্স / ডিডি / ওয়াই ইত্যাদি ক্রিয়াকলাপের সাথে ওএস ক্লিপবোর্ডের সাথে গোলযোগ না করে। এবং একটি ম্যাকের জন্য সিএমডি + সি / এক্স / ভি সংমিশ্রণ ম্যাপিংয়ের জন্য সি (সিটিআরএল) পরিবর্তনকারীটিকে ডি তে পরিবর্তন করা আরও ভাল ধারণা হতে পারে।
মাইন্ডেক্স

34

এই উদ্দেশ্যে আপনার ভিএমআরসিতে আপনার প্রয়োজন রেখাগুলি হবে:

set clipboard+=unnamed  " use the clipboards of vim and win
set paste               " Paste from a windows or from vim
set go+=a               " Visual selection automatically copied to the clipboard

2
আমি আপনার সমাধান পছন্দ। আমি আরও ভাল ব্যাখ্যা চাই।
zhon

চমৎকার। নিবন্ধগুলি ব্যবহার করা আমাকে সর্বদা দ্বিধাগ্রস্থ করে তোলে এবং ভাবতে হয়। এই অনেক ভালো
JonnyRaa

আমার ভিএম সংস্করণে + ক্লিপবোর্ড রয়েছে এবং এই বিকল্পটি আমার পক্ষে কাজ করে না। আমি ব্যোবু ব্যবহার করছি (যা হুডের নিচে টিমাক্স ব্যবহার করে)।
GGhe

আমি ফেডোরার জন্য সেট ক্লিপবোর্ড + = নামবিহীন প্লাস যুক্ত করতে হয়েছিল
হাকুনিন

29

আমি বিশ্বাস করি যে এই প্রশ্নটি আরও বেশি উদ্দেশ্যমূলক এবং গ্রাফিকাল উত্তরটির দাবি রাখে:

আটকানো মোডে প্রবেশ করা হচ্ছে

  • ESC
  • : সেট পেস্ট
  • প্রেস i
  • SHIFT+ Insert(আপনার ক্লিপবোর্ডে অনুলিপি করা একটি পাঠ্য সহ)


আটকানো মোড ছেড়ে চলেছে

  • ESC
  • : নোপস্টে সেট করুন
  • প্রেস i

আপনি পাঠ্যটি আটকালেন এবং আপনি আবার টাইপ করতে সক্ষম হন।


1
আমি এটি কাজ করতে পেয়েছি, কিন্তু :set nopasteকিছুই না। কি এটি করতে অনুমিত হয়? আমার কেন এটি দরকার?
মার্কো আভিলিজাš

1
ভাল, আসলে, এটা না। আপনি যখন সঞ্চালন করবেন :set nopaste, আপনি সম্পাদককে বলছেন যে আপনি আর পেস্ট করতে চান না। এবং আপনি যে আঘাত করেছেন i, আপনি সম্পাদনা মোডে ফিরে যাচ্ছেন :)।
ivanleoncz

2
আপনার সাথে সত্যি কথা বলতে, মার্কো, আমি জানি না।
ivanleoncz

1
SHIFT + sertোকানো এটি আমার জন্য তৈরি হয়েছে, ধন্যবাদ!
মেলিসা লুস

1
এটি আমার জন্য কবজির মতো কাজ করেছিল। প্রতিবার আমি যখন ভিমে ফিরে আসি আমি সর্বদা এই জাতীয় কিছু দেখতে পাই।
বেনজামিনাদক

17

ক্লিপবোর্ড

এই নির্বাচনটি সংরক্ষণ করার জন্য একটি বিশেষ রেজিস্টার রয়েছে, এটি "* রেজিস্টার" কোন পাঠ্যটি নির্বাচিত হয় সে সম্পর্কে তথ্য পরিবর্তন না হওয়া (উদাহরণস্বরূপ কোথাও বাম মাউস ক্লিক করে) বা অন্য কোনও অ্যাপ্লিকেশন চান নির্বাচিত পাঠ্যটি আটকান Then তারপরে পাঠ্যটি "* রেজিস্টারে রেখে দিন। উদাহরণস্বরূপ, একটি লাইন কেটে এটিকে বর্তমান নির্বাচন করা / ক্লিপবোর্ডে রেখে দেওয়া:

    "*dd

একইভাবে, আপনি যখন অন্য অ্যাপ্লিকেশন থেকে কোনও নির্বাচন আটকে দিতে চান, উদাহরণস্বরূপ, মাঝের মাউস বোতামটি ক্লিক করে, নির্বাচনটি প্রথমে "* রেজিস্ট্রারে রাখুন এবং তারপরে অন্য রেজিস্টারের মতো 'রাখুন' example উদাহরণস্বরূপ, নির্বাচন করা (ক্লিপবোর্ডের বিষয়বস্তু):

    "*p

E354 নিবন্ধভুক্ত

> There are nine types of registers:                      
> 1. The unnamed register ""
> 2. 10 numbered registers "0 to "9
> 3. The small delete register "-
> 4. 26 named registers "a to "z or "A to "Z
> 5. four read-only registers ":, "., "% and "#
> 6. the expression register "=
> 7. The selection and drop registers "*, "+ and "~ 
> 8. The black hole register "_
> 9. Last search pattern register "/

ক্লিপবোর্ড থেকে আটকান

1. Clipboard: Copy
2. Vim insertmode, middle mouse key

টার্মিনালে এক্স 11-ক্লিপবোর্ড সমর্থন পরীক্ষা করুন

আপনি যখন কোনও টার্মিনালে ভিম চালাতে চান আপনার ক্লিপবোর্ড সমর্থন সহ সংকলিত ভিমের একটি সংস্করণ সন্ধান করতে হবে। কনসোল থেকে এক্স 11-ক্লিপবোর্ড সমর্থন পরীক্ষা করুন, টাইপ করুন:

% vim --version

আপনি যদি "+ xterm_clipboard" দেখেন তবে আপনি যেতে ভাল।

http://vim.wikia.com/wiki/Accessing_the_system_clipboard

এক্স সার্ভারটি তিনটি নির্বাচন পরিচালনা করে, যাকে বলে:

প্রাথমিক, দ্বিতীয় এবং ক্লিপবোর্ড

প্রাথমিক নির্বাচনটি মাঝারি মাউস বোতামের মাধ্যমে অনুলিপি এবং আটকানো বাস্তবায়নের জন্য ব্যবহৃত হয়। সেকেন্ডারি এবং ক্লিপবোর্ড নির্বাচন অ্যাপ্লিকেশন প্রোগ্রামগুলির দ্বারা কম ঘন ঘন ব্যবহৃত হয়।

http://linux.die.net/man/1/xsel


12

আমি উপরের পরামর্শগুলি চেষ্টা করেছিলাম এবং সেগুলির মধ্যে কেউই আমার পরিবেশে কাজ করেনি। (উইন্ডোজ পিটিটিওয়াই ক্লোন ওভার এসএসএস)

কিছু অতিরিক্ত গুগলিং আপ হয়েছে: /unix/110684/copy-paste-into-sshd-vim-from-local-windows-clipboard

SHIFT+INSERTআমার ডেস্কটপের ক্লিপবোর্ড থেকে ভিমের বাফারে পেস্ট করার কৌশলটি ব্যবহার করে কোন মন্তব্য করার পরামর্শ দেওয়া হয়েছিল। Ctrl-Cভিম থেকে ডেস্কটপের ক্লিপবোর্ডে অনুলিপি করার জন্য ইতিমধ্যে কাজ করা হয়েছিল।


2
আমি সেমিড্ডার সরঞ্জামের ভিতরে ভিমে কাজ করছি [উইন্ডোজ ৮.১]। আপনি যখন সেমিডার সেটিংস> কী এবং ম্যাক্রোস> পেস্টে যান, সেখানে আমি মাল্টিলাইন পেস্টের জন্য শিফট + সন্নিবেশ কমান্ড এবং একক লাইন পেস্টের জন্য সিআরটিএল + ভি পেয়েছি।
জুবায়ের আলম

1
আমার জন্য একটি সাধারণ রাইট-ক্লিক একটি কবজির মতো কাজ করে !! শুধু একটি ডান ক্লিক!
Fr0zenFyr

2
কারণ আপনি একটি টার্মিনাল ব্যবহার করছেন এবং এসএমএসের মাধ্যমে ssh vim আপনার স্থানীয় সিস্টেমের ক্লিপবোর্ডে পৌঁছতে পারে না। SHIFT+INSERTএটি আপনার টার্মিনালের (বা আপনার ক্ষেত্রে পিটিটিওয়াই) পেস্ট বিকল্প হিসাবে কাজ করে; তবে ইনডেন্টেশন সম্ভবত ভুল হতে পারে। এটি pasteসংশোধন করার বিকল্প সম্পর্কে আমার উত্তরের শেষ অনুচ্ছেদটি দেখুন ।
কনার

1
@jinksPadlock। ধন্যবাদ .. হ্যাঁ .. আমি মাউসের মাধ্যমে অনুলিপি / পেস্ট করতে পারি .. "কীবোর্ড" দিয়ে কীভাবে এটি করা যায় তা বের করার চেষ্টা করছিলাম। উইন্ডোজ থেকে ভিআইএম-এ অনুলিপি করা সম্ভবত কেবল পটি ব্যবহার করে কীবোর্ডের মাধ্যমে, তবে বিপরীত দিকে নয়। উইন্ডোজের জন্য ব্যাশে .. এটি কোনও দিকের এটিএম-তে সম্ভব নয়। ডান দিকে এবং আমাদের জন্য .. বিন্দু লোকদের সম্পদের একটি তালিকা তৈরী আপনি add..maybe করতে আপনি সেগুলি এখানে যোগ করতে পারেন কিছু আছে যদি: stackoverflow.com/questions/45271895/...
alpha_989

1
@ alpha_989 পরে-এর চেয়ে ভাল-এর চেয়ে ভাল;) আমি জিন্সপ্যাডলকে যোগ করতে পারি না কারণ বর্তমানে আমার আঙ্গুলের নীচে উইন্ডোজ ওএস নেই। SHIFT+INSএকটি লিনাক্স হোস্ট থেকে ssh ভিমে কাজ করে পাশাপাশি মাউস তৃতীয় ক্লিক করে।
tuk0z

10

ক্লিপবোর্ড ছিল না তাই আমি xsel ব্যবহার করে এই বিকল্প সমাধানটি নিয়ে এসেছি:

আপনার ~ / .vimrc এ যুক্ত করুন:

vnoremap <C-C> :w !xsel -b<CR><CR>


1
এই দুর্দান্ত ধারণা জন্য ধন্যবাদ! আমি ব্যবহার করে শেষ করেছি:vnoremap <C-C> :w !xclip -i -sel c<CR><CR>
অ্যান্ডি

6

যাদের ভিম ইনস্টলেশন * এবং + নিবন্ধগুলি সমর্থন করে না তাদের জন্য একটি দ্রুত নোট। ক্লিপবোর্ড থেকে আটকানোর জন্য কোনও নতুন ভিআইএম ইনস্টলেশন ডাউনলোড করার দরকার নেই। এখানে একটি বিকল্প পদ্ধতি:

1) পার্সেলাইট ইনস্টল করুন (কম মেমরির পদক্ষেপ সহ একটি ক্লিপবোর্ড পরিচালক);

2) আপনার .vimrc ফাইলটিতে নিম্নলিখিতগুলি যুক্ত করুন:

command Clip r !parcellite -c

3) পুনরায় আরম্ভ করুন vim।

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


4

এটি আমার জন্য কাজ করে: Ctrl+ Shift+V


3
@ নীলের উত্তর ইতিমধ্যে এটি জানিয়েছে। এটি কেবল একটি মন্তব্য, বা সর্বোত্তম আপ আপ হওয়া উচিত, যদি আপনি বলতে চান এটি আপনার পক্ষেও কাজ করে।
এরিক্বন

3

এর সহজ সমাধান, এটি বিভিন্ন লিনাক্স মেশিনের মধ্যেও কাজ করে ssh:

  1. তা পরীক্ষা করুন তেজ সমর্থন এক্স -11 ক্লিপবোর্ড: vim --version | grep clipboard। যদি ফিরে রিপোর্ট -clipboardএবং -xterm_clipboardআপনি হয় ইনস্টল করা উচিত vim-gtkবা vim-gnome(খিলান লিনাক্স gvim)

  2. নিম্নলিখিত লাইনগুলি আপনার যুক্ত করুন .vimrc:

set clipboard=unnamedplus
set paste
  1. আপনি যদি ssh এর মাধ্যমে অন্য কোনও মেশিনে লগইন করেন তবে -Y বিকল্পটি ব্যবহার করুন: ssh -Y machine

এখন অনুলিপি এবং আটকানো একক এবং অন্য মেশিনে কেবল yইয়াঙ্ক এবং pপেস্ট ব্যবহার করে প্রত্যাশার মতো ঠিক কাজ করা উচিত work .vimrcআপনি যে বৈশিষ্ট্যটি ব্যবহার করতে চান সেই সমস্ত মেশিনে এনবি পরিবর্তন করুন।


আমি মনে করি, এটি কাজ করার জন্য এক্স সার্ভারটি সার্ভারেও পাওয়া উচিত। হ্যাঁ! এটি vim-gtk দ্বারা ইনস্টল করা হতে পারে। আমি মনে করি, এক্স সার্ভার চালানোর জন্য এক্সভিএফবি বিকল্প বিকল্প হবে।
আজিব.কেপি

3

আমি এই ইস্যুটির vimমধ্যে 2017 সালের মাঝামাঝি ম্যাকবুক প্রোতে চলছে oniTerm2 আমার প্রাথমিক উন্নয়ন পরিবেশ হিসাবে।

অন্যান্য উত্তরগুলির পরামর্শ অনুসারে, আমি দৌড়ে গিয়ে vim --versionলক্ষ্য করেছি যে এটি ফিরে আসে -clipboard, যার অর্থ vimআমার মেশিনের সাথে প্রেরিত সংস্করণটি ক্লিপবোর্ড বিকল্পের সাথে সংকলিত হয়নি।

এর homebrewজন্য প্যাকেজটি বিকল্পটি vimসংকলন করে বলে মনে হচ্ছে clipboard, তাই আমার জন্য ঠিক করাটি ছিল:

  1. চালান brew install vim
  2. যোগ set clipboard+=unnamedআমার কাছে ~/.vimrcফাইল
  3. বন্ধ করুন এবং আবার খুলুন iTerm2

3

ওএস ক্লিপবোর্ডে অনুলিপি করুন

ভিজ্যুয়াল মোডে পাঠ্য নির্বাচন করুন, টিপুন "*y

ওএস ক্লিপবোর্ড থেকে আটকান

প্রেস "*p


2

Conner এর উত্তর, যা মহান ছিল, কিন্তু থেকে নিম্নলিখিত C-R C-p + এবং C-R C-p *সন্নিবেশ মোডে একটু অসুবিধাজনক। দিতো "*pএবং"+p কমান্ড মোড থেকে।

একজন ভিআইএম গুরু নিম্নলিখিত C-vবিষয়গুলি ম্যাপ করার পরামর্শ দিয়েছিলেন যা C-r C-p +করে।

আপনার :inoremap <C-v> <C-o>"+pকেবল সন্নিবেশ মোডের জন্য থাকতে পারে

যদি আপনি সত্যিই ব্লকওয়াইজ ভিজ্যুয়াল মোডকে ওভাররাইড করতে চেয়েছিলেন (ভিজ্যুয়াল মোড হিসাবে ভাল তার দ্বারা প্রস্তাবিত নয়) আপনার কাছে থাকতে পারে map <C-v> "+p


2

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

ভিএম ইনস্টল করুন:

brew install vim --with-lua --with-override-system-vim

ভিআইএম এর গুই ভার্শন ইনস্টল করুন:

brew install macvim --with-lua --with-override-system-vim

কার্যকর হওয়ার জন্য টার্মিনালটি পুনরায় চালু করুন।


নিম্নলিখিত লাইন যুক্ত করুন ~/.vimrc
set clipboard=unnamed

এখন আপনি লিমিটি ভিএম yy-তে অনুলিপি করে এটি সিস্টেম ব্যাপী পেস্ট করতে পারেন ।


2

আপনি যদি মাউস ব্যবহার করেন তবে প্রথমে করুন

 :set paste 

তারপরে right click mouseএবং বাফারে থাকা সামগ্রীগুলি আটকানো হবে


1

সেটিংসের শীর্ষে :set clipboard=unnamed, আপনি ম্যাক ওএস এক্স ১০.৯-এ টার্মিনাল.এপ অন ভিএম ব্যবহার করছেন তবে আপনি mvim -vযা পেতে পারেন তা ব্যবহার করা উচিত brew install macvim। ডিফল্ট ভিম ক্লিপবোর্ড বিকল্পটি সমর্থন করে না।


1

এটি ওএসএক্স ভিমে ব্যবহার করে আপনি মাউসের সাহায্যে পাঠ্য নির্বাচন করতে পারেন, সিএমডি-সি ওএসএক্স সিস্টেম ক্লিপবোর্ডে অনুলিপি করতে পারেন এবং অনুলিপিযুক্ত পাঠ্যটি ভিমের বাইরে ক্লিপবোর্ডে উপলভ্য হবে।

অন্য কথায়, ওএসএক্স এটি নিয়মিত উইন্ডোয়ের মতো আচরণ করে এবং এটি হ'ল বহুল-ম্যালেন্ডেড অ্যাপল "কমান্ড" বোতামটি কাজে আসে।

বি-30


1
এটি অন্য কোনও ওএসে কোনও অর্ধ-শালীন টার্মিনাল এমুলেটরটির ক্ষেত্রেও সত্য। অ্যাপলের এখানে যা-ই কোনও সুবিধা নেই।
আন্ডারস্কোর_

1

@ লিস 2 উত্তরের ভিত্তিতে, আমি একটি সহজ কনফিগারেশন ব্যবহার করি যা শেষে sertোকানো মোডকে বাধ্য করবে না:

" Copy and paste
if has('clipboard') && !has('gui_running')
  vnoremap <C-c> "+y
  vnoremap <C-x> "+d
  vnoremap <C-v> "+p
  inoremap <C-v> <C-r><C-o>+
endif

মনে রাখবেন যে এই সমস্ত ওভাররাইড ডিফল্ট ভিম ম্যাপিংগুলি:

  • v_CTRL-C: ভিজ্যুয়াল মোড বন্ধ করুন
  • v_CTRL-X: সংখ্যা থেকে বিয়োগ [গণনা]
  • v_CTRL-V: ব্লকওয়াইজ ভিজ্যুয়াল মোড
  • i_CTRL-V: পরবর্তী অ-অঙ্কটি আক্ষরিকভাবে সন্নিবেশ করান, যা ম্যাপ করা হয় i_CTRL-Q

: একটি বিকল্প হিসাবে, একটি "Yank" অনুপ্রাণিত কী "মুছে" এবং "করা" তেজ ক্রিয়া ব্যবহার করতে পারেন, <C-y>, <C-d>এবং <C-p>যথাক্রমে। এগুলি কেবল একটি ডিফল্ট ম্যাপিংকে ওভাররাইড করবে:

  • i_CTRL-P: সম্পূর্ণরূপে পিছনে অনুসন্ধান কীওয়ার্ড

1

আপনি আপনার vimrc, ইত্যাদি পরিবর্তন করতে চান তাহলে অন্যান্য সমাধানের ভালো ... তবে আমি কপি একটি সহজ উপায় চেয়েছিলেন থেকে তেজ থেকে আমার সিস্টেম কীবোর্ড। এটিই আমি নিয়ে এসেছি।

  • ভিজ্যুয়াল মোডের সাহায্যে আপনি যে পাঠ্যটি অনুলিপি করতে চান তা নির্বাচন করুন v
  • টিপুন :(এটি দেখানোর জন্য এটি স্বয়ংক্রিয়ভাবে প্রসারিত হবে :'<,'>)
  • সিস্টেম ক্লিপবোর্ডে নির্বাচিত পাঠ্যটি ইয়াঙ্ক করতে টাইপ করুন ( y * বা y + আপনার সিস্টেমের উপর নির্ভর করে)


1

যেহেতু ভিআইএম 8 রাইট ক্লিকটি ডিফল্টরূপে ভিজ্যুয়াল মোড সক্ষম করে। এটি "স্বাভাবিক" অনুলিপি এবং আটকানো প্রতিরোধ করে (এটিকে "ডিজাইনের ত্রুটি হিসাবে চিহ্নিত করুন" https://github.com/vim/vim/issues/1326 )। এটি করে এটি ঠিক করুন:

echo "set mouse-=a" >> ~/.vimrc

Vim থেকে প্রস্থান এবং পুনঃসূচনা করুন।


1

লিনাক্স বা ম্যাকের ভিম 8+ এর সাহায্যে আপনি এখন কেবল ওএসের নেটিভ পেস্ট ( ctrl+shift+Vলিনাক্সে, cmd+Vম্যাকে) ব্যবহার করতে পারেন । চাপবেন নাiসন্নিবেশ মোডের জন্য ।

এটি স্বয়ংক্রিয়তা যোগ না করে ফাঁকা স্থান এবং ট্যাব সংরক্ষণ করে আপনার ওএস ক্লিপবোর্ডের সামগ্রীগুলি পেস্ট করবে। এটা তোলে পুরাতন সমতুল্য :set paste, i, ctrl+shift+V, esc,:set nopaste পদ্ধতি।

এমনকি আপনার আর +clipboardবা +xterm_clipboardউইম বৈশিষ্ট্যগুলি ইনস্টল করার দরকার নেই। এই বৈশিষ্ট্যটির নাম "বন্ধনীযুক্ত পেস্ট"। আরও বিশদের জন্য, পাঠ্যকে ভিএম-এ আটকানোর সময় অটো ইনডেন্ট বন্ধ করা দেখুন


0

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


1
এটি আপনার টার্মিনালটি ব্যবহার করছে, ভিম নয়।
কনার

0

আপনি যদি উইন্ডোতে থাকেন এবং আপনি যদি সিস্টেম ক্লিপবোর্ডের সামগ্রীগুলি ব্যবহার করে পেস্ট করতে চান pতবে এই আদেশটি টাইপ করুন।

:set clipboard = unnamed

এটি আমার সমস্যার সমাধান করেছে।


0

এটি করার দুটি সহজ উপায় আছে। আপনার ফাইলটি সন্নিবেশ মোডে করুন এবং 1) আপনার মাউসের মাঝের বোতামটি (স্ক্রোল হুইল) বা 2) Ctrl + Shift + V টিপুন


0

কিছু আন্তর্জাতিক কীবোর্ডের জন্য, আপনাকে একটি পেতে "+ টিপতে হতে পারে ।Space"

সুতরাং সেই ক্ষেত্রে আপনাকে চাপতে "Space+yবা "Space*yঅনুলিপি করতে হবে।

এবং "Space+pবা " Space*pপেস্ট করতে।


0

আমি এনএম পেনিপ্যাকার এর উত্তর ব্যবহার করেছি এবং ২০১১ এর প্রথম দিকে ম্যাকবুক প্রো এর জন্য হোমব্রিউয়ের মাধ্যমে ভিএম ইনস্টল করেছি:

brew install vim

এখন আমি ভিএম-র মধ্যে পাঠ্য অনুলিপি করতে এবং আটকানোর জন্য "* রেজিস্টারটিও ব্যবহার করতে পারি। এমনকি আমার ~ / .vimrc ফাইল বা $ PATH- র মধ্যেও কিছু পরিবর্তন করতে হয়নি bre vim -> ../Cellar/vim/8.1.2350/bin/vim।

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

সুতরাং, ক্লিপবোর্ড রেজিস্টার ব্যবহার করে নতুন পদ্ধতিটি পেয়ে আমি খুশি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.