pagina oficial from cancel and objective-c xcode vim emacs textmate

objective-c - oficial - vim cancel edit



¿Por qué Emacs/Vim/Textmate? ¿No es bueno Xcode? (21)

Cuando está usando Emacs, puede instalar Cedet o el paquete Autocompletar para usar la finalización del nombre para algunos idiomas (C ++ es bastante bueno, mientras que Obj-C aún no es compatible), además de la funcionalidad del editor enriquecido

Hola, principalmente hago C ++, programación Objective-C. Y encontré Xcode plus un auto complemento / macro complemento (Completion Dictionary) bastante adecuado.

Sin embargo, todas las personas parecen elogiar a sus editores de texto puro. Probé con Textmate por un momento; le gustó su simplicidad pero no le gusta el manejo de archivos / marcos.

¿Me estoy perdiendo de algo? O bien, ¿Vim o Emacs tienen autocompletado tan bueno como Xcode?


La razón principal por la que parece pensar que las personas como Emacs / Vim son para completar el código. Las personas como Emacs / Vim porque ambas están HECHAS para editar texto. Tiene control y opciones disponibles para usted que otros editores simplemente no tienen. Una vez que te haces REALMENTE bueno usando uno de estos programas, quieres estos enlaces de teclas / comandos disponibles en todas partes. Las macros, las expresiones regulares, moverse por búsqueda / palabra / párrafo / función, interactuar con el control de versiones, complicadas funciones deshacer / rehacer y copiar / pegar y opciones de extensión son solo algunas de las cosas que realmente hacen muy bien a estos editores.

La finalización del código es solo una de las MUCHAS cosas que pueden facilitar la programación de escritura. Emacs / Vim puede manejar TODOS ellos (de forma nativa o por extensiones).


Levanta un hijo de la silla, déjame hablar sobre esto.

Mucho antes de los días de Xcode, había VIM y Emacs. Sé que es difícil de imaginar, pero es verdad.

Muchas personas se acostumbraron a VIM / Emacs y, por lo tanto, continúan usándolo.

Emacs es extremadamente personalizable y ofrece prácticamente todo lo que puedas imaginar (incluido un sistema de contracción incorporado y las torres de hanoi). Puede llamar fácilmente a los compiladores desde Emacs y crear sus propias extensiones según sea necesario.

VIM tiene un increíble motor de expresiones regulares (Emacs también) y es muy útil porque (VI) viene con casi todos los sistemas operativos Unix, y funciona fantásticamente si no tienes teclas de flecha (sí, sí, en la vieja escuela). La gente es muy buena con el uso de claves para mover documentos, sin tener que usar el mouse.

Lo mismo es cierto con Emacs también, pero para mí, me resulta mucho más fácil el movimiento del cursor en VIM.

La guerra del editor de textos está alimentada con tanto fanatismo religioso como la guerra entre Mac y PC, y la respuesta es elegir la mejor opción para ti. Si te gusta Xcode, genial, sigue usándolo, sin embargo, buena suerte si alguna vez te obligan a trabajar en una PC o máquina Linux. Personalmente, uso Emacs para codificar, VIM para manipular texto y Firefox para ver lolcats.


Lo intenté hace mucho tiempo y por una razón u otra "No lo entendí". Luego, después de probar con otros editores a lo largo de los años, llegué a un punto en el que ningún editor parecía hacer lo que yo quería que hiciera. Después de expresar mi frustración a un amigo, me recomendó que probara vim ... ¡y estoy tan contento de haber echado otro vistazo porque era la respuesta a una pregunta que no sabía cómo formular! He usado Vim / MacVim desde ...

aquí mi configuración: https://github.com/RandyMcMillan/QuickVim

También uso Xcode porque es bueno tener código completo. XVim es bueno para las personas que quieren una sensación modal / vim en el editor de Xcode: https://github.com/JugglerShu/XVim

Pero cuando se trata de mi día a día, la edición de Vim gana todo el tiempo. Es por eso que tengo el repositorio QuickVim para que pueda reproducir rápidamente mi entorno en cualquier momento / en cualquier lugar.

Tengo una lista de licencias para editores como TextMate, etc., pero es probable que nunca los use, ya que puedo usar vim gratis y personalizarlo según mis especificaciones exactas.


Lo que te estás perdiendo es que Emacs y Vim son en realidad IDEs.


No en realidad no. Es una cuestión de preferencia realmente. Me gustó trabajar en Visual Studio 6, pero hoy en día las versiones más recientes están demasiado hinchadas. Entonces, si puedo hacer algo fuera de VS, generalmente lo hago sin abrir toda la caja IDE.

En windows me gusta notepad2 y gvim. Personalicé vim hasta el punto en que se adapta perfectamente a mis necesidades, así que no tengo que pensar en qué y dónde.

Pero, es bueno mencionar eso (también puedes averiguarlo por ti mismo leyendo estos mensajes). Muchos usuarios usan vim / emacs / ... por causa de lo mejor / factor cool / real-usability. Entonces, si no le conviene, no lo use. Nadie te mirará de la manera equivocada por eso.


