Estoy buscando sugerencias para una configuración para mis necesidades particulares. No he hecho mucho Linux desde la universidad y quiero volver a dedicarme a él como un hobby. Tengo un hardware no demasiado potente (512 MB de RAM, un solo núcleo). Quiero hacer todo a través de shells y editores basados en texto, como vim. Mi objetivo es nunca tocar el mouse.
Necesito la capacidad de tener múltiples shells abiertos a la vez, uno que ejecute un servidor web, otro que ejecute vim, otro que ejecute la canalización de compilación de mi aplicación, otro para comandos de shell ad-hoc como wget, grepping y untarring, etc. Necesito ser capaz de abrir nuevos shells y cambiar rápidamente entre ellos con el teclado.
Pero aunque quiero múltiples shells, no quiero un entorno de escritorio gráfico. No quiero volver a sentirme tentado a usar el mouse; Parte de mi propósito es obligarme a aprender la forma de hacer varias tareas en la línea de comandos.
También quiero poder aprovechar mi gran monitor, ejecutando vim con un par de cientos de columnas en pantalla desplegada.
es posible?
fuente
Respuestas:
Leí sus preguntas varias veces antes de darme cuenta de que definitivamente tengo una recomendación para usted: vim with tmux: http://tmux.sourceforge.net/
tmux es un 'multiplexor' de pantalla que le permite tener varias ventanas y paneles 'dentro de 1'
Es el sucesor del venerable programa 'screen', durante mucho tiempo un elemento básico de muchos codificadores de cli. Una de sus características ganadoras originales sobre VIM fue la capacidad de hacer ventanas divididas tanto vertical como horizontalmente. Sin embargo, la pantalla avanzó y ahora también puede hacerlo.
Ejemplo:
Otra parte de la configuración que recomendaría es un buen conjunto de alias. Esto hará que tu escritura e interacción sean mucho más fáciles y rápidas
Algunos de mis favoritos se muestran aquí como ejemplos:
Los alias se pueden configurar en un archivo .bash_aliases que se llama desde .bashrc con: # Definiciones de alias. if [-f ~ / .bash_aliases]; luego . ~ / .bash_aliases fi
Es probable que ya tenga ese código, así que solo su propio archivo .bash_aliases.
Ambas opciones funcionan en una Mac y esa es una consideración importante para mí (en su mayoría usuario de Ubuntu).
La mayoría de las personas que usan tmux reasignan las teclas para que sea más fácil. Los enlaces predeterminados simplemente no son tan buenos. Aquí están mis configuraciones:
$ cat ~ / tmux.conf
Finalmente (para cerrar el ciclo), aquí están mis configuraciones de .vimrc que me gusta tener que hacer que el shell sea más fácil de usar:
Finalmente, realizo algunos cambios en mi archivo .bashrc. Por ejemplo,
shopt -s autocd
cuando escribo un nombre de directorio (que existe) mis CD de shell en ese directorio de inmediato. ¡Hábil! Así que aquí están mis cambios .bashrc:fuente
Estoy usando XMonad + tmux + Emacs para una configuración similar.
Utilicé ratpoison durante un año en el pasado, pero XMonad se sintió más robusto. Nunca tuve ningún problema en mis cajas de 256 MB, 512 MB con él. Ratpoison tuvo algunos problemas de estabilidad, pero esto es anecdótico y las cosas podrían haber cambiado desde entonces.
También utilicé la pantalla GNU pero tmux tiene algunas características que la pantalla no tiene.
Si ya conoce vim, será mejor que no aprenda una nueva herramienta. Si no lo hace, Emacs puede emplear múltiples shells (
C-u M-x shell
), use su shell favorito (M-x term
), puede escribir, compilar y depurar sus programas, leer sus correos, pasar el rato en IRC, leer páginas web / info / man, ejecutar la mayoría de REPL shells (por ejemploM-x run-python
), use git / hg / svn dentro de él, edite archivos remotos con TRAMP, use dired para hacer casi todas las operaciones de archivo, use grep / find / ack dentro de él. Puede usar Emacs con o sin X. No necesita un multiplexor de terminal como screen o tmux, pero prefiero ejecutar emacs como servidor y usar emacsclient desde tmux si lo ejecuta desde shell.fuente
dwm usa solo unos pocos cientos de kB de memoria, controlado por teclado, pero también puede usar el mouse si lo desea. Visite http://suckless.org para obtener herramientas más simples pero potentes.
fuente
Para múltiples shells con fácil navegación del teclado entre ellos, es posible que desee mirar en la pantalla GNU o byobu (que es una mejora de la misma).
fuente
Hice un esfuerzo similar hace un par de meses, abandoné mi mouse y exploré una multitud de configuraciones y administradores de ventanas. Parece que ya te han ofrecido muchas sugerencias útiles, pero pensé que un par de centavos adicionales no podrían hacer daño. Aquí están mis dos:
Echa un vistazo a i3 window manager. Es ligero, con una configuración simple y no requiere una recompilación después de alterar la configuración. La funcionalidad de mosaico y los espacios de trabajo etiquetados significan que no hay mouse y un sinfín de posibilidades basadas en las preferencias y el espacio de la pantalla. Los programas pueden asignarse a etiquetas y las teclas pueden vincularse a casi cualquier cosa. i3status o conky se canalizan fácilmente a i3 para obtener información del sistema. Instale dmenu y desconecte su mouse.
Prueba una distribución ligera. Arch, Gentoo y Slackware ofrecen diferentes opciones para configurar un entorno de luz. Comience con poco y preste atención a las dependencias. Instale solo lo que necesita y aprenda a configurarlo correctamente. No inicies X en el arranque. Aprenda a usar todas las herramientas a su cargo. Vim es una bestia. Si ya lo sabes, úsalo. Si no, aprende. Ponga atención a los detalles. Aprenda lo que tiene en su sistema y por qué está allí.
fuente
Tenía un deseo similar hace unos seis meses. Principalmente porque estaba trabajando a través de SSH todo el día. Como ya se ha sugerido, use la pantalla GNU. Es bastante terrible (en mi humilde opinión) justo después de instalarlo. ¡Sin embargo! Es altamente personalizable a través del archivo .screenrc. Hay muchos tutoriales en línea que proporcionan código que puede cortar y pegar para obtenerlo como desee.
Llegué al extremo de reunir algunos scripts para configurar dicho entorno, MALiCE, 'My Awesome Linux Coding Environment'. Está disponible en Github aquí:
Malicia
Esto también documenta muchos atajos de teclado, así como una muestra de archivos .muttrc y .screenrc, que están configurados para funcionar con cosas como gmail.
Tenga en cuenta que no es perfecto, pero puede ahorrarle algo de tiempo y esfuerzo para echar un vistazo a algunos de los archivos y scripts de configuración. Hay un fuerte sesgo vim.
También recomendaría programas como cmus (reproductor multimedia basado en texto - bastante bueno) y mutt (cliente de correo electrónico - nuevamente configurado a través del archivo de texto .muttrc). También hay clientes IRC basados en texto y créanlo o no, decodificadores de video basados en texto que convertirán el video en ASCII, un poco extremo pero cada uno por su cuenta.
Si no quieres un escritorio, hay varias opciones. Por ejemplo, podría instalar slackware, que si no recuerdo mal, se inicia correctamente en una interfaz de línea de comandos. Tienes que salir de tu camino para iniciar la GUI.
fuente
elinks
navegador web a esa lista de buenas utilidades basadas en texto.http://en.wikipedia.org/wiki/VESA_BIOS_Extensions
http://www.pendrivelinux.com/vga-boot-modes-to-set-screen-resolution/
Pero no todas son compatibles con todas las tarjetas gráficas, debe probarlas.
Para cambiar entre varios shells, creo que Alt-F es lo suficientemente rápido.
fuente
La clave para esto no es la distribución, sino las herramientas. Simplemente deje de usar las herramientas de la GUI y modifique las herramientas de la CLI para que se vean y se comporten exactamente como lo desee. Una forma es editar
~/.Xresources
y luego cargarloxrdb
en~/.xinitrc
. Allí, también podría iniciar un montón de aplicaciones que siempre usa.Obviamente necesitas un buen shell: yo diría zsh. Tendrás que trabajar mucho
~/.zshrc
. (Pero bash también funcionaría, por supuesto. Entonces,~/.bashrc
sería el lugar).En segundo lugar, un editor. Emacs o vim, dependiendo de cuál use actualmente. Un editor menos avanzado (p. Ej., Nano) no funcionará. Al igual que con el shell, harías mucho trabajo en
~/.emacs
los archivos de inicio correspondientes.Debe incorporar todo lo que pueda en su editor de texto. Daré algunos ejemplos del mundo de Emacs, simplemente porque soy un usuario de Emacs. Para el correo, rmail. Para la gestión de archivos, dired. Para la navegación web, W3M. Para noticias, gnus (aunque no lo uso). Para páginas man,
M-x man
. Y así.La razón por la que haría esto y no usaría otras aplicaciones de CLI (por ejemplo, solo
man
para páginas de manual, lynx para navegar, etc.) es:1) el nivel de integración (matar, tirar, hacer accesos directos; todo en un abrir y cerrar de ojos ...)
2) los atajos de teclado para navegar el cursor, buscar, etc. (es decir, su memoria muscular)
En cuanto a X, no necesitas abandonarlo. El hecho de que quiera todo en CLI no significa que no quiera GFX en absoluto (o, al menos, solo quiero CLI, y GFX). Por ejemplo, aunque modifique imágenes con (CLI) mogrify o convertir, aún querría mostrarlo para verificar el resultado (por ejemplo, en gliv; simplemente deshabilite la barra de menú para no verse tentado a usar el mouse). Otro ejemplo son los documentos LaTeX y PDF.
En cuanto al terminal, la mayoría de la gente diría screen o tmux, pero también podría usar los terminales virtuales de Linux (la consola o ttys). En X, urxvt tiene una extensión Perl que habilita pestañas. Para aquellos (ttys y urxvt), puede configurar una interfaz uniforme, por ejemplo, Alt-J / K para cambiar entre pestañas, por lo que no tiene que alcanzar las teclas de flecha (o lo que sea predeterminado).
Buena suerte :) No dudes en enviarme algunos consejos cuando hayas terminado (o casi allí ... nunca has terminado), ya que estoy en el mismo camino que tú.
fuente