vim-markdown-runner e un flusso di lavoro basato su note

Pubblicato il

(Dan Bridges) (16 gennaio 2020)

Di recente ho scritto un semplice plug-in vim, vim-markdown-runner , per completare le mie note di ribasso basate flusso di lavoro del progetto. In questo post voglio entrare in qualche dettaglio in più su questo flusso di lavoro e mostrare come la sua semplicità sia sorprendentemente potente.

vim-markdown-runner in azione

Struttura generale

Memorizzo tutti i file delle mie note in un unico directory principale in Dropbox. Ciò mi consente di visualizzare e modificare facilmente le note da un dispositivo mobile. Questa struttura della directory principale rispecchia la mia directory home, che mi consente di associare i percorsi dei file di progetto al loro file di note. Ad esempio, se ho un progetto in ~/projects/side-projects/my-project il file della nota associato si trova in ~/Dropbox/notes/projects/side-projects/my-project.md.

Quindi creo un collegamento simbolico .notefile nella cartella del progetto originale che punta al percorso completo basato su Dropbox. Il motivo per la creazione del collegamento simbolico è duplice: (i) per consentire la visualizzazione rapida di un file dalla directory del progetto e (ii) in modo che durante la modifica di un file vim rimanga nella cartella del progetto, quindi cose come la ricerca ctrlp funzionano ancora come previsto (invece di cercare accidentalmente nella cartella delle note).

Ho aggiunto alcune funzioni e un comando :Notes al mio .vimrc per creare o aprire il file della nota associato per la mia directory di lavoro corrente.

Notes() fa il lavoro pesante. Se un .notefile è già presente, lo apre semplicemente. Se non è presente un .notefile viene eseguito NotesInitNew() che controlla se il file Dropbox associato esiste. Se il file non esiste ancora in Dropbox, crea la struttura di directory corretta, quindi crea un nuovo file markdown già popolato con un titolo basato sul nome della directory finale. Infine, viene creato il collegamento simbolico .notefile, quindi aperto.

Allinterno di un file di note

Allinterno di un tipico file di note avrò il soliti elenchi di cose da fare, note di riunioni casuali e altri elementi di routine, ma il vero potere viene da vim-markdown-runner che mi consente di avere parchi giochi interattivi, script specifici del progetto e un client API di base che dettaglia i percorsi di un progetto, sostituendo Postman o Paw .

Playgrounds

Durante lo sviluppo spesso risolvo problemi o verifico un piccolo pezzo di codice, avere un semplice playground lo facilita enormemente.

## Playground```go
fmt.Println(os.Getwd())
``````python
import pandas as pd
print(pd.read\_csv("data.csv"))
```

Con vim-markdown-runner posso posizionare il cursore in uno di questi blocchi di codice ed eseguirli. La lingua / lambiente corretti verranno rilevati automaticamente e, nel caso di Go, vengono eseguiti alcuni passaggi aggiuntivi per aggiungere un main() ed eseguire goimports .

Script

Spesso avrò script specifici del progetto che non vale davvero la pena inserire nei propri file. Posso eseguirli anche con vim-markdown-runner:

## Scripts```
get\_name() {
echo "Dan"
}echo "You are $(get\_name)"
```

Se nessuna lingua è specificata nel blocco di codice, vim-markdown-runner la eseguirà con qualunque sia $SHELL è impostato.

API Client

Allinterno dei progetti di sviluppo web ho una sezione Endpoint nel mio file di note, come semplice sostituto per Postman e simili. Questi sono solo comandi httpie , ma mi consentono di catalogare e rieseguire facilmente percorsi comuni:

## Endpoints```
http localhost:3000/api/todos
``````
http POST localhost:3000/api/todos title=Stuff
```...etc

Come puoi vedere ci sono una varietà di potenti casi duso gestiti da vim-markdown-runner. È anche molto configurabile, quindi dovresti essere in grado di adattarlo alle tue esigenze.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *