visual-studio - que - diferencias entre ide y editor de texto,
¿Hay alguna razón por la cual un desarrollador de C#debería aprender Emacs/Vim? (19)
Trabajo como desarrollador de ac # en una tienda puramente de Microsoft.
Recientemente empecé a enseñarme a ensamblar usando gas y Linux en mi tiempo libre fuera del trabajo. Me gusta jugar con Linux, aunque todavía soy muy nuevo.
Sigo escuchando que debería aprender VIM o Emacs, pero la cuestión es que no hay absolutamente ninguna forma de usarlos en el trabajo, por lo que me siento un poco culpable de dedicarme a dominar a uno de ellos. Peor que eso, me pregunto si aprender VIM o Emacs podría hacerme más lento con Visual Studio, ya que confundía las teclas de atajo.
Actualmente estoy haciendo mi edición en Linux usando SciTE (creo que esto se convirtió en notepad ++ en Windows).
Para alguien que trabaja en un entorno de producto más puro, ¿hay alguna razón real para que aprenda Emacs / VIM? Veo que hay una configuración en vs studio para usar los atajos de Emacs, ¿alguien aquí se ha vuelto más productivo al dominarlos en vs, o en otras palabras, puedes ver que vale la pena?
¡Gracias por adelantado!
Relacionados: ¿Aprender VIM vale la pena el esfuerzo?
Relacionado: ¿Vale la pena invertir tiempo en aprender a usar Emacs?
Relacionado: ¿Por qué debo usar un IDE? (vista desde el otro lado)
Aprender uno valdrá la pena. Personalmente recomendaría emacs pero soy parcial. Estoy 99% seguro de que emacs se puede configurar en el backend de desarrollo .net (no puedo pensar en las palabras correctas, lo siento).
Comienza la guerra de llamas :)
Soy un adicto a VIM y no me da vergüenza admitirlo. Encuentro que usar VIM me hace significativamente más productivo en mi vida diaria. La codificación es mucho más rápida cuando no tienes que quitarte las manos del teclado.
Por defecto, VS tiene poco soporte para los enlaces VIM. Sin embargo, hay un complemento barato disponible ( ViEmu ) que proporciona excelentes combinaciones de teclas VIM para Visual Studio. Tengo una licencia personal y creo que valió la pena cada centavo.
Dicho esto, hay una curva de aprendizaje empinada asociada con VIM. Probablemente matará su productividad durante una o dos semanas. Después de eso, los beneficios comenzarán a llegar y deberías notar un aumento en tus poderes productivos.
Dominar un buen editor siempre vale la pena , como desarrollador pasa mucho tiempo escribiendo texto sin formato, escribiendo programas, XML, HTML, puede ahorrar gran parte de ese tiempo utilizando un buen editor y usándolo de manera efectiva.
Empecé a aprender Vi hace nueve años, y ahora no puedo vivir sin eso.
Sea cual sea el editor que seleccione, creo que casi podrá encontrar complementos para tener el modelo de entrada de su editor de elección, en todos los IDE principales, para Visual Studio puede usar ViEmu o Emacs Keybindings
Eche un vistazo a JP Boodhoo y lo que está haciendo en www.jpboodhoo.com . Él y Kyle Bailey han estado blogueando recientemente sobre el uso de VIM como parte de su experiencia de desarrollo con VS2008.
En mi humilde opinión, no. estoy usando acme sobre vim gedit o vs2008 en el trabajo.
Fui usuario de VIM y también desarrollé intellisense para C # ( http://insenvim.sourceforge.net/ ) .. pero con los últimos cambios de idioma no puedo evitar usar Visual Studio. Pero muchas veces mirar hacia atrás usando VIM es por razones de simplicidad. Visual Studio requiere mucha memoria y el tiempo de arranque es muy grande. Incluso para leer un archivo o hacer cosas simples, se requieren unos cuantos minutos. Pero con eso es tan fácil abrir un archivo y navegar. Yo podría portar VIM intellisense a C # 3.0.
He sido programador profesional de C / C ++ durante 16 años. Hace 5 años tomé Common Lisp y también aprendí elisp / emacs. También me meto en Haskell. He encontrado estas experiencias de gran ayuda en la programación de C ++. Si nada más puede ver el futuro, a medida que C ++ lentamente se vuelve más expresivo al adoptar cosas que CL ha tenido durante décadas.
Aprender emacs es un proceso largo y lento que comienza a dar sus frutos una vez que tiene total fluidez en sus características, forma de hacer las cosas y elispado. Utilizo Visual Studio para gran parte de mi desarrollo, pero a menudo me cambio a emacs para aprovechar las macros clave de uso rápido o para realizar un procesamiento complejo en una tabla de valores. Un montón de cosas que puedes eliminar muy rápido en elispo que llevaría unas horas de rasgado de cabello con los complementos de Visual Studios.
JaredPar mencionó a ViEmu , sobre lo que he escuchado cosas muy buenas. Pero si realmente se está preguntando cuáles serían los beneficios de cambiar, hay un buen artículo en el sitio de ViEmu: ¿Por qué, oh POR QUÉ, hacen esos #? @! tuercas usan vi?
Personalmente, creo que usar gvim ha sido un gran impulso para mi productividad, y definitivamente lo prefiero al editor de Visual Studio, a SlickEdit oa cualquiera de los otros que he usado. Pero como se mencionó en las respuestas anteriores, Vim puede ser una curva de aprendizaje empinada. Hay personas que lo han utilizado profesionalmente durante 5 a 10 años y todavía están aprendiendo cosas al respecto. Vim puede ser muy parecido a Perl ... hay muchas formas de realizar cualquier serie de ediciones, y puede tomar un tiempo aprender la mejor.
La velocidad de la codificación depende en gran medida de la elección del editor, por lo que es una de las decisiones más importantes que tomará.
Las personas que siguen refiriéndose a las "teclas de acceso directo" de vim deberían aprenderlo en mayor profundidad. Muchos de los comandos de teclado de vim funcionan en un "lenguaje" realmente estructurado de navegación y manipulación de texto (es decir, rangos, conteos, acciones, movimientos, objetos de texto, etc.) que va mucho más allá de los "atajos" que debe memorizar. Como en la mayoría de los editores de texto. Esa es una de las razones principales para el llamamiento de vim y su alabado aumento en la productividad.
Si está utilizando Vim con VS, o está pensando en ello, debería conocer el proyecto Vim Intellisense: http://insenvim.sourceforge.net/
Solía usar VIM casi exclusivamente, y después de mudarme a una tienda de casi el 100% de MS, no he encontrado problemas para cambiar de un lado a otro.
VIM y EMACS son excelentes si estás dispuesto a aprender los atajos de teclado. Encuentro que realmente no tengo problemas cuando retrocedo y retrocedo. Creo que ayuda que sean un entorno tan diferente al de VS que es fácil hacer el cambio mental.
Siempre puedes empezar lento: úsalos y ve cómo va. Tendrás alguna curva de aprendizaje, pero depende mucho de ti.
Si Scite está trabajando para ti, y simplemente estás "jugando" como un pasatiempo, puede que no valga la pena el esfuerzo. Para mí, el esfuerzo de aprender nuevas y diferentes formas de trabajar / pensar es parte de la diversión, sin embargo.
También soy un desarrollador de C # desde hace mucho tiempo. Al desarrollar C ++ en Linux, uso Eclipse CDT porque es lo más cercano que he encontrado a Visual Studio.
Al tener bastante experiencia con vim, lo uso para editar archivos de configuración de Linux y demás, pero no estoy particularmente interesado en él para el desarrollo cuando podría usar un IDE.
Por cierto, si usa vim, es posible que desee habilitar los números de línea y el resaltado de sintaxis; Siempre agrego estas líneas a mi archivo ~ / .vimrc:
number on
set syntax
También trabajo para una única tienda de Microsoft, pero, en casa, solo uso Linux. Basta con decir que uso Vim exclusivamente para editar en casa. En el trabajo, uso Visual Studio para todo el desarrollo, pero uso Vim para muchas tareas que requieren una manipulación de texto compleja. Incluso si no usara Vim en casa, todavía sería increíblemente útil para lo que hago en el trabajo. Nuestro chico de TI piensa que soy una especie de mago cuando me ve haciendo mis acrobacias Vim. Eso tiene que valer algo, ¿verdad? ;)
Trabajo en una tienda del 90% de Microsoft, pero aún uso gvim todos los días. Tengo un complemento vi para cada IDE con el que trabajo. Recomendaría vim si va a aprender uno u otro, pero sé que los usuarios de emacs estarán totalmente en desacuerdo.
emacs y vi han existido por mucho tiempo, y son muy poderosos. Aprender uno de estos podría abrirle los ojos a un mundo más eficiente de codificación.
Usé Vim y Emacs, pero es probablemente un 5% más lento. Una vez medí la cantidad de tiempo que los desarrolladores escribieron el código y (no estoy hablando de desplazarme) y probablemente sea el 5% de su día. Estamos discutiendo sobre el 5% del 5% ...
A lo que se reduce es a Emacs y los usuarios de Vim lo han usado durante tanto tiempo que no pueden ser molestados en cambiar. La mayoría de ellos solo pueden manejar VS a través de un mouse y no conocen la mayoría de las teclas de acceso rápido.
Utilizo (y amo) a Emacs, pero puedo entender a la gente que vive ahí afuera (siempre estoy dividido entre el minimalismo y la cocina-fregadero-ismo). Lo que me mantiene usando Emacs día tras día, y lo que me hace abandonar cada IDE que he usado, es que puedo escribir funciones . Y cuando digo funciones me refiero a funciones ; Realmente puedo programar el editor en sí. Agrego una nueva función, la evalúo y bam ahora está en mi editor. Si uso esa función un montón, entonces obtiene una combinación de teclas.
Me he dado cuenta de que con los IDE, son geniales en un idioma en particular (Eclipse es increíble para Java). No creo que Emacs sea tan bueno en ningún idioma (excepto tal vez como un IDE de Lisp, pero no intentaré ensalzar las virtudes de eso aquí ...) como un IDE dedicado, pero es mejor en el idioma N , donde "N" es prácticamente cualquier lenguaje de programación que se haya inventado o se inventará. Es agradable, si estoy aprendiendo un nuevo lenguaje de programación (o simplemente saltando entre C, PowerShell, Haskell, Lisp, Java ... etc.) que mi entorno es cómodo y capaz. Mi respuesta es "sí" porque Emacs (o vi, supongo) le da portabilidad en su conjunto de herramientas. Puede que estés haciendo C # hoy, pero en la línea, quién sabe, tal vez estés pirateando la Mónada # ++, y si lo estás, puedes apostar a que habrá un modo Emacs para eso.
Utilizo emacs y Visual Studio juntos y tendré un momento difícil sin emacs. VS es indispensable, por supuesto, pero no entrega la edición de texto que emacs hace. Emacs es el 98.4% del panel de edición para mí. Visual Studio tiene 12 paneles diferentes, cada uno de ellos importante, pero a veces solo quiero ver el código. Emacs me deja hacer eso. Y puedo dividir pantallas y ver 4 ventanas de edición en una sola pantalla, incluso en el mismo archivo. Con monitores duales puedo tener ventanas de emacs en cada uno. Esto suena raro pero me resulta muy útil cuando estoy trabajando en diferentes partes del código al mismo tiempo (digamos una definición de interfaz y una implementación, al mismo tiempo). El regex busca y reemplaza.
He activado el modo de revertir automáticamente en emacs, que es el análogo a la función VS que dice "un archivo cambiado fuera de Visual Studio, ¿quieres volver a cargarlo?" Excepto en emacs, siempre se vuelve a cargar silenciosamente, que es la forma en que lo quiero. Así que rebote de VS a emacs y viceversa, y nunca hay un problema con los cambios pendientes en el código fuente que no han aparecido en el otro editor. VS tiene capacidad de "pantalla completa", pero no he encontrado que sea tan flexible o útil como emacs.
No puedo imaginar no tener la capacidad de esta combinación de herramientas. Visual Studio solo no ofrece esto. Emacs solo no sería suficiente. Todavía utilizo emacs para fragmentos básicos y pequeños programas de prueba. Uso VS para gestionar proyectos, TFS, pruebas y depuración.
Mi uso de emacs no es una opción en este punto. Lo recogí hace mucho tiempo, en una empresa anterior, donde emacs era la herramienta estándar, así que fue ... no decir "fácil" sino automático. No puedo imaginar aprender emacs "por mi cuenta". Aprendí cosas osmóticamente, solo de la comunidad de otros usuarios de emacs que me rodeaban. De la gente en el pasillo, adquirí y personalicé un montón de código elisp para mi configuración. Haciéndolo con un libro ... no me lo puedo imaginar.
En cuanto a hacerte menos productivo debido a la confusión de los dedos ... No he tenido ningún problema.
Debería aprender al menos cómo guardar ( :w
) y editar archivos (magic) en VIM; incluso las instalaciones mínimas del sistema operativo lo tienen incluido. De esa manera, si está varado en un cuadro de Unix vacío, al menos puede editar archivos.
De lo contrario, no, no compro el bombo. Tienes peces más grandes para freír y nano
está mejorando todo el tiempo. Heck, nano tiene algunos colores de sintaxis y sangría automática e incluso funciona con el mouse sobre PuTTY.
Lo mejor que debes aprender es cómo configurar Samba en tu caja de Unix y luego usar un editor de texto real en tu caja de Windows como UltraEdit (cue flamewar). Yo uso esta configuración para editar algo más grande que un archivo de configuración en / etc.