Buscando un editor de texto con funciones específicas de resaltado de sintaxis

Soy un tipo de PC, pero tengo un estudiante de programación que tiene una Mac. Hemos estado usando TextMate, pero faltan algunas funciones que no puedo encontrar o que no están disponibles en TextMate.

En mi amado Notepad++ tengo las siguientes características:

  • líneas de cuadrícula verticales, que te ayudan a ver qué tan sangrado estás
  • al colocar el cursor junto a un par de corchetes o dentro de una etiqueta html, se resaltará el corchete o la etiqueta coincidente; en el caso de las llaves, las líneas de cuadrícula antes mencionadas incluso se resaltarán (por lo tanto, si ha sangrado el código constantemente, podrá solo tiene que escanear hacia abajo la línea de puntos resaltada y encontrará el corchete correspondiente)
  • al resaltar una palabra (lo cual es rápido al hacer doble clic en ella), todas las demás instancias de esa misma palabra se resaltarán (¿dónde más usé esa función/variable? ¿La nombré consistentemente?)
  • Comentar varias líneas de texto resaltando y presionando [strg]+[k]
  • Descomentar múltiples líneas de texto resaltando y presionando [strg]+[shift]+[k]
  • Aplicar sangría a varias líneas de texto resaltando y presionando [strg]+[tab]
  • Eliminar la sangría de varias líneas de texto resaltando y presionando [strg]+[shift]+[tab]
  • la capacidad de elegir cómo interpretar el archivo (en qué idioma) la interpretación del compañero de texto es bastante defectuosa... a veces abres un archivo y será todo blanco aunque claramente sea un archivo .css más o menos.
  • También sería útil completar funciones, como sugerencias de parámetros, cerrar etiquetas html automáticamente y completar corchetes. I love hot notepad++ te muestra cuando escribes una variable qué nombres de variables ya has usado en el documento.

El manejo de los corchetes y las citas de Textmate es excelente: agrega el par correspondiente por usted, pero no hará avanzar el cursor, por lo que si está en su memoria muscular hacerlo al mismo tiempo, no le hará perder el tiempo. y puede resaltar una palabra y presionar comillas o corchetes, y envolverá la palabra entre corchetes. Entonces, eso sería una ventaja, pero no es nada que extraño cuando uso Notepad ++, sin embargo, la combinación de carecer de lo anterior es frustrante.

ingrese la descripción de la imagen aquí

¿Alguien conoce un programa gratuito para Mac con estas características?

Y mientras lo hace, ¿podría indicarnos cómo activar y usar estas funciones? Por ejemplo, sé que TextMate tiene una forma de sangrar, pero la combinación de teclas que te da no tiene sentido para mí...

¡Gracias por cualquier sugerencia!

Respuestas (4)

Texto sublime

Hay algunas cosas por las que vale la pena pagar en la vida y, en mi opinión, un editor de texto sólido es una de ellas. Si es la herramienta que usa todos los días, ¿qué son unos pocos dólares para garantizar que la herramienta sea de alta calidad? Para mí, ese editor por el que merece la pena pagar es Sublime Text . Todavía estoy en 2, pero 3 es una versión beta bastante estable y se puede obtener de forma gratuita por el momento. Tanto 2 como, cuando salga de la versión beta, 3 se pueden "evaluar" indefinidamente si el precio y el pago por software de calidad realmente lo desaniman.

La ventaja de Sublime es que tiene una larga e ilustre historia con una gran comunidad detrás. Tiene un increíble sistema de administración de paquetes en Package Control que le permite agregar un montón de funciones de manera muy rápida y sencilla.

Para abordar sus solicitudes de características específicas...

líneas de cuadrícula verticales, que te ayudan a ver qué tan sangrado estás

Sí. Agregar:

"draw_indent_guides": true

a su archivo de preferencias.

coincidencia de paréntesis y coincidencia de etiquetas cuando estás dentro de una etiqueta

La extensión BracketHighligher hace esto y más. Hay una captura de pantalla elegante en su página de Control de paquetes que muestra todas las formas en que puede resaltar cosas listas para usar.

Puede encontrar mi archivo de preferencias de Sublime aquí , que ya tiene habilitadas la mayoría de las cosas que desea.

al resaltar una palabra (que es rápido haciendo doble clic en ella), todas las demás instancias de esa misma palabra se resaltarán

Sublime llama a esto Selección Múltiple . Seleccione una palabra y luego presione Ctrl+Command+Go Cmd-Dpara seleccionar todas las apariciones de la palabra en el archivo. Escribir reemplazará todas las ocurrencias simultáneamente. Puedes hacer mucho más que eso con Sublime. Consulte la página mencionada anteriormente para ver otros movimientos ninja de selección múltiple que puede hacer.

Comentar varias líneas de texto resaltando y presionando [strg]+[k]

Resalte el bloque y presione Command-/para activar y desactivar los comentarios para el bloque. Puede combinar esto con la selección múltiple mencionada anteriormente para comentar líneas no contiguas.

Descomentar múltiples líneas de texto resaltando y presionando [strg]+[shift]+[k]

Está Command-/en Sublime alternar comentarios, que es más fácil de recordar que un 'agregar comentario' y una acción separada de 'eliminar comentario' si me lo preguntan. Si no le gusta el atajo, puede reasignar combinaciones de teclas libremente en Sublime para asignar las acciones a una combinación preferida.

