Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/frontend-labs/vim-combinations

A repository to store key combinations useful for vim :punch: :godmode: :punch:
https://github.com/frontend-labs/vim-combinations

howto tutorial-exercises vim

Last synced: 8 days ago
JSON representation

A repository to store key combinations useful for vim :punch: :godmode: :punch:

Awesome Lists containing this project

README

        

# Vim key combinations

One of the most pleasant aspects of **Vim** is how **keyboard shortcuts** can be **combined**. In this
repository we will describe some of those combinations.

Uno de los aspectos más agradables de **Vim** es como sus **atajos de teclado** se pueden **combinar**. En
este repositorio describiremos algunas de esas combinaciones.

> **Note:**
> If you know any other **key combination**, please do not hesitate to make a **pull-request**.

> **Nota:**
> Si conoces alguna otra **combinación**, por favor no dudes en hacer un **pull-request**.

----------

## Movimiento del cursor (Desplazamiento)

### Saltar hacia el inicio de una línea

**Tecla:** 0.

**Ejemplo:**

Si tuviéramos el siguiente código y tenemos el cursor en cualquier posición:

```js
var order = 'ASC';
```

Y luego presionamos la tecla 0 el cursor se desplazará hacía el inicio de la línea, osea el cursor se pondrá delante de la letra var.

### Modo Normal o Modo Navegación

Este modo de vim es el que te permitirá navegar por todo el documento de una forma increíble. A este modo se accede presionando la tecla Esc.

En la siguente tabla mostramos la navegacion básica en vim:

| Tecla | Acción |
| :-------- | :----------------------------------- |
| k | mueve el cursor hacia una línea superior. |
| j | mueve el cursor hacia una línea inferior. |
| h | mueve el cursor hacia un caracter a la izquierda |
| l | mueve el cursor hacia un caracter a la derecha |

### Modo Insertar

**Tecla:** i.

**Ejemplo:**

Si tuviéramos el siguiente código y posicionamos el cursor delante del caracter S:

```js
var order = 'SC';
```

Y luego presionamos la tecla i pasamos a modo inserción, luego escribimos por ejemplo la letra A, tendríamos:

```js
var order = 'ASC';
```

**Tecla:** a.

**Ejemplo:**

Si tuviéramos el siguiente código y posicionamos el cursor delante del caracter D:

```js
var order = 'DSC';
```

Y luego presionamos la tecla a pasamos a modo insersión, luego escribimos por ejemplo la letra E, tendríamos:

```js
var order = 'DESC';
```

----------

## 1 key

### Deshacer el último cambio

**Tecla:** u.

### Ir hasta la última línea de código de un archivo

**Tecla:** G.

**Ejemplo:**

Si tuviéramos el siguiente código:

```js
/*
GulpCssUrlVersioner
@class GulpCssUrlVersioner
*/

/*
* Module dependencies.
*/
var Buffer, CssUrlVersioner, GulpCssUrlVersioner, chalk, extend, through, util;

util = require('util');
through = require('through2');
chalk = require('chalk');
Buffer = require('buffer').Buffer;
extend = util._extend;
CssUrlVersioner = require('css-url-versioner');

/*
* Library.
*/
GulpCssUrlVersioner = function(opts) {
this.data = {};
this.settings = opts || {
debug: false
};
this.css = '';
this.transform();
return this.stream;
};
```

Y tuviéramos el cursor posicionado en cualquier línea, al presionar la tecla G, el cursor se posicionaría en el último caracter de la última línea de código de nuestro archivo.

----------

## 2 keys

### Rehacer el último cambio

**Tecla:** Ctrl + R.

### Comentar un bloque de líneas

Para aplicar este combo primero entrar al modo bloque visual.

**Combo:** shift + i.

**Ejemplo:**

Si tuviéramos el siguiente código:

```js
var a = 'SFSSD';
var b = 'SFSFSDFS';
var c = 'SFDSFDSFDSF';
```
Si situamos el cursor en la palabra reservada var, luego entrar al modo bloque visual, luego moverte hasta la linea que deseas comentar, en este caso sera var de la tercera linea , siempre posicionando en el primer caracter de la linea, luego aplicamos shift + i , luego // para comentar, luego ESC y listo.

```js
var a = 'SFSSD';
var b = 'SFSFSDFS';
var c = 'SFDSFDSFDSF';
```

Obtendremos :

```js
//var a = 'SFSSD';
//var b = 'SFSFSDFS';
//var c = 'SFDSFDSFDSF';
```

### Cambiar de posición un caracter con el caracter siguiente

**Combo:** x + p.

**Ejemplo:**

Si tuviéramos el siguiente código:

```js
var roder = 'ASC';
```

Si situamos el cursor delante del caracter r al aplicar el combo xp, obtendríamos lo siguiente:

```js
var order = 'ASC';
```

### Eliminar una línea de código entera

