2010-02-24 18 views
6

Ho due comandi di ricerca/sostituzione che mi trovo a dover eseguire in vim abbastanza spesso per pulire il codice html in modo da poterlo copiare/incollare online. I comandi sono:VIM: come aggiungere il comando search/replace a vimrc e mappare a un collegamento

:%s!<!\&lt;!g 
:%s!>!\&gt;!g 

volevo un modo ho potuto mappare entrambi questi comandi da eseguire insieme ... ho fatto qualche ricerca su come utilizzare i comandi :map in vimrc, però, non riesco a vedere come combinare le due linee in un singolo comando che viene eseguito con un singolo tasto (o una singola sequenza di tratti).

Grazie!

risposta

10

È possibile inserire i comandi su una singola riga separata con un bar.

:%s!<!\&lt;!g|%s!>!\&gt;!g 

Ma dovrete fuggire nel map comando

:map <F3> :%s!<!\&lt;!g\|:%s!>!\&gt;!g<CR> 
+0

Questo è quasi corretto. In Vim, il secondo comando non verrà eseguito se i primi errori di comando (che avverranno se il primo comando non trova corrispondenza). Per sopprimere questo comportamento, aggiungere un flag 'e' come segue:': mappa :% s! ! \ >! Ge ' – pjb

0

Non l'ho provato, ma non riesci a metterli sulla stessa linea separati da "<CR>"?

1
:map <F3> :%s!<!\&lt;!<cr>:%s!>!\&gt;!<cr>  

naturalmente può essere sostituito con qualsiasi tasto che si desidera

+0

Questo non ha funzionato se avessi un paio di righe ... ad esempio: '>>>' sostituirà solo il primo e poi passerà alla riga successiva. – thornomad

+1

Questo è solo perché manca il modificatore 'g'. – nickd

+0

Ah scusate, sono troppo abituato ad avere 'set gdefault' nel mio .vimrc –

1

Se si utilizza questa ricerca/sostituzione modello di entità di codifica HTML, si potrebbe desiderare di controllare le unimpaired plugin. Tra le altre cose, questo fornisce scorciatoie per le stringhe XML, URL e C encoding and decoding.

3
 
:TOhtml 

creerà un nuovo tampone contenente il buffer precedente HTML-ized, tra cui entità fuga (e l'evidenziazione della sintassi, se si ha che ha permesso). Vedere :h TOhtml per ulteriori informazioni.

Problemi correlati