প্রত্যাশার মতো কাজ করছে না মডেলিনের সাথে ভিএম ফাইল টাইপ সেট করা


12

এই প্রশ্নের স্বীকৃত উত্তর অনুসারে , আমি কিছু ফাইলগুলিতে ফাইল টাইপ সনাক্তকরণে বাধ্য করার জন্য ভিএম-তে মডেলিনগুলি ব্যবহার করার চেষ্টা করছি।

উদাহরণস্বরূপ, নামের একটি ফাইলের শীর্ষে gitconfig(নোট নেই যে শীর্ষস্থানীয় নেই .), আমার নিম্নলিখিত লাইনটি রেখেছেন:

# vim: set filetype=gitconfig : 

modelineআমার সিস্টেমে সক্ষম। যাইহোক, আমি যখন ভিএম-তে ফাইলটি খুলি তখন প্রত্যাশার চেয়ে set filetype?ফিরে আসে ।confgitconfig

এটা কি সম্ভব যে আমার ভিএম কনফিগারেশনের অন্যান্য অংশগুলি (যেমন ফাইল টাইপ.ভিম) এই অদ্ভুত আচরণের কারণ হয়ে দাঁড়িয়েছে?

মন্তব্যের জবাবে সম্পাদিত:

set compatible? আয় nocompatible

set modeline? আয় modeline

verbose set filetype? আয়:

filetype=conf
      Last set from /usr/share/vim/vim73/filetype.vim

আমি বুঝতে পারি না যে সিস্টেমে ওয়াইড ফাইল টাইপ প্লাগইনটি আমি নিজেই ফাইলটিতে যা সেট করেছি সেগুলি ওভাররাইড করবে।

একটি চূড়ান্ত নোট: এটি ওএসএক্সের সাথে প্রেরিত ভিম 7.3 এর সংস্করণ।

ম্যাকভিমের সর্বশেষতম সংস্করণ একই সিস্টেমে চলছে একই .vimrcসাথে প্রত্যাশিত আচরণ করে, set ft?ফিরে আসার সাথে filetype=gitconfig


আমি সাধারণত ফাইলগুলির শেষের (শেষ পংক্তিতে) বিকল্পগুলি সেট করে দেখেছি - সম্ভবত এটিই সমস্যা ...
rozcietrzewiacz

কেবল তা নিশ্চিত করার জন্য: আপনি কি পরীক্ষা করেছেন যে set modeline?এটি মুদ্রণ করে না nomodeline?
rozcietrzewiacz

আমি মডেলিন কাজ না করার সবচেয়ে সাধারণ কারণটি compatibleসেট করা আছে is এটি খুব মূল্যবান হবে।
এড স্টিল

প্রতিক্রিয়া জন্য আপডেট প্রশ্ন দেখুন।
মুরালি সুরিয়ার

উত্তর:


21

সুতরাং, কিছু খনন করার পরে, এটি ট্রান্সপোর্ট করে যে vimrcওএসএক্সের সাথে প্রেরিত সিস্টেমটি modelines( চলমানের নোটটি নোট করুন) ভেরিয়েবল 0 এ সেট করে This আমার .vimrcসমস্যার সমাধানে একটি শূন্য-মানে মডেলাইনগুলি সেট করা ।

vim --versionকৌতূহলের জন্য সম্পূর্ণ আউটপুট: আউটপুট আমাকে সিস্টেম ভিএমআরসি চেক করতে অনুরোধ করেছে:

% vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jun 24 2011 20:00:09)
Compiled by root@apple.com
Normal version without GUI.  Features included (+) or not (-):
...
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -D_FORTIFY_SOURCE=0 -Iproto -DHAVE_CONFIG_H -arch i386 -arch x86_64 -g -Os -pipe
Linking: gcc -arch i386 -arch x86_64 -o vim -lncurses

সিস্টেম ভিমআরসি-র দিকে তাকানো:

% cat /usr/share/vim/vimrc 
" Configuration file for vim
set modelines=0         " CVE-2007-2438
...

আমাকে modelinesভেরিয়েবলের নেতৃত্বে দিন । দেখা যাচ্ছে যে ম্যাকভিম এই সিস্টেম ফাইলটি উত্স করে না (সম্ভবত এর পরিবর্তে কোনও সিস্টেম জিভিআইএমআরসি খুঁজছে? :help startupপরিষ্কার নয়)।

VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jul 27 2011 19:46:24)
MacOS X (unix) version
Included patches: 1-260
Compiled by XXXXX
Huge version with MacVim GUI.  Features included (+) or not (-):
...
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/Applications/MacVim.app/Contents/Resources/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -p
ipe  -DMACOS_X_UNIX -no-cpp-precomp  -g -O2 -D_FORTIFY_SOURCE=1
Linking: gcc   -L.         -Wl,-syslibroot,/Developer/SDKs/MacOSX10.6.sdk -L/usr/local/lib -o V
im -framework Cocoa -framework Carbon      -lncurses  -liconv -framework Cocoa    -fstack-prote
ctor -L/usr/local/lib  -L/System/Library/Perl/5.10/darwin-thread-multi-2level/CORE -lperl -lm -
lutil -lc -framework Python   -framework Ruby

1

এটির জন্য আমার ম্যাকোস সিস্টেমে কাজ করার জন্য আমাকে settings / .vimrc এ বেশ কয়েকটি সেটিংস সংজ্ঞায়িত করতে হয়েছিল:

modeline
modelines=2

যেখানে ' মডেলাইন ' ইন-ফাইল সেটিংসের ব্যবহার সক্ষম করে এবং ' মডেলাইনস = # ' লাইন সংখ্যা নির্ধারণ করে যা ভিএম / ভিআই সেট কমান্ডগুলির জন্য পরীক্ষা করবে।

এই পরামিতিগুলি সেট হয়ে গেলে আমি সেট পরামিতিগুলিকে ওভাররাইড করতে আমার ফাইলগুলিতে নীচের লাইনের মতো সিনট্যাক্স ব্যবহার করতে সক্ষম হয়েছি।

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