আমি কীভাবে নতুন ভিআইএম ফাইলগুলিতে কঙ্কালের পাঠ্য যুক্ত করব?


9

আমি সি ++ লেখার জন্য ভিম ব্যবহার করি এবং আমার তৈরি কয়েকটি #include<>নতুন ফাইলের মধ্যে অবশ্যই আমার কাছে বেশ কয়েকটি বিবৃতি, মন্তব্য ইত্যাদি রয়েছে। আমি যোগ করেছি

autocmd BufNewFile *.cpp r C:\(full file path of skeleton text file) 

আমার ভিমআরসি-র কাছে, কারণ আমি শুনেছি এটি এতে আমার প্রয়োজনীয় পাঠ্যের সাথে একটি বাফার তৈরি করে। এই পাঠ্যটিকে নতুন একটি ফাইলে যুক্ত করতে কীভাবে যাব? বাফার থেকে এটি করার কোনও সহজ উপায় আছে, না এটি করার আরও একটি সহজ উপায় আছে? টেমপ্লেট প্লাগইন সম্পর্কেও আমি কিছুটা শুনেছি। এমন কি খুব সাধারণ একটি যা আমার পক্ষে এটি করতে পারে?


1
আপনি এটি যুক্ত করার পরে এবং নতুন autocmdকঙ্কাল ফাইল তৈরি করার পরে একটি নতুন সি ++ ফাইল সম্পাদনা করে চেষ্টা করে গেছেন ?
মুড়ু

1
আমি একটি সিপিপি ফাইল এক্সটেনশন দিয়ে একটি নতুন ফাইল তৈরি করার চেষ্টা করেছি এবং এটি ভিমের সাথে সম্পাদনা করেছি। সম্পাদনার জন্য এটি খোলার পরে, এটি এখনও ফাঁকা ছিল আমার আরও কিছু পদক্ষেপ করা দরকার?
ইলেকট্রিকসেলো

2
না, আপনি ইতিমধ্যে অন্তর্ভুক্ত কঙ্কাল ফাইলের বিষয়বস্তু দেখতে পাওয়া উচিত ছিল। ম্যানুয়ালি দৌড়ালে কী হবে :r C:\(full file path of skeleton text file)? আপনি কোন ত্রুটি আছে?
মুরু

3
@ ইলেক্ট্রিকেলসো আহ, :enewকাজ করবে না, তবে ইতিমধ্যে উপস্থিত না থাকলে (খালি থাকলেও) :e newfile.cppকাজ করা উচিত newfile.cpp
মুরু

5
:enewঅভ্যাস কাজ করার কারণটি নয় কারণ আপনি একটি নতুন, নামবিহীন বাফার সম্পাদনা করছেন এবং তারপরে এটি একটি .cpp ফাইল হিসাবে সংরক্ষণ করছেন। BufNewFileআপনি যদি লক্ষ্য ফাইলের নাম সহ কোনও নতুন ফাইল সম্পাদনা করেন তবেই ট্রিগার হয়।
ফ্রুগলমনকি

উত্তর:


6

বিদ্যমান ফাইল থেকে কঙ্কালের পাঠ্যটি লাইনটি প্রবেশ করে একটি নতুন ফাইলে যুক্ত করা যেতে পারে

autocmd BufNewFile *.cpp r C:\(full file path of skeleton text file)

vimrc মধ্যে। BufNewFileযদি নতুন ফাইল ব্যবহার করে দুটি ধাপে তৈরি হয় ঘটনা কাজ করে না :enewতখন :sav filename। পরিবর্তে, ব্যবহার করে একটি নতুন ফাইল তৈরি :e filenameট্রিগার BufNewFilevimrc মধ্যে অনুষ্ঠানের autocommand, নব নির্মিত ফাইলে কঙ্কাল টেক্সট ফাইলের বিষয়বস্তু যোগ।


1
এছাড়াও দেখুন :help template
মার্টিন টর্নোইজ

আমার .vimrcজঞ্জাল হওয়ার হাত থেকে রক্ষা পেতে , ~/.vim/শ্রেণিবিন্যাসের মধ্যে অন্য কোনও স্থান আছে যা আমি এটিকে ?োকাতে পারি?
সন্তোষ কুমার

এটি নতুন ফাইলের শীর্ষে একটি অতিরিক্ত ফাঁকা রেখা যুক্ত করে।
সন্তোষ কুমার

5

প্রকৃতপক্ষে, টেমপ্লেট এক্সপেন্ডার প্লাগইনগুলি আপনাকে এই কার্যে সহায়তা করবে। :readটেমপ্লেট এক্সপেন্ডার প্লাগইনগুলির পদক্ষেপ 0।

উদাহরণস্বরূপ, মু-টেমপ্লেট foo.cpp থেকে foo.h অন্তর্ভুক্ত করার চেষ্টা করবে যদি foo.h সনাক্ত হয়। এটি তাদের মধ্যে গতিশীল ডেটা (তারিখ, লেখক, লাইসেন্স / কপিরাইট ইত্যাদি) সহ শিরোনামগুলি প্রসারিত করার অনুমতি দেবে।


1

সমস্ত ফাইল টাইপের জন্য ডিফল্ট কঙ্কাল সেটআপ করতে এবং নির্দিষ্ট প্রকল্পের জন্য এটি কাস্টমাইজ করতে:

function! s:load_skeleton(type)
  " do nothing if no filetype
  if empty(a:type) | return | endif

  " glob every directory of rtp to search for skeleton/filetype
  let skeletons = globpath(&rtp, 'skeleton/' . a:type, 0, 1)
  if empty(skeletons) | return | endif

  " read last skeleton into 1st line.
  exe '0read ' . skeletons[-1]
endfunction

augroup aug_skeleton
  au!

  " BufNewFile event is trigged when you edit a new file.
  autocmd BufNewFile * call s:load_skeleton(&filetype)
augroup end

ডিফল্ট কঙ্কালের নীচে রাখুন ~/.vim/skeleton, যেমন: ~/.vim/skeleton/vim, ~/.vim/skeleton/sh

প্রকল্প নির্দিষ্ট কঙ্কাল অধীনে রাখুন balabala/project/.vim/skeleton। যতদিন ~/.vimপ্রদর্শিত হয় আগে balabala/project/.vim:h rtp, balabala/project/skeleton/কঙ্কাল ডিরেক্টরির হিসেবে ব্যবহার করা হবে।

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