Czy są jakieś edytory, które mogą edytować wielogigabajtowe pliki tekstowe, na przykład ładując tylko małe porcje do pamięci na raz? Nie wygląda na to, żeby Vim sobie z tym poradził = (
vim
text
text-editor
Philip Brocoum
źródło
źródło
Odpowiedzi:
Jeśli jesteś na * nix (i zakładając, że masz do modyfikacji tylko części pliku (i rzadko)), można podzielić pliki (za pomocą
split
poleceń), edytować je pojedynczo (za pomocąawk
,sed
lub coś podobnego) i łączyć je po ciebie są skończone.źródło
Ctrl-C zatrzyma ładowanie pliku. Jeśli plik jest wystarczająco mały, być może miałeś szczęście, że załadowałeś całą zawartość i po prostu zabiłeś wszystkie kroki po załadowaniu. Sprawdź, czy cały plik został załadowany podczas korzystania z tej wskazówki.
Vim całkiem dobrze radzi sobie z dużymi plikami. Właśnie wyedytowałem plik 3,4 GB, usuwając wiersze itp. Trzy rzeczy, o których należy pamiętać:
:115355
przeniesie Cię bezpośrednio do wiersza 115355, który jest znacznie szybszy w przypadku dużych plików. Vim wydaje się zaczynać skanowanie od początku za każdym razem, gdy ładuje bufor linii, a przytrzymanie Ctrl-F w celu przeskanowania pliku wydaje się działać bardzo wolno pod koniec.Uwaga - Jeśli twoja instancja Vima jest w trybie tylko do odczytu, ponieważ wcisnąłeś Ctrl-C, możliwe, że Vim nie załadował całego pliku do bufora. Jeśli tak się stanie, zapisanie go zapisze tylko to, co jest w buforze, a nie cały plik . Możesz szybko sprawdzić za pomocą a,
G
aby przejść do końca, aby upewnić się, że wszystkie wiersze w pliku tam są.źródło
Mogą to być wtyczki, które powodują jego dławienie. (podświetlanie składni, fałdy itp.)
Możesz uruchomić vima bez wtyczek.
Jest minimalistyczny, ale przynajmniej da ci ruchy vi, do których jesteś przyzwyczajony.
jest kolejnym oczywistym. Usuń instalację i pobierz to, czego potrzebujesz. Dowiesz się, do czego jest zdolny i czy musisz wykonać zadanie w inny sposób.
źródło
Nieznaczne ulepszenie odpowiedzi udzielonej przez @Al pachio dzięki rozwiązaniu split + vim możesz wczytywać pliki za pomocą globu, efektywnie wykorzystując fragmenty plików jako bufor, np.
źródło
Możesz chcieć sprawdzić tę wtyczkę VIM, która wyłącza niektóre funkcje VIM w interesie szybkości podczas ładowania dużych plików.
źródło
Próbowałem to zrobić, głównie z plikami o wielkości około 1 GB, kiedy musiałem wprowadzić małą zmianę w zrzucie SQL. Korzystam z systemu Windows, co sprawia, że jest to poważny problem. To naprawdę trudne.
Oczywiste pytanie brzmi: „dlaczego musisz?” Z doświadczenia mogę ci powiedzieć, że próbujesz tego więcej niż raz, prawdopodobnie naprawdę chcesz spróbować znaleźć inny sposób.
Jak więc to robisz? Zrobiłem to na kilka sposobów. Czasami mogę uzyskać vim lub nano, aby otworzyć plik i mogę ich użyć. To naprawdę ciężki ból, ale działa.
Jeśli to nie zadziała (jak w twoim przypadku), masz tylko kilka opcji. Możesz napisać mały program, aby wprowadzić potrzebne zmiany (na przykład wyszukaj i zamień). Możesz użyć programu wiersza poleceń, który może to zrobić (może można to zrobić za pomocą sed / awk / grep / etc?)
Jeśli to nie zadziała, zawsze możesz podzielić plik na części (coś takiego jak split jest oczywistym wyborem, ale możesz użyć nagłówka / ogona, aby uzyskać żądaną część), a następnie edytować części, które tego potrzebują, i połączyć ponownie później.
Zaufaj mi jednak, spróbuj znaleźć inny sposób.
źródło
Myślę, że edytory szesnastkowe dość często obsługują duże pliki. W systemie Windows używam HxD , który twierdzi, że obsługuje pliki do 8 EB (8 miliardów gigabajtów).
źródło
hexedit
Używam vim 7.3.3 na Win7 x64 z wtyczką LargeFile autorstwa Charlesa Campbella do obsługi wielogigabajtowych zwykłych plików tekstowych. Działa naprawdę dobrze.
Mam nadzieję, że dobrze przyjdziesz.
źródło
Wow, nigdy nie udało mi się zmusić Vima do dławienia się, nawet z GB lub dwoma. Słyszałem, że UltraEdit (w systemie Windows) i BBEdit (na komputerach Mac) są jeszcze bardziej odpowiednie dla jeszcze większych plików, ale nie mam osobistego doświadczenia.
źródło
W przeszłości otworzyłem plik z 3 koncertami za pomocą tego narzędzia http://csved.sjfrancke.nl/
źródło
Osobiście lubię UltraEdit . Oto ich mała gadka o dużych plikach .
źródło
Użyłem wbudowanego edytora / przeglądarki FAR Commander do bardzo dużych plików dziennika.
źródło
Użyłem TextPada do dużych plików dziennika, które nie mają górnego limitu.
źródło
Jedyne, czego udało mi się użyć do czegoś takiego, to mój ulubiony edytor szesnastkowy na Maca, 0XED. Jednak dotyczyło to plików, które uważałem za duże i zajmowały dziesiątki megabajtów. Nie jestem pewien, jak daleko to zajdzie. Jestem jednak prawie pewien, że jednocześnie ładuje tylko części pliku do pamięci.
źródło
W przeszłości z powodzeniem stosowałem metodę dzielenia / edycji / łączenia, gdy pliki stają się bardzo duże. Aby to zadziałało, musisz wiedzieć, gdzie w oryginalnym pliku znajduje się tekst przeznaczony do edycji.
źródło