Automatiza el editor vi / nano para cometer git –amend

Básicamente tengo que search una confirmación específica y luego modificar su post de confirmación. así que después de git commit --amend y cuando se abre el editor (nano/vi) luego añadí text entre y salve y salí.

Intenté modificar el file .git/COMMIT_EDITMSG través del script de shell, pero no funcionó. Puedo modificar el file pero los cambios no se reflejaron en git push. 🙁

Así que quiero abrir un file en el editor nano , luego agregar algunas líneas entre el file y luego save y salir

Para nano Editor
Paso 1: save (WriteOut) ctrl + o y
Paso 2: presiona Enter luego
Paso 3: Salir (Salir) ctrl + x

para el editor vi
Paso 1:: :!wq o :x o shift + ZZ <you know how to save and exit>

He intentado muchas opciones como invocar vi/nano editor terminal a través de la secuencia de commands Python pero no me ayudó :(.
intenté enviar la señal F2 y F3 para el editor nano desde el script de shell y el lenguaje c no funcionó.

Cómo automatizar este process de apertura en la terminal y luego escribir algo y save y salir.

Por favor, ayúdame a get la solución.

[[SOLUTION]] ex para el editor vi

 #addTextHelper.sh #!/bin/bash ex $1 <<EOEX :%s/$string_to_replace/$string_to_replace_with/g :x EOEX #addText.sh GIT_EDITOR=./addText_Helper.sh git commit --amend 

Apunte la variable de entorno GIT_EDITOR a una secuencia de commands que realice los cambios de post de confirmación necesarios. El script obtendrá la ruta a un file con el post de confirmación actual (y el text de ayuda de Git) como primer argumento.

Ejemplo de script que usa ed para agregar una línea después de la primera línea en blanco:

 #!/bin/sh ed $1 <<EOT /^$ a Extra text goes here. . wq EOT 

Ejemplo de invocación:

 GIT_EDITOR=./patch-commit-message.sh git commit --amend