मेरे पास .aliases
bash और zsh के लिए एक फाइल है , मैंने यह लाइन लगाई है
# vim: set filetype=bash:
लेकिन अगर मैं बना
: echo &ft
मुझे मिला conf
मेरे पास .aliases
bash और zsh के लिए एक फाइल है , मैंने यह लाइन लगाई है
# vim: set filetype=bash:
लेकिन अगर मैं बना
: echo &ft
मुझे मिला conf
जवाबों:
वह काम करना चाहिए। मैंने खुद उस लाइन को आजमाया और यह काम किया। मैं यह हो सकता है कि आपका 'मॉडलाइन' विकल्प 'नामांकित' के लिए सेट हो गया। इसे निष्पादित करने का प्रयास करें और देखें कि आपको क्या मिलता है।
:verbose set modeline?
यह आपको 'मॉडल' विकल्प का मूल्य बताएगा और यदि डिफ़ॉल्ट नहीं है, तो यह अंतिम सेट कहां था।
कुछ लिनक्स वितरण एक सुरक्षा उपाय के रूप में / etc / vimrc या / usr / share / vim / vimrc में 'nomodeline' सेट करते हैं, भले ही 'modeline' के साथ सुरक्षा समस्याएं लंबे समय से तय की गई हों।
modelines
कि विकल्प को लागू किया गया है और यह कभी नहीं होगा। यह पीडीएफ-वर्ड, एक्सेल, और सी एंड एंड सी में चलाने के लिए फ़ाइल-एम्बेडेड कमांड या मैक्रो निर्देशों से उपजी सभी सुरक्षा कीड़े की तरह है।
मैं इस अन्य उत्तर में एक पूर्ण डिबग चेकलिस्ट का वर्णन करता हूं ।
मैं वास्तव में इस पर स्टम्प्ड गया क्योंकि प्रलेखन है पूरी तरह से नहीं सच।
यह पता चला है कि संस्करण 8 (और शायद पहले) में आप set
अपने मॉडल में शब्द का उपयोग नहीं कर सकते हैं । दस्तावेज़ीकरण "होने के रूप में" दूसरा रूप बताता है /* vim: set ai tw=75: */
लेकिन यह काम नहीं करता है। आपको "पहले फ़ॉर्म" का उपयोग करना होगा// vim: ai tw=75
नोट: आप उन दोनों प्रकार के टिप्पणी संकेतकों का उपयोग कर सकते हैं। या कोई भी नहीं।
set
मेरे लिए ठीक 8.0 vim पर काम करता है (हालाँकि 7.4 पर नहीं)। यह भी ध्यान देने योग्य है कि दूसरे रूप के साथ // vim: ai tw=75
, पंक्ति के अंत में कोई अन्य वर्ण नहीं हो सकता है, या विम मॉडल की शिकायत और अनदेखी करेगा।
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Nov 24 2016 16:44:48) Inklusive der Korrekturen: 1-1689 Extra-Patches: 8.0.0056 Verändert von pkg-vim-maintainers@lists.alioth.debian.org Übersetzt von pkg-vim-maintainers@lists.alioth.debian.org Riesige Version mit GTK2-GNOME GUI.
(अंतिम पंक्तियों का अर्थ है ... , द्वारा संकलित ... , विशाल संस्करण ... )।
set modelines=1
(या किसी भी गैर-0 मान) में मेरे ~ / .vimrc ने इसे मेरे लिए काम किया।
modeline
सेट नहीं है (जो कि विम में डिफ़ॉल्ट रूप से है जब तक आप रूट नहीं होते हैं)
set nomodeline
, /etc/vimrc
जो कि विम में संभाल रहे हैं।
modelines
गैर-शून्य मान पर भी सेट करना पड़ा । मदद कहती है कि डिफ़ॉल्ट है 5
, इसलिए मैंने इसे सेट किया है और इसने मेरे लिए चाल चली है। द स्टेट्स If 'modeline' is on 'modelines' gives the number of lines that is checked for set commands. If 'modeline' is off or 'modelines' is zero no lines are checked.
~/.vimrc
मेरे फ़नटू लिनक्स बॉक्स पर मेरे लिए काम करने के लिए बस निम्नलिखित जोड़ना :
set modeline
चूंकि यह खोजों में आता है:
मुझे भी यही समस्या थी:
# vim: set filetype=sh:
काम नहीं किया, जिसके परिणामस्वरूप ft = conf भी। मेरे ~ / .bash_alias में मॉडल के बिना, फीट खाली है, इसलिए कुछ बदलता है।
जबकि
# vim: filetype=sh:
काम किया। अंतिम ":" उपस्थिति अप्रासंगिक लगती है।
मैं रिकॉर्ड के लिए एक Vim8 पीसा संस्करण के साथ OSX पर हूँ।
यह अजीब है क्योंकि दोनों के मॉडल की मदद से
[text]{white}{vi:|vim:|ex:}[white]{options}
तथा
[text]{white}{vi:|vim:|Vim:|ex:}[white]se[t] {options}:[text]
समर्थन प्रतीत होता है।
का उत्पादन
verbose set ft?
"vim: filetype = sh" के साथ है
filetype=sh
Last set from modeline
बिना मॉडल के:
filetype=
"विम: सेट फिलाटाइप = श" के साथ
filetype=conf
Last set from /usr/local/Cellar/vim/8.0.1350/share/vim/vim80/filetype.vim
मेरे विचार में कहीं न कहीं इसका साइड इफेक्ट हो सकता है, लेकिन गैर-संगत मॉडलाइन सिंटैक्स केवल एक ही है जो मेरे लिए उम्मीद के मुताबिक काम करता है।
/usr/share/vim/vim80/debian.vim
से vim-common
पर डेबियन-आधारित distros से अक्षम modeline
डिफ़ॉल्ट रूप से।
" modelines have historically been a source of security/resource
" vulnerabilities -- disable by default, even when 'nocompatible' is set
set nomodeline
आपको modeline
अपनी .vimrc
या ~/.vim/vimrc
फ़ाइल में स्पष्ट रूप से सक्षम करना होगा ।
set modeline
ज्यादातर शायद यही कारण है कि मॉडलाइन अक्षम होने के कारण।
मैं उस के आसपास काम करता हूं:
इस मामले में, डिफ़ॉल्ट श्वेतसूचीबद्ध आदेश शामिल हैं filetype
।