Existe alguma maneira de definir o +x
bit no script durante a criação?
Por exemplo, eu corro:
vim -some_option_to_make_file_executable script.sh
e depois de salvar, posso executar o arquivo sem movimentos adicionais.
ps. Eu posso correr a chmod
partir vim
ou mesmo do próprio console, mas isso é um pouco chato, porque vim
a sugestão sugere recarregar o arquivo. Também é irritante digitar chmod
comando sempre. pps. Seria ótimo fazê-lo, dependendo da extensão do arquivo (não preciso de executável .txt
:-))
shell-script
vim
executable
chmod
pressa
fonte
fonte
if
em umif getline(1) =~ "^#!/bin/"
. Enfim, isso é incrível. Obrigado.au BufWritePost * if getline(1) =~ "^#!" | silent !chmod +x % | endif
/bin
não segue imediatamente o shebang, como#!/usr/bin/env
. Uma maneira de contornar isso é, naturalmente, para usar um curinga: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
Encontrei esse script em http://vim.wikia.com . Não é uma solução perfeita, mas aceitável, eu acho.
Agora você pode definir o bit de execução com o comando
:Xbit
. Todo o crédito a Max Ischenko em vim.wikia.comfonte
Eu uso isso no MacVim Custom Versão 8.0.648 (134)
fonte
A resposta do tonymac parou de funcionar para mim em algum momento (com o VIM 7.4), dando-me o mesmo problema que o @StevieD. A modificação corrigiu o problema:
Encontrei a resposta em https://bbs.archlinux.org/viewtopic.php?id=126304 , embora o @StevieD também tenha dado a mesma resposta.
fonte