Configuración Inicial en Vim
Indice
Configuramos nuestro editor
Resultado Final
-
Actualizamos el apt
sudo apt-get update
-
Ahora podemos installar neovim
sudo apt-get -y install neovim
-
Nos metemos en config
cd .config/
-
Chequeamos que tengamos la carpeta nvim
ls -la
-
En caso de no tenerla, la creamos
mkdir nvim
-
Accedemos a la carpeta creada
cd vim
-
Creamos el archivo init.vim que es el que contendra toda la configuración de nuestro ide
touch init.vim
-
Creamos una carpeta en donde van a estar nuestras configuraciones
mkdir general
-
Accedemos a la carpeta
cd general
-
Y creamos nuestro archivo de configuración
touch settings.vim
-
Dentro de este, pegamos lo siguiente (Ctrl + Shift + v)
synta enable set t_Co=256 set encoding=utf-8 set hidden set number set title set mouse=a set nowrap set cursorline set tabstop=2 set shiftwidth=2 set softtabstop=2 set shiftround set expandtab set ignorecase set smartcase set spelllang=en,es set termguicolors set background=dark set noshowmode set clipboard=unnamed set numberwidth=1 set showcmd set ruler set showmatch " set relativenumber " Theme Gruvbox colorscheme gruvbox let g:gruvbox_contrast = 'hard' let g:gruvbox_termcolors = 256 highlight Normal ctermbg=NONE
Ahora nos metemos en el archivo init.vim y copiamos lo siguiente, para poder hacer referencia a nuestro archivo
source $HOME/.config/nvim/general/settings.vim
Instalamos vim plug
curl -fLo "${XDG_DATA_HOME:-$HOME/.config}"/nvim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
En nvim, creamos la carpeta vim-plug, dentro le metemos el archivo plugins.vim
mkdir vim-plug
cd vim-plug
touch plugins.vim
Dentro de este archivo, pegamos la siguiente configuración
" auto-install vim-plug
if empty(glob('~/.config/nvim/autoload/plug.vim'))
silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
"autocmd VimEnter * PlugInstall
"autocmd VimEnter * PlugInstall | source $MYVIMRC
endif
call plug#begin('~/.config/nvim/autoload/plugged')
" Better Syntax Support
Plug 'sheerun/vim-polyglot'
" File Explorer
Plug 'scrooloose/NERDTree'
" Auto pairs for '(' '[' '{'
Plug 'jiangmiao/auto-pairs'
" Gruvbox theme
Plug 'morhetz/gruvbox'
Plug 'godlygeek/csapprox'
Plug 'powerline/powerline'
Plug 'easymotion/vim-easymotion'
Plug 'christoomey/vim-tmux-navigator'
" Airline
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'mhartington/oceanic-next'
call plug#end()
Ahora en el archivo init.vim, pegamos lo siguiente (arriba de todo)
source $HOME/.config/nvim/vim-plug/plugins.vim
Ahora entramos a nvim, entramos en modo comando con escape y luego los dos puntos y escribimos lo siguiente
:PlugInstall
Salimos con :q
Creamos la carpetas en la que tendremos los temasd (la carpeta estara dentro de .config/nvim)
mkdir themes
cd themes
touch airline.vim
nvim airline.vim
Y dentro de este, pegamos lo siguiente:
" enable tabline
let g:airline#extensions#tabline#enabled = 0
" let g:airline#extensions#tabline#left_sep = ''
" let g:airline#extensions#tabline#left_alt_sep = ''
" let g:airline#extensions#tabline#right_sep = ''
" let g:airline#extensions#tabline#right_alt_sep = ''
" enable powerline fonts
let g:airline_powerline_fonts = 1
let g:powerline_pycmd = 'py3'
" let g:airline_left_sep = ''
" let g:airline_right_sep = ''
" Switch to your current theme
let g:airline_theme = 'gruvbox'
" Always show tabs
set showtabline=2
Ahora en init tenemos que agregar lo siguiente
source $HOME/.config/nvim/themes/airline.vim
Agregon algunos atajos (esto es opcional)
mkdir keys
cd keys
touch mappings.vim
nvim mappings.vim
Y pegamos
nnoremap <C-n> :NERDTreeToggle<CR>
nmap <Leader>s <Plug>(easymotion-s2)
nmap <C-s> :w<CR>
nmap <C-q> :q<CR>
Agregamos el ultimo a init.vim
source $HOME/.config/nvim/keys/mappings.vim
Modo normal
- Por defecto no podemos escribir, solo nos permite movernos con la j/k/l/h
dd
corta una linead(cantidad de lineas)
corto n lineasyy
copia una lineay(cantidad de lineas)y
copia n lineasp
pegamos la lineau
Retroseder en los cambiosCtrl + r
Rehacer
Modo Insert (entramos con la i)
- Se utiliza para modificar el codigo
i, a o insert
Modo visual (entramos con la v)
- Sirve para copiar y pegar de forma mas comoda (con el mause)
d
cortary
copiarp
pegar
Modo comandos (esc + :
)
esc
Para salir del modo insertar usamos , Cuando salimos, podemos mandarle parametros con:
.q
para salir del archivo sin guardarq!
sale del archivo directamente y no preguntaw
solo guardawq!/x!
sale y guardaset nu
agrega numeros en la consolaset background=dark
Ctrl + v/d
pegar