কীভাবে ইয়ঙ্কযুক্ত পাঠ্যটি ভিম কমান্ড লাইনে আটকানো যায়


601

আমি ইয়ঙ্কযুক্ত পাঠ্যটি ভিমের কমান্ড লাইনে আটকে দিতে চাই। এটা কি সম্ভব?


ইয়্যাঙ্কযুক্ত পাঠ্যটি সরাসরি চালিত করার একটি বিশেষ ক্ষেত্রে, দেখুন: আপনি কীভাবে একটি ভিফ কমান্ড চালাবেন যা বাফারের ভিতরে থাকা পাঠ্য? - সুপার ইউজার
ব্যবহারকারী 202729

উত্তর:


1157

হ্যাঁ. হিট Ctrl- Rতারপর "। আপনি কি yanked হয়েছে আক্ষরিক নিয়ন্ত্রণ অক্ষর থাকে, তাহলে ব্যবহার Ctrl- R, Ctrl- O,"

এখানে আপনি নিবন্ধগুলির সাথে কী করতে পারেন তার একটি ব্যাখ্যা is আপনি রেজিস্টারগুলির সাথে যা করতে পারেন তা অসাধারণ এবং আপনি একবার তাদের কীভাবে ব্যবহার করতে হয় তা জানলে আপনি সেগুলি ছাড়া বাঁচতে পারবেন না।

