mc <=> midnight commander : Comparer le contenu de deux fichiers

bonjour ,
j’ai besoin d’un spécialiste : lorsque je lis un fichier , fichier = voir , le texte s’affiche correctement , mais lorsque je compare 2 fichiers commande = comparer des fichiers , le texte ne s’affiche plus que sur 1 ligne sur les deux panneaux . J’ai beau chercher la cause je sèche . Un coup de pouce serait le bienvenu .

Il ne fait pas un diff tout simplement, que te dit le man à ce propos ?

J’ai déplacé ton message pour créer un nouveau sujet que j’ai nommé simplement :

mc <=> midnight commander : Comparer le contenu de deux fichiers


Voilà comment je compare 2 fichier :

Pour cet exemple, j’ai choisi deux fichiers qui ont le même nom (mais ça n’a aucune importance)
et ces deux fichiers sont sur deux systèmes différents (mais ça n’a aucune importance)


En utilisant les touches Flèche-Haut Flèche-Bas
ou en cliquant sur le nom du fichier avec la souris,
je sélectionne le premier fichier dans un des panneaux (ici, celui de gauche)
Capture d’écran_2022-12-01_09-31-35

En appuyant sur la touche Tab je passe sur l’autre panneau
puis je sélectionne le deuxième fichier :Capture d’écran_2022-12-01_09-32-04

Avec la souris, je peux cliquer sur le menu Commande
puis cliquer sur Comparer des fichiers

Avec le clavier, j’aurais pu utiliser la touche F9 pour activer la barre des menus,
et ensuite utiliser les lettres affichées en jaune, c’est à dire :

la touche c pour accéder à Commande
suivit de la touche o pour accéder à Comparer les fichiers

… ce qui fait que finalement je n’aurais eu besoin que de taper les trois touches suivantes :
F9c o
Capture d’écran_2022-12-01_09-33-35

Ou alors, sans avoir besoin de cliquer sur CommandeComparer des fichiers
une fois les deux fichiers à comparer sélectionnés, il me suffisait d’utiliser
le raccourci clavier qui est indiqué tout à droite de la commande :
Comparer les fichiers C-x C-d => Ctrl+X Ctrl+D

Et ça aurait comparé le contenu des fichiers sélectionnés et montré leur différence :
Capture d’écran_2022-12-01_10-08-46
Ci dessus, on voit qu’un caractère est différent dans une ligne

On peut monter/descendre avec Flèche-Haut Flèche-Bas

Ci-dessus, on voit que c’est tout un bloc de lignes qui manque dans le fichier de droite.Capture d’écran_2022-12-01_09-32-58


J’ai écrit seulement : Flèche-Haut Flèche-Bas

mais les touches DébutFin Page-Suivante Page-Précédente sont aussi utilisables.
Et bien sûr, les touches Flèche-Droite Flèche-Gauche pour aller voir ce qui est affiché à la fin d’une ligne qui ne serait pas visible.

Le défilement vers le Haut, le Bas, la Droite et la Gauche sera synchrone sur les deux panneaux.

parfois ça marche bien mais par exemple avec ces 2 fichiers ci-dessous , dans lesquels j’ai introduit 2 différences le résultat est correct mais le texte n’apparaît que sur 1 seule ligne qu’il faut alors faire défiler pour voir le changement apporté au milieu du texte :

diff1
diff2

les 2 originaux :

mm@Xfce:~$ cat t2
Qu'est-ce que SSH ? SSH signifie " Secure Shell ", il s'agit donc d'un " shell" dit " sécurisé ". Pour rappel, un shell, que l'on peut également appeler communément "terminal", est la méthode la plus courante de gestion des serveurs Linux.
> :q
mm@Xfce:~$ cat t1
Qu'est-ce que SSH ? SSH signifie " Secure Shell ", il s'agit donc d'un " shell" dit " sécurisé ". Pour rappel, un shell, que l'on peut également AZERTY appeler communément "terminal", est la méthode la plus courante de gestion des serveurs Linux.

il semblerait donc que mc n’est pas en cause mais que quelque chose change le format que je vois sur l’écran de mon termainal puisque ci-dessus je retrouve le même défaut .

