feature-request: vim

coolphoenix

Mitglied
Mitglied seit
21 Jul 2005
Beiträge
234
Punkte für Reaktionen
0
Punkte
0
hiho,

besteht irgendwie die möglichkeit, vi durch vim zu ersetzen bzw vim neben vi zu haben?

mich interessiert dabei vor allem das syntaxhighlighting, "jump to last position" und incremental search.

habe mich schon sehr an vim auf meinem pc gewöhnt - währe schön per ssh auch mit vim an dateien der fritzbox (massenspeichern) arbeiten zu können.

wenn also ein dev grad zu viel zeit hat ;)

mfg
 
Zu viel Zet hab ich nicht, leider. Vielleicht ja wer anders?

Vim wäre für mich auch noch recht interessant, aber nur für bunten Syntax kann man auch nano nutzen, dafür nämlich kann man entsprechende Optionen aktivieren in der menuconfig.

Ich weiss, ist nicht vim, aber zumindest auf meinem "Referenz-Stinky-System" (Ja, als solches nutze ich es, um zu testen, ob irgendwleche Probleme auftauchen) ist nano vorherrschend.

Wenn du allerdings auch lust hast, makefiles und Co. anzupassen, so sie herzlich willkommen, entsprechende Patches bereitzustellen, hmm?

Und was deine Speciel-Keys angeht: Ich hab ein paar Optionen für "less" und "less" selbst in der Busybox aktiviert, vielleicht reicht dir da ja schon daseine oder andere?

LG
cinereous/Silent-Tears
 
Zuletzt bearbeitet:
Für Mipsel kompiliert mit den Configs aus dem OpenWRT ist es doch ein Stück weniger.

Code:
size source/vim71/src/vim
   text    data     bss     dec     hex filename
 583647   31828   12408  627883   994ab source/vim71/src/vim

Kompirimiert (bzip2 --best) noch einmal eine Ganze Ecke weniger: 290685

Allerdings - ich glaube es zumindest, testen kann ichs frühestens heute Abend - dass das Syntaxding noch nciht drin ist, und die Syntax-Schemes auch noch nicht.

LG

cinereous
 
mir würde es schon reichen, wenn man irgendwie eine binary erzeugt, die man z.b. auf einen usb-speicher kopiert und das ganze dann auf der box läuft. habe ich z.b. so mit e2fsprogs gemacht, beim image erstellen war's zu groß aber habe einfach die kompilierten dateien aus packages/build (soweit ich mich entsinnen kann) auf ein usb-stick gehauen - läuft ohne probleme.


und ja, ich kann mich ja mal daran versuchen das ganze für die box statisch zu kompilieren, nur schon mein erstes problem bevor ich überhaupt irgendwie loslegen kann: ich habe ein x86_64 system, die box is x86 (denke ich mal), wie crosscompile ich das ganze? vom crosscompiling habe ich absolut keine ahnung...
 
Bitte lies dich erst einmal ein wenig genauer in die MAterie ein. Wiki könnte ein guter erster Anlaufpunkt sein, genauso wie hier im Forum.

Denn x86 ist die FB garantiert nicht.

Was dann vim angeht: Nutze vorläufig "vi", das gibt es wenigstens auf beinahe jedem unix-ähnlichem System.
 
na gut, dann halt nicht x86, kenne mich halt nur etwas mit desktop-architekturen aus, wusste nicht dass die fb was ganz anderes nutzt.


jedenfalls habe ich im wiki nachgelesen, vim-source heruntergeladen und scheiter an:

Code:
LDFLAGS=-static ./configure --target=mipsel-linux --host=mipsel-linux CC="mipsel-linux-gcc" CFLAGS="-Os -pipe -march=4kc -Wa,--trap"
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
configure: loading cache auto/config.cache
checking whether make sets $(MAKE)... yes
checking for mipsel-linux-gcc... mipsel-linux-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... yes
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether mipsel-linux-gcc accepts -g... yes
checking for mipsel-linux-gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... mipsel-linux-gcc -E
checking for egrep... grep -E
checking for library containing strerror... none required
checking for gawk... gawk
checking for strip... strip
configure: error: cannot compile a simple program, check CC and CFLAGS
  (cross compiling doesn't work)

habe alle möglichen kombinationen (mal mit cc und cflags, dann ohne, mal mit --build oder --host und mal ohne etc.)... im endeffekt lief dann configure damit durch:

Code:
LDFLAGS=-static ./configure --target=mipsel-linux

allerdings baut er dann die files mit "gcc" (was denke ich "mipsel-linux-gcc" sein sollte oder?) - mal abgesehen dass das make natürlich mit nem error abbricht, aber bevor ich gucke was da kaputt ist, wüsste ich gerne ob das so korrekt ist mit dem configure


außerdem habe ich das gefunden:
Code:
http://www.mail-archive.com/[email protected]/msg00887.html

und einfach mal das probiert (die sachen aus der anleitung kopiert):
Code:
ac_cv_sizeof_int=4 vim_cv_getcwd_broken=no vim_cv_memmove_handles_overlap=yes vim_cv_stat_ignores_slash=yes vim_cv_tgetent=zero vim_cv_terminfo=yes vim_cv_toupper_broken=no vim_cv_tty_group=world ./configure --host=mipsel-linux --target=mipsel-linux --with-tlib=ncurses
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
configure: loading cache auto/config.cache
checking whether make sets $(MAKE)... yes
checking for mipsel-linux-gcc... mipsel-linux-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... yes
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether mipsel-linux-gcc accepts -g... yes
checking for mipsel-linux-gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... mipsel-linux-gcc -E
checking for egrep... grep -E
checking for library containing strerror... none required
checking for gawk... gawk
checking for strip... strip
configure: error: cannot compile a simple program, check CC and CFLAGS
  (cross compiling doesn't work)

also scheint irgendwas mit dem crosscompiler (ich vermute mal das ist der "mipsel-linux-gcc") nicht zu stimmen?
 
Der Crosscompiler ist total in Ordnung, deine Aufrufe sind wohl eher verkehrt.

Ich kann dich allerdings beruhigen, ein Paket für vim ist vorerst fertig und in Revision 2006 eingechecked (Wer auch immer 235KB komprimiert in sein image schmeissen möchte)

LG
 
Man kann sich einzelne Pakete ja auch einfach so bauen (bspws. make vim-precompiled) und das Binary dann genau wie vorgeschlagen manuell auf die Box kopieren.

Zum Erstellen von zusätzlicher Software mit der Toolchain allgemein: Es hilft ungemein, wenn man sich das Makefile eines bestehenden Pakets kopiert und anpasst. Der ganze Cross-Compile-Mechanismus ist da ja korrekt drin.
 
Der Crosscompiler ist total in Ordnung, deine Aufrufe sind wohl eher verkehrt.

habe versucht mich an das wiki zu halten und an den gefundenen beitrag, aber so einfach ist es wohl nicht :)

Ich kann dich allerdings beruhigen, ein Paket für vim ist vorerst fertig und in Revision 2006 eingechecked (Wer auch immer 235KB komprimiert in sein image schmeissen möchte)

LG

na das ist ja alles was ich wollte *g* und so wie es aussieht, musste man wohl die configure patchen um crosscompile zu ermöglichen (da wird, sofern ich das richtig sehe, u.A. einfach der fehler, den ich oben erhalte, entfernt).

vielleicht mache ich mich erstmal an leichtere programme und crosscompile die für die fb ("hello world" auf der fb wäre doch auch was ;)), man muss ja nicht gleich mit so was "großem" anfangen.
 
Nur zu. http://ftp.gnu.org/gnu/hello/hello-2.3.tar.bz2
Da ist der Quelltext komplett mit configure und allem drum und dran.



sd@seduxbox:/usr/local/hello-2.3/bin$ ./hello --version
hello (GNU hello) 2.3

Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
sd@seduxbox:/usr/local/hello-2.3/bin$ ./hello --help
Usage: ./hello [OPTION]...
Print a friendly, customizable greeting.

-h, --help display this help and exit
-v, --version display version information and exit

-t, --traditional use traditional greeting format
-n, --next-generation use next-generation greeting format
-g, --greeting=TEXT use TEXT as the greeting message

Report bugs to <[email protected]>.
sd@seduxbox:/usr/local/hello-2.3/bin$ ./hello --next-generation
+---------------+
| Hello, world! |
+---------------+
sd@seduxbox:/usr/local/hello-2.3/bin$ ./hello --greeting="Hallo, Ralf."
Hallo, Ralf.
 
Was auch immer dieser "Crosscompile for beginners"-Kurs mit dme ursprünglichen Thema zu tun hat. Dieses nämlich könnte man aufgrund der existierenden vim-implementation getrost als erledigt markieren, wenn es keine weiteren feature-requests dafür mehr gibt.
 
Hi,

Ich kram den alten Thread hier mal raus. Ich hab VIM auf der Box drauf, allerdings habe ich noch das Problem, dass vi auf die Busybox gelinkt wird. Ja, ich weiß, mit vim hab ich den vim, aber wenn man schon die KB fürs vim raushaut, dann wär das ne schöne Sache.

Meine Frage ist jetzt:
Gibts dann nicht ne Möglichkeit den Link direkt auf vim zu legen?

Gruß

Peter
 
Könntest du direkt selber tun, indem du entsprechenden Link in deiner fwmod_custom änders. Dies wird dann ausgeführt, bevor das Image gepackt wird.
 
Leider nicht. Habe den Link zwar angepasst, aber trotzdem wird beim Aufruf von vi der vi gestartet.

/bin # ls -la vi
lrwxrwxrwx 1 root root 14 Oct 12 2008 vi -> ../usr/bin/vim
/bin # ./vi
Startet vim

/bin # vi
Startet vi

/bin # find / -name "vi"
/bin/vi
/bin #

Jemand noch eine Idee
 
Im "busybox menuconfig" gibt es eine Option die "prefer applets" oder so heißt...

MfG Oliver
 
Hi Oliver,

Ich hab im Menuconfig (7270) in den Busybox-Einstellungen nix gefunden, das in die Richtung geht leider.

Ich probier jetzt noch einen link vi auf vim in /usr/bin anzulegen, ansonsten muss ich leider den hier machen: :noidea:

Gruß

Peter

Edit:
Der Link in /usr/bin hat (wie befürchtet) auch nix gebracht.
 
Zuletzt bearbeitet:
Du müsstest das in der Busybox-Config manuell ändern:
Code:
make busybox-menuconfig; make busybox-precompiled; make
 

Statistik des Forums

Themen
244,696
Beiträge
2,216,704
Mitglieder
371,316
Neuestes Mitglied
realbluethunder
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.