PortableApps.com needs your help: Please consider making a donation today.
300+ free and legal portable apps (over 9GB), up-to-date, & new apps regularly (Apr 3: GPU-Z).
Get the encrypted PortableApps.com Carbide, the fast PortableApps.com Companion, or carry your KeyZ.
PortableApps.com lead developer recovering from injury/surgery (Latest News Mar 19th)

[Outdated] gVim Portable 7.2 Pre-Release 3

Chris Morgan's picture
Chris Morgan
AdministratorDeveloperModerator
(Homepage) - September 15, 2008 - 2:38am

Application: gVim
Category: Development
Description: gVim is a feature rich and not-too-hard-to-use text editor, and a very feature rich one at that. With gVim you can code, highlight syntax, and do everything else you would expect of a text editor worth its weight in megabytes.

Download gVim Portable 7.2 Pre-Release 3 [4.5MB download / 16.6-17.4MB installed]
(MD5: f00245e5eb5008eddb1a15e5e443d5f1)

Release Notes:
Pre-Release 3 (2009-08-26): Updated runtime files, removed original EXE files from UPXing it (reduces size by 1.1MB). Pretty sure it's ready now.
Pre-Release 2 (2009-08-23): OLE-free build, simplified and improved launcher, multi-lingual section. All should be perfect now.
Pre-Release 1 (2009-08-20): New installer, splash, etc
Development Test 3 (2008-11-15):

  • Renamed from GVim to gVim (gVim is correct)
  • Fixed path correction in viminfo to support X:/ as well as X:\ (fixes file buffers)

Development Test 2 (2008-09-17): Fixed secondary launch bug with not setting environment variables
Development Test 1 (2008-09-15): Initial release


( categories: )

Development Test 2

is out, fixing a bug with secondary launches not setting the appropriate environment variables, meaning that it wasn't portable Sad

Has anyone tested this? Would anyone like to comment? I would like YOU to comment! Sticking out tongue

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

I am in process of testing.

I am in process of testing. Your work is not being ignored.

i will test this

me too

This release is working

This release is working great, but no one has done anything on it for more than half a year! Is this dying as the other portable gVim version did?

Definitely not!

It's still alive, it's just there's not much to do at the moment. The only thing I've done with it recently is a slight improvement on TEMP handling.

The main thing I'm waiting for is a new release of gVim; Bram hasn't released one for a while, but I don't know when he's intending to make a new release.

