En emacs, ¿cómo puedo mantener abiertos muchos archivos a la vez?


10

En este momento lo uso C-xC-fpara abrir un nuevo archivo, pero se vuelve bastante tedioso.


¿Cual es tu meta? ¿Abrir un montón de archivos a la vez? ¿O administrar muchos archivos ya abiertos?
viam0Zah

¿O simplemente quieres ver varios archivos a la vez? Debido a que Emacs mantiene todos estos archivos "abiertos" (en cierto sentido, se cargan, pero no están "abiertos" en el sentido de "el descriptor de archivo está abierto").
Jürgen A. Erhard

Quiero editar varios archivos fuente de un programa
Yazz.com

Ve a través de esto antes de usar emacs
overexchange

Respuestas:


19

Cuando carga un archivo en Emacs con find-file (vinculado Ctrl-x Ctrl-fde forma predeterminada), se coloca en un "búfer". Mientras no elimine el búfer, permanece en la memoria, no tiene que volver a cargarlo.

Accede a archivos ya cargados (buffers) con switch-to-buffer (enlazado a Ctrl-x b). Presione las teclas, luego escriba el nombre del búfer al que desea cambiar (de forma predeterminada, ese es el nombre base de cualquier archivo cargado).

También puede presionar Ctrl-x Ctrl-bpara obtener una lista de los búferes existentes actualmente. Y haga clic en cualquier búfer allí con el mouse para cambiar a él (IIRC, rara vez usa el mouse con Emacs ;-))

También puede dividir la pantalla en dos (o más) partes para ver diferentes archivos (buffers) Ctrl-x 2. Inicialmente, esto muestra el mismo búfer dos veces. Cambie a otro búfer en una de las ventanas para ver otro archivo.


1
Cx 3 también se puede usar para dividir la pantalla en dos, Cx 0 para mostrar solo un búfer a la vez.
Remi

3

Cx by Cx Cb son lo que quieres. También considere probar iswitchb o ido. Desde que comencé a usar los que deseo, cada programa que use podría cambiar de pestaña / ventana / documento tan rápido y convenientemente como emacs. A menudo tengo 50 archivos o más abiertos en emacs, puedes encontrar el que deseas muy rápidamente con iswitchb o ido.


1

Además, si está utilizando una versión gráfica de emacs, puede hacer ctrl-x 5 b para abrir un búfer existente en una nueva ventana (llamada marco en emacs-speak), o ctrl-x 5 f para cargar un nuevo archivo en una nueva ventana


1
cx 5 b también funciona en tty, pero cambiar marcos es molesto en modo tty :)
Justin Smith

@Justin Gracias. Nunca he jugado con cuadros en un tty. ¿Hay algún beneficio sobre el uso de múltiples buffers?
KeithB

Puede usar marcos frente a ventanas de la misma manera que usaría espacios de trabajo frente a ventanas en un administrador de ventanas de Linux, es decir. para trabajar en el marco de código 1 de Elisp tiene dos ventanas, una con el archivo de información para Elisp, la otra con ielm para probar código de forma interactiva, el marco 2 tiene solo una ventana, con el archivo que esté editando (para que pueda ver tantas líneas como sea posible) como sea posible, no se divide). Con una combinación de teclas decente para otro marco, podría ser un arreglo muy productivo si por alguna razón no quisieras ejecutar X.
Justin Smith

0

Puede abrir fácilmente varios archivos a la vez (o actuar sobre ellos de otras maneras).

  1. Utilícelo C-x dpara visitar un directorio (carpeta), que enumera todos sus archivos y subdirectorios.

  2. Marque los archivos que desea abrir (o para actuar de alguna otra manera). Puede marcar archivos individualmente o en grupos según diversas características, incluidos los patrones de nombre de archivo. Vea los menús de la barra de menú Marcar y Regexp : le muestra algunas posibilidades de marcado disponibles, así como sus atajos de teclado.

Por ejemplo:

  • % m marca archivos cuyos nombres coinciden con una expresión regular.

  • % g marca archivos cuyo contenido coincide con una expresión regular.

  • * * marca archivos ejecutables.

Para abrir todos los archivos marcados a la vez, debe haber cargado la biblioteca estándar dired-x.el. Hacer M-x load-library dired-xo poner (require 'dired-x)en su archivo de inicio.

Luego puede usar F( dired-do-find-marked-files) para visitar todos los archivos marcados a la vez. Use C-x C-bpara ver una lista de los buffers abiertos, donde puede elegir entre esos buffers de archivos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.