2009-09-09 18 views
11

Cuando intento buscar una cadena que comience con la barra/carácter en vi, el cursor salta al siguiente resultado de búsqueda de la búsqueda anterior. Sin embargo, me gustaría encontrar el personaje de barra literal. ¿Cómo puede hacerse esto?¿Cómo puedo escapar del carácter de barra en vi?

Respuesta

23

Tipo esto:

/\/ 
4

Utilice una barra invertida.

:/\/ 

Esto buscará avanzar a la siguiente barra inclinada.

+0

El: no es necesario. –

+1

Ah ... sí, tienes razón. Pero tampoco duele. ¡Gracias por el consejo! –

0

--- oops, perdón, ingresé información para reemplazar. Escapar con \ es mejor para buscar sólo

uso de un separador diferente

:%s./.z. 

reemplazará todos '/' con la letra z

3

Usted no tiene que escapar / si utiliza ?

?/home/my_user/ # and enter to search backwards 
/    # and enter to search forwards 

Ver here.

1

Pasé demasiado tiempo en esto, así que déjame poner la respuesta rápida aquí. El escape char en vi (vim también, creo, estoy usando un cuadro de CentOS aquí) es "\", según la respuesta de lutz de hace 8 años. Tengo estas cosas que fueron construidas en Windows, estoy convirtiendo a Linux. Normalmente, puede tener un archivo con ubicaciones de directorio absolutas y desea convertir las barras desde "\ yatta \ yatta \ blah ..." a "/ yatta/yatta/blah ...", todas las ocurrencias en todas las líneas. Para vi, todas las líneas son% s, y el final de g significa todas las ocurrencias dentro de cada línea. Por lo tanto, modificar el archivo con el escape y el colon vi o vim, y presione para obtener el ":" del sistema, y ​​escriba:

%s/\\/\//g 

Todos los caracteres "\" se cambian a "/". Pero aún puede ser necesario cambiar las referencias "c:" a "/ home/prod" o algo por el estilo, para sentarse frente a "/ yatta/yatta/blah ...". Fácil. El carbón vi escape es "\", por lo que pulsar la tecla ESC, y escribe ":" para saltar a vi el modo de introducción cmd y escriba:

%s/c:/\/home\/prod/g 

Hay un montón de quicky "engañar técnica" del VI/vim comandos disponibles. Es una herramienta ubicua, disponible en prácticamente todos los sistemas Linux/Unix, incluso en iPads con jailbreak y demás.

Cuestiones relacionadas