VI ষ্ঠ সম্পাদকের মধ্যে উন্মুক্ত ফাইল থেকে ক্লিপবোর্ডে সমস্ত লাইন অনুলিপি করার কোনও উপায় আছে কি? আমি চেষ্টা করেছিলাম yGকিন্তু এটি লাইনগুলি সঞ্চয় করতে ক্লিপবোর্ড ব্যবহার করছে না।
তাহলে কি এটা সম্ভব?
VI ষ্ঠ সম্পাদকের মধ্যে উন্মুক্ত ফাইল থেকে ক্লিপবোর্ডে সমস্ত লাইন অনুলিপি করার কোনও উপায় আছে কি? আমি চেষ্টা করেছিলাম yGকিন্তু এটি লাইনগুলি সঞ্চয় করতে ক্লিপবোর্ড ব্যবহার করছে না।
তাহলে কি এটা সম্ভব?
উত্তর:
আপনি পাঠ্য হ্যাঁচকা টান উচিত *
বা +
রেজিস্টার :
gg"*yG
ব্যাখ্যা:
gg
ফাইলের প্রথম অক্ষরে কার্সার পেতে"*y
*
প্রথম লাইন থেকে রেজিস্টারটিতে ইয়াঙ্ক কমান্ড শুরু করতে , অবধি ...G
ফাইলের শেষে যেতে"
।
:version
ভিমে চালান এবং +xterm_clipboard
পতাকাটি সন্ধান করুন। যদি এটি বিয়োগ চিহ্ন দ্বারা পূর্ববর্তী হয়, তবে আপনার এই কার্যকারিতা থাকবে না। যদি এটি হয় তবে আপনি নিজের ভিএমটি সংকলন করতে পারেন, বা সাধারণত এই বৈশিষ্ট্যটি সক্ষম করে gvim চালাতে পারেন।
ব্যবহার করুন:
:%y+
সমস্ত লাইন ইঙ্ক করতে।
ব্যাখ্যা:
%
সমস্ত লাইনে কাজ করার জন্য পরবর্তী কমান্ডটি উল্লেখ করুনy
এই লাইনগুলি ইয়েঙ্ক করা+
সিস্টেম ক্লিপবোর্ডে অনুলিপি করতেএনবি : উইন্ডোজে +
এবং *
সমান এই উত্তরটি দেখুন ।
:help
আপনি আসলে ভিমে আছেন তা নিশ্চিত করার জন্য টাইপ করার চেষ্টা করুন ।
set clipboard=unnamed
, তবে তখন এটি দুর্দান্ত কাজ করেছে!
E850: Invalid register name
:(
ম্যাক
নির্বাচিত অংশটি অনুলিপি করুন: চাক্ষুষভাবে পাঠ্য নির্বাচন করুন (টাইপ করুন v
বা V
সাধারণ মোডে) এবং টাইপ করুন:w !pbcopy
পুরো ফাইলটি অনুলিপি করুন :%w !pbcopy
ক্লিপবোর্ড থেকে অতীত :r !pbpaste
pbcopy
একটি ম্যাক ইউটিলিটি। লিনাক্সে, xsel
পরিবর্তে, বা clip
উইন্ডোজ কাজ করতে পারে ।
:%w !pbcopy
ফাইলটি যদি টার্মিনালের উচ্চতার চেয়ে দীর্ঘ হয় তবে @ শ্রীধরণসনোব্যাট এখনও কাজ করে।
ক্লিপবোর্ডটি বাফার +। ক্লিপবোর্ডে অনুলিপি করতে, করুন "+yএবং [আন্দোলন]।
সুতরাং, gg"+yGপুরো ফাইলটি অনুলিপি করবে।
একইভাবে, ক্লিপবোর্ড থেকে পেস্ট করতে, "+p
আপনার যদি ষষ্ঠ ব্যবহারের ক্ষেত্রে সমস্যা হয় তবে পুরো ফাইলটি অনুলিপি করার আরও একটি সহজ উপায় হ'ল "বিড়াল ফাইলের নাম" টাইপ করে। এটি স্ক্রিনে ফাইলটিকে প্রতিধ্বনিত করবে এবং তারপরে আপনি কেবল উপরে এবং নীচে স্ক্রোল করে কপি / পেস্ট করতে পারবেন।
:!cat %
। এবং ম্যাক ওএসের ক্লিপবোর্ডে প্রোগ্রামটির ফাইলটির বিষয়বস্তু অনুলিপি করতে::!cat % | pbcopy
পুরো ফাইলটি ইয়েঙ্ক করার জন্য আমি এটি করি:
ggVGy
clipboard
লেখাটি অনুলিপি করার জন্য সেট করে থাকে +
।
আপনি ফাইলটি খুলতে "ক্যাট" কমান্ড ব্যবহার করতে এবং অনুলিপি করতে মাউস ব্যবহার করতে পারেন
reset
টার্মিনাল আগেই, তারপরে সমস্ত নির্বাচন করুন এবং অনুলিপি করুন। এটি ssh
অধিবেশন মাধ্যমে কাজ করে ।
(@ রাশদেবের জবাবে এবং ওপি-তে মন্তব্যে @ সিরিস্টর প্রতি + xterm_clipboard দিয়ে ভিএম পুনরায় সংকলন এড়াতে)
এক্সব্লিপ নামে একটি প্রোগ্রাম রয়েছে যা উবুন্টু ১১-তে পুটক্লিপের মতো কাজ করে:
:%!xclip -sel clip
u
এটি ডিফল্টরূপে ইনস্টল করা হয়নি। ইনস্টল করতে, ব্যবহার করুন:
sudo apt-get install xclip
উবুন্টু 12 এ
আপনি vim-gnome
প্যাকেজ ইনস্টল করার চেষ্টা করতে পারেন :
sudo apt-get install vim-gnome
আমি এটি চেষ্টা করেছিলাম, কারণ vim --version
আমাকে বলেছিল যে এটিতে পতাকাটি xterm_clipboard অক্ষম থাকবে (দ্বারা নির্দেশিত - ), যা ক্লিপবোর্ড কার্যকারিতাটি ব্যবহার করার জন্য প্রয়োজনীয়।
-> উবুন্টু 12 এ vim-gnome প্যাকেজ ইনস্টল করা এছাড়াও ভিআইএম-এর কনসোল ভিত্তিক সংস্করণ ইনস্টল করেছে, এই বিকল্পটি সক্ষম করা হয়েছে ( xterm_clipboard পতাকার আগে একটি + দ্বারা নির্দেশিত )
আর্চ লিনাক্সে
আপনি vim-clipboard
একই কারণে ইনস্টল করতে পারেন ।
আপনি যদি নিওভিম চালান তবে আপনার ইনস্টল করা উচিত xclip
(হিসাবে ব্যাখ্যা করেছেন help clipboard-tool
)
আপনি যদি ভিমুকে ভিজ্যুয়াল মোডে ব্যবহার করেন তবে কমপক্ষে উইন্ডোজ সহ স্ট্যান্ডার্ড কাট এবং পেস্ট কীগুলি প্রয়োগ হয়।
অন্তত উবুন্টু টার্মিনাল (, Gnome) অনুসারে, মানক অনুলিপি কাজ করে ( CTRLSHIFTCযদিও একটি আদর্শ বোর্ড শর্টকাট যুক্ত করা বলে মনে হচ্ছে না select all
(অন্যান্য তুলনায় ALTEদ্বারা অনুসরণ A)।
লোকেরা উপরে বর্ণিত কয়েকটি আদেশের চেষ্টা করেছিলাম। কারও কাজ হয়নি। তারপরে আমি তাদের সকলের মধ্যে সহজতমটি ধরলাম।
পদক্ষেপ 1: vi <filename>
দ্বিতীয় ধাপ: পুট্টি উইন্ডোটির শিরোনাম বারে ডান ক্লিক করুন
পদক্ষেপ 3: "স্ক্রোলব্যাক সাফ করুন" নির্বাচন করুন (আপনার এসএসএইচের বাকী অংশটি অনুলিপি করতে এড়াতে)
পদক্ষেপ 4: আবার রাইট ক্লিক করুন এবং "ক্লিপবোর্ডে সমস্ত অনুলিপি করুন" নির্বাচন করুন।
Window > Settings > lines of scrollback
40000 বাড়ানো দরকার (শিরোনাম বারে ডান ক্লিক করেও উপলব্ধ)। এটি cat
vi এর পরিবর্তে ব্যবহার করতে সহায়তা করে যেহেতু সমস্ত পাঠ্যের মাধ্যমে স্ক্রল হয়।
:set go=a
ggVG
দেখুন :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.
ঠিক আছে, এই সমস্ত পদ্ধতির আকর্ষণীয়, তবে অলস প্রোগ্রামার হিসাবে আমি সংখ্যাটির সংমিশ্রণটি ব্যবহার করে ইয়াঙ্ক সমস্ত লাইন ব্যবহার করি y
উদাহরণস্বরূপ আপনার কাছে মোট 78৮ টি লাইনের উত্স কোড ফাইল রয়েছে, আপনি নীচের মতো করতে পারেন:
gg
প্রথম লাইনে কার্সার পেতে y
-> এটি আপনার কার্সর এবং বর্তমান লাইনের নিচে lines 78 টি লাইনকে .োকান বিল জয়ের ভি তে "ক্লিপবোর্ড" এর ধারণা ছিল না তাই এটি করার কোনও অন্তর্নির্মিত উপায় আছে বলে আমি মনে করি না।
জিভিমের স্বয়ংক্রিয় অনুলিপি-কিছু-হাইলাইট-টু-ক্লিপবোর্ড বৈশিষ্ট্যটি সবচেয়ে সহজ বা বাহ্যিক প্রোগ্রামটি এর মাধ্যমে ব্যবহার করুন:!
সাইগউইনের ভিমের জন্য আমি ব্যবহার করি
:%!putclip
u
হয়ত উবুন্টুর পুটক্লিপের মতো সি এল এল অ্যাপ রয়েছে ??
যদি আপনার আঙ্গুলগুলি ডিফল্ট হয় 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
আমি জানি এটির দশ বছর নিষ্পত্তি করা উচিত তবে প্রথম দুটি উত্তর আমার পক্ষে কার্যকর হয়নি তাই আমি খনন করে চলেছি। একটি রেডহাট (রিমোট সার্ভার) - উইন্ডোজ 10 (লোকাল মেশিন) এ, আপনি যদি মাউস দিয়ে পুরো জিনিসটি নির্বাচন করতে না পারেন তবে আপনি আটকে আছেন কারণ স্বাভাবিক কপিগুলি দূরবর্তী এবং স্থানীয় মেশিন ক্লিপবোর্ডগুলির মধ্যে কাজ করে না।
সুতরাং, দূরবর্তী লিনাক্সে অনুলিপি করতে এবং স্থানীয় উইন্ডোতে পেস্ট করতে, প্রাথমিক বাফারটি দিয়ে নির্দিষ্ট করুন *এবং একটি সুন্দর ডাবল ইয়াঙ্ক করুন
ব্যবহার gg" * yy।
আমি এই ক্রিয়াটি সম্পাদন করার জন্য একটি ফাংশন তৈরি করেছি, এটি আপনার উপর রাখি ~/.vimrc
।
fun! CopyBufferToClipboard()
%y+
endfun
nnoremap <Leader>y :call CopyBufferToClipboard()<CR>
command! -nargs=0 CopyFile :call CopyBufferToClipboard()
ওবিএস: আপনি যদি নিওভিম ব্যবহার করছেন তবে আপনার এক্সপ্লিটের মতো কিছু ক্লিপবোর্ড ম্যানেজারও দরকার। আরও তথ্য জন্য neovim টাইপ করুন:h checkhealth
এছাড়া যে সবসময় একটি সহজ উল্লেখ করা জরুরী y
ক্লিপবোর্ডে, যাতে প্রত্যেক কপি ফিড করার জন্য কপি হবে +
কোনটা হয় "ক্লিপবোর্ড নিবন্ধন" সেট চেষ্টা করুন: :set clipboard=unnamed,unnamedplus
। জন্য mor লেহন তথ্য দেখুন: :h unnamed
।
এখানে উইম উইকিয়া সম্পর্কিত আরও তথ্য।
বাম মাউস বোতামটি ক্লিক করুন, আপনি অনুলিপি করতে এবং প্রকাশ করতে চান সেই বিভাগটি ধরে টানুন। কোডটি স্বয়ংক্রিয়ভাবে ক্লিপবোর্ডে অনুলিপি হয়ে যায়।
vi
)।
আমি উপরের উত্তরগুলি ব্যবহার করে ফাইলগুলি অনুলিপি করতে পারি নি তবে আমার কাছে পুটি রয়েছে এবং আমি কোওরায় একটি কার্যনির্বাহ পেয়েছি।
দ্রষ্টব্য: এটি সেই সেশনের সমস্ত মুদ্রিত অক্ষর লগ ফাইলে অনুলিপি করে, তাই এটি শেষ পর্যন্ত বড় হবে। সেক্ষেত্রে লগ ফাইলটি মুছুন এবং লক্ষ্য ফাইলটি বিড়াল করুন যাতে আপনি সেই নির্দিষ্ট ফাইলটির সামগ্রী আপনার মেশিনে অনুলিপি করতে পারেন।