I have every intention of keeping on maintaining this. FYI, I use it for absolutely everything (from designing web sites - except for the graphics, for which I use Inkscape - to making portable apps), so it's in my best interests to keep maintaining it... for example, the latest TEMP improvement came about because I regularly use it on Dad's computer, and he normally has other copies of gVim open; the launcher previously had to wait for all instances of gvim.exe to close so it could clean up TEMP. So because of Dad's copies, it'd never finish and I had to terminate it and clean up manually. Then with other developments (Chris's PortableApps.com Launcher Test) I suddenly realised a better way of doing it: store the contained TEMP directory inside the Data directory! That way it doesn't need to wait for it and clean up. However, I've deemed that it's not worth another release.

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

Good to hear that!

Hi Chris,

It's good to hear that you're still working on the project.

I have comb thorough the net for compiling Vim, and with your work on the PortableApps launcher, I have successfully compile a version without OLE, Python and Ruby bindings that are suitable for portable use. If anyone wants to try it out, feel free to download it from here:
http://ifile.it/txi85od

This version is updated to patch level 197, i.e. version 7.2.197 and updated runtime files (as of 2009-06-12).

DISCLAIMER: No warranties of suitability! Use at your own risk!

Note that Bram does not release new versions of the binaries with patches in the official site. Either you compile it yourself or get it from some other site.

Vim Development mailing list:
http://groups.google.com/group/vim_dev/

I got this error

I got this error message:

Cannot load registered type library.
Do you want to register Vim now?

Although I do not know if it has anything to do with the portable wrapper used for this applications. In digging around, I think may be an issue of Vim itself.

http://wiki.cedar-solutions.com/VimRegistryProblems

More info

Could I please have some more information about your system, e.g. what OS do you have (including service packs), have you installed [G]Vi[m] before, etc. If I get this then I might be able to track it down.

One of the problems with my setup is that all of our home machines have GVim installed already, but I have tested it at school, where (unsurprisingly) none of the machines have GVim. I'll try and track down this issue though. Thanks for your report! Smiling

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

yeah I've seen this before on

yeah I've seen this before on an unofficial portable app... it's a minor nuisance. click ok and it works until you run it again on a new machine. it is a vim specific issue.

Some information

Hello. Sorry for the long response - I never saw the initial question. I've never have installed GVIM before on this workstation. Here is the information about my workstation:

OS Name                    Microsoft Windows XP Professional
Version                    5.1.2600 Service Pack 3 Build 2600
OS Manufacturer            Microsoft Corporation
System Manufacturer        IBM
System Model               23734WU
System Type                X86-based PC
Processor                  x86 Family 6 Model 13 Stepping 6 GenuineIntel ~1694 Mhz
BIOS Version/Date          IBM 1RETDPWW (3.21 ), 6/2/2006
SMBIOS Version             2.33
Windows Directory          C:\WINDOWS
System Directory           C:\WINDOWS\system32
Boot Device                \Device\HarddiskVolume1
Locale                     United States
Hardware Abstraction Layer Version = "5.1.2600.5512 (xpsp.080413-2111)"
Total Physical Memory      1,024.00 MB
Available Physical Memory  358.67 MB
Total Virtual Memory       2.00 GB
Available Virtual Memory   1.96 GB
Page File Space            2.40 GB
Page File                  C:\pagefile.sys

Windows 98

How fascinating... the "No USB drives" ban has been removed from the school library's Windows 98 machines, and a generic driver installed (yes, I did have something to do with it... Sticking out tongue) and so now I can test my apps on Windows 98. And what do I find? I get this very message box, whenever I start GVimPortable on Windows 98! Other than that (I press no and it works) it all works fine, except for netrw directory renaming - it renames them to things like "VIM1092.TMP" and leaves them that way!

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

I can't get python completion

I can't get python completion to work with this portable version (C-x C-o with omnicomplete). It will complain that it has not be compiled with python support.
However, when doing a :version I can see python support built in.
There no such issue with ruby, e.g.

I'd test, but have no clue

I'd test, but have no clue what to do with it. Got any quick start guides or something or other and guides on how to trim the size down? I'd basically be playing with it just for perl, and NotePad++ can handle it and others that I use as well.

******
*EDIT*
******
Fires up and runs well on WinXP, near as I can tell nothing left behind.

Too many lonely hearts in the real world
Too many bridges you can burn
Too many tables you can't turn
Don't wanna live my life in the real world

Vimfiles folder

Thank you for your work on GVim Portable!

I will make a suggestion of creating the vimfiles folder under app\vim on first install so that the customize settings / plugins can be store there and not mess with the original VIM runtime files, just like the standard VIM installer did?

This will make the upgrade of new versions easier. Just wipe the standard VIM runtime files!

Yes

I had pondered about vimfiles, which I had found in earlier versions, but I didn't properly install gVim 7.2, so I'll have to get on a computer without gVim already installed to work out exactly what to do here. And, at home that is impossible. And at school I'm not allowed to do it. And at my church it is impossible... and I can't think of any remaining place to install it Sad btw, the reason it is App\vim\vim72 and not App\GVim is because of this very fact.

Should I just create App\vim\vimfiles, and set that directory to be preserved during upgrades? I think that the way I set $VIM and $VIMRUNTIME is adequate, as VIM is set to App\vim and VIMRUNTIME to App\vim\vim72.

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

Yes...

Just like standard VIM, install it under vim. In the GVim portable's case, App\vim, i.e. App\vim\vimfiles.

Hope that you implement it. TIA.

Wouldn't you want the

Wouldn't you want the vimfiles stuff to be stored in .\data?

MC

Yes and no

Having thought about it, I think it would be best if it went in Data, but due to the way it works, the way I'll implement it is store it in Data\vimfiles, but on run, move it to App\vim\vimfiles, and then on quit, move it back. This is common in our apps, e.g. Sumatra has to have its config file moved to $PROGRAMDIRECTORY and back when it's done.

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

You can't just set an

You can't just set an environment variable or something to get GVIM to look under .\data?

Moving the data directory from data to apps and back again is a "last resort" solution when nothing else will get the program to put the data where it needs to go instead of where the program defaults. I suspect if Sumatra would do it that way, they wouldn't move the folder back and forth. In other words, it shouldn't be the first thing you think of.

MC

More research

has shown that vimfiles is searched for first in $HOME (Data\settings), so I can stick it in Data rather than having to move it. Yes, I was intending to do a bit more research before publishing it, and this was the result. And it works well; e.g. words "added" to the spelling dictionary get stuck in Data\settings\vimfiles\spell\en.latin1.add for me, now. So what I've done is added a vimfiles directory into App\DefaultData\settings, this way ordinary users will get it properly Smiling. I think I'll also put it into the installer so that upgradees will also get a Data\settings\vimfiles directory created for them.

Summary of set environment variables:
$HOME - Data\settings
$VIM - App\vim
$VIMRUNTIME - App\vim\vimXX (currently vim72)
$TEMP/$TMP - $TEMP\gVimPortableTemp (this is so that any TEMP files it creates can be wiped clean at the end - and I think that this is a very good idea, if I do say so myself, and should be implemented in most of our apps Eye-wink)

(btw, to find this sort of stuff out, I just had to go ":help vimfiles" - it then showed the order of looking. Vim has very good documentation.)

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

re: $TEMP

I agree that it is good to have $TEMP on the portable drive, in many circumstances, but it is also good to have it on a higher-performance fixed drive under other circumstances. So I'd prefer to have the option.

John was threatening to have PAM manage the TEMP/TMP variables, which would allow for the above decision to be made once and in the PAM for most programs (the ones that use the TEMP environment variable). That would be my preferred setup, so I'm not suggesting you change the way you are doing it in GVim just for me.

I think it would be good also to have PAM manage the HOME environment variable. Many programs (like Vim) which have their origins in the Linux/Unix world use HOME for storing things. Unfortunately support is inconsistent. My preferred behavior is for them to use HOME (if present) instead of APPDIR or the registry. But they apparently forgot to consult me. (sigh) An example is gpg4win, some parts of which use HOME (or GPGHOME), while others ignore GPGHOME and insist that the registry is the only place to look. At any rate, I think it would be nice to have all my settings and such in one HOME folder, which might also be my HOME when using Linux and the portable drive, so I have the same settings and preferences in each place for things like GVim/Vim. Maybe that's just me dreaming, and no one else minds going to each app's DATA directory to find settings.

MC

TEMP is still local, PAM, HOME...

$TMP/$TEMP are still on the local hard drive - in a subdirectory inside it. e.g. before it is C:\Documents and Settings\username\Local Settings\Temp, what I pass to gVim Portable is C:\Documents and Settings\username\Local Settings\Temp\gVimPortableTemp. This is then cleaned up afterwards.

PAM managing it: I think it's a good idea, but shouldn't be used as the only solution - I rarely use PAM myself, I usually use Command Prompt (Portable, of course Sticking out tongue) with doskey macros set up, e.g. "vi", "ff", "fz", etc. - very useful! And even if PAM made it so that it stuck a PortableApps.comTemp directory inside it, that would just mean that my launcher would create a subdirectory inside that.
I reckon that all apps that use TEMP and don't necessarily clean their stuff should use this technique in their launchers, just to be on the safe side, if nothing else.

HOME: I don't think so at all. Apps should be entirely self contained, they can set HOME if they need to. And setting it globally may just mess some things up.

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

Ah

Well, my comment about TEMP would then be that I'd like the option (which I'd use once in a while) to have my temp folder on the portable drive, so I can be sure not to leave anything behind. I'm just hard to please. Sticking out tongue