Aplicar sangría a varias líneas de texto resaltando y presionando [strg]+[tab]

Eso funciona exactamente como lo desea: seleccione las líneas, TABpara sangrar, Shift-TABpara quitar la sangría.

Eliminar la sangría de varias líneas de texto resaltando y presionando [strg]+[shift]+[tab]

Solo está Shift-TABen Sublime.

la capacidad de elegir cómo interpretar el archivo (en qué idioma)

Puede anular la suposición de idioma de Sublime usando el View > Syntax...menú. Elija el idioma que desea que sea en lugar del que Sublime adivinó. La suposición de Sublime es mucho mejor que la de TextMate, aunque en mi opinión.

También sería útil completar funciones, como sugerencias de parámetros, cerrar etiquetas html automáticamente y completar corchetes.

Absolutamente, se llaman Snippets en la jerga de Sublime. Viene con un montón de valores predeterminados para algunos lenguajes comunes como CSS, HTML, Ruby y Python que son útiles. Puede agregar sus propios fragmentos y puede encontrar más soporte de idiomas y fragmentos en Package Control .

Átomo

Atom es el chico nuevo en el bloque. Completamente gratuito y de código abierto, es un editor de texto que comenzó como un proyecto de código cerrado en GitHub pero que ahora está siendo ampliado por personas de todo el mundo. Ha crecido en popularidad y capacidades muy rápidamente. Todavía es un poco joven, por lo que está cambiando rápidamente y hay algunas asperezas, pero se muestra muy prometedor y seguro que no puede superar la velocidad a la que se abordan los problemas en el proyecto cuando surgen.

Tomaron prestado mucho de TextMate y Sublime para que se sintiera familiar para la gente; ambos editores eran y son muy populares entre los desarrolladores basados ​​en OS X. Es inteligente comenzar a hombros de gigantes e intentar pararse desde allí, ¿verdad?

Aquí hay una gran comparación entre Atom y Sublime Text .

Para abordar sus solicitudes de características específicas...

líneas de cuadrícula verticales, que te ayudan a ver qué tan sangrado estás

Sí. En la Core Settingsventana de preferencias, desplácese hasta la parte inferior y marque Show Indent Guidepara ver las guías.

coincidencia de paréntesis y coincidencia de etiquetas cuando estás dentro de una etiqueta

Tiene el complemento atom/bracket-matcher que viene con él de forma predeterminada.

al resaltar una palabra (que es rápido haciendo doble clic en ella), todas las demás instancias de esa misma palabra se resaltarán

Sí. Resalte una palabra o frase y presione Cmd-Dy seleccionará todas las instancias de ese patrón en el archivo.

Comentar varias líneas de texto resaltando y presionando [strg]+[k]

Resalte el bloque y presione Command-/para activar y desactivar los comentarios para el bloque. Puede combinar esto con la selección múltiple mencionada anteriormente para comentar líneas no contiguas.

Descomentar múltiples líneas de texto resaltando y presionando [strg]+[shift]+[k]

Está Command-/en Atom para alternar comentarios, que es más fácil de recordar que un 'agregar comentario' y una acción separada de 'eliminar comentario' si me lo preguntan. Si no le gusta el atajo, puede reasignar combinaciones de teclas libremente en Atom para asignar las acciones a una combinación preferida.

Aplicar sangría a varias líneas de texto resaltando y presionando [strg]+[tab]

Eso funciona exactamente como lo desea: seleccione las líneas, TABpara sangrar, Shift-TABpara eliminar la sangría.

Eliminar la sangría de varias líneas de texto resaltando y presionando [strg]+[shift]+[tab]

Está solo Shift-TABen Atom.

la capacidad de elegir cómo interpretar el archivo (en qué idioma)

Presione Ctrl-Shift-lpara abrir el selector de tipo de archivo y reasignar el idioma o el tipo de archivo para un archivo específico.

También sería útil completar funciones, como sugerencias de parámetros, cerrar etiquetas html automáticamente y completar corchetes.

Lo lamento. No estoy seguro de cómo haces esto y no puedo encontrar ninguna documentación excelente al respecto. ¿Quizás alguien pueda anotar la respuesta? Me sorprendería si Atom no pudiera hacer esto.

Los controles de TextMate son configurables y dependen de "paquetes" de macros separados para el idioma actualmente activo, pero los estándares son:

  • Cmd-/ para comentar y descomentar bloques seleccionados
  • Cmd-] para sangrar bloques seleccionados y Cmd-[ para sangrar
  • Esc para autocompletar una palabra, pero funciona estrictamente buscando la palabra coincidente más cercana en el documento actual; no sabe nada sobre la biblioteca estándar del idioma actual, o palabras en otros documentos.

En la parte inferior de la pantalla de TextMate, debe tener un pie de página que le indique la línea y la columna actuales, el idioma actual (así que si hay un error sobre el idioma, arréglelo allí), cómo están configuradas las pestañas, etc.

Creo que un paquete .css viene preinstalado, por lo que no estoy seguro de por qué no identificaría automáticamente .css.

En realidad, no identificó JavaScript. Al menos no de inmediato... Veré ese pie de página la próxima vez que suceda, ¡gracias!

el texto sublime debería satisfacer la mayoría de sus necesidades, también tiene toneladas de complementos que puede usar para personalizarlo.