No uso vi para hacer mi codificación; sin embargo, sí, cuando esté disponible, uso vi emulation en mis editores. Cuando estoy haciendo codificación Java en IntelliJ uso el complemento IdeaVIM que me da soporte vi en el editor de IntelliJ. Esto significa que casi nunca tengo que sacar mis dedos de la fila de inicio. Navego con el teclado (h, j, k, l), cortar / pegar con yy, dd, etc. Y, por supuesto, cuando necesito la potencia de un editor de GUI con funciones completas, la emulación de vi no me impide usar esos caracteristicas.

Me vuelve loco que XCode no tenga emulación de video en su editor. Parece una funcionalidad que cualquier IDE decente debería tener.


Para mí, la mayoría de las dos características más importantes son:

  • Emacs enlaces de teclas, ya que eso es lo que mis dedos son compatibles.

  • Código abierto, por la libertad que proporciona. Estar atado a una plataforma es anatema.

En estos días, utilizo Eclipse principalmente para programar (configurar Emacs keybindings) y FSF Emacs para leer correos y algunos LaTeX ocasionales.


Personalmente amo a emacs. He usado vim y un puñado de IDEs. Vim y emacs tienen grandes comunidades donde las personas están dispuestas a codificar funciones para casi cualquier idioma. No sé de ningún IDE que, por ejemplo, apoye a Haskell. Todo depende de lo que es importante para ti. Ambos tienen lenguajes de extensión, aunque IMO, emacs lisp es el mejor de los dos. La capacidad de ignorar el mouse es lo principal que me gusta también. Muchos IDE también cuentan con modos o extensiones de compatibilidades de emacs y vim. Ambos tienen una gran inversión de tiempo, pero ambos lo valen. Tarde o temprano, elegirás el que más te convenga, vim / emacs / IDE, y luego mantendrás tus habilidades con él.


Personalmente, me encanta TextMate, porque en realidad es una solución realmente ligera. De acuerdo, no he usado Vim o Emacs en profundidad (me gustan mis GUI) ... aunque disfruto mucho la navegación del cursor basada en el Control (Control-A es el comienzo de la línea, Control-E es el final de la línea, Control- F y Control-B son hacia adelante y hacia atrás, etc.). Así que entre Xcode y TextMate, utilizo Xcode para la mayoría de mi desarrollo serio, pero si solo necesito editar rápidamente un archivo fuente, puedo estar listo y codificar antes de que Xcode termine de ejecutarse (ayuda a que TextMate pueda recordar qué archivos se abrieron anteriormente) y restaurarlos). Entonces, para la edición de texto ligero, TextMate es mi elección.

Por encima de eso, el complemento de TextMate es increíble; proporciona soporte completo (coloreado de sintaxis, construcción y ejecución, etc.) para muchas cosas diferentes (scripts de shell, CSS, SQL, LaTeX y mucho más) que Xcode no proporciona. Cuando necesito retocar un programa rápido en Java o retocar una página web, es mucho más fácil que usar Vim y luego construir desde la Terminal.

Mi única queja con TextMate es que la consola es de solo lectura, por lo que no puedo construir nada interactivo. Eso y el hecho de que no parece ser compatible con las palabras clave C99 (para bucles y booleanos) en un archivo plain-C.


Puede echar un vistazo a mi ensayo sobre el tema ¿Por qué Emacs? . Si bien está más o menos centrado en Emacs, algunos de los puntos que se incluyen en él también se aplican a vim y TextMate.


Realmente no entiendo por qué emacs apuntala cuando la gente habla de editores de texto. En mi experiencia, es más como eclipse (o una de esas otras plataformas / IDE) que vi porque es un entorno , que es bueno para la edición de texto.

Como IDE emacs, cuenta con control de versiones, compilación en vivo, revisión ortográfica, autocompletado, depuración, navegación de códigos y mucho más para una amplia variedad de SDK. Para el resto de sus necesidades informáticas, se trata de un cliente de correo electrónico / noticias / web / irc / twitter / xmmp, calendario, organizador, calculadora, emulador de terminal, edición remota, hojas de cálculo, juegos, etc. etc., etc.

Después de Dijkstra: "Emacs no se trata más de edición de texto que la astronomía se trata de telescopios"


Soy un usuario de vim desde hace mucho tiempo, y descubro que realmente me gusta la edición de Komodo con la emulación Vim activada. Por lo tanto, obtengo toda la conveniencia de las vinculaciones de teclas vim (a las cuales me he acostumbrado tanto que un documento reciente de MS Word que produje recientemente tenía no menos de tres ": w" s) más la terminación del código bien implementado para C ++, Python, javascript, etc.

No uso XCode porque no desarrollo mucho las aplicaciones específicas de OS X, por lo que el beneficio de la integración de OS X no es lo suficientemente grande como para superar el costo de no tener enlaces de teclas vim y "hacerlo a nuestra manera". o no "enfoque que Apple toma hacia el desarrollo.