রেজিস্টারগুলি স্ট্রিংয়ের জন্য মূলত স্টোরেজের অবস্থান। ভিমের বিভিন্ন নিবন্ধ রয়েছে যা বিভিন্ন উপায়ে কাজ করে:

  • 0(ইয়াঙ্ক রেজিস্টার: আপনি যখন yকোনও রেজিস্টার নির্দিষ্ট না করে সাধারণ মোডে ব্যবহার করেন, ইয়্যাঙ্কযুক্ত পাঠ্য সেখানে এবং ডিফল্ট রেজিস্টারেও যায়),
  • 1তে 9(মুছে ফেলা নিবন্ধকদের স্থানান্তরিত করার সময়, আপনি যখন কমান্ডগুলি ব্যবহার করেন cবা যেমন d, যা মুছে ফেলা হয়েছে তা 1 টি নিবন্ধন করতে যায়, 1 নিবন্ধে যা ছিল 2 রেজিস্ট্রারে যায় ) ইত্যাদি ,
  • "(ডিফল্ট রেজিস্টার, এছাড়াও নামহীন রেজিস্টার নামে পরিচিত এই যেখানে হয়। "আসে Ctrl- R," ),
  • aথেকে zআপনার নিজস্ব ব্যবহারের জন্য (মূলধনী Aকরার Zজন্য সংশ্লিষ্ট রেজিস্টার করতে সংযোজন করা হয়)।
  • _( /dev/null(ইউনিক্স) বা NUL(উইন্ডোজ) এর মতো কাজ করে আপনি এটি লিখতে পারেন তবে এটি বাতিল করে দেওয়া হয় এবং আপনি যখন এটি থেকে পড়েন, এটি সর্বদা খালি থাকে),
  • - (ছোট মুছে ফেলুন নিবন্ধক),
  • /(সার্চ প্যাটার্ন রেজিস্টার, আপডেট যখন আপনি পাঠ্য জন্য চেহারা /, ?, *বা# উদাহরণস্বরূপ; আপনিও এটা লিখতে পারেন পরিবর্তনশীল অনুসন্ধান প্যাটার্ন পরিবর্তন করতে),
  • :(সর্বশেষ ভিএমএল টাইপড কমান্ডটি মাধ্যমে Qবা সঞ্চয় করে: কেবলমাত্র কেবলমাত্র ),
  • +এবং *(সিস্টেম ক্লিপবোর্ড রেজিস্টার করে, আপনি তাদের কাছে ক্লিপবোর্ড সেট করতে এবং তাদের কাছ থেকে ক্লিপবোর্ডের সামগ্রীগুলি পড়তে পারেন)

:help registersসম্পূর্ণ রেফারেন্সের জন্য দেখুন ।

আপনি, যে কোনও মুহুর্তে, :registersসমস্ত নিবন্ধগুলির সামগ্রী প্রদর্শন করতে ব্যবহার করতে পারেন । এই আদেশের প্রতিশব্দ এবং সংক্ষিপ্তসারগুলি হ'ল :display, :regএবং :di

সন্নিবেশ বা কমান্ড-লাইন মোডে, Ctrl- Rএকটি নিবন্ধের নাম, এই নিবন্ধের বিষয়বস্তু সন্নিবেশ করান। আপনি যদি এগুলি আক্ষরিক sertোকাতে চান (কোনও স্ব-ইনডেন্টিং নয়, নিয়ন্ত্রণ অক্ষরের কোনও রূপান্তর যেমন 0x08ব্যাকস্পেস ইত্যাদি নয়), আপনি Ctrl- R, Ctrl- O, নাম নিবন্ধ ব্যবহার করতে পারেন । :help i_CTRL-Rআরও রেফারেন্সের জন্য অনুচ্ছেদগুলি দেখুন এবং নীচে দেখুন ।

তবে আপনি নিম্নলিখিতগুলিও করতে পারেন (এবং আমি সম্ভবত নিবন্ধগুলির জন্য অনেকগুলি ব্যবহার ভুলে গিয়েছি)।

  • স্বাভাবিক মোডে, হিট করুন ":p। আপনি ভিমে সর্বশেষ আদেশটি আপনার বাফারে আটকানো হয়েছে।
    আসুন পচে যাওয়া যাক: "একটি নরমাল মোড কমান্ড যা আপনাকে পরবর্তী ইয়াঙ্ক চলাকালীন কী রেজিস্ট্রার ব্যবহার করতে হবে তা নির্বাচন করতে, মুছতে বা আটকানোর কাজ করতে দেয়। সুতরাং ":কোলন রেজিস্টার (শেষ কমান্ড সংরক্ষণ করে) নির্বাচন করুন। তারপরp একটি কমান্ড যা আপনি ইতিমধ্যে জানেন, এটি নিবন্ধের বিষয়বস্তু আটকায়।

    cf. :help ",:help quote_:

  • আপনি সম্পাদনা করছেন একটি VimL ফাইল (উদাহরণস্বরূপ আপনার জন্য .vimrc) এবং ডান এখন পরপর লাইন দুয়েক চালানো চাই: yj:@"Enter
    এখানে, yjইয়্যাঙ্কস বর্তমান এবং পরবর্তী লাইন (এটি কারণ j একটি লাইনওয়ালা গতি তবে এটি এই উত্তরটির বাইরে নয়) ডিফল্ট রেজিস্টারে (নামবিহীন নিবন্ধক হিসাবেও পরিচিত) into তারপরে :@প্রাক্তন কমান্ড আর্গুমেন্ট হিসাবে প্রদত্ত নিবন্ধে সঞ্চিত প্রাক্তন কমান্ডগুলি প্লে করে এবং "আপনি কীভাবে নামবিহীন নিবন্ধকে উল্লেখ করেন। সম্পর্কিত এই উত্তরটির শীর্ষগুলিও দেখুন।

    পূর্ববর্তী উদাহরণের "সাথে এখানে (যা একটি নিবন্ধের নাম) ব্যবহৃত হয়েছে তা বিভ্রান্ত করবেন না ", যা নরমাল-মোড কমান্ড ছিল।

    cf. :help :@এবং:help quote_quote

  • আপনার ফাইলটি সন্নিবেশ মোডে বা Ctrl- R, সহ কমান্ড লাইনে সর্বশেষ অনুসন্ধানের প্যাটার্নটি সন্নিবেশ করুন /

    cf. :help quote_/,help i_CTRL-R

    সম্পুরক: আপনার অনুসন্ধানের প্যাটার্ন রাখুন কিন্তু একটি বিকল্প যোগ করুন: / Ctrl- R, / \|alternative

  • আপনি ভিজ্যুয়াল মোডে একটি রেখার মাঝখানে দুটি শব্দ নির্বাচন করেছেন y, তাদের সাথে ইয়াঙ্ক করেছেন , তারা নামবিহীন নিবন্ধে রয়েছে। এখন আপনি ঐ দুই শব্দের সঙ্গে, শুধুমাত্র নীচের যেখানে আপনি নতুন লাইন খুলতে চান: :pu। এই জন্য সাধারণভাবে সংক্ষেপে হয় :put ":putকমান্ড অনেক Ex কমান্ড মত, শুধুমাত্র linewise কাজ করে।

    cf. :help :put

    আপনি করতে পারেন: :call setreg('"', @", 'V')তারপর psetregফাংশন রেজিস্টার যার নাম (একটি স্ট্রিং হিসাবে) প্রথম আর্গুমেন্ট হিসাবে দেওয়া হয় সেট দ্বিতীয় যুক্তি বিষয়বস্তু সঙ্গে এটি সূচনা (এবং আপনি নাম দিয়ে ভেরিয়েবল যেমন রেজিস্টার ব্যবহার করতে পারেন @xযেখানে xVimL মধ্যে রেজিস্টার নাম), এবং এটিকে তৃতীয় আর্গুমেন্টে বর্ণিত মোডে রূপান্তরিত করে, Vলাইনওয়্যারের জন্য, অক্ষরের জন্য অক্ষরের জন্য এবং আক্ষরিক কিছুই নয় ^V

    cf. :help setreg()। বিপরীত ফাংশনগুলি হ'ল getreg()এবং getregtype()

  • আপনি যদি এর সাথে ম্যাক্রো রেকর্ড করে রেখেছেন qa... qতবে :echo @aআপনি কী টাইপ করেছেন তা আপনাকে @aজানিয়ে দেবে এবং ম্যাক্রোটি পুনরায় খেলবে (সম্ভবত আপনি এটি জানতেন, পুনরাবৃত্তিমূলক কাজগুলি এড়াতে খুব দরকারী)

    cf. :help q,help @

    পূর্ববর্তী উদাহরণ থেকে প্রত্যাশা: আপনি যদি 8goক্লিপবোর্ডে থাকেন তবে @+ক্লিপবোর্ডের সামগ্রীগুলি ম্যাক্রো হিসাবে খেলবেন এবং এইভাবে আপনার ফাইলের 8 ম বাইটে যান। আসলে এটি প্রায় প্রতিটি নিবন্ধকের সাথে কাজ করবে। যদি আপনার শেষ sertedোকানো স্ট্রিংটি ddসন্নিবেশ মোডে ছিল, তবে @.( .রেজিস্টারে সর্বশেষ .োকানো স্ট্রিং রয়েছে) একটি লাইন মুছে ফেলবে । (তেজ ডকুমেন্টেশন, এ ব্যাপারে ভুল যেহেতু এটি যে রেজিস্টার #, %, :এবং .হবে একমাত্র কাজ p, P, :putএবং Ctrl- R)।

    cf. :help @

    বিভ্রান্ত করবেন না :@(কোনও রেজিস্টার থেকে ভিম কমান্ডগুলি চালায় এমন কমান্ড) এবং @(নরমাল-মোড কমান্ড যা একটি রেজিস্টার থেকে নরমাল মোড কমান্ডগুলি খেলবে)।

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

    cf. :help @:

  • দেখান আপনি এটি চালানোর আগে স্বাভাবিক মোডে কাজ করা হবে: @='dd' Enter। আপনি =কীটি হিট করার সাথে সাথে , ভিমটি এক্সপ্রেশন মূল্যায়নে স্যুইচ করে: আপনি কোনও অভিব্যক্তি প্রবেশ করানোর সাথে সাথে হিট করার সাথে সাথে Enter, ভিম এটি গণনা করে এবং ফলাফলটি একটি রেজিস্টার সামগ্রী হিসাবে কাজ করে। অবশ্যই নিবন্ধটি =কেবল পঠনযোগ্য, এবং এক শট। যতবার আপনি এটি ব্যবহার শুরু করবেন, আপনাকে একটি নতুন এক্সপ্রেশন প্রবেশ করতে হবে।

    cf. :help quote_=

    তাত্পর্য: আপনি যদি কোনও কমান্ড সম্পাদনা করছেন, এবং আপনি বুঝতে পেরেছেন যে আপনার বর্তমান বাফার থেকে আপনার কমান্ড লাইনে কিছু লাইন প্রবেশ করাতে হবে: টিপুন না Esc! ব্যবহার করুন Ctrl- R =getline(58) Enter। এর পরে আপনি কমান্ড লাইন সম্পাদনায় ফিরে আসবেন, তবে এটি 58 ​​তম লাইনের বিষয়বস্তু সন্নিবেশ করেছে।

  • ম্যানুয়ালি একটি অনুসন্ধান প্যাটার্ন সংজ্ঞায়িত করুন: :let @/ = 'foo'

    cf. :help :let

    মনে রাখবেন যে এটি করে, আপনার /প্যাটার্নে পালানোর দরকার নেই । তবে আপনাকে অবশ্যই সমস্ত একক কোট দ্বিগুণ করতে হবে।

  • হওয়ার মধ্যে দিয়ে সব লাইন কপি করুন foo, এবং পরে সব লাইন ধারণকারী barক্লিপবোর্ড, শৃঙ্খল মধ্যে নিম্নলিখিত কমান্ডগুলি: qaq(রিসেট একটি রেজিস্টার এটা ভিতরে একটি ফাঁকা ম্যাক্রো সংরক্ষণ), :g/^foo/y A, :g/bar/y A, :let @+ = @a

    মূলধনির নিবন্ধের নাম ব্যবহার করে নিবন্ধকে অ্যাপেন্ড মোডে কাজ করে

    আরও ভাল, যদি Qএগুলি পুনরায় তৈরি না করা হয় তবে mswin.vimপ্রাক্তন মোডটি দিয়ে শুরু করুন Q, সেই "কোলন কমান্ডগুলি" চেইন করুন যা আসলে "এক্স কমান্ডস" নামে পরিচিত, এবং টাইপ করে নরমাল মোডে ফিরে যান visual

    cf. :help :g, :help :y,:help Q

  • দুবার space আপনার ফাইল: :g/^/put _। এটি ব্ল্যাকহোল রেজিস্টারের বিষয়বস্তুগুলি /dev/nullপ্রতিটি লাইনের পরে লাইনওয়ালা (পড়ার সময় খালি তবে লেখার মতো, আচরণ করা ) রাখে (কারণ প্রতিটি লাইনের একটি সূচনা আছে!)।

  • সম্বলিত একটি লাইন যোগ করুন fooপ্রতিটি লাইনে আগে: :g/^/-put ='foo'। এটি এক্সপ্রেশন রেজিস্টারের একটি চতুর ব্যবহার। এখানে, (সিএফ। ) এর -প্রতিশব্দ । যেহেতু লাইনের পরে পাঠ্যটি রাখে, তাই আপনাকে পূর্ববর্তীটিতে কাজ করতে স্পষ্ট করে বলতে হবে।.-1:help :range:put

  • সিস্টেম ক্লিপবোর্ডে সমগ্র বাফার অনুলিপি করুন: :%y+

    cf. :help :range( %অংশ জন্য) এবং :help :y

  • আপনি যদি কোনও ম্যাক্রোর দুর্বৃত্ত চিহ্নিত করে থাকেন তবে আপনি টাইপ করতে পারেন :let @a=' Ctrl- R =replace(@a,"'","''",'g') Enter 'এবং এটি সম্পাদনা করতে পারেন। এটি রেজিস্টারে সঞ্চিত ম্যাক্রোর সামগ্রীগুলিকে সংশোধন করবে aএবং আপনি কীভাবে এক্সপ্রেশন রেজিস্টারটি এটি করতে ব্যবহার করতে পারেন তা এখানে প্রদর্শিত হবে।

  • যদি আপনি তা করেন তবে আপনি পূর্বাবস্থায় ফিরে ddddযেতে পারেন uu। সঙ্গে pআপনি শেষ মোছা লাইন পেতে পারেন। তবে বাস্তবে আপনি নিবন্ধগুলির @1মাধ্যমে 9 টি মুছতে পুনরুদ্ধার করতে পারেন @9

    আরও ভাল, যদি আপনি এটি করেন "1Pতবে .সাধারণ মোডে প্লে হবে "2Pএবং আরও কিছু।

    cf. :help .এবং:help quote_number

  • আপনি যদি সন্নিবেশ মোডে বর্তমান তারিখটি সন্নিবেশ করতে চান: Ctrl- R=strftime('%y%m%d')Enter

    cf. :help strftime()

আবারও কী বিভ্রান্তিকর হতে পারে:

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

  • " সাধারণ মোড কমান্ডে যা আপনাকে ইয়াঙ্ক, পেস্ট, মুছে ফেলা, সঠিক ইত্যাদির জন্য একটি রেজিস্টার নির্বাচন করতে সহায়তা করে

  • " এটি একটি বৈধ নিবন্ধের নাম (ডিফল্ট, বা নামবিহীন, নিবন্ধক) এবং অতএব নিবন্ধগুলির নাম প্রত্যাশাকারী আদেশগুলির পক্ষে যুক্তি হিসাবে পাস করা যেতে পারে

205
উত্তর এবং প্রশ্নের মধ্যে "100/1 দৈর্ঘ্যের অনুপাত আছে কি?" :)
বেনোইট

8
এটি একটি দুর্দান্ত উত্তর, তবে এটি 1400 এর সংক্ষিপ্ত প্রায় 900 টি শব্দ :) :)

