Apakah ada cara untuk mengatur +x
bit pada skrip saat membuat?
Misalnya saya menjalankan:
vim -some_option_to_make_file_executable script.sh
dan setelah menyimpan saya dapat menjalankan file tanpa ada gerakan tambahan.
ps. Saya dapat menjalankan chmod
dari vim
atau bahkan dari konsol itu sendiri, tetapi ini sedikit mengganggu, sebab vim
menyarankan untuk memuat ulang file. Juga sangat menjengkelkan untuk mengetik chmod
perintah setiap saat. pps. Akan sangat bagus untuk membuatnya tergantung pada ekstensi file (saya tidak perlu dieksekusi .txt
:-))
shell-script
vim
executable
chmod
buru-buru
sumber
sumber
if
menjadi satuif getline(1) =~ "^#!/bin/"
. Bagaimanapun itu luar biasa. Terima kasih.au BufWritePost * if getline(1) =~ "^#!" | silent !chmod +x % | endif
/bin
tidak segera mengikuti shebang, seperti#!/usr/bin/env
. Cara mengatasinya adalah tentu saja untuk menggunakan wildcard: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
Saya menemukan skrip ini di http://vim.wikia.com . Bukan solusi yang sempurna, tetapi yang dapat diterima, saya pikir.
Anda sekarang dapat mengatur bit eksekusi dengan perintah
:Xbit
. Semua kredit untuk Max Ischenko di vim.wikia.comsumber
Saya menggunakan ini di MacVim Custom Version 8.0.648 (134)
sumber
jawaban tonymac berhenti bekerja untuk saya di beberapa titik (dengan VIM 7.4), memberi saya masalah yang sama dengan @StevieD. Memodifikasi itu memperbaiki masalah:
Saya menemukan jawaban dari https://bbs.archlinux.org/viewtopic.php?id=126304 , meskipun @StevieD juga memberikan jawaban yang sama.
sumber