Ich habe kürzlich eine Frage gestellt, in der ich erfahren habe, dass es :set
in vim modelines nicht möglich ist, etwas anderes als Parameter an vim modelines zu übergeben. Ich verstehe die Sicherheitsbedenken, frage mich aber, ob es keinen anderen Weg gibt, dies zu umgehen. Eine kürzlich zu SO gestellte Frage zum Einstellen großer Parametermengen zur Einhaltung eines Codierungsstandards brachte mich zum Nachdenken: Wäre es möglich, eine "Gruppe" von Dingen in meiner RC-Datei zu definieren, die von der Modeline aus ein- oder ausgeschaltet werden können?
Entschuldigen Sie den Pseudocode, aber gibt es eine Möglichkeit, eine Funktion zu erstellen, die von einem festgelegten Parameter ausgelöst wird?
set_function! codestyle()
if &1 == 'psr-2'
set ts=4
set sw=4
endfi
if &1 == 'drupal7'
set ts=2
set sw=2
iab D8 Drupal 8
endif
endset_function
Dies könnte dann durch eine Modeline wie z
# vim: codestyle=psr-2
Dies ähnelt in gewisser Weise dem Dateitypabgleich, ermöglicht jedoch manuelle Überschreibungen. Es würde auch die Umgebung auf andere vordefinierte Arten einrichten, um die Sicherheitsprobleme zu vermeiden, die entstehen, wenn eine Datei andere beliebige Befehle in vim ausführt, aber eine individuellere Umgebung ermöglicht. Gibt es eine Möglichkeit, dies zu tun?
set
; AFAIK, das ist in Vim nicht möglich ...