Skip to content

Commit

Permalink
docs(i18n): add new version for 1.4/0.9 release
Browse files Browse the repository at this point in the history
  • Loading branch information
kylo252 committed May 17, 2024
1 parent 18191aa commit b4942c5
Show file tree
Hide file tree
Showing 36 changed files with 3,225 additions and 0 deletions.
24 changes: 24 additions & 0 deletions i18n/de/docusaurus-plugin-content-docs/version-1.4/introduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: Einleitung
sidebar_position: 1
---

<img src="../img/lunarvim_logo.png" alt="LunarVim Logo" />

# Einleitung

LunarVim ist eine auf Neovim (>= 0.7.2) basierende Text-Editor Konfiguration, die sich auf die schnelle Bereitstellung einer voll funktionsfähigen, erweiterbaren und benutzerfreundlichen Entwicklungsumgebung konzentriert.

LunarVim verwendet neue Neovim Funktionen wie [Treesitter](https://tree-sitter.github.io/tree-sitter/) und das [Language Server Protocol](https://en.wikipedia.org/wiki/Language_Server_Protocol).

## Meinungsstark

LunarVim wird mit einer vernünftigen Standardkonfiguration ausgeliefert. Zu den Funktionen gehören Autovervollständigung, integrierte Terminals, Datei-Explorer, Fuzzy-Finder, LSP, Linting, Formatierung Debugging.

## Erweiterbar

Nur weil LunarVim stark von den Meinungen der Entwickler beeinflusst ist, heißt das nicht, dass Sie diese teilen müssen. Jedes eingebaute Plugin kann in der Datei `config.lua` ein- oder ausgeschaltet werden. Hier können Sie Ihre eigenen Plugins, Keymaps, Autocommands, Leader Bindings und alle anderen benutzerdefinierten Einstellungen hinzufügen.

## Schnell

Damit Sie nicht zwischen Funktionen und Geschwindigkeit entscheiden müssen, versucht LunarVim alle Plugins "lazy" zu laden. So spielt es keine Rolle, ob sie ein Plugin aktiviert oder deaktiviert haben.
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Configuración

Para configurar LunarVim debes editar el archivo `~/.config/lvim/config.lua`.

También puedes tomar un archivo de ejemplo como guía, está incluido con la instalación, solo debes copiarlo a tu directorio de configuración de esta forma.

```bash
cp ~/.local/share/lunarvim/lvim/utils/installer/config.example.lua ~/.config/lvim/config.lua
```

Muchas configuraciones internas de LunarVim estan expuestas por medio del objeto global `lvim`.
Para ver una lista de todas las configuraciones disponibles, ejecuta el siguiente comando cualquiera de estos directorios `~/.config/lvim/` o `~/.local/share/lunarvim/lvim`, esto generará un archivo llamado lv-settings.lua como salida.

```bash
lvim --headless +'lua require("lvim.utils").generate_settings()' +qa && sort -o lv-settings.lua{,}
```

Aquí tienes un ejemplo del contenido del archivo generado.

```lua
lvim.builtin.telescope.defaults.initial_mode = "insert"
lvim.builtin.telescope.defaults.layout_config.horizontal.mirror = false
lvim.builtin.telescope.defaults.layout_config.preview_cutoff = 120
lvim.builtin.telescope.defaults.layout_config.prompt_position = "bottom"
lvim.builtin.telescope.defaults.layout_config.vertical.mirror = false
lvim.builtin.telescope.defaults.layout_config.width = 0.75
lvim.builtin.telescope.defaults.layout_strategy = "horizontal"
```

Si quieres abrir LunarVim usando el comando `nvim`, tendrás que añadir un alias a la configuración de tu shell de esta forma: `alias nvim=lvim`. Para revertir temporalmente este proceso, puedes hacerlo agregando un backslash al inicio de la linea así: `\nvim`. Si realizas este proceso, puede que también quieras establecer LunarVim como tu editor por defecto para las herramientas de terminal, tendrás que añadir esta linea a la configuración de tu shell: `export EDITOR='lvim'`.
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
sidebar_position: 5
---

# Comandos Automaticos

Para añadir comandos automaticos puedes usar la api nativa de nvim `vim.api.nvim_create_autocmd` o también puedes usar la tabla que te brinda LunarVim para hacerlo `lvim.autocommands`, con ambas formas obtienes el mismo resultado, ya que LunarVim va a enviar estos comandos a la api de nvim por medio de [define_autocmds()](https://github.com/LunarVim/lunarvim/blob/3475f7675d8928b49c85878dfc2912407de57342/lua/lvim/core/autocmds.lua#L177) automáticamente.

```lua
lvim.autocommands = {
"BufEnter", -- ver `:h autocmd-events`
{ -- esta tabla es enviada como `opts` a `nvim_create_autocmd`
pattern = { "*.json", "*.jsonc" }, -- ver `:h autocmd-events`
command = "setlocal wrap",
}
},
```

Esto va a ejecutar un comando cuando se registre el evento que coincida con el tipo de archivo proporcionado.

Un ejemplo usando la api de nvim se veria de la siguiente forma:

```lua
vim.api.nvim_create_autocmd("BufEnter", {
pattern = { "*.json", "*.jsonc" },
-- habilita el modo wrap solo para archivos json
command = "setlocal wrap",
})
```

Tambíén puedes añadir callbacks con lua.

```lua
lvim.autocommands = {
{
"BufWinEnter", {
pattern = { "*.cpp", "*.hpp" },
callback = function()
-- mira ma!, estoy usando LunarVim
if vim.loop.cwd() == "path/to/my/project" then
vim.cmd [[setlocal tabstop=8 shiftwidth=8]]
end
end
},
}
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
sidebar_position: 3
---

# Esquemas de Colores

## Cambiar Colores

Para cambiar el esquema de colores rapidamente, escribe el siguiente comando:

```vim
:Telescope colorscheme
```

También puedes presionar `Espacio` `s` `p` para tener una vista previa de los esquemas de colores.

Para cambiar el esquema de colores de manera permanente, tienes que modificar el archivo `config.lua`.

```lua
lvim.colorscheme = 'desert'
```

## Instalar Esquema de Colores

Puedes añadir el esquema de colores que quieras. Solo debes añadir el plugin con el esquema de colores de tu preferencia. Para más información sobre como instalar plugins [revisa aqui. ](./plugins/)

[Aqui tienes una lista](https://github.com/rockerBOO/awesome-neovim#colorscheme) de esquemas de colores con soporte para coloreado de sintaxis.

## Ventanas Transparentes

Si estas usando ventanas transparentes, tienes que activar esta opción.

```lua
lvim.transparent_window = true
```

Eso habilita las siguientes configuraciones.

```lua
cmd "au ColorScheme * hi Normal ctermbg=none guibg=none"
cmd "au ColorScheme * hi SignColumn ctermbg=none guibg=none"
cmd "au ColorScheme * hi NormalNC ctermbg=none guibg=none"
cmd "au ColorScheme * hi MsgArea ctermbg=none guibg=none"
cmd "au ColorScheme * hi TelescopeBorder ctermbg=none guibg=none"
cmd "au ColorScheme * hi NvimTreeNormal ctermbg=none guibg=none"
cmd "let &fcs='eob: '"
```

<iframe width="560" height="315" src="https://www.youtube.com/embed/OOr1qM17Lds" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="1"></iframe>
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
---
sidebar_position: 8
---

# Snippets personalizados

## Descripción

El termino snippet proviene del ingles y hace referencia a una parte reusable de código, en este apartado vamos a utilizar el término en ingles para evitar confusiones con su traducción en español.

Puedes agregar tus propios snippets a LunarVim, estos pueden estar escritos en json o en lua.

### Versión en formato json

Lo primero que debes hacer, es crear una carpeta llamada `snippets` justo en la misma ruta de tu `config.lua`, debe quedar de esta forma `~/.config/lvim/snippets/`.

Aqui vas a necesitar por lo menos dos archivos.

El primer archivo, es el que describe la ruta para tus snippets:

`package.json`

```json
{
"name": "nvim-snippets",
"author": "authorname",
"engines": {
"vscode": "^1.11.0"
},
"contributes": {
"snippets": [
{
"language": "python",
"path": "./python.json"
}
]
}
}
```

Para cada lenguaje en el que quieras un snippet, debes crear un archivo de esta forma:

`python.json`

```json
{
"hola": {
"prefix": "hola",
"body": ["print('Hola, Mundo!')"],
"description": "Imprimir Hola, Mundo!"
}
}
```

Eso es todo! ahora tienes un snippet personalizado, eso quiere decir que cuando escribas `hola` vas a obtener una opción para autocompletar a `print("Hola, Mundo!")`.

### Versión en formato lua

Lo primero que debes hacer, es crear una carpeta llamada `luasnippets` justo en la misma ruta de tu `config.lua`, debe quedar de esta forma `~/.config/lvim/luasnippets/`.

Ahora, dentro de esta carpeta, debes crear un archivo cuyo nombre sea el tipo de archivo al que quieres agregar snippets. Por ejemplo, queremos crear snippets para python, entonces el nombre del archivo debe ser `py.lua`. Dentro de este archivo, declaramos los snippets de esta forma:

```lua
return {
s("foo", { t "Ejemplo de snippet :D" }),
}
```

Gracias a LuaSnip, solo debes reiniciar LunarVim la primera vez que escribas snippets, luego puedes escribir y utilizar snippets sin necesidad de reiniciar.
Cabe resaltar que LuaSnip otorga un montón de utilidades de manera global cuando carga tus snippets, de esta forma no debes preocuparte en definir las funciones que usaste para definirlos. Para mas información y ejemplos por favor lee la [documentación de LuaSnip](https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md#lua)
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
sidebar_position: 7
---

# FTPlugin (Plugin para tipo de archivo)

## Descripción

De acuerdo con `:h ftplugin`

> Un plugin para tipo de archivo es como un plugin global, excepto que las opciones y mapeos
> solo aplican para el buffer actual.
Un ejemplo para una configuración de este tipo puede ser la siguiente; vamos a
modificar los valores de `shiftwidth` y `tabstop` pero solo para los archivos de extensión `C`.

```lua
-- Crea un archivo en la siguiente ruta $LUNARVIM_CONFIG_DIR/after/ftplugin/c.lua
vim.cmd("setlocal tabstop=4 shiftwidth=4")
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
---
sidebar_position: 2
---

# Mapeo de teclas

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

Para modificar un mapeo de tecla en LunarVim.

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

Para eliminar mapeos de teclas establecidas en LunarVim.

```lua
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:

```lua
: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:

```lua
: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.

```lua
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.

```lua
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 `Problema`de la siguiente forma.

```lua
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.

```lua
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" },
},
}
```

<iframe width="560" height="315" src="https://www.youtube.com/embed/BdoizYjJHis" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="1"></iframe>

## Tecla Lider

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

```lua
lvim.leader = "space"
```
Loading

0 comments on commit b4942c5

Please sign in to comment.