37 votes

Quelqu'un a déjà tenté de ré-imaginer Vim?

Tout d'abord, je tiens à préciser que je ne suis pas d'essayer d'être un troll, et je n'ai pas l'intention de répondre à cette question flamebait.

J'ai demandé à une question précédente , dans une tentative de découvrir ce que d'autres moyens de transport éditeurs existait en outre Vi/Vim. J'étais entièrement en attendant qu'il y aurait au moins un couple de d'autres fins générales éditeurs qui étaient semblables à (ou inspiré) Vim. À ma grande surprise, j'ai découvert que le seul autre modal éditeurs sont soit spécifiques à une langue particulière ou restreinte à certains anciens de la plateforme existante.

Ma question est: quelqu'un a déjà envisagé de ré-imaginer les commandes et la disposition du clavier de Vim, ignorant tout de l'histoire héritée de vi et d'autres programmes de la version antérieure? Aussi, serait-ce une bonne idée? Par exemple, il y a quelque peu de fonctions dans Vim avec leurs propres alphabétique clés qui pourraient être réaffectés, libérant un éminent clé pour quelque chose de plus utile? Je pense que la publication récente de la version 3.0 de Python a montré qu'il peut parfois être utile de rupture inverse de compatibilité. Serait un processus similaire à l'avantage de Vim?

(Note: Oui, je me rends compte que le fait de changer les commandes de Vim autour de causerait beaucoup de problèmes pour ceux qui ont utilisé Vim pour une longue période, et ont construit la masse musculaire-mémoire pour la mise en page actuelle, de sorte que mon analogie avec Python 3.0 n'est pas vraiment valable. Encore, j'espère que l'analogie au moins vous aide un peu avec l'obtention de mon point de vue.)

Mise à jour: Nous sommes éloigne de l'ancienne uservoice.com site de un nouveau IdeaTorrent site hébergé par Sourceforge.net. Malheureusement, uservoice seulement permis à chaque utilisateur de fonte de 10 voix. Je veux que chaque utilisateur d'être en mesure de voter sur chaque idée, uservoice clairement ne fonctionne pas lorsque des centaines d'idées ont été soumises. Veuillez soumettre de nouvelles idées à la IdeaTorrent site. J'ai l'intention de migration des idées plus dans les semaines à venir, et je vais essayer de crédit de tous les originaux des auteurs (s'il vous plaît laissez-moi savoir si j'ai oublié de crédit vous).

Mise à jour: j'ai créé un nouveau forum à uservoice.com pour permettre à de nouvelles idées pour notre ré-imaginé Vim pour être présenté et voté en haut/en bas. Pour le moment, j'ai donné à ce projet, le nom de "reVIs" (prononcé "réviser"), mais je suis complètement ouvert à toutes les suggestions sur un meilleur nom. Je suis entré gkirilov de l'idée de sa réponse ci-dessous par le premier candidat de la modification dans le nouveau forum.

16voto

Sergio Acosta Points 6450

J'ai aussi rêvé à ce sujet à plusieurs reprises, et je pense qu'il y aurait deux principales différences architecturales:

1. Physique-clés en fonction des mappages pour le "non-insérer des" modes:

Je trouve que la plupart de disposition de clavier de problèmes dans Vim sont dues au fait que nous devons penser à l'clés en termes de leurs personnages (leur fonction dans "insérer" en mode), même si nous ne sommes pas l'insertion de texte.

Je suis un Dvorak/Vim utilisateur et je sais que pour les personnes qui utilisent des mises en page autre que le QWERTY, le caractère à base de raccourcis sont en fait une source de désagréments, en particulier ceux qui ne sont pas des mnémoniques comme 'je'=insérer, par exemple: le mouvement du curseur touches.

En fait, la documentation de Vim stipule que les touches 'h', 'k', 'j', 'l' ont été choisis pour le mouvement du curseur pas parce que ces lettres signifient quelque chose, mais en raison de la commodité d' où ils sont placés. Mais comme chacun le sait, dès que vous passez à une non-disposition azerty, on peut voir que c'est en fait la lettre ce qu'il est important de Vim est mise en œuvre, non pas la clé.

Dans tous les modes autres que d'insérer, ce que nous devons être se soucier est pas la clé de la char, mais la position de la clé, ou le doigt.

