আমি কীভাবে সি / সি ++ ফাংশনের ডকুমেন্টেশন দেখানোর জন্য ভিম পেতে পারি?


17

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

আমি ভাবছিলাম যে ভিম এমন সমর্থন দেয় কিনা। উদাহরণস্বরূপ, সি তে কোডিং করার সময়, আমি একটি বিল্ট ইন ফাংশন ব্যবহার করি qsort()। যেহেতু আমি এটি গ্রহণ করি তার ধরণ এবং ধরণের সংখ্যা সম্পর্কে আমি নিশ্চিত নই, তাই আমি ভিমকে অব্যাহতি না দিয়ে এটি জানতে চাই। এটা কি সম্ভব?


2
নিশ্চিত যে এটি আপনি চান ঠিক তেমন নয় তবে আপনি যদি বিকল্পটির জন্য সঠিক মানটি দেন 'keywordprg'(এমন কোনও প্রোগ্রামের নাম যা আপনি যে ভাষার জন্য ডকুমেন্টেশন পরিচালনা করতে পারেন), তবে Kকোনও কীওয়ার্ডকে চাপ দিয়ে (যার নাম হতে পারে) একটি ফাংশন), আপনার যে তথ্যটি চান তা পাওয়া উচিত। উদাহরণস্বরূপ, যদি আপনি ইনস্টল cppman( github.com/aitjcize/cppman ) এবং যেমন আপনার vimrc ভিতরে একটি autocmd যোগ autocmd FileType cpp setlocal keywordprg=cppmanতারপর, cppmanএকটি গ ভিতরে ডকুমেন্টেশন হ্যান্ডেল করা হয় ++, বাফার। যদিও পরীক্ষা করা হয়নি।
saginaw

2
@ সাগিনাউ যদিও cppmanএকটি দুর্দান্ত পরামর্শ, আপনি যদি সি এবং সি ++ ম্যানপেজ ( manpages-posix-devএবং libstdc++-X.Y-docডেবিয়ান-ভিত্তিক সিস্টেমে প্যাকেজ) ইনস্টল করেন তবে সাধারণ পুরানো manকাজ করা উচিত।
মারু

উত্তর:


8

আপনি যদি YouCompleteMe সেট আপ করতে পারেন তবে এটি সি, সি ++, জাভাস্ক্রিপ্ট, গো এবং অন্যান্য কিছু ভাষা সমর্থন করে। এটি এখানে কার্যকর:

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন

এটি ইনস্টল করতে কিছুটা বিরক্তিজনক এবং এটি ইনস্টল হয়ে গেলে আপনাকে এটি তৈরি করে সি এবং সি ++ এর জন্য কনফিগার করতে হবে.ycm_extra_conf.py । আমি এই রেপো থেকে একটি উঠিয়েছি এবং এই প্রভাবটি পেয়েছি।


4
"ইনস্টল করতে কিছুটা বিরক্তিকর," ... এটি একটি সংক্ষিপ্তসার। তবুও, এটা খুব ভাল। ^ _ ~
সারদাথ্রিয়ন - মনিকা