19
এই উত্তরটি আমার ভিএম ব্যবহার করার পদ্ধতিটি পরিবর্তিত হয়েছে। বেনোইট
পি মায়ার নোর

11
ভুলে যাবেন না: রেজি যা তাদের
লিখিত

3
ভিএম এর সাম্প্রতিক সংস্করণগুলিতে, মুছে ফেলা যা একটি রেখার চেয়ে কম ছোট তারা রেজিস্ট্রেশনগুলিতে না গিয়ে "ছোট মুছে ফেলা রেজিস্ট্রারে" যায়। তথ্যসূত্র: ভী এবং ভিম , ভি এবং ভিম , রেডডিট
ক্রিশ্চিয়ান লং

48

সিস্টেম ক্লিপবোর্ড এমন কোনও কিছু আটকানোর জন্য আপনি কেবল ব্যবহার করতে পারেন SHIFT- INS

এটি উইন্ডোজে কাজ করে তবে আমি অনুমান করছি এটি লিনাক্সেও ভাল কাজ করে।


7
হ্যাঁ, লিনাক্সেও কাজ করে। ভিম এবং জিভিম উভয় ক্ষেত্রে জিনোমের অধীনে পরীক্ষিত।
টায়লাস

3
এটি আসলে কীবোর্ড ইনপুট হিসাবে ভিমে পেস্টবোর্ডটি ফিড করে, তাই আপনি যদি সাধারণ মোডে এবং পেস্ট করেন তবে :!rm -rf /<cr>এটি কার্যকর করাতে পারে। পরিবর্তে রেজিস্টার ব্যবহার করুন!
লিরিকসন

