Aprende-Vim/ch01_starting_vim.md

184 lines
7 KiB
Markdown
Raw Normal View History

2020-11-07 20:58:01 +01:00
# Ejecutando Vim
2020-11-07 20:58:01 +01:00
En este capítulo, aprenderás diferentes maneras de ejecutar Vim desde la terminal. Te recomiendo encarecidamente que utilices Vim desde la terminal mientras estás escribiendo. Actualmente estoy usando Vim 8.2. Los comandos escritos deberían funcionar bien si utilizas una versión menor, pero quizás algunos comandos podrían no estar disponibles.
2020-11-07 20:58:01 +01:00
# Instalar Vim
2020-11-07 20:58:01 +01:00
No voy a entrar en detalles de cómo instalar Vim (porque hay demasiadas distribuciones diferentes ahí fuera). La buena noticia es, la mayoría de los equipos con Unix debería venir con Vim instalado. Si no es así, la mayoría de las distribuciones tienen una manera sencilla de instalar Vim.
2020-11-07 20:58:01 +01:00
Para más información de cómo descargar, echa un vistazo a la web oficial de descargas de Vim:
[https://www.vim.org/download.php](https://www.vim.org/download.php)
2020-11-07 20:58:01 +01:00
De manera alternativa, también puedes echar un vistazo al [repositorio oficial de Vim en GitHub](https://github.com/vim/vim).
# `vim`
2020-11-07 20:58:01 +01:00
Ahora que ya tienes Vim instalado, ejecuta esto desde la terminal:
```
vim
```
2020-11-07 20:58:01 +01:00
Deberías ver una pantalla de bienvenida. Ahí será donde trabajarás con tus archivos. A diferencia de la mayoría de editores de texto e IDE's, Vim es un editor modal. Si quieres escribir "Hola", necesitas cambiar al modo Insertar con `i`. Escribe: `ihello<Esc>`.
2020-11-07 20:58:01 +01:00
# Saliendo de Vim
2020-11-07 20:58:01 +01:00
Hay muchas maneras de salir del editor Vim. La más común es escribir:
```
:quit
```
2020-11-07 20:58:01 +01:00
También puedes escribir `:q` de forma abreviada. El comando es un comando del modo de comandos (otro de los modos de Vim). Si escribes `:` en el modo Normal, el cursor se moverá a la parte inferior de la pantalla donde podrás escribir algunos comandos. Aprenderás más del modo de línea de comandos más tarde en el capítulo 15. Si estás en el modo Insertar, al escribir `:` esto literalmente escribirá el caracter ":" en la pantalla. En este caso, necesitas regresar al modo Normal. Pulsa sobre la tecla `<Esc>` para cambiar a ese modo Normal. Por cierto, puedes regresar al modo Normal desde el modo Línea de comandos pulsando `<Esc>`. Notarás que puedes "escapar" de diversos modos de Vim de vuelta al modo Normal pulsando la tecla `<Esc>`.
2020-11-07 20:58:01 +01:00
Para guardar tus cambios, escribe:
```
:write
```
2020-11-07 20:58:01 +01:00
También puedes escribir `:w` de forma abreviada. Si este es un archivo nuevo, necesitarás darle un nombre antes de guardarlo. Vamos a llamrlo `archivo.txt`. Ejecuta:
```
2020-11-07 20:58:01 +01:00
:w archivo.txt
```
2020-11-07 20:58:01 +01:00
Para guardarlo y salir de Vim, puedes combinar los comandos `:w` y `:q`:
```
:wq
```
2020-11-07 20:58:01 +01:00
Para salir sin guardar los cambios, añade `!` después de `:q` para forzar el cierre de Vim:
```
:q!
```
2020-11-07 20:58:01 +01:00
Hay otras maneras de salir de Vim, pero estas que hemos visto las utilizarás diariamente.
2020-11-07 20:58:01 +01:00
# Ayuda
2020-11-07 20:58:01 +01:00
A lo largo del libro, te referiré a varias páginas de ayuda de Vim. Puedes acceder a la página de ayuda escribiendo el siguiente comando en la línea de comandos:
```
:help
```
2020-11-07 20:58:01 +01:00
O `:h` de forma abreviada. También puedes indicarle al comando `:h` el tema sobre el que quiere aprender pasándoselo como un argumento. Por ejemplo, para aprender más sobre diferentes maneras de salir de Vim, puedes escribir:
```
:h write-quit
```
2020-11-07 20:58:01 +01:00
# Abriendo un archivo
2020-11-07 20:58:01 +01:00
Desde la terminal, para abrir el archivo `hola1.txt`, ejecuta:
```
2020-11-07 20:58:01 +01:00
vim hola1.txt
```
2020-11-07 20:58:01 +01:00
También puedes abrir varios archivos a la vez:
```
2020-11-07 20:58:01 +01:00
vim hola1.txt hola2.txt hola3.txt
```
2020-11-07 20:58:01 +01:00
Vim abre `hola1.txt`, `hola2.txt` y `hola3.txt` en *buffers* separados. Aprenderás más sobre los *buffers* en el próximo capítulo.
2020-11-07 20:58:01 +01:00
# Argumentos
2020-11-07 20:58:01 +01:00
Puedes pasarle al comando de la terminal `vim` diferentes banderas y opciones.
2020-11-07 20:58:01 +01:00
Para comprobar la versión actual de Vim, ejecuta:
```
vim --version
```
2020-11-07 20:58:01 +01:00
Esta bandera te muestra la versión de Vim y todas la funcionalidades disponibles marcadas con `+` o `.` Algunas de estas características en esta guía requieren que están disponibles algunas funcionalidades. Por ejemplo, explorarás el historial de la línea de comandos de Vim en el capítulo 15 con el comando `:history`. Tu editor Vim necesita tener la funcionalidad `+cmdline_history` disponible para que el comando funcione.
2020-11-07 20:58:01 +01:00
Esto podría sonar a tener que hacer un montón de trabajo, pero las descargas de Vim más populares deberían tener todas las funcionalidades necesarias. En mi equipo Mac (N.d.T: El equipo Mac del escritor del libro en Inglés) la versión de Vim que tengo instalada desde `brew install vim` tiene todas las funcionalidades que necesito. (N.d.T: En el Vim instalado desde los repositorios de la distribución de GNU/Linux openSUSE que utilizo, también tiene todo lo necesario).
2020-11-07 20:58:01 +01:00
De manera alternativa, para ver la versión estando *dentro* de Vim, también puedes ejecutar este comando:
```
:version
```
2020-11-07 20:58:01 +01:00
Más adelante, probablemente comenzarás a añadir complementos a Vim. Si alguna vez necesitas ejecutar Vim sin ningún complemento, podrás hacerlo pasándole la bandera `noplugin`:
```
vim --noplugin
```
2020-11-07 20:58:01 +01:00
Si quieres abrir el archivo `hola.txt` e inmediatamente ejecutar un comando, podrás hacerlo añadiendo al comando `vim` la opción `+{cmd}`.
2020-11-07 20:58:01 +01:00
En Vim, puedes sustituir texto con el comando `:s` (abreviatura de `:substitute`). Si quieres abrir `hola.txt` y sustituir todo el texto "foo" con "bar", ejecuta:
```
2020-11-07 20:58:01 +01:00
vim +%s/foo/bar/g hola.txt
```
2020-11-07 20:58:01 +01:00
Estos comandos también pueden ser apilados:
```
2020-11-07 20:58:01 +01:00
vim +%s/foo/bar/g +%s/bar/baz/g +%s/baz/donut/g hola.txt
```
2020-11-07 20:58:01 +01:00
Vim primero reemplazará todas las instancias que encuentre de "foo" con "bar", después reemplazará "bar" con "baz", después reemplazará "baz" con "donut" (aprenderás sobre cómo sustituir texto en el capítulo 12).
2020-11-07 20:58:01 +01:00
También puedes añadir la bandera `c` seguida con el comando en vez de la sintáxis `+`:
```
2020-11-07 20:58:01 +01:00
vim -c %s/foo/bar/g hola.txt
vim -c %s/foo/bar/g -c %s/bar/baz/g -c %s/baz/donut/g hola.txt
```
2020-11-07 20:58:01 +01:00
Durante todo este libro aprenderás varios comandos para la Línea de comandos de Vim. Todos estos comandos pueden ser ejecutados al inicio.
# Opening multiple windows
You can launch Vim on split windows (horizontal and vertical) with `o` and `O`, respectively.
To open Vim with two horizontal windows, run:
```
vim -o
```
To open Vim with 5 horizontal windows, run:
```
vim -o5
```
To open Vim with 5 horizontal windows and fill up the first two with `hello1.txt` and `hello2.txt`, run:
```
vim -o5 hello1.txt hello2.txt
```
Retrospectively, to open Vim with two vertical windows, 5 vertical windows, and 5 vertical windows with 2 files:
```
vim -O
vim -O5
vim -O5 hello1.txt hello2.txt
```
# Suspending
If you need to suspend Vim while in the middle of editing, you can press `Ctrl-Z`. Alternatively, you can also run either the `:stop` or `:suspend` command.
To return to the suspended Vim, run `fg` from the terminal.
# Starting Vim the Smart Way
You can pass the `vim` command with different options and flags, just like any terminal commands. One of the options is the command-line command (`+{cmd}` or `c cmd`). As you learn more command-line commands throughout this book, see if you can apply it on start.
To learn more about the different options you can pass from the terminal, check out `man vim`. To learn more about Vim modes and commands, check out `:help`.