web-dev-qa-db-fra.com

Pourquoi vim et less ont-ils des raccourcis clavier similaires?

Partagent-ils du code ou est-ce juste une tradition? Existe-t-il d'autres programmes avec des combinaisons de touches similaires?

7
Peret Finctor

Réponse courte, racines historiques communes dans vi. Leurs créateurs étaient tous deux utilisateurs d'un programme Unix antérieur, vi.

Voici un diagramme approximatif pour mettre en perspective leurs dates de sortie initiales et leur influence:

_vi 1976
 | \      more 1978
 |  \     /
 |   \   /
 |     v
 |   less 1983
 v
vim 1991
_

Sources:

Vim

Vim, de Bram Moolenaar, est un clone du programme Unix vi . À partir de vim, vous pouvez consulter l’introduction de l’aide: :help intro , vous voyez:

Vim est un éditeur de texte qui inclut presque toutes les commandes du programme Unix "Vi" et ...

Moins

Alors que le créateur de less, Mark Nudelman explique sur sa FAQ :

En 1983, je travaillais pour la société Integrated Office Systems, aujourd'hui disparue. Certains de nos logiciels fonctionnaient sur un système Unix et produisaient d’énormes fichiers journaux de leurs transactions. Nous voulions pouvoir rechercher dans ces fichiers journaux des messages d'erreur. Mais la version de "vi" que nous utilisions ne pouvait pas gérer les fichiers d’une taille supérieure à une certaine taille, et nos fichiers journaux dépassaient souvent cette taille. Nous avons donc été obligés d'utiliser "plus" pour afficher les fichiers. Le problème était, une fois que nous avons trouvé un message d'erreur, ce que nous voulions vraiment voir, ce sont les transactions qui ont conduit à l'erreur; c'est-à-dire les lignes du fichier journal immédiatement avant le message d'erreur. Mais plus ne permettait pas de retour en arrière dans le fichier.

Donc, il utilisait déjà vi et more quand il a créé less pour surmonter les limitations de vi et more à ce moment-là.

Lorsque vous faites _man less_, vous voyez la connexion à vi:

Les commandes sont basées sur more et vi.

Vim et Moins

Ainsi, less et vim semblent coïncider pour avoir des commandes similaires, uniquement parce que ces commandes sont en réalité basées sur vi, qui peut être considéré comme leur ancêtre commun.

14
clarity123