4
@ লেলিকসন আমি কি আমার উত্তরে বলিনি যে এটি সিস্টেম কীবোর্ডের এমন কোনও কিছুর জন্য দরকারী? ডাউনভোট আমি বুঝতে পারছি না। এবং আপনার জন্য উদাহরণস্বরূপ, গুরুত্ব সহকারে? আপনার কি সত্যিই ক্লিপবোর্ডে আছে? এবং আপনি কি ভাবেন না যে টাইপিং এর shift-insচেয়ে সহজ ctrl-R+*? আপনি অবশ্যই জিভিমে থাকলে এটি অবশ্যই। আপনি যদি অন্য মেশিনের সাথে সংযুক্ত টার্মিনালে থাকেন এবং আপনি নিজের ক্লিপবোর্ড থেকে কিছু পেস্ট করতে চান আপনি কি আরও ভাল কিছু জানেন shift-ins? কারণ নিবন্ধগুলি সেই পরিস্থিতিতে কাজ করে না। আপনি মন্তব্য করার আগে এবং অন্যান্য জিনিস করার আগে দয়া করে চিন্তা করুন (ডাউনভোটিংয়ের মতো)।
চালিত

আমি মনে করি এটি ভুল তথ্য এবং আমি এই রায়টি অভিনয় করেছি।
লিরিকসন

