Czasami muszę pracować w systemie Windows, co często oznacza używanie powłoki Bash. Jeśli jestem (na przykład) w vim
(niegvim
) z kilkoma plikami otworzyć, a uderzę CtrlZ krótko wrócić do powłoki i zrobić coś przed powrotem do vim
, zamiast zawieszania mój vim
proces Git Bash tworzy nową powłokę DOS. To ostatnia rzecz, jakiej bym kiedykolwiek chciał. Googling turns up nothing useful (w tym momencie - YMMV w mojej przyszłości). Co się dzieje?Dlaczego nie działa Ctrl-Z na powłoce binarnej systemu Windows Git?
Odpowiedz
czasami trzeba pracować w Windows, co często oznacza używanie powłoki Git Bash.
Dobrze. Ja też.
Jeśli jestem (na przykład) w vim (nie gvim) z kilkoma plikami otwartymi, a ja wybieram^Z, aby krótko wrócić do powłoki i zrobić coś przed powrotem do vima, zamiast zawieszenia mojego procesu vima Git Bash tworzy nową powłokę DOS.
Jeśli wykonasz inne procesy w bicie git, CTRL-Z również ich nie zawiesi. Vim pracuje nad tym, a zamiast tego tworzy powłokę, aby osiągnąć podobny rezultat. Vim jest narzędziem w oknach, które nie wymaga bashu, raczej wiersz poleceń systemu Windows będzie koniecznie zainstalowany na maszynie Windows. Zakładam, że jest to bezpieczny wybór programu binarnego Windows.
To ostatnia rzecz, jakiej bym kiedykolwiek chciał. Googling nie okazuje się przydatny (w tym momencie - YMMV w mojej przyszłości). Co się dzieje?
Domyślam się, że vim ma mapę CTRL-Z do tworzenia powłoki DOS. Jeśli chcesz utworzyć powłokę bash zamiast, można wpisać:
:!sh
I będzie wykonywany w powłoce bash.
Zgaduję, że powodem tego jest to, że Windows nie implementuje API procesu zawieszania POSIX. Miałem ten sam problem i nie znalazłem ogólnego rozwiązania. Ale dla konkretnych wspólnych przypadkach (takich jak gvim), praca wokół jest stworzenie skryptu gdzieś w PATH (np/c/bin/gVim) wzdłuż linii
#!/bin/env bash
/c/Program\ Files\ \(x86\)/Vim/vim73/gvim.exe [email protected] &
- 1. Qt qDebug() nie działa w powłoce systemu Windows
- 2. Jak uruchomić ./script.sh w powłoce systemu Windows Git?
- 3. System.Net.WebClient nie działa z uwierzytelnianiem systemu Windows
- 4. Wtyczka Perforce dla systemu Windows nie działa?
- 5. Pull nie działa - TortoiseGIT/Windows 7/GIT na Debianie + gitolite
- 6. Zestaw certyfikatów aplikacji systemu Windows nie działa.
- 7. Dlaczego skompilowany program linux nie działa na Windows
- 8. SourceTree dla Windows nie działa
- 9. Dlaczego niestandardowa lista zadań paska zadań systemu Windows nie działa bez pinezki w systemie Windows 10?
- 10. Zakończenie Git Git nie działa w Zsh na Macu
- 11. Uruchamianie pliku wsadowego w powłoce git
- 12. Jak rozwiązywać problemy z Zaplanowanym zadaniem systemu Windows nie działa?
- 13. Serwer SQL nie działa po aktualizacji systemu Windows 8.1 do systemu Windows 10
- 14. Dlaczego Vagrant próbuje SSH gości systemu Windows?
- 15. BackgroundDownloader nie działa w przypadku mobilnego systemu Windows UWP?
- 16. javac nie działa w wierszu polecenia systemu Windows
- 17. net.tcp nie działa od czasu uaktualnienia do systemu Windows 10
- 18. Dlaczego funkcja pyplot.show() nie działa?
- 19. Git na windows: "Nie obsługuję protokołu" git clone http ""
- 20. Jak działa chmod dla systemu Windows?
- 21. Git Push nie działa, nie ma błędu
- 22. Zapisz referencje GIT za pomocą Git Credential Manager dla Windows - Nie działa
- 23. Git przed zatwierdzeniem hook nie działa w systemie Windows
- 24. git push nie działa
- 25. Git i SVN na Windows
- 26. ssh uwierzytelniony dostęp git w wierszu polecenia systemu Windows?
- 27. Dlaczego usługa Windows nie działa poprawnie z System.Timers.Timer lub System.Windows.Forms.Timer
- 28. Dlaczego usługa cURL nie działa z uwierzytelnianiem systemu Windows w IIS7?
- 29. Instalacja Git 1.9.5 na Windows 10
- 30. Dlaczego `git subtree` nie działa, mimo że mam zainstalowany git 1.8.3.2 na Ubuntu 12.10?
Jeśli Cię rozumiem, używasz tego jako opakowania dla gvima i sugerujesz, że^Z *** WILL *** działa dla skryptu opakowania, nawet jeśli nie działa dla rzeczywistego plik wykonywalny? Okay, to ma sens, ponieważ prawdziwy plik wykonywalny to plik * exe *. – iconoclast
Niestety, nie,^Z nadal nie działa. Cały skrypt robi gvima na tle, gdy wpisuję "gvim" w bashu, więc nie muszę^Z, aby wpisać następne polecenie. Zasadniczo, po prostu oszczędza konieczności pamiętania o wpisaniu i po komendzie. – setrofim
Nie jestem pewien, w jaki sposób mi to pomaga. Używam vima, nie gvim, więc jest otwarty w terminalu. Chcę sposób, aby zawiesić go, aby powrócić do linii poleceń. – iconoclast