Clique avec le bouton droit sur l’image affichée dans un message,
et, dans le menu contextuel qui s’affiche, clique sur :
Afficher l’image dans un nouvel onglet


Ou alors, dans le navigateur Web Firefox, utilise le zoom
accessible par les raccourcis clavier suivants :

Pour « Zoomer » :

Ctrl avec en même temps la touche plus de la partie alphanumérique (<=> pas du pavé numérique)
donc il faudra appuyer en même temps la touche Maj pour pouvoir activer la lettre plus de la partie alphanumérique du clavier.

et pour « dé-Zoomer » :

Ctrl et touche moins de la partie alphanumérique (<=> pas du pavé numérique)


Ou alors,
en même temps que tu appuie sur la touche Ctrl, fait tourner la molette de la souris


Pour remettre le zoom à 0 : Ctrl+0 (le zéro du pavé numérique)

problème résolu .

par contre pourquoi le format sur plusieurs lignes n’est pas conservé lorsque je fais un copier-coller de mon écran de terminal ? ( cf texte ajouté ci-dessus )

C’est le même problème avec tous les forum, les pages web et la façon dont chaque navigateur web va réinterpréter (parfois) certains caractères, et même ne pas vouloir en afficher certains,
et chacun de ces navigateurs web ou/et moteur de forum, etc. fera ce qu’il voudra (ou/et pourra selon sa configuration).

Et quand on fait un copié/collé venant d’une page web, on finit parfois par avoir des surprises,
comme par exemple des caractères invisibles (espaces insécables, ou autres…) qui auront été automatiquement ajoutés par le programme qui reformatera les pages web que génère le serveur web
et qu’il est impossible de différencier avec un simple caractère espace,
mais qui, une fois collé dans une ligne de commande(s) fera que l’interpréteur de commandes ne pourra pas l’exécuter comme on l’espérait.

pour faire s’afficher le plus fidèlement possible les copiés/collés venant d’une fenêtre de terminal,
sur ce forum, je fais précéder tout le bloc de lignes copié/collé par une ligne
dans laquelle je ne mets que (rien avant ni après) :

```text

et juste après la dernière ligne du bloc de lignes collées
j’ajoute une ligne ne contenant que (rien avant ni après):

```

Attention, ce ne sont pas des caractères apostrophe, mais des accents graves

sur mon clavier Français configuré avec la disposition Français (variante)
j’obtiens chacun de ces accents graves en appuyant sur la touche AltGr et en même temps sur la touche 7 de la partie alphanumérique (<=> ce n’est pas le 7 du pavé numérique)


Ce qui fait que, dans la fenêtre d’édition des messages,
ce qui s’affiche comme ce qui suit :

```text
mic@deb1156:~$ df -htext4
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/sda6 24G 4,2G 19G 19% /
/dev/mapper/mongroupelvm-donneesLV 295G 238G 42G 86% /donnees
mic@deb1156:~$
```

s’affichera, une fois le message posté, comme ce qui suit :

mic@deb1156:~$ df -htext4
Sys. de fichiers                   Taille Utilisé Dispo Uti% Monté sur
/dev/sda6                             24G    4,2G   19G  19% /
/dev/mapper/mongroupelvm-donneesLV   295G    238G   42G  86% /donnees
mic@deb1156:~$ 

je pense que c’est bien ma façon de faire mais que ça ne fonctionne pas toujours . Par contre je me suis aperçu que ``` conduit à la même chose que ```text et donc je n’utilise plus que la forme raccourcie .

donc si je résume la situation et si j’ai bien compris : je ne suis pas maître du format que va prendre la sortie que ce soit pour un C/C à partir d’un écran de terminal ou du format de la sortie de l’opérateur diff présent dans mc . On va faire avec , bien obligé .

merci pour toutes ces précisions .