I've advocated having TEMP be in a subdirectory that way. Makes it easy to clean up. But unless you use a DOD file shredder (EDT Portable?) the data might still be recoverable via undelete or other methods.

My solution is to use a custom StartPortableApps.exe (that I cobbled together) which does set the environment variables the way I like (it does put TEMP in a subdirectory). It starts other things (like a command prompt, or PStart) with that environment too, and those things in turn inherit that environment for things they launch. So if I am careful to use those programs, I have at least some control over the base environment.

I'd assume that your program would put its temporary files in a subdirectory of whatever the TEMP variable is set to when it starts, so that's exactly what I'd want.

As to HOME -- the home directory under Unix/Linux has been in use for quite a while, with a lot of smart people refining it as a standard. But again, if you required me to use a single HOME directory, I'd say I want the option of picking a separate home for each app. Just me being contrarian or libertarian about my options.

Since my StartPortableApps.exe makes sure HOME and other variables are set the way I like them (or indeed cleared) I might suggest that your program have a very rational default value that it uses, if HOME is not set; but if it is set, then don't change it. But since I'm the only one who would benefit from that model, no sense even talking about it until John decides on a standard. If a normal user plugs into a computer that happens to have the HOME environment set by the regular user, it would probably not be a good idea to have your program honor it. So your choice of setting it up under .\Data is perfect for now (IMHO).

MC

Cream does that...

Cream edition does put the vimfiles under %APPDATA% in Windows, if I remember correctly.

Maybe you can look at that? or does GVim look at there first before going some place else?

Hmm... hadn't heard of Cream...

(Cream)

I'll have a look at it, maybe do it as well. I'll see how I go and report back. As for the vimfiles stuff though, I've sorted that out, look up at my comment above.

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

Tutor mode

Is there a way to open GVIM portable in tutor mode?

Thanks,

Don

Yes

Have a look at the help for tutor - ":help tutor". Instead of the command "vim" though, use "GVimPortable.exe"; do this all from the command line.