Une "nouvelle génération" de l'éditeur devrait permettre à l'utilisateur de la carte de commandes à touches physiques, ou les doigts, pas de lettres. De cette façon, la disposition du clavier n'a pas d'importance et tout le monde serait d'être en mesure de profiter de la même productivité et de l'utilisation des prestations de n'importe quel format ils utilisent pour l'insertion de texte.

Honnêtement, je ne sais pas si cette question a toute pratique d'autre solution que de travailler directement avec le clavier de numérisation de codes, qui peut dégénérer très vite.

2. L'utilisation des éléments de l'INTERFACE utilisateur graphique moderne

Pourquoi tout être formulées en termes de texte caractères?. Nous avons besoin de prendre avantage de modernes systèmes de fenêtrage pour des choses comme la fenêtre se divise, s'est effondré régions, les informations sur l'état, marque, etc.

Donc, en résumé, je pense qu'il serait judicieux d'avoir une nouvelle génération modale de l'éditeur.

Come on, let's do it. Je suis dans.

11voto

J Cooper Points 7695

Je crois que c'est pour la même raison que personne n'a "remplacé" Emacs, en dépit de quelques cruftiness. Changer quoi que ce soit, et vous aliéner votre auditoire principal (Emacs/vim utilisateurs) et ils viennent juste de revenir à des choses qu'ils ont utilisé pendant des années et le savoir comme le dos de leur main et personnalisés à l'infini. De Plus, vous seriez probablement perdre les zillions de l'utilisateur contribué améliorations qui existent déjà pour les éditeurs.

L'IDE utilisateurs de ne pas utiliser votre éditeur de toute façon.

6voto

Yada Points 9489

N'oubliez pas que vim est hautement configurable. Si tout ce que vous cherchez est une autre clé de cartographie de vim, vous pouvez alors imaginer toute nouvelle disposition de clavier que vous voulez dans .vimrc paramètres. Voir:

La documentation de Vim: carte

Si tu le voulais vraiment, vous pouvez utiliser jeu de frappe "aswd" à la place de vim est "hjkl" pour la gauche, en bas, en haut et à droite respectivement. (Juste un exemple. hjkl est probablement le meilleur éditeur de clavier à être inventé.)

J'essaie de garder mon vim de cartographie par défaut que possible, sauf Ctrl+x, Ctrl+c et Ctrl+v doit être de couper, copier et coller. Et Caps Lock est un autre ESC key.

5voto

MikeJ Points 6577

Vous devriez regarder la Crème. il est construit sur le haut de l'éditeur VIM. depuis le site, il est un moderne configuraiton de VIM. Je l'ai utilisé pendant des années comme ma rapide et sale de l'éditeur. N'a jamais eu de sympathie pour notepad++. Peut-être que cela vous donnera un peu d'inspiration.

5voto

Paul Biggar Points 7108

J'ai repensée à vim de nombreuses fois. Il y a un certain nombre de problèmes majeurs, je perçois:

  1. Script vim est très méchant. La langue est terrible et non-sens. J'essaie d'utiliser les liaisons de ces jours, mais ceux qui sont le pire (ou au moins le binding Python est terriblement incomplet). Je suis très jaloux de Emacs gens qui semblent écrire des scripts pour la moitié de leur emploi. C'est trop dur dans Vim.

  2. Support de la langue est très mauvais. CTRL-P à peine d'œuvres, les balises sont désagréables à utiliser et rarement fonctionner correctement (et aussi prendre un certain temps pour configurer près correctement). gD devrait fonctionner de manière cohérente, mais qui ne marche pas. Chaque langue a besoin d'un analyseur complet, et tous les outils et toutes les commandes doivent réutiliser parser (cela ne veut pas dire que vous devez mettre en œuvre l'analyseur, juste construire autour de l'open source existante des analyseurs, peut-être même de l'éclipse).

  3. Les Plugins sont mal fait. Vous avez besoin de télécharger quelque chose de vimscripts.org et croiser les doigts.

  4. Les paramètres sont mal fait. - Je changer ma configuration si rarement que je ne me souviens jamais de la syntaxe appropriée, et la rétroaction/erreurs/avertissements est assez mauvais. Je suis réticent à proposer une interface graphique, mais pour des choses simples à une interface simple (ou des malédictions en fonction si c'est votre préférence) rendrait les choses un million de fois plus facile.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X