4
ফাংশন আর্গুমেন্ট টাইপ করার সময় সম্পূর্ণরূপে পপ-আপ খোলার জন্য বাধ্য করার কোনও উপায় আছে কি? উদাহরণস্বরূপ, আপনি প্রথম আর্গুমেন্টের প্রথম অক্ষরটি টাইপ করার সাথে qsort(aসাথে পপ-আপ উইন্ডোটি অদৃশ্য হয়ে যায়, পরবর্তী যুক্তিগুলি মনে রাখা কঠিন করে তোলে।
thiagowfx

1
তবে এটি কেবল ফাংশনটির প্রোটোটাইপ দেখায়। কীভাবে এটির ডক্সিজেন মন্তব্যগুলি দেখানো যায় (যেমন গ্রহপ জাভাডোকগুলি দিয়ে থাকে)? আমি গড় প্যারামিটার, আউটপুট, নোট, refs ...
Zeta.Investigator

1
@ জেটা.আইনসভেস্টার পাইথনে আমি প্রচুর পরিমাণে ব্যবহার করি তা হ'ল YcmCompleter GoToযা সাধারণত আপনাকে যেখানে পাঠায় সেখানে কোড / ফাংশন / শ্রেণি সংজ্ঞায়িত করা হয়েছিল। এটি ডকাস্ট্রিংয়ের ঠিক উপরে রেখা, যা আপনি যা চেয়েছিলেন তার সবকটি তালিকাভুক্ত করে। আমি নিশ্চিত নই যে ইনলাইন মন্তব্য একই জায়গায় সি / জাভা / সি ++ তে আছে কিনা।
ব্যবহারকারী 1717828

8

সি এর জন্য, Kকীওয়ার্ড টিপলে বিল্ট-ইন ম্যানপেজটি সরাসরি টানবে। উদাহরণস্বরূপ, printfকীওয়ার্ডটিতে কার্সারটি রাখুন :

printf("Hello, %s!", foo);

এখন টিপুন K(আপার কেস কে) এবং printfম্যানপেজটি ভিআইএম-এ উপস্থিত হওয়া উচিত:

NAME
   printf - format and print data

SYNOPSIS
   printf FORMAT [ARGUMENT]...
   printf OPTION

DESCRIPTION
   Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:

   --help display this help and exit

   --version
          output version information and exit

   FORMAT controls the output as in C printf.  Interpreted sequences are:

   \"     double quote
   \\     backslash

   ... It continues for quite a few scrollable pages

এটি মনে হয় যে সমস্ত ডেবিয়ান-উত্পন্ন ডিস্ট্রোজে বাক্সটি কার্যকর হয়েছে যা আমি এটি চেষ্টা করেছি, কোনও নির্দিষ্ট কনফিগারেশন প্রয়োজন নেই required


1
printf(1)এটি কমান্ডের ম্যানপেজ, printf(3)ফাংশন নয়। যাইহোক, সি ফাংশন ম্যানপেজগুলি manpages-devহ'ল, যা সাধারণত ডিফল্টরূপে ইনস্টল করা থাকে তবে সবসময় হয় না এবং পসিক্স ফাংশনগুলি থাকে manpages-posix-dev- সাধারণত ডিফল্টরূপে ইনস্টল করা হয় না, সি -++ ডকুমেন্টেশন ( libstdc++-X.Y-doc)ও নয়।
মুড়ু

5

আপনি যদি যথাযথ ডকুমেন্টেশন চান তবে সাগিনাউয়ের মন্তব্যে থাকা প্লাগইনটি আপনার সি ++ এর প্রয়োজনীয়তাগুলি আবৃত করে। আমি জেনেরিকটির কথা জানি না তবে আপনি সম্ভবত ভিম.আর.আরজে অন্যান্য ভাষার বিকল্প খুঁজে পেতে পারেন।


তাহলে ...

  • আপনার কোডটি ইতিমধ্যে ctags সহ সূচিযুক্ত,
  • আপনার সূচীতে স্ট্যান্ডার্ড লাইব্রেরিও রয়েছে,
  • এবং আপনি যা চান তা হ'ল একটি ইঙ্গিত ,

আপনি <C-w>}পূর্বরূপ উইন্ডোতে আপনার কার্সারের নীচে কীওয়ার্ডটির সংজ্ঞাটি খুলতে ব্যবহার করতে পারেন । ওয়াইএমএমভি অবশ্যই।

দেখুন :help preview-window, :help tagsএবং :help ctags


আপনি ভিমের অন্তর্নির্মিত "অন্তর্ভুক্ত-অনুসন্ধান" কার্যকারিতাও ব্যবহার করতে পারেন: [iকমান্ড-লাইনে কার্সারের নিচে শব্দের "স্বাক্ষর" মুদ্রণ করতে টিপুন :

[আমি

দেখুন :help include-search


1
[iঅদ্ভূত. এটি কাজ করে stdlib.hএবং qsort, কিন্তু না cstdlibএবং std::qsortবা কেবল qsort
মুরু

আমি নাম / হিসাবে হিসাবে নামটির সাথে অপরিচিত তাদের <C-w>অর্থ ফাইলগুলিতে CTRL-Wব্যবহৃত নামকরণটি :help। এরপরে আপনি :pcপূর্বরূপ উইন্ডোটি বন্ধ করতে ব্যবহার করতে পারেন ।
danielson317

1

ভিমের সি / সি ++ ফাইলের ধরণটি একটি শালীন সর্বব্যাপী ফাংশন সহ আসে, যা "পূর্বরূপ" কার্যকারিতা সমর্থন করে। সুতরাং আপনার সম্পূর্ণটপ বিকল্পটিতে "পূর্বরূপ" যুক্ত করুন এবং আপনি যখন সন্নিবেশ মোডের সমাপ্তি করবেন তখন কোনও ফাংশন স্বাক্ষর দেখুন।

সাধারণ মোডে আপনি সিটিআরএল + ডাব্লু} ম্যানুয়ালি প্রিভিউ উইন্ডোতে ফাংশন ঘোষণাটি খুলতে পারেন।


1

উল্লিখিত হিসাবে Kকীওয়ার্ড টিপুন একটি ম্যান পৃষ্ঠা সন্ধান করে কাজ করে। সি ++ ম্যান পেজ পাওয়ার জন্য আপনি https://github.com/aitjcize/cppman চেষ্টা করতে পারেন (এটি cplusplus.com এবং cppreferences.com থেকে "ম্যান পেজ" পেয়েছে)।


0

YouCompleteMe ইনস্টল করুন। আপনি যখন কোনও শনাক্তকারীর উপরে কার্সারটি রাখবেন, YcmCompleter GetDocনীচে একটি সামান্য পূর্বরূপ উইন্ডোতে ডকটি পেতে কমান্ডটি প্রবেশ করুন । এটি অজগর এবং সি / সি ++ এর মতো অনেক ভাষা জুড়ে কাজ করে।

Youcompleteme এছাড়াও এর স্বপূর্ন বৈশিষ্ট্যটির সময় পূর্বরূপ উইন্ডোটি প্রদর্শন করে। আপনি g:ycm_autoclose_preview_window_after_completionভেরিয়েবলের সাথে ডক পূর্বরূপের আচরণটি কাস্টমাইজ করতে পারেন ।

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