Jeśli używasz tmux a czasem początkowo uruchomić MacVim poprzez program mvim
wiersza polecenia, a następnie może być napotykają problem, że skłoniło mnie do napisania reattach-to-user-namespace
command.
Domyślam się, że schowek dostęp pracował na poprzednich okazjach, ponieważ stało się rozpoczęły MacVim poprzez „normalny” sposób GUI (np doku, Finder, Reflektor, itd.). W późniejszym czasie schowek stał się niedostępny po opuszczeniu poprzedniego wystąpienia z MacVim i ponownie uruchomiony przez (np.) mvim
z wnętrza sesji tmux.
Podstawowym problemem jest to, że programy uruchamiane w niektórych kontekstach (tj. W ramach sesji tmux) kończą się środowiskiem, które uniemożliwia im dostęp do niektórych usług (na przykład do pulpitów OS X).
Początkowe uruchomienie jest tutaj ważne. Nowe okna rozpoczęty przez mvim
-in- tmux (nawet bez powyższego programu otoki-linked), powinny mieć dostęp do schowka dopóki MacVim wcześniej rozpoczął „za pośrednictwem graficznego interfejsu użytkownika” (być może nadal istnieją pewne MacVim otwarte okna, a może masz skonfigurowane MacVim, aby działał nawet wtedy, gdy nie ma otwartych okien). Odpowiednio, aby odzyskać dostęp do schowka, musisz zamknąć wszystkie istniejące okna MacVim MacVim, zamknąć aplikację, a następnie zrestartować ją w sposób, który ma dostęp do schowka (np. Za pośrednictwem GUI lub "wewnątrz" opakowania) .
Po zainstalowaniu program powyżej powiązane wrapper (jest również dostępna za pośrednictwem MacPorts i Homebrew), można użyć polecenia jak reattach-to-user-namespace mvim
aby jeśli kończy się rozpoczęciem nowego MacVim instancji, a następnie ta nowa instancja będzie miała dostęp do schowka. Możesz użyć aliasu, funkcji powłoki lub skryptu, aby upewnić się, że zawsze "zawijasz" mvim
.
Kilka innych poleceń również skorzystać z „owijania” (pbpaste
, pbcopy
, nohup
, launchctl
(w zależności od komendy używasz)), więc może chcesz „wrap” swoją całą skorupę zamiast poszczególnych poleceń. Bit środowiska procesowego, które modyfikuje "opakowanie", jest dziedziczone przez procesy potomne, więc "zawijanie" powłoki będzie miało wpływ na większość poleceń, które z niej uruchomisz.Jeśli używasz tmux, można skonfigurować default-command
automatycznie „wrap” domyślny tmux muszle:
set-option -g default-command "reattach-to-user-namespace -l zsh"
zwykle zaczynasz * MacVim * poprzez GUI (np doku, * Finder *, Spotlight, aplikacja uruchamiająca) lub za pomocą wiersza poleceń? Jeśli zwykle używasz wiersza poleceń (np. 'Mvim'), czy odzyskujesz dostęp do schowka, jeśli zamkniesz (nie tylko zamkniesz wszystkie okna, ale np. Command-Q), a następnie uruchomisz ponownie" przez GUI "? Czy jest coś wyjątkowego w środowisku, z którego uruchamiasz * MacVim *? Na przykład. 'mvim' z wnętrza * tmux * okienka, które nie używają czegoś w rodzaju mojego programu' 'reattach-to-user-names '' (https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard). –
@ChrisJohnsen To prawdopodobnie problem. Wkrótce się obejrzę. Dzięki! –
@ChrisJohnsen Dzięki! 'reattach-to-user-namespace' jest doskonałe. Uratowałeś wielu frajerów takich jak ja. –