WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Linux, UNIX, Open Source (http://www.wcm.at/forum/forumdisplay.php?f=13)
-   -   vim/pico (http://www.wcm.at/forum/showthread.php?t=67034)

K@sperl 20.08.2002 17:20

vim/pico
 
Eine Frage zu vim bzw. pico:
Ist es auch möglich, nach einer Zeichenkette zu suchen und diese zu ersetzen?
Ich hoffe ich hab mich verständlich ausgedrückt ...

artemisia 20.08.2002 17:26

ja ist es

greetz
artemisia

K@sperl 20.08.2002 18:03

Ja und wie?

artemisia 20.08.2002 18:34

suchen:

aus dem editiermodus herausgehen
/suchmuster

oder

wieder aus dem editiermodus mit esc herausgehen
:g/suchmuster


ersetzen:

aus dem editiermodus herausgehn
ändert das erste alt in neu in der aktuellen zeile
:s/alt/neu/
ändert alle alt in neu in der aktuellen zeile
:s/alt/neu/g

ändert alle alt der ganzen datei in neu
:%s/alt/neu/g

ich hoffe, das reicht fürs erste.
ich empfehle einmal vimtutor zu starten ;-).

greetz
artemisia

K@sperl 20.08.2002 18:43

Zitat:

Original geschrieben von artemisia
ändert alle alt der ganzen datei in neu
:%s/alt/neu/g

Toll, es funktioniert! http://www.geraldholl.cc/forum/image...es/elefant.gif


vim wird mir immer sympathischer :)

artemisia 20.08.2002 18:49

nicht wahr ;-)

greetz
artemisia

_m3 20.08.2002 19:14

es geht auch vim +/{suchmuster}
bzw.
vim -c "%s/alt/neu/g"
:D

artemisia 20.08.2002 19:23

Zitat:

Original geschrieben von _m3
es geht auch vim +/{suchmuster}
bzw.
vim -c "%s/alt/neu/g"
:D


*grinst

diesmal war ich doch schneller und außerdem du weißt doch: tmtowtdi

greetz
arte

Lotussteve 20.08.2002 22:58

Zitat:

Original geschrieben von artemisia
tmtowtdi

Hallo!

Jau, hier kommt meine Variante, die ich nehme wenn in einer Datei z.B. eine URL mal geändert werden soll, an ein paar Stellen aber nicht:

/Suchbegriff

mit R ersetzen

N für nächstes Mal wo das vorkommt

. für Befehl wiederholen falls ich das will.



Ciao,

Steve

artemisia 21.08.2002 02:30

mhhhh ....
wie wäre es damit?



#!/bin/bash
# copyright artemisia
ls | while read i;
do
cat $i | sed "s/$1/$2/g" > 42;
cp 42 $i;
done
rm 42



greetz
artemisia


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag