Estoy tratando de codificar una función que reemplaza el carácter en la sexta columna de mi línea actual con un símbolo de dólar ( $
), pero me gustaría que mi cursor permanezca en la posición que tenía antes de llamar a la función.
Así que intenté almacenar la columna actual, ejecutar mis cambios y luego regresar con la siguiente función:
function! DollarSplit()
let col_number=col(".") "stores the current column number of the cursor
normal! 6|r$ " replaces the 6th caracter in line with a $
execute col_number."|"
endfunction
Probablemente estoy malinterpretando algo sobre el execute
comando ... ¿O tal vez debería crear una cadena que contiene el comando que quiero que se ejecute?
fuente
Esta función también mantiene su registro de búsqueda. Entonces puede pasar su comando como argumento sobre él.
Alguna explicación
Por ejemplo:
fuente: https://technotales.wordpress.com/2010/03/31/preserve-a-vim-function-that-keeps-your-state/
fuente
finally
bloque. De lo contrario, sia:command
falla, no se restaurará nada.