**Combo:** d + d.

**Ejemplo:**

Si tuviéramos el siguiente código:

```css
p
margin 0
color white
```

Si situamos el cursor sobre margin 0 al aplicar el combo dd, obtendríamos lo siguiente:

```css
p
color white
```

### Borrar resto de palabra desde un punto específico

**Combo:** d + e.

**Ejemplo:**

Si tuviéramos el siguiente código:

```css
box-sizingabc: border-box
```

Si situamos el cursor en el caracter a al aplicar el combo de, obtendríamos lo siguiente:

```css
box-sizing: border-box
```

### Borrar resto de línea desde un punto específico

**Combo:** d + $.

**Ejemplo:**

Si tuviéramos el siguiente código:

```css
border 1px 2px 3px 4px
```

Si situamos el cursor detrás de la palabra 2px al aplicar el combo d$, obtendríamos lo siguiente:

```css
border 1px 2px
```

### Borrar todas las líneas hacia abajo desde el cursor

**Combo:** d + G.

**Ejemplo:**

Si tuviéramos el siguiente código:

```css
.footer_note
background black
padding 30px

p
color #cccccc
margin 0

```

Si situamos el cursor en la palabra padding al aplicar el combo dG, obtendríamos lo siguiente:

```css
.footer_note
background black

```

### Ir hasta la primera línea de código de un archivo

**Combo:** g + g.

**Ejemplo:**

Si tuviéramos el siguiente código:

```js
/*
GulpCssUrlVersioner
@class GulpCssUrlVersioner
*/

/*
* Module dependencies.
*/
var Buffer, CssUrlVersioner, GulpCssUrlVersioner, chalk, extend, through, util;

util = require('util');
through = require('through2');
chalk = require('chalk');
Buffer = require('buffer').Buffer;
extend = util._extend;
CssUrlVersioner = require('css-url-versioner');

/*
* Library.
*/
GulpCssUrlVersioner = function(opts) {
this.data = {};
this.settings = opts || {
debug: false
};
this.css = '';
this.transform();
return this.stream;
};
```

y tuviéramos el cursor posicionado en cualquier línea, al aplicar el combo gg, el cursor se posicionaría delante del primer caracter de la primera línea de codigo de nuestro archivo.

### Navegar entre palabras

Avanzar una palabra

**Tecla** w.

Retroceder una palabra

**Tecla** b.

### Resaltar la última selección hecha

**Combo:** g + v.

**Ejemplo:**

Si hubieramos realizado una selección y seguido a ello diferentes acciones, podemos volver a resaltar la última selección hecha mediante el combo g + v.

----------

## 3 keys

### Intercambiar la posición con la línea inferior

**Combo:** d + d + p.

**Ejemplo:**

Si tuviéramos el siguiente código:

```css
p
margin 0
color white
```

Si situamos el cursor sobre margin 0 al aplicar el combo ddp, obtendríamos lo siguiente:

```css
p
color white
margin 0
```

### Eliminar un grupo de caracteres (alfanumericas,caracteres especiales).

**Combo:** c + a + w.

**Ejemplo:**

Si tuviéramos el siguiente código:

```css
h1
color red
```

Si situamos el cursor sobre el atributo color, y ejecutamos el combo en modo normal, obtendríamos lo siguiente:
```css
h1
red
```

### Borrar palabra desde cualquier punto

**Combo:** b + d + e.

**Ejemplo:**

Si tuviéramos el siguiente código:

```js
array.push('var1')
```

Si situamos el cursor en cualquier posición dentro de la palabra(excepto el primer caracter) var1 al aplicar el combo bde, obtendríamos lo siguiente:

```js
array.push('')
```

### Copiar y pegar una linea debajo de linea actual

**Combo:** y + y + p.

**Ejemplo:**

Si tuviéramos el siguiente código:

```js
var a = "Test";
```

Si situamos el cursor en cualquier posición de la linea, al aplicar el combo yyp, obtendríamos lo siguiente:

```js
var a = "Test";
var a = "Test";
```

----------

## Edición

### Reemplazar una línea entera

**Combo:** c + c.

**Ejemplo:**

Si tuviéramos el siguiente código:

```css
p
color white
margin 0
```

Si situamos el cursor sobre margin 0 al aplicar el combo cc, obtendríamos lo siguiente:

```css
p
color white

```

Y por ultimo escribiremos padding 0, obtendríamos lo siguiente:

```css
p
color white
padding 0
```

Como podemos ver, al ejecutar el combo cc no se pierde la tabulación.

----------

## Ventanas

### Dividir la ventana verticalmente

**Combo:** ctrl + w + v.

### Dividir la ventana horizontalmente

**Combo:** ctrl + w + s.

### Navegar entre ventanas divididas

**Combo:** ctrl + w.

### Cerrar una ventana dividida

**Combo:** ctrl + w + q.

----------