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 simecho
não irá substituí-lo. -
-e
in echo permite a interpretação de escapes de barra invertida, como\n
para uma nova linha. Em seguida, insere 2 novas linhas após a linha shebang. -
+normal G
executa o comando exG
, que salta para a última linha do arquivo. -
+startinsert
muda 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