Chose Language:
Author: Admin/Publisher |not checked

VIM

vim logo

Contenido:

Introducción

Vim es un editor de texto el cual lo podemos usar en cualquier SO, este editor de texto es muy configurable y es una de las razones por la cual muchos desarrolladores se inclinan por el, otra de las razones es que es muy liviano.

Sé que hay muchísimo de lo que se puede hablar del editor vim

pero esto es lo básico que se puede aprender para empezar a trabajar con él.

Instalación en linux

Si tratamos de entrar en vim y no lo tenemos instalado veremos una pantalla como esta

Hay varias versiones de VIM pero nosotros usaremos simplemente VIM. Si se pregunta que otra version me podria convenir vea NEOVIM.

corremos:

 sudo apt install vim

una vez instalado entramos a vim como itentamos antes.

Estados en los que puede estar VIM (VIM modes)

insert

es el modo en el que podemos escribir en vim a este modo podemos entrar con la tecla insert si volvemos a presionar insert entraremos en modo remplazar

normal

Es el modo en que empezamos en vim en este modo podemos navegar y manipular texto si sale de este modo puede volver a él con la tecla Esc

Movimientos del cursor de texto

  • h mueve un caracter a la izquierda
  • j mueve una fila hacia abajo
  • k mueve una fila hacia arriba
  • l mueve un caracter a la derecha

increiblemente en el vim que tengo instalado tambien funcionan las arrows o flechitas ,, , .

visual

en el modo visual podemos seleccionar con los movimentos del cursor de texto y de ahi pordemos copiar, pegar, cortar y borrar el texto como queramos.

  • x – con la x en este modo puedes cortar el texto
  • y– realiza una copia del texto seleccionado
  • d– borra el texto seleccionado
  • p– pega el texto seleccionado

select- no tocare este tema

comand-line

En este estado o modo podemos entrar escribiendo : estando en normal mode.

podemos hacer una cantidad enorme de cosas en el modo de linea de comandos:

salir de vim

Para salir de vim lo podemos hacer con :quit o su término corto :q

:q

Escritura de archivos

Escribir un archivo en vim es sencillo, ya que escritura en ingles es write :write es el comando para escribir un archivo y su short term es :w.

:w

En caso que no especifiquemos un nombre de archivo escribirá con el nombre que le pusimos al hacer vim nombre_de_archivo en consola.

Para especificar como que lo queremos guardar simplemente debemos poner a continuacion de w: el nombre de archivo. Por ejemplo

:w index.php

También podemos hacer una combinación con :quit

:wq

Más de una Pestaña

En cualquier comando de guardar o salir le ponemos ! al final estamos forzando a que lo corra

Para agregar una tab podemos utilizar :tabe

 :tabe 

Definiendo el archivo de configuración

Se puede especificar el source que vim usa, si le pedimos cargar ese archivo de configuración sera igual a hacer un refresh de la source.

:source .vimrc

Explorer

También podemos navegar con el siguiente comando, ya que da una lista de los archivos y carpetas que tenga el directorio padre

:e ..

Podemos abrir el explorer con :Explore, el comando :e es un short-term de explore

Navegación en el archivo

Podemos poner en práctica también otro comando el cual es muy útil y muy sencillo de acordarse que es simplemente : y un número. Con este comando podemos ir a esa línea por ejemplo :10 ira a la línea 10 en nuestro código.

:115

Ademas de esto podemos seleccionar multiples lineas por ejemplo

:1,10

Seleccionará las líneas de la 1 a la 10

Indentar con la comand-line

Puede hacer la indentacion en vim facilmente seleccionando las lineas a indentar como vimos en la seccion anterior y agregandole al final > o < dependiendo hacia donde indentar.

:1,10>

Indentará de las líneas 1 a 10 uno a la derecha

Buscar

Buscar en vim es relativamente fácil, ya que podemos buscar con el signo de ? o /

  • ? busca hacia atrás en el texto según donde este nuestro cursor
  • / busca hacia delante en el texto según donde esté el cursor

Ayuda

Finalmente me gustaría tocar este último comando que es como entrar el manual de ayuda de vim.

Vim como todos los editores de texto nos ofrece un manual de ayuda, el cual podemos acceder con :help o su short-term :h

:h

El archivo .vimrc

En el archivo .vimrc es donde tenemos todas nuestras configuraciones de vim, tanto plugins a instalar como tabulaciones cuestiones gráficas funcionalidad de los plugins y demás.

Talvez desee hacer los siguientes cambios en su .vimrc

La comilla en el .vimrc indica un comentario la comilla del final no es necesaria aunque en el ejemplo la pongo por el plugin que uso para mostrar codigo ya que no reconoce los comentarios para la configuración de vim

"---console"
"pone el numero de lineas"
set number
"la cantidad de caracteres en blanco que es ua tabulacion"
set tabstop=4
"define la fuente que deseas usar, si no funciona la puedes" 
"definir en la misma consola xterminal creo que lo permite hacer"
set guifont=Fira\ Code:h12
set nocompatible
"agrega una linea donde esta parado nuestro cursor"
set cursorline
"color de el numero de linea"
highlight LineNr term=bold cterm=NONE ctermfg=DarkGrey ctermbg=NONE gui=NONE guifg=DarkGrey guibg=red

 "-----theme"
 "el color schema es posible que pise las configuraciones anteriores ya que es un tema ya creado por alguien mas"
colorscheme odyssey

Bloqueo de VIM