Ça dépends du texte qui aura été copié/collé
parce que sans ajouter le mot text derrière la suite de trois premiers ```
le programme qui interprétera le bloc de texte qui suivra
cherchera à savoir s’il s’agit de lignes de code javascript, shell, php, html, ou autre,
et si c’est le cas, il va faire en sorte que certains mots apparaissent en couleur

exact . Voilà un autre mystère de résolu : l’apparition de la couleur dans mes C/C . Comme je trouve ça joli , je garde .

suite : je viens de m’apercevoir d’un autre intérêt de poids en ce qui me concerne = la facilité de comparaison de 2 fichiers sur 2 machines différentes . Finie la ligne de commande à rallonge ! Reste à voir ce que ça donne pour les répertoires .

j’hésite à ouvrir une nouvelle file , alors je continue

toujours à propos de fichiers mais côté édition . J’aimerais utiliser less , plus souple , et donc si j’ai bien compris l’aide il faut que , après avoir décoché la case utiliser l’éditeur intégré , je définisse la variable d’environnement EDITOR qui n’a actuellement aucune valeur . Un truc du genre :

mm@Xfce:~$ EDITOR=less

mais avant de le faire j’aimerais savoir quelles en seront les conséquences pour l’utilisateur mm ( = moi ) ?

suite : je viens de tester car j’ai vu qu’on pouvait facilement annuler l’opération : ça n’est pas une bonne idée je pense , car je ne peux pas passer de less à vim en appuyant sur V et donc modifier si nécessaire et voir le résultat dans less . Utilisé dans mc less devient moins souple : dommage .

Bonjour

Je ne comprends pas parce que less n’est pas un éditeur, mais un pager (comme more) qui ne permet pas d’éditer (modifier) le contenu d’un fichier.

Par défaut, quand on a sélectionné un fichier dans mc
l’éditeur intégré est mcedit et il est lancé par l’appui sur la touche F4
et pour visualiser le contenu d’un fichier, on appuie sur la touche F3 pour lancer mcview

Dans mc, la fenêtre de configuration des options permet de désactiver l’utilisation de l’éditeur et du programme de visualisation intégré,
et dans ce cas, les programmes qui seront utilisés dépendront de la façon dont le système debian est configuré => Voir :

update-alternatives --config editor
update-alternatives --config view
man sensible-editor
man sensible-pager
man environ

OK … ça expliquerait donc que je ne pouvais pas passer dans vim puisque la variable EDITOR à qui je croyais avoir donné une valeur permise n’avait en fait aucun effet . Ce que je prenais pour less était en fait l’éditeur vim que je n’avais pas reconnu . J’avais donc tout faux … mais ça m’a permis d’apprendre que , comme avec less , ( / ) permettait de lancer une recherche dans vim .

Alors lance la ligne de commande suivante :

select-editor

et sélectionne le programme d’édition de fichiers (peut-être /usr/bin/vim.nox)
dans la liste proposée :

mic@deb1156:~$ select-editor

Select an editor.  To change later, run 'select-editor'.
  1. /usr/bin/vim.nox
  2. /bin/nano        <---- easiest
  3. /usr/bin/mcedit
  4. /usr/bin/vim.tiny

Choose 1-4 [2]: 1
mic@deb1156:~$ 

Et dans mc, dans la fenêtre de configuration des options (OptionConfiguration…) désactive la case à cocher qui est associée au label Utiliser l’éditeur intégré


Et ca fonctionne aussi dans une page web affichée par Firefox
(mais les pages web du forum debian-fr.org détournent ce raccourci clavier.)

  • effectivement ça me renvoie dans la barre de recherche du canard ou ça ouvre une mini barre de recherche : c’est selon

  • j’ai sélectionné vim-gtk3 , le même éditeur que dans mon terminal Xfce mais qui doit être légèrement différent car sous mc pour quitter la page affichée il suffit d’appuyer sur Q , pas besoin d’utiliser :

je prends enfin conscience de la confusion que je faisais depuis toujours : pour moi éditer était synonyme d’afficher un texte pour qu’il soit lu ; comme un livre en somme qu’on édite pour qu’il soit lu et non pas corrigé , et donc less devait être un éditeur de texte . Idem pour ma remarque erronée ci-dessus où j’ai confondu afficher = F3 ( sortie avec Q ) et éditer pour modifier =F4 = utilisation de vim et donc sortie normale de vim .