Reputation:
I am a MS Gvim user and I have some questions about MS Gvim.I hope that I can get answers from here. Thanks all of you in advance.
1.How is the Gvim on windows version developed?Using Visual Studio or Qt?how can I get the source code?
2.When I have installed the Gvim ,I will have a directory in C:\Program Files(x86)\Vim.
In Vim directory, there are two directories and a file: (1)vim74 (2)vimfiles (3)_vimrc I just wonder what the two directories represent and how it is used when I start my Gvim.
3.Can vimscript be called a language? How is it compiled or interpreted?
Upvotes: 0
Views: 73
Reputation: 172550
The latest source code and runtime files can be downloaded via FTP or retrieved from Mercurial; see vim.org for details. Using Mercurial is easiest:
hg clone https://vim.googlecode.com/hg/ vim
Vim can be compiled with various versions of the Visual Studio C++ compilers, see the corresponding Makefile in src/Make_mvc.mak
. You don't need a full Visual Studio installation, the (free) compiler from the Windows SDK will do:
nmake -f Make_mvc.mak
Alternatively, you can use the MinGW compiler through src/Make_ming.mak
.
GVIM uses the native Win32 widgets; Qt isn't used (on Unix, Gnome is the prevalent UI toolkit).
The Vim binaries and supporting files reside in the (versioned, so you can have multiple versions installed in parallel) vim74
directory. vimfiles
and _vimrc
contain a default configuration. Note that it is recommended to do customizations to copies in your home directory instead. The whole process and which files are read (it's complex) is described under :help startup
.
Yes, Vimscript is the language used for extending Vim and writing plugins (though a variety of other languages like Perl, Python, and Ruby can be integrated with Vim and then be invoked via a single Vimscript command).
It started as the set of Ex commands (:delete
, :substitute
, etc.) it inherited from vi, but also has built-in functions (e.g. getbufvar()
, system()
) and the ability to define custom functions and (primitive) objects. Since version 7.0, Vimscript has (Python-inspired) data structures like List and Dictionary, and is a fully-fledged, powerful (but still in some aspects somewhat quirky) language.
Upvotes: 3