Acabei de encontrar uma dica para emacs por Stephan Arentz
Eu achei o recurso muito útil. então aqui a vim
versã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 which
a 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.