কেন্দ্রিক পাঠ্যের সাথে 80-কলামের প্রশস্ত মন্তব্য শিরোনাম ব্লক যুক্ত করা হচ্ছে


9

কোনও কারণে বা অন্য কোনও কারণে আমি প্রায়শই কোডগুলি এই জাতীয় শিরোনাম দ্বারা পৃথক সাবসেকশনে বিভক্ত করি:

################################################################################
#################################### LOAD ######################################
################################################################################

এগুলি #মাঝখানে কেন্দ্রীভূত শিরোনাম সহ 3 80 কলামের প্রশস্ত রেখাগুলি । এখন পর্যন্ত আমি ভিমে এগুলি উত্পন্ন করার কোনও দ্রুত উপায় খুঁজে পাইনি।

আমি সাধারণত যা করি তা হ'ল কিছু লাইন বরাবর 80i#এবং তারপরে yyppআমাকে 3 টি লাইন দেয় তবে তারপরে আমাকে মাঝখানে নেভিগেট করে পাঠ্য যোগ করতে হবে। আমি সাধারণত এটি প্রতিস্থাপনের মাধ্যমে করি, তবে প্রতিস্থাপনটি শিরোনামের ভিতরে রাখে না #... #তাই আমি #নিজেই অতিরিক্তভাবে মোছি।

মাঝের সারিতে পাঠ্যটি কীভাবে কেন্দ্র করবেন? এবং এই ফলাফলটি অর্জনের একটি দ্রুত উপায় কী হবে?

উত্তর:


16

এখানে কিছুটা দক্ষ / সহজ পদ্ধতি। LOADআপনি যে পাঠ্যটি কেন্দ্র করতে চান পাঠ্য লাইনের শুরুতে (যেমন ) এটি কার্সার দিয়ে টাইপ করুন ।

  • :center 80<cr>: ফাংশনটি ভিমের অন্তর্নির্মিত সহ পাঠ্যটিকে কেন্দ্র করুন
  • hhv0r#: #বাম দিকে গুলি যোগ করুন
  • A<space><esc>40A#<esc>: #ডানদিকে প্রচুর পরিমাণে যোগ করুন
  • d80|: #ডানদিকে অতিরিক্ত গুলি মুছুন
  • YppVr#kk.: শীর্ষ এবং নীচে #গুলি যোগ করুন

সুতরাং, সম্পূর্ণ কমান্ড:

:center 80<cr>hhv0r#A<space><esc>40A#<esc>d80<bar>YppVr#kk.

সুবিধাজনক ম্যাপিং যুক্ত করতে আপনি নিজের .vimrc এ এর ​​মতো কিছু রাখতে পারেন:

nnoremap <C-b> :center 80<cr>hhv0r#A<space><esc>40A#<esc>d80<bar>YppVr#kk.

মিনি-স্ক্রিনকাস্ট বিক্ষোভ:

প্রদর্শন


3

প্রথম, আপনার প্রয়োজন :set expandtab

  1. 80i#Esc শীর্ষ লাইন তৈরি করতে
  2. Yp এটি সদৃশ
  3. OSpaceLOADSpaceEsc
  4. :center 80( 80আপনার textwidthসেটিংসের উপর নির্ভর করে বাদ দেওয়া যেতে পারে ))
  5. hhv0r# বাম দিকটি পূরণ করতে (ভিজ্যুয়াল নির্বাচন করুন এবং প্রতিস্থাপন ব্যবহার করে)
  6. $hjlly$kp ডান দিকটি পূরণ করতে (নীচের লাইন থেকে কিছু অক্ষর নকল করে)

3

আমি তার জন্য একটি ভিমস্ক্রিপ্ট ফাংশন ব্যবহার করব।

function Header(width, word)
    let a:inserted_word = ' ' . a:word . ' '
    let a:word_width = strlen(a:inserted_word)
    let a:length_before = (a:width - a:word_width) / 2
    let a:hashes_before = repeat('#', a:length_before)
    let a:hashes_after = repeat('#', a:width - (a:word_width + a:length_before))
    let a:hash_line = repeat('#', a:width)
    let a:word_line = a:hashes_before . a:inserted_word . a:hashes_after

    :put =a:hash_line
    :put =a:word_line
    :put =a:hash_line
endfunction

এবং এটি বলা যেতে পারে

: call Header(80, 'Hello')

1
ধন্যবাদ, এটি সত্যিই দুর্দান্ত উত্তর is যে কোনও লাইন সংখ্যার জন্য কাজ করে এবং অন্যান্য অক্ষরগুলি (কেবল # নয়) সহজেই অন্তর্ভুক্ত করতে সংশোধন করা যেতে পারে। লজ্জাজনক আমি কেবল 1 টি upvote দিতে পারি এবং কেবল একটি একক উত্তর গ্রহণ করতে পারি। এবার যার সাথে আমি বেশি পরিচিত তার সাথে যেতে হয়েছিল (এবং লেখার কাজগুলি - আমি এর সাথে পরিচিত নই, তবে আপনাকে ধন্যবাদ আমি কীভাবে তারা কাজ করি তা দেখতে পাচ্ছি)।
করোলিস কনসেভিয়াস

2

অথবা আপনি ভিজ্যুয়াল ব্লক ব্যবহার করতে পারেন:

  1. আপনার কাছে ইতিমধ্যে শীর্ষে কমপক্ষে তিনটি ফাঁকা রেখা রয়েছে তা নিশ্চিত করুন CtrlV80L

  2. R#

  3. ব্লকের মাঝখানে চলে যান (আপনি এটি চোখ ধাঁধিয়ে নিতে যাবেন)
  4. CtrlV এবং আপনি যে ব্লকটি সরাতে চান সেটি নির্বাচন করুন
  5. RSpace
  6. খালি জায়গার শুরুতে যান Rএবং আপনার শিরোনামটি টাইপ করুন।

মঞ্জুর, এটি শিরোনাম তৈরির পক্ষে সবচেয়ে নিখুঁত উপায় নয়, কারণ এটি আপনাকে চোখের জল ফেলতে হবে, তবে এটি ভিজ্যুয়াল ব্লক নির্বাচনের জন্য একটি আকর্ষণীয় বিষয়।

ফলাফল

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