Use isto:
vishex ()
{
[ -e "$1" ] || echo -e '#!/bin/bash\n\n' > "$1";
chmod +x "$1";
vi "+normal G" +startinsert "$1"
}
-
[ -e "$1" ]verifica se o script já existe. Se simechonão irá substituí-lo. -
-ein echo permite a interpretação de escapes de barra invertida, como\npara uma nova linha. Em seguida, insere 2 novas linhas após a linha shebang. -
+normal Gexecuta o comando exG, que salta para a última linha do arquivo. -
+startinsertmuda diretamente para o modo de inserção (você também pode deixar isso, pois não está na questão mencionada).
Então, ao executar vishex script , ele aparece da seguinte maneira:
#!/bin/bash
<- cursor is here
~
[...]
~
-- INSERT -- 3,1 All