Bonsoir. Je suis un utilisateur Mac.
Je pense que le Mac est une belle machine, mais je deviens souvent accro si je l'utilise sans réfléchir. Comme l'environnement de base Unix est complet, en particulier pour les utilisateurs de Linux, il existe des différences subtiles et des comportements étranges. Cela peut être frustrant. Dans cette entrée, je vais résumer certains d'entre eux auxquels je suis accro et comment les gérer.
# 6/18 Ajouté à propos de virtualenv
# 6/21 édition iterm ajoutée
# 7/17 Ajouté à l'édition MacVim
De plus, les outils que j'utilise
homebrew
iTerm2
vim
zsh
tmux
Donc, je développe principalement en utilisant Python. Aussi, j'omettrai l'introduction de chaque outil et ainsi de suite car il existe de nombreux autres articles.
Googler et frapper le script d'introduction. De plus, étant donné que vous pouvez voir des options et des conseils utiles pour chaque formule, il peut être bon d'ajouter fréquemment une habitude de "brew info" pour le paquet d'introduction.
~ Edition Homebrew terminée ~
iTerm semble être meilleur, alors j'utilise iTerm. Veuillez installer à partir du fonctionnaire.
Peut-être que vous lancez toujours CUI.
Donc ⌘ + w
est une liaison de clé maléfique qui peut provoquer une explosion et frapper le moniteur. Effaçons-le.
Dans le menu, ouvrez Preference-> Keys
. Ajoutez ⌘ + w ou ⌘ + q aux touches de raccourci globales pour le faire ignorer.
Sur Mac, vous pouvez afficher des symboles incompréhensibles en appuyant sur différentes touches avec Alt. Puisqu'il n'y a presque pas de tour de symboles pendant le codage, je vais permettre de l'utiliser comme clé méta. Avec cela, vous êtes également en sécurité chez emacser.
Ouvrez les paramètres que vous souhaitez utiliser avec Préférence-> Profils
.
Si vous ne comprenez pas, je pense que vous devriez aller à solarisé et importer le thème pour iTerm2.
Ensuite, ouvrez Keys et réglez La touche d'option gauche agit comme:
sur + Echap.
Redémarrons le terminal. Je pense que cela fonctionne comme supprimer un mot avec alt + d. Vous l'avez fait, n'est-ce pas?
Je vais vous présenter zsh car j'ai été transformé en un corps qui ne peut pas vivre sans zsh.
Cependant, le script zsh standard d'Apple sous / etc
fait quelque chose de mal, vous devez donc faire quelque chose.
Réécrivez / etc / zshenv
directement par vous-même ou installez-le comme brew install --disable-etcdir zsh
.
Les détails ci-dessus sont écrits soigneusement tels quels avec brew info zsh
.
Une fois l'installation terminée, veuillez vous reporter à http://tukaikta.blog135.fc2.com/blog-entry-195.html et modifier le shell de connexion.
Ensuite, chargeons les fonctions de complétion zsh.
Il peut être installé avec brew install zsh-completions
. Ensuite, définissez le fpath.
fpath = (
#zsh-completions
/usr/local/share/zsh-completions(N-/)
#homebrew
/usr/local/share/zsh/functions(N-/)
)
export fpath
Cela ressemble à ce qui précède. Si vous êtes intéressé, utilisez brew --prefix. Dans les anciennes entrées, etc., les fonctions de complétion pour brew etc. sont introduites séparément avec des liens symboliques, mais maintenant il y en a une bonne dans zsh-complétions, donc c'est inutile.
Les commandes fournies en standard avec MacOS semblent être dérivées de l'ancien BSD, et c'est très stressant car les options sont différentes et le comportement est étrange, alors remplaçons-les.
Introduisons "openssl", "readline", "git", "coreutils", "gnu-sed", "wget", "gawk", "ctags", "sl".
C'est coreutils écrit ci-dessus, mais si vous le mettez normalement, vous devrez taper le nom de la commande préfixé par g.
Réglez PATH et MANPATH en vous référant à brew info
.
Aussi, donnons la priorité à l'outil homebrew.
BREW_PATH=`/usr/local/bin/brew --prefix`
typeset -U path
path=(
#Quelque chose comme mon propre script ou quelque chose que j'ai construit moi-même
$HOME/Dropbox/bin/mac(N-/)
$HOME/Dropbox/bin(N-/)
$HOME/bin(N-/)
#Prioriser l'introduction avec l'homebrew
$BREW_PATH/bin(N-/)
##Homebrew met python et pip en même temps
##Il entre dans le PATH ci-dessous, mais en ce qui concerne la commande/usr/local/Lien automatiquement symbolique vers le bac
##Il semble qu'il ne soit plus nécessaire d'ajouter ce qui suit car il est devenu étiré. Pour plus d'informations brew info python
#$BREW_PATH/share/python(N-/)
#La commande par défaut est la commande GNU
$(brew --prefix coreutils)/libexec/gnubin(N-/)
/usr/bin(N-/)
/bin(N-/)
#sbin
/usr/local/sbin(N-/)
/usr/sbin(N-/)
/sbin(N-/)
)
export path
alias sed='gsed'
Veuillez faire la première partie comme vous le souhaitez. Pour le moment, la priorisation des coreutils devrait rendre le comportement et les options équivalents à ceux de GNU. Cela ne fonctionnera pas avec le script shell qui fonctionnait sous Linux! Ça n'arrivera pas (peut-être)
Les émulateurs de terminaux Mac tels que iTerm2 ne semblent pas bien fonctionner avec le presse-papiers sur tmux.
Cela crée une situation tragique dans laquelle vous utilisez Vim et avec set clipboard = unamed
activé, Vim sur votre appareil, y compris MacVim, ne peut pas coller du tout.
Installez reattach-to-user-namespace
depuis brew pour éviter ce qui précède.
Ensuite, installez le script pour démarrer tmux en coopération avec les outils ci-dessus en vous référant à https://gist.github.com/elasticdog/1462391.
Finalement,"tmux save-buffer - | reattach-to-user-namespace pbcopy"Et"reattach-to-user-namespace pbpaste | tmux load-buffer - && tmux paste-buffer" Il est également possible de lier le registre tmux au presse-papiers en attachant une telle opération à une liaison appropriée de tmux.
En parlant de cela, il y a un tmux qui semble être ajusté pour iTerm, mais je pense que l'homebrew est bon car il semble dénué de sens.
Mac standard Python n'est pas bon, alors utilisons brew.
Puisque je veux utiliser l'openssl que j'ai mis dans homebrew, je spécifie explicitement brew install python --with-brewed-openssl
.
Si vous utilisez virtualenv tel quel, ce sera gênant car le Python par défaut de Mac sera priorisé.
Tout d'abord, assurez-vous que le python et le pip de l'homebrew sont priorisés en fonction du paramètre PATH défini dans la commande de base ci-dessus.
which python
which pip
Ensuite, mettez virtualenv et virtualenvwrapper. Je suis un homme qui utilise du pip.
Après l'installation, écrivez les paramètres suivants dans .zprofile.
# --- virtualenv
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages --python=/usr/local/bin/python'
## virtualenv should use Distribute instead of legacy setuptools
#Il semble que setuptools a été mis à jour
#export VIRTUALENV_DISTRIBUTE=true
source /usr/local/bin/virtualenvwrapper.sh
#--- pip
# cache pip-installed packages to avoid re-downloading
export PIP_DOWNLOAD_CACHE = $HOME/.pip/cache
À l'origine, je pense que le réglage VIRTUALENVWRAPPER_PYTHON
fera l'affaire, mais pour une raison quelconque, je veux obstinément utiliser python standard, donc je l'ai défini explicitement avec VIRTUALENVWRAPPER_VIRTUALENV_ARGS
.
Au fait, mon pouvoir de combat contre les python est une classe de fermier, donc s'il y a quelque chose qui ne va pas, plongez-vous dedans.
Après l'écriture, rechargez les paramètres zsh.
Vous pouvez le construire vous-même, mais je ne suis pas doué pour cela, alors j'utilise de la bière.
brew install vim --override-system-vi --with-lua --with-ruby --with-python --with-python3
Laissons cela comme. Bien sûr, lua, ruby et python3 sont également introduits en premier. En particulier, lua a été activement introduite récemment, il serait donc bon de l'inclure.
Auparavant, MacVim avait un script Python qui plantait, mais avec la dernière version, cela fonctionne bien.
Aussi, faites de votre mieux pour bénéficier de l'accélération if_lua de ShougoWare.
brew install macvim --with-lua
ça ira.
De plus, il semble que luajit soit supporté par la formule standard de brassage avant que vous ne le sachiez, donc si vous voulez l'inclure, utilisez --with-luajit
.
Veuillez consulter ce blog pour plus de détails. Dernier patch & if_lua MacVim pour une recherche et une complétion rapides!
De plus, le binaire MacVim-Kaoriya a été mis à jour avec if_lua, donc cela peut être bien.
Je l'ai donné comme je le voulais, il peut donc y avoir des ajouts et des corrections à l'avenir.