.aliases
Bash ve zsh adında bir dosyam var, bu satırı koydum
# vim: set filetype=bash:
ama yaparsam
: echo &ft
alırım conf
.aliases
Bash ve zsh adında bir dosyam var, bu satırı koydum
# vim: set filetype=bash:
ama yaparsam
: echo &ft
alırım conf
Yanıtlar:
Bu işe yaramalı. O çizgiyi kendim denedim ve işe yaradı. 'Modeline' seçeneğiniz 'nomodeline' olarak ayarlanmış olabilir. Bunu çalıştırmayı deneyin ve ne elde ettiğinizi görün.
:verbose set modeline?
Bu size 'modeline' seçeneğinin değerini ve varsayılan değilse son ayarlandığı yeri söyleyecektir.
'Linuxine' ile ilgili güvenlik sorunları uzun süredir giderilmiş olsa da, bazı Linux dağıtımları / etc / vimrc veya / usr / share / vim / vimrc içindeki 'nomodeline'ı güvenlik önlemi olarak belirlemiştir.
modelines
seçeneğin uygulanmadığını ve asla olmayacağını söyledi. Bu, PDF, Word, Excel, & c & c & c'de çalıştırmak için dosyaya gömülü komutlardan veya makro talimatlarından kaynaklanan tüm güvenlik hataları gibidir.
Bu diğer yanıtta tam bir hata ayıklama kontrol listesini açıklıyorum .
Çünkü GERÇEKTEN bu sefer şaşkına dönmüş dokümantasyon olduğunu tamamen değil gerçek.
Sürüm 8'de (ve belki de daha önce) set
, modelinizdeki kelimeyi kullanamayacağınız ortaya çıkıyor . Dokümantasyon "ikinci form" u var olarak tanımlar, /* vim: set ai tw=75: */
ancak bu işe yaramaz. "İlk formu" kullanmalısınız// vim: ai tw=75
Not: Bu tür yorum göstergelerinden herhangi birini kullanabilirsiniz. Ya da hiçbiri.
set
Vim 8.0 ile form benim için iyi çalışıyor (7.4 olmasa da). Ayrıca ikinci formda // vim: ai tw=75
, satırın sonunda başka karakterler bulunamayacağını veya vim'in modelini şikayet edip görmezden geleceğini belirtmek gerekir.
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.
(Son satırların anlamı ... , derlenmiş ... , büyük sürüm ... ).
set modelines=1
(veya 0 olmayan bir değer) ~ / .vimrc içinde benim için çalıştı.
modeline
Ayrıca ayarlanmadıysa bunun bir etkisi yoktur (root değilseniz
set nomodeline
yılında /etc/vimrc
tüm nedeniyle vim taşıma kipsatırlarının ile açıkları.
modelines
sıfırdan farklı bir değere ayarlamam gerekiyordu. Yardım varsayılan olduğunu söylüyor 5
, bu yüzden bunu ayarladım ve bu benim için hile yaptı. Devletler,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
Funtoo Linux kutumda benim için çalıştığım şeye sadece aşağıdakileri eklemek :
set modeline
Bu aramalarda ortaya çıktığı için:
Aynı sorunu yaşadım:
# vim: set filetype=sh:
işe yaramadı, sonuçta ft = conf de ortaya çıktı. ~ / .bash_alias'ımdaki modelin olmadan, ft boş, bu yüzden bir şey değişir.
süre
# vim: filetype=sh:
çalıştı. son ":" varlığı önemsiz görünüyor.
Kayıtlar için Vim8 demlenmiş sürümü olan OSX'dayım.
garip çünkü hem modelinden hem de
[text]{white}{vi:|vim:|ex:}[white]{options}
ve
[text]{white}{vi:|vim:|Vim:|ex:}[white]se[t] {options}:[text]
destekleniyor gibi görünüyor.
Çıktı
verbose set ft?
"vim: filetype = sh" ile
filetype=sh
Last set from modeline
modelsiz:
filetype=
"vim: set filetype = sh" ile
filetype=conf
Last set from /usr/local/Cellar/vim/8.0.1350/share/vim/vim80/filetype.vim
Kıyametimde bir yerde bir yan etki olabilir, ancak uyumlu olmayan modelin sözdizimi benim için beklendiği gibi çalışan tek şeydir.
/usr/share/vim/vim80/debian.vim
dan vim-common
üzerinde Debian tabanlı dağıtımlar devre dışı bırakır modeline
, varsayılan olarak.
" modelines have historically been a source of security/resource
" vulnerabilities -- disable by default, even when 'nocompatible' is set
set nomodeline
Dosyanızda veya dosyanızda modeline
açıkça etkinleştirmeniz gerekir ..vimrc
~/.vim/vimrc
set modeline
Muhtemelen bunun nedeni modelin devre dışı kalmasıdır.
Ben bunun etrafında çalışıyorum:
Bu durumda, varsayılan beyaz listedeki komutlar içerir filetype
.