নতুন রুবি সিনট্যাক্সকে চিনতে আমি সিন্টাস্টিক কীভাবে পেতে পারি?


10

আমি ভিমে সিন্টাস্টিক ব্যবহার করছি এবং এটি ত্রুটি হিসাবে নতুন রুবি সিনট্যাক্সকে হাইলাইট করে। উদাহরণস্বরূপ, আমি যদি প্রয়োজনীয় কীওয়ার্ড আর্গুমেন্ট ব্যবহার করি (রুবি ২.১ এ প্রবর্তিত), এর মতো:

def distance(from:, to:)
  # whatever
end

... এটি সংজ্ঞা রেখাটি হাইলাইট করে এবং "অপ্রত্যাশিত", '"বলে।

আমি কীভাবে এটি বৈধ রুবি সিনট্যাক্স হিসাবে স্বীকৃতি পেতে পারি? আমি ইতিমধ্যে আপডেট করেছি ~/.vim/syntax/ruby.vim


দ্রষ্টব্য: ফাইলগুলিতে সিনট্যাক্স পরীক্ষা~/.vim/syntax/ruby.vim করার সাথে কিছুই করার নেই ; এটি সিনট্যাক্স হাইলাইট করার জন্য । দেখুন robots.thoughtbot.com/writing-vim-syntax-plugins
নাথন লং

উত্তর:


9

সিনটাস্টিকের জন্য রুবি এক্সিকিউটেবল নির্দিষ্ট করুন

কোনও ruby -cফাইলের সিনট্যাক্স পরীক্ষা করার জন্য সিনটাস্টিক কলগুলি , সুতরাং এটির ত্রুটিগুলি এটি রুবীর কোন সংস্করণ ব্যবহার করে তা নির্ভর করে।

আপনি এটির মতো এটি ব্যবহার করতে চান তার দিকে এটি নির্দেশ করতে পারেন:

let g:syntastic_ruby_exec = 'path/to/ruby/executable'

দ্রষ্টব্য: সিন্টাস্টিকের নতুন সংস্করণগুলিতে:

let g:syntastic_ruby_mri_exec = 'path/to/ruby/executable'

$ type rubyআপনার বর্তমান রুবি নির্বাহযোগ্য কোথায় তা আপনাকে বলবে। তারা কোথায় বাইনারি রাখে সে সম্পর্কে রুবি ইনস্টলারগুলির নিজস্ব কনভেনশন রয়েছে। উদাহরণ:

  • রুবি-ইনস্টল রুবি ইনস্টলসগুলিতে রাখে ~/.rubiesএবং নির্দিষ্ট রাস্তায় নির্দিষ্ট সংস্করণগুলিতে রাখে~/.rubies/ruby-2.2.0/bin/ruby
  • আরভিএম রুবি ইনস্টলসগুলিতে~/.rvm/rubies এবং নির্দিষ্ট সংস্করণগুলিতে পছন্দ করে~/.rvm/rubies/ruby-2.2.0/bin/ruby

এফওয়াইআই: আপনি যদি আরভিএম ব্যবহার করেন তবে তা হবেlet g:syntastic_ruby_exec = '~/.rvm/rubies/ruby-2.2.0/bin/ruby'
বেন

@ বেন ভাল পয়েন্ট - আপডেট উত্তর
নাথান লং

3
সিনটাস্টিকের নতুন সংস্করণের জন্য এটি:let g:syntastic_ruby_mri_exec='path/to/ruby/executable'
র্যান্ট্রিক্স

1
আপনি যদি rbenv ব্যবহার করছেন তবে আপনার এটি করতে সক্ষম হবেন let g:syntastic_ruby_exec = '~/.rbenv/shims/ruby'যে রুবি সংস্করণগুলি স্যুইচ করার সাথে সাথে এটি স্বয়ংক্রিয়ভাবে এটি বাছাই করা উচিত I
থার্মাটিক্স

ভাল @ থেরম্যাটিক্স .. আমি system("rbenv which ruby")আমার
.ভিমিরসি

4

টার্মিনাল ম্যাকভিম ব্যবহার করে আমারও এই সমস্যা হয়েছিল, যা আমি জেডএস ব্যবহার করছিলাম এমন কারণে জটিল হয়েছিল যা কোন কারণে আরভিএম বাইনারিকে সম্মান করছিল না আমি সিনটাস্টিক দিয়েছি। আমি বুঝতে পেরেছিলাম যে আমার পাথগুলি যেখানে !echo $PATHটার্মিনাল ম্যাকভিমে চলার সময় ভুল , আমার বেশ কয়েকটি সিস্টেম পাথ শীর্ষে যুক্ত হয়েছে যা আমার নিয়মিত শেলের মধ্যে নেই যা এখনও ডিফল্ট এমআরআই লোড করে দেয়।

এটি ঠিক করার জন্য, আমার .vimrc এ আমার সিন্ট্যাক্স চেকার মোটেও নির্দিষ্ট করার দরকার নেই, তবে zsh কীভাবে শুরু হয়েছিল তা আমাকে আপডেট করতে হয়েছিল। এই থ্রেডটি এখানে ব্যবহার করুন: http://vim.1045645.n5.nabble.com/MacVim-and-PATH-td3388705.html আমি কেবল দৌড়াতে পেরেছি sudo mv /etc/zshenv /etc/zprofileএবং এখন সবকিছু কাজ করে এবং আমার পথগুলি এমভিআইমে সঠিক। আরভিএম এর মাধ্যমে একটি নতুন রুবি সংস্করণ ইনস্টল করার সময় সিনটাস্টিক আপডেট করার সমস্যাটিও সমাধান করা উচিত।



এলোমেলো প্রশ্ন - "টার্মিনাল ম্যাকভিম" কি শুধু ভিম নয়? প্লেইন ভিএম ব্যবহারের মাধ্যমে আপনি টার্মিনালে ম্যাকভিম ব্যবহার করে কী কী উপকার পাবেন?
নিক

0

একটি রেল প্রকল্পের জন্য।

  • .ruby-versionপ্রকল্পের রুটে একটি ফাইলের রুবি সংস্করণ সেট করুন ।
  • এবং আপনার প্রকল্পটি মূল থেকে শুরু করুন v

সিনটাস্টিক নির্দিষ্ট রুবি সংস্করণ সহ সিনট্যাক্স চেক করবে।

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