জাভাস্ক্রিপ্ট কোডিংয়ের জন্য প্রস্তাবিত ভিম প্লাগইনস? [বন্ধ]


125

আমি জেএস ও ভিমে নতুন। কোন প্লাগইনগুলি জাভাস্ক্রিপ্ট কোড লিখতে আমাকে সহায়তা করবে?


6
প্রশ্নটিকে আরও স্পষ্ট করার জন্য, এবং ভবিষ্যতের পোস্টগুলির জন্য ওপিকে তাদের ইংরেজিতে সহায়তা করার জন্য ... এটি পড়তে হবে: "হাই, আমি জেএস ও ভিমে নতুন। কোন প্লাগইনগুলি জাভাস্ক্রিপ্ট কোড লিখতে আমাকে সহায়তা করবে?" আপনি বলতে পারেন "আমি নতুন নই করার জাভাস্ক্রিপ্ট এবং তেজ"। আপনি একবচন জন্য "কি" ব্যবহার করতে পারেন, উদাহরণস্বরূপ "" কী_এই প্লাগইন যা আমাকে সাহায্য করবে ... "বা আপনি" যা "ব্যবহার করতে পারেন বহুবচনগুলির জন্য:" কোন_প্লাগিনগুলি আমাকে সহায়তা করবে ... "। এছাড়াও নোটিশ পরিবর্তে "প্লাগইনগুলির হয় " আপনি ব্যবহার করা উচিত "প্লাগ-ইন would " কারণ এটি একটি প্রকল্পিত আছে। আশা করি এটি সহায়তা করে :-)
হেন্ডরিক্সস্কি

3
@hendrixski - এটি আবার খুলতে ভোট দিন।
ocodo

8
সবচেয়ে গঠনমূলক না-গঠনমূলক প্রশ্ন।
ভ্লাদিস্লাভ জোরভ

8
এই "গঠনমূলক নয়" প্রশ্নটি কীভাবে আমাকে আমার কাজের প্রবাহকে অনেক উন্নত করতে সহায়তা করেছে তা আমি বেশ উপভোগ করি।
মায়াভিক্টর

যেহেতু প্রশ্নটি (অন্যায়ভাবে আইএমও) বন্ধ রয়েছে তাই আমি এখানে একটি মন্তব্য যুক্ত করব: টাইপস্ক্রিপ্ট ল্যাঙ্গুয়েজ সার্ভারের বাক্সের বাইরে অটোমোপ্লেশন সহ একটি ইলেক্ট্রন ভিত্তিক ফ্রন্ট-এন্ড রয়েছে (ভ্যানিলা জেএসের সাথেও কাজ করে!): Onivim.io । এটি এখনও প্রান্তের চারপাশে কিছুটা রুক্ষ তবে আমি এটি কয়েক সপ্তাহ ধরে আমার প্রতিদিনের চালক হিসাবে ব্যবহার করছি এবং খুব বেশি সমস্যা হয়নি। এটির চারপাশে এটির একটি সত্যই ভাল সম্প্রদায় রয়েছে এবং এটি অত্যন্ত ভারী বিকাশের অধীনে রয়েছে, তাই ভবিষ্যতে আমি এটি থেকে ভাল জিনিসগুলি আশা করি! সম্পূর্ণ প্রকাশ: আমি প্রকল্পটিতে একটি মাসিক অনুদান দিচ্ছি এবং ভবিষ্যতে অবদান রাখার পরিকল্পনা করছি।
পার্কার অল্ট

উত্তর:


116

সিনট্যাক্স চেকিং / লন্টিং

সিন্টাস্টিক ভিম প্লাগইন ব্যবহার করে ভিএম এর সাথে জেএসলিন্ট বা সম্প্রদায়-চালিত jshint.com (যা আরও ভাল আইএমও) সংহত করার জন্য খুব সহজ উপায় রয়েছে । দেখুন আমার অন্যান্য পোস্ট আরও তথ্যের জন্য।

উত্স-কোড ব্রাউজিং / ট্যাগ-তালিকা

