7 votes

Comment faire pour que fn + touche gauche fonctionnent sur MacOS après être passé de bash à zsh ?

Au cas où ce ne serait pas clair, fn + touche gauche est simplement le bouton HOME. Il vous amène au début de la ligne. Cela semble toujours fonctionner lors de l'édition d'un fichier (dans vim), donc je pense que zsh fait quelque chose avec les liens. fn + gauche résulte maintenant en un son "erreur".

UPDATE :

J'ai posté ce lien ici, car il me semble que c'est là qu'il faut aller pour ce genre de questions générales : Quelles sont les différences pratiques entre Bash et Zsh ?

Passer de bash à zsh coûte à tout le monde beaucoup de temps et d'argent. Apple a décidé d'imposer cela à tout le monde pour diverses raisons. Il devrait y avoir de bonnes valeurs par défaut pour tout. Les touches d'accueil devraient fonctionner, PS1 devrait être raisonnable. Ancien site .bashrc y .profile les traductions devraient être générées automatiquement. Ne pas faire cela revient à voler les utilisateurs. Nous les renflouons pour leur "mauvaise" décision d'utiliser bash ou des équivalents de la décision de bash de changer de licence.

Comment faire en sorte que tout "fonctionne" comme pour bash ?

J'utilise iTerm 2 comme une personne normale. Je ne sais pas si c'est lié.

11voto

themoondothshine Points 1430

Pour obtenir fn-left (Accueil) et fn-right (Fin) de travail, ajouter ces deux lignes à ~/.zshrc (pour votre utilisateur uniquement), ou /etc/zshrc (pour tout le monde)

bindkey "^[[H" beginning-of-line
bindkey "^[[F" end-of-line

2voto

unknowndomain Points 4102

Bash est inclus dans MacOS 10.15 Catalina, mais ce n'est pas le shell de connexion par défaut pour les nouveaux comptes.

Cette mesure a été prise car Apple supprime de plus en plus de dépendances du système d'exploitation principal pour des raisons de sécurité.

Dans ce cas particulier, depuis la version 4, bash est passé de la licence GPLv2 à la licence GPLv3 qui n'est pas compatible avec la façon dont Apple distribue son système d'exploitation. Cela a empêché Apple de distribuer des mises à jour au-delà de la version 3.2 de bash.

Zsh a été choisi par Apple spécifiquement pour des raisons de compatibilité et parce que sa licence est compatible avec la méthode de distribution d'Apple.

La bonne nouvelle est que vous pouvez revenir à bash 3.2, il y a deux façons d'y accéder :

  1. Type bash dans votre application terminale.

  2. Modifiez le shell par défaut (login) dans iTerm ou Terminal pour bash

Comment installer bash v5

Vous pouvez installer la dernière version de bash en utilisant homebrew :

  1. Installez homebrew : https://brew.sh/
  2. Exécuter brew install bash
  3. Passez à bash en exécutant bash ou en modifiant le shell par défaut (de connexion) dans iTerm ou Terminal.

Comment changer le shell par défaut (login)

  1. Trouvez le chemin d'accès au shell souhaité dans une application terminal which bash ce sera quelque chose comme /usr/local/bin/bash
  2. Lancer les préférences du système
  3. Allez dans "Utilisateurs et groupes".
  4. Cliquez avec le bouton droit de la souris sur votre nom d'utilisateur.
  5. Sélectionnez "Advance Options...".
  6. Collez votre nouveau shell dans le champ "Login shell :".
  7. Appuyez sur 'OK'.
  8. Relancez vos applications terminales.

1voto

Rich Points 2429

Le cœur du problème est que bash utilise le readline bibliothèque et zsh a ses propres raccourcis clavier et n'utilise pas la fonction readline . Voir Faire en sorte que zsh utilise readline au lieu de rle .

Si vous êtes à l'aise avec le emacs les liaisons de touches (c'est celle zsh est utilisé par défaut), alors vous pourriez utiliser ctrl + a y ctrl + e pour obtenir les fonctions que vous recherchez dans zsh .

Si, au contraire, vous êtes à l'aise avec la vi vous pourriez alors entrer dans votre programme de ~/.zshrc :

bindkey -A viins main

et vous pourrez alors utiliser 0 y $ pour obtenir les fonctions que vous recherchez dans zsh . Vous pouvez afficher toutes ces liaisons avec :

bindkey

Si vous êtes intéressé à poursuivre avec zsh , lire man zshzle pour découvrir les fonctions zsh fournit au niveau de l'édition de la ligne.

<ad section>

Après de nombreuses années d'utilisation de plusieurs coquilles !=, je pense que zsh a de meilleures fonctions de gain de temps que bash .

</ad section>

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X