Henry Kroll III mentioned on the tcc mailing list a little tool he wrote that would save some time in writing C code by skipping some apparently redundant “grammar markers”. He proposes practically to write C code with a syntax a bit closer to python, and his tool would decorate it, resulting in a C code. I really liked the idea to write less, and let the computer do some completion, but I do not see how something like that could be integrated into a development process. The only way I can find use for his idea is to write some vim script (or similar macros for other editors), that would do on the fly the completion based on the proposed syntax.
I replaced everywhere the type of sizes with long long. This allows now opening of files larger than 2GB. It is really fast to open even a 4 GB file. With some hacks I made it possible to jump instantly to the end of a 4GB file. I will probably not give up, and will do some optimizations. There are some challenges:
1. line breaks are counted to often. This is not always needed. However do not know how much it costs to go through the 4GB and count the breaks.
2. When moving backwards, it seems that the full buffer is parsed from begin to the current position. This could be done backwards.
Loading a 4 GB file with qemacs takes less than 1 second. However jumping to the end of the file takes 1 minute. I thought at the begging that there would be some lazy loading behind the scenes, but not. The data is in memory, however going through the buffer is very very slow. I made some local optimizations, but there would be much much to much work to make such operations faster than with vim.
Viq was intentended to be a project to add vim like interface to qemacs…
My obsession for speed will probably make me abandon my favorite tool vim. Instead I will go back to emacs. Hm.. I mean not really to emacs, but qemacs. I mean not really qemacs, but qvi. That is qemacs with vim like bindings. But qvi does not sound very friendly, so what about viq, spelled WIK, like wiki.
Vim 7.2 for windows mobile is available at:
This version still needs a lot of cleanup, just uploaded for “demo” reason.
Among other problems the environment variables are hardcoded:
HOME = /SDMMC/MySystem/home
VIM = /SDMMC/MySystem/Programms/Vim
VIMRUNTIME = /SDMMC/MySystem/Programms/Vim
PATH= /SDMMC/MySystem/Programms/Vim
However it is stated on the homepage of wikipediafs that the project is not maintained, it works! The only one change one has to make is:
user.py:56: self.login_page = “%s?title=Special:Userlogin” % self.basename
into
user.py:56: self.login_page = “%s?title=Special:UserLogin” % self.basename
(note the change from Userlogin to UserLogin)…
and now it is straightforward and easy to edit the wiki with vim… I will write probably a plugin to jump to links automatically. I wish one day there will be fuse fore wince
and I will be able to edit wikis with vim on mobile
Please note that wikipediafs is a userspace filesystem and is mounted with help of http://fuse.sourceforge.net.
Vim 7.2 is running full screen on windows mobile. Screeshots and exe comming soon, stay tuned. Plannning soon to put some structured info on http://mobiphil.com/vimowiki
I just discovered that there is an ongoing porting activity of vim to qt. That should run on qtmoko… diid not try yet… It is on my agenda…
I created a wiki where I will try to collect information about issues/success stories/problems building vim for windows mobile:
your help is welcome!
I am sure there are people who thought about writing a new vim in c++ (vim++ sounds good?, isn’t it?), where features could be added much easier through some plugin mechanism. I love the philosophy of vim, but its evolution is limited as it is now…
Imagine the buffers for example would be some polymorphic stuff, or some template magic where one would provide some interfaces, and beside some default imlementations one could implement that interface to read a file from disk, iterate through a huge resultset of a database… etc. Imagine you could plugin a search engine, that would be complementary to the existing one. Indeed lot of stuff can be done through scripting, but the scripts have their limitations…
So imagine a nicelly designed editor, that would be far from an overdesigned eclipse, would still keep simplicity as it’s feature no 1.