Gibt es eine Möglichkeit, +x
beim Erstellen ein Bit auf das Skript zu setzen ?
Zum Beispiel laufe ich:
vim -some_option_to_make_file_executable script.sh
und nach dem speichern kann ich datei ohne zusätzliche bewegungen ausführen.
ps. Ich kann chmod
von vim
oder sogar von der Konsole selbst laufen , aber das ist ein wenig nervig, vim
denn es empfiehlt sich, die Datei neu zu laden. Es ist auch ärgerlich, chmod
jedes Mal einen Befehl einzugeben. pps. Es wäre toll, es abhängig von der Dateierweiterung zu machen (ich brauche keine ausführbare Datei .txt
:-))
shell-script
vim
executable
chmod
eilen
quelle
quelle
if
zu einem verbindenif getline(1) =~ "^#!/bin/"
. Wie auch immer, das ist unglaublich. Vielen Dank.au BufWritePost * if getline(1) =~ "^#!" | silent !chmod +x % | endif
/bin
nicht sofort folgt, wie#!/usr/bin/env
. Ein Weg , um die natürlich einen Platzhalter zu verwenden:getline(1) =~ "^#!.*/bin/"
.written/bin/bash: endif: command not found /bin/bash: endif: command not found
au BufWritePost * if getline(1) =~ "^#!" | if getline(1) =~ "/bin/" | silent execute "!chmod a+x <afile>" | endif | endif
Ich habe dieses Skript unter http://vim.wikia.com gefunden . Keine perfekte, aber akzeptable Lösung, denke ich.
Sie können jetzt das Ausführungsbit mit dem Befehl setzen
:Xbit
. Wir danken Max Ischenko auf vim.wikia.comquelle
Ich verwende dies in MacVim Custom Version 8.0.648 (134)
quelle
Die Antwort von tonymac funktionierte irgendwann nicht mehr für mich (mit VIM 7.4), und ich hatte das gleiche Problem wie bei @StevieD. Das Ändern hat das Problem behoben:
Ich fand die Antwort von https://bbs.archlinux.org/viewtopic.php?id=126304 , obwohl @StevieD auch die gleiche Antwort gab.
quelle