1
আমার জন্য কাজ করে না। আমি আমার কমান্ড লাইনে কেবল '<S-Issert>' যুক্ত করেছি। সম্ভবত আমি কিছু মিস করছি। (উবুন্টু 19.04 / 2: 8.1.0320-1ubuntu3.1)।
সর্বোচ্চ ওয়াটারম্যান

39

"আমি ইয়ঙ্কযুক্ত পাঠ্যটি ভিম কমান্ড লাইনে আটকে দিতে চাই" "

শীর্ষে ভোট দেওয়া উত্তরটি সম্পূর্ণ হলেও, আমি কমান্ডের ইতিহাস সম্পাদনা করতে পছন্দ করি।

স্বাভাবিক মোডে, টাইপ করুন: q:। এটি আপনাকে সাম্প্রতিক কমান্ডগুলির একটি তালিকা দেবে, সম্পাদনাযোগ্য এবং সাধারণ ভিএম কমান্ডের সাথে সন্ধানযোগ্য। আপনি নীচে একটি ফাঁকা কমান্ড লাইনে শুরু করবেন।

নিবন্ধটি যে কমান্ড লাইনে ইয়ঙ্কযুক্ত রেখা (বা য্যাঙ্কড কিছু) প্যাস্ট করে ঠিক সেই জিনিসটির জন্য আপনার পাঠ্যটি ইয়াঙ্ক করুন এবং তারপরে: q:p(কমান্ডের ইতিহাস সম্পাদনা মোডে যান এবং তারপরে (পি) আপনার ইয়ঙ্কযুক্ত পাঠ্যটিকে একটি নতুন কমান্ডে উত্থাপন করুন) লাইন। সম্পাদন enterকরতে ইচ্ছুক।