এখানে একটা খুব ঝরঝরে উপায় ট্যাগ তালিকা মজিলার ব্যবহার যোগ করার জন্য এর DoctorJS (পূর্বে jsctags ), যা ব্যবহার করা হয় cloud9 আইডিই এর টেক্কা অনলাইন সম্পাদক

  1. আপনার প্রিয় প্যাকেজ-পরিচালক (উবুন্টু apt-get, ম্যাকের বাড়িbrew ইত্যাদি) ব্যবহার করে নিম্নলিখিত প্যাকেজগুলি ইনস্টল করুন :
    1. exuberant-ctags
      • দ্রষ্টব্য: ইনস্টল করার পরে নিশ্চিত হয়ে নিন যে চলমানটি ctagsআসলে চালিত হয় exuberant-ctagsএবং না ওএসের পূর্বনির্ধারিত ctags। এক্সিকিউট করে জানতে পারবেন ctags --version
    2. node (Node.js)
  2. গিথুব DoctorJSথেকে ক্লোন :git clone https://github.com/mozilla/doctorjs.git
  3. দিরের ভিতরে যান DoctorJSএবং make install( আপনারও makeঅ্যাপ্লিকেশন ইনস্টল করা দরকার তবে এটি খুব বেসিক)।
    • প্লাগইন ইনস্টল করার সাথে কিছু বাগ রয়েছে, make installমুহুর্তের জন্য কৌশলটি করেন না। আপাতত আমি কেবল তার bin/পরিবর্তে আমার $ PATH এ রেপোর দির যুক্ত করব। দেখুন DoctorJS এর GitHub এবং বিষয় পৃষ্ঠাগুলি আরও তথ্যের জন্য।
  4. ট্যাগবার ভিম প্লাগইন ইনস্টল করুন ( দ্রষ্টব্য: এটি ট্যাগবার, পুরানো কুখ্যাত ট্যাগলিস্ট নয়!)।
  5. লাভ। :)

নতুন প্রকল্প - Tern.js

ডাক্তারজেএস বর্তমানে মারা গেছেনTern.js নামে একটি নতুন প্রতিশ্রুতিবদ্ধ প্রকল্প রয়েছে । এটি বর্তমানে প্রাথমিক বিটাতে রয়েছে এবং শেষ পর্যন্ত এটি প্রতিস্থাপন করা উচিত।

এখানে একটি প্রকল্প রাইমটোস / জেএসটি্যাগ রয়েছে যা এর ইঞ্জিন হিসাবে টর্ন ব্যবহার করে। কেবল npm install -gএটি, এবং ট্যাগবার এটি স্বয়ংক্রিয়ভাবে জাভাস্ক্রিপ্ট ফাইলগুলির জন্য ব্যবহার করবে।


5
ট্যাগবারের জন্য +1 (কেবলমাত্র ট্যাগলিস্ট সম্পর্কে সচেতন ছিল!)
রবএম

9
বর্তমানে doctorjs উল্লেখিত ক্লোন রিকার্সিভ করতে হবে এই বাগ , git clone --recursive https://github.com/mozilla/doctorjs.gitএবং তারপর ইনস্টল করা কাজ করা উচিত
অ্যান্ডি রে

1
উইন্ডোজে ডক্টরস: বাউমিচেল.ব্লগস্পট.সি .২০১১/ ১০ / ট্যাগগারে অতিরিক্ত ফাইল টাইপ যুক্ত করছে: github.com/majutsushi/tagbar/wiki
অ্যান্ড্রু

6
Doctorjs ঢুকলেই 3, সিডি কাজ করার আগে এবং এই কাজের জন্য: git submodule init && git submodule update। তারপরে 3. পদক্ষেপটি করুন
গ্লোথথ করুন

2
চোলাই কমান্ড আসলেbrew install ctags-exuberant
sym3tri

17

