2010-03-23 13 views
10

Podczas oglądania wyjście odprowadzone do mniej, czasami chciałbym, aby móc go zobaczyć w Emacs w celu uzyskania podświetlanie składni i używać emacs poleceń do przeszukiwania, znakowanie, kopiowania itprur mniej Emacs

Widzę, że Less ma komendę v, której można użyć do otwarcia aktualnie oglądanego pliku w $EDITOR. Niestety to nie działa podczas przeglądania wejścia przewodowego.

Nie wiem również, jak sprawić, aby Emacs wyświetlał stdin jako dokument tylko do odczytu.

Czy można ustawić mniej z czymś takim, jak v, ale który pompuje obecny bufor do Emacsa jako plik tylko do odczytu?

Dzięki.

Odpowiedz

5

Jeśli przewiniesz w dół w http://www.emacswiki.org/emacs/GnuClient, dojdziesz do sekcji zatytułowanej "Piping data to Emacs buffer", która może być istotna. Lub możesz hack up a solution involving emacsclient and temporary files. (link nie działa).

Znalazłem inny wariant, szukając duplikatu martwego linku: Piping to an emacs buffer with emacsclient, który wskazuje na code stored on github.

+0

http://www.shellarchive.co.uk/content/emacs_tips.html#have-emacsclient-accept-stuff-from-stdin powyższy link nie działa praca. Czy możesz zaktualizować link. – CantGetANick

+0

@CantGetANick: Chciałbym, ale nie mam alternatywnej wersji. Gah! – dmckee

+0

jesteś dobrym człowiekiem. :) – CantGetANick

5

Mam sformalizowane rozwiązanie tutaj: github e-sink

+0

Dzięki +1 ... To ** dużo ** szybciej (w czasie rzeczywistym) niż 'emacs-pipe.pl' w drugiej odpowiedzi Używanie' cat file', gdzie * plik * zawiera dane wyjściowe 'printf '% s \ n' {0000001..1000000}> file' ..... 'emacs-pipe.pl' -> czas: r/u/s:' 2m23.487s' '0m8.461s'' 0m4.976s' ..... podczas gdy ten: 'e-sink.pl' -> czas: r/u/s:' 0m14.796s' '0m11.289s'' m3.492s' .. ... Ale w przypadku użycia '--cmd', pojawia się błąd: * Twój dostawca nie zdefiniował makra POSIX ARG_MAX, użytego w /home/axiom/bin/e-sink.pl linii 182 * .. Czy istnieje Prosta naprawa tego? (moja wiedza na temat Perla jest raczej niewielka) –

+0

Implementacja --cmd była oryginalną powolną implementacją. Naprawiłem napotkany błąd, ale trzymam go z nowym. Twoje zdrowie. –