Estoy buscando un editor de texto liviano que se ejecute en la terminal. Actualmente uso nano
2.2.6, pero estoy un poco insatisfecho con él (particularmente el hecho de que no funciona para deshacer/rehacer).
Debe tener:
nano
lo que no será utilizable.vim
está fuera a menos que haya una forma de usarlo con combinaciones de teclas en lugar de modos).Es bueno tener:
less
).Usaré el editor principalmente para editar scripts de shell, pero también podría usarlo para codificar Java, escribir Markdown, escribir html/javascript, etc.
Nota: Lo he intentado emacs
y falla estos dos requisitos para mí:
- Tiempo de inicio rápido. Si es mucho más lento de
nano
lo que no será utilizable.- Fácil personalización de pestañas/sangrado.
(
vim
está fuera a menos que haya una forma de usarlo con combinaciones de teclas en lugar de modos).
Curiosamente, una vez que realmente pensé en esto, me di cuenta de que esa vim
es la respuesta.
vim
tiene todos los "imprescindibles" y "buenos para tener":
- Posibilidad de ejecutar en la Terminal.
- Tiempo de inicio rápido. Si es mucho más lento que nano, no será utilizable.
- Personalización relativamente fácil de tabulaciones/sangrados.
- Resaltado de sintaxis para los principales idiomas.
- Funcionalidad de deshacer/rehacer.
- No puede ser modal (vim está descartado a menos que haya una forma de usarlo con combinaciones de teclas en lugar de modos).
- Combinaciones de teclas personalizables para tareas comunes.
Estaba preocupado por los números 6 y 7, pero resulta que puede comenzar vim
en el modo de inserción y personalizar los atajos de teclado del modo de inserción. Además de eso, tiene un atajo + vim
increíblemente útil que le permite ejecutar un solo comando en el modo de inserción. La combinación de estos dos le permite asignar comandos modales a métodos abreviados de teclado similares (p. ej ., ).Ctrlovim
nano
inoremap <C-u> <C-o>P " map vim paste to nano's [Ctrl]+[u] paste keyboard shortcut
- Libre.
- Funciona en OSX.
- Admite el ajuste de línea suave (las líneas largas se ajustan visualmente pero no con nuevas líneas) .
Es bueno tener:
- Posibilidad de usarlo en lugar de un localizador (es decir, menos).
- Capacidad para hacer sangría inteligente.
- Multiplataforma.
- Posibilidad de instalar a través de MacPorts.
macvim
- Capacidad para hacer una edición de código más sofisticada similar a IDE.*
Además de todo esto, vim
tiene una documentación increíble de un montón de programadores (diablos, incluso tiene su propio sitio SE ), toneladas de funciones y es muy personalizable. Recomiendo encarecidamente piratear vim
para que funcione así si tiene requisitos similares. Puede parecer un sacrilegio para los vim
expertos, pero se ajusta perfectamente a mis requisitos.
* No sé si tiene la función que se muestra en la pregunta, pero ciertamente tiene muchas funciones de edición similares a IDE.
Posibilidad de ejecutar en la Terminal.
emacsclient -nw
Además, si desea eso porque está editando archivos en una máquina remota en la que ha iniciado sesión a través de SSH, hay otra manera: abra los archivos remotos en su sesión local de Emacs . Para editar archivos a los que se accede a través de SSH, escriba hostname.example.com:/path/to/file
al abrir el archivo. Consulte el manual para un uso más avanzado.
Tiempo de inicio rápido. Si es mucho más lento que nano, no será utilizable.
Eso es lo que está haciendo mal: está iniciando una nueva instancia de Emacs cada vez que edita un archivo. Emacs fue diseñado para que usted inicie Emacs de una vez por todas, y cuando desee abrir un archivo, lo abra en la instancia en ejecución. Llame emacsclient -nw
para iniciar una interfaz con Emacs que ya se está ejecutando en la terminal actual. Ejecute emacs --daemon
como parte del inicio de su sesión, o ejecute emacsclient -a '' -nw …
para decirle a emacsclient que inicie Emacs si aún no lo ha hecho.
Fácil personalización de pestañas/sangrado.
Emacs tiene muchas funciones para configurar la sangría . La personalización avanzada tiende a depender del idioma. Nunca he tenido problemas para hacer que Emacs siga la sangría. "Fácil" es subjetivo, pero si está haciendo algo que es posible con cualquier editor, dudo que sea difícil en Emacs, como mucho, si es un estilo muy inusual que no es compatible con Emacs. el cuadro configurando algunas variables, debería poder obtener ayuda para hacerlo bien con unas pocas líneas de Elisp.
Resaltado de sintaxis para los principales idiomas.
Emacs le da el extraño nombre font lock .
Funcionalidad de deshacer/rehacer.
Seguro _ De forma predeterminada, no hay "rehacer", pero puede deshacer una operación de deshacer. Hay paquetes para proporcionar una interfaz de deshacer/rehacer más familiar, árboles de deshacer , etc.
No puede ser modal (vim está descartado a menos que haya una forma de usarlo con combinaciones de teclas en lugar de modos).
Emacs puede emular a Vi pero no es necesario que lo haga.
Combinaciones de teclas personalizables para tareas comunes.
por supuesto Y macros y así sucesivamente.
Libre.
Un niño del cartel del movimiento GNU . Basta de charla.
Funciona en OSX.
Emacs para Mac OS X , Aquamacs , etc.
Admite el ajuste de línea suave (las líneas largas se ajustan visualmente pero no con nuevas líneas).
Posibilidad de usarlo en lugar de un localizador (es decir, menos).
Se ha hecho más de una vez . Nunca he intentado. Lo que puede hacer en su lugar es ejecutar comandos de shell dentro de Emacs, lo que le brinda paginación de forma gratuita. Emacs también tiene una forma nativa de leer páginas man, navegar por la web, etc.
Capacidad para hacer sangría inteligente.
Ver sangría arriba. Emacs se puede configurar para sangrar automáticamente en varias situaciones oa pedido; esto tiende a depender del tipo de archivo, así que no entraré en detalles.
Multiplataforma.
Unix, OSX nativo (ver también OSX arriba), Windows , MS-DOS , Android iOS a través de Cydia y algunos más.
Posibilidad de instalar a través de MacPorts.
Capacidad para hacer una edición de código más elegante similar a IDE:
Fuera de la caja, obtiene sangría, resaltado de sintaxis, búsqueda de identificador, plegado. Hay muchos paquetes adicionales que brindan características adicionales; CEDET es un buen comienzo.
mcedit
es un editor de texto multiplataforma y con todas las funciones que viene incluido con Midnight Commander .
mcedit
, o presionando F4dentro de Midnight Commandereditor_tab_spacing
en el archivo de configuración ( ~/.config/mc/ini
)Options
menúeditor_word_wrap_line_length
, editor_option_typewriter_wrap
ywrap_mode
Editar:
Como se discutió en los comentarios, el ajuste de línea agrega interrupciones, por lo que no cumple con el requisito de ajuste de línea suave. El visor que lo acompaña mcview
admite este tipo de envoltorio, pero sin funcionalidades de edición.
ne hace mucho de esto.
Cosas de las que estoy seguro:
No estoy seguro:
ne
no es compatible con "softwrapping" . Sin embargo, parece tener alguna forma de personalizar las pestañas y las sangrías ( Ctrl
+ f
: TabSize para encontrarlo en la página vinculada ).joe
tiene todos los "imprescindibles" excepto el envoltorio suave (hasta donde yo sé):
Debe tener:
- Capacidad para ejecutarse en la Terminal (ya través de MacPorts).
- Tiempo de inicio rápido. Si es mucho más lento de
nano
lo que no será utilizable.- Fácil personalización de pestañas/sangrado.
- Resaltado de sintaxis para los principales idiomas.
- Funcionalidad de deshacer/rehacer.
- Combinaciones de teclas personalizables para tareas comunes.
nano
modo similar con combinaciones de teclas familiares al comenzar con el comando joe
alternativo .jpico
- Libre.
- Funciona en OSX.
joe
es multiplataforma.
Admite el ajuste de línea suave (las líneas largas se ajustan visualmente pero no con nuevas líneas).
joe
es realmente muy bueno y lo recomiendo para cualquier persona que quiera una versión con más funciones nano
(siempre y cuando no te importe el softwrapping).
En 2018, la respuesta a esta pregunta es: ¡nano! Marca todas las casillas. Ahora (septiembre de 2018) en la versión 3.0, han seguido mejorando la funcionalidad y la base de código, ¡y siguen haciéndolo! Además de deshacer, ahora también tiene grabación de macros clave. Para mi uso (y también suena como el uso de OP), muchas combinaciones de teclas necesitan redefinirse y cambiar la configuración predeterminada, pero hágalo en ~/.nanorc o globalmente en /etc/nanorc y Bob es su tío en los próximos años..!
Acabo de descubrir que nano tiene una envoltura suave. Actualmente estoy usando jed (anteriormente ne, pero no maneja bien UTF-8), y jed es muy poderoso, pero si agrega "set softwrap" en su ~/.nanorc, le permitirá usar softwrap (y redefine la mayoría de las teclas y configura muchas otras opciones). Nunca volveré a nano, pero en una nueva instalación a menudo se incluye. Todavía instalo ne porque apenas necesita configuración. Desafortunadamente, jed requiere toneladas de configuración para mí (al igual que joe).
tímrico
emacs -q
? ¿Sigue siendo lento?stiemannkj1
emacs
y ninguna ha llegado al tiempo de inicio de nano.