Existe-t-il un moyen de définir le +x
bit sur le script lors de la création?
Par exemple, je lance:
vim -some_option_to_make_file_executable script.sh
et après avoir enregistré, je peux exécuter le fichier sans aucun mouvement supplémentaire.
ps. Je peux courir chmod
depuis vim
ou même depuis la console elle-même, mais c'est un peu gênant, car vim
suggère de recharger le fichier. Il est également ennuyeux de taper une chmod
commande à chaque fois. pps. Ce serait génial de le faire en fonction de l'extension du fichier (je n'ai pas besoin d'exécutable .txt
:-))
shell-script
vim
executable
chmod
se ruer
la source
la source
if
en unif getline(1) =~ "^#!/bin/"
. Quoi qu'il en soit, c'est incroyable. Je vous remercie.au BufWritePost * if getline(1) =~ "^#!" | silent !chmod +x % | endif
/bin
ne suit pas immédiatement le shebang, comme#!/usr/bin/env
. Une façon de contourner qui est bien sûr d'utiliser un joker: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
J'ai trouvé ce script sur http://vim.wikia.com . Pas une solution parfaite, mais une solution acceptable, je pense.
Vous pouvez maintenant définir le bit d'exécution avec la commande
:Xbit
. Tous les crédits à Max Ischenko sur vim.wikia.comla source
Je l'utilise dans MacVim Custom Version 8.0.648 (134)
la source
la réponse de tonymac a cessé de fonctionner pour moi à un moment donné (avec VIM 7.4), me posant le même problème que @StevieD. La modifier a résolu le problème:
J'ai trouvé la réponse sur https://bbs.archlinux.org/viewtopic.php?id=126304 , bien que @StevieD ait également donné la même réponse.
la source