Tornando scripts executáveis ​​automaticamente

Acabei de encontrar uma dica para emacs por Stephan Arentz

Eu achei o recurso muito útil. então aqui a vimversão:

function! MakeExecutable()
if (strpart(getline(1), 0, 2) == '#!')
silent
!chmod +x %
endif

endfunction


autocmd bufwritepost
* call MakeExecutable()

Ele faz exatamente as mesmas coisas (ou seja, verifique se a primeira linha começa com “#!”)

E em bônus:

nnoremap <silent> <Leader>w :r !echo "#! `which <cword>`"<CR>kdd

este mapeamento exige whicha criação de um shebang. por exemplo, digite python(ou perl, tcl, ruby, …) e, ao pressionar a palavra <Leader> w, substituirá a palavra pelo nome correto.