Tengo Xcode y TextMate y no los uso, aunque sé que pueden ser muy poderosos. En cambio, uso Vim (o MacVim si lo prefieres). Por qué ?

Debido a que es ligero, rápido, adictivo, potente, personalizable ... Podría seguir así durante mucho tiempo, pero lo más importante es que puedo hacer todo lo que quiero con Vim.

Sea cual sea el editor que utilice, el mejor editor es el que domina (casi) perfectamente.


TextMate simplemente se siente más ligero para mí. La parte superior de mi cabeza:

  1. Tiene un gran soporte para saltar entre archivos y métodos dentro de los archivos. Piense en Quicksilver para archivos / métodos. Con un archivo abierto para editar, presione command-shift-t para que aparezca un panel flotante que enumera todos los métodos en el archivo. Comience a escribir y la lista se filtra por sí misma. Seleccione el método que desee y presione regresar para saltar a él. Xcode tiene algo como esto, pero la coincidencia es más literal.

  2. Gran cantidad de expansión de texto integrada. Escriba un disparador y presione la pestaña para expandirlo. Por ejemplo, en una nueva línea, escribir m y luego presionar pestaña crea un método para usted. La tecla de tabulación luego salta inteligentemente a las diversas partes del texto insertado para que pueda editarlas en su lugar. Estos son tiempos tan grandes que es ridículo.

  3. Buen complemento de complemento para Subversion y Git. Probablemente otros VCS también.

  4. Terminación (como Xcode) e historia. TextMate le permite tab-completar básicamente cualquier texto que exista en el archivo. Por lo tanto, una vez que escribe una llamada de método o nombre de variable una vez, puede usar la pestaña para autocompletarlo en cualquier lugar del mismo archivo.

  5. Tablero pasado inteligente con historia, agradable construido en diffs, soporte de tema, buen soporte de teclado, encontrar en archivos y en proyectos (con RegEx) y probablemente más de lo que estoy olvidando.

De todos modos, es suficiente de mí.


Todo depende de tu preferencia.

A algunas personas les gusta trabajar con texteadores livianos como (g) vim, emacs, pico, etc. A otros les gusta trabajar con IDEs como MS Visual Studio, Eclipse, Xcode.

Siempre que su entorno sea compatible con la tecnología de edición de texto, todo depende de usted.

Por cierto, me gusta trabajar con Eclipse y vim porque son lo que solía aprender programación;)


Usuario de Heavy Vim aquí. En general, considero que la capacidad de manipulación de texto de Vi / Vim es muy superior a la de los editores tradicionales que carecen de elementos como:

  • modo visual: por ejemplo, prefijar 5 líneas con comentario //
  • macros: por ejemplo, rodear palabras de 3ª a 5ª en una línea con comillas, repetir para 100 líneas
  • registros múltiples: piense 36 registros para copiar y pegar
  • delete {motion}: por ejemplo, borrar del cursor hasta la siguiente aparición de ''initWithFrame''

Estos son solo algunos ejemplos de que Vim tiene la edición de texto de XCode sin límites

Para Objective-C. Tiendo a instalar un plugin de Vim en el IDE para obtener lo mejor de ambos mundos: compatibilidad con componentes nativos de compilación / UI.

De paso. Los enlaces de teclado Emac (por ejemplo, CTRL-A para ir al principio de la línea) son compatibles con muchos campos de texto nativos (Coacoa) en Mac. Incluyendo el que estás usando para escribir respuestas en : D

https://github.com/JugglerShu/XVim funciona con XCode. IdeaVim para AppCode


Xcode es más un IDE, mientras que emacs y vi son para texto puro (aunque tienen extensiones masivas para ellos). Esto es preferible si está en un sistema anterior o en un SSH. Además, están prácticamente en cada computadora basada en UNIX, mientras que XCode es un software propiedad de Apple.


Yo uso Vim principalmente para el modelo de entrada. Una vez que se ha vuelto competente en el modelo de entrada, volver a un editor donde se ve obligado a usar un mouse se siente torpe y en última instancia (al menos para mí) irritante. Es mucho más eficiente escribir "ci" para alterar todo el texto entre dos comillas simples, luego quitar las manos de la fila de inicio, buscar y seleccionar el texto con el mouse y finalmente presionar "eliminar".

Solo he usado Emacs brevemente y aunque prefiero Vim, estoy celoso de algunas de sus características. Pero finalmente fui con Vim porque encuentro el modelo de entrada de acordes que usa Emacs para forzar innecesariamente mis dedos.


emacs es poderoso. Yo uso emacs con vimpluse.el para poder usar los enlaces de teclas vim con todas las características de emacs.


vi es omnipresente en los sistemas UNIX, y Emacs casi lo es. AFAIK, Xcode está en una plataforma.

Tener un IDE potente es una gran cosa, pero todos deberían tener un poco de habilidad para mantenerlos funcionales en cualquier plataforma en la que puedan caer.