🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #7945

Re: Búsqueda en vim de texto

#7945
From: sio2
Date: Wed, 22 Jan 2003 00:45
81 lines
4112 bytes
El martes, 21 de enero de 2003, a las 19:25 GMT, Benjam�n Albi�ana escribi�:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
>   Cuando: Tue, 21 Jan 2003 17:40:08 +0100
>   Quien: sio2 <sio2.arr@ba.online.fr>
>   Que: B�squeda en vim de texto
> 
> 
>> map <F1> :if 1 =~1<CR>/texto<CR>endif<CR><CR>
> 
>   Ojo, es una chapuza, ya que no entiendo muy bien lo que quieres
>   hacer:
> 
Evidentemente no quiero hacer esto s�lamente: mi ejemplo es absurdo. O
m�s que absurdo, in�til. Quiero hacer lo siguiente:

tener mi firma almacenada en un fichero .signature (m�rala debajo)
sin la cita y sin la direcci�n de correo. En vez de la direcci�n de
correo en .signature hay un elocuente "(EMAIL)". Ahora paso de mutt (o
de slrn) a vim. Vim mediante una macro se encarga de generar la cita
(llamado a fortune) y sustituir la cadena "(EMAIL)" por la direcci�n de
correo que aparece en el campo "From". Todo esto lo tengo hecho ya. Sin
embargo, tengo un problema: �qu� ocurre en mutt si despu�s de haber
escrito el mensaje decido modificarlo y en vez de pulsar "y" pulso "e"?
Pues que el programa me intenta modificar la firma y me la destroza. As�
pues, mi idea es hacer la siguiente pregunta:

:if search("(EMAIL)","w") > 0

y si, efectivamente, existe a�n existe una cadena "(EMAIL)" en la firma
generar la cita y hacer la sustituci�n. Si no existe, no; porque esto
significa que ya la hab�a generado y no hace falta generar nada. Por
supuesto para meter una firma tengo que hacer algo como:

/^-- 
o<ESC>:r !fortune etc...

Es decir, situarme en las dos rayitas, abrir una nueva linea y pegar la
cita. Efectivamente esto lo puedo hacer sin problemas. Lo que no puedo
hacer es sustituir la cadena (EMAIL) por la direcci�n del campo From, que
yo hago (pasando de definir la macro):

/^From:
/<\S*>
vi<y
/^-- 
/(EMAIL)
va(P

Pero claro, si intento incluir las b�squedas de texto dentro de un if,
las b�squedas de texto est�n precedidas por un ":" y entonces no quedo
situado sobre (EMAIL) sino sobre el primer car�cter de la linea que
contiene la cadena (EMAIL). Y la macro no funciona igual que si no
incluyo la condici�n.

Espero haberme explicado bien.

De todos modos, te incluyo mis macros de . vimrc

nmap ,rsig <ESC>:g/^> -- $/,/^$/-1 d<CR>
nmap ,mail /^From:<CR>/<\S*><CR>vi<y/^--\s*$<CR>/EMAIL<CR>va(P
nmap ,cita /^-- $<CR>o<ESC>:. !fortune ~/.citas \| fmt -w60<CR>

autocmd FileType mail normal ,rsig
autocmd FileType mail set tw=72 expandtab
autocmd FileType mail normal ,mail
autocmd FileType mail normal ,cita

Eso s�, a�n no tienen incluida ninguna condici�n 'if' porque no soy
capaz de escribir la macro.

Gracias por tu inter�s.

-- 
Y entonces sin embarazo,/ se le atiza un estacazo,/ se la
mata y a otra cosa.
                  --- Mu�oz Seca ---
   Si     Di�xido de Silicio |        Gentoo Linux 1.2
  /  \         (SiO2)        |    Jos� Miguel S�nchez Al�s
 O    O   Mineral de Cuarzo  |  sio2.arr@ba.online.fr | URL #257033
Technical Details
Message-ID: <slrnb2rqck.mcq.sio2.arr@cebolleta.net.dhis.org>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!nntp.cs.ubc.ca!fu-berlin.de!uni-berlin.de!22.red-80-37-129.pooles.rima-tde.NET!not-for-mail
References: <slrnb2qtv8.m39.sio2.arr@cebolleta.net.dhis.org> <slrnb2r7lu.6bc.benjamin@lamanonegra.eg>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,5173acf7a7de1855
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2003-01-21 22:43:41 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!nntp.cs.ubc.ca!fu-berlin.de!uni-berlin.de!22.red-80-37-129.pooles.rima-tde.NET!not-for-mail
From: sio2 <sio2.arr@ba.online.fr>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Búsqueda en vim de texto
Date: Wed, 22 Jan 2003 01:45:09 +0100
Lines: 81
Message-ID: <slrnb2rqck.mcq.sio2.arr@cebolleta.net.dhis.org>
References: <slrnb2qtv8.m39.sio2.arr@cebolleta.net.dhis.org> <slrnb2r7lu.6bc.benjamin@lamanonegra.eg>
Reply-To: sio2.arr@ba.online.fr
NNTP-Posting-Host: 22.red-80-37-129.pooles.rima-tde.net (80.37.129.22)
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: fu-berlin.de 1043217819 28065632 80.37.129.22 (16 [113866])
X-Orig-Path: cebolleta.net.dhis.org!news
User-Agent: slrn/0.9.7.4 (Linux)