¿Existe un editor que tenga la opción de "dividir la pantalla" en dos o más partes, accediendo a más de un archivo (posiblemente con un árbol de archivos) sin abrir más ventanas de editor a la vez, y cómo se haría esto (cuáles son comandos).
No sé si me dejé claro, pero la "pantalla dividida" es la única forma de describir lo que quiero lograr. Quiero usarlo para programar, teniendo más de un archivo abierto para editar. Tenga en cuenta que soy bastante nuevo en vi y emacs, si estos son capaces de hacer esto. Además, si esto tiene que hacerse a través de un editor de terminales, ¿puede hacerse en el mismo terminal, independientemente del tamaño de la pantalla?
terminator
también tiene la función de pantalla dividida:ctrl + shift + e
se dividirá verticalmente yctrl + shift + o
horizontalmente (y tambiénctrl + shift + t
abrirá una nueva pestaña)Respuestas:
vim
puede hacer eso fácilmente:ctrl+ ws- Ventanas divididas
ctrl+ ww- cambiar entre ventanas
ctrl+ wq- Salir de una ventana
ctrl+ wv- Dividir ventanas verticalmente
se abrirá
filename
en un nuevo búfer y dividirá una ventana.Tambien puedes hacer
Para abrir los archivos en un diseño de pantalla dividida. Reemplace
-o
con-O
para división vertical en lugar de horizontal.fuente
:help CTRL-W
para ver todas las operaciones de ventana dividida.:vsplit
para crear una división vertical, y al igual:split
que acepta un nombre de archivo o comando<C-w>h
/ j / k / l se moverá entre ventanas en direcciones específicas,<C-w>H
/ J / K / L (en mayúscula) moverá la ventana en esa dirección.Esto se puede hacer usando Emacs. Funciona en GUI y en modo terminal. Incluso puedes dividirte varias veces. Aquí hay algunas combinaciones de teclas básicas:
Fuente: http://www.gnu.org/software/emacs/manual/html_node/emacs/Split-Window.html
fuente
Con vim, puedes usar
split
ovsplit
.El primero se dividirá horizontalmente y el segundo se dividirá verticalmente.
CTRLw luego para navegar a través de pantallas divididas.
También puedes usar la pestaña.
tabnew filename
abrirá el nombre del archivo en una nueva pestaña. Puede usartabnext
y:tabprevious
para navegar entre pestañas.Personalmente mapeo las flechas izquierda y derecha para navegar entre pestañas:
fuente
Kate
KDE Advanced Text Editor es muy funcional.
Tiene todo lo que describiste en la pregunta y mucho más .
Ver por ti mismo:
Para dividir la vista, vaya a Ver → Vista dividida . Luego puede seleccionar una de estas opciones:
Para obtener el diseño como en esta captura de pantalla, Dividir vertical , haga clic en la vista inferior y luego Dividir horizontal .
Por supuesto, los límites de las vistas se pueden cambiar arrastrando los bordes (divisores) entre ellos. Para cambiar entre las vistas, use F8y Shift+ F8.
Por cierto, Kate tiene el llamado Modo VI ( Configuración → Configurar Kate ... → Edición → Modo de entrada VI). Luego, los atajos para la división de vistas se vuelven los mismos que en Vim (vea esta respuesta ).
fuente
joe
( Joe's Own Editor ) también puede hacer esto:ctrl+ ko- dividir la ventana horizontalmente
ctrl+ kp- cambia a la ventana anterior
ctrl+ kn- cambia a la siguiente ventana
ctrl+ ke- abre un nuevo archivo en la ventana actual
ctrl+ kg- altura de crecimiento de la ventana actual
ctrl+ kt- reducir la altura de la ventana actual
ctrl+ ki- ocultar todas las ventanas excepto la actual, presione nuevamente para mostrar todas las ventanas nuevamente
ctrl+ co ctrl+ kx- cierra una ventana
fuente
Sublime Text 2 puede hacer eso (y muchos más).
fuente
Si está interesado en familiarizarse un poco mejor con VIM, consulte vimcasts.org , tiene un montón de tutoriales en video realmente amigables. Este especialmente para magia de pantalla dividida
¡Disfrutar!
fuente
Con respecto a los árboles de archivos, personalmente uso NERDtree con Vim. Requiere patógenos. Encontré que el comando para abrir el árbol (
:NERDtree toggle
, iirc) es un poco largo, así que lo reasigné a<F2>
. Si está trabajando en un proyecto con muchos archivos en muchos directorios (piense en proyectos de Rails), es realmente agradable.EDITAR:
NERDtree está en Github: https://github.com/scrooloose/nerdtree
Esta es la reasignación que uso en mi .vimrc:
map <F2> :NERDTreeToggle<CR>
fuente
Utilizo
tmux
yvim
para la edición de pantalla dividida en un entorno basado en terminal, aunque podría usar cualquier editor de texto basado en línea de comandos para esto (por ejemplonano
,emacs
etc.)tmux
es la abreviatura de "terminal multiplexor" y le permite crear sesiones con múltiples terminales, que se ejecutan en "ventanas" separadas y también "paneles" dentro de estas ventanas, que son los que le permiten dividir la pantalla.tmux
está incluido en los repositorios de muchas distribuciones de Linux y BSD. Considero que esta es la opción más flexible para la codificación, ya que también puedo agregar divisiones y ventanas que contienen terminales donde puedo compilar código y usar un sistema de control de versiones, comogit
junto con la edición de mi código.Aquí hay un ejemplo de cómo crearía una sesión de edición de pantalla dividida usando
tmux
yvim
.Primero abra una terminal. En los siguientes comandos escritos después
$
se emiten desde la línea de comandos. Esto utiliza las combinaciones de teclas predeterminadas entmux
.Inicie una nueva sesión de tmux. Aquí hacemos uno llamado "codificación":
$ tmux new -s coding
Presione Ctrl+ bseguido por %una división vertical o "una división horizontal.
Puede moverse entre las divisiones (o en el
tmux
lenguaje, los "paneles") presionando Ctrl+ bseguido de o.Ahora abra un editor de texto con los archivos que desee editar en cada panel. Aquí acabo de abrir dos archivos de texto usando
vim
, por ejemplo$ vim file1.txt
Cambiar paneles: Ctrl+ bseguido de o.
$ vim file2.txt
tmux
es extremadamente avanzado, permite múltiples paneles en una sola ventana organizados de varias maneras y levim
permite abrir múltiples archivos de texto a la vez en pestañas. Tiendo a usar tanto la tabulaciónvim
como los panelestmux
para permitirme editar, controlar la versión y depurar el código simultáneamente. Si tiene tiempo para invertir en aprender los atajos de teclado y sus funcionestmux
, puede ser un entorno de desarrollo muy poderoso.Una
tmux
hoja de trucos para comenzar: la pantalla de dayid y la hoja de trucos de tmuxUn tutorial sobre pestañas en
vim
: consejos de Vim: uso de pestañasfuente
Yo personalmente usaría screen o tmux. ambos le permiten abrir múltiples paneles, aunque creo que tmux es mejor para recuperar una sesión de múltiples paneles que la pantalla. también obtiene el beneficio adicional de poder adjuntarse a la sesión si se desconecta de su sesión de escritorio local y luego ingresa SSH. Incluso tiene la capacidad de compartir la sesión con otros usuarios y colaborar.
fuente
Además
vim
,emacs
y losjoe
editores, aquí hay algunos otros editores de emulador de terminal (tty) / x-terminal, que pueden mostrar al menos dos archivos al mismo tiempo. Puede que no sean los cuchillos suizos más lindos, pero la curva de aprendizaje no parece demasiado pronunciada en cualquier caso:1) mcedit
Forma parte de Midnight Commander (un administrador de archivos en modo texto, instálelo
apt-get install mc
en distribuciones basadas en Debian).2) wpe \ xwpe
Disponible con
apt-get install xwpe
distribuciones en Dedbian. Sin embargo, parece que es una protección detenida.3) nfte \ efte
eFTE también está disponible a través de
apt-get install efte
.Por otro lado, para la ventana X también hay algunas herramientas "diff" de GUI que pueden ser útiles para este propósito. En mi Linux Mint tengo al menos dos:
4) xxdiff
Una aplicación basada en Qt (
apt-get install xxdiff
)No probado y no mostrado, pero existe también
Fldiff
usando el Fast Light Toolkit (FLTK) pero inspirado en partexxdiff
. También en los repositorios oficiales (apt-get install fldiff
y puedes probarlo tú mismo). Lo mismo se aplica amgdiff
.5) kdiff3
Una aplicación KDE similar (
apt-get install kdiff3
).fuente
Puedes usar el editor de texto atómico de github. Viene con funcionalidad de pantalla dividida.
fuente