¿Cómo conectar el buffer de salida de Vim a un argumento de línea de command para un command diferente?

Estoy intentando escribir un command bash que solicitará al usuario una input de línea múltiple a través del editor de text (vim o nano o emacs) e inyectarlo como parte del argumento.

Por ejemplo, si ejecuto un command git commit --amend -m "<MY DESIRED MESSAGE>" revisará el post de confirmación con el post deseado.

Sin embargo, si lo hago solo

git commit --amend abrirá un editor de command-line y solicitará un post de confirmación, y una vez que lo guarde, se inyectará en los posts de command.

Además, además, ¿hay alguna forma de almacenar la input recibida de la lectura y almacenarla en la variable?

Gracias de antemano

Lo que debe hacer es hacer que el editor escriba en un file y luego usar el contenido del file como argumento.

P.ej:

 nano /tmp/test.txt; git commit -m "$(cat /tmp/test.txt)"; rm /tmp/test.txt