2015-08-24 12 views
5

Ho dati che assomiglia a questo:Come sostituire ogni occorrenze successivi al primo uno su ogni riga - VIM

母音,vowel  
備考,note, remarks, NB  
基本形,,fundamental form, basic form, basic pattern, basic model, basic type, prototype  
受身,,the defensive, passive attitude, passivity, passiveness, the passive, passive voice, ukemi (the art of falling safely) 
受身形,passive voice, passive form 
否定,negation, denial, repudiation, NOT operation 
不規則,irregularity, unsteadiness, disorderly 

Come sostituire ogni occorrenze tranne il primo su ogni linea?

Desidero sostituire ogni , su ogni riga tranne la prima occorrenza di , su ogni riga.

Risultato:

母音,vowel  
備考,noteREPLACED remarksREPLACED NB 
基本形,REPLACEDfundamental formREPLACED basic formREPLACED basic patternREPLACED basic modelREPLACED basic typeREPLACED prototype 
受身,REPLACEDthe defensiveREPLACED passive attitudeREPLACED passivityREPLACED passivenessREPLACED the passiveREPLACED passive voiceREPLACED ukemi (the art of falling safely) 
受身形,passive voiceREPLACED passive form 
否定,negationREPLACED denialREPLACED repudiationREPLACED NOT operation  
不規則,irregularityREPLACED unsteadinessREPLACED disorderly  

risposta

4

È possibile utilizzare lookbehind positivo per questo:

:%s/\m\%(,.*\)\@<=,/REPLACED/g 
+0

Dio vi benedica il mio salvatore. Davvero, grazie mille per il tuo aiuto. – whitesiroi

0

Poiché non v'è uno spazio dopo ogni virgola, tranne la prima su ogni riga che si possa fare quanto segue.

%s/, /REPLACED /g 
%s/,\+/,/g 

Il secondo comando si occupa di più virgole consecutive, come nella terza riga.

Problemi correlati