Cómo generar una lista ordenada y desordenada a partir de un par de líneas en Sublime Text

Cómo generar una lista ordenada y desordenada a partir de un par de líneas en Sublime Text

¿Cómo generar eficientemente una lista ordenada y desordenada a partir de un par de líneas?

Digamos:

list item 1
list item 2
list item 3

en

<ul>
  <li>list item 1</li>
  <li>list item 2</li>
  <li>list item 3</li>
</ul>

Respuesta1

Puede instalar el paquete Emmet a través de Package Control (enlace) o instálelo directamente copiando los archivos del paquete Emmet. Entonces

// don't forget to choose HTML edit mode in the Sublime Text editor

// type 
ul#nav>li.item$*4>a{Item $}
// 1      2     3   4
//1- List ID
//2- class name
//3- list members number
//4- items name

Pulsa el Tabbotón y verás:

<ul id="nav">
    <li class="item1"><a href="">Item 1</a></li>
    <li class="item2"><a href="">Item 2</a></li>
    <li class="item3"><a href="">Item 3</a></li>
    <li class="item4"><a href="">Item 4</a></li>
</ul>

Inmediatamente después de crear la lista, también puede presionar Tabpara pasar rápidamente a los elementos siguientes (o anteriores).

Respuesta2

En caso de que el complemento Emmet no le convenga, puede intentar guardar lo siguiente como una macro y usarlo. No sangra ni verifica errores, pero hace lo que necesitaba. (Preferencias->Buscar paquetes, abra la carpeta "usuario", cree una nueva carpeta llamada algo así como "ulmaker" y guárdela como "ulmaker.sublime-macro" dentro de ella). Luego puede usarla desde el menú desplegable (Herramientas-> Macros) oatarlo a una llave.

(Preferencias->Usuario de combinaciones de teclas)

{ "keys": ["alt+u", "alt+l"], "command": "run_macro_file", "args": {"file": "Packages/User/ulmaker/ulmaker.sublime-macro"} }

Esto lo vincula a una combinación en la que mantiene presionada la tecla ALT y presiona u y luego l.

[
    {
        "args": null,
        "command": "split_selection_into_lines"
    },
    {
        "args":
        {
            "extend": false,
            "to": "bol"
        },
        "command": "move_to"
    },
    {
        "args":
        {
            "characters": "<li"
        },
        "command": "insert"
    },
    {
        "args":
        {
            "characters": ">"
        },
        "command": "insert"
    },
    {
        "args":
        {
            "extend": false,
            "to": "eol"
        },
        "command": "move_to"
    },
    {
        "args":
        {
            "characters": "<"
        },
        "command": "insert"
    },
    {
        "args":
        {
            "characters": "/li"
        },
        "command": "insert"
    },
    {
        "args":
        {
            "characters": ">"
        },
        "command": "insert"
    },
    {
        "args":
        {
            "extend": true,
            "to": "bol"
        },
        "command": "move_to"
    },
    {
        "args": null,
        "command": "cut"
    },
    {
        "args": null,
        "command": "single_selection"
    },
    {
        "args":
        {
            "characters": "<ul"
        },
        "command": "insert"
    },
    {
        "args":
        {
            "characters": ">"
        },
        "command": "insert"
    },
    {
        "args":
        {
            "characters": "\n"
        },
        "command": "insert"
    },
    {
        "args": null,
        "command": "paste"
    },
    {
        "args":
        {
            "characters": "\n<"
        },
        "command": "insert"
    },
    {
        "args":
        {
            "characters": "/ul>"
        },
        "command": "insert"
    }
]

Una persona con más experiencia podría limpiar un poco este código. Utilicé Ctrl+Q para grabar esto y luego lo guardé.

información relacionada