¿Hay alguna forma de establecer +xbit en el script mientras se crea?
Por ejemplo, ejecuto:
vim -some_option_to_make_file_executable script.sh
y después de guardar puedo ejecutar el archivo sin movimientos adicionales.
PD. Puedo correr chmoddesde vimo incluso desde la consola, pero esto es un poco molesto, porque vimsugiere volver a cargar el archivo. También es molesto escribir chmodcomandos cada vez. pps. Sería genial hacerlo dependiendo de la extensión del archivo (no necesito el ejecutable .txt:-))
shell-script
vim
executable
chmod
prisa
fuente
fuente

ifen unoif getline(1) =~ "^#!/bin/". De todos modos eso es asombroso. Gracias.au BufWritePost * if getline(1) =~ "^#!" | silent !chmod +x % | endif/binno sigue inmediatamente al shebang, como#!/usr/bin/env. Un torno manera que es, por supuesto, utilizar un comodín:getline(1) =~ "^#!.*/bin/".written/bin/bash: endif: command not found /bin/bash: endif: command not foundau BufWritePost * if getline(1) =~ "^#!" | if getline(1) =~ "/bin/" | silent execute "!chmod a+x <afile>" | endif | endifEncontré este script en http://vim.wikia.com . No es una solución perfecta, pero una aceptable, creo.
Ahora puede establecer el bit de ejecución con el comando
:Xbit. Todo el crédito a Max Ischenko en vim.wikia.comfuente
Lo uso en MacVim Custom Version 8.0.648 (134)
fuente
La respuesta de Tonyony dejó de funcionar para mí en algún momento (con VIM 7.4), dándome el mismo problema que @StevieD. Modificarlo solucionó el problema:
Encontré la respuesta en https://bbs.archlinux.org/viewtopic.php?id=126304 , aunque @StevieD también dio la misma respuesta.
fuente