ভিএম এর বিভিন্ন দৃষ্টান্তের মধ্যে কীভাবে ডেটা অনুলিপি করবেন?


41

আমি যদি প্রথম ভিআইএম ব্যবহার করে কোন লাইন (সাথে yy) অনুলিপি করতে পারি তবে আমি কীভাবে অন্য টার্মিনালের ভিমে (সাথে p) পেস্ট করব ? কোনও আদেশ বা সেটিংস কি এটি করতে পারে? আমি কি বিশ্বব্যাপী সিস্টেমের ক্লিপবোর্ডে অনুলিপি এবং আটকানোতে পারি?

আমি জানি যে নিম্নলিখিত উপায়গুলি সম্ভব, তবে আমি একটি আরও সহজ চাই:

  1. আমি প্রথম ভিএম থেকে বেরিয়ে দ্বিতীয় ভিমে আবার খুলতে চাই না।

  2. আমি আলাদা উইন্ডো ব্যবহার করতে চাই না (সহ :sp)।

উত্তর:


49

প্রথমে আপনাকে ভিএম এর একটি ক্লিপবোর্ড-সক্ষম সংস্করণ ইনস্টল করতে হবে। নন-গ্রাফিকাল পরিবেশে (যেমন উবুন্টু সার্ভার ব্যবহারকারী) ব্যবহারকারীদের মিটমাট করার জন্য, vimএবং vim-tinyএই বৈশিষ্ট্যটি মধ্যে হুক না। আপনি GVim ইনস্টল করতে চাইবেনGVim ইনস্টল করুন , যা গ্রাফিকভাবে বা আপনার টার্মিনালে চালু করা হবে। জিভিম vimকমান্ডটি প্রতিস্থাপন করবে ।

আপনি প্রথম ভিআইএম থেকে পাঠ্যটিকে 'কাটা বাফার'-এ ইয়াঙ্ক করতে পারেন এবং তারপরে পাঠ্যটিকে দ্বিতীয় ভিমে আটকে দিতে পারেন। গ্লোবাল কাট বাফারে অনুলিপি করতে, +রেজিস্টারটি ব্যবহার করুন । "কী আপনাকে তা নির্দিষ্ট যা ব্যবহার করার জন্য নিবন্ধ একটি Yank করছেন বা অপারেশন পেস্ট করতে পারবেন।

প্রথম ভিমে, +রেজিস্টারটিতে একটি লাইন ইঙ্ক করুন :

"+yy

তারপরে, +দ্বিতীয় ভিমে রেজিস্টার থেকে আটকানো :

"+p

উপলব্ধ রেজিস্টারগুলিতে আরও তথ্যের জন্য, দেখুন :help registers। আপনি "+pআপনার সিস্টেমে অন্য কোনও উত্স থেকে অনুলিপি করা পাঠ্যও ব্যবহার করতে পারেন ।


যার জন্য এটি উপযুক্ত, আপনি যদি জিভিম ইনস্টল করেন (প্যাকেজটিকে ভিম-জিনোমের মতো কিছু বলা যেতে পারে) তবে মেনু এন্ট্রিগুলি আপনাকে প্রায়শই কী চাওয়া শর্টকাট দেবে।
zpletan

1
আমি জিভিম ইনস্টল করতে চাই না। আমি কীভাবে এইভাবে করব?
trusktr

1
@trusktr আসলে এটি ভিমেও কাজ করে। এই প্রশ্নোত্তরে এটি বলছে আপনার কমপক্ষে im.৩.7474 ভিএম প্রয়োজন (যার অর্থ উবুন্টু ১১.১০ বা তার পরে)।
লুব্রিক

এটি কোনওভাবেই কাজ করছে না যদি আপনি টিএমউক্সের ভিতরে একটি ভিম শুরু করে থাকেন এবং অন্য ভিআইএম সাধারণত বাইরে থেকে শুরু করে থাকেন - আপনি কীভাবে এই সমস্যাটি ঘুরে দেখবেন জানেন কি?
9

"*yy, "*pএছাড়াও কাজ করে। আপনি যদি আঘাত করেন তবে আপনি :regদেখতে পাবেন যে তারকা রেজিস্ট্রি
elquimista

20

আমার পক্ষে সর্বোত্তম সমাধান যা কাজ করেছে (তার জন্য আমার কী-বাইন্ডিং অভ্যাসগুলি বদলাতে হবে না) তা এখানে রয়েছে: https://stackoverflow.com/questions/9166328/how-to-copy-selected-lines-to-clipboard-in- তেজ

শুধু লিখুন:

set clipboard=unnamedplus

আপনার .vimrc


আমার আসলে set clipboard=unnamedplusজিভিম ইনস্টল করার সাথে সংমিশ্রণ যুক্ত করতে হবে । তবে, আমি বাস্তব জিভিম প্রোগ্রামের পরিবর্তে ভিমের জন্য xfce4- টার্মিনালটি ব্যবহার করতে সক্ষম হয়েছি।
jbrock

9

আমি বিলটির সমাধান পছন্দ করি এবং আমি একটি ম্যাপিং তৈরি করেছি:

vmap <leader>y :w! /tmp/vitmp<CR>                                                                   
nmap <leader>p :r! cat /tmp/vitmp<CR>

ভিজ্যুয়াল মোডের প্রথমটি সমস্ত / টিএমপি / ভিটাম্পে অনুলিপি করে এবং দ্বিতীয়টি ফাইলটিতে / tmp / ভিটম্প থেকে সামগ্রীটি অনুলিপি করে