snipMate TextMate এর অনুকরণ সন্নিবেশ সিস্টেম এবং ডিফল্টরূপে দরকারী জাতীয় স্নিপেট একটি গুচ্ছ (অন্যদের মধ্যে) দিয়ে আসে। এটি আপনার নিজের যুক্ত করা অত্যন্ত সহজ।

javaScriptLint আপনাকে jsl এর বিপরীতে আপনার কোডটি বৈধ করার অনুমতি দেয়

এছাড়াও আপনি vim.org- এ বিভিন্ন জাভাস্ক্রিপ্ট সিনট্যাক্স ফাইল খুঁজে পেতে পারেন । তাদের ব্যবহার করে দেখুন এবং আপনার কোডিং শৈলীর জন্য কোনটি সবচেয়ে ভাল কাজ করে তা দেখুন।

নেটিভ omnicomplete ( ctrlx- ctrlo) আমার জন্য খুব ভাল কাজ করে। আপনি এটি অটোরকম্পলপপ দিয়ে আরও গতিশীল করতে পারেন তবে এটি কখনও কখনও বিরক্তিকর হতে পারে।

tarek11011 এর মন্তব্যের জবাবে সম্পাদনা করুন:

এসিপি জাভাস্ক্রিপ্টের জন্য ডিফল্টরূপে কাজ করে না, আপনাকে এটি কিছুটা টুইট করতে হবে। এটি আমি এখানে কীভাবে করেছি (নোংরা হ্যাক, আমি এখনও ভিম ​​নুব):

ভিআইএম-অটোকম্প্প্প / প্লাগইন / এসিপি.ভিমে আমি যুক্ত করেছি phpএবং javascript(এবং actionscript) behavsযাতে এটি দেখতে দেখতে:

let behavs = {
    \   '*'            : [],
    \   'ruby'         : [],
    \   'python'       : [],
    \   'perl'         : [],
    \   'xml'          : [],
    \   'html'         : [],
    \   'xhtml'        : [],
    \   'css'          : [],
    \   'javascript'   : [],
    \   'actionscript' : [],
    \   'php'          : [],
    \ }

একটু নীচে, এমন একটি কোড ব্লকের সিরিজ রয়েছে যা দেখতে দেখতে:

"---------------------------------------------------------------------------
call add(behavs.ruby, {
    \   'command' : "\<C-x>\<C-o>",
    \   'meets'   : 'acp#meetsForRubyOmni',
    \   'repeat'  : 0,
    \ })

আমি এটিকে সদৃশ করে এটিকে দেখতে কিছুটা সম্পাদনা করেছি:

"---------------------------------------------------------------------------
call add(behavs.javascript, {
    \   'command' : "\<C-x>\<C-o>",
    \   'meets'   : 'acp#meetsForRubyOmni',
    \   'repeat'  : 0,
    \ })

এবং ক্রিয়া স্ক্রিপ্ট এবং পিএইচপি জন্য একই কাজ।

আপনি যদি কোনও এইচটিএমএল নথির মধ্যে জেএস / সিএসএস সম্পাদনা করতে চান তবে আপনি এটি করতে পারেন: ভিমের কমান্ড লাইনে ft = html.css.javascript সেট করুন ctrlx- সিএস ctrloব্লকগুলিতে পদ্ধতি / বৈশিষ্ট্যের নাম এবং বৈশিষ্ট্য / মানগুলিতে প্রত্যাশা অনুযায়ী কাজ করুন। তবে এই পদ্ধতির তার ত্রুটিগুলিও রয়েছে (অদ্ভুত ইন্ডেন্টেশন…)।


কীভাবে আপনি এই দুর্দান্ত চেহারার কীস্ট্রোক করলেন?
ম্যাক্সিম স্লোইকো

1
হাহাহা, এটি <kbd> </kbd>। ব্রাউজারগুলির সাধারণত এই ট্যাগটির জন্য কোনও ডিফল্ট স্টাইলিং থাকে না, অতিরিক্ত কাজ করার জন্য এসও দলে কুডো।
রোমেনেল

