Hay varias maneras para buscar texto en Emacs. Muchas son más bien complejas, y no merece la pena tratarlas aquí. La más fácil y la más entretenida es usar isearch.
"Isearch" se refiere a "incremental search" (búsqueda incremental). Supongamos que quiere buscar la cadena "tábano" en el siguiente buffer:
Yo estaba temeroso que nos quedáramos sin gasolina, cuando mi tácito pasajero
exclamó ``Auch un aguijón! Hay un tábano aquí dentro! .
Debería moverse al comienzo del buffer, o por lo menos a algún punto que sabe que está antes de la primera aparición de la palabra, "tábano", y teclear |_C-s_|. Eso le pondrá en el modo de búsqueda isearch. Ahora comience a escribir la palabra que está buscando, "tábano". Pero tan pronto como escribe la "t", ve que Emacs ha saltado a la primera aparición de "t" en el buffer. Si la cita de arriba es todo el contenido del buffer, entonces la primera "t" es de la palabra "temeroso". Ahora escriba la "á" de "tábano", y Emacs saltará sobre "tácito", que contiene la primer ocurrencia de "tá". Y finalmente, "b" consigue "tábano", sin haber tenido que escribir la palabra entera.
Lo que hace en una isearch es definir una cadena para buscarla. Cada vez que agrega un carácter al final de la cadena, el número de posibles cadenas se reduce, hasta que haya escrito lo suficiente para definir la cadena singularmente. Una vez que ha encontrado la palabra, puede salir de la búsqueda con |_Intro_| o cualquiera de los comandos normales de movimiento. Si piensa que la cadena que buscas esta atrás en el buffer, entonces debería usar |_C-r_|, que hace isearch hacia atrás.
Si encuentra una palabra, pero no es la que buscaba, entonces presione |_C-s_| nuevamente mientras todavía esté en la búsqueda. Esto le moverá hasta la próxima palabra coincidente, cada vez que lo haga. Si no existe una próxima palabra, dirá que la búsqueda fracasó, pero si presiona |_C-s_| nuevamente en este punto, la búsqueda volverá a comenzar desde el principio del buffer. Se puede decir lo opuesto de |_C-r_| comienza al final del buffer.
Intente introducir un buffer de texto en inglés y haga un isearch para la cadena "the". Primero teclee todos los "the" que quiera y luego use |_C-s_| para ir a todas las apariciones. Note que también aparecerán palabras como " them", dado que también contiene la subcadena "the". Para buscar un único "the", deberá agregar un espacio al final de la cadena de búsqueda. Puede agregar nuevos caracteres a la cadena en cualquier punto de la búsqueda, después tiene que presionar |_C-s_| repetidamente para encontrar las próximas palabras coincidentes. Puede usar también la |_Retroceso_| o ||_Supr_|| para quitar caracteres de la cadena en cualquier punto de la búsqueda, y presionando |_Intro_| sale de la búsqueda, dejándole en la última coincidencia.
Emacs también permite reemplazar todas las apariciones de una cadena con alguna nueva cadena, esto es conocido como query-replace (preguntar-reemplazar). Para invocarlo, teclee query-replace y |_Intro_|.
Como se hace terminación automática sobre el nombre del comando, una vez que has escrito "query-re", puede simplemente presionar |_Tab_| para terminarlo. Digamos que desea reemplazar todas las ocurrencias de "tábano" por "mosca". En el prompt "Query replace: " (preguntar-reemplazar), escriba "tábano", y presione |_Intro_|. Entonces aparecerá el prompt nuevamente, y deberá introducir "mosca". Entonces Emacs recorrerá el buffer, parando a cada aparición de la palabra "tábano", y preguntando si quiere reemplazarla. Simplemente presione en cada instancia " y" o "n", por "Yes" o "No', hasta que termine. Si no entiende esto mientras lo lee, pruébelo.