সরল সরল সমাধান - পুরাতন ফ্যাশন উপায় - ধন্যবাদ এটি আমার জন্য এটি করেছে
Serup

এটি .vimrc এ যুক্ত করার পরে আমাকে ভিমে কী টাইপ করতে হবে?
ভাইটালি জেডনেভিচ

আপনাকে ভিআইএম সেট আপ করতে হবে যাতে আপনি অনুলিপি করতে y এর দ্বারা লিডার কী অনুসরণ করতে পারেন, লিডার কী পরে পিটি পেস্ট করতে পারেন।
সমীর সাদেক

1
এটি এক কাজ করে। ব্যবহার "*yসার্ভারে ভাঙ্গা বলে মনে হয়
ospider

আহারে. আমি ডকরে টিএমউক্সে ভিআইএম ব্যবহার করে এই সমস্যাটিতে কয়েক ঘন্টা অনুসন্ধান করেছিলাম। আমার স্বাভাবিক ভিএমআরসি যা ইতিমধ্যে নামহীন / নামবিহীন প্লাস ছিল, ডকারে টিএমউক্সে ভিমে কাজ করে নি। ইন্টারনেটে আমি কিছু খুঁজে পাইনি। তবে এটি সমস্ত মেশিনে কাজ করছে বলে মনে হচ্ছে! ডকারে, ম্যাকে এবং আর্কে স্থানীয়ভাবে। ধন্যবাদ!!
টমি

5

আমি বিভিন্ন ইউনিক্স-পারিবারিক মেশিনের মধ্যে চলাফেরা করেছি এবং নীচের ক্রমটি সর্বদা আমার জন্য কাজ করে তা খুঁজে পেয়েছি:

উত্স vi সেশনে:

  1. ESC m aপ্রথম লাইন চিহ্নিত করতে ব্যবহার করুন
  2. ESC m bশেষ লাইন চিহ্নিত করতে ব্যবহার করুন
  3. ব্যবহার করুন :'a,'b w! xferএকটি স্ক্র্যাচ ফাইলে সীমার বাইরে লিখতে

গন্তব্য অধিবেশন:

  1. সন্নিবেশ লাইনে কার্সারটি সরান
  2. ESC :r xferপাঠ্য পড়তে ব্যবহার করুন

আমি জানি এটি সুন্দর নয় তবে এটি সর্বদা আমার জন্য কাজ করে!


2

এটি আসলে বেশ সহজ: vimক্লিপবোর্ড সমর্থন করে এমন একটি সংস্করণ ইনস্টল করুন । যদি vimতা না করে থাকে তবে নিম্নলিখিতগুলির মধ্যে একটি পান:

sudo apt-get install vim-athena
sudo apt-get install vim-gnome
sudo apt-get install vim-gtk

একবার ইনস্টল হয়ে গেলে কেবল চালান vim। আপনি যাচাই করতে পারেন যে ক্লিপবোর্ডটি চালিয়ে সক্ষম হয়েছে:

 vim --version|grep clipboard

আপনার দেখা উচিত +xterm_clipboard


এই উত্তরটি সমস্যার কেন্দ্রবিন্দুতে পৌঁছে যা হ'ল, আপনার ভিমের সংস্করণটি কি ক্লিপবোর্ড বৈশিষ্ট্যটি সক্ষম করেছে? যদি তা না হয় তবে এই অন্য উত্তরগুলির কোনও উত্তর না থাকলে কোনও পার্থক্য হবে। "Vim --version" করুন এবং "+ ক্লিপবোর্ড" সন্ধান করুন। আমি মনে করি আপনি যদি এক্স 11 ক্লিপবোর্ড সমর্থন চান তবেই + xterm_clipboard প্রয়োগ করা হয় তবে আপনি যদি উবুন্টুতে থাকেন তবে আপনি এটিও চাইবেন।
রায়

2

আপনি সম্ভবত এই উত্তরটি ঘৃণা করবেন। আমি ৮০ এর দশকে বিভিন্ন ইউনিক্স কম্পিউটারে ফিরে কাজ করতাম এবং সাম্প্রতিক অনুষ্ঠানটি লিনাক্সে ঘুরে দেখতাম।

আমার লিনাক্স বাক্সটি অ্যাক্সেস করার জন্য উইন্ডোতে চালিত পুটি ব্যবহার করে কাটা এবং পেস্ট করার সমাধান।

পুট্টি আপনাকে এর উইন্ডোতে যে কোনও টিএসটি এটিকে হাইলাইট করে অনুলিপি করতে দেয়। তারপরে আপনি অন্য পুট্টি উইন্ডো / সেশনে যেতে পারেন এবং পেস্ট করতে ডান ক্লিক করতে পারেন।

সহজ হতে পারে না। এবং এখন vim আছে। খুব খারাপ যে আমার দিনের কাছাকাছি ছিল না, এটি আমাকে ইমাস মাফিয়া প্রতিরোধ করতে সাহায্য করতে পারে।


1

এটি হ'ল yy ব্যবহার করছে না, তবে আপনি যদি মাউসের সাহায্যে অনুলিপি করতে চান এমন পাঠ্যটি নির্বাচন করেন (কখনও কখনও আপনাকে শিফট- [টানা] ব্যবহার করতে হতে পারে), অন্য টার্মিনাল উইন্ডোতে স্যুইচ করুন এবং একটি [মিডল ক্লিক] বা শিফট- [মাঝখানে করুন ক্লিক করুন] সেখানে, পাঠ্যটি আপনার বর্তমান সন্নিবেশ বিন্দুতে সন্নিবেশ করা হবে।

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

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