আপনাকে রোমেনেল ধন্যবাদ, তবে একটি অটোকম্পলপপ নিয়ে একটি সমস্যা রয়েছে এটি কেবল এইচটিএমএল ফাইলের সাথে কাজ করছে না জেএসএস এবং সিএসএস এবং পিএইচপি
তারেক সাইদ

প্রচুর ভিম প্লাগইনগুলির মতো এসিপি ফাইল টাইপের ক্ষেত্রে খুব সংবেদনশীল। যদি বাফারের ফাইল টাইপটি "এইচটিএমএল" হয়, এসিপি বা ওমনি সম্পূর্ণ না এম্বেড জেএস / সিএসএস / পিএইচপি জন্য কাজ করবে না। এবং আমি আমার উত্তর সম্পাদনা করতে যাচ্ছি, এখানে পর্যাপ্ত সম্পাদনা বিকল্প / ঘর নয়।
রোমেনেল

আপনি স্নিপমেটের বর্তমান রক্ষণাবেক্ষণ শাখাটি ব্যবহার করতে পছন্দ করতে পারেন যে রক গারবাস এবং কো। একসাথে কর.
thisgeek

8

এই প্লাগইনটি দরকারী: https://github.com/maksimr/vim-jsbeautify । এটি জাভাস্ক্রিপ্টের জন্য সম্পূর্ণ অটোফর্ম্যাটিং সরবরাহ করে। একটি কীস্ট্রোক এবং আপনার কোডটি দেখতে সুন্দর দেখাচ্ছে। কোড স্নিপেটগুলি পাশাপাশি আটকানোর সময় এটি কার্যকর হতে পারে। এটি জনপ্রিয় জেএস-বিউটিফায়ার ব্যবহার করে, যা একটি অনলাইন অ্যাপ্লিকেশন হিসাবেও পাওয়া যায়। পরেরটি ঠিক এখানে পাওয়া যাবে: http://jsbeautifier.org/


3
আমি ভিএম এর জন্য একটি সাধারণ অটোফর্ম্যাটিং প্লাগইন লিখেছিলাম যা জেএস-বিউটিফায়ার এবং আরও কিছু সংহত করে। এখানে দেখুন: github.com/Chiel92/vim-autoformat
দশ Brinke

প্রাকটিটিয়ার - সেরা
অ্যালেক্স শোয়ার্ক

6

আমি কেবল একটি জেসি নির্দিষ্ট ভিআইএম প্লাগইন ব্যবহার করি - jslint.vim - https://github.com/hallettj/jslint.vim যা আপনার কোডকে jslints নিয়মের সাথে বৈধ করে এবং আপনাকে সিনট্যাক্স ত্রুটিগুলিও দেয়।


ধন্যবাদ তবে আমি মনে করি img69.imageshack.us/img69/7629/11142565.png
তারেক সাইয়েদ

এইচ, উইন্ডোজগুলিতে আপনার নির্দিষ্ট নির্দেশাবলীর অনুসরণ করতে হবে, এটির একটি জাভাস্ক্রিপ্ট দোভাষী দরকার। আমি এটি উইন্ডোতে ইনস্টল করার চেষ্টা করিনি, তবে ইনস্টল নির্দেশাবলী পৃষ্ঠায় কিছুটা নিচে README তে রয়েছে, দুঃখিত আমি সেখানে আরও সাহায্য করতে পারি না।
স্কট 14

3

ইন্ডেন্টেশন এবং অটোফর্ম্যাটিং ঠিক করতে (Ctrl =): জাভাস্ক্রিপ্ট ইনডেন্ট

ইনডেন্টেশন প্রস্থ সেট করতে, javascript.vimনিম্নলিখিত বিষয়বস্তু (দুটি স্পেস ইন্ডেন্টেশনের জন্য) সহ ফাইলটি ~ / .vim / ftplugin dir এ যুক্ত করুন:

 setl sw=2 sts=2 et

ইন ~/.vimrc:autocmd FileType javascript setlocal sw=2 ts=2 sts=2
জুয়ানপাবলো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.