Come to think of it, I think that I'll add that in as an INI option for Development Test 3... sounds like a potentially useful mode. And easy mode and whatnot. Maybe even the read only mode... I'll have to see how it does that, whether it makes it run from a read only source, or whether that makes it open files in read only mode... I'll see. Can't remember atm.

Thanks for your question... it helps improve the gVim Portable experience Eye-wink

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

Python 2.5 Support

Any chance of compiling with Python 2.5 support?

Don't know

I don't know how it's built; I'm just using the standard gVim distribution.

I think, however, that it is already, it's just you'll need to copy python24.dll (not 2.5, must be 2.4) somewhere... read ":help python".

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

GVim building....

DT3

is out now. I'm lazy, read the release notes. Laughing out loud Eye-wink

TODO: make the launcher only stay alive if there is a portable copy of gVim open... not sure whether this is possible without renaming gvim.exe or making it only work with no local copies running. Sad Any suggestions anyone?

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

So far so good...

Tested it with my own vimfiles copied to ..\Data\Settings\ and it sees them as it should, as well as my own copy of _vimrc.

Request: Is it possible for the launcher to include the -n parameter to not create .swp files? This is so that it would not wear out the flash drives. Maybe an option in .ini file?

Not sure

I'm in Negombo, Sri Lanka, and I don't happen to have my USB disk with me, so I can't answer you definitively.

Look in gVimPortable\Other\Source\gVimPortable.ini. I believe that there should be a line with AdditionalParameters. To make this work then, copy that file to gVimPortable\gVimPortable.ini, and make that line read AdditionalParameters=-n. Then it should work.

Also, I believe that there is another solution, in the vimrc/.vimrc/_vimrc/gvimrc/etc file. Yes, I finally found it online Smiling
Into your rc file, insert a line reading set updatecount=0. Then it should hopefully work Smiling

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

Where to put my syntax files

I'm using a set of locally developed vim syntax files; they work fine on my Mac but I've no idea where to copy them to on my USB Flash drive for use in gVim Portable. Don't want them to disappear when an update arises so putting them with the other syntax files in the Vim72 directory.

(On Mac and Linux machines I simply put them in ~/.vim and everything is fine.)

Use vimfiles...

Copy your _vimrc to ..\data\settings while the syntax files to ..\data\settings\vimfiles\syntax.

Refrence:
:h vimfiles

Below shown my directory structure:

+---Data
| \---settings
| \---vimfiles
| +---colors
| +---compiler
| +---doc
| +---ftdetect
| +---ftplugin
| | +---c
| | +---latex-suite
| | | +---dictionaries
| | | +---macros
| | | +---packages
| | | \---templates
| | +---sh
| | \---tex
| +---indent
| +---keymap
| +---plugin
| +---spell
| \---syntax

HTH.

error:need registered type library

when running gVimPortable.exe, I got this error message:
-----------------------------------------
Cannot load registered type library.
Do you want to register Vim now?
-----------------------------------------

