Vine a la idea de que <C-a>
en el modo normal de Vim no solo debería aumentar los números sino alternar booleanos. Tiene sentido si se tiene en cuenta true
y false
como enteros módulo 2.Sinónimo de modo normal de Vim CTRL-A?
Por lo tanto, downloaded an excellent script que haga el trabajo cabelludo y escribieron una nueva definición de <C-a>
:
fun! NewCA()
let cw = tolower(expand("<cword>"))
if cw == "true" || cw == "false"
ToggleWord
else
" run the built-in <C-a>
execute "normal \<C-a>"
endif
endfun
command! NewCA :call NewCA()
nnoremap <C-a> :NewCA<cr>
Pero como suele suceder, nnoremap
doesn' ir tan lejos como para verificar las funciones internas. Obtengo un comportamiento recursivo si mi cursor no está en las palabras true
o false
.
En este punto, lo juro mucho, ¿por qué Bram no eligió una excelente idea de Emacs, que todo debería ser funciones y enlaces de teclas que se puedan setear libremente. Entonces solo pude verificar la función para <C-a>
y llamarla en esa función. Pero no, no puedo encontrar tal función, y las frases execute "normal foo"
parecen ser el idioma Vim.
¿Alguna sugerencia sobre cómo podría hacer <C-a>
trabajo de tal manera que
- booleanos activar Cuando el cursor se encuentra sobre una palabra
true
ofalse
- caer de nuevo a una función de
<C-a>
comportamiento de otro modo
¡Ayuda apreció!
Ambas respuestas tienen la misma solución, correcta. Lo comprobé como la respuesta aceptada solo para darle la bienvenida a la comunidad. :) – progo