কমান্ড ইতিহাসের মোড থেকে বেরিয়ে আসার জন্য এটি বিপরীত। কমান্ড ইতিহাসের সাধারণ মোডে, টাইপ করুন: :q+enter


1
আপনি যদি ইতিমধ্যে একটি বিদ্যমান কমান্ডটি সংশোধন করে থাকেন এবং 'q:' টিপেন না তবে ctrl + f টিপুন এবং এটি কমান্ডের ইতিহাস সম্পাদনা করার ক্ষমতাটি সরিয়ে ফেলবে।
ক্লে

14

সিস্টেম ক্লিপবোর্ড থেকে কিছুটা ভিম কমান্ড লাইনে ("কমান্ড মোড") আটকানোর জন্য, তারপরে Ctrl+ ব্যবহার করুন । আমার পক্ষে কমপক্ষে উবুন্টুতে, + কাজ করছে না।R+ShiftIns

দ্রষ্টব্য: আমি নিশ্চিত কেন নই Ctrl+ + Rদ্বারা অনুসরণ *, যা তাত্ত্বিক একই হিসাবে Ctrl+ + Rদ্বারা অনুসরণ +সবসময় কাজ করতে মনে হচ্ছে না। আমি +সংস্করণটি সন্ধান করেছি এবং আবিষ্কার করেছি এবং এটি সর্বদা কাজ করে বলে মনে হয়, কমপক্ষে আমার বাক্সে।


