I don't want to start any wars here but vi is my favourite text editor. I'm using ttconsole and just can't stand using pico so I came up with my own solution. There is probably a more efficient way but this is what worked for me:
1: Download and install the toolchain from TomTom's GPL page according to their instructions.
2: Download and extract the busybox source code from TomTom's GPL page.
3: After cd'ing into the busybox-1.00 dir, run make menuconfig.
4: Under Build Options choose Build BusyBox as a static binary (no shared libs)
5: Use /usr/local/cross/gcc-3.3.4_glibc-2.3.2/bin/arm-linux- as the cross compiler prefix.
6: Go into every other menu and deselect everything except for the vi options under Editors.
7: Go into the Another Bourne-like Shell menu and change the default shell to "none".
8: Exit and save config.
9: make dep
10: make
11: make PREFIX=/path/to/temp/dir install-hardlinks
12: Inside /path/to/temp/dir/bin there will be two files: busybox and vi.
13: Copy only vi to the bin dir on your sdcard.
14: Enjoy using vi.
1: Download and install the toolchain from TomTom's GPL page according to their instructions.
2: Download and extract the busybox source code from TomTom's GPL page.
3: After cd'ing into the busybox-1.00 dir, run make menuconfig.
4: Under Build Options choose Build BusyBox as a static binary (no shared libs)
5: Use /usr/local/cross/gcc-3.3.4_glibc-2.3.2/bin/arm-linux- as the cross compiler prefix.
6: Go into every other menu and deselect everything except for the vi options under Editors.
7: Go into the Another Bourne-like Shell menu and change the default shell to "none".
8: Exit and save config.
9: make dep
10: make
11: make PREFIX=/path/to/temp/dir install-hardlinks
12: Inside /path/to/temp/dir/bin there will be two files: busybox and vi.
13: Copy only vi to the bin dir on your sdcard.
14: Enjoy using vi.