Muszę edytować zdalne pliki za pomocą vima, które znajdują się na serwerze FTP. Nie ma dostępu do SSH ani SFTP. Po prostu FTP. Próbowałem synchronizować za pomocą curlftpfs, pliki pojawiły się w lokalnym katalogu, ale nie mogę do nich pisać, dostaję różnego rodzaju błędy, a kiedy udaje mi się pisać pliki z losowymi zakończeniami, są generowane na serwerze. index.php zapisuje na serwerze jako index.phz, index.phy itp.
Miałem wysublimowany tekst 2, ale nie mogę go już uruchomić po zainstalowaniu nowych sterowników dla mojej karty graficznej. Próbowałem także n ++ z WINE, ale bez powodzenia w otwieraniu plików FTP, które znajdują się na głębszym poziomie katalogu.
Widziałem, że istnieją różne podejścia do edycji plików na FTP za pomocą vima, ale każdy z nich wymaga wpisania: e http: // [użytkownik @] maszyna / ścieżka (z wtyczką netrw). Naprawdę chciałbym uniknąć wszelkiego rodzaju powtórzeń, a raczej ustawić względne mapowanie. Dziwne, że nie ma rozwiązania dla vima, ponieważ jest to głównie narzędzie programistyczne, wysublimowane i npp mają już rozwiązane w prosty sposób. wpisanie na tej samej nazwie hosta / ścieżce itp. złamałoby prostą zasadę DRY.
Idealnie byłoby, gdybym mógł buforować pliki lokalnie za pomocą jakiegoś narzędzia do synchronizacji i przesłać je do ftp mapując ścieżkę lokalnie -> zdalnie, zaraz po zapisaniu pliku przez vima lub wydam polecenie upload itp. (Bez konieczności wpisywania pliku otwartego każdego razu). Na serwerze jest wiele plików, więc nie mogę ich zapamiętać. Ważne jest, aby mieć je w pamięci podręcznej lokalnie, aby szybko uzyskać do nich dostęp i przesłać je za pomocą prostego polecenia.
Używam Slackware 13.37 x64
"/usr/bin/gvim" --servername filezilla --remote-tab
.Chociaż nie możesz po prostu użyć względnych nazw plików (ponieważ lokalny katalog roboczy jest inny), możesz użyć modyfikatorów nazw, aby względnie odwoływać się do plików:
źródło
Czuję twój ból, uwielbiam używać vima, a z klientem ftp jest prawie tak, jakbyś miał ssh. Przepływ pracy, którego używam, jest
:e ftp://username@server/
:tab split
:tabn
:wq
Przekonałem się, że to działa najlepiej.
Karty w Vimie są świetne, mogą pozwolić ci mieć wiele plików, a nawet szarpać
y
i usuwaćd
linie między otwartymi plikami w tej samej sesji. Bardzo fajny.źródło
Jeśli użyjesz vima
ftp://hostname/path/
, otrzymasz listę katalogów. Jeśli często współpracujesz z tym hostem, możesz dodać go do zakładek. Z netrw v153j możesz używać:NetrwMB filename(s)
; możesz użyć mb, aby dodać zakładkę do bieżącego katalogu; i możesz użyćqb
do wyświetlenia bieżących zakładek (i historii). Zakładki i tym podobne są również dostępne w menu za pomocą gvim. Aby przejść do zakładki, użyjgb
.Proponuję więc dodać zakładkę do katalogu, wrócić do listy katalogów za pomocą
:Rex
lubgb
i edytować pliki tak wymienione.źródło
Wiem, że to stare, ale inną opcją jest użycie np. Curlftpfs ( tutaj zbuduj Slackware ), aby zamontować serwer FTP w punkcie montowania, a następnie użyj lokalnego edytora tekstu.
źródło