Muchas veces nos puede pasar si utilizamos VIM en nuestra consola que se nos quede bloqueada y pensemos que Linux se nos crasheo o vim, esto no es así esto se debe a que en consola ctrl + S es el bloqueo de scroll y por lo tanto lo que está pasando es que nuestra consola está bloqueada.

Para poder desbloquear solo debe apretar ctrl + Q una ves apretado ya podremos movernos tranquilamente dentro de VIM.

Recuerde que en VIM se guarda con :w en command-mode.

Plugins managers

En VIM tenemos varios plugins manager los cuales podemos instalar, pero los mas reconocidos son Patogen, Vundle y Plug.

Pathogen

Pathogen es el más antiguo de los plugins manager o al menos el que más aceptación tuvo en los principios de vim.

Vundle

Vundle es más nuevo que pathogen y está basado en él cualquier plugin que pueda ser instalado con pathogen seguro que se puede instalar con vundle.

Plug

Literalmente es el más nuevo de los 3 y hay algunos plugins que no se pueden instalar con vundle que con plug si.

En este apartado veremos como instalar los 2 últimos plugins managers

Instalación de Vundle

La instalacion de Vundle requiere Git si no sabe o no ha instalado git vea este articulo.

Una vez tenga git puede correr el siguiente comando en la terminal

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

Para que vundle funcione debe poner las siguientes líneas en la parte superior del archivo .vimrc

set nocompatible              " be iMproved, required"
filetype off                  " required"

" set the runtime path to include Vundle and initialize"
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins"
"call vundle#begin('~/some/path/here')"

" let Vundle manage Vundle, required "

Plugin 'VundleVim/Vundle.vim'
" a continuacion puede ser cualquier otro plugin ejemplo"
Plugin 'preservim/nerdtree'
"y asi los plugins que necesitemos"

call vundle#end() "required"
filetype plugin indent on " required"

En caso de que uses Fish sheel agrega esta linea al final

en caso de usar Fish sheel
set shell=/bin/bash

Para instalar los plugins podemos hacerlo de 2 formas desde vim con :PluginInstall o lo podemos hacer desde la linea de comandos con

vim +PluginInstall +qall

Instalación de Plug

La instalación de plug es realmente sencilla se puede hacer directamente bajando el archivo plug.vim que se ofrece en el github del plugin https://github.com/junegunn/vim-plug y ponerlo en una carpeta autoload en vim el path seria este ~/.vim/autoload/plug.vim

Esto también lo podemos hacer con curl de esta manera

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Este plugin manager puede ser instalado tanto como para vim como para neovim (si desea instalar para neovim siga las instrucciones en el sitio del plugin)

una vez tengamos el archivo en su lugar podemos empezar a utilizar el plugin

En nuestro archivo .vimrc agregamos una sección para plug la cual se define entre el call plug#begin y call plug#end.

" Specify a directory for plugins
" - For Neovim: stdpath('data') . '/plugged'
" - Avoid using standard Vim directory names like 'plugin'
call plug#begin('~/.vim/plugged')

" On-demand loading
Plug 'scrooloose/nerdtree', { 'on':  'NERDTreeToggle' }

call plug#end()

Como puede ver he dejado el ejemplo lo más simple que se pueda, los plugins a instalar los puede definir con Plug ‘nombre del plugin’ y la parte de , {} son opciones del plugin a instalar.

Para instalar los plugins simplemente escriba :PlugInstall

Plugins que muchos programadores usan en Vim

Aunque es verdad que se puede programar en cualquier editor de texto hay plugins que nos facilitan la vida, aquí veremos algunos que se utilizan a menudo.

NERD-TREE

Particularmente a NERD-TREE vimos como instalarlo anteriormente en los plugins. Pero para usar un plugin no solo hay que instalarlo también hay que configurarle.

Puede ver como configurar sus plugins en sus respectivas páginas.

Particularmente esta es la forma de como configuró este plugin, ya que tambien uso el visual code y hacer toggle la sección del costado se hace con ctrl + b

autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif

map <C-b> :NERDTreeToggle <CR>

Ahora bien puede preguntarse como paso al tab después de elegir el archivo, la forma más fácil de hacer esto es utilizando el toggle, mi caso con control + b ya que fue definido con map <C-b> :NERDTreeToogle <CR>, si como puede estar pensando <C- b> es el ctrl + b.

Estando en la sección de nerdTree puedes consultar la ayuda de menú de nerdtree con ? igualmente se usa ? para salir. Con C define la carpeta seleccionada como root.

Presionando t abre el archivo en una nueva tab.

Igual que con :tabe podemos recorrer las tablas con g + t

Syntastic

Este plugin se utiliza para chequear nuestra sintaxis luego de guardar y lo hace de manera automática. Cometeré un error simple en alguno de los códigos que tengo por ahí para mostrarle.

sytastic example

Como puede ver syntastic me marca la línea del error con >> al guardar el archivo y nos da el error que es. No confundir con el coloreado ese es otro plugin pero de la parte de entorno.

El error seria:

bc_modules/paypal/BC_SimplePaypal.php|6 error| unexpected 'use' (T_USE), expecting identifier (T_STRING) or function (T_FUNCTION) or const (T_CONST) or \ (T_NS_SEPARATOR)

Neoclide COC VIM


Este plugin es uno de los mejores que tiene VIM, más si viene de algún IDE del estilo Visual Studio Code. Este plugin nos permite autocompletar lo cual nos deja muy cerca de lo que es un ide, también tiene un montón de opciones.

Con COC podemos usar un monton de extensiones para este dejo link por si quiere saber mas:

Category: otros
Something wrong? If you found an error or mistake in the content you can contact me on Twitter | @luisg2249_luis.
Last 4 post in same category