Quelles fonctionnalités les «marques» offrent-elles dans le terminal El Capitan?

117

Depuis la mise à niveau vers OS X El Capitan, j'ai remarqué un changement dans le terminal: les lignes exécutées affichent un crochet d'ouverture à gauche et un crochet de fermeture à droite, comme illustré sur cette capture d'écran:

Terminal

Des questions similaires ont été posées ici:

Certaines questions font référence à ces crochets sous forme de repères , et le menu Modifier du terminal contient quelques entrées relatives aux repères , par exemple:

  • Édition> Marques> Marquer comme invite et envoyer le retour
  • Édition> Effacer à la marque précédente
  • Édition> Naviguer> Aller à la marque précédente

Menu Modifier

Existe-t-il un résumé de l’utilisation de ces marques? Je n'ai vu aucune référence à cette nouvelle fonctionnalité dans les aperçus des fonctionnalités d'El Capitan.

nwinkler
la source
9
Si seulement nous avions trouvé un meilleur moyen de payer Siracusa suffisamment pour contrôler l'OS pendant des mois et des mois ....
bmike

Réponses:

155

Marques dans le terminal

Les nouveaux repères de terminal (disponibles à partir de OS X 10.11 - El Capitan) sont similaires aux signets , également disponibles dans le terminal. Ils vous permettent de marquer les positions des fenêtres, puis vous permettent de revenir en arrière.

Les marques (ou signets) ne font pas référence à votre historique de commandes, mais au tampon de défilement utilisé dans la fenêtre / l'onglet Terminal.

Marquer une ligne

Par défaut, chaque fois que vous appuyez sur Enterdans la fenêtre du terminal, la ligne est marquée . Elle est affichée à l'aide d'un crochet ouvrant au début de la ligne et d'un crochet fermant à la toute fin. Ce comportement par défaut peut être désactivé à l'aide de l' entrée de menu Edition> Marques> Marquer automatiquement les lignes d'invite . Lorsque cette option est désactivée, vous pouvez toujours exécuter et marquer manuellement une commande en utilisant Cmd+Enter(ou avec l' entrée de menu Edition> Marques> Marquer comme invite et Envoyer / Retour ).

Si le marquage automatique est activé et que vous souhaitez exécuter une commande sans la marquer comme une invite , vous pouvez le faire en utilisant Cmd+Shift+Enter(ou avec l' entrée de menu Edition> Marques> Envoyer retour sans marquage ).

Désactivation des marques

Le marquage automatique des lignes peut être désactivé à l'aide de l' entrée de menu Edition> Marques> Marquer automatiquement les lignes .

À partir de la ligne de commande, vous pouvez obtenir la même chose en utilisant

defaults write com.apple.Terminal AutoMarkPromptLines -bool NO

Cacher des marques

Si vous souhaitez utiliser la fonctionnalité de marquage , mais ne souhaitez pas voir les crochets au début et à la fin de la ligne, masquez-les à l'aide de l' entrée de menu Affichage> Masquer les repères . Cela gardera la fonctionnalité ci-dessous intacte, mais ne montrera plus les crochets.

Sauter entre les marques

Une fois qu'une ligne a été marquée, vous pouvez rapidement passer à la marque précédente à l'aide de Cmd+Upou à la suivante à l'aide de Cmd+Down. Des options similaires sont fournies pour les signets et pour sélectionner la marque suivante / précédente:

Menu Modifier

Marquer manuellement une ligne

Outre le marquage automatique, vous pouvez également ajouter manuellement des marques en sélectionnant une ligne dans la sortie du terminal à l'aide de la souris, puis en sélectionnant l' entrée de menu Edition> Marques> Marquer comme invite (ou Cmd+U).

Cas d'utilisation

La fonctionnalité Marques est utile si certaines de vos commandes exécutées génèrent beaucoup de sorties et si vous souhaitez rapidement faire défiler jusqu'à la position où vous avez entré la commande. En appuyant Cmd+Up, vous y conduirez. Une pression répétée sur cette touche vous fera monter, tandis qu'une pression vous Cmd+Downfera redescendre. L'emplacement cible est mis en évidence lorsque vous sautez / faites défiler.

Utilisation des marques

Sélection du contenu

La même fonctionnalité de repères peut être utilisée pour sélectionner la sortie du terminal. Appuyez sur Cmd+Shift+Uppour sélectionner le contenu jusqu’à la marque précédente et sur Cmd+Shift+Downpour sélectionner la marque suivante. Ceci est utile lorsque vous souhaitez copier la sortie du journal ou tout autre contenu du terminal.

Cette fonctionnalité est également disponible dans le menu Edition> Naviguer en appuyant sur la Shifttouche:

Naviguer dans le menu

Sommaire

Ayant utilisé cela pendant quelques jours maintenant, je le trouve incroyablement utile. Faire défiler des centaines de lignes de sortie pour trouver le début de la sortie de la commande est soudainement devenu beaucoup plus facile.

Je me demande pourquoi cette nouvelle fonctionnalité n'est pas mentionnée plus clairement - je ne l'ai vue dans aucune des procédures pas à pas d'El Capitan. L'aide du terminal ne fournit actuellement aucun détail sur cette fonctionnalité.

nwinkler
la source
1
Très bonne réponse. Juste pour ajouter un peu, les signets peuvent aussi être nommés, alors pensez aux signets en tant que chapitres d'un livre et aux marques en tant que paragraphes. Vous pouvez créer un nouveau signet lorsque vous démarrez une nouvelle tâche dans le même terminal, ce qui vous permet de rappeler exactement où vous avez commencé et ce que vous avez fait.
user14492
C'est vraiment très utile. Merci pour cette excellente explication! Je me demandais pourquoi j'avais observé la même chose il y a des mois, mais je l'ai ignorée jusqu'à ce que je réalise que cela n'avait rien à voir avec mon PS1 modifié. Génial!
bretonics
4

Ressemble à une forme de 'bookmarking rapide / léger'. Je suppose que la désactivation de "Marquer automatiquement les lignes de commandes" rend sa fonction plus évidente. Après cela, Cmd-Enter enregistre explicitement la marque et Cmd-Up / Down saute entre eux.

Comme vous pouvez convertir des marques en signets et vice versa, je les considère comme des signets légers ou de second niveau.

fonso
la source
1
Cela ne semble pas tout à fait exact. Lorsque j'utilise Cmd + Up , il ne parcourt pas mon historique, mais fait défiler la fenêtre entière du Terminal jusqu'à la commande précédemment marquée .
nwinkler
El Capitan n'est pas encore installé et ma réponse est un peu hors sujet. S'il s'agit d'une fonction de recherche dans l'historique, telle que mentionnée par @fonso, il semblerait que Apple ait réorganisé l'ancienne <kbd> CTRL </ kbd> - <kbd> R </ kbd> de bash, dans laquelle vous pouvez effectuer une recherche d'historique interactive inversée. . Et Apple semble l'avoir visualisé.
Garex
2
Non ce n'est pas. Comme je l'ai dit dans mon commentaire, il n'y a aucun chevauchement avec la recherche d'historique CTRL + R. Il semble que la fonction de repères fonctionne comme une sorte de signet automatique, vous permettant de faire défiler rapidement vers le haut le tampon de la fenêtre du terminal.
Nwinkler
Désolé, vous avez tout à fait raison, c'est le point de défilement, pas l'histoire! Je vais éditer la réponse.
fonso