[PYTHON] Vermeiden Sie die Fallstricke bei der Verwendung eines Mac (für Linux-Benutzer?)

Guten Abend. Ich bin ein Mac-Benutzer.

Ich denke, der Mac ist eine schöne Maschine, aber ich bin oft begeistert, wenn ich ihn ohne nachzudenken benutze. Da die grundlegende Unix-Umgebung vollständig ist, insbesondere für Linux-Benutzer, gibt es subtile Unterschiede und seltsames Verhalten. Es kann frustrierend sein. In diesem Eintrag fasse ich einige von denen zusammen, von denen ich süchtig bin und wie ich mit ihnen umgehen soll.

# 6/18 Hinzugefügt über virtualenv # 6/21 iterm edition hinzugefügt # 7/17 Zur MacVim Edition hinzugefügt

Außerdem die Werkzeuge, die ich benutze

Also entwickle ich hauptsächlich mit Python. Außerdem werde ich die Einführung jedes Tools usw. weglassen, da es viele andere Artikel gibt.

Homebrew Edition

Googeln und das Einführungsskript treffen. Da Sie außerdem Optionen und nützliche Ratschläge für jede Formel sehen können, kann es außerdem sinnvoll sein, für das Einführungspaket häufig die Gewohnheit "Brauinfo" hinzuzufügen.

~ Homebrew Edition fertig ~

iTerm2

iTerm scheint besser zu sein, also benutze ich iTerm. Bitte vom Beamten installieren.

Deaktivieren Sie anfällige Schlüssel

Vielleicht starten Sie immer CUI. "⌘ + w" ist also eine böse Schlüsselbindung, die einen Ausbruch verursachen und den Monitor treffen kann. Lass es uns löschen. Öffnen Sie im Menü "Einstellungen-> Tasten". Fügen Sie Global + w oder ⌘ + q zu den globalen Tastenkombinationen hinzu, damit sie ignoriert werden.

Aktivieren Sie den Metaschlüssel

Auf dem Mac können Sie unverständliche Symbole ausgeben, indem Sie zusammen mit Alt verschiedene Tasten drücken. Da sich die Symbole beim Codieren fast nicht drehen, werde ich es ermöglichen, sie als Metaschlüssel zu verwenden. Damit sind Sie von Emacser auch sicher.

