উত্তর:
আপনি কমান্ডটি ব্যবহার করে একটি নতুন লাইনের সাহায্যে লাইনের পর পরের যে কোনও স্থানটি প্রতিস্থাপন করতে পারেন :s/\s\+/\r/g
। \s\+
এক বা একাধিক সাদা স্থানের অক্ষর বলতে বোঝায় এবং \r
এটি একটি নতুন লাইন, দেখুন :help :substitute
এবং বিশদর :help regexp
জন্য। আপনি যদি একটি লাইনে কমান্ডটি চালনা করেন:
foo bar baz
তুমি পাও:
foo
bar
baz
আপনি যদি hlsearch
সক্ষম করে থাকেন এবং আপনি যে কোনও জায়গায় হাইলাইট করা স্পেস দিয়ে আপনার স্ক্রিনটি বিশৃঙ্খলা করতে না চান, আপনি এড়াতে নীচের মতো একটি সামান্য ফাংশন লিখতে পারেন:
function! SplitLineNicely()
" Save previous value of last search register
let saved_last_search_pattern = @/
" :substitute replaces the content of the search register with the `\s\+`
" pattern highlighting all whitespaces in the file
substitute /\s\+/\r/g
" Restore previous search register
let @/ = saved_last_search_pattern
endfunction
\r
, দেখুন :help s/\r
। এটি একটি আক্ষরিক নতুন লাইনের টাইপ দ্বারা প্রতিস্থাপিত হতে পারে <c-v><cr>
। এই প্রসঙ্গে \n
একটি নাল চরিত্র, দেখুন :help s/\n
।
replaces the content of the register
- কোন রেজিস্টার?
ব্যবহার vim
এর প্রতিকল্পন সম্ভবত ভাল উপায় আপনার টাস্ক সম্পন্ন করার জন্য এক, কিন্তু আপনি ভাল হিসাবে একটি ম্যাক্রো ব্যবহার করতে পারেন। ধরুন আমাদের 1 লাইনে কোথাও কার্সার সহ নিম্নলিখিত তথ্য রয়েছে:
1 a b c d e f
~
স্বাভাবিক মোডে শুরু করে, হিটিংয়ের qqমাধ্যমে ম্যাক্রো কলযোগ্য রেকর্ডিং শুরু হবে @q। এর পরে qqযে কোনও কিছু টাইপ করা পূর্বোক্ত কলের মাধ্যমে পুনরাবৃত্তিযোগ্য হবে। আমাদের লক্ষ্যটি হ'ল সাধারণ আদেশগুলি রেকর্ড করা যা বিরামবিহীন পুনরাবৃত্তির অনুমতি দেওয়ার জন্য যথেষ্ট সাধারণ।
সুতরাং, আমরা টাইপ 0করতে পারি কার্সারটিকে লাইনের শুরুতে, তারপরে fspaceকার্সারটিকে প্রথম স্থানটিতে নিয়ে যেতে। এটি আমাদের তখন টাইপ করতে দেয় renter, ফলস্বরূপ:
1 a
2 b c d e f
~
qআমাদের পুনরায় ব্যবহারযোগ্য ম্যাক্রো পুনরাবৃত্তির জন্য প্রস্তুত হওয়ায় এখন হিট করা ভাল ধারণা। কিছুটা নির্বিচারে, আমরা নোট করি যে নতুন লাইনের সাথে প্রতিস্থাপনের জন্য 4 টি স্পেস রয়েছে। এইভাবে আঘাত করে, 4@qআমরা q
4 বার ম্যাক্রোটির পুনরাবৃত্তি করি যার ফলস্বরূপ:
1 a
2 b
3 c
4 d
5 e
6 f
~
নোট যে কারণ উপায় আমরা ম্যাক্রো সেট আপ এটি নিরাপদ 9000 বারেরও বেশি কমান্ড পুনরাবৃত্তি, যেমন এটি শুধুমাত্র বর্তমান লাইন প্রভাবিত করবে হতো এবং যেহেতু সেখানে গত ডাটা এন্ট্রি ডানদিকে কোন শূন্যস্থান ছিল, fspaceহবে 'চমত্কারভাবে' ব্যর্থ, ডেটাগুলিকে নতুন লাইনের সাথে প্রতিস্থাপন হতে বাধা দেয়।
সুতরাং প্রথম থেকে পুনরাবৃত্তি:
qq0fspacerenterq9001@q
আমাদের ফলাফল সরবরাহ করে।
9001
আপনার ব্যবহারকারীর নাম দ্রুত টাইপ করার জন্য আপনার কীবোর্ডে কী আছে ।
ভিমের মধ্যে লাইনগুলি বিভক্ত করার সবচেয়ে সহজ উপায়টি হ'ল সাধারণ মোড কমান্ড gq
(সাধারণ বা ভিজ্যুয়াল মোডে দ্রুত ধারাবাহিকতায় দুটি অক্ষর টাইপ করুন)।
ভিজ্যুয়াল মোডে, এটি নির্বাচিত যা কিছু বিভক্ত হবে, সাধারণ মোডে, আপনি gq
একটি গতিতে অনুসরণ করেন।
উদাহরণস্বরূপ, gql
বর্তমানে নির্ধারিত প্রস্থে একটি লাইন বিভক্ত হবে। আপনার বর্তমান সেটিং থেকে বিভক্ত লাইনের প্রস্থকে আলাদা করতে, আপনি ব্যবহার করতে পারেন :set textwidth=n
, n
একটি লাইনে আপনি যে অক্ষরের সংখ্যা চান তা উদাহরণস্বরূপ, 10
এবং আপনার কাজ শেষ হয়ে গেলে আপনার সাধারণ প্রস্থে ফিরে যেতে পারেন।
খলিদফুর একটি ইউটিউব ভিডিও থেকে এই তথ্যটি পেয়েছেন যা দেখায় যে কীভাবে একটি মোশন ব্যবহার করে সাধারণ মোডে লাইনগুলিতে যোগদান এবং বিভক্ত করা যায়।