Article View: es.comp.os.linux.programacion
Article #7945Re: Búsqueda en vim de texto
From: sio2
Date: Wed, 22 Jan 2003 00:45
Date: Wed, 22 Jan 2003 00:45
81 lines
4112 bytes
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-mailReferences:
<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)