If I selected "Y", this error never appeared again; If I selected "N", this error appeared again and again. There was not this error, if I used GVim_Portable_7.1.0.zip(http://portablegvim.sourceforge.net/downloads.html).

System information:
Windows XP professional SP3

Re: error:need registered type library

The official version includes the OLE feature, while the gVIM Portable 7.1.0 does not have the OLE feature enabled.

Same Project?

I was wondering if this is the same project?

http://portablegvim.sourceforge.net/

I just put it on my USB stick and updated PAM. It's working!

No

That one is an older thing which didn't work properly and had been left alone for ages. Last I heard they were talking about branching the code - all because the developer didn't know that you could set the HOME environment variable. Whoops. My one handles all that properly, is kept up to date, is up to date with the PortableApps.com Format, and works without leaving anything behind. Oh, and it's smaller 'cos I compressed it properly.

Note to self: remember to build the version of it moving keymaps and langs to a multi-lingual component... that aughta make the English only version even smaller still Smiling

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

gVim ready yet

Just curious if there is any more work being done on this?

I really like gVim and PortableApps and am hoping that this is production ready soon.

Thanks for all your work.

____________________
Art Cowles

"Life is messy!"

Looking forward...

So I hope it'll be ready soon I need that damn Vim Smiling)

Leaves registry key behind:

HKLM\SOFTWARE\Classes\Vim.Application

Just launched and closed the app. Well, and removed it, cause I don't like it Sticking out tongue

Register?

Did you register Vim if it asked you about it? If so, this is the expected behaviour. If not, something's badly wrong with Vim Smiling

The problem is that gVim's got OLE stuff enabled, I need to get round to looking at t he build offered earlier in this thread which was updated to the latest patch release and OLE-free.

If you don't like gVim, it's because you haven't tried it long enough Smiling It is an easy app to not understand, but I've found that if you put in the time to learn how to use it it's great.

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

No,

why should I register a portable app if it ask me about it? That would be NOT portable!
Yeah, it seems that something's badly wrong with Vim, that's why I don't like it Eye-wink

Please try this version...

http://portableapps.com/node/15654#comment-120708

It does not leaves behind the key as mentioned since it was compiled without the OLE feature enabled.

I will probably soon update the gVim installer to a version with more patches updated to 209, i.e. 7.2.209.

Updated Portable gVim version

I've updated the Portable gVim version to 7.2.209.

You can get it here:
http://ifile.it/xvnh965/gvim_portable_7.2.209.paf.exe

gVim Portable 7.2.218

New version of gVim Portable is up!

Changes:
- Using PortableApps.com Installer 0.91.5 for the build
- Updated gVim to 7.2.218 and runtime files (as of 2009-06-27)
- Add diff.exe (was left out in previous builds)

Get it here:
http://ifile.it/5lsft9j/gvimportable_7.2.218_english.paf.exe

Thanks Chris Morgan for his work on gVim Portable that makes this possible!

p/s Need help for the appicon.ico file to have multiple icon files embedded with high resolution icons for gVim! (How to do it??)

Need an icon first

As is common, I started typing, and went all over the place Smiling Don't get too bogged down though!

Before a higher quality icon can be produced, we need a higher quality logo image. I haven't really found a nice one. I had to work quite a while even to find the 48x48 one. However, according to the PAF specs, we only need 48x48, and I reckon it's good enough. All that I should do is make it comply properly - turn the 6-colour images into 256-colour and alpha images (even though it's wasteful, it's specs Sticking out tongue). I use IcoFX for icon work.

You seem to be doing a good job on this, would you like to take over development of the PortableApps.com edition, and maintain builds for it? If so, feel free to come into the PortableApps.com IRC channel (when I'm there, which I am most of the daytime at the moment, AEST), and we can discuss it, and I can give you my latest work on the launcher (mainly just better TEMP management for running in parallel with a local installation as I've had to regularly at home) and install details (optional section, it's multilingual). If not, I'd appreciate it if you could tell me if there's anything special about what you've done to make your build, so that I can continue doing it as necessary.

Oh yeah, another thing you should do with builds is compression with the AppCompactor - In this latest instance, it saves 1114KB, which while not terribly much (5%) is worthwhile saving.

Thanks!

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

Re: Need an icon first

1. In the official build, the Vim logo is supplied with an EPS file, which is an vector based logo. So someone who is proficient can take the EPS file and make a higher resolution of icon out of it. This is so that gVim can have a good looking icon on Vista/Win7 systems.

2. As for taking over the development, I don't think I can do it. For one, I am not well verse in NSIS and other PC stuffs. I am more of a hardware designer with embedded system programming skills. I will do a write-up of the steps to get the latest sources and runtimes, and compile them into one package. Note that I am using Cygwin for the builds.

3. As I said, I am not good at this bit but am able to scrounge enough info to get gVim build. The motivation of it is that the previous editor that I used, Borland CodeWright, is dead. So I need something that would not die on me in the long term and happy to find one in gVim...

Keep up the good work.

I thought of the EPS file.

I thought of the EPS file. The problem with it is it uses hairline lines, and just the whole way it is is only really suitable for a few hundred pixels square, up. And 256x256 won't get shown normally, only in Vista if they navigate to it. Normal users will use the platform, and so only get 16x16.

Thanks, I'm glad you don't want to take over, but I wanted to offer it Smiling
Cygwin? I'll see how it goes with MinGW as well, got a feeling the official one uses MinGW? Whatever it is, there is the :version command so I can see what arguments etc. it was compiled with.

Thanks for helping with gVim Portable Smiling

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

256px

Did a bit of looking then edited this for you, hope it is what you are after. There are 2 files, one compressed the other not.

Dell XPS M1530 Laptop
Intel Core 2 Duo T9300 2.5GHz
4GB Ram
256MB GeForce 8600M GT

Not really

I just don't really reckon it's worthwhile. The 48, 32 and 16 icons are already there (and better than any generated from the EPS file), and the 256 one just isn't really all that nice, and so as it's not necessary, I don't think I'll put it in. Thanks for trying though.

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

Thanks for the icons!

I will test it on my build here and report the result later.

Yes, 256x256 for Vista

That is my point of trying to include the higher resolution icons for Vista and Win7. It looks good on these systems.

Basically it is MinGW but am using Cygwin environment to invoke the MinGW for the executable files without dependencies of Cygwin DLL.

My pleasure to help as you have help me/us by creating gVim Portable in the first place! Laughing out loud

gVim Portable build script

To build the gVim Portable from source, you'll need to install Cygwin with git, gcc, gcc++, touch, make, vim and zip.

My directory structure is like this:

--/cygdrive/d
|-- devel
| | gvimbuild.sh <-- build script here (under devel)
| |-- vim_mainline <-- source tree from git repo

I have avoided the patch route by utilising the git sources from http://repo.or.cz/w/vim_mainline.git.

Attached the build script -- gvimbuild.sh -- with comments:

#!/bin/sh
# Modified from portablegvim.sf.net/build.html
#
# Before we do a build, update the vim_mainline git repo first with:
# $ cd /cygdrive/d/devel/vim_mainline
# $ git pull
#
# If you don't have the source tree yet, *DON'T* run this script!
# Clone the git source tree first using:
# $ cd /cygdrive/d/devel
# $ git clone git://repo.or.cz/vim_mainline.git
#
# Run the script:
# $ cd /cygdrive/d/devel
# $ bash gvimbuild.sh

MAJOR=7
MINOR=2

REPO="$PWD/vim_mainline"
DST="$PWD/vim"
USERN="kfleong"
USERD="personal"

# Clean up
rm -rf $DST
mkdir $DST
mkdir $DST/vim$MAJOR$MINOR

# Copy source tree from git repo to DST
# This is to make sure that we do not change anything in the repo
cp -r $REPO/src/ $DST/vim$MAJOR$MINOR/src
cp -r $REPO/runtime $DST/vim$MAJOR$MINOR/runtime
cp $REPO/*.* $DST/vim$MAJOR$MINOR
cp $REPO/Filelist $DST/vim$MAJOR$MINOR
cp $REPO/Makefile $DST/vim$MAJOR$MINOR

# Build source for Win32 GUI
# GUI = yes, OLE = no
cd $DST/vim$MAJOR$MINOR/src/
USERNAME=$USERN USERDOMAIN=$USERD make -B -f Make_cyg.mak GUI=yes OLE=no

# Build gVim package
cd $DST/vim$MAJOR$MINOR
cp src/gvim.exe .
cp src/xxd/xxd.exe ./xxdw32.exe
cp src/vimrun.exe .
cp src/install.exe ./installw32.exe
cp src/uninstal.exe ./uninstalw32.exe
cp src/GvimExt/gvimext.dll .
touch gvim.pdb
make dosbin

# Build runtime
make dosrt

# After this, you should have two zip files, gvim72.zip and vim72rt.zip
# in vim/vim$MAJOR$MINOR/dist.
# Unzip the contents to the gVim Portable app dir and build gVim Portable.
#
# NOTE: Remember to add diff.exe from original distribution to
# vim/vim$MAJOR$MINOR of gVim Portable app dir.

Hope this answers the question of how to build gVim Portable from source.

gVim Portable 7.2.222

I've updated gVim Portable build using the build script presented. Previously was doing it manually. Let me know of any problem with the build.

Get it here:
http://ifile.it/lnoadr3/gvimportable_7.2.222_english.paf.exe

gVim Portable 7.2.228

I have updated gVim Portable to 7.2.228, including the 256x256 icon provided by Geoff Shearsmith (tanisthalon). It looks fabulous on Win7 taskbar. Laughing out loud Thanks!

Get it here:
http://ifile.it/qumbw9t/gvimportable_7.2.228_english.paf.exe

Wow, this is one of the

Wow, this is one of the better portable apps available.
Thanks!

gVim Portable 7.2.239

I have updated my build of gVim Portable to 7.2.239 (2009-07-23).

Get it here:
http://ifile.it/zkxdgm0/gvimportable_7.2.239_english.paf.exe

Any idea when this is going

Any idea when this is going to be out of beta and listed with the main apps?

This was the one final 'key' that I needed - a editor that could be used on my PC (Vista), my home server (Ubuntu Linux), my laptop (MacOS X), and on my thumb drive when I'm at work or elsewhere (usually PC/Windows).

Thanks,

Monte

Some time...

I think that it's ready to go. When I next catch John I'll try and remember to ask about this going up to Pre-Release.

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

Pre-Release 1

Chris, I was gonna post this as official today since you said on IM you thought it was ready but decided to test a quick regshot. It puts registry keys in HKLM and leaves them behind, so this is not ready yet. I posted the work I did to package and update as PR1. Please handle the reg keys and then it can go official.

Reg keys:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0F0BFAE1-4C90-11D1-82D7-0004AC368519}\LocalServer32
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{0F0BFAE0-4C90-11D1-82D7-0004AC368519}\1.1\0\win32
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{0F0BFAE0-4C90-11D1-82D7-0004AC368519}\1.1\HELPDIR

This may have to do with the "do you want to register" question in the beginning. We can't assume the user will say no.

Sometimes, the impossible can become possible, if you're awesome!

ReadINIStrWithDefault.nsh not using the latest version...

Hi John,

Upon examining the package source, found out that ReadINIStrWithDefault.nsh is not using the Ver. 1.1 that you've fixed where the $0 and $2 being swapped.

As for the registry key issues, this can't be solve by using the official build verbatim. It needs to be compile without the OLE feature turn on. Can you accept this for the official release? [Details of the compilation in the thread]

Coming

I need to do a build with OLE disabled, that way it doesn't happen. It's really interesting, originally when I created gVim Portable it didn't do it - it was only after I'd used it on a Windows 98 machine that it did it on XP or anything else.

I'll also check through any modifications; I'd done a bit of launcher work since then (mainly simplification). And also the multi-lingual section.

Sorry, what I had meant when I was saying it was ready was with some fixes I'd done, but especially the OLE-free build.

Incidentally, I no longer use ReadINIStrWithDefault at all, having found better ways to do it.

I'll post Pre-Release 2 as soon as I can build a new version of gVim from source... and I want to do it the same way Bram did it... which means installing Microsoft Visual Studio... hmm, think it'll take a while.

Thanks Smiling

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

gVim building

Hi Chris,

You can check out Steve Hall's build script and stuffs:
http://cream.cvs.sourceforge.net/viewvc/cream/misc/

He is the maintainer of the Cream version of gVim, but he also build vanilla flavor of gVim/Vim from time to time when new updates are available for distribution since Bram does not build newer versions of Vim for distribution after the initial build.

FYI he is using Cygwin environment for his builds, currently at 7.2.245.
http://sourceforge.net/projects/cream/files/Vim/7.2.245/gvim-7-2-245.exe...

Please note that his runtime files are not updated as in the git repo, somehow the FTP server's date/time stamp are not updated properly, thus files are not updated using his build script.

Source thread:
http://groups.google.com/group/vim_use/browse_thread/thread/e01165753d01...

MSVS

I thought about using MinGW or Cygwin, but decided that I really wanted to have it the same as the stock Vim build; and that means Microsoft Visual Studio. Also it'll produce smaller and "better" (as I understand it) files than Cygwin will.

We've got Visual Studio installed on other machines at home, just not here on this one of mine yet.

It seems interesting to me that the ordinary Windows build should use Microsoft's build tools, but Cream - the "Windows friendly" version - should use Cygwin...

I've now got a fully patched version of gVim, 7.2.245. Now I'll see if I can get it to compile.

Edit: I've got it partially compiling now (i.e. nmake gets part way there and then chokes on some Perl stuff ); got to sort out Perl, Python, Ruby and Tcl support and get the stock :version's reported compilation string to match what I get except for OLE.

Edit: I've decided to not put in Perl, Python, Ruby, Tcl and XPM support, to keep the size down a bit. Petitions may be accepted later for them.
I've got it all compiled now, I expect to upload gVim 7.2.245 Pre-Release 2 in an hour or two (got to sort out which files to copy: it builds to src, got to just copy what its NSIS installer does.)

Best of all, I've tested it, and the request to register stuff isn't happening Laughing out loud

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

Launcher?

Perhaps we should just handle the keys in the launcher as we do with other apps rather than doing a custom compile. I like to avoid the custom stuff if at all possible.

Sometimes, the impossible can become possible, if you're awesome!

Not viable

It's not really viable here as DLL handle handling can get unmanageably messy.

What's more, this way we get in :version "Compiled by Chris Morgan@PortableApps.com" instead of "Compiled by Bram@KIBAALE" Eye-wink

I really do think that it merits a custom build.

I must subscribe to vim_use and comment on this...

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

I can't believe you wouldn't

I can't believe you wouldn't include Python support Sticking out tongue I'd like perl, but since I'm not in anyway going to use to Vim and likely won't use it my votes aren't worth much.

But python support at least should really be included.

Too many lonely hearts in the real world
Too many bridges you can burn
Too many tables you can't turn
Don't wanna live my life in the real world

Can do

The thing to mention here is how core support for Perl, Python, Ruby, and Tcl works. Compiling it with them doesn't actually help the end user at all, inasmuch as it just enables support for the library, it doesn't actually get it for the user. For example, with Vim 7.2 (built by Bram Moolenar), :python echo("It works!") produces:

E370: Could not load library python24.dll
E263: Sorry, this command is disabled, the Python library could not be loaded.

Whereas without support built in,

E319: Sorry, the command is not available in this version

I don't know exactly why it needs it at compile time for it to work at all for the end user (this is with specifying DYNAMIC_(PERL|PYTHON|RUBY|TCL), I expect thus that you can statically link it), but that's the way it is.

At the moment I'm thinking it's probably easiest to release it as it is (plus this runtime update) and then for the next version either me install Perl 5.8, Python 2.4, Tcl 8.3 and Ruby 1.8 and compile it with them and then offer addon installer/s for them (possible online installers, I'll see), or ask Bram if he can make a build for us without OLE.

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

Should use perl 5.10 (Its the

Should use perl 5.10 (Its the latest and some things won't function in 5.8, I ran into that with some stuff I wrote.)

You may need to make support to the path (or however the heck it is that python handles it) for Vim to know how to use it.

Does lacking compiling it in affect anything (other then being able to push a button and Vim fires the script up)? If it doesn't do anything other then screw with the push and button and it runs, then I think you're fine, since the support side hasn't even been considered yet.

The Release Team should figure out how the community should handle Perl, Python, Etc. support will be added. Or, at the least codify what support has been already created. I know that there's at least 2 versions of Strawberry perl in the forums, as well as activeperl which isn't in the forums (license issues). There's also two versions of python in our forums, plus the one from the other individual (I don't remember his name) as well as activepython. Activestate has a branding of perl, python, tcl, and ruby.

Too many lonely hearts in the real world
Too many bridges you can burn
Too many tables you can't turn
Don't wanna live my life in the real world

Pre-Release 2

Pre-Release 2 has been released. See the top once more for information, the spam filter has been fixed.

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

Some issues

Chris,

Some issues found in this release:

  1. Left over files of before compaction .exe files, i.e. .ex~ files in vim72
  2. Runtime files not updated, i.e. *.vim files

Otherwise it is good to Go!

Hmm... I'll fix up that

  1. Hmm... I'll fix up that compacting issue now. I'd simplified my batch file to do it all and forgot to check that it had all worked perfectly.
  2. What do you mean? I downloaded the source code, extras, and languages, and ran the patches from 1 up to 245, and copied things as the installer would (except the installer wouldn't be able to work with a non-OLE version because of a few filename issues). Did I miss something? (I don't see how I could have)

Actually, I think I'll wait till you respond on point two before I put up PR3.

Thanks Smiling

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

Runtime files

Hi Chris,

Somehow the runtime files are a bit problematic to synchronize, that's why I get the files from the git repository.

For example, the filetype.vim that is in your package is dated 2008 Aug 03, the one in git repo is 2009 Jul 09. There are a lot of files which has been changed and added that is not in the official SVN/CVS repo but it is in the git repo.

You can get the updated repo using this link:
http://repo.or.cz/w/vim_mainline.git?a=snapshot;h=c74995ec759098ddcef7ae...

From this page:
http://repo.or.cz/w/vim_mainline.git?a=shortlog;h=refs/heads/vim-runtime

Note: The patches applies only to the source code of Vim. There are no patches for runtime files, and they are not in the official SVN/CVS repo either! You'll need to get it from FTP site or from git repo that I mentioned.

HTH,
KF

EDIT:
FTP site address (maintained by Bram himself):
ftp://ftp.nluug.nl/pub/vim/runtime/

Hmm.

Well the patches applied to something in the extras or langs package (when I just had the source code, it missed quite a few files... maybe they were things in extras but not of the runtime thing.).

I think I'll grab it all from that FTP location you mentioned. I should have done it from there in the first place, really. At the moment though I'm just helping with builds for Inkscape (trying compiling with a new version of the GTK to see if that helps an issue with tablets which GIMP handles fine and just to update it because it should be).

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

Use git repo then... it is easier!

Hi Chris,

Well this is the problem I've faced with. Sometimes a patch file patch something I don't have in the SVN source tree, and aborts. Right now I just use the git repo and update whenever there are updates available. Simple and VERY fast. Laughing out loud

You can download the latest runtime files as a ZIP bundle from here:
http://repo.or.cz/w/vim_mainline.git?a=snapshot;h=c74995ec759098ddcef7ae...

HTH,
KF

I didn't read your comment

I didn't read your comment thoroughly enough to notice the snapshots :/

That Git repo is more up to date than the FTP one as well.

New version released, fixing that and the UPX issue.

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

gVim Portable 7.2 Pre-Release 3

Just released gVim Portable 7.2 Pre-Release 3; this has updated runtime files, and has the original EXE files as backed up by UPX removed.

Especial thanks to kfleong for his continual support, and for suggesting both those fixes Smiling

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

It is good to GO!

It is good to GO!

Laughing out loud

KF