2
Ctrl-r + এবং Ctrl-r * এর মধ্যে পার্থক্যটি হ'ল পূর্ববর্তীটি নিয়মিত ক্লিপবোর্ড, তবে লিনাক্সে দ্বিতীয় ধরণের ক্লিপবোর্ড রয়েছে যা "প্রাথমিক" নামে পরিচিত যা সর্বাধিক নির্বাচিত পাঠ্যকে উপস্থাপন করে (মধ্যম বোতামের মাউস থেকে এটি পেস্ট করে) । এটি উইন্ডোজ বা ম্যাক-তে উপলভ্য নয়
মাতিয়াস থায়ার

13

এটাও লক্ষণীয় যে ইয়াঙ্ক রেজিস্টারগুলি ম্যাক্রো বাফারগুলির মতো। অন্য কথায়, আপনি সহজেই আপনার ডকুমেন্টে (আপনার আটকানো স্নিপেট সহ) আপনার পুরো কমান্ডটি লিখতে পারেন, তারপরে "byএটি bরেজিস্টারে ইঙ্ক করতে , এবং তারপরে এটি চালাতে পারেন @b


1

আমারও তেমন সমস্যা ছিল। আমি চেয়েছিলাম নির্বাচিত পাঠ্যটি কোনও কমান্ডের মধ্যে শেষ হোক, তবে এটি আটকানোর উপর নির্ভর করবেন না Here এখানে যে কমান্ডটি আমি ম্যাপিংটি লিখতে চাইছিলাম তা এখানে:

:call VimuxRunCommand("python")

এই প্লাগইনটির জন্য দস্তাবেজগুলি কেবল স্ট্রিং লিটারাল ব্যবহার করে দেখায়। আপনি ডাবলকোটসযুক্ত পাঠ্য নির্বাচন করার চেষ্টা করলে নিম্নলিখিতটি ভঙ্গ হবে:

vnoremap y:call VimuxRunCommand("<c-r>"")<cr>

এটি পেতে, আপনি কেবল ম্যাক্রোর সামগ্রীগুলি ব্যবহার করে উল্লেখ করছেন @:

vnoremap y:call VimuxRunCommand(@")<cr>

নামবিহীন নিবন্ধের বিষয়বস্তুগুলিতে পাস করে এবং আমার ডাবল উদ্ধৃতি এবং মাল্টলাইন এজ এজেসগুলি নিয়ে কাজ করে।


আমি মনে করি আপনার শেষ উদাহরণটি একটি "অনুপস্থিত" সম্ভবত আপনার অর্থ ভিউমক্সআরকমন্ড্যান্ড ("@") ছিল
কেডি 8azz

@এটি ভিমাক্স কমান্ডে অক্ষরটি প্রেরণ করবে । @নিম্নলিখিত ডাবল উদ্ধৃতি থেকে দূরে আসার কথা ভাবেন এবং এটি নিয়মিত চরিত্রের পরিবর্তে একটি রেজিস্টার হিসাবে বিবেচনা করা হবে। vnoremapআমি সংজ্ঞায়িত করেছি চাক্ষুষ মোডে সক্রিয়, তাই এটি নির্বাচিত পাঠ হ্যাচকা টান লাগে, এবং তারপর vimux কমান্ড সেটিকে pastes, একটি চলমান ব্যাখ্যাকারী এটা একটি নিকটবর্তী ফলকে পাঠানো। একটি স্ক্রিপ্টে কাজ করার জন্য এবং এর কয়েকটি ছোট কিস্ট্রোক দিয়ে এর ছোট অংশগুলি পরীক্ষা করার জন্য সত্যই দুর্দান্ত।
কনরাড.ডিয়ান

1

ওএস এক্স

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

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

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

ভিমের জিইউআই সংস্করণ ইনস্টল করুন:

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

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


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

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


1

প্রসঙ্গে, এই তথ্যটি বাক্সের বাইরে থেকে এসেছে, কোনও প্লাগইন নেই, ডিফল্ট বিকল্পগুলির সাথে লিনাক্স মিন্টে .vimrc Vim 7.4 আচরণ নয়।

আপনি মাউসের সাহায্যে সর্বদা পাঠ্য নির্বাচন করতে পারেন (বা ব্যবহারটি ব্যবহার করে Vবা v"* রেজিস্ট্রারে রেখেছেন) এবং এটি Shift+ Ctrl+ দিয়ে কমান্ড লাইনে আটকান v

কমান্ড লাইনে Ctrl+ টাইপ করার rফলে একটি রেজিস্টার নামের জন্য প্রম্পট দেখাবে। সুতরাং টাইপ করা :CTRL-r*বিষয়বস্তু রেজিস্টার * কমান্ড লাইনে স্থাপন করবে। এটি কেবল "*" নয়, কোনও রেজিস্টার পেস্ট করবে See দেখুন :help c_CTRL-R

তদতিরিক্ত, মাঝের মাউস বোতামটি কমান্ড লাইনে পেস্ট করবে।

:help->quote-plusএক্স উইন্ডো নির্বাচনের সাথে কীভাবে ডিল করে তার একটি বিবরণ দেখুন । এমনকি একটি সমতলে, বাইরে-বাক্সের ভিম (আবার, লিনাক্স মিন্টে ভিম .4.৪ এ, যাইহোক), বাম মাউস বোতামের সাহায্যে যে কোনও নির্বাচনকে মাঝের মাউস বোতামের সাহায্যে কমান্ড লাইনে আটকানো যেতে পারে।

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

অ্যাডেল তথ্যের জন্য সহায়তা:> এক্স 11-নির্বাচন।

TL; ড

প্রথমে CTRL-r পদ্ধতির চেষ্টা করুন এবং তারপরে Shift+ Ctrl+ ব্যবহার করুনv আপনার অন্য কিছু প্রয়োজন হলে বা মাঝের মাউস বোতামটি ।

এটি স্বীকার করা হয় যে এটি বিভ্রান্তিকর হতে পারে।


0
  1. "[a-z]y: পাঠ্য অনুলিপি করুন [আজ] রেজিস্টার

  2. :!সম্পাদনা কমান্ডে যেতে ব্যবহার করুন

  3. Ctrl+ R: আপনি যা অনুলিপি করছেন তা পেস্ট করতে নিবন্ধের পরিচয় অনুসরণ করুন।

এটি CentOS 7 এ ব্যবহৃত হত।


"এটি সেন্টোস to. এর সাথে অভ্যস্ত" বলতে কী বোঝায় ?
পিটার মর্টেনসেন

0

যদি আপনার দুটি মান দুটি পৃথক রেজিস্টারে ইঙ্কযুক্ত থাকে (উদাহরণস্বরূপ নিবন্ধন করুন aএবং নিবন্ধ করুন b) তবে আপনি কেবল একটি পরিবর্তনশীল সেট করতে পারেন cএবং এটিতে ক্রিয়াকলাপটি করতে পারেন।

উদাহরণস্বরূপ, :set c = str2float(@a) + str2float(@b)এবং তারপরে আপনি cযে কোনও জায়গার সামগ্রীটি পেস্ট করতে পারেন ।

উদাহরণস্বরূপ INSERT মোডে, CTRL + Rতারপরে =এক্সপ্রেশন রেজিস্টারে প্রবেশ করতে লিখুন এবং cসমান চিহ্নের পরে টাইপ করুন এবং ENTER টিপুন। সম্পন্ন আপনার এখন মোট aএবং bনিবন্ধক হওয়া উচিত ।

এগুলি সমস্ত ম্যাক্রোতে রেকর্ড করা যেতে পারে এবং পুনরাবৃত্তি করতে পারে!

str2floatফাংশন যদি আপনি floats সাথে কাজ করেন, ব্যবহার করা হয়, যদি তুমি না করেন, তখন আপনাকে পূর্ণসংখ্যার পরিবর্তে পাবেন।

আমি নিশ্চিত নই যে এটি মূর্খতাযুক্ত কিনা তবে এটি আমার ক্ষেত্রে কাজ করেছে যেখানে আমাকে একটানা 2 টি সংখ্যা যুক্ত করতে এবং আরও 500 লাইনের জন্য এটি পুনরাবৃত্তি করতে হবে।

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