cobol admite dos formatos distintos del archivo:
- fixed: viene del formato utilizado por las tarjetas perforadas e implica que las columnas tienen diferentes usos.
- free: introducido en Cobol 2002, el código puede agregarse en cualquier columna (como los lenguajes a los que se está acostumbrado).
vim, y particularmente neovim, incluyen plugins para trabajar con cobol:
- https://github.com/vim/vim/blob/master/runtime/ftplugin/cobol.vim
- https://github.com/vim/vim/blob/master/runtime/indent/cobol.vim
- https://github.com/vim/vim/blob/master/runtime/syntax/cobol.vim
El problema es que utilizan el formato fixed e indentan comenzando desde la séptima columna.
Ya que actualmente los plugins de cobol no soportan el formato free y no se desea perder tiempo (des)indentando -volviendo a la primera columna luego de que el cursor salta automáticamente a la séptima columna- se utiliza como workaround el deshabilitar la carga de plugins de neovim al abrir un archivo de cobol:
$ nvim --clean file.cob
Extras
-
Para compilar utilizando gnucobol en formato libre hay que utilizar el flag
--free
:$ cobc -x --free file.cob
-
Más detalles sobre formato fixed/free