Ir al contenido principal
Versión: Siguiente

Mapeo de teclas

Usa <Leader>Lk para ver los mapeos de teclas en LunarVim.

Para modificar un mapeo de tecla en LunarVim.

  -- X cierra un buffer
lvim.keys.normal_mode["<S-x>"] = ":BufferClose<CR>"

Para eliminar mapeos de teclas establecidas en LunarVim.

  lvim.keys.normal_mode["<C-h>"] = false
lvim.keys.normal_mode["<C-j>"] = false
lvim.keys.normal_mode["<C-k>"] = false
lvim.keys.normal_mode["<C-l>"] = false

Mostrando que está mapeado

Usa <Leader>Lk para ver los mapeos de teclas en LunarVim.

Para verificar si una tecla en particular ya ha sido mapeada:

:verbose map <TAB>
  • :nmap para mapeos en modo normal
  • :vmap para mapeos en modo visual
  • :imap para mapeos en modo inserción

O simplemente puedes mostrar todos los mapeos:

:map

Mapeos para el explorador

Para ver los mapeos para el plugin de nvimtree. Asegurado de que estan dentro de un buffer de nvimtree y escribe g? para mostrar/ocultar la ayuda para el mapeo de teclas.

Mapeos para LSP

TODO

lvim.lsp.buffer_mappings.normal_mode

Mapeos para Whichkey

Para añadir o cambiar los mapeos de teclas para whichkey, debes usar lvim.builtin.which_key.mappings.

Mapeo de una sola tecla

Para hacer un solo mapeo.

lvim.builtin.which_key.mappings["P"] = {
"<cmd>lua require'telescope'.extensions.project.project{}<CR>", "Proyectos"
}

Para añadir una tecla a un submenú ya existente.

lvim.builtin.which_key.mappings["tP"] = {
"<cmd>lua require'telescope'.extensions.project.project{}<CR>", "Proyectos"
}

Mapeo de submenús

Puedes mapear un grupo de teclas dentro del mapeo de una tecla, esto es util para hacer submenús, por ejemplo; quieres hacer que Definiciones sea activado presionando <Leader>td y que Referencias sea activado presionando <Leader>tr. Entonces debes hacer un submenú que se llame Problemade la siguiente forma.

lvim.builtin.which_key.mappings["t"] = {
name = "Problema",
r = { "<cmd>Trouble lsp_references<cr>", "Referencias" },
f = { "<cmd>Trouble lsp_definitions<cr>", "Definiciones" },
d = { "<cmd>Trouble lsp_document_diagnostics<cr>", "Diagnosticos" },
q = { "<cmd>Trouble quickfix<cr>", "Arreglo Rapido" },
l = { "<cmd>Trouble loclist<cr>", "Lista de rutas" },
w = { "<cmd>Trouble lsp_workspace_diagnostics<cr>", "Diagnosticos" },
}

Reemplazar todos los mapeos de Whichkey

Para reemplazar todos los mapeos a tu gusto, debes cambiar tu configuración de esta forma.

lvim.builtin.which_key.mappings = {
["c"] = { "<cmd>BufferClose!<CR>", "Cerrar Buffer" },
["e"] = { "<cmd>lua require'core.nvimtree'.toggle_tree()<CR>", "Explorador" },
["h"] = { '<cmd>let @/=""<CR>', "Sin Resaltado" },

p = {
name = "Packer",
c = { "<cmd>PackerCompile<cr>", "Compilar" },
i = { "<cmd>PackerInstall<cr>", "Instalar" },
r = { "<cmd>lua require('lv-utils').reload_lv_config()<cr>", "Recargar" },
s = { "<cmd>PackerSync<cr>", "Sincronizar" },
u = { "<cmd>PackerUpdate<cr>", "Actualizar" },
},
}

Tecla Lider

Por defecto, la tecla lider es Espacio. La puedes cambiar de la siguiente forma.

lvim.leader = "space"