আমি কিভাবে একটি পুরো লাইন ডুপ্লিকেট না তেজ একটি অনুরূপ ভাবে Ctrl+ + DIntelliJ আইডিয়া / Resharper অথবা Ctrl+ + Alt+ + ↑/ ↓এ অন্ধকার ?
Y
এস P
ইজারা। :)
আমি কিভাবে একটি পুরো লাইন ডুপ্লিকেট না তেজ একটি অনুরূপ ভাবে Ctrl+ + DIntelliJ আইডিয়া / Resharper অথবা Ctrl+ + Alt+ + ↑/ ↓এ অন্ধকার ?
Y
এস P
ইজারা। :)
উত্তর:
yyবা Yলাইন কপি করতে (স্মৃতিসম্বন্ধীয়: Y ANK )
বা
ddকরার ঘ elete লাইন (তেজ কপি কি আপনি একটি মধ্যে মোছা ক্লিপবোর্ড-মত "নিবন্ধন", একটি মত কাটা অপারেশন)
তারপর
pথেকে পি Aste কপি বা পাঠ্য মোছা হয়েছে পর বর্তমান লাইন
বা
Pকরার পি Aste কপি বা মোছা টেক্সট সামনে বর্তমান লাইন
Y
থেকে y$
। ( D
এবং এর সাথে সামঞ্জস্যপূর্ণ C
; (তবে vi সুসংগত নয় (কারও যত্ন নেই)))) এমনকি এটি প্রস্তাবিত :help Y
।
yj
বা yk
বিশেষত যেহেতু আপনি একটি চরিত্রের দ্বিগুণ হন না। প্লাস, yk
একটি পিছনের সংস্করণ যা 2yy
করতে পারে না এবং আপনি লাইনগুলির সংখ্যা পিছনে y9j
বা অন্যান্য দিকে পৌঁছাতে পারেন y2k
Only কেবলমাত্র পার্থক্য হ'ল আপনার গণনা n-1
মোট n
লাইনগুলির জন্য হতে হবে তবে আপনার মাথাটি শিখতে পারে যাহাই হউক না কেন।
সাধারণ মোড: অন্যান্য উত্তর দেখুন।
প্রাক্তন উপায়:
:t.
লাইনটি নকল করবে,:t 7
7 নং লাইনের পরে এটি অনুলিপি করবে,:,+t0
ফাইলের শুরুতে বর্তমান এবং পরবর্তী লাইনটি অনুলিপি করবে ( ,+
পরিসীমাটির প্রতিশব্দ .,.+1
):1,t$
কার্সার অবস্থান থেকে শুরু থেকে শেষ অবধি লাইনগুলি অনুলিপি করবে ( 1,
পরিসীমাটির প্রতিশব্দ 1,.
)।আপনার যদি অনুলিপি পরিবর্তে সরানো দরকার হয় তবে তার :m
পরিবর্তে ব্যবহার করুন :t
।
যদি আপনি এটি সঙ্গে মেশা এই সত্যিই শক্তিশালী হতে পারে :g
বা :v
:
:v/foo/m$
ফাইলের শেষের দিকে "foo" প্যাটার্নটির সাথে মেলে না এমন সমস্ত লাইন সরানো হবে।:+,$g/^\s*class\s\+\i\+/t.
ফর্মের পরবর্তী সমস্ত লাইনগুলি class xxx
কার্সারের ঠিক পরে কপি করবে ।রেফারেন্স: :help range
, :help :t
, :help :g
, :help :m
এবং:help :v
:
ভিজ্যুয়াল মোডে টিপেন, এটি রূপান্তরিত হয় '<,'>
তাই এটি ভিজ্যুয়াল নির্বাচনটি বিস্তৃত লাইন পরিসীমাটিকে পূর্বনির্বাচিত করে। সুতরাং, ভিজ্যুয়াল মোডে, :t0
শুরুতে লাইনগুলি অনুলিপি করবে।
:t.
প্রশ্নের সঠিক উত্তর।
YP
বা Yp
বা yyp
।
Y
y$
যদিও সাধারণত লাইনের শেষ অবধি (ইয়ঙ্ক (অনুলিপি)) এ রিম্যাপ করা হয় (বর্তমান কার্সার অবস্থান থেকে, লাইনটির শুরু নয়))। এই লাইনের সাথে .vimrc
::nnoremap Y y$
yyP
এর চেয়ে সহজ আর কিছু পায় না! সাধারণ মোড থেকে:
yy
তারপরে যে লাইনে আপনি পেস্ট করতে চান তাতে যান
p
yy
বর্তমান লাইনটি এটি মোছা না করে ইয়েঙ্ক করবে
dd
বর্তমান লাইন মুছে ফেলবে
p
put
পূর্ববর্তী পদ্ধতির যে কোনও একটি দ্বারা লাইন ধরা হবে
এটা কর:
প্রথমে yyবর্তমান লাইনটি অনুলিপি করতে এবং তারপরে pপেস্ট করতে।
আপনি যদি অন্যভাবে চান:
"ayy
: এটি লাইনটি বাফারে সংরক্ষণ করবে a
।
"ap
: এটি a
কার্সারে বাফার সামগ্রীগুলি রাখবে।
এটিতে বিভিন্ন প্রকরণ রয়েছে।
"a5yy
: এটি 5 টি লাইন বাফারে সংরক্ষণ করবে a
।
আরও মজাদার জন্য " Vim সহায়তা ফাইলগুলি দেখুন।
yyp - "ইয়িপি!" দিয়ে এটি মনে রাখবেন!
এর মধ্যে একটি সংখ্যার সাথে একাধিক লাইন:
y7yp
:.,.+7 copy .+7
: পি
yyp - পরে পেস্ট করুন
yyP - আগে পেস্ট করুন
আমি পছন্দ করি: Shift+ v(তত্ক্ষণাত পুরো লাইনটি নির্বাচন করতে এবং আপনি চাইলে অন্যান্য লাইনগুলি নির্বাচন করতে দিন), y, পি
আপনি <Cx> <Cl> চেষ্টাও করতে পারেন যা সন্নিবেশ মোড থেকে শেষ লাইনটি পুনরাবৃত্তি করবে এবং সমস্ত লাইনের সাথে একটি সমাপ্তি উইন্ডো নিয়ে আসবে। এটি প্রায় <সিপি> এর মতো কাজ করে
ভিআই জানেন না এমন কারও জন্য উপরের কিছু উত্তর তাকে " বর্তমান লাইনের পরে / আগে" পেস্ট ... এর মতো বাক্যাংশ দিয়ে ভুল পথে চালিত করতে পারে ।
এটি আসলে "পেস্ট ... কার্সারের পরে / আগে "।
yyঅথবা Yলাইনটি অনুলিপি করতে
বা
লাইনটি
ddমুছতে
তারপর
pঅনুলিপি করা বা মোছা লেখা পেস্ট করবেন পর কার্সার
বা
Pকপি বা মোছা লেখা পেস্ট করবেন সামনে কার্সার
আরও কী বাইন্ডিংয়ের জন্য আপনি এই সাইটটি দেখতে পারেন: vi সম্পূর্ণ বাঁধাই তালিকাটি সম্পূর্ণ করুন
ডিফল্ট হয় yyp, তবে আমি এক বছর বা তার বেশি সময় ধরে এই রিব্যান্ডিংটি ব্যবহার করছি এবং এটি ভালবাসি:
" set Y to duplicate lines, works in visual mode as well.
nnoremap Y yyp
vnoremap Y y`>pgv
আমি জানি আমি পার্টিতে দেরি করেছি, তবে যাই হোক না কেন; আমার .vimrc এ এটি আছে:
nnoremap <C-d> :copy .<CR>
vnoremap <C-d> :copy '><CR>
:copy
কমান্ড শুধু কপি নির্বাচিত লাইন বা ব্যাপ্তি (সবসময় পুরো লাইন) করতে নিচের লাইন সংখ্যা তার আর্গুমেন্ট হিসাবে দেওয়া।
সাধারণ মোডে এটি যা করে তা হ'ল copy .
এই লাইনটির ঠিক নীচে অনুলিপি করা ।
এবং চাক্ষুষ মোডে তা সক্রিয় '<,'> copy '>
নির্বাচন নির্বাচন শেষে নিচের লাইন নির্বাচন শেষে শুরু থেকে কপি ।
যারা ভিআই শিখতে শুরু করেন তাদের জন্য, টিপিক্যাল উইন্ডোজ জিইউআই এডিটর কার্সার মুভমেন্ট এবং শর্টকাট কীগুলিতে পাশাপাশি বাই কমান্ডের তালিকাভুক্ত করে vi এর একটি ভাল পরিচয় দেওয়া হয়েছে। এটি yy(অনুলিপি লাইন) এবং p(পরে পেস্ট করুন) বা P(আগে পেস্ট করুন ) সহ সমস্ত বুনিয়াদি কমান্ড তালিকাভুক্ত করে ।
আপনি যদি একটি লাইন সদৃশ করতে চান এবং এটি এখনকার মতো নীচে সরাসরি পেস্ট করতে চান, যেমন sublime Ctrl+ Shift+ এর মতো D, তবে আপনি এটি আপনার .vimrc
ফাইলে যুক্ত করতে পারেন ।
nmap <S-C-d> <Esc>Yp
বা, সন্নিবেশ মোডের জন্য:
imap <S-C-d> <Esc>Ypa
i
পুনরায় প্রবেশের জন্য শেষটি যুক্ত করে ব্রেক হয়ে যায় undo
, সুতরাং সন্নিবেশ মোডে লুপগুলি নকল করার সমাধানটি যেমন মনে হয় তত তুচ্ছ নয়।
imap <S-C-d> <Esc>Ypi
সন্নিবেশ মোডে এবং nmap <S-C-d> <Esc>Yp
সাধারণ মোডে