Öffnen Sie die Einstellungen, die Sie verwenden möchten, mit "Einstellungen-> Profile". Wenn Sie nicht verstehen, sollten Sie zu solarisiert gehen und das Thema für iTerm2 importieren. Öffnen Sie dann die Tasten und setzen Sie die linke Optionstaste wie folgt: `auf + Esc.

Lassen Sie uns das Terminal neu starten. Ich denke, es funktioniert wie das Löschen eines Wortes mit alt + d. Du hast es getan, nicht wahr?

zsh edition

Ich werde zsh vorstellen, weil ich zu einem Körper gemacht wurde, der ohne zsh nicht leben kann. Das Standard-zsh-Skript von Apple unter "/ etc" macht jedoch etwas falsch, sodass Sie etwas dagegen tun müssen.

Schreiben Sie entweder / etc / zshenv direkt von sich selbst neu oder installieren Sie es als Brew Install --disable-etcdir zsh. Die obigen Details sind sorgfältig geschrieben, so wie es mit "Brew Info Zsh" ist.

Nach Abschluss der Installation lesen Sie bitte http://tukaikta.blog135.fc2.com/blog-entry-195.html und ändern Sie die Anmeldeshell.

Als nächstes laden wir die zsh-Vervollständigungsfunktionen. Es kann mit "Brew Install Zsh-Completions" installiert werden. Als nächstes legen Sie den Pfad fest.

fpath = (
        #zsh-completions
        /usr/local/share/zsh-completions(N-/)

        #homebrew
        /usr/local/share/zsh/functions(N-/)
        )
export fpath

Es sieht aus wie oben. Wenn Sie interessiert sind, verwenden Sie Brew - Präfix. In alten Einträgen usw. werden Vervollständigungsfunktionen für das Brauen usw. separat mit symbolischen Links eingefügt, aber jetzt gibt es eine gute in zsh-Vervollständigungen, so dass es nutzlos ist.

Grundbefehle

Die Befehle, die standardmäßig mit MacOS geliefert werden, scheinen vom alten BSD abgeleitet zu sein, und es ist sehr stressig, da die Optionen unterschiedlich sind und das Verhalten seltsam ist. Ersetzen wir sie also.

Lassen Sie uns "openssl", "readline", "git", "coreutils", "gnu-sed", "wget", "gawk", "ctags", "sl" vorstellen.

Es handelt sich um Coreutils, die oben geschrieben wurden. Wenn Sie es jedoch normal ausdrücken, müssen Sie den Befehlsnamen mit dem Präfix g eingeben. Stellen Sie PATH und MANPATH unter "Brew Info" ein. Lassen Sie uns auch dem Homebrew-Tool Priorität einräumen.


BREW_PATH=`/usr/local/bin/brew --prefix`
typeset -U path
path=(
    #So etwas wie mein eigenes Skript oder etwas, das ich selbst erstellt habe
    $HOME/Dropbox/bin/mac(N-/)
    $HOME/Dropbox/bin(N-/)
    $HOME/bin(N-/)

    #Priorisieren Sie die Einführung mit Homebrew
    $BREW_PATH/bin(N-/)

    ##Homebrew setzt Python und Pip gleichzeitig
    ##Es geht in den Pfad unten, aber in Bezug auf den Befehl/usr/local/Automatisch symbolische Verknüpfung zu bin
    ##Es scheint, dass es nicht länger notwendig ist, Folgendes hinzuzufügen, da es gedehnt wurde. Weitere Informationen finden Sie unter Info Python
    #$BREW_PATH/share/python(N-/)

    #Der Standardbefehl ist der GNU-Befehl
    $(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'

Bitte machen Sie den ersten Teil nach Ihren Wünschen. Durch die Priorisierung von Coreutils sollten das Verhalten und die Optionen vorerst denen von GNU entsprechen. Dies funktioniert nicht mit dem Shell-Skript, das unter Linux funktioniert hat! Es wird nicht passieren (vielleicht)

tmux edition

Mac-Terminal-Emulatoren wie iTerm2 scheinen mit der Zwischenablage unter tmux nicht gut zu funktionieren. Dies führt zu einer tragischen Situation, in der Sie Vim verwenden und bei aktivierter Option "Zwischenablage festlegen = unbenannt" Vim auf Ihrem Gerät, einschließlich MacVim, überhaupt nicht eingefügt werden kann.

Installieren Sie "Reattach-to-User-Namespace" von Brew, um dies zu vermeiden.

Installieren Sie als Nächstes das Skript, um tmux in Zusammenarbeit mit den oben genannten Tools zu starten, indem Sie auf https://gist.github.com/elasticdog/1462391 verweisen.

Schließlich,"tmux save-buffer - | reattach-to-user-namespace pbcopy"Und"reattach-to-user-namespace pbpaste | tmux load-buffer - && tmux paste-buffer" Es ist auch möglich, das tmux-Register mit der Zwischenablage zu verknüpfen, indem eine solche Operation an eine geeignete Bindung von tmux angehängt wird.

Apropos, es gibt einen tmux, der für iTerm angepasst zu sein scheint, aber ich denke, dass Homebrew gut ist, weil es bedeutungslos zu sein scheint.

Python

Der Mac-Standard Python ist nicht gut, also verwenden wir Brew. Da ich das OpenSL verwenden möchte, das ich in Homebrew eingefügt habe, gebe ich explizit "Brew Install Python - With-Brewed-OpenSSL" an.

virtualenv

Wenn Sie virtualenv so verwenden, wie es ist, ist dies umständlich, da der Mac-Standard-Python priorisiert wird.

Stellen Sie zunächst sicher, dass Python und Pip von Homebrew gemäß der PATH-Einstellung priorisiert sind, die im obigen Basisbefehl vorgenommen wurde. which python which pip

Geben Sie als Nächstes virtualenv und virtualenvwrapper ein. Ich bin ein Mann, der Pip benutzt.

Schreiben Sie nach der Installation die folgenden Einstellungen in .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
#Es scheint, dass setuptools aktualisiert wurde
#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

Ursprünglich habe ich das Gefühl, dass die Einstellung "VIRTUALENVWRAPPER_PYTHON" den Trick macht, aber aus irgendeinem Grund möchte ich hartnäckig Standardpython verwenden, deshalb setze ich sie explizit mit "VIRTUALENVWRAPPER_VIRTUALENV_ARGS". Übrigens, meine Python-Kampfkraft ist eine Bauernklasse. Wenn also etwas nicht stimmt, tauchen Sie bitte ein.

Laden Sie nach dem Schreiben die zsh-Einstellungen neu.

Vim

Du kannst es selbst bauen, aber ich bin nicht gut darin, also benutze ich Gebräu. brew install vim --override-system-vi --with-lua --with-ruby --with-python --with-python3 Lassen wir es als. Natürlich werden auch zuerst Lua, Ruby und Python3 vorgestellt. Insbesondere lua wurde kürzlich aktiv eingeführt, daher wäre es gut, es aufzunehmen.

MacVim

Früher hatte MacVim ein abstürzendes Python-Skript, aber mit der neuesten Version funktioniert es einwandfrei. Setzen Sie außerdem das Beste ein, um von der if_lua-Beschleunigung von ShougoWare zu profitieren. brew install macvim --with-lua Wird besorgt. Es scheint auch, dass Luajit von der Standardformel des Brauens unterstützt wird, bevor Sie es kennen. Wenn Sie es also einschließen möchten, verwenden wir "--with-luajit".

Weitere Informationen finden Sie in diesem Blog. Neuester Patch & if_lua MacVim für schnelle Suche und Fertigstellung!

Außerdem wurde die MacVim-Kaoriya-Binärdatei mit if_lua aktualisiert, sodass dies möglicherweise in Ordnung ist.

Endlich

Ich habe es gegeben, wie ich wollte, daher kann es in Zukunft zu Ergänzungen und Korrekturen kommen.

Recommended Posts

Vermeiden Sie die Fallstricke bei der Verwendung eines Mac (für Linux-Benutzer?)
Was Java-Benutzer davon gehalten haben, die Go-Sprache für einen Tag zu verwenden
Eindrücke von der Verwendung von Flask für einen Monat
Hinweise zur Verwendung von KUnit, dem Unit-Test-Mechanismus des Linux-Kernels
Es ist ein Mac. Was ist der Linux-Befehl Linux?
[AWS Lambda] Erstellen Sie ein Bereitstellungspaket mit dem Amazon Linux Docker-Image
Schneiden Sie einen Teil der Zeichenfolge mit einem Python-Slice aus
Erstellen Sie unter Linux einen QR-Code für die URL
Eine kurze Zusammenfassung der Antivirensoftware für persönliches Linux
Die Geschichte der Einrichtung eines VIP-Kanals im internen Chatwork
Probieren Sie die ähnliche Suche von Image Search mit Python SDK [Search] aus.
Anzeige der Signalstärke RSSI einer bestimmten SSID (Mac)
Eine grobe Zusammenfassung der Unterschiede zwischen Windows und Linux
Mac Linux Überprüfen Sie die Kapazität direkt in einem bestimmten Verzeichnis
Eine kurze Zusammenfassung von Linux
Die Geschichte des Erstellens einer Datenbank mithilfe der Google Analytics-API
Ein Memorandum zur Verwendung von eigen3
Memorandum des Python-Paketverwaltungstools ez_setup
Eine kurze Zusammenfassung von Graphviz in Python (nur für Mac erklärt)
So bringen Sie den Druckertreiber für Oki Mac in Linux
Unter Linux ist der Zeitstempel einer Datei etwas vorbei.
Die Geschichte, einen Standardtreiber für db mit Python zu erstellen.
So geben Sie das Ausgabeergebnis des Linux-Befehls man in eine Datei aus
Überprüfen Sie den Speicherschutz von Linux Kern mit Code für ARM
Bewerten Sie die Leistung eines einfachen Regressionsmodells mithilfe der LeaveOneOut-Schnittstellenvalidierung
Versuchen Sie, Elasticsearch als Grundlage für Ihr Frage- und Antwortsystem zu verwenden
Finden Sie den optimalen Wert der Funktion mit einem genetischen Algorithmus (Teil 1)
Hosten Sie die Netzwerkbibliothek Mirror for Unity auf einem Linux-Server
[Kaggle] Ich habe mit dem Titanic-Tutorial eine Sammlung von Problemen erstellt
[Muss für Anfänger] Grundlagen von Linux
Die Geschichte des Exportierens eines Programms
Anzeige der Signalstärke RSSI einer bestimmten SSID (Himbeer-Pi (Linux))
Latein lernen zum Schreiben eines lateinischen Satzanalyseprogramms (Teil 1)
Richtlinien für die Reinkarnation in der Welt der Linux-Programmierentwicklung (C / C ++ - Sprache)
[Linux] Ein Befehl zum Abrufen einer Liste der in der Vergangenheit ausgeführten Befehle
Zeigen Sie den vollständigen Pfad (absoluten Pfad) einer Datei in einem Verzeichnis in Linux Bash an
Ich habe versucht, die Wartezeit der Ausführungswarteschlange eines Prozesses unter Linux zu messen
[Mac] Erstellen Sie mit Docker eine Python 3.x-Umgebung mit der schnellsten Geschwindigkeit
Ein Hinweis zu den Funktionen der Standard-Linux-Bibliothek, die sich mit Zeit befasst
So spielen Sie ein Video ab, während Sie die Anzahl der Bilder ansehen (Mac)
Ein nützlicher Hinweis, wenn Sie Python nach langer Zeit verwenden
Linux (Über Benutzer und su / sudo-Befehle)
[Verständnis in 3 Minuten] Der Beginn von Linux
Finde die Daten des verrückten Turniers heraus
Hinweis zur Verwendung der Python-Eingabefunktion
Messen Sie die Assoziationsstärke in einer Kreuztabelle
Erstellen Sie mit dem Sympy-Modul ein Diagramm
Ändern Sie die Liste in der for-Anweisung
[Mac] Erstellen einer virtuellen Umgebung für Python