Domanda

Potenzialmente 2 domande in una. Mi piacerebbe sapere come fare riferimento a un registro in modalità Ex.

Per esempio, io sto modificando un file e voglio salvare il file con un timestamp (o solo datestamp realmente) aggiunto ad esso.

So di poter impostare il registro per il valore di un guscio comandi output utilizzando:

:let @a = system("date +\"%Y-%m-%d\"")

C'è un altro per dereference questo registro e inserire il suo valore in un comando Ex? Qualcosa di simile:

:w testfile.<value of "a register>

Copia negli appunti di sistema e incollare sarebbe bello, ma farlo in un modo più generico / programitic per la costruzione su altri comandi in futuro sarebbe bello.

È stato utile?

Soluzione

Ci sono due approcci per fare questo, ma probabilmente non sono esattamente quello che vuoi.

  1. Usa <CTRL-R>a per inserire il contenuto della riga di comando corrente. Vedere :help c_CTRL-R per maggiori informazioni.

  2. Usa exe a consentire l'inserimento di variabili nell'espressione. Vedere :help :exe e :help 41.3.

    :exe 'w testfile.' . @a
    

Altri suggerimenti

Supponendo registro "a", è possibile digitare:

<CTRL-R>a cui verrà ingresso il valore di registrare una linea in quel punto. Questo può essere usato in modalità di inserimento pure.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top