some vim setup changes and path updates to make installs a little easier

pull/1/head
Adam Veldhousen 10 years ago
parent 2d74557da6
commit e8b02806af

@ -19,6 +19,9 @@ if [ -d "${HOME}/bin" ] ; then
PATH=${HOME}/bin:${PATH}
fi
if [ -d "${HOME}/tools/vim" ] ; then
PATH=${HOME}/tools/vim:${PATH}
fi
#
# Dircolors

BIN
.vimrc

Binary file not shown.

@ -0,0 +1,154 @@
README_dos.txt for version 7.4 of Vim: Vi IMproved.
This file explains the installation of Vim on MS-DOS and MS-Windows systems.
See "README.txt" for general information about Vim.
There are two ways to install Vim:
A. Use the self-installing .exe file.
B. Unpack .zip files and run the install.exe program.
A. Using the self-installing .exe
---------------------------------
This is mostly self-explaining. Just follow the prompts and make the
selections. A few things to watch out for:
- When an existing installation is detected, you are offered to first remove
this. The uninstall program is then started while the install program waits
for it to complete. Sometimes the windows overlap each other, which can be
confusing. Be sure the complete the uninstalling before continuing the
installation. Watch the taskbar for uninstall windows.
- When selecting a directory to install Vim, use the same place where other
versions are located. This makes it easier to find your _vimrc file. For
example "C:\Program Files\vim" or "D:\vim". A name ending in "vim" is
preferred.
- After selecting the directory where to install Vim, clicking on "Next" will
start the installation.
B. Using .zip files
-------------------
These are the normal steps to install Vim from the .zip archives:
1. Go to the directory where you want to put the Vim files. Examples:
cd C:\
cd D:\editors
If you already have a "vim" directory, go to the directory in which it is
located. Check the $VIM setting to see where it points to:
set VIM
For example, if you have
C:\vim\vim54
do
cd C:\
Binary and runtime Vim archives are normally unpacked in the same location,
on top of each other.
2. Unpack the zip archives. This will create a new directory "vim\vim74",
in which all the distributed Vim files are placed. Since the directory
name includes the version number, it is unlikely that you overwrite
existing files.
Examples:
pkunzip -d gvim74.zip
unzip vim74w32.zip
You need to unpack the runtime archive and at least one of the binary
archives. When using more than one binary version, be careful not to
overwrite one version with the other, the names of the executables
"vim.exe" and "gvim.exe" are the same.
After you unpacked the files, you can still move the whole directory tree
to another location. That is where they will stay, the install program
won't move or copy the runtime files.
Only for the 32 bit DOS version on MS-DOS without DPMI support (trying to
run install.exe will produce an error message): Unpack the CSDPMI4B.ZIP
archive and follow the instructions in the documentation.
3. Change to the new directory:
cd vim\vim74
Run the "install.exe" program. It will ask you a number of questions about
how you would like to have your Vim setup. Among these are:
- You can tell it to write a "_vimrc" file with your preferences in the
parent directory.
- It can also install an "Edit with Vim" entry in the Windows Explorer
popup menu.
- You can have it create batch files, so that you can run Vim from the
console or in a shell. You can select one of the directories in your
$PATH. If you skip this, you can add Vim to the search path manually:
The simplest is to add a line to your autoexec.bat. Examples:
set path=%path%;C:\vim\vim74
set path=%path%;D:\editors\vim\vim74
- Create entries for Vim on the desktop and in the Start menu.
That's it!
Remarks:
- If Vim can't find the runtime files, ":help" won't work and the GUI version
won't show a menubar. Then you need to set the $VIM environment variable to
point to the top directory of your Vim files. Example:
set VIM=C:\editors\vim
Vim version 7.4 will look for your vimrc file in $VIM, and for the runtime
files in $VIM/vim74. See ":help $VIM" for more information.
- To avoid confusion between distributed files of different versions and your
own modified vim scripts, it is recommended to use this directory layout:
("C:\vim" is used here as the root, replace it with the path you use)
Your own files:
C:\vim\_vimrc Your personal vimrc.
C:\vim\_viminfo Dynamic info for 'viminfo'.
C:\vim\vimfiles\ftplugin\*.vim Filetype plugins
C:\vim\... Other files you made.
Distributed files:
C:\vim\vim74\vim.exe The Vim version 7.4 executable.
C:\vim\vim74\doc\*.txt The version 7.4 documentation files.
C:\vim\vim74\bugreport.vim A Vim version 7.4 script.
C:\vim\vim74\... Other version 7.4 distributed files.
In this case the $VIM environment variable would be set like this:
set VIM=C:\vim
Then $VIMRUNTIME will automatically be set to "$VIM\vim74". Don't add
"vim74" to $VIM, that won't work.
- You can put your Vim executable anywhere else. If the executable is not
with the other Vim files, you should set $VIM. The simplest is to add a line
to your autoexec.bat. Examples:
set VIM=c:\vim
set VIM=d:\editors\vim
- If you have told the "install.exe" program to add the "Edit with Vim" menu
entry, you can remove it by running the "uninstal.exe". See
":help win32-popup-menu".
- In Windows 95/98/NT you can create a shortcut to Vim. This works for all
DOS and Win32 console versions. For the console version this gives you the
opportunity to set defaults for the Console where Vim runs in.
1. On the desktop, click right to get a menu. Select New/Shortcut.
2. In the dialog, enter Command line: "C:\command.com". Click "Next".
3. Enter any name. Click "Finish".
The new shortcut will appear on the desktop.
4. With the mouse pointer on the new shortcut, click right to get a menu.
Select Properties.
5. In the Program tab, change the "Cmdline" to add "/c" and the name of the
Vim executable. Examples:
C:\command.com /c C:\vim\vim74\vim.exe
C:\command.com /c D:\editors\vim\vim74\vim.exe
6. Select the font, window size, etc. that you like. If this isn't
possible, select "Advanced" in the Program tab, and deselect "MS-DOS
mode".
7. Click OK.
For gvim, you can use a normal shortcut on the desktop, and set the size of
the Window in your $VIM/_gvimrc:
set lines=30 columns=90
For further information, type one of these inside Vim:
:help dos
:help msdos
:help win32

@ -1,14 +1,7 @@
" Vim completion script
" Language: HTML and XHTML
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2006 Oct 19
" Modified: othree <othree@gmail.com>
" Changes: Add HTML5, WAI-ARIA support
" Last Change: 2010 Sep 25
if !exists('g:aria_attributes_complete')
let g:aria_attributes_complete = 1
endif
" Last Change: 2011 Apr 28
function! htmlcomplete#CompleteTags(findstart, base)
if a:findstart
@ -167,9 +160,6 @@ function! htmlcomplete#CompleteTags(findstart, base)
"runtime! autoload/xml/xhtml10s.vim
call htmlcomplete#LoadData()
endif
if g:aria_attributes_complete == 1 && !exists("b:aria_omni")
call htmlcomplete#LoadAria()
endif
let entities = b:html_omni['vimxmlentities']
@ -219,7 +209,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
let tag = split(context)[0]
" Detect if tag is uppercase to return in proper case,
" we need to make it lowercase for processing
if tag =~ '^\u*$'
if tag =~ '^[A-Z]*$'
let uppercase_tag = 1
let tag = tolower(tag)
else
@ -227,15 +217,12 @@ function! htmlcomplete#CompleteTags(findstart, base)
endif
endif
" Get last word, it should be attr name
let attr = matchstr(context, '\S\+="[^"]*$')
if attr == ''
let attr = matchstr(context, '.*\s\zs.*')
endif
let attr = matchstr(context, '.*\s\zs.*')
" Possible situations where any prediction would be difficult:
" 1. Events attributes
if context =~ '\s'
" Sort out style, class, and on* cases
if context =~? "\\s\\(on[a-z]+\\|id\\|style\\|class\\)\\s*=\\s*[\"']"
if context =~? "\\(on[a-z]*\\|id\\|style\\|class\\)\\s*=\\s*[\"']"
" Id, class completion {{{
if context =~? "\\(id\\|class\\)\\s*=\\s*[\"'][a-zA-Z0-9_ -]*$"
if context =~? "class\\s*=\\s*[\"'][a-zA-Z0-9_ -]*$"
@ -298,6 +285,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
let cssfiles = styletable + secimportfiles
let classes = []
for file in cssfiles
let classlines = []
if filereadable(file)
let stylesheet = readfile(file)
let stylefile = join(stylesheet, ' ')
@ -318,9 +306,9 @@ function! htmlcomplete#CompleteTags(findstart, base)
let classlines = filter(stylelines, "v:val =~ '#[a-zA-Z0-9_-]\\+'")
endif
" We gathered classes definitions from all external files
let classes += classlines
endif
" We gathered classes definitions from all external files
let classes += classlines
endfor
if internal == 1
let classes += headclasslines
@ -469,9 +457,6 @@ function! htmlcomplete#CompleteTags(findstart, base)
"runtime! autoload/xml/xhtml10s.vim
call htmlcomplete#LoadData()
endif
if g:aria_attributes_complete == 1 && !exists("b:aria_omni")
call htmlcomplete#LoadAria()
endif
" }}}
if attrname == 'href'
" Now we are looking for local anchors defined by name or id
@ -487,8 +472,6 @@ function! htmlcomplete#CompleteTags(findstart, base)
else
if has_key(b:html_omni, tag) && has_key(b:html_omni[tag][1], attrname)
let values = b:html_omni[tag][1][attrname]
elseif attrname =~ '^aria-' && exists("b:aria_omni") && has_key(b:aria_omni['aria_attributes'], attrname)
let values = b:aria_omni['aria_attributes'][attrname]
else
return []
endif
@ -496,35 +479,18 @@ function! htmlcomplete#CompleteTags(findstart, base)
if len(values) == 0
return []
endif
endif
" We need special version of sbase
let attrbase = matchstr(context, ".*[\"']")
let attrquote = matchstr(attrbase, '.$')
if attrquote !~ "['\"]"
let attrquoteopen = '"'
let attrquote = '"'
let attrquote = '"'
else
let attrquoteopen = ''
endif
" Multi value attributes don't need ending quote
let info = ''
if has_key(b:html_omni['vimxmlattrinfo'], attrname)
let info = b:html_omni['vimxmlattrinfo'][attrname][0]
elseif exists("b:aria_omni") && has_key(b:aria_omni['vimariaattrinfo'], attrname)
let info = b:aria_omni['vimariaattrinfo'][attrname][0]
endif
if info =~ "^\\*"
let attrquote = ''
endif
if len(entered_value) > 0
if entered_value =~ "\\s$"
let entered_value = ''
else
let entered_value = split(entered_value)[-1]
endif
endif
endif
for m in values
" This if is needed to not offer all completions as-is
" alphabetically but sort them. Those beginning with entered
@ -551,35 +517,13 @@ function! htmlcomplete#CompleteTags(findstart, base)
if !exists("b:html_omni")
call htmlcomplete#LoadData()
endif
if g:aria_attributes_complete == 1 && !exists("b:aria_omni")
call htmlcomplete#LoadAria()
endif
" }}}
if has_key(b:html_omni, tag)
let attrs = keys(b:html_omni[tag][1])
else
return []
endif
if exists("b:aria_omni")
let roles = []
if has_key(b:aria_omni['default_role'], tag)
let roles = [b:aria_omni['default_role'][tag]]
endif
if context =~ 'role='
let start = matchend(context, "role=['\"]")
let end = matchend(context, "[a-z ]\\+['\"]", start)
if start != -1 && end != -1
let roles = split(strpart(context, start, end-start-1), " ")
endif
endif
for i in range(len(roles))
let role = roles[i]
if has_key(b:aria_omni['role_attributes'], role)
let attrs = extend(attrs, b:aria_omni['role_attributes'][role])
endif
endfor
endif
endif
for m in sort(attrs)
if m =~ '^'.attr
@ -588,37 +532,24 @@ function! htmlcomplete#CompleteTags(findstart, base)
call add(res2, m)
endif
endfor
"let menu = res + res2
let menu = res
if has_key(b:html_omni, 'vimxmlattrinfo') || (exists("b:aria_omni") && has_key(b:aria_omni, 'vimariaattrinfo'))
let menu = res + res2
if has_key(b:html_omni, 'vimxmlattrinfo')
let final_menu = []
for i in range(len(menu))
let item = menu[i]
if has_key(b:html_omni['vimxmlattrinfo'], item)
let m_menu = b:html_omni['vimxmlattrinfo'][item][0]
let m_info = b:html_omni['vimxmlattrinfo'][item][1]
elseif exists("b:aria_omni") && has_key(b:aria_omni['vimariaattrinfo'], item)
let m_menu = b:aria_omni['vimariaattrinfo'][item][0]
let m_info = b:aria_omni['vimariaattrinfo'][item][1]
else
else
let m_menu = ''
let m_info = ''
endif
if item =~ '^aria-' && exists("b:aria_omni")
if len(b:aria_omni['aria_attributes'][item]) > 0 && b:aria_omni['aria_attributes'][item][0] =~ '^\(BOOL\|'.item.'\)$'
let item = item
let m_menu = 'Bool'
else
let item .= '="'
endif
else
if len(b:html_omni[tag][1][item]) > 0 && b:html_omni[tag][1][item][0] =~ '^\(BOOL\|'.item.'\)$'
let item = item
let m_menu = 'Bool'
else
let item .= '="'
endif
endif
endif
if len(b:html_omni[tag][1][item]) > 0 && b:html_omni[tag][1][item][0] =~ '^\(BOOL\|'.item.'\)$'
let item = item
let m_menu = 'Bool'
else
let item .= '="'
endif
let final_menu += [{'word':item, 'menu':m_menu, 'info':m_info}]
endfor
else
@ -640,7 +571,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
endif
" }}}
" Close tag {{{
let b:unaryTagsStack = "area base br col command embed hr img input keygen link meta param source track wbr"
let b:unaryTagsStack = "base meta link hr br param img area input col"
if context =~ '^\/'
if context =~ '^\/.'
return []
@ -658,9 +589,6 @@ function! htmlcomplete#CompleteTags(findstart, base)
"runtime! autoload/xml/xhtml10s.vim
call htmlcomplete#LoadData()
endif
if g:aria_attributes_complete == 1 && !exists("b:aria_omni")
call htmlcomplete#LoadAria()
endif
" }}}
" Tag completion {{{
" Deal with tag completion.
@ -688,8 +616,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
endif
" Handle XML keywords: DOCTYPE
if opentag == ''
let tags = [
\ '!DOCTYPE html>',
let tags += [
\ '!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">',
\ '!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">',
\ '!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">',
@ -701,11 +628,10 @@ function! htmlcomplete#CompleteTags(findstart, base)
\ '!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',
\ '!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">',
\ '!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/1999/xhtml">'
\ ] + sort(tags)
\ ]
endif
"for m in sort(tags)
for m in tags
for m in sort(tags)
if m =~ '^'.context
call add(res, m)
elseif m =~ context
@ -728,11 +654,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
let item = toupper(item)
endif
if item =~ 'DOCTYPE'
if item =~ 'DTD'
let abbr = 'DOCTYPE '.matchstr(item, 'DTD \zsX\?HTML .\{-}\ze\/\/')
else
let abbr = 'DOCTYPE HTML 5'
endif
let abbr = 'DOCTYPE '.matchstr(item, 'DTD \zsX\?HTML .\{-}\ze\/\/')
else
let abbr = item
endif
@ -747,19 +669,6 @@ function! htmlcomplete#CompleteTags(findstart, base)
endif
endfunction
function! htmlcomplete#LoadAria() " {{{
runtime! autoload/xml/aria.vim
if exists("g:xmldata_aria")
\ && has_key(g:xmldata_aria, 'default_role')
\ && has_key(g:xmldata_aria, 'role_attributes')
\ && has_key(g:xmldata_aria, 'vimariaattrinfo')
\ && has_key(g:xmldata_aria, 'aria_attributes')
let b:aria_omni = g:xmldata_aria
else
let g:aria_attributes_complete = 0
endif
endfunction
" }}}
function! htmlcomplete#LoadData() " {{{
if !exists("b:html_omni_flavor")
if &filetype == 'html'
@ -832,10 +741,6 @@ function! htmlcomplete#CheckDoctype() " {{{
let b:html_omni_flavor = 'xhtml11'
let b:html_doctype = 1
break
elseif line =~ '<!DOCTYPE html'
let b:html_omni_flavor = 'html5'
let b:html_doctype = 1
break
endif
let i += 1
endwhile

@ -0,0 +1,490 @@
#
# Makefile for the Vim documentation on Unix
#
# If you get "don't know how to make scratch", first run make in the source
# directory. Or remove the include below.
AWK = awk
# Set to $(VIMTARGET) when executed from src/Makefile.
VIMEXE = vim
# include the config.mk from the source directory. It's only needed to set
# AWK, used for "make html". Comment this out if the include gives problems.
include ../../src/auto/config.mk
DOCS = \
arabic.txt \
autocmd.txt \
change.txt \
cmdline.txt \
debug.txt \
debugger.txt \
develop.txt \
diff.txt \
digraph.txt \
editing.txt \
eval.txt \
farsi.txt \
filetype.txt \
fold.txt \
ft_ada.txt \
ft_sql.txt \
gui.txt \
gui_w16.txt \
gui_w32.txt \
gui_x11.txt \
hangulin.txt \
hebrew.txt \
help.txt \
helphelp.txt \
howto.txt \
if_cscop.txt \
if_lua.txt \
if_mzsch.txt \
if_ole.txt \
if_perl.txt \
if_pyth.txt \
if_ruby.txt \
if_sniff.txt \
if_tcl.txt \
indent.txt \
index.txt \
insert.txt \
intro.txt \
map.txt \
mbyte.txt \
message.txt \
mlang.txt \
motion.txt \
netbeans.txt \
options.txt \
os_390.txt \
os_amiga.txt \
os_beos.txt \
os_dos.txt \
os_mac.txt \
os_mint.txt \
os_msdos.txt \
os_os2.txt \
os_qnx.txt \
os_risc.txt \
os_unix.txt \
os_vms.txt \
os_win32.txt \
pattern.txt \
pi_getscript.txt \
pi_gzip.txt \
pi_netrw.txt \
pi_paren.txt \
pi_spec.txt \
pi_tar.txt \
pi_vimball.txt \
pi_zip.txt \
print.txt \
quickfix.txt \
quickref.txt \
quotes.txt \
recover.txt \
remote.txt \
repeat.txt \
rileft.txt \
russian.txt \
scroll.txt \
sign.txt \
spell.txt \
sponsor.txt \
starting.txt \
syntax.txt \
tabpage.txt \
tagsrch.txt \
term.txt \
tips.txt \
todo.txt \
uganda.txt \
undo.txt \
usr_01.txt \
usr_02.txt \
usr_03.txt \
usr_04.txt \
usr_05.txt \
usr_06.txt \
usr_07.txt \
usr_08.txt \
usr_09.txt \
usr_10.txt \
usr_11.txt \
usr_12.txt \
usr_20.txt \
usr_21.txt \
usr_22.txt \
usr_23.txt \
usr_24.txt \
usr_25.txt \
usr_26.txt \
usr_27.txt \
usr_28.txt \
usr_29.txt \
usr_30.txt \
usr_31.txt \
usr_32.txt \
usr_40.txt \
usr_41.txt \
usr_42.txt \
usr_43.txt \
usr_44.txt \
usr_45.txt \
usr_90.txt \
usr_toc.txt \
various.txt \
version4.txt \
version5.txt \
version6.txt \
version7.txt \
vi_diff.txt \
visual.txt \
windows.txt \
workshop.txt
HTMLS = \
arabic.html \
autocmd.html \
change.html \
cmdline.html \
debug.html \
debugger.html \
develop.html \
diff.html \
digraph.html \
editing.html \
eval.html \
farsi.html \
filetype.html \
fold.html \
ft_ada.html \
ft_sql.html \
gui.html \
gui_w16.html \
gui_w32.html \
gui_x11.html \
hangulin.html \
hebrew.html \
helphelp.html \
howto.html \
if_cscop.html \
if_lua.html \
if_mzsch.html \
if_ole.html \
if_perl.html \
if_pyth.html \
if_ruby.html \
if_sniff.html \
if_tcl.html \
indent.html \
index.html \
insert.html \
intro.html \
map.html \
mbyte.html \
message.html \
mlang.html \
motion.html \
netbeans.html \
options.html \
os_390.html \
os_amiga.html \
os_beos.html \
os_dos.html \
os_mac.html \
os_mint.html \
os_msdos.html \
os_os2.html \
os_qnx.html \
os_risc.html \
os_unix.html \
os_vms.html \
os_win32.html \
pattern.html \
pi_getscript.html \
pi_gzip.html \
pi_netrw.html \
pi_paren.html \
pi_spec.html \
pi_tar.html \
pi_vimball.html \
pi_zip.html \
print.html \
quickfix.html \
quickref.html \
quotes.html \
recover.html \
remote.html \
repeat.html \
rileft.html \
russian.html \
scroll.html \
sign.html \
spell.html \
sponsor.html \
starting.html \
syntax.html \
tabpage.html \
tags.html \
tagsrch.html \
term.html \
tips.html \
todo.html \
uganda.html \
undo.html \
usr_01.html \
usr_02.html \
usr_03.html \
usr_04.html \
usr_05.html \
usr_06.html \
usr_07.html \
usr_08.html \
usr_09.html \
usr_10.html \
usr_11.html \
usr_12.html \
usr_20.html \
usr_21.html \
usr_22.html \
usr_23.html \
usr_24.html \
usr_25.html \
usr_26.html \
usr_27.html \
usr_28.html \
usr_29.html \
usr_30.html \
usr_31.html \
usr_32.html \
usr_40.html \
usr_41.html \
usr_42.html \
usr_43.html \
usr_44.html \
usr_45.html \
usr_90.html \
usr_toc.html \
various.html \
version4.html \
version5.html \
version6.html \
version7.html \
vi_diff.html \
vimindex.html \
visual.html \
windows.html \
workshop.html
CONVERTED = \
vim-fr.UTF-8.1 \
evim-fr.UTF-8.1 \
vimdiff-fr.UTF-8.1 \
vimtutor-fr.UTF-8.1 \
xxd-fr.UTF-8.1 \
vim-it.UTF-8.1 \
evim-it.UTF-8.1 \
vimdiff-it.UTF-8.1 \
vimtutor-it.UTF-8.1 \
xxd-it.UTF-8.1 \
vim-pl.UTF-8.1 \
evim-pl.UTF-8.1 \
vimdiff-pl.UTF-8.1 \
vimtutor-pl.UTF-8.1 \
xxd-pl.UTF-8.1 \
vim-ru.UTF-8.1 \
evim-ru.UTF-8.1 \
vimdiff-ru.UTF-8.1 \
vimtutor-ru.UTF-8.1 \
xxd-ru.UTF-8.1
.SUFFIXES:
.SUFFIXES: .c .o .txt .html
all: tags vim.man evim.man vimdiff.man vimtutor.man xxd.man $(CONVERTED)
# Use Vim to generate the tags file. Can only be used when Vim has been
# compiled and installed. Supports multiple languages.
vimtags: $(DOCS)
$(VIMEXE) -u NONE -esX -c "helptags ++t ." -c quit
# Use "doctags" to generate the tags file. Only works for English!
tags: doctags $(DOCS)
./doctags $(DOCS) | LANG=C LC_ALL=C sort >tags
uniq -d -2 tags
doctags: doctags.c
$(CC) doctags.c -o doctags
vim.man: vim.1
nroff -man vim.1 | sed -e s/.//g > vim.man
evim.man: evim.1
nroff -man evim.1 | sed -e s/.//g > evim.man
vimdiff.man: vimdiff.1
nroff -man vimdiff.1 | sed -e s/.//g > vimdiff.man
vimtutor.man: vimtutor.1
nroff -man vimtutor.1 | sed -e s/.//g > vimtutor.man
xxd.man: xxd.1
nroff -man xxd.1 | sed -e s/.//g > xxd.man
uganda.nsis.txt: uganda.txt
sed -e 's/[ ]*\*[-a-zA-Z0-9.]*\*//g' -e 's/vim:tw=78://' \
uganda.txt | uniq >uganda.nsis.txt
# Awk version of .txt to .html conversion.
html: noerrors tags $(HTMLS)
@if test -f errors.log; then more errors.log; fi
noerrors:
-rm -f errors.log
$(HTMLS): tags.ref
.txt.html:
$(AWK) -f makehtml.awk $< >$@
# index.html is the starting point for HTML, but for the help files it is
# help.txt. Therefore use vimindex.html for index.txt.
index.html: help.txt
$(AWK) -f makehtml.awk help.txt >index.html
vimindex.html: index.txt
$(AWK) -f makehtml.awk index.txt >vimindex.html
tags.ref tags.html: tags
$(AWK) -f maketags.awk tags >tags.html
# Perl version of .txt to .html conversion.
# There can't be two rules to produce a .html from a .txt file.
# Just run over all .txt files each time one changes. It's fast anyway.
perlhtml: tags $(DOCS)
./vim2html.pl tags $(DOCS)
clean:
-rm doctags *.html tags.ref
# These files are in the extra archive, skip if not present
arabic.txt:
touch arabic.txt
farsi.txt:
touch farsi.txt
hebrew.txt:
touch hebrew.txt
russian.txt:
touch russian.txt
gui_w16.txt:
touch gui_w16.txt
gui_w32.txt:
touch gui_w32.txt
if_ole.txt:
touch if_ole.txt
os_390.txt:
touch os_390.txt
os_amiga.txt:
touch os_amiga.txt
os_beos.txt:
touch os_beos.txt
os_dos.txt:
touch os_dos.txt
os_mac.txt:
touch os_mac.txt
os_mint.txt:
touch os_mint.txt
os_msdos.txt:
touch os_msdos.txt
os_os2.txt:
touch os_os2.txt
os_qnx.txt:
touch os_qnx.txt
os_risc.txt:
touch os_risc.txt
os_win32.txt:
touch os_win32.txt
# Note that $< works with GNU make while $> works for BSD make.
# Is there a solution that works for both??
vim-fr.UTF-8.1: vim-fr.1
iconv -f latin1 -t utf-8 $< >$@
evim-fr.UTF-8.1: evim-fr.1
iconv -f latin1 -t utf-8 $< >$@
vimdiff-fr.UTF-8.1: vimdiff-fr.1
iconv -f latin1 -t utf-8 $< >$@
vimtutor-fr.UTF-8.1: vimtutor-fr.1
iconv -f latin1 -t utf-8 $< >$@
xxd-fr.UTF-8.1: xxd-fr.1
iconv -f latin1 -t utf-8 $< >$@
vim-it.UTF-8.1: vim-it.1
iconv -f latin1 -t utf-8 $< >$@
evim-it.UTF-8.1: evim-it.1
iconv -f latin1 -t utf-8 $< >$@
vimdiff-it.UTF-8.1: vimdiff-it.1
iconv -f latin1 -t utf-8 $< >$@
vimtutor-it.UTF-8.1: vimtutor-it.1
iconv -f latin1 -t utf-8 $< >$@
xxd-it.UTF-8.1: xxd-it.1
iconv -f latin1 -t utf-8 $< >$@
vim-pl.UTF-8.1: vim-pl.1
iconv -f latin2 -t utf-8 $< >$@
evim-pl.UTF-8.1: evim-pl.1
iconv -f latin2 -t utf-8 $< >$@
vimdiff-pl.UTF-8.1: vimdiff-pl.1
iconv -f latin2 -t utf-8 $< >$@
vimtutor-pl.UTF-8.1: vimtutor-pl.1
iconv -f latin2 -t utf-8 $< >$@
xxd-pl.UTF-8.1: xxd-pl.1
iconv -f latin2 -t utf-8 $< >$@
vim-ru.UTF-8.1: vim-ru.1
iconv -f KOI8-R -t utf-8 $< >$@
evim-ru.UTF-8.1: evim-ru.1
iconv -f KOI8-R -t utf-8 $< >$@
vimdiff-ru.UTF-8.1: vimdiff-ru.1
iconv -f KOI8-R -t utf-8 $< >$@
vimtutor-ru.UTF-8.1: vimtutor-ru.1
iconv -f KOI8-R -t utf-8 $< >$@
xxd-ru.UTF-8.1: xxd-ru.1
iconv -f KOI8-R -t utf-8 $< >$@

@ -0,0 +1,83 @@
/* vim:set ts=4 sw=4:
* this program makes a tags file for vim_ref.txt
*
* Usage: doctags vim_ref.txt vim_win.txt ... >tags
*
* A tag in this context is an identifier between stars, e.g. *c_files*
*/
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#define LINELEN 200
int
main(argc, argv)
int argc;
char **argv;
{
char line[LINELEN];
char *p1, *p2;
char *p;
FILE *fd;
if (argc <= 1)
{
fprintf(stderr, "Usage: doctags docfile ... >tags\n");
exit(1);
}
printf("help-tags\ttags\t1\n");
while (--argc > 0)
{
++argv;
fd = fopen(argv[0], "r");
if (fd == NULL)
{
fprintf(stderr, "Unable to open %s for reading\n", argv[0]);
continue;
}
while (fgets(line, LINELEN, fd) != NULL)
{
p1 = strchr(line, '*'); /* find first '*' */
while (p1 != NULL)
{
p2 = strchr(p1 + 1, '*'); /* find second '*' */
if (p2 != NULL && p2 > p1 + 1) /* skip "*" and "**" */
{
for (p = p1 + 1; p < p2; ++p)
if (*p == ' ' || *p == '\t' || *p == '|')
break;
/*
* Only accept a *tag* when it consists of valid
* characters, there is white space before it and is
* followed by a white character or end-of-line.
*/
if (p == p2
&& (p1 == line || p1[-1] == ' ' || p1[-1] == '\t')
&& (strchr(" \t\n\r", p[1]) != NULL
|| p[1] == '\0'))
{
*p2 = '\0';
++p1;
printf("%s\t%s\t/*", p1, argv[0]);
while (*p1)
{
/* insert backslash before '\\' and '/' */
if (*p1 == '\\' || *p1 == '/')
putchar('\\');
putchar(*p1);
++p1;
}
printf("*\n");
p2 = strchr(p2 + 1, '*'); /* find next '*' */
}
}
p1 = p2;
}
}
fclose(fd);
}
return 0;
}

@ -0,0 +1,49 @@
.TH EVIM 1 "2002 February 16"
.SH NAME
evim \- easy Vim, edit a file with Vim and setup for modeless editing
.SH SYNOPSIS
.br
.B evim
[options] [file ..]
.br
.B eview
.SH DESCRIPTION
.B eVim
starts
.B Vim
and sets options to make it behave like a modeless editor.
This is still Vim but used as a point-and-click editor.
This feels a lot like using Notepad on MS-Windows.
.B eVim
will always run in the GUI, to enable the use of menus and toolbar.
.PP
Only to be used for people who really can't work with Vim in the normal way.
Editing will be much less efficient.
.PP
.B eview
is the same, but starts in read-only mode. It works just like evim \-R.
.PP
See vim(1) for details about Vim, options, etc.
.PP
The 'insertmode' option is set to be able to type text directly.
.br
Mappings are setup to make Copy and Paste work with the MS-Windows keys.
CTRL-X cuts text, CTRL-C copies text and CTRL-V pastes text.
Use CTRL-Q to obtain the original meaning of CTRL-V.
.SH OPTIONS
See vim(1).
.SH FILES
.TP 15
/usr/local/lib/vim/evim.vim
The script loaded to initialize eVim.
.SH AKA
Also Known As "Vim for gumbies".
When using evim you are expected to take a handkerchief,
make a knot in each corner and wear it on your head.
.SH SEE ALSO
vim(1)
.SH AUTHOR
Most of
.B Vim
was made by Bram Moolenaar, with a lot of help from others.
See the Help/Credits menu.

@ -1,142 +0,0 @@
*hebrew.txt* For Vim version 7.4. Last change: 2007 Jun 14
VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem)
Hebrew Language support (options & mapping) for Vim *hebrew*
The supporting 'rightleft' functionality was originally created by Avner
Lottem. <alottem at gmail dot com> Ron Aaron <ron at ronware dot org> is
currently helping support these features.
{Vi does not have any of these commands}
All this is only available when the |+rightleft| feature was enabled at
compile time.
Introduction
------------
Hebrew-specific options are 'hkmap', 'hkmapp' 'keymap'=hebrew and 'aleph'.
Hebrew-useful options are 'delcombine', 'allowrevins', 'revins', 'rightleft'
and 'rightleftcmd'.
The 'rightleft' mode reverses the display order, so characters are displayed
from right to left instead of the usual left to right. This is useful
primarily when editing Hebrew or other Middle-Eastern languages.
See |rileft.txt| for further details.
Details
--------------
+ Options:
+ 'rightleft' ('rl') sets window orientation to right-to-left. This means
that the logical text 'ABC' will be displayed as 'CBA', and will start
drawing at the right edge of the window, not the left edge.
+ 'hkmap' ('hk') sets keyboard mapping to Hebrew, in insert/replace modes.
+ 'aleph' ('al'), numeric, holds the decimal code of Aleph, for keyboard
mapping.
+ 'hkmapp' ('hkp') sets keyboard mapping to 'phonetic hebrew'
NOTE: these three ('hkmap', 'hkmapp' and 'aleph') are obsolete. You should
use ":set keymap=hebrewp" instead.
+ 'delcombine' ('deco'), boolean, if editing UTF-8 encoded Hebrew, allows
one to remove the niqud or te`amim by pressing 'x' on a character (with
associated niqud).
+ 'rightleftcmd' ('rlc') makes the command-prompt for searches show up on
the right side. It only takes effect if the window is 'rightleft'.
+ Encoding:
+ Under Unix, ISO 8859-8 encoding (Hebrew letters codes: 224-250).
+ Under MS DOS, PC encoding (Hebrew letters codes: 128-154).
These are defaults, that can be overridden using the 'aleph' option.
+ You should prefer using UTF8, as it supports the combining-characters
('deco' does nothing if UTF8 encoding is not active).
+ Vim arguments:
+ 'vim -H file' starts editing a Hebrew file, i.e. 'rightleft' and 'hkmap'
are set.
+ Keyboard:
+ The 'allowrevins' option enables the CTRL-_ command in Insert mode and
in Command-line mode.
+ CTRL-_ in insert/replace modes toggles 'revins' and 'hkmap' as follows:
When in rightleft window, 'revins' and 'nohkmap' are toggled, since
English will likely be inserted in this case.
When in norightleft window, 'revins' 'hkmap' are toggled, since Hebrew
will likely be inserted in this case.
CTRL-_ moves the cursor to the end of the typed text.
+ CTRL-_ in command mode only toggles keyboard mapping (see Bugs below).
This setting is independent of 'hkmap' option, which only applies to
insert/replace mode.
Note: On some keyboards, CTRL-_ is mapped to CTRL-?.
+ Keyboard mapping while 'hkmap' is set (standard Israeli keyboard):
q w e r t y u i o p
/ ' ק ר א ט ו ן ם פ
a s d f g h j k l ; '
ש ד ג כ ע י ח ל ך ף ,
z x c v b n m , . /
ז ס ב ה נ מ צ ת ץ .
This is also the keymap when 'keymap=hebrew' is set. The advantage of
'keymap' is that it works properly when using UTF8, e.g. it inserts the
correct characters; 'hkmap' does not. The 'keymap' keyboard can also
insert niqud and te`amim. To see what those mappings are, look at the
keymap file 'hebrew.vim' etc.
Typing backwards
If the 'revins' (reverse insert) option is set, inserting happens backwards.
This can be used to type Hebrew. When inserting characters the cursor is not
moved and the text moves rightwards. A <BS> deletes the character under the
cursor. CTRL-W and CTRL-U also work in the opposite direction. <BS>, CTRL-W
and CTRL-U do not stop at the start of insert or end of line, no matter how
the 'backspace' option is set.
There is no reverse replace mode (yet).
If the 'showmode' option is set, "-- REVERSE INSERT --" will be shown in the
status line when reverse Insert mode is active.
When the 'allowrevins' option is set, reverse Insert mode can be also entered
via CTRL-_, which has some extra functionality: First, keyboard mapping is
changed according to the window orientation -- if in a left-to-right window,
'revins' is used to enter Hebrew text, so the keyboard changes to Hebrew
('hkmap' is set); if in a right-to-left window, 'revins' is used to enter
English text, so the keyboard changes to English ('hkmap' is reset). Second,
when exiting 'revins' via CTRL-_, the cursor moves to the end of the typed
text (if possible).
Pasting when in a rightleft window
----------------------------------
When cutting text with the mouse and pasting it in a rightleft window
the text will be reversed, because the characters come from the cut buffer
from the left to the right, while inserted in the file from the right to
the left. In order to avoid it, toggle 'revins' (by typing CTRL-? or CTRL-_)
before pasting.
Hebrew characters and the 'isprint' variable
--------------------------------------------
Sometimes Hebrew character codes are in the non-printable range defined by
the 'isprint' variable. For example in the Linux console, the Hebrew font
encoding starts from 128, while the default 'isprint' variable is @,161-255.
The result is that all Hebrew characters are displayed as ~x. To solve this
problem, set isprint=@,128-255.
vim:tw=78:ts=8:ft=help:norl:

@ -0,0 +1,787 @@
BEGIN {
# some initialization variables
asciiart="no";
wasset="no";
lineset=0;
sample="no";
while ( getline ti <"tags.ref" > 0 ) {
nf=split(ti,tag," ");
tagkey[tag[1]]="yes";tagref[tag[1]]=tag[2];
}
skip_word["and"]="yes";
skip_word["backspace"]="yes";
skip_word["beep"]="yes";
skip_word["bugs"]="yes";
skip_word["da"]="yes";
skip_word["end"]="yes";
skip_word["ftp"]="yes";
skip_word["go"]="yes";
skip_word["help"]="yes";
skip_word["home"]="yes";
skip_word["news"]="yes";
skip_word["index"]="yes";
skip_word["insert"]="yes";
skip_word["into"]="yes";
skip_word["put"]="yes";
skip_word["reference"]="yes";
skip_word["section"]="yes";
skip_word["space"]="yes";
skip_word["starting"]="yes";
skip_word["toggle"]="yes";
skip_word["various"]="yes";
skip_word["version"]="yes";
skip_word["is"]="yes";
}
#
# protect special chars
#
/[><&á]/ {gsub(/&/,"\\&amp;");gsub(/>/,"\\&gt;");gsub(/</,"\\&lt;");gsub("á","\\&aacute;");}
#
# end of sample lines by non-blank in first column
#
sample == "yes" && substr($0,1,4) == "&lt;" { sample = "no"; gsub(/^&lt;/, " "); }
sample == "yes" && substr($0,1,1) != " " && substr($0,1,1) != " " && length($0) > 0 { sample = "no" }
#
# sample lines printed bold unless empty...
#
sample == "yes" && $0 =="" { print ""; next; }
sample == "yes" && $0 !="" { print "<B>" $0 "</B>"; next; }
#
# start of sample lines in next line
#
$0 == "&gt;" { sample = "yes"; print ""; next; }
substr($0,length($0)-4,5) == " &gt;" { sample = "yes"; gsub(/ &gt;$/, ""); }
#
# header lines printed bold, colored
#
substr($0,length($0),1) == "~" { print "<B><FONT COLOR=\"PURPLE\">" substr($0,1,length($0)-1) "</FONT></B>"; next; }
#
#ad hoc code
#
/^"\|\& / {gsub(/\|/,"\\&#124;"); }
/ = b / {gsub(/ b /," \\&#98; "); }
#
# one letter tag
#
/[ ]\*.\*[ ]/ {gsub(/\*/,"ZWWZ"); }
#
# isolated "*"
#
/[ ]\*[ ]/ {gsub(/ \* /," \\&#42; ");
gsub(/ \* /," \\&#42; ");
gsub(/ \* /," \\&#42; ");
gsub(/ \* /," \\&#42; "); }
#
# tag start
#
/[ ]\*[^ ]/ {gsub(/ \*/," ZWWZ");gsub(/ \*/," ZWWZ");}
/^\*[^ ]/ {gsub(/^\*/,"ZWWZ");}
#
# tag end
#
/[^ ]\*$/ {gsub(/\*$/,"ZWWZ");}
/[^ \/ ]\*[ ]/ {gsub(/\*/,"ZWWZ");}
#
# isolated "|"
#
/[ ]\|[ ]/ {gsub(/ \| /," \\&#124; ");
gsub(/ \| /," \\&#124; ");
gsub(/ \| /," \\&#124; ");
gsub(/ \| /," \\&#124; "); }
/'\|'/ { gsub(/'\|'/,"'\\&#124;'"); }
/\^V\|/ {gsub(/\^V\|/,"^V\\&#124;");}
/ \\\| / {gsub(/\|/,"\\&#124;");}
#
# one letter pipes and "||" false pipe (digraphs)
#
/[ ]\|.\|[ ]/ && asciiart == "no" {gsub(/\|/,"YXXY"); }
/^\|.\|[ ]/ {gsub(/\|/,"YXXY"); }
/\|\|/ {gsub(/\|\|/,"\\&#124;\\&#124;"); }
/^shellpipe/ {gsub(/\|/,"\\&#124;"); }
#
# pipe start
#
/[ ]\|[^ ]/ && asciiart == "no" {gsub(/ \|/," YXXY");
gsub(/ \|/," YXXY");}
/^\|[^ ]/ {gsub(/^\|/,"YXXY");}
#
# pipe end
#
/[^ ]\|$/ && asciiart == "no" {gsub(/\|$/,"YXXY");}
/[^ ]\|[s ,.); ]/ && asciiart == "no" {gsub(/\|/,"YXXY");}
/[^ ]\|]/ && asciiart == "no" {gsub(/\|/,"YXXY");}
#
# various
#
/'"/ {gsub(/'"/,"\\&#39;\\&#34;'");}
/"/ {gsub(/"/,"\\&quot;");}
/%/ {gsub(/%/,"\\&#37;");}
NR == 1 { nf=split(FILENAME,f,".")
print "<HTML>";
print "<HEAD>"
if ( FILENAME == "mbyte.txt" ) {
# needs utf-8 as uses many languages
print "<META HTTP-EQUIV=\"Content-type\" content=\"text/html; charset=UTF-8\">";
} else {
# common case - Latin1
print "<META HTTP-EQUIV=\"Content-type\" content=\"text/html; charset=ISO-8859-1\">";
}
print "<TITLE>Vim documentation: " f[1] "</TITLE>";
print "</HEAD>";
print "<BODY BGCOLOR=\"#ffffff\">";
print "<H1>Vim documentation: " f[1] "</H1>";
print "<A NAME=\"top\"></A>";
if ( FILENAME != "help.txt" ) {
print "<A HREF=\"index.html\">main help file</A>\n";
}
print "<HR>";
print "<PRE>";
filename=f[1]".html";
}
# set to a low value to test for few lines of text
# NR == 99999 { exit; }
# ignore underlines and tags
substr($0,1,5) == " vim:" { next; }
substr($0,1,4) == "vim:" { next; }
# keep just whole lines of "-", "="
substr($0,1,3) == "===" && substr($0,75,1) != "=" { next; }
substr($0,1,3) == "---" && substr($0,75,1) != "-" { next; }
{
nstar = split($0,s,"ZWWZ");
for ( i=2 ; i <= nstar ; i=i+2 ) {
nbla=split(s[i],blata,"[ ]");
if ( nbla > 1 ) {
gsub("ZWWZ","*");
nstar = split($0,s,"ZWWZ");
}
}
npipe = split($0,p,"YXXY");
for ( i=2 ; i <= npipe ; i=i+2 ) {
nbla=split(p[i],blata,"[ ]");
if ( nbla > 1 ) {
gsub("YXXY","|");
ntabs = split($0,p,"YXXY");
}
}
}
FILENAME == "gui.txt" && asciiart == "no" \
&& $0 ~ /\+----/ && $0 ~ /----\+/ {
asciiart= "yes";
asciicnt=0;
}
FILENAME == "quotes.txt" && asciiart == "no" \
&& $0 ~ /In summary:/ {
asciiart= "yes";
asciicnt=0;
}
FILENAME == "usr_20.txt" && asciiart == "no" \
&& $0 ~ /an empty line at the end:/ {
asciiart= "yes";
asciicnt=0;
}
asciiart == "yes" && $0=="" { asciicnt++; }
asciiart == "yes" && asciicnt == 2 { asciiart = "no"; }
asciiart == "yes" { npipe = 1; }
# { print NR " <=> " asciiart; }
#
# line contains "*"
#
nstar > 2 && npipe < 3 {
printf("\n");
for ( i=1; i <= nstar ; i=i+2 ) {
this=s[i];
put_this();
ii=i+1;
nbla = split(s[ii],blata," ");
if ( ii <= nstar ) {
if ( nbla == 1 && substr(s[ii],length(s[ii]),1) != " " ) {
printf("*<A NAME=\"%s\"></A>",s[ii]);
printf("<B>%s</B>*",s[ii]);
} else {
printf("*%s*",s[ii]);
}
}
}
printf("\n");
next;
}
#
# line contains "|"
#
npipe > 2 && nstar < 3 {
if ( npipe%2 == 0 ) {
for ( i=1; i < npipe ; i++ ) {
gsub("ZWWZ","*",p[i]);
printf("%s|",p[i]);
}
printf("%s\n",p[npipe]);
next;
}
for ( i=1; i <= npipe ; i++ )
{
if ( i % 2 == 1 ) {
gsub("ZWWZ","*",p[i]);
this=p[i];
put_this();
}
else {
nfn=split(p[i],f,".");
if ( nfn == 1 || f[2] == "" || f[1] == "" || length(f[2]) < 3 ) {
find_tag1();
}
else {
if ( f[1] == "index" ) {
printf "|<A HREF=\"vimindex.html\">" p[i] "</A>|";
} else {
if ( f[1] == "help" ) {
printf "|<A HREF=\"index.html\">" p[i] "</A>|";
} else {
printf "|<A HREF=\"" f[1] ".html\">" p[i] "</A>|";
}
}
}
}
}
printf("\n");
next;
}
#
# line contains both "|" and "*"
#
npipe > 2 && nstar > 2 {
printf("\n");
for ( j=1; j <= nstar ; j=j+2 ) {
npipe = split(s[j],p,"YXXY");
if ( npipe > 1 ) {
for ( np=1; np<=npipe; np=np+2 ) {
this=p[np];
put_this();
i=np+1;find_tag1();
}
} else {
this=s[j];
put_this();
}
jj=j+1;
nbla = split(s[jj],blata," ");
if ( jj <= nstar && nbla == 1 && s[jj] != "" ) {
printf("*<A NAME=\"%s\"></A>",s[jj]);
printf("<B>%s</B>*",s[jj]);
} else {
if ( s[jj] != "" ) {
printf("*%s*",s[jj]);
}
}
}
printf("\n");
next;
}
#
# line contains e-mail address john.doe@some.place.edu
#
$0 ~ /@/ && $0 ~ /[a-zA-Z0-9]@[a-z]/ \
{
nemail=split($0,em," ");
if ( substr($0,1,1) == " " ) { printf(" "); }
for ( i=1; i <= nemail; i++ ) {
if ( em[i] ~ /@/ ) {
if ( substr(em[i],2,3) == "lt;" && substr(em[i],length(em[i])-2,3) == "gt;" ) {
mailaddr=substr(em[i],5,length(em[i])-8);
printf("<A HREF=\"mailto:%s\">&lt;%s&gt;</A> ",mailaddr,mailaddr);
} else {
if ( substr(em[i],2,3) == "lt;" && substr(em[i],length(em[i])-3,3) == "gt;" ) {
mailaddr=substr(em[i],5,length(em[i])-9);
printf("<A HREF=\"mailto:%s\">&lt;%s&gt;</A>%s ",mailaddr,mailaddr,substr(em[i],length(em[i]),1));
} else {
printf("<A HREF=\"mailto:%s\">%s</A> ",em[i],em[i]);
}
}
} else {
printf("%s ",em[i]);
}
}
#print "*** " NR " " FILENAME " - possible mail ref";
printf("\n");
next;
}
#
# line contains http / ftp reference
#
$0 ~ /http:\/\// || $0 ~ /ftp:\/\// {
gsub("URL:","");
gsub("&lt;","");
gsub("&gt;","");
gsub("\\(","");
gsub("\\)","");
nemail=split($0,em," ");
for ( i=1; i <= nemail; i++ ) {
if ( substr(em[i],1,5) == "http:" ||
substr(em[i],1,4) == "ftp:" ) {
if ( substr(em[i],length(em[i]),1) != "." ) {
printf(" <A HREF=\"%s\">%s</A>",em[i],em[i]);
} else {
em[i]=substr(em[i],1,length(em[i])-1);
printf(" <A HREF=\"%s\">%s</A>.",em[i],em[i]);
}
} else {
printf(" %s",em[i]);
}
}
#print "*** " NR " " FILENAME " - possible http ref";
printf("\n");
next;
}
#
# some lines contains just one "almost regular" "*"...
#
nstar == 2 {
this=s[1];
put_this();
printf("*");
this=s[2];
put_this();
printf("\n");
next;
}
#
# regular line
#
{ ntabs = split($0,tb," ");
for ( i=1; i < ntabs ; i++) {
this=tb[i];
put_this();
printf(" ");
}
this=tb[ntabs];
put_this();
printf("\n");
}
asciiart == "yes" && $0 ~ /\+-\+--/ \
&& $0 ~ "scrollbar" { asciiart = "no"; }
END {
topback();
print "</PRE>\n</BODY>\n\n\n</HTML>"; }
#
# as main we keep index.txt (by default)
#
function topback () {
if ( FILENAME != "tags" ) {
if ( FILENAME != "help.txt" ) {
printf("<A HREF=\"#top\">top</A> - ");
printf("<A HREF=\"index.html\">main help file</A>\n");
} else {
printf("<A HREF=\"#top\">top</A>\n");
}
}
}
function find_tag1() {
if ( p[i] == "" ) { return; }
if ( tagkey[p[i]] == "yes" ) {
which=tagref[p[i]];
put_href();
return;
}
# if not found, then we have a problem
print "============================================" >>"errors.log";
print FILENAME ", line " NR ", pointer: >>" p[i] "<<" >>"errors.log";
print $0 >>"errors.log";
which="intro.html";
put_href();
}
function see_tag() {
# ad-hoc code:
if ( atag == "\"--" || atag == "--\"" ) { return; }
if_already();
if ( already == "yes" ) {
printf("%s",aword);
return;
}
allow_one_char="no";
find_tag2();
if ( done == "yes" ) { return; }
rightchar=substr(atag,length(atag),1);
if ( rightchar == "." \
|| rightchar == "," \
|| rightchar == ":" \
|| rightchar == ";" \
|| rightchar == "!" \
|| rightchar == "?" \
|| rightchar == ")" ) {
atag=substr(atag,1,length(atag)-1);
if_already();
if ( already == "yes" ) {
printf("%s",aword);
return;
}
find_tag2();
if ( done == "yes" ) { printf("%s",rightchar);return; }
leftchar=substr(atag,1,1);
lastbut1=substr(atag,length(atag),1);
if ( leftchar == "'" && lastbut1 == "'" ) {
allow_one_char="yes";
atag=substr(atag,2,length(atag)-2);
if_already();
if ( already == "yes" ) {
printf("%s",aword);
return;
}
printf("%s",leftchar);
aword=substr(atag,1,length(atag))""lastbut1""rightchar;
find_tag2();
if ( done == "yes" ) { printf("%s%s",lastbut1,rightchar);return; }
}
}
atag=aword;
leftchar=substr(atag,1,1);
if ( leftchar == "'" && rightchar == "'" ) {
allow_one_char="yes";
atag=substr(atag,2,length(atag)-2);
if ( atag == "<" ) { printf(" |%s|%s| ",atag,p[2]); }
if_already();
if ( already == "yes" ) {
printf("%s",aword);
return;
}
printf("%s",leftchar);
find_tag2();
if ( done == "yes" ) { printf("%s",rightchar);return; }
printf("%s%s",atag,rightchar);
return;
}
last2=substr(atag,length(atag)-1,2);
first2=substr(atag,1,2);
if ( first2 == "('" && last2 == "')" ) {
allow_one_char="yes";
atag=substr(atag,3,length(atag)-4);
if_already();
if ( already == "yes" ) {
printf("%s",aword);
return;
}
printf("%s",first2);
find_tag2();
if ( done == "yes" ) { printf("%s",last2);return; }
printf("%s%s",atag,last2);
return;
}
if ( last2 == ".)" ) {
atag=substr(atag,1,length(atag)-2);
if_already();
if ( already == "yes" ) {
printf("%s",aword);
return;
}
find_tag2();
if ( done == "yes" ) { printf("%s",last2);return; }
printf("%s%s",atag,last2);
return;
}
if ( last2 == ")." ) {
atag=substr(atag,1,length(atag)-2);
find_tag2();
if_already();
if ( already == "yes" ) {
printf("%s",aword);
return;
}
if ( done == "yes" ) { printf("%s",last2);return; }
printf("%s%s",atag,last2);
return;
}
first6=substr(atag,1,6);
last6=substr(atag,length(atag)-5,6);
if ( last6 == atag ) {
printf("%s",aword);
return;
}
last6of7=substr(atag,length(atag)-6,6);
if ( first6 == "&quot;" && last6of7 == "&quot;" && length(atag) > 12 ) {
allow_one_char="yes";
atag=substr(atag,7,length(atag)-13);
if_already();
if ( already == "yes" ) {
printf("%s",aword);
return;
}
printf("%s",first6);
find_tag2();
if ( done == "yes" ) { printf("&quot;%s",rightchar); return; }
printf("%s&quot;%s",atag,rightchar);
return;
}
if ( first6 == "&quot;" && last6 != "&quot;" ) {
allow_one_char="yes";
atag=substr(atag,7,length(atag)-6);
if ( atag == "[" ) { printf("&quot;%s",atag); return; }
if ( atag == "." ) { printf("&quot;%s",atag); return; }
if ( atag == ":" ) { printf("&quot;%s",atag); return; }
if ( atag == "a" ) { printf("&quot;%s",atag); return; }
if ( atag == "A" ) { printf("&quot;%s",atag); return; }
if ( atag == "g" ) { printf("&quot;%s",atag); return; }
if_already();
if ( already == "yes" ) {
printf("&quot;%s",atag);
return;
}
printf("%s",first6);
find_tag2();
if ( done == "yes" ) { return; }
printf("%s",atag);
return;
}
if ( last6 == "&quot;" && first6 == "&quot;" ) {
allow_one_char="yes";
atag=substr(atag,7,length(atag)-12);
if_already();
if ( already == "yes" ) {
printf("%s",aword);
return;
}
printf("%s",first6);
find_tag2();
if ( done == "yes" ) { printf("%s",last6);return; }
printf("%s%s",atag,last6);
return;
}
last6of7=substr(atag,length(atag)-6,6);
if ( last6of7 == "&quot;" && first6 == "&quot;" ) {
allow_one_char="yes";
atag=substr(atag,7,length(atag)-13);
#printf("\natag=%s,aword=%s\n",atag,aword);
if_already();
if ( already == "yes" ) {
printf("%s",aword);
return;
}
printf("%s",first6);
find_tag2();
if ( done == "yes" ) { printf("%s%s",last6of7,rightchar);return; }
printf("%s%s%s",atag,last6of7,rightchar);
return;
}
printf("%s",aword);
}
function find_tag2() {
done="no";
# no blanks present in a tag...
ntags=split(atag,blata,"[ ]");
if ( ntags > 1 ) { return; }
if ( ( allow_one_char == "no" ) && \
( index("!#$%&'()+,-./0:;=?@ACINX\\[\\]^_`at\\{\\}~",atag) !=0 ) ) {
return;
}
if ( skip_word[atag] == "yes" ) { return; }
if ( wasset == "yes" && lineset == NR ) {
wasset="no";
see_opt();
if ( done_opt == "yes" ) {return;}
}
if ( wasset == "yes" && lineset != NR ) {
wasset="no";
}
if ( atag == ":set" ) {
wasset="yes";
lineset=NR;
}
if ( tagkey[atag] == "yes" ) {
which=tagref[atag];
put_href2();
done="yes";
}
}
function find_tag3() {
done="no";
# no blanks present in a tag...
ntags=split(btag,blata,"[ ]");
if ( ntags > 1 ) { return; }
if ( ( allow_one_char == "no" ) && \
( index("!#$%&'()+,-./0:;=?@ACINX\\[\\]^_`at\\{\\}~",btag) !=0 ) ) {
return;
}
if ( skip_word[btag] == "yes" ) { return; }
if ( tagkey[btag] == "yes" ) {
which=tagref[btag];
put_href3();
done="yes";
}
}
function put_href() {
if ( p[i] == "" ) { return; }
if ( which == FILENAME ) {
printf("|<A HREF=\"#%s\">%s</A>|",p[i],p[i]);
}
else {
nz=split(which,zz,".");
if ( zz[2] == "txt" || zz[1] == "tags" ) {
printf("|<A HREF=\"%s.html#%s\">%s</A>|",zz[1],p[i],p[i]);
}
else {
printf("|<A HREF=\"intro.html#%s\">%s</A>|",p[i],p[i]);
}
}
}
function put_href2() {
if ( atag == "" ) { return; }
if ( which == FILENAME ) {
printf("<A HREF=\"#%s\">%s</A>",atag,atag);
}
else {
nz=split(which,zz,".");
if ( zz[2] == "txt" || zz[1] == "tags" ) {
printf("<A HREF=\"%s.html#%s\">%s</A>",zz[1],atag,atag);
}
else {
printf("<A HREF=\"intro.html#%s\">%s</A>",atag,atag);
}
}
}
function put_href3() {
if ( btag == "" ) { return; }
if ( which == FILENAME ) {
printf("<A HREF=\"#%s\">%s</A>",btag,btag2);
}
else {
nz=split(which,zz,".");
if ( zz[2] == "txt" || zz[1] == "tags" ) {
printf("<A HREF=\"%s.html#%s\">%s</A>",zz[1],btag,btag2);
}
else {
printf("<A HREF=\"intro.html#%s\">%s</A>",btag,btag2);
}
}
}
function put_this() {
ntab=split(this,ta," ");
for ( nta=1 ; nta <= ntab ; nta++ ) {
ata=ta[nta];
lata=length(ata);
aword="";
for ( iata=1 ; iata <=lata ; iata++ ) {
achar=substr(ata,iata,1);
if ( achar != " " ) { aword=aword""achar; }
else {
if ( aword != "" ) { atag=aword;
see_tag();
aword="";
printf(" "); }
else {
printf(" ");
}
}
}
if ( aword != "" ) { atag=aword;
see_tag();
}
if ( nta != ntab ) { printf(" "); }
}
}
function if_already() {
already="no";
if ( npipe < 2 ) { return; }
if ( atag == ":au" && p[2] == ":autocmd" ) { already="yes";return; }
for ( npp=2 ; npp <= npipe ; npp=npp+2 ) {
if ( ( (index(p[npp],atag)) != 0 \
&& length(p[npp]) > length(atag) \
&& length(atag) >= 1 \
) \
|| (p[npp] == atag) \
) {
# printf("p=|%s|,tag=|%s| ",p[npp],atag);
already="yes"; return; }
}
}
function see_opt() {
done_opt="no";
stag=atag;
nfields = split(atag,tae,"=");
if ( nfields > 1 ) {
btag="'"tae[1]"'";
btag2=tae[1];
find_tag3();
if (done == "yes") {
for ( ntae=2 ; ntae <= nfields ; ntae++ ) {
printf("=%s",tae[ntae]);
}
atag=stag;
done_opt="yes";
return;
}
btag=tae[1];
btag2=tae[1];
find_tag3();
if ( done=="yes" ) {
for ( ntae=2 ; ntae <= nfields ; ntae++ ) {
printf("=%s",tae[ntae]);
}
atag=stag;
done_opt="yes";
return;
}
}
nfields = split(atag,tae,"&quot;");
if ( nfields > 1 ) {
btag="'"tae[1]"'";
btag2=tae[1];
find_tag3();
if (done == "yes") {
printf("&quot;");
atag=stag;
done_opt="yes";
return;
}
btag=tae[1];
btag2=tae[1];
find_tag3();
if (done == "yes") {
printf("&quot;");
atag=stag;
done_opt="yes";
return;
}
}
btag="'"tae[1]"'";
btag2=tae[1];
find_tag3();
if (done == "yes") {
atag=stag;
done_opt="yes";
return;
}
btag=tae[1];
btag2=tae[1];
find_tag3();
if (done == "yes") {
atag=stag;
done_opt="yes";
return;
}
atag=stag;
}

@ -0,0 +1,42 @@
BEGIN { FS=" "; }
NR == 1 { nf=split(FILENAME,f,".")
print "<HTML>";
print "<HEAD><TITLE>" f[1] "</TITLE></HEAD>";
print "<BODY BGCOLOR=\"#ffffff\">";
print "<H1>Vim Documentation: " f[1] "</H1>";
print "<A NAME=\"top\"></A>";
print "<HR>";
print "<PRE>";
}
{
#
# protect special chars
#
gsub(/&/,"\\&amp;");
gsub(/>/,"\\&gt;");
gsub(/</,"\\&lt;");
gsub(/"/,"\\&quot;");
gsub(/%/,"\\&#37;");
nf=split($0,tag," ");
tagkey[t]=tag[1];tagref[t]=tag[2];tagnum[t]=NR;
print $1 " " $2 " line " NR >"tags.ref"
n=split($2,w,".");
printf ("|<A HREF=\"%s.html#%s\">%s</A>| %s\n",w[1],$1,$1,$2);
}
END {
topback();
print "</PRE>\n</BODY>\n\n\n</HTML>";
}
#
# as main we keep index.txt (by default)
# other candidate, help.txt
#
function topback () {
printf("<A HREF=\"#top\">top</A> - ");
printf("<A HREF=\"help.html\">back to help</A>\n");
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,553 @@
.TH VIM 1 "2006 Apr 11"
.SH NAME
vim \- Vi IMproved, a programmers text editor
.SH SYNOPSIS
.br
.B vim
[options] [file ..]
.br
.B vim
[options] \-
.br
.B vim
[options] \-t tag
.br
.B vim
[options] \-q [errorfile]
.PP
.br
.B ex
.br
.B view
.br
.B gvim
.B gview
.B evim
.B eview
.br
.B rvim
.B rview
.B rgvim
.B rgview
.SH DESCRIPTION
.B Vim
is a text editor that is upwards compatible to Vi.
It can be used to edit all kinds of plain text.
It is especially useful for editing programs.
.PP
There are a lot of enhancements above Vi: multi level undo,
multi windows and buffers, syntax highlighting, command line
editing, filename completion, on-line help, visual selection, etc..
See ":help vi_diff.txt" for a summary of the differences between
.B Vim
and Vi.
.PP
While running
.B Vim
a lot of help can be obtained from the on-line help system, with the ":help"
command.
See the ON-LINE HELP section below.
.PP
Most often
.B Vim
is started to edit a single file with the command
.PP
vim file
.PP
More generally
.B Vim
is started with:
.PP
vim [options] [filelist]
.PP
If the filelist is missing, the editor will start with an empty buffer.
Otherwise exactly one out of the following four may be used to choose one or
more files to be edited.
.TP 12
file ..
A list of filenames.
The first one will be the current file and read into the buffer.
The cursor will be positioned on the first line of the buffer.
You can get to the other files with the ":next" command.
To edit a file that starts with a dash, precede the filelist with "\-\-".
.TP
\-
The file to edit is read from stdin. Commands are read from stderr, which
should be a tty.
.TP
\-t {tag}
The file to edit and the initial cursor position depends on a "tag", a sort
of goto label.
{tag} is looked up in the tags file, the associated file becomes the current
file and the associated command is executed.
Mostly this is used for C programs, in which case {tag} could be a function
name.
The effect is that the file containing that function becomes the current file
and the cursor is positioned on the start of the function.
See ":help tag\-commands".
.TP
\-q [errorfile]
Start in quickFix mode.
The file [errorfile] is read and the first error is displayed.
If [errorfile] is omitted, the filename is obtained from the 'errorfile'
option (defaults to "AztecC.Err" for the Amiga, "errors.err" on other
systems).
Further errors can be jumped to with the ":cn" command.
See ":help quickfix".
.PP
.B Vim
behaves differently, depending on the name of the command (the executable may
still be the same file).
.TP 10
vim
The "normal" way, everything is default.
.TP
ex
Start in Ex mode.
Go to Normal mode with the ":vi" command.
Can also be done with the "\-e" argument.
.TP
view
Start in read-only mode. You will be protected from writing the files. Can
also be done with the "\-R" argument.
.TP
gvim gview
The GUI version.
Starts a new window.
Can also be done with the "\-g" argument.
.TP
evim eview
The GUI version in easy mode.
Starts a new window.
Can also be done with the "\-y" argument.
.TP
rvim rview rgvim rgview
Like the above, but with restrictions. It will not be possible to start shell
commands, or suspend
.B Vim.
Can also be done with the "\-Z" argument.
.SH OPTIONS
The options may be given in any order, before or after filenames.
Options without an argument can be combined after a single dash.
.TP 12
+[num]
For the first file the cursor will be positioned on line "num".
If "num" is missing, the cursor will be positioned on the last line.
.TP
+/{pat}
For the first file the cursor will be positioned on the
first occurrence of {pat}.
See ":help search\-pattern" for the available search patterns.
.TP
+{command}
.TP
\-c {command}
{command} will be executed after the
first file has been read.
{command} is interpreted as an Ex command.
If the {command} contains spaces it must be enclosed in double quotes (this
depends on the shell that is used).
Example: Vim "+set si" main.c
.br
Note: You can use up to 10 "+" or "\-c" commands.
.TP
\-S {file}
{file} will be sourced after the first file has been read.
This is equivalent to \-c "source {file}".
{file} cannot start with '\-'.
If {file} is omitted "Session.vim" is used (only works when \-S is the last
argument).
.TP
\-\-cmd {command}
Like using "\-c", but the command is executed just before
processing any vimrc file.
You can use up to 10 of these commands, independently from "\-c" commands.
.TP
\-A
If
.B Vim
has been compiled with ARABIC support for editing right-to-left
oriented files and Arabic keyboard mapping, this option starts
.B Vim
in Arabic mode, i.e. 'arabic' is set. Otherwise an error
message is given and
.B Vim
aborts.
.TP
\-b
Binary mode.
A few options will be set that makes it possible to edit a binary or
executable file.
.TP
\-C
Compatible. Set the 'compatible' option.
This will make
.B Vim
behave mostly like Vi, even though a .vimrc file exists.
.TP
\-d
Start in diff mode.
There should be two, three or four file name arguments.
.B Vim
will open all the files and show differences between them.
Works like vimdiff(1).
.TP
\-d {device}
Open {device} for use as a terminal.
Only on the Amiga.
Example:
"\-d con:20/30/600/150".
.TP
\-D
Debugging. Go to debugging mode when executing the first command from a
script.
.TP
\-e
Start
.B Vim
in Ex mode, just like the executable was called "ex".
.TP
\-E
Start
.B Vim
in improved Ex mode, just like the executable was called "exim".
.TP
\-f
Foreground. For the GUI version,
.B Vim
will not fork and detach from the shell it was started in.
On the Amiga,
.B Vim
is not restarted to open a new window.
This option should be used when
.B Vim
is executed by a program that will wait for the edit
session to finish (e.g. mail).
On the Amiga the ":sh" and ":!" commands will not work.
.TP
\-\-nofork
Foreground. For the GUI version,
.B Vim
will not fork and detach from the shell it was started in.
.TP
\-F
If
.B Vim
has been compiled with FKMAP support for editing right-to-left
oriented files and Farsi keyboard mapping, this option starts
.B Vim
in Farsi mode, i.e. 'fkmap' and 'rightleft' are set.
Otherwise an error message is given and
.B Vim
aborts.
.TP
\-g
If
.B Vim
has been compiled with GUI support, this option enables the GUI.
If no GUI support was compiled in, an error message is given and
.B Vim
aborts.
.TP
\-h
Give a bit of help about the command line arguments and options.
After this
.B Vim
exits.
.TP
\-H
If
.B Vim
has been compiled with RIGHTLEFT support for editing right-to-left
oriented files and Hebrew keyboard mapping, this option starts
.B Vim
in Hebrew mode, i.e. 'hkmap' and 'rightleft' are set.
Otherwise an error message is given and
.B Vim
aborts.
.TP
\-i {viminfo}
When using the viminfo file is enabled, this option sets the filename to use,
instead of the default "~/.viminfo".
This can also be used to skip the use of the .viminfo file, by giving the name
"NONE".
.TP
\-L
Same as \-r.
.TP
\-l
Lisp mode.
Sets the 'lisp' and 'showmatch' options on.
.TP
\-m
Modifying files is disabled.
Resets the 'write' option.
You can still modify the buffer, but writing a file is not possible.
.TP
\-M
Modifications not allowed. The 'modifiable' and 'write' options will be unset,
so that changes are not allowed and files can not be written. Note that these
options can be set to enable making modifications.
.TP
\-N
No-compatible mode. Reset the 'compatible' option.
This will make
.B Vim
behave a bit better, but less Vi compatible, even though a .vimrc file does
not exist.
.TP
\-n
No swap file will be used.
Recovery after a crash will be impossible.
Handy if you want to edit a file on a very slow medium (e.g. floppy).
Can also be done with ":set uc=0".
Can be undone with ":set uc=200".
.TP
\-nb
Become an editor server for NetBeans. See the docs for details.
.TP
\-o[N]
Open N windows stacked.
When N is omitted, open one window for each file.
.TP
\-O[N]
Open N windows side by side.
When N is omitted, open one window for each file.
.TP
\-p[N]
Open N tab pages.
When N is omitted, open one tab page for each file.
.TP
\-R
Read-only mode.
The 'readonly' option will be set.
You can still edit the buffer, but will be prevented from accidently
overwriting a file.
If you do want to overwrite a file, add an exclamation mark to the Ex command,
as in ":w!".
The \-R option also implies the \-n option (see below).
The 'readonly' option can be reset with ":set noro".
See ":help 'readonly'".
.TP
\-r
List swap files, with information about using them for recovery.
.TP
\-r {file}
Recovery mode.
The swap file is used to recover a crashed editing session.
The swap file is a file with the same filename as the text file with ".swp"
appended.
See ":help recovery".
.TP
\-s
Silent mode. Only when started as "Ex" or when the "\-e" option was given
before the "\-s" option.
.TP
\-s {scriptin}
The script file {scriptin} is read.
The characters in the file are interpreted as if you had typed them.
The same can be done with the command ":source! {scriptin}".
If the end of the file is reached before the editor exits, further characters
are read from the keyboard.
.TP
\-T {terminal}
Tells
.B Vim
the name of the terminal you are using.
Only required when the automatic way doesn't work.
Should be a terminal known
to
.B Vim
(builtin) or defined in the termcap or terminfo file.
.TP
\-u {vimrc}
Use the commands in the file {vimrc} for initializations.
All the other initializations are skipped.
Use this to edit a special kind of files.
It can also be used to skip all initializations by giving the name "NONE".
See ":help initialization" within vim for more details.
.TP
\-U {gvimrc}
Use the commands in the file {gvimrc} for GUI initializations.
All the other GUI initializations are skipped.
It can also be used to skip all GUI initializations by giving the name "NONE".
See ":help gui\-init" within vim for more details.
.TP
\-V[N]
Verbose. Give messages about which files are sourced and for reading and
writing a viminfo file. The optional number N is the value for 'verbose'.
Default is 10.
.TP
\-v
Start
.B Vim
in Vi mode, just like the executable was called "vi". This only has effect
when the executable is called "ex".
.TP
\-w {scriptout}
All the characters that you type are recorded in the file
{scriptout}, until you exit
.B Vim.
This is useful if you want to create a script file to be used with "vim \-s" or
":source!".
If the {scriptout} file exists, characters are appended.
.TP
\-W {scriptout}
Like \-w, but an existing file is overwritten.
.TP
\-x
Use encryption when writing files. Will prompt for a crypt key.
.TP
\-X
Don't connect to the X server. Shortens startup time in a terminal, but the
window title and clipboard will not be used.
.TP
\-y
Start
.B Vim
in easy mode, just like the executable was called "evim" or "eview".
Makes
.B Vim
behave like a click-and-type editor.
.TP
\-Z
Restricted mode. Works like the executable starts with "r".
.TP
\-\-
Denotes the end of the options.
Arguments after this will be handled as a file name.
This can be used to edit a filename that starts with a '\-'.
.TP
\-\-echo\-wid
GTK GUI only: Echo the Window ID on stdout.
.TP
\-\-help
Give a help message and exit, just like "\-h".
.TP
\-\-literal
Take file name arguments literally, do not expand wildcards. This has no
effect on Unix where the shell expands wildcards.
.TP
\-\-noplugin
Skip loading plugins. Implied by \-u NONE.
.TP
\-\-remote
Connect to a Vim server and make it edit the files given in the rest of the
arguments. If no server is found a warning is given and the files are edited
in the current Vim.
.TP
\-\-remote\-expr {expr}
Connect to a Vim server, evaluate {expr} in it and print the result on stdout.
.TP
\-\-remote\-send {keys}
Connect to a Vim server and send {keys} to it.
.TP
\-\-remote\-silent
As \-\-remote, but without the warning when no server is found.
.TP
\-\-remote\-wait
As \-\-remote, but Vim does not exit until the files have been edited.
.TP
\-\-remote\-wait\-silent
As \-\-remote\-wait, but without the warning when no server is found.
.TP
\-\-serverlist
List the names of all Vim servers that can be found.
.TP
\-\-servername {name}
Use {name} as the server name. Used for the current Vim, unless used with a
\-\-remote argument, then it's the name of the server to connect to.
.TP
\-\-socketid {id}
GTK GUI only: Use the GtkPlug mechanism to run gvim in another window.
.TP
\-\-version
Print version information and exit.
.SH ON-LINE HELP
Type ":help" in
.B Vim
to get started.
Type ":help subject" to get help on a specific subject.
For example: ":help ZZ" to get help for the "ZZ" command.
Use <Tab> and CTRL-D to complete subjects (":help cmdline\-completion").
Tags are present to jump from one place to another (sort of hypertext links,
see ":help").
All documentation files can be viewed in this way, for example
":help syntax.txt".
.SH FILES
.TP 15
/usr/local/lib/vim/doc/*.txt
The
.B Vim
documentation files.
Use ":help doc\-file\-list" to get the complete list.
.TP
/usr/local/lib/vim/doc/tags
The tags file used for finding information in the documentation files.
.TP
/usr/local/lib/vim/syntax/syntax.vim
System wide syntax initializations.
.TP
/usr/local/lib/vim/syntax/*.vim
Syntax files for various languages.
.TP
/usr/local/lib/vim/vimrc
System wide
.B Vim
initializations.
.TP
~/.vimrc
Your personal
.B Vim
initializations.
.TP
/usr/local/lib/vim/gvimrc
System wide gvim initializations.
.TP
~/.gvimrc
Your personal gvim initializations.
.TP
/usr/local/lib/vim/optwin.vim
Script used for the ":options" command, a nice way to view and set options.
.TP
/usr/local/lib/vim/menu.vim
System wide menu initializations for gvim.
.TP
/usr/local/lib/vim/bugreport.vim
Script to generate a bug report. See ":help bugs".
.TP
/usr/local/lib/vim/filetype.vim
Script to detect the type of a file by its name. See ":help 'filetype'".
.TP
/usr/local/lib/vim/scripts.vim
Script to detect the type of a file by its contents. See ":help 'filetype'".
.TP
/usr/local/lib/vim/print/*.ps
Files used for PostScript printing.
.PP
For recent info read the VIM home page:
.br
<URL:http://www.vim.org/>
.SH SEE ALSO
vimtutor(1)
.SH AUTHOR
Most of
.B Vim
was made by Bram Moolenaar, with a lot of help from others.
See ":help credits" in
.B Vim.
.br
.B Vim
is based on Stevie, worked on by: Tim Thompson,
Tony Andrews and G.R. (Fred) Walter.
Although hardly any of the original code remains.
.SH BUGS
Probably.
See ":help todo" for a list of known problems.
.PP
Note that a number of things that may be regarded as bugs by some, are in fact
caused by a too-faithful reproduction of Vi's behaviour.
And if you think other things are bugs "because Vi does it differently",
you should take a closer look at the vi_diff.txt file (or type :help
vi_diff.txt when in Vim).
Also have a look at the 'compatible' and 'cpoptions' options.

@ -0,0 +1,428 @@
VIM(1) VIM(1)
NAME
vim - Vi IMproved, a programmers text editor
SYNOPSIS
vim [options] [file ..]
vim [options] -
vim [options] -t tag
vim [options] -q [errorfile]
ex
view
gvim gview evim eview
rvim rview rgvim rgview
DESCRIPTION
Vim is a text editor that is upwards compatible to Vi. It can be used
to edit all kinds of plain text. It is especially useful for editing
programs.
There are a lot of enhancements above Vi: multi level undo, multi win-
dows and buffers, syntax highlighting, command line editing, filename
completion, on-line help, visual selection, etc.. See ":help
vi_diff.txt" for a summary of the differences between Vim and Vi.
While running Vim a lot of help can be obtained from the on-line help
system, with the ":help" command. See the ON-LINE HELP section below.
Most often Vim is started to edit a single file with the command
vim file
More generally Vim is started with:
vim [options] [filelist]
If the filelist is missing, the editor will start with an empty buffer.
Otherwise exactly one out of the following four may be used to choose
one or more files to be edited.
file .. A list of filenames. The first one will be the current
file and read into the buffer. The cursor will be posi-
tioned on the first line of the buffer. You can get to the
other files with the ":next" command. To edit a file that
starts with a dash, precede the filelist with "--".
- The file to edit is read from stdin. Commands are read
from stderr, which should be a tty.
-t {tag} The file to edit and the initial cursor position depends on
a "tag", a sort of goto label. {tag} is looked up in the
tags file, the associated file becomes the current file and
the associated command is executed. Mostly this is used
for C programs, in which case {tag} could be a function
name. The effect is that the file containing that function
becomes the current file and the cursor is positioned on
the start of the function. See ":help tag-commands".
-q [errorfile]
Start in quickFix mode. The file [errorfile] is read and
the first error is displayed. If [errorfile] is omitted,
the filename is obtained from the 'errorfile' option
(defaults to "AztecC.Err" for the Amiga, "errors.err" on
other systems). Further errors can be jumped to with the
":cn" command. See ":help quickfix".
Vim behaves differently, depending on the name of the command (the exe-
cutable may still be the same file).
vim The "normal" way, everything is default.
ex Start in Ex mode. Go to Normal mode with the ":vi" command.
Can also be done with the "-e" argument.
view Start in read-only mode. You will be protected from writing
the files. Can also be done with the "-R" argument.
gvim gview
The GUI version. Starts a new window. Can also be done with
the "-g" argument.
evim eview
The GUI version in easy mode. Starts a new window. Can also
be done with the "-y" argument.
rvim rview rgvim rgview
Like the above, but with restrictions. It will not be possi-
ble to start shell commands, or suspend Vim. Can also be
done with the "-Z" argument.
OPTIONS
The options may be given in any order, before or after filenames.
Options without an argument can be combined after a single dash.
+[num] For the first file the cursor will be positioned on line
"num". If "num" is missing, the cursor will be positioned
on the last line.
+/{pat} For the first file the cursor will be positioned on the
first occurrence of {pat}. See ":help search-pattern" for
the available search patterns.
+{command}
-c {command}
{command} will be executed after the first file has been
read. {command} is interpreted as an Ex command. If the
{command} contains spaces it must be enclosed in double
quotes (this depends on the shell that is used). Example:
Vim "+set si" main.c
Note: You can use up to 10 "+" or "-c" commands.
-S {file} {file} will be sourced after the first file has been read.
This is equivalent to -c "source {file}". {file} cannot
start with '-'. If {file} is omitted "Session.vim" is used
(only works when -S is the last argument).
--cmd {command}
Like using "-c", but the command is executed just before
processing any vimrc file. You can use up to 10 of these
commands, independently from "-c" commands.
-A If Vim has been compiled with ARABIC support for editing
right-to-left oriented files and Arabic keyboard mapping,
this option starts Vim in Arabic mode, i.e. 'arabic' is
set. Otherwise an error message is given and Vim aborts.
-b Binary mode. A few options will be set that makes it pos-
sible to edit a binary or executable file.
-C Compatible. Set the 'compatible' option. This will make
Vim behave mostly like Vi, even though a .vimrc file
exists.
-d Start in diff mode. There should be two, three or four
file name arguments. Vim will open all the files and show
differences between them. Works like vimdiff(1).
-d {device} Open {device} for use as a terminal. Only on the Amiga.
Example: "-d con:20/30/600/150".
-D Debugging. Go to debugging mode when executing the first
command from a script.
-e Start Vim in Ex mode, just like the executable was called
"ex".
-E Start Vim in improved Ex mode, just like the executable was
called "exim".
-f Foreground. For the GUI version, Vim will not fork and
detach from the shell it was started in. On the Amiga, Vim
is not restarted to open a new window. This option should
be used when Vim is executed by a program that will wait
for the edit session to finish (e.g. mail). On the Amiga
the ":sh" and ":!" commands will not work.
--nofork Foreground. For the GUI version, Vim will not fork and
detach from the shell it was started in.
-F If Vim has been compiled with FKMAP support for editing
right-to-left oriented files and Farsi keyboard mapping,
this option starts Vim in Farsi mode, i.e. 'fkmap' and
'rightleft' are set. Otherwise an error message is given
and Vim aborts.
-g If Vim has been compiled with GUI support, this option
enables the GUI. If no GUI support was compiled in, an
error message is given and Vim aborts.
-h Give a bit of help about the command line arguments and
options. After this Vim exits.
-H If Vim has been compiled with RIGHTLEFT support for editing
right-to-left oriented files and Hebrew keyboard mapping,
this option starts Vim in Hebrew mode, i.e. 'hkmap' and
'rightleft' are set. Otherwise an error message is given
and Vim aborts.
-i {viminfo}
When using the viminfo file is enabled, this option sets
the filename to use, instead of the default "~/.viminfo".
This can also be used to skip the use of the .viminfo file,
by giving the name "NONE".
-L Same as -r.
-l Lisp mode. Sets the 'lisp' and 'showmatch' options on.
-m Modifying files is disabled. Resets the 'write' option.
You can still modify the buffer, but writing a file is not
possible.
-M Modifications not allowed. The 'modifiable' and 'write'
options will be unset, so that changes are not allowed and
files can not be written. Note that these options can be
set to enable making modifications.
-N No-compatible mode. Reset the 'compatible' option. This
will make Vim behave a bit better, but less Vi compatible,
even though a .vimrc file does not exist.
-n No swap file will be used. Recovery after a crash will be
impossible. Handy if you want to edit a file on a very
slow medium (e.g. floppy). Can also be done with ":set
uc=0". Can be undone with ":set uc=200".
-nb Become an editor server for NetBeans. See the docs for
details.
-o[N] Open N windows stacked. When N is omitted, open one window
for each file.
-O[N] Open N windows side by side. When N is omitted, open one
window for each file.
-p[N] Open N tab pages. When N is omitted, open one tab page for
each file.
-R Read-only mode. The 'readonly' option will be set. You
can still edit the buffer, but will be prevented from acci-
dently overwriting a file. If you do want to overwrite a
file, add an exclamation mark to the Ex command, as in
":w!". The -R option also implies the -n option (see
below). The 'readonly' option can be reset with ":set
noro". See ":help 'readonly'".
-r List swap files, with information about using them for
recovery.
-r {file} Recovery mode. The swap file is used to recover a crashed
editing session. The swap file is a file with the same
filename as the text file with ".swp" appended. See ":help
recovery".
-s Silent mode. Only when started as "Ex" or when the "-e"
option was given before the "-s" option.
-s {scriptin}
The script file {scriptin} is read. The characters in the
file are interpreted as if you had typed them. The same
can be done with the command ":source! {scriptin}". If the
end of the file is reached before the editor exits, further
characters are read from the keyboard.
-T {terminal}
Tells Vim the name of the terminal you are using. Only
required when the automatic way doesn't work. Should be a
terminal known to Vim (builtin) or defined in the termcap
or terminfo file.
-u {vimrc} Use the commands in the file {vimrc} for initializations.
All the other initializations are skipped. Use this to
edit a special kind of files. It can also be used to skip
all initializations by giving the name "NONE". See ":help
initialization" within vim for more details.
-U {gvimrc} Use the commands in the file {gvimrc} for GUI initializa-
tions. All the other GUI initializations are skipped. It
can also be used to skip all GUI initializations by giving
the name "NONE". See ":help gui-init" within vim for more
details.
-V[N] Verbose. Give messages about which files are sourced and
for reading and writing a viminfo file. The optional num-
ber N is the value for 'verbose'. Default is 10.
-v Start Vim in Vi mode, just like the executable was called
"vi". This only has effect when the executable is called
"ex".
-w {scriptout}
All the characters that you type are recorded in the file
{scriptout}, until you exit Vim. This is useful if you
want to create a script file to be used with "vim -s" or
":source!". If the {scriptout} file exists, characters are
appended.
-W {scriptout}
Like -w, but an existing file is overwritten.
-x Use encryption when writing files. Will prompt for a crypt
key.
-X Don't connect to the X server. Shortens startup time in a
terminal, but the window title and clipboard will not be
used.
-y Start Vim in easy mode, just like the executable was called
"evim" or "eview". Makes Vim behave like a click-and-type
editor.
-Z Restricted mode. Works like the executable starts with
"r".
-- Denotes the end of the options. Arguments after this will
be handled as a file name. This can be used to edit a
filename that starts with a '-'.
--echo-wid GTK GUI only: Echo the Window ID on stdout.
--help Give a help message and exit, just like "-h".
--literal Take file name arguments literally, do not expand wild-
cards. This has no effect on Unix where the shell expands
wildcards.
--noplugin Skip loading plugins. Implied by -u NONE.
--remote Connect to a Vim server and make it edit the files given in
the rest of the arguments. If no server is found a warning
is given and the files are edited in the current Vim.
--remote-expr {expr}
Connect to a Vim server, evaluate {expr} in it and print
the result on stdout.
--remote-send {keys}
Connect to a Vim server and send {keys} to it.
--remote-silent
As --remote, but without the warning when no server is
found.
--remote-wait
As --remote, but Vim does not exit until the files have
been edited.
--remote-wait-silent
As --remote-wait, but without the warning when no server is
found.
--serverlist
List the names of all Vim servers that can be found.
--servername {name}
Use {name} as the server name. Used for the current Vim,
unless used with a --remote argument, then it's the name of
the server to connect to.
--socketid {id}
GTK GUI only: Use the GtkPlug mechanism to run gvim in
another window.
--version Print version information and exit.
ON-LINE HELP
Type ":help" in Vim to get started. Type ":help subject" to get help
on a specific subject. For example: ":help ZZ" to get help for the
"ZZ" command. Use <Tab> and CTRL-D to complete subjects (":help cmd-
line-completion"). Tags are present to jump from one place to another
(sort of hypertext links, see ":help"). All documentation files can be
viewed in this way, for example ":help syntax.txt".
FILES
/usr/local/lib/vim/doc/*.txt
The Vim documentation files. Use ":help doc-file-list"
to get the complete list.
/usr/local/lib/vim/doc/tags
The tags file used for finding information in the docu-
mentation files.
/usr/local/lib/vim/syntax/syntax.vim
System wide syntax initializations.
/usr/local/lib/vim/syntax/*.vim
Syntax files for various languages.
/usr/local/lib/vim/vimrc
System wide Vim initializations.
~/.vimrc Your personal Vim initializations.
/usr/local/lib/vim/gvimrc
System wide gvim initializations.
~/.gvimrc Your personal gvim initializations.
/usr/local/lib/vim/optwin.vim
Script used for the ":options" command, a nice way to
view and set options.
/usr/local/lib/vim/menu.vim
System wide menu initializations for gvim.
/usr/local/lib/vim/bugreport.vim
Script to generate a bug report. See ":help bugs".
/usr/local/lib/vim/filetype.vim
Script to detect the type of a file by its name. See
":help 'filetype'".
/usr/local/lib/vim/scripts.vim
Script to detect the type of a file by its contents.
See ":help 'filetype'".
/usr/local/lib/vim/print/*.ps
Files used for PostScript printing.
For recent info read the VIM home page:
<URL:http://www.vim.org/>
SEE ALSO
vimtutor(1)
AUTHOR
Most of Vim was made by Bram Moolenaar, with a lot of help from others.
See ":help credits" in Vim.
Vim is based on Stevie, worked on by: Tim Thompson, Tony Andrews and
G.R. (Fred) Walter. Although hardly any of the original code remains.
BUGS
Probably. See ":help todo" for a list of known problems.
Note that a number of things that may be regarded as bugs by some, are
in fact caused by a too-faithful reproduction of Vi's behaviour. And
if you think other things are bugs "because Vi does it differently",
you should take a closer look at the vi_diff.txt file (or type :help
vi_diff.txt when in Vim). Also have a look at the 'compatible' and
'cpoptions' options.
2006 Apr 11 VIM(1)

@ -0,0 +1,228 @@
#!/usr/bin/env perl
# converts vim documentation to simple html
# Sirtaj Singh Kang (taj@kde.org)
# Sun Feb 24 14:49:17 CET 2002
use strict;
use vars qw/%url $date/;
%url = ();
$date = `date`;
chop $date;
sub maplink
{
my $tag = shift;
if( exists $url{ $tag } ){
return $url{ $tag };
} else {
#warn "Unknown hyperlink target: $tag\n";
$tag =~ s/\.txt//;
$tag =~ s/</&lt;/g;
$tag =~ s/>/&gt;/g;
return "<code class=\"badlink\">$tag</code>";
}
}
sub readTagFile
{
my($tagfile) = @_;
my( $tag, $file, $name );
open(TAGS,"$tagfile") || die "can't read tags\n";
while( <TAGS> ) {
next unless /^(\S+)\s+(\S+)\s+/;
$tag = $1;
my $label = $tag;
($file= $2) =~ s/.txt$/.html/g;
$label =~ s/\.txt//;
$url{ $tag } = "<a href=\"$file#".escurl($tag)."\">".esctext($label)."</a>";
}
close( TAGS );
}
sub esctext
{
my $text = shift;
$text =~ s/&/&amp;/g;
$text =~ s/</&lt;/g;
$text =~ s/>/&gt;/g;
return $text;
}
sub escurl
{
my $url = shift;
$url =~ s/"/%22/g;
$url =~ s/~/%7E/g;
$url =~ s/</%3C/g;
$url =~ s/>/%3E/g;
$url =~ s/=/%20/g;
$url =~ s/#/%23/g;
$url =~ s/\//%2F/g;
return $url;
}
sub vim2html
{
my( $infile ) = @_;
my( $outfile );
open(IN, "$infile" ) || die "Couldn't read from $infile: $!.\n";
($outfile = $infile) =~ s:.*/::g;
$outfile =~ s/\.txt$//g;
open( OUT, ">$outfile.html" )
|| die "Couldn't write to $outfile.html: $!.\n";
my $head = uc( $outfile );
print OUT<<EOF;
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>VIM: $outfile</title>
<link rel="stylesheet" href="vim-stylesheet.css" type="text/css">
</head>
<body>
<h2>$head</h2>
<pre>
EOF
my $inexample = 0;
while( <IN> ) {
chop;
if ( /^\s*[-=]+\s*$/ ) {
print OUT "</pre><hr><pre>";
next;
}
# examples
elsif( /^>$/ || /\s>$/ ) {
$inexample = 1;
chop;
}
elsif ( $inexample && /^([<\S])/ ) {
$inexample = 0;
$_ = $' if $1 eq "<";
}
s/\s+$//g;
# Various vim highlights. note that < and > have already been escaped
# so that HTML doesn't get screwed up.
my @out = ();
# print "Text: $_\n";
LOOP:
foreach my $token ( split /((?:\|[^\|]+\|)|(?:\*[^\*]+\*))/ ) {
if ( $token =~ /^\|([^\|]+)\|/ ) {
# link
push( @out, "|".maplink( $1 )."|" );
next LOOP;
}
elsif ( $token =~ /^\*([^\*]+)\*/ ) {
# target
push( @out,
"<b class=\"vimtag\">\*<a name=\"".escurl($1)."\">".esctext($1)."<\/a>\*<\/b>");
next LOOP;
}
$_ = esctext($token);
s/CTRL-(\w+)/<code class="keystroke">CTRL-$1<\/code>/g;
# parameter <...>
s/&lt;(.*?)&gt;/<code class="special">&lt;$1&gt;<\/code>/g;
# parameter {...}
s/\{([^}]*)\}/<code class="special">{$1}<\/code>/g;
# parameter [...]
s/\[(range|line|count|offset|cmd|[-+]?num)\]/<code class="special">\[$1\]<\/code>/g;
# note
s/(Note:?)/<code class="note">$1<\/code>/gi;
# local heading
s/^(.*)\~$/<code class="section">$1<\/code>/g;
push( @out, $_ );
}
$_ = join( "", @out );
if( $inexample == 2 ) {
print OUT "<code class=\"example\">$_</code>\n";
} else {
print OUT $_,"\n";
}
$inexample = 2 if $inexample == 1;
}
print OUT<<EOF;
</pre>
<p><i>Generated by vim2html on $date</i></p>
</body>
</html>
EOF
}
sub usage
{
die<<EOF;
vim2html.pl: converts vim documentation to HTML.
usage:
vim2html.pl <tag file> <text files>
EOF
}
sub writeCSS
{
open( CSS, ">vim-stylesheet.css" ) || die "Couldn't write stylesheet: $!\n";
print CSS<<EOF;
body { background-color: white; color: black;}
:link { color: rgb(0,137,139); }
:visited { color: rgb(0,100,100);
background-color: white; /* should be inherit */ }
:active { color: rgb(0,200,200);
background-color: white; /* should be inherit */ }
B.vimtag { color : rgb(250,0,250); }
h1, h2 { color: rgb(82,80,82); text-align: center; }
h3, h4, h5, h6 { color: rgb(82,80,82); }
.headline { color: rgb(0,137,139); }
.header { color: rgb(164, 32, 246); }
.section { color: rgb(164, 32, 246); }
.keystroke { color: rgb(106, 89, 205); }
.vim { }
.example { color: rgb(0, 0, 255); }
.option { }
.notvi { }
.special { color: rgb(106, 89, 205); }
.note { color: blue; background-color: yellow; }
.sub {}
.badlink { color: rgb(0,37,39); }
EOF
}
# main
usage() if $#ARGV < 1;
print "Processing tags...\n";
readTagFile( $ARGV[ 0 ] );
foreach my $file ( 1..$#ARGV ) {
print "Processing ".$ARGV[ $file ]."...\n";
vim2html( $ARGV[ $file ] );
}
print "Writing stylesheet...\n";
writeCSS();
print "done.\n"

@ -0,0 +1,46 @@
.TH VIMDIFF 1 "2001 March 30"
.SH NAME
vimdiff \- edit two, three or four versions of a file with Vim and show differences
.SH SYNOPSIS
.br
.B vimdiff
[options] file1 file2 [file3 [file4]]
.PP
.B gvimdiff
.SH DESCRIPTION
.B Vimdiff
starts
.B Vim
on two (or three or four) files.
Each file gets its own window.
The differences between the files are highlighted.
This is a nice way to inspect changes and to move changes from one version
to another version of the same file.
.PP
See vim(1) for details about Vim itself.
.PP
When started as
.B gvimdiff
the GUI will be started, if available.
.PP
In each window the 'diff' option will be set, which causes the differences
to be highlighted.
.br
The 'wrap' and 'scrollbind' options are set to make the text look good.
.br
The 'foldmethod' option is set to "diff", which puts ranges of lines without
changes in a fold. 'foldcolumn' is set to two to make it easy to spot the
folds and open or close them.
.SH OPTIONS
Vertical splits are used to align the lines, as if the "\-O" argument was used.
To use horizontal splits instead, use the "\-o" argument.
.PP
For all other arguments see vim(1).
.SH SEE ALSO
vim(1)
.SH AUTHOR
Most of
.B Vim
was made by Bram Moolenaar, with a lot of help from others.
See ":help credits" in
.B Vim.

@ -0,0 +1,46 @@
VIMDIFF(1) VIMDIFF(1)
NAME
vimdiff - edit two, three or four versions of a file with Vim and show
differences
SYNOPSIS
vimdiff [options] file1 file2 [file3 [file4]]
gvimdiff
DESCRIPTION
Vimdiff starts Vim on two (or three or four) files. Each file gets its
own window. The differences between the files are highlighted. This
is a nice way to inspect changes and to move changes from one version
to another version of the same file.
See vim(1) for details about Vim itself.
When started as gvimdiff the GUI will be started, if available.
In each window the 'diff' option will be set, which causes the differ-
ences to be highlighted.
The 'wrap' and 'scrollbind' options are set to make the text look good.
The 'foldmethod' option is set to "diff", which puts ranges of lines
without changes in a fold. 'foldcolumn' is set to two to make it easy
to spot the folds and open or close them.
OPTIONS
Vertical splits are used to align the lines, as if the "-O" argument
was used. To use horizontal splits instead, use the "-o" argument.
For all other arguments see vim(1).
SEE ALSO
vim(1)
AUTHOR
Most of Vim was made by Bram Moolenaar, with a lot of help from others.
See ":help credits" in Vim.
2001 March 30 VIMDIFF(1)

@ -0,0 +1,57 @@
.TH VIMTUTOR 1 "2001 April 2"
.SH NAME
vimtutor \- the Vim tutor
.SH SYNOPSIS
.br
.B vimtutor [\-g] [language]
.SH DESCRIPTION
.B Vimtutor
starts the
.B Vim
tutor.
It copies the tutor file first, so that it can be modified without changing
the original file.
.PP
The
.B Vimtutor
is useful for people that want to learn their first
.B Vim
commands.
.PP
The optional argument \-g starts vimtutor with gvim rather than vim, if the
GUI version of vim is available, or falls back to Vim if gvim is not found.
.PP
The optional [language] argument is the two-letter name of a language, like
"it" or "es".
If the [language] argument is missing, the language of the current locale will
be used.
If a tutor in this language is available, it will be used.
Otherwise the English version will be used.
.PP
.B Vim
is always started in Vi compatible mode.
.SH FILES
.TP 15
/usr/local/lib/vim/tutor/tutor[.language]
The
.B Vimtutor
text file(s).
.TP 15
/usr/local/lib/vim/tutor/tutor.vim
The Vim script used to copy the
.B Vimtutor
text file.
.SH AUTHOR
The
.B Vimtutor
was originally written for Vi by Michael C. Pierce and Robert K. Ware,
Colorado School of Mines using ideas supplied by Charles Smith,
Colorado State University.
E-mail: bware@mines.colorado.edu.
.br
It was modified for
.B Vim
by Bram Moolenaar.
For the names of the translators see the tutor files.
.SH SEE ALSO
vim(1)

@ -0,0 +1,50 @@
VIMTUTOR(1) VIMTUTOR(1)
NAME
vimtutor - the Vim tutor
SYNOPSIS
vimtutor [-g] [language]
DESCRIPTION
Vimtutor starts the Vim tutor. It copies the tutor file first, so that
it can be modified without changing the original file.
The Vimtutor is useful for people that want to learn their first Vim
commands.
The optional argument -g starts vimtutor with gvim rather than vim, if
the GUI version of vim is available, or falls back to Vim if gvim is
not found.
The optional [language] argument is the two-letter name of a language,
like "it" or "es". If the [language] argument is missing, the language
of the current locale will be used. If a tutor in this language is
available, it will be used. Otherwise the English version will be
used.
Vim is always started in Vi compatible mode.
FILES
/usr/local/lib/vim/tutor/tutor[.language]
The Vimtutor text file(s).
/usr/local/lib/vim/tutor/tutor.vim
The Vim script used to copy the Vimtutor text file.
AUTHOR
The Vimtutor was originally written for Vi by Michael C. Pierce and
Robert K. Ware, Colorado School of Mines using ideas supplied by
Charles Smith, Colorado State University. E-mail: bware@mines.col
orado.edu.
It was modified for Vim by Bram Moolenaar. For the names of the trans
lators see the tutor files.
SEE ALSO
vim(1)
2001 April 2 VIMTUTOR(1)

@ -0,0 +1,370 @@
.TH XXD 1 "August 1996" "Manual page for xxd"
.\"
.\" 21st May 1996
.\" Man page author:
.\" Tony Nugent <tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au>
.\" Changes by Bram Moolenaar <Bram@vim.org>
.SH NAME
.I xxd
\- make a hexdump or do the reverse.
.SH SYNOPSIS
.B xxd
\-h[elp]
.br
.B xxd
[options] [infile [outfile]]
.br
.B xxd
\-r[evert] [options] [infile [outfile]]
.SH DESCRIPTION
.I xxd
creates a hex dump of a given file or standard input.
It can also convert a hex dump back to its original binary form.
Like
.BR uuencode (1)
and
.BR uudecode (1)
it allows the transmission of binary data in a `mail-safe' ASCII representation,
but has the advantage of decoding to standard output.
Moreover, it can be used to perform binary file patching.
.SH OPTIONS
If no
.I infile
is given, standard input is read.
If
.I infile
is specified as a
.RB \` \- '
character, then input is taken from standard input.
If no
.I outfile
is given (or a
.RB \` \- '
character is in its place), results are sent to standard output.
.PP
Note that a "lazy" parser is used which does not check for more than the first
option letter, unless the option is followed by a parameter.
Spaces between a single option letter and its parameter are optional.
Parameters to options can be specified in decimal, hexadecimal or octal
notation.
Thus
.BR \-c8 ,
.BR "\-c 8" ,
.B \-c 010
and
.B \-cols 8
are all equivalent.
.PP
.TP
.IR \-a " | " \-autoskip
toggle autoskip: A single '*' replaces nul-lines. Default off.
.TP
.IR \-b " | " \-bits
Switch to bits (binary digits) dump, rather than hexdump.
This option writes octets as eight digits "1"s and "0"s instead of a normal
hexadecimal dump. Each line is preceded by a line number in hexadecimal and
followed by an ascii (or ebcdic) representation. The command line switches
\-r, \-p, \-i do not work with this mode.
.TP
.IR "\-c cols " | " \-cols cols"
format
.RI < cols >
octets per line. Default 16 (\-i: 12, \-ps: 30, \-b: 6). Max 256.
.TP
.IR \-E " | " \-EBCDIC
Change the character encoding in the righthand column from ASCII to EBCDIC.
This does not change the hexadecimal representation. The option is
meaningless in combinations with \-r, \-p or \-i.
.TP
.IR "\-g bytes " | " \-groupsize bytes"
separate the output of every
.RI < bytes >
bytes (two hex characters or eight bit-digits each) by a whitespace.
Specify
.I \-g 0
to suppress grouping.
.RI < Bytes "> defaults to " 2
in normal mode and \fI1\fP in bits mode.
Grouping does not apply to postscript or include style.
.TP
.IR \-h " | " \-help
print a summary of available commands and exit. No hex dumping is performed.
.TP
.IR \-i " | " \-include
output in C include file style. A complete static array definition is written
(named after the input file), unless xxd reads from stdin.
.TP
.IR "\-l len " | " \-len len"
stop after writing
.RI < len >
octets.
.TP
.IR \-p " | " \-ps " | " \-postscript " | " \-plain
output in postscript continuous hexdump style. Also known as plain hexdump
style.
.TP
.IR \-r " | " \-revert
reverse operation: convert (or patch) hexdump into binary.
If not writing to stdout, xxd writes into its output file without truncating
it. Use the combination
.I \-r \-p
to read plain hexadecimal dumps without line number information and without a
particular column layout. Additional Whitespace and line-breaks are allowed
anywhere.
.TP
.I \-seek offset
When used after
.IR \-r :
revert with
.RI < offset >
added to file positions found in hexdump.
.TP
.I \-s [+][\-]seek
start at
.RI < seek >
bytes abs. (or rel.) infile offset.
\fI+ \fRindicates that the seek is relative to the current stdin file position
(meaningless when not reading from stdin). \fI\- \fRindicates that the seek
should be that many characters from the end of the input (or if combined with
\fI+\fR: before the current stdin file position).
Without \-s option, xxd starts at the current file position.
.TP
.I \-u
use upper case hex letters. Default is lower case.
.TP
.IR \-v " | " \-version
show version string.
.SH CAVEATS
.PP
.I xxd \-r
has some builtin magic while evaluating line number information.
If the output file is seekable, then the linenumbers at the start of each
hexdump line may be out of order, lines may be missing, or overlapping. In
these cases xxd will lseek(2) to the next position. If the output file is not
seekable, only gaps are allowed, which will be filled by null-bytes.
.PP
.I xxd \-r
never generates parse errors. Garbage is silently skipped.
.PP
When editing hexdumps, please note that
.I xxd \-r
skips everything on the input line after reading enough columns of hexadecimal
data (see option \-c). This also means, that changes to the printable ascii (or
ebcdic) columns are always ignored. Reverting a plain (or postscript) style
hexdump with xxd \-r \-p does not depend on the correct number of columns. Here anything that looks like a pair of hex-digits is interpreted.
.PP
Note the difference between
.br
\fI% xxd \-i file\fR
.br
and
.br
\fI% xxd \-i < file\fR
.PP
.I xxd \-s +seek
may be different from
.IR "xxd \-s seek" ,
as lseek(2) is used to "rewind" input. A '+'
makes a difference if the input source is stdin, and if stdin's file position
is not at the start of the file by the time xxd is started and given its input.
The following examples may help to clarify (or further confuse!)...
.PP
Rewind stdin before reading; needed because the `cat' has already read to the
end of stdin.
.br
\fI% sh \-c "cat > plain_copy; xxd \-s 0 > hex_copy" < file\fR
.PP
Hexdump from file position 0x480 (=1024+128) onwards.
The `+' sign means "relative to the current position", thus the `128' adds to
the 1k where dd left off.
.br
\fI% sh \-c "dd of=plain_snippet bs=1k count=1; xxd \-s +128 > hex_snippet" < file\fR
.PP
Hexdump from file position 0x100 ( = 1024\-768) on.
.br
\fI% sh \-c "dd of=plain_snippet bs=1k count=1; xxd \-s +\-768 > hex_snippet" < file\fR
.PP
However, this is a rare situation and the use of `+' is rarely needed.
The author prefers to monitor the effect of xxd with strace(1) or truss(1), whenever \-s is used.
.SH EXAMPLES
.PP
.br
Print everything but the first three lines (hex 0x30 bytes) of
.BR file .
.br
\fI% xxd \-s 0x30 file\fR
.PP
.br
Print 3 lines (hex 0x30 bytes) from the end of
.BR file .
.br
\fI% xxd \-s \-0x30 file\fR
.PP
.br
Print 120 bytes as continuous hexdump with 20 octets per line.
.br
\fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
.br
2e54482058584420312022417567757374203139
.br
39362220224d616e75616c207061676520666f72
.br
20787864220a2e5c220a2e5c222032317374204d
.br
617920313939360a2e5c22204d616e2070616765
.br
20617574686f723a0a2e5c2220202020546f6e79
.br
204e7567656e74203c746f6e79407363746e7567
.br
.br
Hexdump the first 120 bytes of this man page with 12 octets per line.
.br
\fI% xxd \-l 120 \-c 12 xxd.1\fR
.br
0000000: 2e54 4820 5858 4420 3120 2241 .TH XXD 1 "A
.br
000000c: 7567 7573 7420 3139 3936 2220 ugust 1996"
.br
0000018: 224d 616e 7561 6c20 7061 6765 "Manual page
.br
0000024: 2066 6f72 2078 7864 220a 2e5c for xxd"..\\
.br
0000030: 220a 2e5c 2220 3231 7374 204d "..\\" 21st M
.br
000003c: 6179 2031 3939 360a 2e5c 2220 ay 1996..\\"
.br
0000048: 4d61 6e20 7061 6765 2061 7574 Man page aut
.br
0000054: 686f 723a 0a2e 5c22 2020 2020 hor:..\\"
.br
0000060: 546f 6e79 204e 7567 656e 7420 Tony Nugent
.br
000006c: 3c74 6f6e 7940 7363 746e 7567 <tony@sctnug
.PP
.br
Display just the date from the file xxd.1
.br
\fI% xxd \-s 0x36 \-l 13 \-c 13 xxd.1\fR
.br
0000036: 3231 7374 204d 6179 2031 3939 36 21st May 1996
.PP
.br
Copy
.B input_file
to
.B output_file
and prepend 100 bytes of value 0x00.
.br
\fI% xxd input_file | xxd \-r \-s 100 > output_file\fR
.br
.br
Patch the date in the file xxd.1
.br
\fI% echo "0000037: 3574 68" | xxd \-r \- xxd.1\fR
.br
\fI% xxd \-s 0x36 \-l 13 \-c 13 xxd.1\fR
.br
0000036: 3235 7468 204d 6179 2031 3939 36 25th May 1996
.PP
.br
Create a 65537 byte file with all bytes 0x00,
except for the last one which is 'A' (hex 0x41).
.br
\fI% echo "010000: 41" | xxd \-r > file\fR
.PP
.br
Hexdump this file with autoskip.
.br
\fI% xxd \-a \-c 12 file\fR
.br
0000000: 0000 0000 0000 0000 0000 0000 ............
.br
*
.br
000fffc: 0000 0000 40 ....A
.PP
Create a 1 byte file containing a single 'A' character.
The number after '\-r \-s' adds to the linenumbers found in the file;
in effect, the leading bytes are suppressed.
.br
\fI% echo "010000: 41" | xxd \-r \-s \-0x10000 > file\fR
.PP
Use xxd as a filter within an editor such as
.B vim(1)
to hexdump a region marked between `a' and `z'.
.br
\fI:'a,'z!xxd\fR
.PP
Use xxd as a filter within an editor such as
.B vim(1)
to recover a binary hexdump marked between `a' and `z'.
.br
\fI:'a,'z!xxd \-r\fR
.PP
Use xxd as a filter within an editor such as
.B vim(1)
to recover one line of a hexdump. Move the cursor over the line and type:
.br
\fI!!xxd \-r\fR
.PP
Read single characters from a serial line
.br
\fI% xxd \-c1 < /dev/term/b &\fR
.br
\fI% stty < /dev/term/b \-echo \-opost \-isig \-icanon min 1\fR
.br
\fI% echo \-n foo > /dev/term/b\fR
.PP
.SH "RETURN VALUES"
The following error values are returned:
.TP
0
no errors encountered.
.TP
\-1
operation not supported (
.I xxd \-r \-i
still impossible).
.TP
1
error while parsing options.
.TP
2
problems with input file.
.TP
3
problems with output file.
.TP
4,5
desired seek position is unreachable.
.SH "SEE ALSO"
uuencode(1), uudecode(1), patch(1)
.br
.SH WARNINGS
The tools weirdness matches its creators brain.
Use entirely at your own risk. Copy files. Trace it. Become a wizard.
.br
.SH VERSION
This manual page documents xxd version 1.7
.SH AUTHOR
.br
(c) 1990-1997 by Juergen Weigert
.br
<jnweiger@informatik.uni\-erlangen.de>
.LP
Distribute freely and credit me,
.br
make money and share with me,
.br
lose money and don't ask me.
.PP
Manual page started by Tony Nugent
.br
<tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au>
.br
Small changes by Bram Moolenaar.
Edited by Juergen Weigert.
.PP

@ -0,0 +1,262 @@
XXD(1) XXD(1)
NAME
xxd - make a hexdump or do the reverse.
SYNOPSIS
xxd -h[elp]
xxd [options] [infile [outfile]]
xxd -r[evert] [options] [infile [outfile]]
DESCRIPTION
xxd creates a hex dump of a given file or standard input. It can also
convert a hex dump back to its original binary form. Like uuencode(1)
and uudecode(1) it allows the transmission of binary data in a `mail-
safe' ASCII representation, but has the advantage of decoding to stan-
dard output. Moreover, it can be used to perform binary file patching.
OPTIONS
If no infile is given, standard input is read. If infile is specified
as a `-' character, then input is taken from standard input. If no
outfile is given (or a `-' character is in its place), results are sent
to standard output.
Note that a "lazy" parser is used which does not check for more than
the first option letter, unless the option is followed by a parameter.
Spaces between a single option letter and its parameter are optional.
Parameters to options can be specified in decimal, hexadecimal or octal
notation. Thus -c8, -c 8, -c 010 and -cols 8 are all equivalent.
-a | -autoskip
toggle autoskip: A single '*' replaces nul-lines. Default off.
-b | -bits
Switch to bits (binary digits) dump, rather than hexdump. This
option writes octets as eight digits "1"s and "0"s instead of a
normal hexadecimal dump. Each line is preceded by a line number
in hexadecimal and followed by an ascii (or ebcdic) representa-
tion. The command line switches -r, -p, -i do not work with this
mode.
-c cols | -cols cols
format <cols> octets per line. Default 16 (-i: 12, -ps: 30, -b:
6). Max 256.
-E | -EBCDIC
Change the character encoding in the righthand column from ASCII
to EBCDIC. This does not change the hexadecimal representation.
The option is meaningless in combinations with -r, -p or -i.
-g bytes | -groupsize bytes
separate the output of every <bytes> bytes (two hex characters
or eight bit-digits each) by a whitespace. Specify -g 0 to sup-
press grouping. <Bytes> defaults to 2 in normal mode and 1 in
bits mode. Grouping does not apply to postscript or include
style.
-h | -help
print a summary of available commands and exit. No hex dumping
is performed.
-i | -include
output in C include file style. A complete static array defini-
tion is written (named after the input file), unless xxd reads
from stdin.
-l len | -len len
stop after writing <len> octets.
-p | -ps | -postscript | -plain
output in postscript continuous hexdump style. Also known as
plain hexdump style.
-r | -revert
reverse operation: convert (or patch) hexdump into binary. If
not writing to stdout, xxd writes into its output file without
truncating it. Use the combination -r -p to read plain hexadeci-
mal dumps without line number information and without a particu-
lar column layout. Additional Whitespace and line-breaks are
allowed anywhere.
-seek offset
When used after -r: revert with <offset> added to file positions
found in hexdump.
-s [+][-]seek
start at <seek> bytes abs. (or rel.) infile offset. + indicates
that the seek is relative to the current stdin file position
(meaningless when not reading from stdin). - indicates that the
seek should be that many characters from the end of the input
(or if combined with +: before the current stdin file position).
Without -s option, xxd starts at the current file position.
-u use upper case hex letters. Default is lower case.
-v | -version
show version string.
CAVEATS
xxd -r has some builtin magic while evaluating line number information.
If the output file is seekable, then the linenumbers at the start of
each hexdump line may be out of order, lines may be missing, or over-
lapping. In these cases xxd will lseek(2) to the next position. If the
output file is not seekable, only gaps are allowed, which will be
filled by null-bytes.
xxd -r never generates parse errors. Garbage is silently skipped.
When editing hexdumps, please note that xxd -r skips everything on the
input line after reading enough columns of hexadecimal data (see option
-c). This also means, that changes to the printable ascii (or ebcdic)
columns are always ignored. Reverting a plain (or postscript) style
hexdump with xxd -r -p does not depend on the correct number of col-
umns. Here anything that looks like a pair of hex-digits is inter-
preted.
Note the difference between
% xxd -i file
and
% xxd -i < file
xxd -s +seek may be different from xxd -s seek, as lseek(2) is used to
"rewind" input. A '+' makes a difference if the input source is stdin,
and if stdin's file position is not at the start of the file by the
time xxd is started and given its input. The following examples may
help to clarify (or further confuse!)...
Rewind stdin before reading; needed because the `cat' has already read
to the end of stdin.
% sh -c "cat > plain_copy; xxd -s 0 > hex_copy" < file
Hexdump from file position 0x480 (=1024+128) onwards. The `+' sign
means "relative to the current position", thus the `128' adds to the 1k
where dd left off.
% sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +128 > hex_snippet"
< file
Hexdump from file position 0x100 ( = 1024-768) on.
% sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +-768 > hex_snippet"
< file
However, this is a rare situation and the use of `+' is rarely needed.
The author prefers to monitor the effect of xxd with strace(1) or
truss(1), whenever -s is used.
EXAMPLES
Print everything but the first three lines (hex 0x30 bytes) of file.
% xxd -s 0x30 file
Print 3 lines (hex 0x30 bytes) from the end of file.
% xxd -s -0x30 file
Print 120 bytes as continuous hexdump with 20 octets per line.
% xxd -l 120 -ps -c 20 xxd.1
2e54482058584420312022417567757374203139
39362220224d616e75616c207061676520666f72
20787864220a2e5c220a2e5c222032317374204d
617920313939360a2e5c22204d616e2070616765
20617574686f723a0a2e5c2220202020546f6e79
204e7567656e74203c746f6e79407363746e7567
Hexdump the first 120 bytes of this man page with 12 octets per line.
% xxd -l 120 -c 12 xxd.1
0000000: 2e54 4820 5858 4420 3120 2241 .TH XXD 1 "A
000000c: 7567 7573 7420 3139 3936 2220 ugust 1996"
0000018: 224d 616e 7561 6c20 7061 6765 "Manual page
0000024: 2066 6f72 2078 7864 220a 2e5c for xxd"..\
0000030: 220a 2e5c 2220 3231 7374 204d "..\" 21st M
000003c: 6179 2031 3939 360a 2e5c 2220 ay 1996..\"
0000048: 4d61 6e20 7061 6765 2061 7574 Man page aut
0000054: 686f 723a 0a2e 5c22 2020 2020 hor:..\"
0000060: 546f 6e79 204e 7567 656e 7420 Tony Nugent
000006c: 3c74 6f6e 7940 7363 746e 7567 <tony@sctnug
Display just the date from the file xxd.1
% xxd -s 0x36 -l 13 -c 13 xxd.1
0000036: 3231 7374 204d 6179 2031 3939 36 21st May 1996
Copy input_file to output_file and prepend 100 bytes of value 0x00.
% xxd input_file | xxd -r -s 100 > output_file
Patch the date in the file xxd.1
% echo "0000037: 3574 68" | xxd -r - xxd.1
% xxd -s 0x36 -l 13 -c 13 xxd.1
0000036: 3235 7468 204d 6179 2031 3939 36 25th May 1996
Create a 65537 byte file with all bytes 0x00, except for the last one
which is 'A' (hex 0x41).
% echo "010000: 41" | xxd -r > file
Hexdump this file with autoskip.
% xxd -a -c 12 file
0000000: 0000 0000 0000 0000 0000 0000 ............
*
000fffc: 0000 0000 40 ....A
Create a 1 byte file containing a single 'A' character. The number
after '-r -s' adds to the linenumbers found in the file; in effect, the
leading bytes are suppressed.
% echo "010000: 41" | xxd -r -s -0x10000 > file
Use xxd as a filter within an editor such as vim(1) to hexdump a region
marked between `a' and `z'.
:'a,'z!xxd
Use xxd as a filter within an editor such as vim(1) to recover a binary
hexdump marked between `a' and `z'.
:'a,'z!xxd -r
Use xxd as a filter within an editor such as vim(1) to recover one line
of a hexdump. Move the cursor over the line and type:
!!xxd -r
Read single characters from a serial line
% xxd -c1 < /dev/term/b &
% stty < /dev/term/b -echo -opost -isig -icanon min 1
% echo -n foo > /dev/term/b
RETURN VALUES
The following error values are returned:
0 no errors encountered.
-1 operation not supported ( xxd -r -i still impossible).
1 error while parsing options.
2 problems with input file.
3 problems with output file.
4,5 desired seek position is unreachable.
SEE ALSO
uuencode(1), uudecode(1), patch(1)
WARNINGS
The tools weirdness matches its creators brain. Use entirely at your
own risk. Copy files. Trace it. Become a wizard.
VERSION
This manual page documents xxd version 1.7
AUTHOR
(c) 1990-1997 by Juergen Weigert
<jnweiger@informatik.uni-erlangen.de>
Distribute freely and credit me,
make money and share with me,
lose money and don't ask me.
Manual page started by Tony Nugent
<tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au>
Small changes by Bram Moolenaar. Edited by Juergen Weigert.
Manual page for xxd August 1996 XXD(1)

@ -1,281 +1,505 @@
" Description: html5 (and html4) indenter
" Changed By: Brian Gershon <brian.five@gmail.com>
" Last Change: 30 Jan 2011
"
" 1. Started with vim72 html indent file authored by Johannes Zellner (below)
" 2. Added html5 list as described here:
" http://stackoverflow.com/questions/3232518/how-to-update-vim-to-color-code-new-html-elements
" 3. Added this to a fork of https://github.com/othree/html5.vim
" which already provides nice html5 syntax highlighting.
" Vim indent script for HTML
" General: "{{{
" File: html.vim (Vimscript #2075)
" Author: Andy Wokula <anwoku@yahoo.de>
" Last Change: 2013 Jun 12
" Rev Days: 13
" Version: 0.9
" Vim Version: Vim7
" Description:
" Improved version of the distributed html indent script, faster on a
" range of lines.
"
" Description: html indenter
" Author: Johannes Zellner <johannes@zellner.org>
" Last Change: Mo, 05 Jun 2006 22:32:41 CEST
" Restoring 'cpo' and 'ic' added by Bram 2006 May 5
" Globals: g:html_indent_tags -- indenting tags
" g:html_indent_strict -- inhibit 'O O' elements
" g:html_indent_strict_table -- inhibit 'O -' elements
" Only load this indent file when no other was loaded.
" Credits:
" indent/html.vim (2006 Jun 05) from J. Zellner
" indent/css.vim (2006 Dec 20) from N. Weibull
"
" History:
" 2012 Oct 21 (v0.9) added support for shiftwidth()
" 2011 Sep 09 (v0.8) added HTML5 tags (thx to J. Zuckerman)
" 2008 Apr 28 (v0.6) revised customization
" 2008 Mar 09 (v0.5) fixed 'indk' issue (thx to C.J. Robinson)
" }}}
" Init Folklore, check user settings (2nd time ++) "{{{
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal indentexpr=HtmlIndent()
setlocal indentkeys=o,O,<Return>,<>>,{,},!^F
" [-- local settings (must come before aborting the script) --]
setlocal indentexpr=HtmlIndentGet(v:lnum)
setlocal indentkeys=o,O,*<Return>,<>>,{,}
let b:indent = {"lnum": -1}
let b:undo_indent = "set inde< indk<| unlet b:indent"
" Load Once:
if exists("*HtmlIndent")
call HtmlIndent_CheckUserSettings()
finish
endif
if exists('g:html_indent_tags')
unlet g:html_indent_tags
" Patch 7.3.694
if exists('*shiftwidth')
let s:ShiftWidth = function('shiftwidth')
else
func! s:ShiftWidth()
return &shiftwidth
endfunc
endif
" [-- helper function to assemble tag list --]
fun! <SID>HtmlIndentPush(tag)
if exists('g:html_indent_tags')
let g:html_indent_tags = g:html_indent_tags.'\|'.a:tag
let s:cpo_save = &cpo
set cpo-=C
"}}}
func! HtmlIndent_CheckUserSettings() "{{{
if exists("g:html_indent_inctags")
call s:AddITags(split(g:html_indent_inctags, ","))
endif
if exists("g:html_indent_autotags")
call s:RemoveITags(split(g:html_indent_autotags, ","))
endif
let indone = {"zero": 0
\,"auto": "indent(prevnonblank(v:lnum-1))"
\,"inc": "b:indent.blocktagind + s:ShiftWidth()"}
if exists("g:html_indent_script1")
let s:js1indent = get(indone, g:html_indent_script1, indone.zero)
endif
if exists("g:html_indent_style1")
let s:css1indent = get(indone, g:html_indent_style1, indone.zero)
endif
endfunc "}}}
" Init Script Vars "{{{
let s:usestate = 1
let s:css1indent = 0
let s:js1indent = 0
" not to be changed:
let s:endtags = [0,0,0,0,0,0,0,0] " some places unused
let s:newstate = {}
let s:countonly = 0
"}}}
func! s:AddITags(taglist) "{{{
for itag in a:taglist
let s:indent_tags[itag] = 1
let s:indent_tags['/'.itag] = -1
endfor
endfunc "}}}
func! s:AddBlockTag(tag, id, ...) "{{{
if !(a:id >= 2 && a:id < 2+len(s:endtags))
return
endif
let s:indent_tags[a:tag] = a:id
if a:0 == 0
let s:indent_tags['/'.a:tag] = -a:id
let s:endtags[a:id-2] = "</".a:tag.">"
else
let g:html_indent_tags = a:tag
let s:indent_tags[a:1] = -a:id
let s:endtags[a:id-2] = a:1
endif
endfun
" [-- <ELEMENT ? - - ...> --]
call <SID>HtmlIndentPush('a')
call <SID>HtmlIndentPush('abbr')
call <SID>HtmlIndentPush('acronym')
call <SID>HtmlIndentPush('address')
call <SID>HtmlIndentPush('b')
call <SID>HtmlIndentPush('bdo')
call <SID>HtmlIndentPush('big')
call <SID>HtmlIndentPush('blockquote')
call <SID>HtmlIndentPush('button')
call <SID>HtmlIndentPush('caption')
call <SID>HtmlIndentPush('center')
call <SID>HtmlIndentPush('cite')
call <SID>HtmlIndentPush('code')
call <SID>HtmlIndentPush('colgroup')
call <SID>HtmlIndentPush('del')
call <SID>HtmlIndentPush('dfn')
call <SID>HtmlIndentPush('dir')
call <SID>HtmlIndentPush('div')
call <SID>HtmlIndentPush('dl')
call <SID>HtmlIndentPush('em')
call <SID>HtmlIndentPush('fieldset')
call <SID>HtmlIndentPush('font')
call <SID>HtmlIndentPush('form')
call <SID>HtmlIndentPush('frameset')
call <SID>HtmlIndentPush('h1')
call <SID>HtmlIndentPush('h2')
call <SID>HtmlIndentPush('h3')
call <SID>HtmlIndentPush('h4')
call <SID>HtmlIndentPush('h5')
call <SID>HtmlIndentPush('h6')
call <SID>HtmlIndentPush('i')
call <SID>HtmlIndentPush('iframe')
call <SID>HtmlIndentPush('ins')
call <SID>HtmlIndentPush('kbd')
call <SID>HtmlIndentPush('label')
call <SID>HtmlIndentPush('legend')
call <SID>HtmlIndentPush('map')
call <SID>HtmlIndentPush('menu')
call <SID>HtmlIndentPush('noframes')
call <SID>HtmlIndentPush('noscript')
call <SID>HtmlIndentPush('object')
call <SID>HtmlIndentPush('ol')
call <SID>HtmlIndentPush('optgroup')
" call <SID>HtmlIndentPush('pre')
call <SID>HtmlIndentPush('q')
call <SID>HtmlIndentPush('s')
call <SID>HtmlIndentPush('samp')
call <SID>HtmlIndentPush('script')
call <SID>HtmlIndentPush('select')
call <SID>HtmlIndentPush('small')
call <SID>HtmlIndentPush('span')
call <SID>HtmlIndentPush('strong')
call <SID>HtmlIndentPush('style')
call <SID>HtmlIndentPush('sub')
call <SID>HtmlIndentPush('sup')
call <SID>HtmlIndentPush('table')
call <SID>HtmlIndentPush('textarea')
call <SID>HtmlIndentPush('title')
call <SID>HtmlIndentPush('tt')
call <SID>HtmlIndentPush('u')
call <SID>HtmlIndentPush('ul')
call <SID>HtmlIndentPush('var')
" New HTML 5 elements
call <SID>HtmlIndentPush('article')
call <SID>HtmlIndentPush('aside')
call <SID>HtmlIndentPush('audio')
call <SID>HtmlIndentPush('canvas')
call <SID>HtmlIndentPush('command')
call <SID>HtmlIndentPush('datalist')
call <SID>HtmlIndentPush('details')
call <SID>HtmlIndentPush('embed')
call <SID>HtmlIndentPush('figcaption')
call <SID>HtmlIndentPush('figure')
call <SID>HtmlIndentPush('footer')
call <SID>HtmlIndentPush('header')
call <SID>HtmlIndentPush('hgroup')
call <SID>HtmlIndentPush('keygen')
call <SID>HtmlIndentPush('mark')
call <SID>HtmlIndentPush('meter')
call <SID>HtmlIndentPush('nav')
call <SID>HtmlIndentPush('output')
call <SID>HtmlIndentPush('progress')
call <SID>HtmlIndentPush('rp')
call <SID>HtmlIndentPush('rt')
call <SID>HtmlIndentPush('ruby')
call <SID>HtmlIndentPush('section')
call <SID>HtmlIndentPush('source')
call <SID>HtmlIndentPush('summary')
call <SID>HtmlIndentPush('time')
call <SID>HtmlIndentPush('video')
call <SID>HtmlIndentPush('bdi')
" [-- <ELEMENT ? O O ...> --]
if !exists('g:html_indent_strict')
call <SID>HtmlIndentPush('body')
call <SID>HtmlIndentPush('head')
call <SID>HtmlIndentPush('html')
call <SID>HtmlIndentPush('tbody')
endfunc "}}}
func! s:RemoveITags(taglist) "{{{
" remove itags (protect blocktags from being removed)
for itag in a:taglist
if !has_key(s:indent_tags, itag) || s:indent_tags[itag] != 1
continue
endif
unlet s:indent_tags[itag]
if itag =~ '^\w\+$'
unlet s:indent_tags["/".itag]
endif
endfor
endfunc "}}}
" Add Indent Tags: {{{
if !exists("s:indent_tags")
let s:indent_tags = {}
endif
" old tags:
call s:AddITags(['a', 'abbr', 'acronym', 'address', 'b', 'bdo', 'big',
\ 'blockquote', 'button', 'caption', 'center', 'cite', 'code', 'colgroup',
\ 'del', 'dfn', 'dir', 'div', 'dl', 'em', 'fieldset', 'font', 'form',
\ 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'i', 'iframe', 'ins', 'kbd',
\ 'label', 'legend', 'map', 'menu', 'noframes', 'noscript', 'object', 'ol',
\ 'optgroup', 'q', 's', 'samp', 'select', 'small', 'span', 'strong', 'sub',
\ 'sup', 'table', 'textarea', 'title', 'tt', 'u', 'ul', 'var', 'th', 'td',
\ 'tr', 'tfoot', 'thead'])
" [-- <ELEMENT ? O - ...> --]
if !exists('g:html_indent_strict_table')
call <SID>HtmlIndentPush('th')
call <SID>HtmlIndentPush('td')
call <SID>HtmlIndentPush('tr')
call <SID>HtmlIndentPush('tfoot')
call <SID>HtmlIndentPush('thead')
endif
" tags added 2011 Sep 09 (especially HTML5 tags):
call s:AddITags(['area', 'article', 'aside', 'audio', 'bdi', 'canvas',
\ 'command', 'datalist', 'details', 'embed', 'figure', 'footer',
\ 'header', 'group', 'keygen', 'mark', 'math', 'meter', 'nav', 'output',
\ 'progress', 'ruby', 'section', 'svg', 'texture', 'time', 'video',
\ 'wbr', 'text'])
delfun <SID>HtmlIndentPush
"}}}
" Add Block Tags: contain alien content "{{{
call s:AddBlockTag('pre', 2)
call s:AddBlockTag('script', 3)
call s:AddBlockTag('style', 4)
call s:AddBlockTag('<!--', 5, '-->')
"}}}
let s:cpo_save = &cpo
set cpo-=C
func! s:CountITags(...) "{{{
" [-- count indent-increasing tags of line a:lnum --]
fun! <SID>HtmlIndentOpen(lnum, pattern)
let s = substitute('x'.getline(a:lnum),
\ '.\{-}\(\(<\)\('.a:pattern.'\)\>\)', "\1", 'g')
let s = substitute(s, "[^\1].*$", '', '')
return strlen(s)
endfun
" [-- count indent-decreasing tags of line a:lnum --]
fun! <SID>HtmlIndentClose(lnum, pattern)
let s = substitute('x'.getline(a:lnum),
\ '.\{-}\(\(<\)/\('.a:pattern.'\)\>>\)', "\1", 'g')
let s = substitute(s, "[^\1].*$", '', '')
return strlen(s)
endfun
" [-- count indent-increasing '{' of (java|css) line a:lnum --]
fun! <SID>HtmlIndentOpenAlt(lnum)
return strlen(substitute(getline(a:lnum), '[^{]\+', '', 'g'))
endfun
" [-- count indent-decreasing '}' of (java|css) line a:lnum --]
fun! <SID>HtmlIndentCloseAlt(lnum)
return strlen(substitute(getline(a:lnum), '[^}]\+', '', 'g'))
endfun
" [-- return the sum of indents respecting the syntax of a:lnum --]
fun! <SID>HtmlIndentSum(lnum, style)
if a:style == match(getline(a:lnum), '^\s*</')
if a:style == match(getline(a:lnum), '^\s*</\<\('.g:html_indent_tags.'\)\>')
let open = <SID>HtmlIndentOpen(a:lnum, g:html_indent_tags)
let close = <SID>HtmlIndentClose(a:lnum, g:html_indent_tags)
if 0 != open || 0 != close
return open - close
endif
" relative indent steps for current line [unit &sw]:
let s:curind = 0
" relative indent steps for next line [unit &sw]:
let s:nextrel = 0
if a:0==0
let s:block = s:newstate.block
let tmpline = substitute(s:curline, '<\zs\/\=\w\+\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
if s:block == 3
let s:newstate.scripttype = s:GetScriptType(matchstr(tmpline, '\C.*<SCRIPT\>\zs[^>]*'))
endif
let s:newstate.block = s:block
else
let s:block = 0 " assume starting outside of a block
let s:countonly = 1 " don't change state
let tmpline = substitute(s:altline, '<\zs\/\=\w\+\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
let s:countonly = 0
endif
if '' != &syntax &&
\ synIDattr(synID(a:lnum, 1, 1), 'name') =~ '\(css\|java\).*' &&
\ synIDattr(synID(a:lnum, strlen(getline(a:lnum)), 1), 'name')
\ =~ '\(css\|java\).*'
if a:style == match(getline(a:lnum), '^\s*}')
return <SID>HtmlIndentOpenAlt(a:lnum) - <SID>HtmlIndentCloseAlt(a:lnum)
endfunc "}}}
func! s:CheckTag(itag) "{{{
" "tag" or "/tag" or "<!--" or "-->"
let ind = get(s:indent_tags, a:itag)
if ind == -1
" closing tag
if s:block != 0
" ignore itag within a block
return "foo"
endif
if s:nextrel == 0
let s:curind -= 1
else
let s:nextrel -= 1
endif
" if s:curind >= 1
" let s:curind -= 1
" else
" let s:nextrel -= 1
" endif
elseif ind == 1
" opening tag
if s:block != 0
return "foo"
endif
let s:nextrel += 1
elseif ind != 0
" block-tag (opening or closing)
return s:Blocktag(a:itag, ind)
endif
" else ind==0 (other tag found): keep indent
return "foo" " no matter
endfunc "}}}
func! s:Blocktag(blocktag, ind) "{{{
if a:ind > 0
" a block starts here
if s:block != 0
" already in a block (nesting) - ignore
" especially ignore comments after other blocktags
return "foo"
endif
let s:block = a:ind " block type
if s:countonly
return "foo"
endif
let s:newstate.blocklnr = v:lnum
" save allover indent for the endtag
let s:newstate.blocktagind = b:indent.baseindent + (s:nextrel + s:curind) * s:ShiftWidth()
if a:ind == 3
return "SCRIPT" " all except this must be lowercase
" line is to be checked again for the type attribute
endif
else
let s:block = 0
" we get here if starting and closing block-tag on same line
endif
return "foo"
endfunc "}}}
func! s:GetScriptType(str) "{{{
if a:str == "" || a:str =~ "java"
return "javascript"
else
return ""
endif
endfunc "}}}
func! s:FreshState(lnum) "{{{
" Look back in the file (lines 1 to a:lnum-1) to calc a state for line
" a:lnum. A state is to know ALL relevant details about the lines
" 1..a:lnum-1, initial calculating (here!) can be slow, but updating is
" fast (incremental).
" State:
" lnum last indented line == prevnonblank(a:lnum - 1)
" block = 0 a:lnum located within special tag: 0:none, 2:<pre>,
" 3:<script>, 4:<style>, 5:<!--
" baseindent use this indent for line a:lnum as a start - kind of
" autoindent (if block==0)
" scripttype = '' type attribute of a script tag (if block==3)
" blocktagind indent for current opening (get) and closing (set)
" blocktag (if block!=0)
" blocklnr lnum of starting blocktag (if block!=0)
" inattr line {lnum} starts with attributes of a tag
let state = {}
let state.lnum = prevnonblank(a:lnum - 1)
let state.scripttype = ""
let state.blocktagind = -1
let state.block = 0
let state.baseindent = 0
let state.blocklnr = 0
let state.inattr = 0
if state.lnum == 0
return state
endif
return 0
endfun
fun! HtmlIndentGet(lnum)
" Find a non-empty line above the current line.
let lnum = prevnonblank(a:lnum - 1)
" Heuristic:
" remember startline state.lnum
" look back for <pre, </pre, <script, </script, <style, </style tags
" remember stopline
" if opening tag found,
" assume a:lnum within block
" else
" look back in result range (stopline, startline) for comment
" \ delimiters (<!--, -->)
" if comment opener found,
" assume a:lnum within comment
" else
" assume usual html for a:lnum
" if a:lnum-1 has a closing comment
" look back to get indent of comment opener
" FI
" Hit the start of the file, use zero indent.
if lnum == 0
return 0
" look back for blocktag
call cursor(a:lnum, 1)
let [stopline, stopcol] = searchpos('\c<\zs\/\=\%(pre\>\|script\>\|style\>\)', "bW")
" fugly ... why isn't there searchstr()
let tagline = tolower(getline(stopline))
let blocktag = matchstr(tagline, '\/\=\%(pre\>\|script\>\|style\>\)', stopcol-1)
if stopline > 0 && blocktag[0] != "/"
" opening tag found, assume a:lnum within block
let state.block = s:indent_tags[blocktag]
if state.block == 3
let state.scripttype = s:GetScriptType(matchstr(tagline, '\>[^>]*', stopcol))
endif
let state.blocklnr = stopline
" check preceding tags in the line:
let s:altline = tagline[: stopcol-2]
call s:CountITags(1)
let state.blocktagind = indent(stopline) + (s:curind + s:nextrel) * s:ShiftWidth()
return state
elseif stopline == state.lnum
" handle special case: previous line (= state.lnum) contains a
" closing blocktag which is preceded by line-noise;
" blocktag == "/..."
let swendtag = match(tagline, '^\s*</') >= 0
if !swendtag
let [bline, bcol] = searchpos('<'.blocktag[1:].'\>', "bW")
let s:altline = tolower(getline(bline)[: bcol-2])
call s:CountITags(1)
let state.baseindent = indent(bline) + (s:nextrel+s:curline) * s:ShiftWidth()
return state
endif
endif
let restore_ic = &ic
setlocal ic " ignore case
" else look back for comment
call cursor(a:lnum, 1)
let [comline, comcol, found] = searchpos('\(<!--\)\|-->', 'bpW', stopline)
if found == 2
" comment opener found, assume a:lnum within comment
let state.block = 5
let state.blocklnr = comline
" check preceding tags in the line:
let s:altline = tolower(getline(comline)[: comcol-2])
call s:CountITags(1)
let state.blocktagind = indent(comline) + (s:curind + s:nextrel) * s:ShiftWidth()
return state
endif
" [-- special handling for <pre>: no indenting --]
if getline(a:lnum) =~ '\c</pre>'
\ || 0 < searchpair('\c<pre>', '', '\c</pre>', 'nWb')
\ || 0 < searchpair('\c<pre>', '', '\c</pre>', 'nW')
" we're in a line with </pre> or inside <pre> ... </pre>
if restore_ic == 0
setlocal noic
" else within usual html
let s:altline = tolower(getline(state.lnum))
" check a:lnum-1 for closing comment (we need indent from the opening line)
let comcol = stridx(s:altline, '-->')
if comcol >= 0
call cursor(state.lnum, comcol+1)
let [comline, comcol] = searchpos('<!--', 'bW')
if comline == state.lnum
let s:altline = s:altline[: comcol-2]
else
let s:altline = tolower(getline(comline)[: comcol-2])
endif
call s:CountITags(1)
let state.baseindent = indent(comline) + (s:nextrel+s:curline) * s:ShiftWidth()
return state
" TODO check tags that follow "-->"
endif
" else no comments
call s:CountITags(1)
let state.baseindent = indent(state.lnum) + s:nextrel * s:ShiftWidth()
" line starts with end tag
let swendtag = match(s:altline, '^\s*</') >= 0
if !swendtag
let state.baseindent += s:curind * s:ShiftWidth()
endif
return state
endfunc "}}}
func! s:Alien2() "{{{
" <pre> block
return -1
endfunc "}}}
func! s:Alien3() "{{{
" <script> javascript
if prevnonblank(v:lnum-1) == b:indent.blocklnr
" indent for the first line after <script>
return eval(s:js1indent)
endif
if b:indent.scripttype == "javascript"
return cindent(v:lnum)
else
return -1
endif
endfunc "}}}
func! s:Alien4() "{{{
" <style>
if prevnonblank(v:lnum-1) == b:indent.blocklnr
" indent for first content line
return eval(s:css1indent)
endif
return s:CSSIndent()
endfunc
" [-- special handling for <javascript>: use cindent --]
let js = '<script.*type\s*=\s*.*java'
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" by Tye Zdrojewski <zdro@yahoo.com>, 05 Jun 2006
" ZDR: This needs to be an AND (we are 'after the start of the pair' AND
" we are 'before the end of the pair'). Otherwise, indentation
" before the start of the script block will be affected; the end of
" the pair will still match if we are before the beginning of the
" pair.
"
if 0 < searchpair(js, '', '</script>', 'nWb')
\ && 0 < searchpair(js, '', '</script>', 'nW')
" we're inside javascript
if getline(lnum) !~ js && getline(a:lnum) != '</script>'
if restore_ic == 0
setlocal noic
func! s:CSSIndent() "{{{
" adopted $VIMRUNTIME/indent/css.vim
if getline(v:lnum) =~ '^\s*[*}]'
return cindent(v:lnum)
endif
let minline = b:indent.blocklnr
let pnum = s:css_prevnoncomment(v:lnum - 1, minline)
if pnum <= minline
" < is to catch errors
" indent for first content line after comments
return eval(s:css1indent)
endif
let ind = indent(pnum) + s:css_countbraces(pnum, 1) * s:ShiftWidth()
let pline = getline(pnum)
if pline =~ '}\s*$'
let ind -= (s:css_countbraces(pnum, 0) - (pline =~ '^\s*}')) * s:ShiftWidth()
endif
return ind
endfunc "}}}
func! s:css_prevnoncomment(lnum, stopline) "{{{
" caller starts from a line a:lnum-1 that is not a comment
let lnum = prevnonblank(a:lnum)
let ccol = match(getline(lnum), '\*/')
if ccol < 0
return lnum
endif
call cursor(lnum, ccol+1)
let lnum = search('/\*', 'bW', a:stopline)
if indent(".") == virtcol(".")-1
return prevnonblank(lnum-1)
else
return lnum
endif
endfunc "}}}
func! s:css_countbraces(lnum, count_open) "{{{
let brs = substitute(getline(a:lnum),'[''"].\{-}[''"]\|/\*.\{-}\*/\|/\*.*$\|[^{}]','','g')
let n_open = 0
let n_close = 0
for brace in split(brs, '\zs')
if brace == "{"
let n_open += 1
elseif brace == "}"
if n_open > 0
let n_open -= 1
else
let n_close += 1
endif
return cindent(a:lnum)
endif
endfor
return a:count_open ? n_open : n_close
endfunc "}}}
"}}}
func! s:Alien5() "{{{
" <!-- -->
return -1
endfunc "}}}
func! HtmlIndent() "{{{
let s:curline = tolower(getline(v:lnum))
let indentunit = s:ShiftWidth()
let s:newstate = {}
let s:newstate.lnum = v:lnum
" does the line start with a closing tag?
let swendtag = match(s:curline, '^\s*</') >= 0
if prevnonblank(v:lnum-1) == b:indent.lnum && s:usestate
" use state (continue from previous line)
else
" start over (know nothing)
let b:indent = s:FreshState(v:lnum)
endif
if getline(lnum) =~ '\c</pre>'
" line before the current line a:lnum contains
" a closing </pre>. --> search for line before
" starting <pre> to restore the indent.
let preline = prevnonblank(search('\c<pre>', 'bW') - 1)
if preline > 0
if restore_ic == 0
setlocal noic
if b:indent.block >= 2
" within block
let endtag = s:endtags[b:indent.block-2]
let blockend = stridx(s:curline, endtag)
if blockend >= 0
" block ends here
let s:newstate.block = 0
" calc indent for REST OF LINE (may start more blocks):
let s:curline = strpart(s:curline, blockend+strlen(endtag))
call s:CountITags()
if swendtag && b:indent.block != 5
let indent = b:indent.blocktagind + s:curind * indentunit
let s:newstate.baseindent = indent + s:nextrel * indentunit
else
let indent = s:Alien{b:indent.block}()
let s:newstate.baseindent = b:indent.blocktagind + s:nextrel * indentunit
endif
return indent(preline)
call extend(b:indent, s:newstate, "force")
return indent
else
" block continues
" indent this line with alien method
let indent = s:Alien{b:indent.block}()
call extend(b:indent, s:newstate, "force")
return indent
endif
else
" not within a block - within usual html
" if < 2 then always 0
let s:newstate.block = b:indent.block
call s:CountITags()
if swendtag
let indent = b:indent.baseindent + s:curind * indentunit
let s:newstate.baseindent = indent + s:nextrel * indentunit
else
let indent = b:indent.baseindent
let s:newstate.baseindent = indent + (s:curind + s:nextrel) * indentunit
endif
call extend(b:indent, s:newstate, "force")
return indent
endif
let ind = <SID>HtmlIndentSum(lnum, -1)
let ind = ind + <SID>HtmlIndentSum(a:lnum, 0)
endfunc "}}}
if restore_ic == 0
setlocal noic
endif
" check user settings (first time), clear cpo, Modeline: {{{1
" DEBUG:
com! -nargs=* IndHtmlLocal <args>
return indent(lnum) + (&sw * ind)
endfun
call HtmlIndent_CheckUserSettings()
let &cpo = s:cpo_save
unlet s:cpo_save
" [-- EOF <runtime>/indent/html.vim --]
" vim:set fdm=marker ts=8:

@ -0,0 +1,26 @@
keymap files for Vim
One of these files is loaded when the 'keymap' option is set.
The name of the file consists of these parts:
{language}[-{layout}][_{encoding}].vim
{language} Name of the language (e.g., "hebrew", "greek")
{layout} Optional: name of the keyboard layout (e.g., "spanish",
"russian3"). When omitted the layout of the standard
US-english keyboard is assumed.
{encoding} Optional: character encoding for which this keymap works.
When omitted the "normal" encoding for the language is
assumed.
Use the value the 'encoding' option: lower case only, use '-'
instead of '_'.
Each file starts with a header, naming the maintainer and the date when it was
last changed. If you find a problem in a keymap file, check if you have the
most recent version. If necessary, report a problem to the maintainer.
The format of the keymap lines below "loadkeymap" is explained in the Vim help
files, see ":help keymap-file-format".

@ -0,0 +1,78 @@
" Vim Keymap file for latin1 accents through dead characters
" Maintainer: Bram Moolenaar
" Last Change: 2006 Mar 29
" All characters are given literally, conversion to another encoding (e.g.,
" UTF-8) should work.
scriptencoding latin1
" Use this short name in the status line.
let b:keymap_name = "acc"
loadkeymap
`A À
'A Á
´A Á
^A Â
~A Ã
:A Ä
'C Ç
´C Ç
`E È
'E É
´E É
^E Ê
`I Ì
'I Í
´I Í
^I Î
~N Ñ
`O Ò
'O Ó
´O Ó
^O Ô
~O Õ
:O Ö
`U Ù
'U Ú
´U Ú
^U Û
:U Ü
'Y Ý
´Y Ý
`a à
'a á
´a á
^a â
~a ã
:a ä
'c ç
´c ç
`e è
'e é
´e é
^e ê
`i ì
'i í
´i í
^i î
~n ñ
`o ò
'o ó
´o ó
^o ô
~o õ
:o ö
`u ù
'u ú
´u ú
^u û
:u ü
'y ý
´y ý
'' '
´´ ´
`` `
^^ ^
~~ ~
:: :

@ -0,0 +1,2 @@
" Assume 'encoding' is set to "latin1" while actually iso-8859-6 is used
source <sfile>:p:h/arabic_utf-8.vim

@ -0,0 +1,86 @@
" Vim Keymap file for Arabic
" Maintainer : Arabic Support group <support-at-arabeyes.org>
" Created by : Nadim Shaikli <nadim-at-arabeyes.org>
" Last Updated : 2003 Apr 26
" This is for a standard Microsoft Arabic keyboard layout.
" Use this short name in the status line.
let b:keymap_name = "arab"
loadkeymap
q <char-0x0636> " (1590) - DAD
w <char-0x0635> " (1589) - SAD
e <char-0x062b> " (1579) - THEH
r <char-0x0642> " (1602) - QAF
t <char-0x0641> " (1601) - FEH
y <char-0x063a> " (1594) - GHAIN
u <char-0x0639> " (1593) - AIN
i <char-0x0647> " (1607) - HEH
o <char-0x062e> " (1582) - KHAH
p <char-0x062d> " (1581) - HAH
[ <char-0x062c> " (1580) - JEEM
] <char-0x062f> " (1583) - DAL
a <char-0x0634> " (1588) - SHEEN
s <char-0x0633> " (1587) - SEEN
d <char-0x064a> " (1610) - YEH
f <char-0x0628> " (1576) - BEH
g <char-0x0644> " (1604) - LAM
h <char-0x0627> " (1575) - ALEF
j <char-0x062a> " (1578) - TEH
k <char-0x0646> " (1606) - NOON
l <char-0x0645> " (1605) - MEEM
; <char-0x0643> " (1603) - KAF
' <char-0x0637> " (1591) - TAH
z <char-0x0626> " (1574) - YEH with HAMZA ABOVE
x <char-0x0621> " (1569) - HAMZA
c <char-0x0624> " (1572) - WAW with HAMZA ABOVE
v <char-0x0631> " (1585) - REH
b <char-0x0644><char-0x0627> " (1604/1575) - LAA (lam alef)
n <char-0x0649> " (1609) - ALEF MAKSURA
m <char-0x0629> " (1577) - TEH MARBUTA
, <char-0x0648> " (1608) - WAW
. <char-0x0632> " (1586) - ZAIN
/ <char-0x0638> " (1592) - ZAH
0 <char-0x0660> " (1632) - Arabic 0
1 <char-0x0661> " (1633) - Arabic 1
2 <char-0x0662> " (1634) - Arabic 2
3 <char-0x0663> " (1635) - Arabic 3
4 <char-0x0664> " (1636) - Arabic 4
5 <char-0x0665> " (1637) - Arabic 5
6 <char-0x0666> " (1638) - Arabic 6
7 <char-0x0667> " (1639) - Arabic 7
8 <char-0x0668> " (1640) - Arabic 8
9 <char-0x0669> " (1641) - Arabic 9
` <char-0x0630> " (1584) - THAL
~ <char-0x0651> " (1617) - Tanween -- SHADDA
Q <char-0x064e> " (1614) - Tanween -- FATHA
W <char-0x064b> " (1611) - Tanween -- FATHATAN
E <char-0x064f> " (1615) - Tanween -- DAMMA
R <char-0x064c> " (1612) - Tanween -- DAMMATAN
T <char-0x0644><char-0x0625> " (1604/1573) - LAA with HAMZA BELOW
Y <char-0x0625> " (1573) - ALEF with HAMZA BELOW
U <char-0x0060> " (96) - ASCII -- `
I <char-0x00f7> " (247) - ASCII suppl -- div
O <char-0x00d7> " (215) - ASCII suppl -- mul
P <char-0x061b> " (1563) - Arabic Semicolon
{ <char-0x003c> " (60) - ASCII -- <
} <char-0x003e> " (62) - ASCII -- >
A <char-0x0650> " (1616) - Tanween -- KASRA
S <char-0x064d> " (1613) - Tanween -- KASRATAN
D <char-0x005b> " (91) - ASCII -- [
F <char-0x005d> " (93) - ASCII -- ]
G <char-0x0644><char-0x0623> " (1604/1571) - LAA with HAMZA ABOVE
H <char-0x0623> " (1571) - ALEF with HAMZA ABOVE
J <char-0x0640> " (1600) - TATWEEL
K <char-0x060c> " (1548) - Arabic Comma
L <char-0x002f> " (47) - ASCII -- /
Z <char-0x007e> " (126) - ASCII -- ~
X <char-0x0652> " (1618) - Tanween -- SUKUN
C <char-0x007b> " (123) - ASCII -- {
V <char-0x007d> " (125) - ASCII -- }
B <char-0x0644><char-0x0622> " (1604/1570) - LAA with MADDA ABOVE
N <char-0x0622> " (1570) - ALEF with MADDA ABOVE
M <char-0x0027> " (39) - ASCII -- '
< <char-0x002c> " (44) - ASCII -- ,
> <char-0x002e> " (46) - ASCII -- .
? <char-0x061f> " (1567) - Arabic Question Mark

@ -0,0 +1,87 @@
" Vim Keymap file for Belarusian characters, layout 'jcuken', classical variant
" Useful mainly with UTF-8, but may work with other encodings.
" Derived From: russian-jcuken.vim
" Maintainer: Aliaksei Nestserau <aliaksei@screencustoms.com>
" Last Changed: 2012 Jul 23
" All characters are given literally, conversion to another encoding (e.g.,
" UTF-8) should work.
scriptencoding utf-8
let b:keymap_name = "by"
loadkeymap
~ Ё CYRILLIC CAPITAL LETTER IO
` ё CYRILLIC SMALL LETTER IO
F А CYRILLIC CAPITAL LETTER A
< Б CYRILLIC CAPITAL LETTER BE
D В CYRILLIC CAPITAL LETTER VE
U Г CYRILLIC CAPITAL LETTER GHE
L Д CYRILLIC CAPITAL LETTER DE
T Е CYRILLIC CAPITAL LETTER IE
: Ж CYRILLIC CAPITAL LETTER ZHE
P З CYRILLIC CAPITAL LETTER ZE
B І CYRILLIC CAPITAL LETTER I
Q Й CYRILLIC CAPITAL LETTER SHORT I
R К CYRILLIC CAPITAL LETTER KA
K Л CYRILLIC CAPITAL LETTER EL
V М CYRILLIC CAPITAL LETTER EM
Y Н CYRILLIC CAPITAL LETTER EN
J О CYRILLIC CAPITAL LETTER O
G П CYRILLIC CAPITAL LETTER PE
H Р CYRILLIC CAPITAL LETTER ER
C С CYRILLIC CAPITAL LETTER ES
N Т CYRILLIC CAPITAL LETTER TE
E У CYRILLIC CAPITAL LETTER U
A Ф CYRILLIC CAPITAL LETTER EF
{ Х CYRILLIC CAPITAL LETTER HA
W Ц CYRILLIC CAPITAL LETTER TSE
X Ч CYRILLIC CAPITAL LETTER CHE
I Ш CYRILLIC CAPITAL LETTER SHA
O Ў CYRILLIC CAPITAL LETTER ASYLLABIC U
} ' APOSTROPHE
S Ы CYRILLIC CAPITAL LETTER YERU
M Ь CYRILLIC CAPITAL LETTER SOFT SIGN
\" Э CYRILLIC CAPITAL LETTER E
> Ю CYRILLIC CAPITAL LETTER YU
Z Я CYRILLIC CAPITAL LETTER YA
f а CYRILLIC SMALL LETTER A
, б CYRILLIC SMALL LETTER BE
d в CYRILLIC SMALL LETTER VE
u г CYRILLIC SMALL LETTER GHE
l д CYRILLIC SMALL LETTER DE
t е CYRILLIC SMALL LETTER IE
; ж CYRILLIC SMALL LETTER ZHE
p з CYRILLIC SMALL LETTER ZE
b і CYRILLIC SMALL LETTER I
q й CYRILLIC SMALL LETTER SHORT I
r к CYRILLIC SMALL LETTER KA
k л CYRILLIC SMALL LETTER EL
v м CYRILLIC SMALL LETTER EM
y н CYRILLIC SMALL LETTER EN
j о CYRILLIC SMALL LETTER O
g п CYRILLIC SMALL LETTER PE
h р CYRILLIC SMALL LETTER ER
c с CYRILLIC SMALL LETTER ES
n т CYRILLIC SMALL LETTER TE
e у CYRILLIC SMALL LETTER U
a ф CYRILLIC SMALL LETTER EF
[ х CYRILLIC SMALL LETTER HA
w ц CYRILLIC SMALL LETTER TSE
x ч CYRILLIC SMALL LETTER CHE
i ш CYRILLIC SMALL LETTER SHA
o ў CYRILLIC SMALL LETTER ASYLLABIC U
] ' APOSTROPHE
s ы CYRILLIC SMALL LETTER YERU
m ь CYRILLIC SMALL LETTER SOFT SIGN
' э CYRILLIC SMALL LETTER E
. ю CYRILLIC SMALL LETTER YU
z я CYRILLIC SMALL LETTER YA
@ "
# '
$ *
% :
^ ,
& .
* ;

@ -0,0 +1,155 @@
" Vim keymap file for Bulgarian and Russian characters, "bds" layout.
" Most of it can be used with both utf-8 and cp1251 file encodings, except
" the accented characters which can only be stored in utf-8.
" This file itself is in utf-8.
" Maintainer: Boyko Bantchev <boykobb@gmail.com>
" URI: http://www.math.bas.bg/bantchev/vim/bulgarian-bds.vim
" Last Changed: 2010 May 4
" This keymap corresponds to what is called Bulgarian standard typewriter
" keyboard layout, or "БДС".
"
" Note that, in addition to the Bulgarian alphabet, the BDS layout prescribes
" the presence of the following characters:
" — The Russian letters ы (small), and Э and э (capital and small).
" — The latin capital letters I and V used to type Roman numerals
" without having to leave Cyrillic mode.
"
" Some punctuation characters present in ascii are mapped in BDS to keys
" different from the ones they occupy in the QWERTY layout, because the latter
" keys are used to type other characters.
"
" In this keymap, also defined (besides BDS) are:
" — The Russian letters Ё and ё (capital and small), as well as the
" Russian capital letter Ы (see above for the small counterpart).
" This way, using the bulgarian-bds keymap, one can access both
" the Bulgarian and the Russian alphabets.
" — The quotation marks „ “ ” (used in the Bulgarian and English
" quotation styles), as well as « » (Russian quotation style).
" — The characters §, №, (en-dash), — (em-dash), …, •, ·, ±, °, ¬,
" ¤, €, ‰, †, ‡, and ¶.
"
" The keymap also defines key combinations for grave and acute accents.
" (Grave accent is used in Bulgarian, acute in Russian, but both accents
" apply to other languages as well.)
"
" For details of what key or key combination maps to what character, please
" see below the map itself.
"
" See also http://www.math.bas.bg/bantchev/vim/kbdbul.html (in Bulgarian).
scriptencoding utf-8
let b:keymap_name = "bds"
loadkeymap
D А CYRILLIC CAPITAL LETTER A
? Б CYRILLIC CAPITAL LETTER BE
L В CYRILLIC CAPITAL LETTER VE
H Г CYRILLIC CAPITAL LETTER GHE
O Д CYRILLIC CAPITAL LETTER DE
E Е CYRILLIC CAPITAL LETTER IE
E:: Ё CYRILLIC CAPITAL LETTER IO
G Ж CYRILLIC CAPITAL LETTER ZHE
P З CYRILLIC CAPITAL LETTER ZE
R И CYRILLIC CAPITAL LETTER I
X Й CYRILLIC CAPITAL LETTER SHORT I
U К CYRILLIC CAPITAL LETTER KA
> Л CYRILLIC CAPITAL LETTER EL
: М CYRILLIC CAPITAL LETTER EM
K Н CYRILLIC CAPITAL LETTER EN
F О CYRILLIC CAPITAL LETTER O
M П CYRILLIC CAPITAL LETTER PE
< Р CYRILLIC CAPITAL LETTER ER
I С CYRILLIC CAPITAL LETTER ES
J Т CYRILLIC CAPITAL LETTER TE
W У CYRILLIC CAPITAL LETTER U
B Ф CYRILLIC CAPITAL LETTER EF
N Х CYRILLIC CAPITAL LETTER HA
{ Ц CYRILLIC CAPITAL LETTER TSE
\" Ч CYRILLIC CAPITAL LETTER CHE
T Ш CYRILLIC CAPITAL LETTER SHA
Y Щ CYRILLIC CAPITAL LETTER SHCHA
C Ъ CYRILLIC CAPITAL LETTER HARD SIGN
CX Ы CYRILLIC CAPITAL LETTER YERU
A Ь CYRILLIC CAPITAL LETTER SOFT SIGN
V Э CYRILLIC CAPITAL LETTER REVERSED E
Z Ю CYRILLIC CAPITAL LETTER YU
S Я CYRILLIC CAPITAL LETTER YA
d а CYRILLIC SMALL LETTER A
\/ б CYRILLIC SMALL LETTER BE
l в CYRILLIC SMALL LETTER VE
h г CYRILLIC SMALL LETTER GHE
o д CYRILLIC SMALL LETTER DE
e е CYRILLIC SMALL LETTER IE
e:: ё CYRILLIC SMALL LETTER IO
g ж CYRILLIC SMALL LETTER ZHE
p з CYRILLIC SMALL LETTER ZE
r и CYRILLIC SMALL LETTER I
x й CYRILLIC SMALL LETTER SHORT I
u к CYRILLIC SMALL LETTER KA
\. л CYRILLIC SMALL LETTER EL
; м CYRILLIC SMALL LETTER EM
k н CYRILLIC SMALL LETTER EN
f о CYRILLIC SMALL LETTER O
m п CYRILLIC SMALL LETTER PE
, р CYRILLIC SMALL LETTER ER
i с CYRILLIC SMALL LETTER ES
j т CYRILLIC SMALL LETTER TE
w у CYRILLIC SMALL LETTER U
b ф CYRILLIC SMALL LETTER EF
n х CYRILLIC SMALL LETTER HA
[ ц CYRILLIC SMALL LETTER TSE
' ч CYRILLIC SMALL LETTER CHE
t ш CYRILLIC SMALL LETTER SHA
y щ CYRILLIC SMALL LETTER SHCHA
c ъ CYRILLIC SMALL LETTER HARD SIGN
Q ы CYRILLIC SMALL LETTER YERU
a ь CYRILLIC SMALL LETTER SOFT SIGN
v э CYRILLIC SMALL LETTER REVERSED E
z ю CYRILLIC SMALL LETTER YU
s я CYRILLIC SMALL LETTER YA
_ I LATIN CAPITAL LETTER I
+ V LATIN CAPITAL LETTER V
$ " QUOTATION MARK
\\ ( LEFT PARENTHESIS
| ) RIGHT PARENTHESIS
# + PLUS SIGN
q , COMMA
( - HYPHEN-MINUS
= . FULL STOP (PERIOD)
* / SOLIDUS (SLASH)
& : COLON
] ; SEMICOLON
^ = EQUALS SIGN
@ ? QUESTION MARK
} § SECTION SIGN (PARAGRAPH SIGN)
)NUMERO SIGN
-- EN DASH
---EM DASH
.. … HORIZONTAL ELLIPSIS
`` “ LEFT DOUBLE QUOTATION MARK
''RIGHT DOUBLE QUOTATION MARK
,,DOUBLE LOW-9 QUOTATION MARK
`. LEFT SINGLE QUOTATION MARK
'. RIGHT SINGLE QUOTATION MARK
<< « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
>> » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
** • BULLET
,. · MIDDLE DOT
+- ± PLUS-MINUS SIGN
^o ° DEGREE SIGN
~~ ¬ NOT SIGN
@@ ¤ CURRENCY SIGN
$$ € EURO SIGN
%% ‰ PER MILLE SIGN
+|DAGGER
++DOUBLE DAGGER
||PILCROW SIGN
" Accented characters cannot map onto cp1251 use utf-8 file encoding.
" To apply an accent to a letter, type the corresponding key combination
" to the immediate right of that letter.
^` <char-0x300> COMBINING GRAVE ACCENT
^' <char-0x301> COMBINING ACUTE ACCENT

@ -0,0 +1,135 @@
" Vim keymap file for Bulgarian and Russian characters, "phonetic" layout.
" Most of it can be used with both utf-8 and cp1251 file encodings, except
" the accented vowels which can only be stored in utf-8.
" This file itself is in utf-8.
" Maintainer: Boyko Bantchev <boykobb@gmail.com>
" URI: http://www.math.bas.bg/bantchev/vim/bulgarian-phonetic.vim
" Last Changed: 2010 May 4
" This keymap corresponds to what is called "phonetic layout" in Bulgaria:
" Cyrillic letters tend to be mapped to their Latin homophones wherever
" there are ones. Most keys corresponding to punctuation characters are
" left unmapped, so they retain their usual (QWERTY) meanings when typing
" Cyrillic.
"
" In addition to the Bulgarian alphabet, the keymap makes accessible the
" following characters:
" — The letters Ё and ё, Э and э, and Ы and ы (in pairs of capital and
" small). These are the letters in the Russian alphabet that are not
" present in Bulgarian, so using the bulgarian-phonetic keymap one can
" type in Russian, too.
" — The quotation marks „ “ ” (used in the Bulgarian and English
" quotation styles), as well as « » (Russian quotation style).
" — The characters §, №, (en-dash), — (em-dash), …, •, ·, ±, °, ¬,
" ¤, €, ‰, †, ‡, and ¶.
"
" The keymap also defines key combinations for grave and acute accents.
" (Grave accent is used in Bulgarian, acute in Russian, but both accents
" apply to other languages as well.)
"
" For details of what key or key combination maps to what character, please
" see below the map itself.
"
" See also http://www.math.bas.bg/bantchev/vim/kbdbul.html (in Bulgarian).
scriptencoding utf-8
let b:keymap_name = "pho"
loadkeymap
A А CYRILLIC CAPITAL LETTER A
B Б CYRILLIC CAPITAL LETTER BE
W В CYRILLIC CAPITAL LETTER VE
G Г CYRILLIC CAPITAL LETTER GHE
D Д CYRILLIC CAPITAL LETTER DE
E Е CYRILLIC CAPITAL LETTER IE
E:: Ё CYRILLIC CAPITAL LETTER IO
V Ж CYRILLIC CAPITAL LETTER ZHE
Z З CYRILLIC CAPITAL LETTER ZE
I И CYRILLIC CAPITAL LETTER I
J Й CYRILLIC CAPITAL LETTER SHORT I
K К CYRILLIC CAPITAL LETTER KA
L Л CYRILLIC CAPITAL LETTER EL
M М CYRILLIC CAPITAL LETTER EM
N Н CYRILLIC CAPITAL LETTER EN
O О CYRILLIC CAPITAL LETTER O
P П CYRILLIC CAPITAL LETTER PE
R Р CYRILLIC CAPITAL LETTER ER
S С CYRILLIC CAPITAL LETTER ES
T Т CYRILLIC CAPITAL LETTER TE
U У CYRILLIC CAPITAL LETTER U
F Ф CYRILLIC CAPITAL LETTER EF
H Х CYRILLIC CAPITAL LETTER HA
C Ц CYRILLIC CAPITAL LETTER TSE
~ Ч CYRILLIC CAPITAL LETTER CHE
{ Ш CYRILLIC CAPITAL LETTER SHA
} Щ CYRILLIC CAPITAL LETTER SHCHA
Y Ъ CYRILLIC CAPITAL LETTER HARD SIGN
YI Ы CYRILLIC CAPITAL LETTER YERU
X Ь CYRILLIC CAPITAL LETTER SOFT SIGN
YE Э CYRILLIC CAPITAL LETTER REVERSED E
| Ю CYRILLIC CAPITAL LETTER YU
Q Я CYRILLIC CAPITAL LETTER YA
a а CYRILLIC SMALL LETTER A
b б CYRILLIC SMALL LETTER BE
w в CYRILLIC SMALL LETTER VE
g г CYRILLIC SMALL LETTER GHE
d д CYRILLIC SMALL LETTER DE
e е CYRILLIC SMALL LETTER IE
e:: ё CYRILLIC SMALL LETTER IO
v ж CYRILLIC SMALL LETTER ZHE
z з CYRILLIC SMALL LETTER ZE
i и CYRILLIC SMALL LETTER I
j й CYRILLIC SMALL LETTER SHORT I
k к CYRILLIC SMALL LETTER KA
l л CYRILLIC SMALL LETTER EL
m м CYRILLIC SMALL LETTER EM
n н CYRILLIC SMALL LETTER EN
o о CYRILLIC SMALL LETTER O
p п CYRILLIC SMALL LETTER PE
r р CYRILLIC SMALL LETTER ER
s с CYRILLIC SMALL LETTER ES
t т CYRILLIC SMALL LETTER TE
u у CYRILLIC SMALL LETTER U
f ф CYRILLIC SMALL LETTER EF
h х CYRILLIC SMALL LETTER HA
c ц CYRILLIC SMALL LETTER TSE
` ч CYRILLIC SMALL LETTER CHE
[ ш CYRILLIC SMALL LETTER SHA
] щ CYRILLIC SMALL LETTER SHCHA
y ъ CYRILLIC SMALL LETTER HARD SIGN
yi ы CYRILLIC SMALL LETTER YERU
x ь CYRILLIC SMALL LETTER SOFT SIGN
ye э CYRILLIC SMALL LETTER REVERSED E
\\ ю CYRILLIC SMALL LETTER YU
q я CYRILLIC SMALL LETTER YA
!! § SECTION SIGN (PARAGRAPH SIGN)
## № NUMERO SIGN
-- EN DASH
---EM DASH
.. … HORIZONTAL ELLIPSIS
`` “ LEFT DOUBLE QUOTATION MARK
''RIGHT DOUBLE QUOTATION MARK
,,DOUBLE LOW-9 QUOTATION MARK
`. LEFT SINGLE QUOTATION MARK
'. RIGHT SINGLE QUOTATION MARK
<< « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
>> » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
** • BULLET
,. · MIDDLE DOT
+- ± PLUS-MINUS SIGN
^o ° DEGREE SIGN
~~ ¬ NOT SIGN
@@ ¤ CURRENCY SIGN
$$ € EURO SIGN
%% ‰ PER MILLE SIGN
+|DAGGER
++DOUBLE DAGGER
||PILCROW SIGN
" Accented characters cannot map onto cp1251 use utf-8 file encoding.
" To apply an accent to a letter, type the corresponding key combination
" to the immediate right of that letter.
^` <char-0x300> COMBINING GRAVE ACCENT
^' <char-0x301> COMBINING ACUTE ACCENT

@ -0,0 +1,91 @@
" Vim Keymap file for the normalized Canadian multilingual keyboard
" CAN/CSA Z243.200-92 using the latin1 encoding.
" This mapping is limited in scope, as it assumes that the AltGr
" key works as it typically does in a Windows system with a multilingual
" English keyboard. It probably won't work with the US keyboard on US
" English versions of Windows, because those don't provide the AltGr keys.
" The mapping was tested with Win2k and WinXP.
" Maintainer: Eric Joanis <joanis@cs.toronto.edu>
" Last Change: 2004 Jan 13
" 2003 Dec 04
" Initial Revision
" 2004 Jan 13
" Added the upper case accented characters, forgotten in the initial version.
" All characters are given literally, conversion to another encoding (e.g.,
" UTF-8) should work.
scriptencoding latin1
" Use this short name in the status line.
let b:keymap_name = "canfr"
loadkeymap
< '
> "
/ é
? É
' è
\" È
\\ à
| À
[a â
[e ê
[i î
[o ô
[u û
[A Â
[E Ê
[I Î
[O Ô
[U Û
[[ ^
{a ä
{e ë
{i ï
{o ö
{u ü
{y ÿ
{A Ä
{E Ë
{I Ï
{O Ö
{U Ü
] ç
} Ç
` /
~ \\
^ ?
ú «
ø »
¬ <
® >
» °
Ûa à
Ûe è
Ûi ì
Ûo ò
Ûu ù
ÛA À
ÛE È
ÛI Ì
ÛO Ò
ÛU Ù
ÛÛ `
Ýa ã
Ýo õ
Ýn ñ
Ýs ß
ÝA Ã
ÝO Õ
ÝN Ñ
ÝS ß
ÝÝ ~
à |
· {
¸ }
¹ [
° ]
½ ¬

@ -0,0 +1,16 @@
let s:encoding = &enc
if s:encoding == 'latin1'
if has("unix")
let s:encoding = 'iso-8859-2'
else
let s:encoding = 'cp1250'
endif
endif
if s:encoding == 'utf-8'
source <sfile>:p:h/croatian_utf-8.vim
elseif s:encoding == 'cp1250'
source <sfile>:p:h/croatian_cp1250.vim
else
source <sfile>:p:h/croatian_iso-8859-2.vim
endif

@ -0,0 +1,65 @@
" Vim Keymap file for Croatian characters, classical variant, cp1250 encoding
"
" Maintainer: Paul B. Mahol <onemda@gmail.com>
" Last Changed: 2007 Oct 15
scriptencoding cp1250
let b:keymap_name = "croatian-cp1250"
" Uncomment line below if you prefer short name
"let b:keymap_name = "hr-cp1250"
loadkeymap
z y
Z Y
y z
Y Z
[ š
{ Š
] ð
} Ð
; è
: È
' æ
" Æ
\ ž
| Ž
/ -
? _
> :
< ;
¬ <
® >
â {
î }
æ [
ç ]
ñ \
÷ |
= +
+ *
- '
_ ?
@ "
^ &
& /
* (
( )
) =
± ~
ö @
³ ^
å €
í §
Û ÷
Ý ×
Ü ¤
§ ß
µ °
½ ¸
· `
¹ ´
² ¡
ë ³
ì £
´ ¢

@ -0,0 +1,84 @@
" Vim Keymap file for Croatian characters, classical variant, iso-8859-2 encoding
"
" Maintainer: Paul B. Mahol <onemda@gmail.com>
" Last Changed: 2007 Oct 14
scriptencoding iso-8859-2
let b:keymap_name = "croatian-iso-8859-2"
" Uncomment line below if you prefer short name
"let b:keymap_name = "hr-iso-8859-2"
loadkeymap
" swap y and z, not important
z y
Z Y
y z
Y Z
" s<
[ ¹
" S<
{ ©
" D/
} Ð
" d/
] ð
" c<
; è
" c'
' æ
" C<
: È
" C'
" Æ
" z<
\ ¾
" Z<
| ®
÷ |
ö @
ñ \
Û ÷
Ý ×
ý ×
§ ß
í §
Ü ¤
ü ¤
â {
î }
æ [
ç ]
@ "
^ &
& /
* (
( )
) =
_ ?
- '
= +
+ *
/ -
< ;
> :
? _
± ~
² ·
´ ¢
µ °
³ ^
ì ³
Ì £
· `
¹ ´
° ½
­ ¨
" you still want to be able to type <, >
¬ <
® >
` ¸
½ ¸

@ -0,0 +1,68 @@
" Vim Keymap file for Croatian characters, classical variant, UTF-8 encoding
"
" Maintainer: Paul B. Mahol <onemda@gmail.com>
" Last Changed: 2007 Oct 14
scriptencoding UTF-8
let b:keymap_name = "croatian-UTF-8"
" Uncomment line below if you prefer short name
"let b:keymap_name = "hr-UTF-8"
loadkeymap
z y
Z Y
y z
Y Z
[ š
{ Š
] đ
} Đ
; č
: Č
' ć
" Ć
\ ž
| Ž
@ "
^ &
& /
* (
( )
) =
_ ?
+ *
= +
- '
æ [
ç ]
â {
î }
< ;
> :
/ -
? _
ö @
ñ \
÷ |
å €
¬ <
® >
± ~
² ˇ
³ ^
´ ˘
µ °
· `
¹ ´
í §
Û ÷
Ü ¤
Ý ×
§ ß
ì ł
Ì Ł
° ˝
` ¸
½ ¸
­ ¨

@ -0,0 +1 @@
source <sfile>:p:h/czech_utf-8.vim

@ -0,0 +1,86 @@
" Maintainer: Štěpán Němec <stepnem@gmail.com>
" Last Changed: Fri 25 Jun 2010 22:08:43 CEST
let b:keymap_name = "czech"
loadkey
0 é
9 í
8 á
7 ý
6 ž
5 ř
4 č
3 š
2 ě
1 +
` ;
) 0
( 9
* 8
& 7
^ 6
% 5
$ 4
# 3
@ 2
! 1
] )
} (
[ ú
{ /
' §
\" !
; ů
: "
/ -
? _
> :
< ?
| '
~u ů
~U Ů
\\a ä
\\e ë
\\i ï
\\o ö
\\u ü
\\z ÿ
\\A Ä
\\E Ë
\\I Ï
\\O Ö
\\U Ü
\\Z Ÿ
=a á
=e é
=i í
=o ó
=u ú
=z ý
=A Á
=E É
=I Í
=O Ó
=U Ú
=Z Ý
+c č
+d ď
+e ě
+n ň
+r ř
+s š
+t ť
+y ž
+C Č
+D Ď
+E Ě
+N Ň
+R Ř
+S Š
+T Ť
+Y Ž
y z
Y Z
z y
Z Y

@ -0,0 +1,81 @@
" Maintainer: Ashish SHUKLA <wahjava@members.fsf.org>
" Last Changed: 2009 Jul 04
"
" All characters are ASCII, conversion to another encoding (e.g., UTF-8)
" should work.
let b:keymap_name = "en-dv"
loadkeymap
q '
w ,
e .
r p
t y
y f
u g
i c
o r
p l
[ /
] =
\\ \\
a a
s o
d e
f u
g i
h d
j h
k t
l n
; s
' -
z ;
x q
c j
v k
b x
n b
m m
, w
. v
/ z
Z :
X Q
C J
V K
B X
N B
M M
< W
> V
? Z
A A
S O
D E
F U
G I
H D
J H
K T
L N
: S
\" _
Q "
W <
E >
R P
T Y
Y F
U G
I C
O R
P L
{ ?
} +
| |
- [
_ {
= ]
+ }

@ -0,0 +1 @@
source <sfile>:p:h/esperanto_utf-8.vim

@ -0,0 +1,58 @@
" Esperanto keymap for utf-8
" Maintainer: A.J.Mechelynck <antoine.mechelynck@skynet.be>
" Last Changed: Sat 2003 Mar 15 05:23
" This keymap adds the special consonants of Esperanto to an existing Latin
" keyboard.
"
" All keys same as usual, except:
" ^ followed by any of CcGgHhJjSs adds a circumflex on top of the letter
" ù and Ù replaces the grave accent by a breve
" any of CcGgHhJjSsUu followed by X or x maps to consonant with ^ or Uu with
" breve.
" short keymap name for statusline
let b:keymap_name = "Eo"
" make cursor bright green when keymap is active
"highlight lCursor guifg=NONE guibg=#00E000
" The following digraphs are already defined
" digraph C> 0x0108 c> 0x0109 G> 0x011C g> 0x011D H> 0x0124 h> 0x0125
" digraph J> 0x0134 j> 0x0135 S> 0x015C s> 0x015D U( 0x016C u( 0x016D
scriptencoding latin1
loadkeymap
^C <Char-0x0108> " (264) UPPERCASE C WITH CIRCUMFLEX
^c <Char-0x0109> " (265) LOWERCASE c WITH CIRCUMFLEX
^G <Char-0x011C> " (284) UPPERCASE G WITH CIRCUMFLEX
^g <Char-0x011D> " (285) LOWERCASE g WITH CIRCUMFLEX
^H <Char-0x0124> " (292) UPPERCASE H WITH CIRCUMFLEX
^h <Char-0x0125> " (293) LOWERCASE h WITH CIRCUMFLEX
^J <Char-0x0134> " (308) UPPERCASE J WITH CIRCUMFLEX
^j <Char-0x0135> " (309) LOWERCASE j WITH CIRCUMFLEX
^S <Char-0x015C> " (348) UPPERCASE S WITH CIRCUMFLEX
^s <Char-0x015D> " (349) LOWERCASE s WITH CIRCUMFLEX
Ù <Char-0x016C> " (364) UPPERCASE U WITH BREVE
ù <Char-0x016D> " (365) LOWERCASE u WITH BREVE
CX <Char-0x0108> " (264) UPPERCASE C WITH CIRCUMFLEX
Cx <Char-0x0108> " (264) UPPERCASE C WITH CIRCUMFLEX
cx <Char-0x0109> " (265) LOWERCASE c WITH CIRCUMFLEX
GX <Char-0x011C> " (284) UPPERCASE G WITH CIRCUMFLEX
Gx <Char-0x011C> " (284) UPPERCASE G WITH CIRCUMFLEX
gx <Char-0x011D> " (285) LOWERCASE g WITH CIRCUMFLEX
HX <Char-0x0124> " (292) UPPERCASE H WITH CIRCUMFLEX
Hx <Char-0x0124> " (292) UPPERCASE H WITH CIRCUMFLEX
hx <Char-0x0125> " (293) LOWERCASE h WITH CIRCUMFLEX
JX <Char-0x0134> " (308) UPPERCASE J WITH CIRCUMFLEX
Jx <Char-0x0134> " (308) UPPERCASE J WITH CIRCUMFLEX
jx <Char-0x0135> " (309) LOWERCASE j WITH CIRCUMFLEX
SX <Char-0x015C> " (348) UPPERCASE S WITH CIRCUMFLEX
Sx <Char-0x015C> " (348) UPPERCASE S WITH CIRCUMFLEX
sx <Char-0x015D> " (349) LOWERCASE s WITH CIRCUMFLEX
UX <Char-0x016C> " (364) UPPERCASE U WITH BREVE
Ux <Char-0x016C> " (364) UPPERCASE U WITH BREVE
ux <Char-0x016D> " (365) LOWERCASE u WITH BREVE

@ -0,0 +1,7 @@
" Assume 'encoding' is set to "latin1" while actually cp1253 or iso-8859-7 is
" being used
if has("win16") || has("win32") || has("win32unix")
source <sfile>:p:h/greek_cp1253.vim
else
source <sfile>:p:h/greek_iso-8859-7.vim
endif

@ -0,0 +1,119 @@
" Vim Keymap file for greek
" Maintainer: Grigorios Magklis <maglis@cs.rochester.edu>
" Patched for MS-Windows CP1253: Panagiotis Louridas <louridas@acm.org>
" Last Updated: Fri 13 Feb 2004 13:01:33
"
" This keyboard layout allows all Greek symbols to be typed,
" including accented capitals, diaeresis & accent on the same
" vowel, and the Greek semicolon sign.
"
" accent ";" + letter
" diaeresis ":" + letter
" diaeresis + accent ";" + ":" (or ":" + ";") + letter
" semicolon "q"
" colon "Q"
" greek semicolon "W"
" sigma at end of word "w"
" greek left double-quote "<" twice
" greek right double-quote ">" twice
" Use this short name in the status line.
let b:keymap_name = "greek"
loadkeymap
" capital
A <char-193> " Á
B <char-194> " Â
G <char-195> " Ã
D <char-196> " Ä
E <char-197> " Å
Z <char-198> " Æ
H <char-199> " Ç
U <char-200> " È
I <char-201> " É
K <char-202> " Ê
L <char-203> " Ë
M <char-204> " Ì
N <char-205> " Í
J <char-206> " Î
O <char-207> " Ï
P <char-208> " Ð
R <char-209> " Ñ
S <char-211> " Ó
T <char-212> " Ô
Y <char-213> " Õ
F <char-214> " Ö
X <char-215> " ×
C <char-216> " Ø
V <char-217> " Ù
" small
a <char-225> " á
b <char-226> " â
g <char-227> " ã
d <char-228> " ä
e <char-229> " å
z <char-230> " æ
h <char-231> " ç
u <char-232> " è
i <char-233> " é
k <char-234> " ê
l <char-235> " ë
m <char-236> " ì
n <char-237> " í
j <char-238> " î
o <char-239> " ï
p <char-240> " ð
r <char-241> " ñ
w <char-242> " ò
s <char-243> " ó
t <char-244> " ô
y <char-245> " õ
f <char-246> " ö
x <char-247> " ÷
c <char-248> " ø
v <char-249> " ù
" accented capital
;A <char-162> " ¢
;E <char-184> " ¸
;H <char-185> " ¹
;I <char-186> " º
;Y <char-190> " ¾
;O <char-188> " ¼
;V <char-191> " ¿
"
:I <char-218> " Ú
:Y <char-219> " Û
" accented small
;a <char-220> " Ü
;e <char-221> " Ý
;h <char-222> " Þ
;i <char-223> " ß
;y <char-253> " ý
;o <char-252> " ü
;v <char-254> " þ
"
:i <char-250> " ú
:y <char-251> " û
"
;:i <char-192> " À
:;i <char-192> " À
;:y <char-224> " à
:;y <char-224> " à
" symbols
q ; " ;
Q : " :
W <char-183> " ·
; <char-180> " ´
: <char-168> " ¨
;: <char-181> " µ
:; <char-181> " µ
" quotes
<< <char-171> " «
>> <char-187> " »
" <char-161> " ¡
" <char-162> " ¢

@ -0,0 +1,104 @@
" Vim Keymap file for greek DOS cp737
" Maintainer: Panagiotis Louridas <louridas@acm.org>
" Last Updated: Thu Mar 23 14:05:45 EET 2006
" This keyboard layout allows all Greek symbols to be typed,
" including accented capitals and diaeresis. It does not
" include diaeresis and accent on the same vowel, nor
" the greek quotes, as these were not included in the codepage.
" It includes the Greek semicolon sign.
"
" accent ";" + letter
" diaeresis ":" + letter
" diaeresis + accent ";" + ":" (or ":" + ";") + letter
" semicolon "q"
" colon "Q"
" greek semicolon "W"
" sigma at end of word "w"
" Use this short name in the status line.
let b:keymap_name = "greek"
loadkeymap
" capital
A <char-128> " €
B <char-129> " <20>
G <char-130> "
D <char-131> " ƒ
E <char-132> " „
Z <char-133> " …
H <char-134> " †
U <char-135> " ‡
I <char-136> " ˆ
K <char-137> " ‰
L <char-138> " Š
M <char-139> "
N <char-140> " Œ
J <char-141> " <20>
O <char-142> " Ž
P <char-143> " <20>
R <char-144> " <20>
S <char-145> "
T <char-146> "
Y <char-147> " “
F <char-148> " ”
X <char-149> " •
C <char-150> "
V <char-151> " —
" small
a <char-152> " ˜
b <char-153> " ™
g <char-154> " š
d <char-155> "
e <char-156> " œ
z <char-157> " <20>
h <char-158> " ž
u <char-159> " Ÿ
i <char-160> "  
k <char-161> " ¡
l <char-162> " ¢
m <char-163> " £
n <char-164> " ¤
j <char-165> " ¥
o <char-166> " ¦
p <char-167> " §
r <char-168> " ¨
s <char-169> " ©
w <char-170> " ª
t <char-171> " «
y <char-172> " ¬
f <char-173> " ­
x <char-174> " ®
c <char-175> " ¯
v <char-224> " à
" accented capital
;A <char-234> " ê
;E <char-235> " ë
;H <char-236> " ì
;I <char-237> " í
;O <char-238> " î
;Y <char-239> " ï
;V <char-240> " ð
"
:I <char-244> " ô
:Y <char-245> " õ
" accented small
;a <char-225> " á
;e <char-226> " â
;h <char-227> " ã
;i <char-229> " å
;o <char-230> " æ
;y <char-231> " ç
;v <char-233> " é
"
:i <char-228> " ä
:y <char-232> " è
"
" symbols
q ; " ;
Q : " :
W <char-250> " ú

@ -0,0 +1,118 @@
" Vim Keymap file for greek
" Maintainer: Grigorios Magklis <maglis@cs.rochester.edu>
" Last Updated: Tue 10 Jul 2001 16:50:50
"
" This keyboard layout allows all Greek symbols to be typed,
" including accented capitals, diaeresis & accent on the same
" vowel, and the Greek semicolon sign.
"
" accent ";" + letter
" diaeresis ":" + letter
" diaeresis + accent ";" + ":" (or ":" + ";") + letter
" semicolon "q"
" colon "Q"
" greek semicolon "W"
" sigma at end of word "w"
" greek left double-quote "<" twice
" greek right double-quote ">" twice
" Use this short name in the status line.
let b:keymap_name = "greek"
loadkeymap
" capital
A <char-193> " Á
B <char-194> " Â
G <char-195> " Ã
D <char-196> " Ä
E <char-197> " Å
Z <char-198> " Æ
H <char-199> " Ç
U <char-200> " È
I <char-201> " É
K <char-202> " Ê
L <char-203> " Ë
M <char-204> " Ì
N <char-205> " Í
J <char-206> " Î
O <char-207> " Ï
P <char-208> " Ð
R <char-209> " Ñ
S <char-211> " Ó
T <char-212> " Ô
Y <char-213> " Õ
F <char-214> " Ö
X <char-215> " ×
C <char-216> " Ø
V <char-217> " Ù
" small
a <char-225> " á
b <char-226> " â
g <char-227> " ã
d <char-228> " ä
e <char-229> " å
z <char-230> " æ
h <char-231> " ç
u <char-232> " è
i <char-233> " é
k <char-234> " ê
l <char-235> " ë
m <char-236> " ì
n <char-237> " í
j <char-238> " î
o <char-239> " ï
p <char-240> " ð
r <char-241> " ñ
w <char-242> " ò
s <char-243> " ó
t <char-244> " ô
y <char-245> " õ
f <char-246> " ö
x <char-247> " ÷
c <char-248> " ø
v <char-249> " ù
" accented capital
;A <char-182> " ¶
;E <char-184> " ¸
;H <char-185> " ¹
;I <char-186> " º
;Y <char-190> " ¾
;O <char-188> " ¼
;V <char-191> " ¿
"
:I <char-218> " Ú
:Y <char-219> " Û
" accented small
;a <char-220> " Ü
;e <char-221> " Ý
;h <char-222> " Þ
;i <char-223> " ß
;y <char-253> " ý
;o <char-252> " ü
;v <char-254> " þ
"
:i <char-250> " ú
:y <char-251> " û
"
;:i <char-192> " À
:;i <char-192> " À
;:y <char-224> " à
:;y <char-224> " à
" symbols
q ; " ;
Q : " :
W <char-183> " ·
; <char-180> " ´
: <char-168> " ¨
;: <char-181> " µ
:; <char-181> " µ
" quotes
<< <char-171> " «
>> <char-187> " »
" <char-161> " ¡
" <char-162> " ¢

@ -0,0 +1,622 @@
" Vim Keymap file for greek
" Maintainer: Panagiotis Louridas <louridas@acm.org>
" Last Updated: Thu Mar 23 23:45:02 EET 2006
" This file was corrected for Vim after the version adapted for Vim 6 from
" the yudit distribution by Robert Goulding <goulding@princeton.edu>
"
" The monotonic part of this kmap was made by Constantine Stathopoulos
" <cstath@irismedia.gr>.
" The polytonic part was made by <birger.langkjer@image.dk> 04/11-1999,
" Aarhus, Denmark.
" It was modified and completed by A. Tsolomitis <atsol@aegean.gr>
" The licence allows modifications but redistribution of modifications
" should be with another name.
" The keymap now conforms with the
" LaTeX's-Babel Standard by A. Syropoulos <apostolo@ocean1.ee.duth.gr>
" The conventions are as follows:
" EURO SIGN is E$ (0x20AC),
" Drachma sign is D$ (0x20AF)
" RIGHT an LEFT QUOTATION MARKS (0x00BB), (0x00AB),
" follow the kikbd conventions (;< abd ;>) AND << and >>
" Apostrofos is corrected in order to agree with the Greek grammar rules
" of Triantafilidis who requires the PSILI (or Koronis) symbol for an
" apostrophe.
" The Greek ANO TELEIA (0x0387), follows again the kikbd conventions as
" well as the Emacs conventions. So it is produced by both ;. and W
" All greek accents are added so they can be produced by scholars
" without having to combine them with letters (usufull for grammarians
" in particular) (especially for dasia and psiln we use ' for psili
" (that is apostrophe) and ;' for dasia. This is done in order to
" preserve the posibility to write a plain < or >.
" Ypogegrammeni is | following the character (the originally proposed
" i after the character is problematic: can't write easily ai or vi) :
" > dasia " an oxia or baria *always* should follow dasia
" < psili " an oxia or baria *always* should follow psili
" ; tonos
" / oxia
" ` varia
" ~ perispomeni
" : dialytika
" :; or ;: dialytika oxia
" :` or `: dialytika baria
" || a single ypogegrammeni
" vowel followed by | gives ypogegrammeni to the vowel
" -vowel gives vowel with macron
" ^vowel gives vowel with braxy
" -- endash
" --- emdash
" ;b ;p ;f ;u ;r ;k give alternative forms
" && give the Greek kai symbol
" #Q and #q give archaic Qoppa and qoppa
" ;U is capital Theta symbol
" !e and !E are lunate epsilon and Epsilon
" #ST stigma
" #SP sampi
" #G digamma
" #Q qoppa
" ;# avw tovos (for numerals)
" ;## katw tovos (for numerals)
" All accents are supported. Even rho with < and > and Rho with <
" Also :~i and :~u and macron and braxy a,i,u and their capitals.
let b:keymap_name = "grk"
loadkeymap
" PUNCTUATION MARKS - SYMBOLS (GREEK SPECIFIC)
"
E$ <char-0x20AC> " EURO SIGN
>> <char-0x00BB> " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK [GREEK
" EISAGOGIKA/OMOIOMATIKA - DEFINITION
" MISSING FROM UNICODE]
;> <char-0x00BB> "
<< <char-0x00AB> " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK [GREEK
" EISAGOGIKA - DEFINITION MISSING FROM UNICODE]
;< <char-0x00AB> "
Q <char-0x003A> " COLON [GREEK EPEXIGIMATIKA OR ANO & KATO TELEIA -
" DEFINITION MISSING FROM UNICODE]
q <char-0x037E> " GREEK QUESTION MARK (EROTIMATIKO)
;. <char-0x0387> " GREEK ANO TELEIA (KDE/kikbd/Xinput standard)
W <char-0x0387> " GREEK ANO TELEIA (Emacs standard)
' <char-0x1FBD> " GREEK APOSTROFOS
-- <char-0x2013> " endash
--- <char-0x2014> " emdash
"
" GREEK DIACRITICS
"
: <char-0x00A8> " DIAERESIS [GREEK DIALYTIKA - DEFINITION MISSING FROM
" UNICODE]
; <char-0x0384> " GREEK TONOS
:; <char-0x0385> " GREEK DIALYTIKA Oxia
;: <char-0x0385> " GREEK DIALYTIKA Oxia
:` <char-0x1FED> " GREEK DIALYTIKA VARIA
`: <char-0x1FED> " GREEK DIALYTIKA VARIA
/ <char-0x1FFD> " GREEK OXIA
` <char-0x1FEF> " GREEK VARIA
~ <char-0x1FC0> " PERISPOMENI
>` <char-0x1FCD> " PSILI VARIA
<` <char-0x1FDD> " DASIA VARIA
>; <char-0x1FCE> " PSILI OXIA
<; <char-0x1FDE> " DASIA OXIA
<~ <char-0x1FDF> " DASIA PERISPOMENI
>~ <char-0x1FCF> " PSILI PERISPOMENI
"For plain psili use apostrophe
;' <char-0x1FFE> " (Plain) dasia
"
"
"
" GREEK LETTERS
"
A <char-0x0391> " GREEK CAPITAL LETTER ALPHA
B <char-0x0392> " GREEK CAPITAL LETTER BETA
G <char-0x0393> " GREEK CAPITAL LETTER GAMMA
D <char-0x0394> " GREEK CAPITAL LETTER DELTA
E <char-0x0395> " GREEK CAPITAL LETTER EPSILON
Z <char-0x0396> " GREEK CAPITAL LETTER ZETA
H <char-0x0397> " GREEK CAPITAL LETTER ETA
U <char-0x0398> " GREEK CAPITAL LETTER THETA
I <char-0x0399> " GREEK CAPITAL LETTER IOTA
K <char-0x039A> " GREEK CAPITAL LETTER KAPPA
L <char-0x039B> " GREEK CAPITAL LETTER LAMDA
M <char-0x039C> " GREEK CAPITAL LETTER MU
N <char-0x039D> " GREEK CAPITAL LETTER NU
J <char-0x039E> " GREEK CAPITAL LETTER XI
O <char-0x039F> " GREEK CAPITAL LETTER OMIKRON
P <char-0x03A0> " GREEK CAPITAL LETTER PI
R <char-0x03A1> " GREEK CAPITAL LETTER RHO
S <char-0x03A3> " GREEK CAPITAL LETTER SIGMA
T <char-0x03A4> " GREEK CAPITAL LETTER TAU
Y <char-0x03A5> " GREEK CAPITAL LETTER UPSILON
F <char-0x03A6> " GREEK CAPITAL LETTER PHI
X <char-0x03A7> " GREEK CAPITAL LETTER CHI
C <char-0x03A8> " GREEK CAPITAL LETTER PSI
V <char-0x03A9> " GREEK CAPITAL LETTER OMEGA
a <char-0x03B1> " GREEK SMALL LETTER ALPHA
b <char-0x03B2> " GREEK SMALL LETTER BETA
g <char-0x03B3> " GREEK SMALL LETTER GAMMA
d <char-0x03B4> " GREEK SMALL LETTER DELTA
e <char-0x03B5> " GREEK SMALL LETTER EPSILON
z <char-0x03B6> " GREEK SMALL LETTER ZETA
h <char-0x03B7> " GREEK SMALL LETTER ETA
u <char-0x03B8> " GREEK SMALL LETTER THETA
i <char-0x03B9> " GREEK SMALL LETTER IOTA
k <char-0x03BA> " GREEK SMALL LETTER KAPPA
l <char-0x03BB> " GREEK SMALL LETTER LAMDA
m <char-0x03BC> " GREEK SMALL LETTER MU
n <char-0x03BD> " GREEK SMALL LETTER NU
j <char-0x03BE> " GREEK SMALL LETTER XI
o <char-0x03BF> " GREEK SMALL LETTER OMICRON
p <char-0x03C0> " GREEK SMALL LETTER PI
r <char-0x03C1> " GREEK SMALL LETTER RHO
w <char-0x03C2> " GREEK SMALL LETTER FINAL SIGMA
s <char-0x03C3> " GREEK SMALL LETTER SIGMA
t <char-0x03C4> " GREEK SMALL LETTER TAU
y <char-0x03C5> " GREEK SMALL LETTER UPSILON
f <char-0x03C6> " GREEK SMALL LETTER PHI
x <char-0x03C7> " GREEK SMALL LETTER CHI
c <char-0x03C8> " GREEK SMALL LETTER PSI
v <char-0x03C9> " GREEK SMALL LETTER OMEGA
"
"COMBINED GREEK LETTERS WITH DIACRITICS
"
;A <char-0x0386> " GREEK CAPITAL LETTER ALPHA WITH TONOS
;E <char-0x0388> " GREEK CAPITAL LETTER EPSILON WITH TONOS
;H <char-0x0389> " GREEK CAPITAL LETTER ETA WITH TONOS
;I <char-0x038A> " GREEK CAPITAL LETTER IOTA WITH TONOS
;O <char-0x038C> " GREEK CAPITAL LETTER OMICRON WITH TONOS
;Y <char-0x038E> " GREEK CAPITAL LETTER UPSILON WITH TONOS
;V <char-0x038F> " GREEK CAPITAL LETTER OMEGA WITH TONOS
:;i <char-0x0390> " GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
;:i <char-0x0390> " GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
:`i <char-0x1FD2> " GREEK SMALL LETTER IOTA WITH DIALYTIKA AND baria
`:i <char-0x1FD2> " GREEK SMALL LETTER IOTA WITH DIALYTIKA AND baria
:I <char-0x03AA> " GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
:Y <char-0x03AB> " GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
;a <char-0x03AC> " GREEK SMALL LETTER ALPHA WITH TONOS
;e <char-0x03AD> " GREEK SMALL LETTER EPSILON WITH TONOS
;h <char-0x03AE> " GREEK SMALL LETTER ETA WITH TONOS
;i <char-0x03AF> " GREEK SMALL LETTER IOTA WITH TONOS
:;y <char-0x03B0> " GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
;:y <char-0x03B0> " GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
:`y <char-0x1FE2> " GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND baria
`:y <char-0x1FE2> " GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND baria
:i <char-0x03CA> " GREEK SMALL LETTER IOTA WITH DIALYTIKA
:y <char-0x03CB> " GREEK SMALL LETTER UPSILON WITH DIALYTIKA
;o <char-0x03CC> " GREEK SMALL LETTER OMICRON WITH TONOS
;y <char-0x03CD> " GREEK SMALL LETTER UPSILON WITH TONOS
;v <char-0x03CE> " GREEK SMALL LETTER OMEGA WITH TONOS
"
" This area covers 0x1F00-0x1FFF
"
"
" letters with Varia:
"
`A <char-0x1FBA> " GREEK CAPITAL LETTER ALPHA WITH VARIA
`E <char-0x1FC8> " GREEK CAPITAL LETTER ALPHA WITH VARIA
`H <char-0x1FCA> " GREEK CAPITAL LETTER ETA WITH VARIA
`I <char-0x1FDA> " GREEK CAPITAL LETTER IOTA WITH VARIA
`O <char-0x1FF8> " GREEK CAPITAL LETTER ALPHA WITH VARIA
`Y <char-0x1FEA> " GREEK CAPITAL LETTER ALPHA WITH VARIA
`V <char-0x1FFA> " GREEK CAPITAL LETTER OMEGA WITH VARIA
`a <char-0x1F70> " GREEK SMALL LETTER ALPHA WITH VARIA
`e <char-0x1F72> " GREEK SMALL LETTER ALPHA WITH VARIA
`h <char-0x1F74> " GREEK SMALL LETTER ETA WITH VARIA
`i <char-0x1F76> " GREEK SMALL LETTER IOTA WITH VARIA
`o <char-0x1F78> " GREEK SMALL LETTER ALPHA WITH VARIA
`y <char-0x1F7A> " GREEK SMALL LETTER ALPHA WITH VARIA
`v <char-0x1F7C> " GREEK SMALL LETTER OMEGA WITH VARIA
"
" letters with Oxia:
"
/A <char-0x1FBB> " GREEK CAPITAL LETTER ALPHA WITH OXIA
/E <char-0x1FC9> " GREEK CAPITAL LETTER EPSILON WITH OXIA
/H <char-0x1FCB> " GREEK CAPITAL LETTER ETA WITH OXIA
/I <char-0x1FDB> " GREEK CAPITAL LETTER IOTA WITH OXIA
/O <char-0x1FF9> " GREEK CAPITAL LETTER OMICRON WITH OXIA
/Y <char-0x1FEB> " GREEK CAPITAL LETTER UPSILON WITH OXIA
/V <char-0x1FFB> " GREEK CAPITAL LETTER OMEGA WITH OXIA
/a <char-0x1F71> " GREEK SMALL LETTER ALPHA WITH OXIA
/e <char-0x1F73> " GREEK SMALL LETTER EPSILON WITH OXIA
/h <char-0x1F75> " GREEK SMALL LETTER ETA WITH OXIA
/i <char-0x1F77> " GREEK SMALL LETTER IOTA WITH OXIA
/o <char-0x1F79> " GREEK SMALL LETTER OMICRON WITH OXIA
/y <char-0x1F7B> " GREEK SMALL LETTER UPSILON WITH OXIA
/v <char-0x1F7D> " GREEK SMALL LETTER OMEGA WITH OXIA
"
" letters with Psili:
"
>A <char-0x1F08> " GREEK CAPITAL LETTER ALPHA WITH PSILI
>E <char-0x1F18> " GREEK CAPITAL LETTER EPSILON WITH PSILI
>H <char-0x1F28> " GREEK CAPITAL LETTER ETA WITH PSILI
>I <char-0x1F38> " GREEK CAPITAL LETTER IOTA WITH PSILI
>O <char-0x1F48> " GREEK CAPITAL LETTER OMICRON WITH PSILI
>Y <char-0x1F58> " GREEK CAPITAL LETTER UPSILON WITH PSILI
>V <char-0x1F68> " GREEK CAPITAL LETTER OMEGA WITH PSILI
>a <char-0x1F00> " GREEK SMALL LETTER ALPHA WITH PSILI
>e <char-0x1F10> " GREEK SMALL LETTER EPSILON WITH PSILI
>h <char-0x1F20> " GREEK SMALL LETTER ETA WITH PSILI
>i <char-0x1F30> " GREEK SMALL LETTER IOTA WITH PSILI
>o <char-0x1F40> " GREEK SMALL LETTER OMICRON WITH PSILI
>y <char-0x1F50> " GREEK SMALL LETTER UPSILON WITH PSILI
>v <char-0x1F60> " GREEK SMALL LETTER OMEGA WITH PSILI
"
" Letters with Dasia:
"
<A <char-0x1F09> " GREEK CAPITAL LETTER ALPHA WITH DASIA
<E <char-0x1F19> " GREEK CAPITAL LETTER EPSILON WITH DASIA
<H <char-0x1F29> " GREEK CAPITAL LETTER ETA WITH DASIA
<I <char-0x1F39> " GREEK CAPITAL LETTER IOTA WITH DASIA
<O <char-0x1F49> " GREEK CAPITAL LETTER OMICRON WITH DASIA
<Y <char-0x1F59> " GREEK CAPITAL LETTER UPSILON WITH DASIA
<V <char-0x1F69> " GREEK CAPITAL LETTER OMEGA WITH DASIA
<a <char-0x1F01> " GREEK SMALL LETTER ALPHA WITH DASIA
<e <char-0x1F11> " GREEK SMALL LETTER EPSILON WITH DASIA
<h <char-0x1F21> " GREEK SMALL LETTER ETA WITH DASIA
<i <char-0x1F31> " GREEK SMALL LETTER IOTA WITH DASIA
<o <char-0x1F41> " GREEK SMALL LETTER OMICRON WITH DASIA
<y <char-0x1F51> " GREEK SMALL LETTER UPSILON WITH DASIA
<v <char-0x1F61> " GREEK SMALL LETTER OMEGA WITH DASIA
"
" letters with Psili and Varia:
"
>`A <char-0x1F0A> " GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
>`E <char-0x1F1A> " GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
>`H <char-0x1F2A> " GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
>`I <char-0x1F3A> " GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
>`O <char-0x1F4A> " GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
>`Y <char-0x1F5A> " GREEK CAPITAL LETTER UPSILON WITH PSILI AND VARIA
>`V <char-0x1F6A> " GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
>`a <char-0x1F02> " GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA
>`e <char-0x1F12> " GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA
>`h <char-0x1F22> " GREEK SMALL LETTER ETA WITH PSILI AND VARIA
>`i <char-0x1F32> " GREEK SMALL LETTER IOTA WITH PSILI AND VARIA
>`o <char-0x1F42> " GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA
>`y <char-0x1F52> " GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
>`v <char-0x1F62> " GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA
"
" Letters with Dasia and Varia:
"
<`A <char-0x1F0B> " GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
<`E <char-0x1F1B> " GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
<`H <char-0x1F2B> " GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
<`I <char-0x1F3B> " GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
<`O <char-0x1F4B> " GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
<`Y <char-0x1F5B> " GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
<`V <char-0x1F6B> " GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
<`a <char-0x1F03> " GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA
<`e <char-0x1F13> " GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA
<`h <char-0x1F23> " GREEK SMALL LETTER ETA WITH DASIA AND VARIA
<`i <char-0x1F33> " GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
<`o <char-0x1F43> " GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA
<`y <char-0x1F53> " GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA
<`v <char-0x1F63> " GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA
"
" letters with Psili and Oxia:
"
>;A <char-0x1F0C> " GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
>;E <char-0x1F1C> " GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
>;H <char-0x1F2C> " GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
>;I <char-0x1F3C> " GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
>;O <char-0x1F4C> " GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
>;Y <char-0x1F5C> " GREEK CAPITAL LETTER UPSILON WITH PSILI AND OXIA
>;V <char-0x1F6C> " GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
>;a <char-0x1F04> " GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA
>;e <char-0x1F14> " GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA
>;h <char-0x1F24> " GREEK SMALL LETTER ETA WITH PSILI AND OXIA
>;i <char-0x1F34> " GREEK SMALL LETTER IOTA WITH PSILI AND OXIA
>;o <char-0x1F44> " GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA
>;y <char-0x1F54> " GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
>;v <char-0x1F64> " GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA
"
" Letters with Dasia and Oxia:
"
<;A <char-0x1F0D> " GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
<;E <char-0x1F1D> " GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
<;H <char-0x1F2D> " GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
<;I <char-0x1F3D> " GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
<;O <char-0x1F4D> " GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
<;Y <char-0x1F5D> " GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
<;V <char-0x1F6D> " GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
<;a <char-0x1F05> " GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA
<;e <char-0x1F15> " GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
<;h <char-0x1F25> " GREEK SMALL LETTER ETA WITH DASIA AND OXIA
<;i <char-0x1F35> " GREEK SMALL LETTER IOTA WITH DASIA AND OXIA
<;o <char-0x1F45> " GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
<;y <char-0x1F55> " GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA
<;v <char-0x1F65> " GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA
"
" letters with Psili and Perispomeni:
"
>~A <char-0x1F0E> " GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
>~E <char-0x1F1E> " GREEK CAPITAL LETTER EPSILON WITH PSILI AND PERISPOMENI
>~H <char-0x1F2E> " GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
>~I <char-0x1F3E> " GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
>~O <char-0x1F4E> " GREEK CAPITAL LETTER OMICRON WITH PSILI AND PERISPOMENI
>~Y <char-0x1F5E> " GREEK CAPITAL LETTER UPSILON WITH PSILI AND PERISPOMENI
>~V <char-0x1F6E> " GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
>~a <char-0x1F06> " GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI
>~e <char-0x1F16> " GREEK SMALL LETTER EPSILON WITH PSILI AND PERISPOMENI
>~h <char-0x1F26> " GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI
>~i <char-0x1F36> " GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI
>~o <char-0x1F46> " GREEK SMALL LETTER OMICRON WITH PSILI AND PERISPOMENI
>~y <char-0x1F56> " GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
>~v <char-0x1F66> " GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI
"
" Letters with Dasia and Perispomeni:
"
<~A <char-0x1F0F> " GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
<~E <char-0x1F1F> " GREEK CAPITAL LETTER EPSILON WITH DASIA AND PERISPOMENI
<~H <char-0x1F2F> " GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
<~I <char-0x1F3F> " GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
<~O <char-0x1F4F> " GREEK CAPITAL LETTER OMICRON WITH DASIA AND PERISPOMENI
<~Y <char-0x1F5F> " GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
<~V <char-0x1F6F> " GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
<~a <char-0x1F07> " GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
<~e <char-0x1F17> " GREEK SMALL LETTER EPSILON WITH DASIA AND PERISPOMENI
<~h <char-0x1F27> " GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
<~i <char-0x1F37> " GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
<~o <char-0x1F47> " GREEK SMALL LETTER OMICRON WITH DASIA AND PERISPOMENI
<~y <char-0x1F57> " GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
<~v <char-0x1F67> " GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
"
"
"
" letters with Ypogegrammeni/Prosgegrammeni:
"
A| <char-0x1FBC> " GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
H| <char-0x1FCC> " GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
V| <char-0x1FFC> " GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
a| <char-0x1FB3> " GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
h| <char-0x1FC3> " GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
v| <char-0x1FF3> " GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
"
"
"
" letters with Psili and Ypogegrammeni/Prosgegrammeni:
"
>A| <char-0x1F88> " GREEK CAPITAL LETTER ALPHA WITH PSILI AND
" PROSGEGRAMMENI
>H| <char-0x1F98> " GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
>V| <char-0x1FA8> " GREEK CAPITAL LETTER OMEGA WITH PSILI AND
" PROSGEGRAMMENI
>a| <char-0x1F80> " GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
>h| <char-0x1F90> " GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
>v| <char-0x1FA0> " GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
"
"
"
" letters with Dasia and Ypogegrammeni/Prosgegrammeni:
"
<A| <char-0x1F89> " GREEK CAPITAL LETTER ALPHA WITH DASIA AND
" PROSGEGRAMMENI
<H| <char-0x1F99> " GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
<V| <char-0x1FA9> " GREEK CAPITAL LETTER OMEGA WITH DASIA AND
" PROSGEGRAMMENI
<a| <char-0x1F81> " GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
<h| <char-0x1F91> " GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
<v| <char-0x1FA1> " GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
"
"
"
" letters with Psili and Varia and Ypogegrammeni/Prosgegrammeni:
"
>`A| <char-0x1F8A> " GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND
" PROSGEGRAMMENI
>`H| <char-0x1F9A> " GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND
" PROSGEGRAMMENI
>`V| <char-0x1FAA> " GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND
" PROSGEGRAMMENI
>`a| <char-0x1F82> " GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND
" YPOGEGRAMMENI
>`h| <char-0x1F92> " GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND
" YPOGEGRAMMENI
>`v| <char-0x1FA2> " GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND
" YPOGEGRAMMENI
"
"
"
" letters with Dasia and Varia and Ypogegrammeni/Prosgegrammeni:
"
<`A| <char-0x1F8B> " GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND
" PROSGEGRAMMENI
<`H| <char-0x1F9B> " GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND
" PROSGEGRAMMENI
<`V| <char-0x1FAB> " GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND
" PROSGEGRAMMENI
<`a| <char-0x1F83> " GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND
" YPOGEGRAMMENI
<`h| <char-0x1F93> " GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND
" YPOGEGRAMMENI
<`v| <char-0x1FA3> " GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND
" YPOGEGRAMMENI
"
" letters with Psili and Oxia and Ypogegrammeni/Prosgegrammeni:
"
"
"
>;A| <char-0x1F8C> " GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND
" PROSGEGRAMMENI
>;H| <char-0x1F9C> " GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND
" PROSGEGRAMMENI
>;V| <char-0x1FAC> " GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND
" PROSGEGRAMMENI
>;a| <char-0x1F84> " GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND
" YPOGEGRAMMENI
>;h| <char-0x1F94> " GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND
" YPOGEGRAMMENI
>;v| <char-0x1FA4> " GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND
" YPOGEGRAMMENI
"
" letters with Dasia and Oxia and Ypogegrammeni/Prosgegrammeni:
"
"
"
<;A| <char-0x1F8D> " GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND
" PROSGEGRAMMENI
<;H| <char-0x1F9D> " GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND
" PROSGEGRAMMENI
<;V| <char-0x1FAD> " GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND
" PROSGEGRAMMENI
<;a| <char-0x1F85> " GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND
" YPOGEGRAMMENI
<;h| <char-0x1F95> " GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND
" YPOGEGRAMMENI
<;v| <char-0x1FA5> " GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND
" YPOGEGRAMMENI
"
" letters with Psili and Perispomeni and Ypogegrammeni/Prosgegrammeni:
"
"
"
>~A| <char-0x1F8E> " GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
" AND PROSGEGRAMMENI
>~H| <char-0x1F9E> " GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
" PERISPOMENI PROSGEGRAMMENI
>~V| <char-0x1FAE> " GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
" AND PROSGEGRAMMENI
>~a| <char-0x1F86> " GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI
" AND YPOGEGRAMMENI
>~h| <char-0x1F96> " GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND
" YPOGEGRAMMENI
>~v| <char-0x1FA6> " GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI
" AND YPOGEGRAMMENI
"
" letters with Dasia and Perispomeni and Ypogegrammeni/Prosgegrammeni:
"
"
"
<~A| <char-0x1F8F> " GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
" AND PROSGEGRAMMENI
<~H| <char-0x1F9F> " GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
" AND PROSGEGRAMMENI
<~V| <char-0x1FAF> " GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
" AND PROSGEGRAMMENI
<~a| <char-0x1F87> " GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
" AND YPOGEGRAMMENI
<~h| <char-0x1F97> " GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND
" YPOGEGRAMMENI
<~v| <char-0x1FA7> " GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
" AND YPOGEGRAMMENI
"
" letters with Perispomeni:
"
"
"
~a <char-0x1FB6> " GREEK SMALL LETTER ALPHA WITH PERISPOMENI
~h <char-0x1FC6> " GREEK SMALL LETTER ETA WITH PERISPOMENI
~i <char-0x1FD6> " GREEK SMALL LETTER IOTA WITH PERISPOMENI
~y <char-0x1FE6> " GREEK SMALL LETTER UPSILON WITH PERISPOMENI
~v <char-0x1FF6> " GREEK SMALL LETTER OMEGA WITH PERISPOMENI
"
" letters with Perispomeni and Ypogegrammeni:
"
"
"
~a| <char-0x1FB7> " GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND
" YPOGEGRAMMENI
~h| <char-0x1FC7> " GREEK SMALL LETTER ETA WITH PERISPOMENI AND
" YPOGEGRAMMENI
~v| <char-0x1FF7> " GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND
" YPOGEGRAMMENI
"
"
" letters with Varia and Ypogegrammeni:
"
"
"
`a| <char-0x1FB2> " GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
`h| <char-0x1FC2> " GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
`v| <char-0x1FF2> " GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
"
" letters with Oxia and Ypogegrammeni:
"
"
"
;a| <char-0x1FB4> " GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
;h| <char-0x1FC4> " GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
;v| <char-0x1FF4> " GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
"
"
" Combining/Nonspacing comma above (0x0313) instead of Psili:
"
>, <char-0x0313> " COMBINING COMMA ABOVE
"
" Combining/Nonspacing reversed comma above (0x0314) instead of Dasia:
"
<, <char-0x0314> " COMBINING REVERSED COMMA ABOVE
"
"
" Greek Quotes if your keyboard supports them
´ <char-0x201C> " QUOTEDBLLEFT
ª <char-0x201D> " QUOTEDBLRIGHT
"
"
"
" APPENDIX A - Additional characters
"
"
;# <char-0x0374> " GREEK NUMERAL SIGN
;## <char-0x0375> " GREEK LOWER NUMERAL SIGN
|| <char-0x037A> " GREEK YPOGEGRAMMENI
;b <char-0x03D0> " GREEK BETA SYMBOL
;u <char-0x03D1> " GREEK THETA SYMBOL
" <char-0x03D2> " GREEK UPSILON WITH HOOK SYMBOL
" <char-0x03D3> " GREEK UPSILON WITH ACUTE AND HOOK SYMBOL
" <char-0x03D4> " GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
;f <char-0x03D5> " GREEK PHI SYMBOL
;p <char-0x03D6> " GREEK PI SYMBOL
#ST <char-0x03DA> " GREEK LETTER STIGMA
#G <char-0x03DC> " GREEK LETTER DIGAMMA
#Q <char-0x03DE> " GREEK LETTER KOPPA
#SP <char-0x03E0> " GREEK LETTER SAMPI
;k <char-0x03F0> " GREEK KAPPA SYMBOL
;r <char-0x03F1> " GREEK RHO SYMBOL
" <char-0x03F2> " GREEK LUNATE SIGMA SYMBOL
" <char-0x03F3> " GREEK LETTER YOT
:~ <char-0x1FC1> "dialytika peripswmevn
~: <char-0x1FC1> "dialytika peripswmevn
:~i <char-0x1FD7> "iota dialytika perispomeni
~:i <char-0x1FD7> "iota dialytika perispomeni
:~y <char-0x1FE7> "upsilon dialytika perispomeni
~:y <char-0x1FE7> "upsilon dialytika perispomeni
-a <char-0x1FB1> "alpha macron
-i <char-0x1FD1> "iota macron
-y <char-0x1FE1> "upsilon macron
-A <char-0x1FB9> "Alpha macron
-I <char-0x1FD9> "Iota macron
-Y <char-0x1FE9> "Upsilon macron
^a <char-0x1FB0> "alpha braxy
^i <char-0x1FD0> "iota braxy
^y <char-0x1FE0> "upsilon braxy
^A <char-0x1FB8> "alpha braxy
^I <char-0x1FD8> "iota braxy
^Y <char-0x1FE8> "upsilon braxy
>r <char-0x1FE4> "rho psili
<r <char-0x1FE5> "rho dasia
<R <char-0x1FEC> "Rho dasia
" More Symbols
&& <char-0x03D7> "Greek kai
D$ <char-0x20AF> "Drachma symbol
#Q <char-0x03D8> "Archaic Qoppa
#q <char-0x03D9> "Archaic qoppa
;U <char-0x03F4> "Capital Theta symbol
"!e <char-0x03F5> "Lunate epsilon
"!E <char-0x03F6> "Lunate Epsilon

@ -0,0 +1,16 @@
let encoding = &enc
if encoding == 'latin1'
if has("unix")
let encoding = 'iso-8859-8'
else
let encoding = 'cp1255'
endif
endif
if encoding == 'utf-8'
source <sfile>:p:h/hebrew_utf-8.vim
elseif encoding == 'cp1255'
source <sfile>:p:h/hebrew_cp1255.vim
else
source <sfile>:p:h/hebrew_iso-8859-8.vim
endif

@ -0,0 +1,62 @@
" add in the vowel points, known as 'niqud', which are present in
" CP1255: Note: there are several 'standards' for placement of the vowel
" points, and I ignored all of them. Since we can input English by simply
" pressing Ctrl-^ and eliminating this map, I saw no reason to try to use
" exotic key locations. If you don't like it, that's just too bad :-)
let b:keymap_name = "heb"
loadkeymap
a <char-249> " ש - shin
b <char-240> " נ - nun
c <char-225> " ב - bet
d <char-226> " ג - gimel
e <char-247> " ק - qof
f <char-235> " כ - kaf
g <char-242> " ע - ayin
h <char-233> " י - yod
i <char-239> " ן - final nun
j <char-231> " ח - het
k <char-236> " ל - lamed
l <char-234> " ך - final kaf
m <char-246> " צ - tsadi
n <char-238> " מ - mem
o <char-237> " ם - final mem
p <char-244> " פ - pe
q / " / - slash
r <char-248> " ר - resh
s <char-227> " ד - dalet
t <char-224> " א - alef
u <char-229> " ו - vav
v <char-228> " ה - he
w ' " ' - single-quote
x <char-241> " ס - samekh
y <char-232> " ט - tet
z <char-230> " ז - zayin
, <char-250> " ת - tav
. <char-245> " ץ - final tsadi
; <char-243> " ף - final pe
' , " , - comma
/ . " . - period
` ; " ; - semicolon
" vowels:
A: <Char-192> " sheva
HE <Char-193> " hataf segol
HA <Char-194> " hataf patah
HO <Char-195> " hataf qamats
I <Char-196> " hiriq
AY <Char-197> " tsere
E <Char-198> " segol
AA <Char-199> " patah
AO <Char-200> " qamats
O <Char-201> " holam
U <Char-203> " qubuts
D <Char-204> " dagesh
]T <Char-205> " meteg
]Q <Char-206> " maqaf
]R <ּChar-207> " rafe
]p <Char-208> " paseq
SR <Char-209> " shin-dot
SL <Char-210> " sin-dot
]P <Char-211> " sof-pasuq
VV <Char-212> " double-vav
VY <Char-213> " vav-yod
YY <Char-214> " yod-yod

@ -0,0 +1,41 @@
" Vim Keymap file for hebrew
" Maintainer : Ron Aaron <ron@ronware.org>
" Last Updated: Wed 28 Feb 2001 21:28:51
" This is the standard Israeli keyboard layout
" Use this short name in the status line.
let b:keymap_name = "heb"
loadkeymap
a <char-249> " ù - shin
b <char-240> " ð - nun
c <char-225> " á - bet
d <char-226> " â - gimel
e <char-247> " ÷ - qof
f <char-235> " ë - kaf
g <char-242> " ò - ayin
h <char-233> " é - yod
i <char-239> " ï - final nun
j <char-231> " ç - het
k <char-236> " ì - lamed
l <char-234> " ê - final kaf
m <char-246> " ö - tsadi
n <char-238> " î - mem
o <char-237> " í - final mem
p <char-244> " ô - pe
q / " / - slash
r <char-248> " ø - resh
s <char-227> " ã - dalet
t <char-224> " à - alef
u <char-229> " å - vav
v <char-228> " ä - he
w ' " ' - single-quote
x <char-241> " ñ - samekh
y <char-232> " è - tet
z <char-230> " æ - zayin
, <char-250> " ú - tav
. <char-245> " õ - final tsadi
; <char-243> " ó - final pe
' , " , - comma
/ . " . - period
` ; " ; - semicolon

@ -0,0 +1,128 @@
" Vim Keymap file for hebrew
" Maintainer : Ron Aaron <ron@ronware.org>
" Last Updated: Wed 28 Feb 2001 21:28:51
" This is the standard Israeli keyboard layout with (my nonstandard locations
" for) niqud, for utf:
" Use this short name in the status line.
let b:keymap_name = "heb"
loadkeymap
a <char-0x5e9> " ש - shin
b <char-0x5e0> " נ - nun
c <char-0x5d1> " ב - bet
d <char-0x5d2> " ג - gimel
e <char-0x5e7> " ק - qof
f <char-0x5db> " כ - kaf
g <char-0x5e2> " ע - ayin
h <char-0x5d9> " י - yod
i <char-0x5df> " ן - final nun
j <char-0x5d7> " ח - het
k <char-0x5dc> " ל - lamed
l <char-0x5da> " ך - final kaf
m <char-0x5e6> " צ - tsadi
n <char-0x5de> " מ - mem
o <char-0x5dd> " ם - final mem
p <char-0x5e4> " פ - pe
q / " / - slash
r <char-0x5e8> " ר - resh
s <char-0x5d3> " ד - dalet
t <char-0x5d0> " א - alef
u <char-0x5d5> " ו - vav
v <char-0x5d4> " ה - he
w ' " ' - single-quote
x <char-0x5e1> " ס - samekh
y <char-0x5d8> " ט - tet
z <char-0x5d6> " ז - zayin
, <char-0x5ea> " ת - tav
. <char-0x5e5> " ץ - final tsadi
; <char-0x5e3> " ף - final pe
' , " , - comma
/ . " . - period
` ; " ; - semicolon
A: <Char-0x5b0> " sheva
HE <Char-0x5b1> " hataf segol
HA <Char-0x5b2> " hataf patah
HO <Char-0x5b3> " hataf qamats
I <Char-0x5b4> " hiriq
AY <Char-0x5b5> " tsere
E <Char-0x5b6> " segol
AA <Char-0x5b7> " patah
AO <Char-0x5b8> " qamats
O <Char-0x5b9> " holam
U <Char-0x5bb> " qubuts
D <Char-0x5bc> " dagesh
]T <Char-0x5bd> " meteg
]Q <Char-0x5be> " maqaf
]R <Char-0x5bf> " rafe
]p <Char-0x5c0> " paseq
SR <Char-0x5c1> " shin-dot
SL <Char-0x5c2> " sin-dot
]P <Char-0x5c3> " sof-pasuq
VV <Char-0x5f0> " double-vav
VY <Char-0x5f1> " vav-yod
YY <Char-0x5f2> " yod-yod
" cantillation:
C: <Char-0x591> " etnahta
Cs <Char-0x592> " segol
CS <Char-0x593> " shalshelet
Cz <Char-0x594> " zaqef qatan
CZ <Char-0x595> " zaqef gadol
Ct <Char-0x596> " tipeha
Cr <Char-0x597> " revia
Cq <Char-0x598> " zarqa
Cp <Char-0x599> " pashta
C! <Char-0x59a> " yetiv
Cv <Char-0x59b> " tevir
Cg <Char-0x59c> " geresh
C* <Char-0x59d> " geresh qadim
CG <Char-0x59e> " gershayim
CP <Char-0x59f> " qarnei-parah
Cy <Char-0x5aa> " yerach-ben-yomo
Co <Char-0x5ab> " ole
Ci <Char-0x5ac> " iluy
Cd <Char-0x5ad> " dehi
Cn <Char-0x5ae> " zinor
CC <Char-0x5af> " masora circle
X` <Char-0xfb20> " Alternative `ayin
X' <Char-0xfb21> " Alternative 'alef
X-d <Char-0xfb22> " Alternative dalet
X-h <Char-0xfb23> " Alternative he
X-k <Char-0xfb24> " Alternative kaf
X-l <Char-0xfb25> " Alternative lamed
X-m <Char-0xfb26> " Alternative mem-sofit
X-r <Char-0xfb27> " Alternative resh
X-t <Char-0xfb28> " Alternative tav
X-+ <Char-0xfb29> " Alternative plus
XW <Char-0xfb2a> " shin+shin-dot
Xw <Char-0xfb2b> " shin+sin-dot
X..W <Char-0xfb2c> " shin+shin-dot+dagesh
X..w <Char-0xfb2d> " shin+sin-dot+dagesh
XA <Char-0xfb2e> " alef+patah
XO <Char-0xfb2f> " alef+qamats
XI <Char-0xfb30> " alef+hiriq (mapiq)
X.b <Char-0xfb31> " bet+dagesh
X.g <Char-0xfb32> " gimel+dagesh
X.d <Char-0xfb33> " dalet+dagesh
X.h <Char-0xfb34> " he+dagesh
Xu <Char-0xfb35> " vav+dagesh
X.z <Char-0xfb36> " zayin+dagesh
X.T <Char-0xfb38> " tet+dagesh
X.y <Char-0xfb39> " yud+dagesh
X.K <Char-0xfb3a> " kaf sofit+dagesh
X.k <Char-0xfb3b> " kaf+dagesh
X.l <Char-0xfb3c> " lamed+dagesh
X.m <Char-0xfb3e> " mem+dagesh
X.n <Char-0xfb40> " nun+dagesh
X.s <Char-0xfb41> " samech+dagesh
X.P <Char-0xfb43> " pe sofit+dagesh
X.p <Char-0xfb44> " pe+dagesh
X.x <Char-0xfb46> " tsadi+dagesh
X.q <Char-0xfb47> " qof+dagesh
X.r <Char-0xfb48> " resh+dagesh
X.w <Char-0xfb49> " shin+dagesh
X.t <Char-0xfb4a> " tav+dagesh
Xo <Char-0xfb4b> " vav+holam
XRb <Char-0xfb4c> " bet+rafe
XRk <Char-0xfb4d> " kaf+rafe
XRp <Char-0xfb4e> " pe+rafe
Xal <Char-0xfb4f> " alef-lamed

@ -0,0 +1,16 @@
let encoding = &enc
if encoding == 'latin1'
if has("unix")
let encoding = 'iso-8859-8'
else
let encoding = 'cp1255'
endif
endif
if encoding == 'utf-8'
source <sfile>:p:h/hebrewp_utf-8.vim
elseif encoding == 'cp1255'
source <sfile>:p:h/hebrewp_cp1255.vim
else
source <sfile>:p:h/hebrewp_iso-8859-8.vim
endif

@ -0,0 +1,58 @@
" codepage 1255 on Windows is equal to ISO 8859-8 but it
" adds in the vowel points, known as 'niqud', which are present in
" CP1255: Note: there are several 'standards' for placement of the vowel
" points, and I ignored all of them. Since we can input English by simply
" pressing Ctrl-^ and eliminating this map, I saw no reason to try to use
" exotic key locations. If you don't like it, that's just too bad :-)
let b:keymap_name = "hebp"
loadkeymap
K <char-234> " final kaf
M <char-237> " final mem
N <char-239> " final nun
P <char-243> " final pe
T <char-232> " tet
X <char-245> " final tsadi
a <char-224> " alef
b <char-225> " bet
d <char-227> " dalet
g <char-226> " gimel
h <char-228> " he
j <char-231> " het
k <char-235> " kaf
l <char-236> " lamed
m <char-238> " mem
n <char-240> " nun
s <char-241> " samekh
p <char-244> " pe
q <char-247> " qof
r <char-248> " resh
t <char-250> " tav
u <char-242> " ayin
v <char-229> " vav
w <char-249> " shin
x <char-246> " tsadi
y <char-233> " yod
z <char-230> " zayin
" vowels:
A: <Char-192> " sheva
HE <Char-193> " hataf segol
HA <Char-194> " hataf patah
HO <Char-195> " hataf qamats
I <Char-196> " hiriq
AY <Char-197> " tsere
E <Char-198> " segol
AA <Char-199> " patah
AO <Char-200> " qamats
O <Char-201> " holam
U <Char-203> " qubuts
D <Char-204> " dagesh
]T <Char-205> " meteg
]Q <Char-206> " maqaf
]R <ÌChar-207> " rafe
]p <Char-208> " paseq
SR <Char-209> " shin-dot
SL <Char-210> " sin-dot
]P <Char-211> " sof-pasuq
VV <Char-212> " double-vav
VY <Char-213> " vav-yod
YY <Char-214> " yod-yod

@ -0,0 +1,36 @@
" Vim Keymap file for hebrew
" Maintainer : Ron Aaron <ron@ronware.org>
" Last Updated: Sun 10 Feb 2002 11:50:56
" This is my version of a phonetic Hebrew
" Use this short name in the status line.
let b:keymap_name = "hebp"
loadkeymap
K <char-234> " final kaf
M <char-237> " final mem
N <char-239> " final nun
P <char-243> " final pe
T <char-232> " tet
X <char-245> " final tsadi
a <char-224> " alef
b <char-225> " bet
d <char-227> " dalet
g <char-226> " gimel
h <char-228> " he
j <char-231> " het
k <char-235> " kaf
l <char-236> " lamed
m <char-238> " mem
n <char-240> " nun
s <char-241> " samekh
p <char-244> " pe
q <char-247> " qof
r <char-248> " resh
t <char-250> " tav
u <char-242> " ayin
v <char-229> " vav
w <char-249> " shin
x <char-246> " tsadi
y <char-233> " yod
z <char-230> " zayin

@ -0,0 +1,122 @@
" Vim Keymap file for hebrew
" Maintainer : Ron Aaron <ron@ronware.org>
" Last Updated: Thu 08 Mar 2001 13:49:01
" This is my version of a phonetic Hebrew
" Use this short name in the status line.
let b:keymap_name = "hebp"
loadkeymap
w <char-0x5e9> " ù - shin
n <char-0x5e0> " ð - nun
b <char-0x5d1> " á - bet
g <char-0x5d2> " â - gimel
q <char-0x5e7> " ÷ - qof
k <char-0x5db> " ë - kaf
g <char-0x5e2> " ò - ayin
y <char-0x5d9> " é - yod
N <char-0x5df> " ï - final nun
j <char-0x5d7> " ç - het
l <char-0x5dc> " ì - lamed
K <char-0x5da> " ê - final kaf
x <char-0x5e6> " ö - tsadi
m <char-0x5de> " î - mem
M <char-0x5dd> " í - final mem
p <char-0x5e4> " ô - pe
r <char-0x5e8> " ø - resh
d <char-0x5d3> " ã - dalet
a <char-0x5d0> " à - alef
v <char-0x5d5> " å - vav
h <char-0x5d4> " ä - he
s <char-0x5e1> " ñ - samekh
T <char-0x5d8> " è - tet
z <char-0x5d6> " æ - zayin
t <char-0x5ea> " ú - tav
X <char-0x5e5> " õ - final tsadi
P <char-0x5e3> " ó - final pe
A: <Char-0x5b0> " sheva
HE <Char-0x5b1> " hataf segol
HA <Char-0x5b2> " hataf patah
HO <Char-0x5b3> " hataf qamats
I <Char-0x5b4> " hiriq
AY <Char-0x5b5> " tsere
E <Char-0x5b6> " segol
AA <Char-0x5b7> " patah
AO <Char-0x5b8> " qamats
O <Char-0x5b9> " holam
U <Char-0x5bb> " qubuts
D <Char-0x5bc> " dagesh
]T <Char-0x5bd> " meteg
]Q <Char-0x5be> " maqaf
]R <ÌChar-0x5bf> " rafe
]p <Char-0x5c0> " paseq
SR <Char-0x5c1> " shin-dot
SL <Char-0x5c2> " sin-dot
]P <Char-0x5c3> " sof-pasuq
VV <Char-0x5f0> " double-vav
VY <Char-0x5f1> " vav-yod
YY <Char-0x5f2> " yod-yod
" cantillation:
C: <Char-0x591> " etnahta
Cs <Char-0x592> " segol
CS <Char-0x593> " shalshelet
Cz <Char-0x594> " zaqef qatan
CZ <Char-0x595> " zaqef gadol
Ct <Char-0x596> " tipeha
Cr <Char-0x597> " revia
Cq <Char-0x598> " zarqa
Cp <Char-0x599> " pashta
C! <Char-0x59a> " yetiv
Cv <Char-0x59b> " tevir
Cg <Char-0x59c> " geresh
C* <Char-0x59d> " geresh qadim
CG <Char-0x59e> " gershayim
CP <Char-0x59f> " qarnei-parah
Cy <Char-0x5aa> " yerach-ben-yomo
Co <Char-0x5ab> " ole
Ci <Char-0x5ac> " iluy
Cd <Char-0x5ad> " dehi
Cn <Char-0x5ae> " zinor
CC <Char-0x5af> " masora circle
X` <Char-0xfb20> " Alternative `ayin
X' <Char-0xfb21> " Alternative 'alef
X-d <Char-0xfb22> " Alternative dalet
X-h <Char-0xfb23> " Alternative he
X-k <Char-0xfb24> " Alternative kaf
X-l <Char-0xfb25> " Alternative lamed
X-m <Char-0xfb26> " Alternative mem-sofit
X-r <Char-0xfb27> " Alternative resh
X-t <Char-0xfb28> " Alternative tav
X-+ <Char-0xfb29> " Alternative plus
XW <Char-0xfb2a> " shin+shin-dot
Xw <Char-0xfb2b> " shin+sin-dot
X..W <Char-0xfb2c> " shin+shin-dot+dagesh
X..w <Char-0xfb2d> " shin+sin-dot+dagesh
XA <Char-0xfb2e> " alef+patah
XO <Char-0xfb2f> " alef+qamats
XI <Char-0xfb30> " alef+hiriq (mapiq)
X.b <Char-0xfb31> " bet+dagesh
X.g <Char-0xfb32> " gimel+dagesh
X.d <Char-0xfb33> " dalet+dagesh
X.h <Char-0xfb34> " he+dagesh
Xu <Char-0xfb35> " vav+dagesh
X.z <Char-0xfb36> " zayin+dagesh
X.T <Char-0xfb38> " tet+dagesh
X.y <Char-0xfb39> " yud+dagesh
X.K <Char-0xfb3a> " kaf sofit+dagesh
X.k <Char-0xfb3b> " kaf+dagesh
X.l <Char-0xfb3c> " lamed+dagesh
X.m <Char-0xfb3e> " mem+dagesh
X.n <Char-0xfb40> " nun+dagesh
X.s <Char-0xfb41> " samech+dagesh
X.P <Char-0xfb43> " pe sofit+dagesh
X.p <Char-0xfb44> " pe+dagesh
X.x <Char-0xfb46> " tsadi+dagesh
X.q <Char-0xfb47> " qof+dagesh
X.r <Char-0xfb48> " resh+dagesh
X.w <Char-0xfb49> " shin+dagesh
X.t <Char-0xfb4a> " tav+dagesh
Xo <Char-0xfb4b> " vav+holam
XRb <Char-0xfb4c> " bet+rafe
XRk <Char-0xfb4d> " kaf+rafe
XRp <Char-0xfb4e> " pe+rafe
Xal <Char-0xfb4f> " alef-lamed

@ -0,0 +1,725 @@
" This script was originally created by Rory McCann <ebelular at gmail dot com>.
" Dan Kenigsberg noticed some deficiencies and suggested this one instead.
"
" Maintainer: Rory McCann <ebelular at gmail dot com>
" Modified by: Edward L. Fox <edyfox at gmail dot com>
" Last Change: 2006 Apr 30
"
"
"
" Kana.kmap (Japanese Phonograms)
"
" Converted from Gaspar Sinai's yudit 2.7.6
" GNU (C) Gaspar Sinai <gsinai@yudit.org>
"
" WARNING
" -------
" This version of Kana.kmap is different from the one that has been used
" with yudit-2.7.2 or earlier. The main difference is that this kmap is
" arranged in such a way that it complies with an authorized Japanese
" transliteration. As a result, backward compatibility is not guaranteed.
"
" NOTE
" ----
" 1. In general, the transliteration is based on Japanese Government's
" Cabinet Notification 1 (Dec. 9, 1954).
"
" Summary:
"
" (1) To transliterate Japanese language, Table 1 should be used
" primarily.
" (2) Table 2 may be used only when existing conventions such as
" international relationship should be respected.
" (3) Other transliteration is acceptable only when neither Table 1
" nor Table 2 gives any specification of the sound in question
"
" For details, refer to
"
" http://xembho.tripod.com/siryo/naikaku_kokuzi.html
"
" 2. The specification instructed by the Cabinet Notification is rather
" inadequate even for daily use. At the present time there are thus
" many unauthorized but widely accepted conventions used together with
" the authorized transliteration. This kmap contains some of them for
" user's convenience (cf. Hiragana 3 and Katakana 3).
"
" 3. For the unicode mapping relevant to this kmap, refer to 3075--30F5 of
"
" http://www.macchiato.com/unicode/charts.html
"
" HISTORY
" -------
" 2005-01-11 <danken@cs.technion.ac.il>
" * Converted to Vim format.
" 2003-01-22 <kazunobu.kuriyama@nifty.com>
"
" * Submitted to gsinai@yudit.org
"
" ============================================================================
scriptencoding utf-8
" ----------------------------------------------------------------------------
" Kigou (Punctuation etc.)
" ----------------------------------------------------------------------------
let b:keymap_name = "kana"
loadkeymap
"0x20 0x3000
,
. 。
,,
xx
@
<
>
<<
>>
{ 「
} 」
{{ 『
}} 』
[.(
).] 】
[
]
[(
)] 〗
[[ 〚
]] 〛
.. ・
-
" ----------------------------------------------------------------------------
" Hiragana 1 --- Table 1, Cabinet Notification No. 1 (Dec. 9, 1954)
" ----------------------------------------------------------------------------
a
i
u
e
o
ka
ki
ku
ke
ko
sa
si
su
se
so
ta
ti
tu
te
to
na
ni
nu
ne
no
ha
hi
hu
he
ho
ma
mi
mu
me
mo
ya
yu
yo
ra
ri
ru
re
ro
wa
ga
gi
gu
ge
go
za
zi
zu
ze
zo
da
de
do
ba
bi
bu
be
bo
pa
pi
pu
pe
po
kya きゃ
kyu きゅ
kyo きょ
sya しゃ
syu しゅ
syo しょ
tya ちゃ
tyu ちゅ
tyo ちょ
nya にゃ
nyu にゅ
nyo にょ
hya ひゃ
hyu ひゅ
hyo ひょ
mya みゃ
myu みゅ
myo みょ
rya りゃ
ryu りゅ
ryo りょ
gya ぎゃ
gyu ぎゅ
gyo ぎょ
zya じゃ
zyu じゅ
zyo じょ
bya びゃ
byu びゅ
byo びょ
pya ぴゃ
pyu ぴゅ
pyo ぴょ
n
n' ん
" ----------------------------------------------------------------------------
" Hiragana 2 --- Table 2, Cabinet Notification No. 1 (Dec. 9, 1954)
" ----------------------------------------------------------------------------
sha しゃ
shi
shu しゅ
sho しょ
tsu
cha ちゃ
chi
chu ちゅ
cho ちょ
fu
ja じゃ
ji
ju じゅ
jo じょ
di
du
dya ぢゃ
dyu ぢゅ
dyo ぢょ
kwa くゎ
gwa ぐゎ
wo
" ----------------------------------------------------------------------------
" Hiragana 3 --- Conventional transliterations
" ----------------------------------------------------------------------------
" Small Hiragana: The prefix X is never pronounced. It is used as something
" like an escape character.
xa
xi
xu
xe
xo
xtu
xya
xyu
xyo
xwa
" Historic `wi' and `we'
wi
we
" Preceded by a small `tu'
kka っか
kki っき
kku っく
kke っけ
kko っこ
ssa っさ
ssi っし
ssu っす
sse っせ
sso っそ
tta った
tti っち
ttu っつ
tte って
tto っと
hha っは
hhi っひ
hhu っふ
hhe っへ
hho っほ
mma っま
mmi っみ
mmu っむ
mme っめ
mmo っも
yya っや
yyu っゆ
yyo っよ
rra っら
rri っり
rru っる
rre っれ
rro っろ
wwa っわ
gga っが
ggi っぎ
ggu っぐ
gge っげ
ggo っご
zza っざ
zzi っじ
zzu っず
zze っぜ
zzo っぞ
dda っだ
ddi っぢ
ddu っづ
dde っで
ddo っど
bba っば
bbi っび
bbu っぶ
bbe っべ
bbo っぼ
ppa っぱ
ppi っぴ
ppu っぷ
ppe っぺ
ppo っぽ
" Proceded by a small `tu' and followed by a small 'ya', 'yu' or 'yo'
kkya っきゃ
kkyu っきゅ
kkyo っきょ
ssya っしゃ
ssyu っしゅ
ssyo っしょ
ttya っちゃ
ttyu っちゅ
ttyo っちょ
hhya っひゃ
hhyu っひゅ
hhyo っひょ
mmya っみゃ
mmyu っみゅ
mmyo っみょ
rrya っりゃ
rryu っりゅ
rryo っりょ
ggya っぎゃ
ggyu っぎゅ
ggyo っぎょ
zzya っじゃ
zzyu っじゅ
zzyo っじょ
bbya っびゃ
bbyu っびゅ
bbyo っびょ
ppya っぴゃ
ppyu っぴゅ
ppyo っぴょ
" ----------------------------------------------------------------------------
" Katakana 1 --- Table 1, Cabinet Notification No. 1 (Dec. 9, 1954)
" ----------------------------------------------------------------------------
A
I
U
E
O
KA
KI
KU
KE
KO
SA
SI
SU
SE
SO
TA
TI
TU
TE
TO
NA
NI
NU
NE
NO
HA
HI
HU
HE
HO
MA
MI
MU
ME
MO
YA
YU
YO
RA
RI
RU
RE
RO
WA
GA
GI
GU
GE
GO
ZA
ZI
ZU
ZE
ZO
DA
DE
DO
BA
BI
BU
BE
BO
PA
PI
PU
PE
PO
KYA キャ
KYU キュ
KYO キョ
SYA シャ
SYU シュ
SYO ショ
TYA チャ
TYU チュ
TYO チョ
NYA ニャ
NYU ニュ
NYO ニョ
HYA ヒャ
HYU ヒュ
HYO ヒョ
MYA ミャ
MYU ミュ
MYO ミョ
RYA リャ
RYU リュ
RYO リョ
GYA ギャ
GYU ギュ
GYO ギョ
ZYA ジャ
ZYU ジュ
ZYO ジョ
BYA ビャ
BYU ビュ
BYO ビョ
PYA ピャ
PYU ピュ
PYO ピョ
N
N' ン
" ----------------------------------------------------------------------------
" Katakana 2 --- Table 2, Cabinet Notification No. 1 (Dec. 9, 1954)
" ----------------------------------------------------------------------------
SHA シャ
SHI
SHU シュ
SHO ショ
TSU
CHA チャ
CHI
CHU チュ
CHO チョ
FU
JA ジャ
JI
JU ジュ
JO ジョ
DI
DU
DYA ヂャ
DYU ヂュ
DYO ヂョ
KWA クヮ
GWA グヮ
WO
" ----------------------------------------------------------------------------
" Katakana 3 --- Conventional transliterations
" ----------------------------------------------------------------------------
" Small Katakana: The prefix X is never pronounced. It is used as something
" like an escape character.
XA
XI
XU
XE
XO
XTU
XYA
XYU
XYO
XWA
" Used only for counting someone or something
XKA
XKE
" Historic `wi' and `we'
WI
WE
" Used for the sound `v' of European languages
VA ヴァ
VI ヴィ
VU
VE ヴェ
VO ヴォ
VYU ヴュ
" Preceded by a small `tu'
KKA ッカ
KKI ッキ
KKU ック
KKE ッケ
KKO ッコ
SSA ッサ
SSI ッシ
SSU ッス
SSE ッセ
SSO ッソ
TTA ッタ
TTI ッチ
TTU ッツ
TTE ッテ
TTO ット
HHA ッハ
HHI ッヒ
HHU ッフ
HHE ッヘ
HHO ッホ
MMA ッマ
MMI ッミ
MMU ッム
MME ッメ
MMO ッモ
YYA ッヤ
YYU ッユ
YYO ッヨ
RRA ッラ
RRI ッリ
RRU ッル
RRE ッレ
RRO ッロ
WWA ッワ
GGA ッガ
GGI ッギ
GGU ッグ
GGE ッゲ
GGO ッゴ
ZZA ッザ
ZZI ッジ
ZZU ッズ
ZZE ッゼ
ZZO ッゾ
DDA ッダ
DDI ッヂ
DDU ッヅ
DDE ッデ
DDO ッド
BBA ッバ
BBI ッビ
BBU ッブ
BBE ッベ
BBO ッボ
PPA ッパ
PPI ッピ
PPU ップ
PPE ッペ
PPO ッポ
" Proceded by a small `tu' and followed by a small 'ya', 'yu' or 'yo'
KKYA ッキャ
KKYU ッキュ
KKYO ッキョ
SSYA ッシャ
SSYU ッシュ
SSYO ッショ
TTYA ッチャ
TTYU ッチュ
TTYO ッチョ
HHYA ッヒャ
HHYU ッヒュ
HHYO ッヒョ
MMYA ッミャ
MMYU ッミュ
MMYO ッミョ
RRYA ッリャ
RRYU ッリュ
RRYO ッリョ
GGYA ッギャ
GGYU ッギュ
GGYO ッギョ
ZZYA ッジャ
ZZYU ッジュ
ZZYO ッジョ
BBYA ッビャ
BBYU ッビュ
BBYO ッビョ
PPYA ッピャ
PPYU ッピュ
PPYO ッピョ

@ -0,0 +1,31 @@
" Vim Keymap file for lithuanian characters, phonetic layout 'Baltic'
" Useful mainly with utf-8 but may work with other encodings
" Maintainer: Alex Jakushev <Alex.Jakushev@kemek.lt>
" Last Changed: 2002 Apr 12
" All characters are given literally, conversion to another encoding (e.g.,
" UTF-8) should work.
scriptencoding utf-8
let b:keymap_name = "lt"
loadkeymap
! Ą LITHUANIAN CAPITAL A NOSINE
@ Č LITHUANIAN CAPITAL CH
# Ę LITHUANIAN CAPITAL E NOSINE
$ Ė LITHUANIAN CAPITAL E SU TASKU
% Į LITHUANIAN CAPITAL I NOSINE
^ Š LITHUANIAN CAPITAL SH
& Ų LITHUANIAN CAPITAL U NOSINE
* Ū LITHUANIAN CAPITAL U SU BRUKSNIU
+ Ž LITHUANIAN CAPITAL ZH
1 ą LITHUANIAN LOWERCASE A NOSINE
2 č LITHUANIAN LOWERCASE CH
3 ę LITHUANIAN LOWERCASE E NOSINE
4 ė LITHUANIAN LOWERCASE E SU TASKU
5 į LITHUANIAN LOWERCASE I NOSINE
6 š LITHUANIAN LOWERCASE SH
7 ų LITHUANIAN LOWERCASE U NOSINE
8 ū LITHUANIAN LOWERCASE U SU BRUKSNIU
= ž LITHUANIAN LOWERCASE ZH

@ -0,0 +1,37 @@
" Maintainer: Laszlo Zavaleta <zavaleta@smartchat.net.au>
" Last Changed: 2003 Aug 08
" it has all the accents and a few of the character alterations
let b:keymap = "magyar"
loadkey
` í
~ Í
! '
@ "
# +
$ !
^ /
& =
* (
( )
0 ö
) Ö
- ü
_ Ü
= ó
+ Ó
\\ ű
| Ű
[ ő
{ Ő
] ú
} Ú
; é
: É
' á
\" Á
/ -
< ?
> :
? _

@ -0,0 +1,101 @@
" Maintainer: Natsagdorj Shagdar <natsag2000@yahoo.com>
" Last Changed: 2007 Jun 26
" All characters are given literally, conversion to another encoding (e.g.,
" UTF-8) should work.
scriptencoding utf-8
let b:keymap_name = "mn"
loadkeymap
C Ё CYRILLIC CAPITAL LETTER IO
c ё CYRILLIC SMALL LETTER IO
G А CYRILLIC CAPITAL LETTER A
D Б CYRILLIC CAPITAL LETTER BE
> В CYRILLIC CAPITAL LETTER VE
U Г CYRILLIC CAPITAL LETTER GHE
: Д CYRILLIC CAPITAL LETTER DE
_ Е CYRILLIC CAPITAL LETTER IE
R Ж CYRILLIC CAPITAL LETTER ZHE
P З CYRILLIC CAPITAL LETTER ZE
N И CYRILLIC CAPITAL LETTER I
A Й CYRILLIC CAPITAL LETTER SHORT I
{ К CYRILLIC CAPITAL LETTER KA
L Л CYRILLIC CAPITAL LETTER EL
B М CYRILLIC CAPITAL LETTER EM
Y Н CYRILLIC CAPITAL LETTER EN
K О CYRILLIC CAPITAL LETTER O
\" П CYRILLIC CAPITAL LETTER PE
J Р CYRILLIC CAPITAL LETTER ER
V С CYRILLIC CAPITAL LETTER ES
M Т CYRILLIC CAPITAL LETTER TE
E У CYRILLIC CAPITAL LETTER U
Q Ф CYRILLIC CAPITAL LETTER EF
H Х CYRILLIC CAPITAL LETTER HA
W Ц CYRILLIC CAPITAL LETTER TSE
X Ч CYRILLIC CAPITAL LETTER CHE
I Ш CYRILLIC CAPITAL LETTER SHA
+ Щ CYRILLIC CAPITAL LETTER SHCHA
} Ъ CYRILLIC CAPITAL LETTER HARD SIGN
S Ы CYRILLIC CAPITAL LETTER YERU
< Ь CYRILLIC CAPITAL LETTER SOFT SIGN
T Э CYRILLIC CAPITAL LETTER E
? Ю CYRILLIC CAPITAL LETTER YU
Z Я CYRILLIC CAPITAL LETTER YA
g а CYRILLIC SMALL LETTER A
d б CYRILLIC SMALL LETTER BE
. в CYRILLIC SMALL LETTER VE
u г CYRILLIC SMALL LETTER GHE
; д CYRILLIC SMALL LETTER DE
- е CYRILLIC SMALL LETTER IE
r ж CYRILLIC SMALL LETTER ZHE
p з CYRILLIC SMALL LETTER ZE
n и CYRILLIC SMALL LETTER I
a й CYRILLIC SMALL LETTER SHORT I
[ к CYRILLIC SMALL LETTER KA
l л CYRILLIC SMALL LETTER EL
b м CYRILLIC SMALL LETTER EM
y н CYRILLIC SMALL LETTER EN
k о CYRILLIC SMALL LETTER O
' п CYRILLIC SMALL LETTER PE
j р CYRILLIC SMALL LETTER ER
v с CYRILLIC SMALL LETTER ES
m т CYRILLIC SMALL LETTER TE
e у CYRILLIC SMALL LETTER U
q ф CYRILLIC SMALL LETTER EF
h х CYRILLIC SMALL LETTER HA
w ц CYRILLIC SMALL LETTER TSE
x ч CYRILLIC SMALL LETTER CHE
i ш CYRILLIC SMALL LETTER SHA
= щ CYRILLIC SMALL LETTER SHCHA
] ъ CYRILLIC SMALL LETTER HARD SIGN
s ы CYRILLIC SMALL LETTER YERU
, ь CYRILLIC SMALL LETTER SOFT SIGN
t э CYRILLIC SMALL LETTER E
/ ю CYRILLIC SMALL LETTER YU
z я CYRILLIC SMALL LETTER YA
f ө CYRILLIC SMALL LETTER Oе
F Ө CYRILLIC SMALL LETTER Oе
o ү CYRILLIC SMALL LETTER Ге
O Ү CYRILLIC SMALL LETTER Oе
` =
1NUMERO SIGN
2 -
3 "
4 T
5 :
7 ?
6 .
8 ,
9 (
0 )
! 1
@ 2
# 3
$ 4
% 5
^ 6
& 7
* 8
( 9
) 0

@ -0,0 +1,112 @@
" Vim Keymap file for Persian Standard Keyboard Layout
" Maintainers: Behnam 'ZWNJ' Esfahbod <behnam@zwnj.org>,
" Amir Hedayaty <hedayaty@gmail.com>
" Last Change: 2006 Apr 21
scriptencoding utf-8
" Use this short name in the status line.
let b:keymap_name = "per"
loadkeymap
`
1 ۱
2 ۲
3 ۳
4 ۴
5 ۵
6 ۶
7 ۷
8 ۸
9 ۹
0 ۰
- -
= =
q ض
w ص
e ث
r ق
t ف
y غ
u ع
i ه
o خ
p ح
[ ج
] چ
a ش
s س
d ی
f ب
g ل
h ا
j ت
k ن
l م
; ک
' گ
z ظ
x ط
c ز
v ر
b ذ
n د
m پ
, و
. .
/ /
\\ \\
~ ÷
! !
@ ٬
# ٫
$ ﷼
% ٪
^ ×
& ،
* *
( )
) (
_ ـ
+ +
Q ْ
W ٌ
E ٍ
R ً
T ُ
Y ِ
U َ
I ّ
O ]
P [
{ }
} {
A ؤ
S ئ
D ي
F إ
G أ
H آ
J ة
K »
L «
: :
\" ؛
Z ك
X ٓ
C ژ
V ٰ
B
N ٔ
M ء
< >
> <
? ؟
| |

@ -0,0 +1,8 @@
let encoding = &enc
if encoding == ''
let encoding = 'utf-8'
endif
if encoding == 'utf-8'
source <sfile>:p:h/persian-iranian_utf-8.vim
endif

@ -0,0 +1,53 @@
" Vim Keymap file for Hanyu Pinyin tone marks through numbers.
" Maintainer: Fredrik Roubert <roubert@df.lth.se>
" Last Changed: February 15, 2004
" All characters are given literally.
scriptencoding utf-8
" Use this short name in the status line.
let b:keymap_name = "py"
loadkeymap
a0 a
a1 ā
a2 á
a3 ǎ
a4 à
a5 a
e0 e
e1 ē
e2 é
e3 ě
e4 è
e5 e
i0 i
i1 ī
i2 í
i3 ǐ
i4 ì
i5 i
o0 o
o1 ō
o2 ó
o3 ǒ
o4 ò
o5 o
u0 u
u1 ū
u2 ú
u3 ǔ
u4 ù
u5 u
ü0 ü
ü1 ǖ
ü2 ǘ
ü3 ǚ
ü4 ǜ
ü5 ü
v0 ü
v1 ǖ
v2 ǘ
v3 ǚ
v4 ǜ
v5 ü

@ -0,0 +1,27 @@
" Polish letters under VIM >= 6
" Maintainer: HS6_06 <hs6_06@o2.pl>
" Last changed: 2005 Jan 12
" Current version: 1.0.2
" History:
" 2005.01.12 1.0.2 keymap_name shortened, added Current version, History
" 2005.01.10 1.0.1 un*x line ends for all files
" 2005.01.09 1.0.0 Initial release
let encoding = &enc
if encoding == 'latin1'
if has("unix")
let encoding = 'iso-8859-2'
else
let encoding = 'cp1250'
endif
endif
if encoding == 'utf-8'
source <sfile>:p:h/polish-slash_utf-8.vim
elseif encoding == 'cp1250'
source <sfile>:p:h/polish-slash_cp1250.vim
elseif encoding == 'iso-8859-2'
source <sfile>:p:h/polish-slash_iso-8859-2.vim
else
source <sfile>:p:h/polish-slash_cp852.vim
endif

@ -0,0 +1,39 @@
" Polish letters keymap for cp1250
" Maintainer: HS6_06 <hs6_06@o2.pl>
" Last Changed: 2005 Jan 12
" Current version: 1.0.2
" History: see polish-slash.vim
" This keymap adds the special Polish letters
" to an existing Latin keyboard.
" All chars as usual except:
" Polish:
" instead of AltGr+{acelnosxz} you ve to use "/" followed by {acelnosxz}
" short keymap name for statusline
let b:keymap_name = "PL-slash-WIN"
scriptencoding latin1
loadkeymap
" Polish letters
/a <Char-185> " LATIN SMALL LETTER A WITH OGONEK
/c <Char-230> " LATIN SMALL LETTER C WITH ACUTE
/e <Char-234> " LATIN SMALL LETTER E WITH OGONEK
/l <Char-179> " LATIN SMALL LETTER L WITH STROKE
/n <Char-241> " LATIN SMALL LETTER N WITH ACUTE
/o <Char-243> " LATIN SMALL LETTER O WITH ACUTE
/s <Char-156> " LATIN SMALL LETTER S WITH ACUTE
/x <Char-159> " LATIN SMALL LETTER Z WITH ACUTE
/z <Char-191> " LATIN SMALL LETTER Z WITH DOT ABOVE
/A <Char-165> " LATIN CAPITAL LETTER A WITH OGONEK
/C <Char-198> " LATIN CAPITAL LETTER C WITH ACUTE
/E <Char-202> " LATIN CAPITAL LETTER E WITH OGONEK
/L <Char-163> " LATIN CAPITAL LETTER L WITH STROKE
/N <Char-209> " LATIN CAPITAL LETTER N WITH ACUTE
/O <Char-211> " LATIN CAPITAL LETTER O WITH ACUTE
/S <Char-140> " LATIN CAPITAL LETTER S WITH ACUTE
/X <Char-143> " LATIN CAPITAL LETTER Z WITH ACUTE
/Z <Char-175> " LATIN CAPITAL LETTER Z WITH DOT ABOVE

@ -0,0 +1,39 @@
" Polish letters keymap for cp852
" Maintainer: HS6_06 <hs6_06@o2.pl>
" Last Changed: 2005 Jan 12
" Current version: 1.0.2
" History: see polish-slash.vim
" This keymap adds the special Polish letters
" to an existing Latin keyboard.
" All chars as usual except:
" Polish:
" instead of AltGr+{acelnosxz} you ve to use "/" followed by {acelnosxz}
" short keymap name for statusline
let b:keymap_name = "PL-slash-DOS"
scriptencoding latin1
loadkeymap
" Polish letters
/a <Char-165> " LATIN SMALL LETTER A WITH OGONEK
/c <Char-134> " LATIN SMALL LETTER C WITH ACUTE
/e <Char-169> " LATIN SMALL LETTER E WITH OGONEK
/l <Char-136> " LATIN SMALL LETTER L WITH STROKE
/n <Char-228> " LATIN SMALL LETTER N WITH ACUTE
/o <Char-162> " LATIN SMALL LETTER O WITH ACUTE
/s <Char-152> " LATIN SMALL LETTER S WITH ACUTE
/x <Char-171> " LATIN SMALL LETTER Z WITH ACUTE
/z <Char-190> " LATIN SMALL LETTER Z WITH DOT ABOVE
/A <Char-164> " LATIN CAPITAL LETTER A WITH OGONEK
/C <Char-143> " LATIN CAPITAL LETTER C WITH ACUTE
/E <Char-168> " LATIN CAPITAL LETTER E WITH OGONEK
/L <Char-157> " LATIN CAPITAL LETTER L WITH STROKE
/N <Char-227> " LATIN CAPITAL LETTER N WITH ACUTE
/O <Char-224> " LATIN CAPITAL LETTER O WITH ACUTE
/S <Char-151> " LATIN CAPITAL LETTER S WITH ACUTE
/X <Char-141> " LATIN CAPITAL LETTER Z WITH ACUTE
/Z <Char-189> " LATIN CAPITAL LETTER Z WITH DOT ABOVE

@ -0,0 +1,39 @@
" Polish letters keymap for iso-8859-2
" Maintainer: HS6_06 <hs6_06@o2.pl>
" Last Changed: 2005 Jan 12
" Current version: 1.0.2
" History: polish-slash.vim
" This keymap adds the special Polish letters
" to an existing Latin keyboard.
" All chars as usual except:
" Polish:
" instead of AltGr+{acelnosxz} you ve to use "/" followed by {acelnosxz}
" short keymap name for statusline
let b:keymap_name = "PL-slash-ISO"
scriptencoding latin1
loadkeymap
" Polish letters
/a <Char-177> " LATIN SMALL LETTER A WITH OGONEK
/c <Char-230> " LATIN SMALL LETTER C WITH ACUTE
/e <Char-234> " LATIN SMALL LETTER E WITH OGONEK
/l <Char-179> " LATIN SMALL LETTER L WITH STROKE
/n <Char-241> " LATIN SMALL LETTER N WITH ACUTE
/o <Char-243> " LATIN SMALL LETTER O WITH ACUTE
/s <Char-182> " LATIN SMALL LETTER S WITH ACUTE
/x <Char-188> " LATIN SMALL LETTER Z WITH ACUTE
/z <Char-191> " LATIN SMALL LETTER Z WITH DOT ABOVE
/A <Char-161> " LATIN CAPITAL LETTER A WITH OGONEK
/C <Char-198> " LATIN CAPITAL LETTER C WITH ACUTE
/E <Char-202> " LATIN CAPITAL LETTER E WITH OGONEK
/L <Char-163> " LATIN CAPITAL LETTER L WITH STROKE
/N <Char-209> " LATIN CAPITAL LETTER N WITH ACUTE
/O <Char-211> " LATIN CAPITAL LETTER O WITH ACUTE
/S <Char-166> " LATIN CAPITAL LETTER S WITH ACUTE
/X <Char-172> " LATIN CAPITAL LETTER Z WITH ACUTE
/Z <Char-175> " LATIN CAPITAL LETTER Z WITH DOT ABOVE

@ -0,0 +1,39 @@
" Polish letters keymap for utf-8
" Maintainer: HS6_06 <hs6_06@o2.pl>
" Last Changed: 2005 Jan 12
" Current version: 1.0.2
" History: see polish-slash.vim
" This keymap adds the special Polish letters
" to an existing Latin keyboard.
" All chars as usual except:
" Polish:
" instead of AltGr+{acelnosxz} you ve to use "/" followed by {acelnosxz}
" short keymap name for statusline
let b:keymap_name = "PL-slash-UTF"
scriptencoding latin1
loadkeymap
" Polish letters
/a <Char-0x0105> " LATIN SMALL LETTER A WITH OGONEK
/c <Char-0x0107> " LATIN SMALL LETTER C WITH ACUTE
/e <Char-0x0119> " LATIN SMALL LETTER E WITH OGONEK
/l <Char-0x0142> " LATIN SMALL LETTER L WITH STROKE
/n <Char-0x0144> " LATIN SMALL LETTER N WITH ACUTE
/o <Char-0x00f3> " LATIN SMALL LETTER O WITH ACUTE
/s <Char-0x015b> " LATIN SMALL LETTER S WITH ACUTE
/x <Char-0x017a> " LATIN SMALL LETTER Z WITH ACUTE
/z <Char-0x017c> " LATIN SMALL LETTER Z WITH DOT ABOVE
/A <Char-0x0104> " LATIN CAPITAL LETTER A WITH OGONEK
/C <Char-0x0106> " LATIN CAPITAL LETTER C WITH ACUTE
/E <Char-0x0118> " LATIN CAPITAL LETTER E WITH OGONEK
/L <Char-0x0141> " LATIN CAPITAL LETTER L WITH STROKE
/N <Char-0x0143> " LATIN CAPITAL LETTER N WITH ACUTE
/O <Char-0x00d3> " LATIN CAPITAL LETTER O WITH ACUTE
/S <Char-0x015a> " LATIN CAPITAL LETTER S WITH ACUTE
/X <Char-0x0179> " LATIN CAPITAL LETTER Z WITH ACUTE
/Z <Char-0x017b> " LATIN CAPITAL LETTER Z WITH DOT ABOVE

@ -0,0 +1,89 @@
" Vim Keymap file for russian characters, layout 'dvorak', MS Windows variant
" Derived from russian-jcuken.vim by Artem Chuprina <ran@ran.pp.ru>
" Useful mainly with utf-8 but may work with other encodings
" Maintainer: Serhiy Boiko <cris.kiev@gmail.com>
" Last Changed: 2007 Jun 29
" All characters are given literally, conversion to another encoding (e.g.,
" UTF-8) should work.
scriptencoding utf-8
let b:keymap_name = "ru"
loadkeymap
~ Ё CYRILLIC CAPITAL LETTER IO
` ё CYRILLIC SMALL LETTER IO
U А CYRILLIC CAPITAL LETTER A
W Б CYRILLIC CAPITAL LETTER BE
E В CYRILLIC CAPITAL LETTER VE
G Г CYRILLIC CAPITAL LETTER GHE
N Д CYRILLIC CAPITAL LETTER DE
Y Е CYRILLIC CAPITAL LETTER IE
S Ж CYRILLIC CAPITAL LETTER ZHE
L З CYRILLIC CAPITAL LETTER ZE
X И CYRILLIC CAPITAL LETTER I
\" Й CYRILLIC CAPITAL LETTER SHORT I
P К CYRILLIC CAPITAL LETTER KA
T Л CYRILLIC CAPITAL LETTER EL
K М CYRILLIC CAPITAL LETTER EM
F Н CYRILLIC CAPITAL LETTER EN
H О CYRILLIC CAPITAL LETTER O
I П CYRILLIC CAPITAL LETTER PE
D Р CYRILLIC CAPITAL LETTER ER
J С CYRILLIC CAPITAL LETTER ES
B Т CYRILLIC CAPITAL LETTER TE
> У CYRILLIC CAPITAL LETTER U
A Ф CYRILLIC CAPITAL LETTER EF
? Х CYRILLIC CAPITAL LETTER HA
< Ц CYRILLIC CAPITAL LETTER TSE
Q Ч CYRILLIC CAPITAL LETTER CHE
C Ш CYRILLIC CAPITAL LETTER SHA
R Щ CYRILLIC CAPITAL LETTER SHCHA
+ Ъ CYRILLIC CAPITAL LETTER HARD SIGN
O Ы CYRILLIC CAPITAL LETTER YERU
M Ь CYRILLIC CAPITAL LETTER SOFT SIGN
_ Э CYRILLIC CAPITAL LETTER E
V Ю CYRILLIC CAPITAL LETTER YU
: Я CYRILLIC CAPITAL LETTER YA
u а CYRILLIC SMALL LETTER A
w б CYRILLIC SMALL LETTER BE
e в CYRILLIC SMALL LETTER VE
g г CYRILLIC SMALL LETTER GHE
n д CYRILLIC SMALL LETTER DE
y е CYRILLIC SMALL LETTER IE
s ж CYRILLIC SMALL LETTER ZHE
l з CYRILLIC SMALL LETTER ZE
x и CYRILLIC SMALL LETTER I
' й CYRILLIC SMALL LETTER SHORT I
p к CYRILLIC SMALL LETTER KA
t л CYRILLIC SMALL LETTER EL
k м CYRILLIC SMALL LETTER EM
f н CYRILLIC SMALL LETTER EN
h о CYRILLIC SMALL LETTER O
i п CYRILLIC SMALL LETTER PE
d р CYRILLIC SMALL LETTER ER
j с CYRILLIC SMALL LETTER ES
b т CYRILLIC SMALL LETTER TE
. у CYRILLIC SMALL LETTER U
a ф CYRILLIC SMALL LETTER EF
/ х CYRILLIC SMALL LETTER HA
, ц CYRILLIC SMALL LETTER TSE
q ч CYRILLIC SMALL LETTER CHE
c ш CYRILLIC SMALL LETTER SHA
r щ CYRILLIC SMALL LETTER SHCHA
= ъ CYRILLIC SMALL LETTER HARD SIGN
o ы CYRILLIC SMALL LETTER YERU
m ь CYRILLIC SMALL LETTER SOFT SIGN
- э CYRILLIC SMALL LETTER E
v ю CYRILLIC SMALL LETTER YU
; я CYRILLIC SMALL LETTER YA
@ "
# № NUMERO SIGN
$ ;
^ :
& ?
z .
Z ,
[ -
] =

@ -0,0 +1,87 @@
" Vim Keymap file for russian characters, layout 'jcuken', classical variant
" (compatible with XFree86 'ru' keymap)
" Useful mainly with utf-8 but may work with other encodings
" Maintainer: Artem Chuprina <ran@ran.pp.ru>
" Last Changed: 2001 Jun 23
" All characters are given literally, conversion to another encoding (e.g.,
" UTF-8) should work.
scriptencoding utf-8
let b:keymap_name = "ru"
loadkeymap
~ Ё CYRILLIC CAPITAL LETTER IO
` ё CYRILLIC SMALL LETTER IO
F А CYRILLIC CAPITAL LETTER A
< Б CYRILLIC CAPITAL LETTER BE
D В CYRILLIC CAPITAL LETTER VE
U Г CYRILLIC CAPITAL LETTER GHE
L Д CYRILLIC CAPITAL LETTER DE
T Е CYRILLIC CAPITAL LETTER IE
: Ж CYRILLIC CAPITAL LETTER ZHE
P З CYRILLIC CAPITAL LETTER ZE
B И CYRILLIC CAPITAL LETTER I
Q Й CYRILLIC CAPITAL LETTER SHORT I
R К CYRILLIC CAPITAL LETTER KA
K Л CYRILLIC CAPITAL LETTER EL
V М CYRILLIC CAPITAL LETTER EM
Y Н CYRILLIC CAPITAL LETTER EN
J О CYRILLIC CAPITAL LETTER O
G П CYRILLIC CAPITAL LETTER PE
H Р CYRILLIC CAPITAL LETTER ER
C С CYRILLIC CAPITAL LETTER ES
N Т CYRILLIC CAPITAL LETTER TE
E У CYRILLIC CAPITAL LETTER U
A Ф CYRILLIC CAPITAL LETTER EF
{ Х CYRILLIC CAPITAL LETTER HA
W Ц CYRILLIC CAPITAL LETTER TSE
X Ч CYRILLIC CAPITAL LETTER CHE
I Ш CYRILLIC CAPITAL LETTER SHA
O Щ CYRILLIC CAPITAL LETTER SHCHA
} Ъ CYRILLIC CAPITAL LETTER HARD SIGN
S Ы CYRILLIC CAPITAL LETTER YERU
M Ь CYRILLIC CAPITAL LETTER SOFT SIGN
\" Э CYRILLIC CAPITAL LETTER E
> Ю CYRILLIC CAPITAL LETTER YU
Z Я CYRILLIC CAPITAL LETTER YA
f а CYRILLIC SMALL LETTER A
, б CYRILLIC SMALL LETTER BE
d в CYRILLIC SMALL LETTER VE
u г CYRILLIC SMALL LETTER GHE
l д CYRILLIC SMALL LETTER DE
t е CYRILLIC SMALL LETTER IE
; ж CYRILLIC SMALL LETTER ZHE
p з CYRILLIC SMALL LETTER ZE
b и CYRILLIC SMALL LETTER I
q й CYRILLIC SMALL LETTER SHORT I
r к CYRILLIC SMALL LETTER KA
k л CYRILLIC SMALL LETTER EL
v м CYRILLIC SMALL LETTER EM
y н CYRILLIC SMALL LETTER EN
j о CYRILLIC SMALL LETTER O
g п CYRILLIC SMALL LETTER PE
h р CYRILLIC SMALL LETTER ER
c с CYRILLIC SMALL LETTER ES
n т CYRILLIC SMALL LETTER TE
e у CYRILLIC SMALL LETTER U
a ф CYRILLIC SMALL LETTER EF
[ х CYRILLIC SMALL LETTER HA
w ц CYRILLIC SMALL LETTER TSE
x ч CYRILLIC SMALL LETTER CHE
i ш CYRILLIC SMALL LETTER SHA
o щ CYRILLIC SMALL LETTER SHCHA
] ъ CYRILLIC SMALL LETTER HARD SIGN
s ы CYRILLIC SMALL LETTER YERU
m ь CYRILLIC SMALL LETTER SOFT SIGN
' э CYRILLIC SMALL LETTER E
. ю CYRILLIC SMALL LETTER YU
z я CYRILLIC SMALL LETTER YA
@ "
# '
$ *
% :
^ ,
& .
* ;

@ -0,0 +1,87 @@
" Vim Keymap file for russian characters, layout 'jcuken', MS Windows variant
" (slightly incompatible with XFree86 'ru' keymap - makes use of NUMERO SIGN)
" Useful mainly with utf-8 but may work with other encodings
" Maintainer: Artem Chuprina <ran@ran.pp.ru>
" Last Changed: 2001 Jun 23
" All characters are given literally, conversion to another encoding (e.g.,
" UTF-8) should work.
scriptencoding utf-8
let b:keymap_name = "ru"
loadkeymap
~ Ё CYRILLIC CAPITAL LETTER IO
` ё CYRILLIC SMALL LETTER IO
F А CYRILLIC CAPITAL LETTER A
< Б CYRILLIC CAPITAL LETTER BE
D В CYRILLIC CAPITAL LETTER VE
U Г CYRILLIC CAPITAL LETTER GHE
L Д CYRILLIC CAPITAL LETTER DE
T Е CYRILLIC CAPITAL LETTER IE
: Ж CYRILLIC CAPITAL LETTER ZHE
P З CYRILLIC CAPITAL LETTER ZE
B И CYRILLIC CAPITAL LETTER I
Q Й CYRILLIC CAPITAL LETTER SHORT I
R К CYRILLIC CAPITAL LETTER KA
K Л CYRILLIC CAPITAL LETTER EL
V М CYRILLIC CAPITAL LETTER EM
Y Н CYRILLIC CAPITAL LETTER EN
J О CYRILLIC CAPITAL LETTER O
G П CYRILLIC CAPITAL LETTER PE
H Р CYRILLIC CAPITAL LETTER ER
C С CYRILLIC CAPITAL LETTER ES
N Т CYRILLIC CAPITAL LETTER TE
E У CYRILLIC CAPITAL LETTER U
A Ф CYRILLIC CAPITAL LETTER EF
{ Х CYRILLIC CAPITAL LETTER HA
W Ц CYRILLIC CAPITAL LETTER TSE
X Ч CYRILLIC CAPITAL LETTER CHE
I Ш CYRILLIC CAPITAL LETTER SHA
O Щ CYRILLIC CAPITAL LETTER SHCHA
} Ъ CYRILLIC CAPITAL LETTER HARD SIGN
S Ы CYRILLIC CAPITAL LETTER YERU
M Ь CYRILLIC CAPITAL LETTER SOFT SIGN
\" Э CYRILLIC CAPITAL LETTER E
> Ю CYRILLIC CAPITAL LETTER YU
Z Я CYRILLIC CAPITAL LETTER YA
f а CYRILLIC SMALL LETTER A
, б CYRILLIC SMALL LETTER BE
d в CYRILLIC SMALL LETTER VE
u г CYRILLIC SMALL LETTER GHE
l д CYRILLIC SMALL LETTER DE
t е CYRILLIC SMALL LETTER IE
; ж CYRILLIC SMALL LETTER ZHE
p з CYRILLIC SMALL LETTER ZE
b и CYRILLIC SMALL LETTER I
q й CYRILLIC SMALL LETTER SHORT I
r к CYRILLIC SMALL LETTER KA
k л CYRILLIC SMALL LETTER EL
v м CYRILLIC SMALL LETTER EM
y н CYRILLIC SMALL LETTER EN
j о CYRILLIC SMALL LETTER O
g п CYRILLIC SMALL LETTER PE
h р CYRILLIC SMALL LETTER ER
c с CYRILLIC SMALL LETTER ES
n т CYRILLIC SMALL LETTER TE
e у CYRILLIC SMALL LETTER U
a ф CYRILLIC SMALL LETTER EF
[ х CYRILLIC SMALL LETTER HA
w ц CYRILLIC SMALL LETTER TSE
x ч CYRILLIC SMALL LETTER CHE
i ш CYRILLIC SMALL LETTER SHA
o щ CYRILLIC SMALL LETTER SHCHA
] ъ CYRILLIC SMALL LETTER HARD SIGN
s ы CYRILLIC SMALL LETTER YERU
m ь CYRILLIC SMALL LETTER SOFT SIGN
' э CYRILLIC SMALL LETTER E
. ю CYRILLIC SMALL LETTER YU
z я CYRILLIC SMALL LETTER YA
@ "
# № NUMERO SIGN
$ ;
^ :
& ?
/ .
? ,

@ -0,0 +1,79 @@
" Vim Keymap file for russian characters, phonetic layout 'yawerty'
" Useful mainly with utf-8 but may work with other encodings
" Maintainer: Igor Goldenberg <igogold@gmail.com>
" Last Changed: 2007 Aug 15
" All characters are given literally, conversion to another encoding (e.g.,
" UTF-8) should work.
scriptencoding utf-8
let b:keymap_name = "ru"
loadkeymap
A А CYRILLIC CAPITAL LETTER A
B Б CYRILLIC CAPITAL LETTER BE
W В CYRILLIC CAPITAL LETTER VE
G Г CYRILLIC CAPITAL LETTER GHE
D Д CYRILLIC CAPITAL LETTER DE
E Е CYRILLIC CAPITAL LETTER IE
$ Ё CYRILLIC CAPITAL LETTER IO
V Ж CYRILLIC CAPITAL LETTER ZHE
Z З CYRILLIC CAPITAL LETTER ZE
I И CYRILLIC CAPITAL LETTER I
J Й CYRILLIC CAPITAL LETTER SHORT I
K К CYRILLIC CAPITAL LETTER KA
L Л CYRILLIC CAPITAL LETTER EL
M М CYRILLIC CAPITAL LETTER EM
N Н CYRILLIC CAPITAL LETTER EN
O О CYRILLIC CAPITAL LETTER O
P П CYRILLIC CAPITAL LETTER PE
R Р CYRILLIC CAPITAL LETTER ER
S С CYRILLIC CAPITAL LETTER ES
T Т CYRILLIC CAPITAL LETTER TE
U У CYRILLIC CAPITAL LETTER U
F Ф CYRILLIC CAPITAL LETTER EF
H Х CYRILLIC CAPITAL LETTER HA
C Ц CYRILLIC CAPITAL LETTER TSE
+ Ч CYRILLIC CAPITAL LETTER CHE
{ Ш CYRILLIC CAPITAL LETTER SHA
} Щ CYRILLIC CAPITAL LETTER SHCHA
^ Ъ CYRILLIC CAPITAL LETTER HARD SIGN
Y Ы CYRILLIC CAPITAL LETTER YERU
X Ь CYRILLIC CAPITAL LETTER SOFT SIGN
| Э CYRILLIC CAPITAL LETTER E
~ Ю CYRILLIC CAPITAL LETTER YU
Q Я CYRILLIC CAPITAL LETTER YA
a а CYRILLIC SMALL LETTER A
b б CYRILLIC SMALL LETTER BE
w в CYRILLIC SMALL LETTER VE
g г CYRILLIC SMALL LETTER GHE
d д CYRILLIC SMALL LETTER DE
e е CYRILLIC SMALL LETTER IE
# ё CYRILLIC SMALL LETTER IO
v ж CYRILLIC SMALL LETTER ZHE
z з CYRILLIC SMALL LETTER ZE
i и CYRILLIC SMALL LETTER I
j й CYRILLIC SMALL LETTER SHORT I
k к CYRILLIC SMALL LETTER KA
l л CYRILLIC SMALL LETTER EL
m м CYRILLIC SMALL LETTER EM
n н CYRILLIC SMALL LETTER EN
o о CYRILLIC SMALL LETTER O
p п CYRILLIC SMALL LETTER PE
r р CYRILLIC SMALL LETTER ER
s с CYRILLIC SMALL LETTER ES
t т CYRILLIC SMALL LETTER TE
u у CYRILLIC SMALL LETTER U
f ф CYRILLIC SMALL LETTER EF
h х CYRILLIC SMALL LETTER HA
c ц CYRILLIC SMALL LETTER TSE
= ч CYRILLIC SMALL LETTER CHE
[ ш CYRILLIC SMALL LETTER SHA
] щ CYRILLIC SMALL LETTER SHCHA
% ъ CYRILLIC SMALL LETTER HARD SIGN
y ы CYRILLIC SMALL LETTER YERU
x ь CYRILLIC SMALL LETTER SOFT SIGN
\\ э CYRILLIC SMALL LETTER E
` ю CYRILLIC SMALL LETTER YU
q я CYRILLIC SMALL LETTER YA

@ -0,0 +1 @@
source <sfile>:p:h/serbian-latin_utf-8.vim

@ -0,0 +1,43 @@
" Vim Keymap file for Serbian characters, classical variant, UTF-8 encoding
"
" Maintainer: Aleksandar Veselinovic <aleksa@cs.cmu.edu>
" URL: http://www.cs.cmu.edu/~aleksa/personal/vim/keymap/serbian-latin-UTF-8.vim
" Last Changed: 2002 Mar 29
scriptencoding UTF-8
let b:keymap_name = "serbian-UTF-8"
loadkeymap
Y Z
{ Š
} Đ
y z
[ š
] đ
: Č
\" Ć
\| Ž
; č
' ć
\\ ž
"Z Y
"z y
< ;
> :
/ -
_ ?
,,
''
E$ <char-0x20AC> " EURO SIGN
-- <char-0x2013> " endash
--- <char-0x2014> " emdash
" @ "
" # '
" $ *
" % :
" ^ ,
" &amp; .
" * ;

@ -0,0 +1,20 @@
let encoding = &enc
if encoding == 'latin1'
if has("unix")
let encoding = 'iso-8859-2'
else
let encoding = 'cp1250'
endif
endif
if encoding == 'utf-8'
source <sfile>:p:h/serbian_utf-8.vim
elseif encoding == 'cp1250'
source <sfile>:p:h/serbian_cp1250.vim
elseif encoding == 'cp1251'
source <sfile>:p:h/serbian_cp1251.vim
elseif encoding == 'iso-8859-2'
source <sfile>:p:h/serbian_iso-8859-2.vim
else
source <sfile>:p:h/serbian_iso-8859-5.vim
endif

@ -0,0 +1,39 @@
" Vim Keymap file for Serbian characters, classical variant, cp1250 encoding
"
" Maintainer: Aleksandar Veselinovic <aleksa@cs.cmu.edu>
" URL: http://galeb.etf.bg.ac.yu/~alexa/vim/keymap/serbian-cp1250.vim
" Last Changed: 2002 Mar 29
scriptencoding cp1250
let b:keymap_name = "serbian-cp1250"
loadkeymap
Y Z
{ Š
} Ð
y z
[ š
] ð
: È
\" Æ
\| Ž
; è
' æ
\\ ž
"Z Y
"z y
< ;
> :
/ -
_ ?
,,
''
" @ "
" # '
" $ *
" % :
" ^ ,
" &amp; .
" * ;

@ -0,0 +1,89 @@
" Vim Keymap file for Serbian characters, classical variant, win cp1251
" encoding
"
" Maintainer: Aleksandar Veselinovic <aleksa@cs.cmu.edu>
" URL: http://www.cs.cmu.edu/~aleksa/personal/vim/keymap/serbian-cp1251.vim
" Last Changed: 2002 Mar 29
scriptencoding cp1251
let b:keymap_name = "serbian-cp1251"
loadkeymap
Q Š
W Œ
E Å
R Ð
T Ò
Y Ç
U Ó
I È
O Î
P Ï
{ Ø
} €
q š
w œ
e å
r ð
t ò
y ç
u ó
i è
o î
p ï
[ ø
] <09>
A À
S Ñ
D Ä
F Ô
G Ã
H Õ
J £
K Ê
L Ë
: ×
\" Ž
\| Æ
a à
s ñ
d ä
f ô
g ã
h õ
j ¼
k ê
l ë
; ÷
' ž
\\ æ
"Z Ç
X <09>
C Ö
V Â
B Á
N Í
M Ì
"z ç
x Ÿ
c ö
v â
b á
n í
m ì
< ;
> :
/ -
_ ?
,,
''
" @ "
" # '
" $ *
" % :
" ^ ,
" &amp; .
" * ;

@ -0,0 +1,39 @@
" Vim Keymap file for Serbian characters, classical variant, iso-8859-2 encoding
"
" Maintainer: Aleksandar Veselinovic <aleksa@cs.cmu.edu>
" URL: http://www.cs.cmu.edu/~aleksa/personal/vim/keymap/serbian-iso-8859-2.vim
" Last Changed: 2002 Mar 29
scriptencoding iso-8859-2
let b:keymap_name = "serbian-iso-8859-2"
loadkeymap
Y Z
{ ©
} Ð
y z
[ ¹
] ð
: È
\" Æ
\| ®
; è
' æ
\\ ¾
"Z Y
"z y
< ;
> :
/ -
_ ?
,, ?
'' ?
" @ "
" # '
" $ *
" % :
" ^ ,
" &amp; .
" * ;

@ -0,0 +1,88 @@
" Vim Keymap file for Serbian characters, classical variant, iso-8859-5 encoding
"
" Maintainer: Aleksandar Veselinovic <aleksa@cs.cmu.edu>
" URL: http://www.cs.cmu.edu/~aleksa/personal/vim/keymap/serbian-iso-8859-5.vim
" Last Changed: 2002 Mar 29
scriptencoding iso-8859-5
let b:keymap_name = "serbian-iso-8859-5"
loadkeymap
Q ©
W ª
E µ
R À
T Â
Y ·
U Ã
I ¸
O ¾
P ¿
{ È
} ¢
q ù
w ú
e Õ
r à
t â
y ×
u ã
i Ø
o Þ
p ß
[ è
] ò
A °
S Á
D ´
F Ä
G ³
H Å
J ¨
K º
L »
: Ç
\" «
\|
a Ð
s á
d Ô
f ä
g Ó
h å
j ø
k Ú
l Û
; ç
' û
\\ Ö
"Z ·
X ¯
C Æ
V ²
B ±
N ½
M ¼
"z ×
x ÿ
c æ
v Ò
b Ñ
n Ý
m Ü
< ;
> :
/ -
_ ?
,, ?
'' ?
" @ "
" # '
" $ *
" % :
" ^ ,
" & .
" * ;

@ -0,0 +1,92 @@
" Vim Keymap file for Serbian characters, classical variant, UTF-8 encoding
"
" Maintainer: Aleksandar Veselinovic <aleksa@cs.cmu.edu>
" URL: http://www.cs.cmu.edu/~aleksa/personal/vim/keymap/serbian-UTF-8.vim
" Last Changed: 2002 Mar 29
scriptencoding UTF-8
let b:keymap_name = "serbian-UTF-8"
loadkeymap
Q Љ
W Њ
E Е
R Р
T Т
Y З
U У
I И
O О
P П
{ Ш
} Ђ
q љ
w њ
e е
r р
t т
y з
u у
i и
o о
p п
[ ш
] ђ
A А
S С
D Д
F Ф
G Г
H Х
J Ј
K К
L Л
: Ч
\" Ћ
\| Ж
a а
s с
d д
f ф
g г
h х
j ј
k к
l л
; ч
' ћ
\\ ж
"Z З
X Џ
C Ц
V В
B Б
N Н
M М
"z з
x џ
c ц
v в
b б
n н
m м
< ;
> :
/ -
_ ?
,,
''
E$ <char-0x20AC> " EURO SIGN
-- <char-0x2013> " endash
--- <char-0x2014> " emdash
" @ "
" # '
" $ *
" % :
" ^ ,
" &amp; .
" * ;

@ -0,0 +1,107 @@
" Vim Keymap file for Sinhala (Sri Lanka) (2003-11-02)
" Maintainer : Harshula Jayasuriya <harshula@gmail.com>
" Last Updated: 2007-06-30
" This is a phonetic static mapping for a standard US-English keyboard
" (qwerty)
" http://www.nongnu.org/sinhala/doc/keymaps/sinhala-keyboard_3.html
" Copy the keymap to ~/.vim/keymap/
" Start gvim
" Need to disable the menu so that you can use the 'alt' key.
" set guioptions-=m
" Select the new keymap
" set keymap=sinhala-phonetic_utf-8
let b:keymap_name = "sinhala"
loadkeymap
<A-n> <char-0x0d82> " - anusvaraya (anusvara)
H <char-0x0d83> " ඃ - visargaya (visarga)
a <char-0x0d85> " අ - ayanna (a)
A <char-0x0d86> " ආ - aayanna (aa)
w <char-0x0d87> " ඇ - aeyanna (ae)
W <char-0x0d88> " ඈ - aeeyanna (aee)
i <char-0x0d89> " ඉ - iyanna (i)
I <char-0x0d8a> " ඊ - iiyanna (ii)
u <char-0x0d8b> " උ - uyanna (u)
U <char-0x0d8c> " ඌ - uuyanna (uu)
q <char-0x0d8d> " ඍ - iruyanna (iru)
Q <char-0x0d8e> " ඎ - iruuyanna (iruu)
<A-k> <char-0x0d8f> " ඏ - iluyanna (ilu)
<A-K> <char-0x0d90> " ඐ - iluuyanna (iluu)
e <char-0x0d91> " එ - eyanna (e)
E <char-0x0d92> " ඒ - eeyanna (ee)
<A-F> <char-0x0d93> " ඓ - aiyanna (ai)
o <char-0x0d94> " ඔ - oyanna (o)
O <char-0x0d95> " ඕ - ooyanna (oo)
<A-H> <char-0x0d96> " ඖ - auyanna (au)
k <char-0x0d9a> " ක - alpapraana kayanna (ka)
K <char-0x0d9b> " ඛ - mahaapraana kayanna (kha)
g <char-0x0d9c> " ග - alpapraana gayanna (ga)
G <char-0x0d9d> " ඝ - mahaapraana gayanna (gha)
<A-N> <char-0x0d9e> " ඞ - kantaja naasikyaya (nga)
<A-g> <char-0x0d9f> " ඟ - sanyaka gayanna (nnga)
c <char-0x0da0> " ච - alpapraana cayanna (ca)
C <char-0x0da1> " ඡ - mahaapraana cayanna (cha)
j <char-0x0da2> " ජ - alpapraana jayanna (ja)
J <char-0x0da3> " ඣ - mahaapraana jayanna (jha)
z <char-0x0da4> " ඤ - taaluja naasikyaya (nya)
Z <char-0x0da5> " ඥ - taaluja sanyooga naasikyaya (jnya)
<A-j> <char-0x0da6> " ඦ - sanyaka jayanna (nyja)
<A-t> <char-0x0da7> " ට - alpapraana ttayanna (tta)
<A-T> <char-0x0da8> " ඨ - mahaapraana ttayanna (ttha)
<A-d> <char-0x0da9> " ඩ - alpapraana ddayanna (dda)
<A-D> <char-0x0daa> " ඪ - mahaapraana ddayanna (ddha)
N <char-0x0dab> " ණ - muurdhaja nayanna (nna)
X <char-0x0dac> " ඬ - sanyaka ddayanna (nndda)
t <char-0x0dad> " ත - alpapraana tayanna (ta)
T <char-0x0dae> " ථ - mahaapraana tayanna (tha)
d <char-0x0daf> " ද - alpapraana dayanna (da)
D <char-0x0db0> " ධ - mahaapraana dayanna (dha)
n <char-0x0db1> " න - dantaja nayanna (na)
x <char-0x0db3> " ඳ - sanyaka dayanna (nda)
p <char-0x0db4> " ප - alpapraana payanna (pa)
P <char-0x0db5> " ඵ - mahaapraana payanna (pha)
b <char-0x0db6> " බ - alpapraana bayanna (ba)
B <char-0x0db7> " භ - mahaapraana bayanna (bha)
m <char-0x0db8> " ම - mayanna (ma)
M <char-0x0db9> " ඹ - amba bayanna (mba)
y <char-0x0dba> " ය - yayanna (ya)
r <char-0x0dbb> " ර - rayanna (ra)
l <char-0x0dbd> " ල - dantaja layanna (la)
v <char-0x0dc0> " ව - vayanna (va)
S <char-0x0dc1> " ශ - taaluja sayanna (sha)
<A-s> <char-0x0dc2> " ෂ - muurdhaja sayanna (ssa)
s <char-0x0dc3> " ස - dantaja sayanna (sa)
h <char-0x0dc4> " හ - hayanna (ha)
L <char-0x0dc5> " ළ - muurdhaja layanna (lla)
f <char-0x0dc6> " ෆ - fayanna (fa)
<A-a> <char-0x0dca> " ් - al-lakuna
<A-A> <char-0x0dcf> " ා - aela-pilla (aa)
<A-w> <char-0x0dd0> " ැ - ketti aeda-pilla (ae)
<A-W> <char-0x0dd1> " ෑ - diga aeda-pilla (aae)
<A-i> <char-0x0dd2> " ි - ketti is-pilla (i)
<A-I> <char-0x0dd3> " ී - diga is-pilla (ii)
<A-u> <char-0x0dd4> " ු - ketti paa-pilla (u)
<A-U> <char-0x0dd6> " ූ - diga paa-pilla (uu)
<A-q> <char-0x0dd8> " ෘ - gaetta-pilla (r)
<A-e> <char-0x0dd9> " ෙ - kombuva (e)
<A-E> <char-0x0dda> " ේ - diga kombuva (ee)
<A-f> <char-0x0ddb> " ෛ - kombu deka (ai)
<A-o> <char-0x0ddc> " ො - kombuva haa aela-pilla (o)
<A-O> <char-0x0ddd> " ෝ - kombuva haa diga aela-pilla (oo)
<A-h> <char-0x0dde> " ෞ - kombuva haa gayanukitta (au)
<A-l> <char-0x0ddf> " ෟ - gayanukitta (l)
<A-Q> <char-0x0df2> " ෲ - diga gaetta-pilla (rr)
<A-L> <char-0x0df3> " ෳ - diga gayanukitta (ll)
<A-.> <char-0x0df4> " ෴ - kunddaliya (punctuation)
R <char-0x0dca><char-0x200d><char-0x0dbb> " ්‍ර - rakaaranshaya
Y <char-0x0dca><char-0x200d><char-0x0dba> " ්‍ය - yansaya
<A-r> <char-0x0dbb><char-0x0dca><char-0x200d> " ර්‍ - repaya
<A-,> <char-0x0dca><char-0x200d> " join - conjunct letters cons 0DCA ZWJ cons
<A-/> <char-0x200d><char-0x0dca> " touch - cons ZWJ 0DCA cons
<C-space> <char-0x00a0> " - no-break space. <S-space> didn't work.
<A-space> <char-0x200c> " - ZWNJ. <A-space> doesn't work!

@ -0,0 +1,3 @@
" Vim Keymap file for Sinhala (Sri Lanka)
"
source <sfile>:p:h/sinhala-phonetic_utf-8.vim

@ -0,0 +1,16 @@
let encoding = &enc
if encoding == 'latin1'
if has("unix")
let encoding = 'iso-8859-2'
else
let encoding = 'cp1250'
endif
endif
if encoding == 'utf-8'
source <sfile>:p:h/slovak_utf-8.vim
elseif encoding == 'cp1250'
source <sfile>:p:h/slovak_cp1250.vim
else
source <sfile>:p:h/slovak_iso-8859-2.vim
endif

@ -0,0 +1,99 @@
" Maintainer: Peter Valach <pvalach@gmx.net>
" Last Changed: 2002 Feb 3
" URL: http://www.pv2c.sk/free/sk_vimkeymap/
let b:keymap_name = "sk"
loadkeymap
" Z a Y - ak chcete slovensku qwerty, zakomentujte tieto styri riadky
y z
z y
Y Z
Z Y
" Horny riadok
` ;
1 +
! 1
2 ¾
@ 2
3 š
# 3
4 è
$ 4
5 <20>
% 5
6 ž
^ 6
7 ý
& 7
8 á
* 8
9 í
( 9
0 é
) 0
- =
_ %
" Klavesy okolo Enteru :)
[ ú
{ /
] ä
} (
\\ ò
<Bar> )
; ô
: "
' §
\" !
", , ;-)
< ?
". . ;-)
> :
/ -
? _
" Dlzne
=a á
=A Á
=e é
=E É
=i í
=I Í
=l å
=L Å
=o ó
=O Ó
=r à
=R À
=u ú
=U Ú
=z ý
=Z Ý
" pre pripad omylu :) alebo slovenskej QWERTY
=y ý
=Y Ý
" Makcene
+a ä
+A Ä
+c è
+C È
+d ï
+D Ï
+l ¾
+L ¼
+n ò
+N Ò
+o ô
+O Ô
+s š
+S Š
+t <20>
+T <20>
+y ž
+Y Ž
" pre pripad omylu :) alebo slovenskej QWERTY
+z ž
+Z Ž

@ -0,0 +1,99 @@
" Maintainer: Peter Valach <pvalach@gmx.net>
" Last Changed: 2002 Feb 3
" URL: http://www.pv2c.sk/free/sk_vimkeymap/
let b:keymap_name = "sk"
loadkeymap
" Z a Y - ak chcete slovensku qwerty, zakomentujte tieto styri riadky
y z
z y
Y Z
Z Y
" Horny riadok
` ;
1 +
! 1
2 µ
@ 2
3 ¹
# 3
4 è
$ 4
5 »
% 5
6 ¾
^ 6
7 ý
& 7
8 á
* 8
9 í
( 9
0 é
) 0
- =
_ %
" Klavesy okolo Enteru :)
[ ú
{ /
] ä
} (
\\ ò
<Bar> )
; ô
: "
' §
\" !
", , ;-)
< ?
". . ;-)
> :
/ -
? _
" Dlzne
=a á
=A Á
=e é
=E É
=i í
=I Í
=l å
=L Å
=o ó
=O Ó
=r à
=R À
=u ú
=U Ú
=z ý
=Z Ý
" pre pripad omylu :) alebo slovenskej QWERTY
=y ý
=Y Ý
" Makcene
+a ä
+A Ä
+c è
+C È
+d ï
+D Ï
+l µ
+L ¥
+n ò
+N Ò
+o ô
+O Ô
+s ¹
+S ©
+t »
+T «
+y ¾
+Y ®
" pre pripad omylu :) alebo slovenskej QWERTY
+z ¾
+Z ®

@ -0,0 +1,99 @@
" Maintainer: Peter Valach <pvalach@gmx.net>
" Last Changed: 2002 Nov 5
" URL: http://www.pv2c.sk/free/sk_vimkeymap/
let b:keymap_name = "sk"
loadkeymap
" Z a Y - ak chcete slovensku qwerty, zakomentujte tieto styri riadky
y z
z y
Y Z
Z Y
" Horny riadok
` ;
1 +
! 1
2 ľ
@ 2
3 š
# 3
4 č
$ 4
5 ť
% 5
6 ž
^ 6
7 ý
& 7
8 á
* 8
9 í
( 9
0 é
) 0
- =
_ %
" Klavesy okolo Enteru :)
[ ú
{ /
] ä
} (
\\ ň
<Bar> )
; ô
: "
' §
\" !
", , ;-)
< ?
". . ;-)
> :
/ -
? _
" Dlzne
=a á
=A Á
=e é
=E É
=i í
=I Í
=l ĺ
=L Ĺ
=o ó
=O Ó
=r ŕ
=R Ŕ
=u ú
=U Ú
=z ý
=Z Ý
" pre pripad omylu :) alebo slovenskej QWERTY
=y ý
=Y Ý
" Makcene
+a ä
+A Ä
+c č
+C Č
+d ď
+D Ď
+l ľ
+L Ľ
+n ň
+N Ň
+o ô
+O Ô
+s š
+S Š
+t ť
+T Ť
+y ž
+Y Ž
" pre pripad omylu :) alebo slovenskej QWERTY
+z ž
+Z Ž

@ -0,0 +1,571 @@
" Keymap file for the editing Tamil language files in TSCII encoding.
"
" Maintainer: Yegappan Lakshmanan (yegappan AT yahoo DOT com)
" Last updated: 2006 June 17
"
" You will need a fixed width TSCII font to use this encoding. The
" Avarangal TSCII fixed width font (TSC_AvarangalFxd) is used to test
" this keymap.
"
" Visit http://www.tscii.org for more information about the TSCII
" encoding.
"
let b:keymap_name = "tamil_tscii"
loadkeymap
" Uyir (Vowels) letters
a <char-171>
aa <char-172>
A <char-172>
i <char-173>
ii <char-174>
I <char-174>
u <char-175>
uu <char-176>
U <char-176>
e <char-177>
ee <char-178>
E <char-178>
ai <char-179>
o <char-180>
oo <char-181>
O <char-181>
au <char-182>
q <char-183>
" mey (Consonants) letters
k <char-236>
ka <char-184>
kaa <char-184><char-161>
kA <char-184><char-161>
ki <char-184><char-162>
kii <char-184><char-163>
kI <char-184><char-163>
ku <char-204>
kuu <char-220>
kU <char-220>
ke <char-166><char-184>
kee <char-167><char-184>
kE <char-167><char-184>
kai <char-168><char-184>
ko <char-166><char-184><char-161>
koo <char-167><char-184><char-161>
kO <char-167><char-184><char-161>
kau <char-166><char-184><char-199>
g <char-236>
ga <char-184>
gaa <char-184><char-161>
gA <char-184><char-161>
gi <char-184><char-162>
gii <char-184><char-163>
gI <char-184><char-163>
gu <char-204>
guu <char-220>
gU <char-220>
ge <char-166><char-184>
gee <char-167><char-184>
gE <char-167><char-184>
gai <char-168><char-184>
go <char-166><char-184><char-161>
goo <char-167><char-184><char-161>
gO <char-167><char-184><char-161>
gau <char-166><char-184><char-199>
ng <char-237>
nga <char-185>
ngaa <char-185><char-161>
ngA <char-185><char-161>
ngi <char-185><char-162>
ngii <char-185><char-163>
ngI <char-185><char-163>
ngu <char-153>
nguu <char-155>
ngU <char-155>
nge <char-166><char-185>
ngee <char-167><char-185>
ngE <char-167><char-185>
ngai <char-168><char-185>
ngo <char-166><char-185><char-161>
ngoo <char-167><char-185><char-161>
ngO <char-167><char-185><char-161>
ngau <char-166><char-185><char-199>
ch <char-238>
cha <char-186>
chaa <char-186><char-161>
chA <char-186><char-161>
chi <char-186><char-162>
chii <char-186><char-163>
chI <char-186><char-163>
chu <char-204>
chuu <char-221>
chU <char-221>
che <char-166><char-186>
chee <char-167><char-186>
chE <char-167><char-186>
chai <char-168><char-186>
cho <char-166><char-186><char-161>
choo <char-167><char-186><char-161>
chO <char-167><char-186><char-161>
chau <char-166><char-186><char-199>
s <char-238>
sa <char-186>
saa <char-186><char-161>
sA <char-186><char-161>
si <char-186><char-162>
sii <char-186><char-163>
sI <char-186><char-163>
su <char-205>
suu <char-221>
sU <char-221>
se <char-166><char-186>
see <char-167><char-186>
sE <char-167><char-186>
sai <char-168><char-186>
so <char-166><char-186><char-161>
soo <char-167><char-186><char-161>
sO <char-167><char-186><char-161>
sau <char-166><char-186><char-199>
nj <char-239>
nja <char-187>
njaa <char-187><char-161>
njA <char-187><char-161>
nji <char-187><char-162>
njii <char-187><char-163>
njI <char-187><char-163>
nju <char-154>
njuu <char-156>
njU <char-156>
nje <char-166><char-187>
njee <char-167><char-187>
njE <char-167><char-187>
njai <char-168><char-187>
njo <char-166><char-187><char-161>
njoo <char-167><char-187><char-161>
njO <char-167><char-187><char-161>
njau <char-166><char-187><char-199>
t <char-240>
ta <char-188>
taa <char-188><char-161>
tA <char-188><char-161>
ti <char-202>
tii <char-203>
tI <char-203>
tu <char-206>
tuu <char-222>
tU <char-222>
te <char-166><char-188>
tee <char-167><char-188>
tE <char-167><char-188>
tai <char-168><char-188>
to <char-166><char-188><char-161>
too <char-167><char-188><char-161>
tO <char-167><char-188><char-161>
tau <char-166><char-188><char-199>
d <char-240>
da <char-188>
daa <char-188><char-161>
dA <char-188><char-161>
di <char-202>
dii <char-203>
dI <char-203>
du <char-206>
duu <char-222>
dU <char-222>
de <char-166><char-188>
dee <char-167><char-188>
dE <char-167><char-188>
dai <char-168><char-188>
do <char-166><char-188><char-161>
doo <char-167><char-188><char-161>
dO <char-167><char-188><char-161>
dau <char-166><char-188><char-199>
N <char-241>
Na <char-189>
Naa <char-189><char-161>
NA <char-189><char-161>
Ni <char-189><char-162>
Nii <char-189><char-163>
NI <char-189><char-163>
Nu <char-207>
Nuu <char-223>
NU <char-223>
Ne <char-166><char-189>
Nee <char-167><char-189>
NE <char-167><char-189>
Nai <char-168><char-189>
No <char-166><char-189><char-161>
Noo <char-167><char-189><char-161>
NO <char-167><char-189><char-161>
Nau <char-166><char-189><char-199>
th <char-242>
tha <char-190>
thaa <char-190><char-161>
thA <char-190><char-161>
thi <char-190><char-162>
thii <char-190><char-163>
thI <char-190><char-163>
thu <char-208>
thuu <char-224>
thU <char-224>
the <char-166><char-190>
thee <char-167><char-190>
thE <char-167><char-190>
thai <char-168><char-190>
tho <char-166><char-190><char-161>
thoo <char-167><char-190><char-161>
thO <char-167><char-190><char-161>
thau <char-166><char-190><char-199>
w <char-243>
wa <char-191>
waa <char-191><char-161>
wA <char-191><char-161>
wi <char-191><char-162>
wii <char-191><char-163>
wI <char-191><char-163>
wu <char-209>
wuu <char-225>
wU <char-225>
we <char-166><char-191>
wee <char-167><char-191>
wE <char-167><char-191>
wai <char-168><char-191>
wo <char-166><char-191><char-161>
woo <char-167><char-191><char-161>
wO <char-167><char-191><char-161>
wau <char-166><char-191><char-199>
n- <char-243>
n-a <char-191>
n-aa <char-191><char-161>
n-A <char-191><char-161>
n-i <char-191><char-162>
n-ii <char-191><char-163>
n-I <char-191><char-163>
n-u <char-209>
n-uu <char-225>
n-U <char-225>
n-e <char-166><char-191>
n-ee <char-167><char-191>
n-E <char-167><char-191>
n-ai <char-168><char-191>
n-o <char-166><char-191><char-161>
n-oo <char-167><char-191><char-161>
n-O <char-167><char-191><char-161>
n-au <char-166><char-191><char-199>
p <char-244>
pa <char-192>
paa <char-192><char-161>
pA <char-192><char-161>
pi <char-192><char-162>
pii <char-192><char-163>
pI <char-192><char-163>
pu <char-210>
puu <char-226>
pU <char-226>
pe <char-166><char-192>
pee <char-167><char-192>
pE <char-167><char-192>
pai <char-168><char-192>
po <char-166><char-192><char-161>
poo <char-167><char-192><char-161>
pO <char-167><char-192><char-161>
pau <char-166><char-192><char-199>
b <char-244>
ba <char-192>
baa <char-192><char-161>
bA <char-192><char-161>
bi <char-192><char-162>
bii <char-192><char-163>
bI <char-192><char-163>
bu <char-210>
buu <char-226>
bU <char-226>
be <char-166><char-192>
bee <char-167><char-192>
bE <char-167><char-192>
bai <char-168><char-192>
bo <char-166><char-192><char-161>
boo <char-167><char-192><char-161>
bO <char-167><char-192><char-161>
bau <char-166><char-192><char-199>
m <char-245>
ma <char-193>
maa <char-193><char-161>
mA <char-193><char-161>
mi <char-193><char-162>
mii <char-193><char-163>
mI <char-193><char-163>
mu <char-211>
muu <char-227>
mU <char-227>
me <char-166><char-193>
mee <char-167><char-193>
mE <char-167><char-193>
mai <char-168><char-193>
mo <char-166><char-193><char-161>
moo <char-167><char-193><char-161>
mO <char-167><char-193><char-161>
mau <char-166><char-193><char-199>
y <char-246>
ya <char-194>
yaa <char-194><char-161>
yA <char-194><char-161>
yi <char-194><char-162>
yii <char-194><char-163>
yI <char-194><char-163>
yu <char-212>
yuu <char-228>
yU <char-228>
ye <char-166><char-194>
yee <char-167><char-194>
yE <char-167><char-194>
yai <char-168><char-194>
yo <char-166><char-194><char-161>
yoo <char-167><char-194><char-161>
yO <char-167><char-194><char-161>
yau <char-166><char-194><char-199>
r <char-247>
ra <char-195>
raa <char-195><char-161>
rA <char-195><char-161>
ri <char-195><char-162>
rii <char-195><char-163>
rI <char-195><char-163>
ru <char-213>
ruu <char-229>
rU <char-229>
re <char-166><char-195>
ree <char-167><char-195>
rE <char-167><char-195>
rai <char-168><char-195>
ro <char-166><char-195><char-161>
roo <char-167><char-195><char-161>
rO <char-167><char-195><char-161>
rau <char-166><char-195><char-199>
l <char-248>
la <char-196>
laa <char-196><char-161>
lA <char-196><char-161>
li <char-196><char-162>
lii <char-196><char-163>
lI <char-196><char-163>
lu <char-214>
luu <char-230>
lU <char-230>
le <char-166><char-196>
lee <char-167><char-196>
lE <char-167><char-196>
lai <char-168><char-196>
lo <char-166><char-196><char-161>
loo <char-167><char-196><char-161>
lO <char-167><char-196><char-161>
lau <char-166><char-196><char-199>
v <char-249>
va <char-197>
vaa <char-197><char-161>
vA <char-197><char-161>
vi <char-197><char-162>
vii <char-197><char-163>
vI <char-197><char-163>
vu <char-215>
vuu <char-231>
vU <char-231>
ve <char-166><char-197>
vee <char-167><char-197>
vE <char-167><char-197>
vai <char-168><char-197>
vo <char-166><char-197><char-161>
voo <char-167><char-197><char-161>
vO <char-167><char-197><char-161>
vau <char-166><char-197><char-199>
z <char-250>
za <char-198>
zaa <char-198><char-161>
zA <char-198><char-161>
zi <char-198><char-162>
zii <char-198><char-163>
zI <char-198><char-163>
zu <char-216>
zuu <char-232>
zU <char-232>
ze <char-166><char-198>
zee <char-167><char-198>
zE <char-167><char-198>
zai <char-168><char-198>
zo <char-166><char-198><char-161>
zoo <char-167><char-198><char-161>
zO <char-167><char-198><char-161>
zau <char-166><char-198><char-199>
L <char-251>
La <char-199>
Laa <char-199><char-161>
LA <char-199><char-161>
Li <char-199><char-162>
Lii <char-199><char-163>
LI <char-199><char-163>
Lu <char-217>
Luu <char-233>
LU <char-233>
Le <char-166><char-199>
Lee <char-167><char-199>
LE <char-167><char-199>
Lai <char-168><char-199>
Lo <char-166><char-199><char-161>
Loo <char-167><char-199><char-161>
LO <char-167><char-199><char-161>
Lau <char-166><char-199><char-199>
R <char-252>
Ra <char-200>
Raa <char-200><char-161>
RA <char-200><char-161>
Ri <char-200><char-162>
Rii <char-200><char-163>
RI <char-200><char-163>
Ru <char-218>
Ruu <char-234>
RU <char-234>
Re <char-166><char-200>
Ree <char-167><char-200>
RE <char-167><char-200>
Rai <char-168><char-200>
Ro <char-166><char-200><char-161>
Roo <char-167><char-200><char-161>
RO <char-167><char-200><char-161>
Rau <char-166><char-200><char-199>
n <char-253>
na <char-201>
naa <char-201><char-161>
nA <char-201><char-161>
ni <char-201><char-162>
nii <char-201><char-163>
nI <char-201><char-163>
nu <char-219>
nuu <char-235>
nU <char-235>
ne <char-166><char-201>
nee <char-167><char-201>
nE <char-167><char-201>
nai <char-168><char-201>
no <char-166><char-201><char-161>
noo <char-167><char-201><char-161>
nO <char-167><char-201><char-161>
nau <char-166><char-201><char-199>
" Grantha letters
j <char-136>
ja <char-131>
jaa <char-131><char-161>
jA <char-131><char-161>
ji <char-131><char-162>
jii <char-131><char-163>
jI <char-131><char-163>
ju <char-131><char-164>
juu <char-131><char-164>
jU <char-131><char-165>
je <char-166><char-131>
jee <char-167><char-131>
jE <char-167><char-131>
jai <char-168><char-131>
jo <char-166><char-131><char-161>
joo <char-167><char-131><char-161>
jO <char-167><char-131><char-161>
jau <char-166><char-131><char-199>
sh <char-137>
sha <char-132>
shaa <char-132><char-161>
shA <char-132><char-161>
shi <char-132><char-162>
shii <char-132><char-163>
shI <char-132><char-163>
shu <char-131><char-164>
shuu <char-131><char-164>
shU <char-131><char-165>
she <char-166><char-132>
shee <char-167><char-132>
shE <char-167><char-132>
shai <char-168><char-132>
sho <char-166><char-132><char-161>
shoo <char-167><char-132><char-161>
shO <char-167><char-132><char-161>
shau <char-166><char-132><char-199>
S <char-138>
Sa <char-133>
Saa <char-133><char-161>
SA <char-133><char-161>
Si <char-133><char-162>
Sii <char-133><char-163>
SI <char-133><char-163>
Su <char-133><char-164>
Suu <char-133><char-165>
SU <char-133><char-165>
Se <char-166><char-133>
See <char-167><char-133>
SE <char-167><char-133>
Sai <char-168><char-133>
So <char-166><char-133><char-161>
Soo <char-167><char-133><char-161>
SO <char-167><char-133><char-161>
Sau <char-166><char-133><char-199>
h <char-139>
ha <char-134>
haa <char-134><char-161>
hA <char-134><char-161>
hi <char-134><char-162>
hii <char-134><char-163>
hI <char-134><char-163>
hu <char-134><char-164>
huu <char-134><char-165>
hU <char-134><char-165>
he <char-166><char-134>
hee <char-167><char-134>
hE <char-167><char-134>
hai <char-168><char-134>
ho <char-166><char-134><char-161>
hoo <char-167><char-134><char-161>
hO <char-167><char-134><char-161>
hau <char-166><char-134><char-199>
x <char-140>
xa <char-135>
xaa <char-135><char-161>
xA <char-135><char-161>
xi <char-135><char-162>
xii <char-135><char-163>
xI <char-135><char-163>
xu <char-135><char-164>
xuu <char-135><char-165>
xU <char-135><char-165>
xe <char-166><char-135>
xee <char-167><char-135>
xE <char-167><char-135>
xai <char-168><char-135>
xo <char-166><char-135><char-161>
xoo <char-167><char-135><char-161>
xO <char-167><char-135><char-161>
xau <char-166><char-135><char-199>
sri <char-130>

@ -0,0 +1,86 @@
" thaana keymap
" Maintainer: Ibrahim fayaz <p h a y a x at gmail dot com>
" please set enc to utf-8
" thaana phonetic keyboard is used as a reference
" http://www.mcst.gov.mv/News_and_Events/xpfonts.htm
" changelog: 18th Feb 2006 - came up the initial idea of writing the keymap..
" 13th May 2006 - made some few corrections regarding < and >..
let b:keymap_name= "thaana"
" THAANA NORMAL LETTERS
loadkeymap
h <char-0x0780> "letter haa
S <char-0x0781> "shaviani
n <char-0x0782> "noonu
r <char-0x0783> "raa
b <char-0x0784> "baa
L <char-0x0785> "lhaviani
k <char-0x0786> "kaafu
w <char-0x0787> "alifu
v <char-0x0788> "vaavu
m <char-0x0789> "meemu
f <char-0x078A> "faafu
d <char-0x078B> "dhaalu
t <char-0x078C> "thaa
l <char-0x078D> "laamu
g <char-0x078E> "gaafu
N <char-0x078F> "gnaviani
s <char-0x0790> "seenu
D <char-0x0791> "daviani
z <char-0x0792> "zaviani
T <char-0x0793> "taviani
y <char-0x0794> "yaa
p <char-0x0795> "paviani
j <char-0x0796> "javiani
c <char-0x0797> "chaviani
"THAANA DOTTED LETTERS
X <char-0x0798> "TTAA (thaa mathee thin thiki)
H <char-0x0799> "HHAA (haa thiree ehthiki)
K <char-0x079A> "KHAA (haa mathee ehthiki)
J <char-0x079B> "THAALU (dhaa mathee ehthiki)
R <char-0x079C> "ZAA (raa mathee ehthiki)
C <char-0x079D> "SHEENU (seenu mathee thinthiki)
M <char-0x079E> "SAADHU (seenu thiree ehthiki)
B <char-0x079F> "DHAADHU(seenu mathee ehthiki)
Y <char-0x07A0> "TO (thaa thiree ehthiki)
Z <char-0x07A1> "ZO (thaa mathee ehthiki)
W <char-0x07A2> "AINU (alifu thiree ehthiki)
G <char-0x07A3> "GHAINU (alifu mathee ehthiki)
Q <char-0x07A4> "QAAFU (gaafu mathee dhethkiki)
V <char-0x07A5> "VAAVU (vaavu mathee ehthiki)
"THAANA FILI (combining characters)
a <char-0x07A6> "abafili
A <char-0x07A7> "aabaafili
i <char-0x07A8> "ibifili
I <char-0x07A9> "eebeefili
u <char-0x07AA> "ubufili
U <char-0x07AB> "ooboofili
e <char-0x07AC> "ebefili
E <char-0x07AD> "ebeyfili
o <char-0x07AE> "obofili
O <char-0x07AF> "oaboafili
q <char-0x07B0> "sukun
"OTHER THAANA RELATED
F <char-0xFDF2> "arabic ligature allah isolated form
? <char-0x061F> "arabic question mark
"~ <char-0xFDFD> "arabic -bismillah ahrahman araheem- not in phonetic keyboard, thats why commented
[ <char-0x005D> "english open bracket is thaana closing bracket
] <char-0x005B> "english close bracket = thaana open bracket
{ <char-0x007B> "braces reversed
} <char-0x007D>
x <char-0x00D7> " x for multiplication sign..
P <char-0x00F7> " division symbol mapped to 'p'
> <char-0x003C>
< <char-0x003E>
<M-v> <char-0x200D> "zwj - ZERO WIDTH JOINER i dont know how to use these yet..
<M-b> <char-0x200C> "zwnj - ZERO WIDTH NON JOINER
<M-n> <char-0x200E> "lrm - LEFT TO RIGHT MARK
<M-m> <char-0x200F> "rlm - RIGHT TO LEFT MARK
; <char-0x061B> "arabic semicolon
, <char-0x060C> "arabic coma
<M-;> ;
<M-,> ,

@ -0,0 +1,3 @@
if &enc == 'utf-8'
source <sfile>:p:h/thaana-phonetic_utf-8.vim
endif

@ -0,0 +1,92 @@
" Vim Keymap file for ukrainian characters, layout 'dvorak',
" MS Windows variant
" Derived from ukrainian-jcuken.vim by Anatoli Sakhnik <sakhnik@gmail.com>
" Useful mainly with utf-8 but may work with other encodings
" Maintainer: Serhiy Boiko <cris.kiev@gmail.com>
" Last Changed: 2007 Jun 29
" All characters are given literally, conversion to another encoding (e.g.,
" UTF-8) should work.
scriptencoding utf-8
let b:keymap_name = "uk"
loadkeymap
~ ~ CYRILLIC CAPITAL LETTER IO
` ' CYRILLIC SMALL LETTER IO
U А CYRILLIC CAPITAL LETTER A
W Б CYRILLIC CAPITAL LETTER BE
E В CYRILLIC CAPITAL LETTER VE
G Г CYRILLIC CAPITAL LETTER GHE
N Д CYRILLIC CAPITAL LETTER DE
Y Е CYRILLIC CAPITAL LETTER IE
S Ж CYRILLIC CAPITAL LETTER ZHE
L З CYRILLIC CAPITAL LETTER ZE
X И CYRILLIC CAPITAL LETTER I
\" Й CYRILLIC CAPITAL LETTER SHORT I
P К CYRILLIC CAPITAL LETTER KA
T Л CYRILLIC CAPITAL LETTER EL
K М CYRILLIC CAPITAL LETTER EM
F Н CYRILLIC CAPITAL LETTER EN
H О CYRILLIC CAPITAL LETTER O
I П CYRILLIC CAPITAL LETTER PE
D Р CYRILLIC CAPITAL LETTER ER
J С CYRILLIC CAPITAL LETTER ES
B Т CYRILLIC CAPITAL LETTER TE
> У CYRILLIC CAPITAL LETTER U
A Ф CYRILLIC CAPITAL LETTER EF
? Х CYRILLIC CAPITAL LETTER HA
< Ц CYRILLIC CAPITAL LETTER TSE
Q Ч CYRILLIC CAPITAL LETTER CHE
C Ш CYRILLIC CAPITAL LETTER SHA
R Щ CYRILLIC CAPITAL LETTER SHCHA
+ Ї CYRILLIC CAPITAL LETTER YI
O І CYRILLIC CAPITAL LETTER BYELORUSSION-UKRAINIAN I
M Ь CYRILLIC CAPITAL LETTER SOFT SIGN
_ Є CYRILLIC CAPITAL LETTER UKRAINIAN IE
V Ю CYRILLIC CAPITAL LETTER YU
: Я CYRILLIC CAPITAL LETTER YA
| Ґ CYRILLIC CAPITAL LETTER GHE WITH UPTURN
u а CYRILLIC SMALL LETTER A
w б CYRILLIC SMALL LETTER BE
e в CYRILLIC SMALL LETTER VE
g г CYRILLIC SMALL LETTER GHE
n д CYRILLIC SMALL LETTER DE
y е CYRILLIC SMALL LETTER IE
s ж CYRILLIC SMALL LETTER ZHE
l з CYRILLIC SMALL LETTER ZE
x и CYRILLIC SMALL LETTER I
' й CYRILLIC SMALL LETTER SHORT I
p к CYRILLIC SMALL LETTER KA
t л CYRILLIC SMALL LETTER EL
k м CYRILLIC SMALL LETTER EM
f н CYRILLIC SMALL LETTER EN
h о CYRILLIC SMALL LETTER O
i п CYRILLIC SMALL LETTER PE
d р CYRILLIC SMALL LETTER ER
j с CYRILLIC SMALL LETTER ES
b т CYRILLIC SMALL LETTER TE
. у CYRILLIC SMALL LETTER U
a ф CYRILLIC SMALL LETTER EF
/ х CYRILLIC SMALL LETTER HA
, ц CYRILLIC SMALL LETTER TSE
q ч CYRILLIC SMALL LETTER CHE
c ш CYRILLIC SMALL LETTER SHA
r щ CYRILLIC SMALL LETTER SHCHA
= ї CYRILLIC SMALL LETTER YI
o і CYRILLIC SMALL LETTER BYELORUSSION-UKRAINIAN I
m ь CYRILLIC SMALL LETTER SOFT SIGN
- є CYRILLIC SMALL LETTER UKRAINIAN IE
v ю CYRILLIC SMALL LETTER YU
; я CYRILLIC SMALL LETTER YA
\\ ґ CYRILLIC SMALL LETTER GHE WITH UPTURN
@ "
# № NUMERO SIGN
$ ;
^ :
& ?
z .
Z ,
[ -
] =

@ -0,0 +1,92 @@
" Vim Keymap file for ukrainian characters, layout 'jcuken', classical variant
" (compatible with XFree86 'uk' keymap)
" Derived from russian-jcuken.vim by Artem Chuprina <ran@ran.pp.ru>
" Useful mainly with utf-8 but may work with other encodings
" Maintainer: Anatoli Sakhnik <sakhnik@gmail.com>
" Last Changed: 2007 Nov 11
" All characters are given literally, conversion to another encoding (e.g.,
" UTF-8) should work.
scriptencoding utf-8
let b:keymap_name = "uk"
loadkeymap
~ ~
` '
F А CYRILLIC CAPITAL LETTER A
< Б CYRILLIC CAPITAL LETTER BE
D В CYRILLIC CAPITAL LETTER VE
U Г CYRILLIC CAPITAL LETTER GHE
L Д CYRILLIC CAPITAL LETTER DE
T Е CYRILLIC CAPITAL LETTER IE
: Ж CYRILLIC CAPITAL LETTER ZHE
P З CYRILLIC CAPITAL LETTER ZE
B И CYRILLIC CAPITAL LETTER I
Q Й CYRILLIC CAPITAL LETTER SHORT I
R К CYRILLIC CAPITAL LETTER KA
K Л CYRILLIC CAPITAL LETTER EL
V М CYRILLIC CAPITAL LETTER EM
Y Н CYRILLIC CAPITAL LETTER EN
J О CYRILLIC CAPITAL LETTER O
G П CYRILLIC CAPITAL LETTER PE
H Р CYRILLIC CAPITAL LETTER ER
C С CYRILLIC CAPITAL LETTER ES
N Т CYRILLIC CAPITAL LETTER TE
E У CYRILLIC CAPITAL LETTER U
A Ф CYRILLIC CAPITAL LETTER EF
{ Х CYRILLIC CAPITAL LETTER HA
W Ц CYRILLIC CAPITAL LETTER TSE
X Ч CYRILLIC CAPITAL LETTER CHE
I Ш CYRILLIC CAPITAL LETTER SHA
O Щ CYRILLIC CAPITAL LETTER SHCHA
} Ї CYRILLIC CAPITAL LETTER YI
S І CYRILLIC CAPITAL LETTER BYELORUSSION-UKRAINIAN I
M Ь CYRILLIC CAPITAL LETTER SOFT SIGN
\" Є CYRILLIC CAPITAL LETTER UKRAINIAN IE
> Ю CYRILLIC CAPITAL LETTER YU
Z Я CYRILLIC CAPITAL LETTER YA
| Ґ CYRILLIC CAPITAL LETTER GHE WITH UPTURN
f а CYRILLIC SMALL LETTER A
, б CYRILLIC SMALL LETTER BE
d в CYRILLIC SMALL LETTER VE
u г CYRILLIC SMALL LETTER GHE
l д CYRILLIC SMALL LETTER DE
t е CYRILLIC SMALL LETTER IE
; ж CYRILLIC SMALL LETTER ZHE
p з CYRILLIC SMALL LETTER ZE
b и CYRILLIC SMALL LETTER I
q й CYRILLIC SMALL LETTER SHORT I
r к CYRILLIC SMALL LETTER KA
k л CYRILLIC SMALL LETTER EL
v м CYRILLIC SMALL LETTER EM
y н CYRILLIC SMALL LETTER EN
j о CYRILLIC SMALL LETTER O
g п CYRILLIC SMALL LETTER PE
h р CYRILLIC SMALL LETTER ER
c с CYRILLIC SMALL LETTER ES
n т CYRILLIC SMALL LETTER TE
e у CYRILLIC SMALL LETTER U
a ф CYRILLIC SMALL LETTER EF
[ х CYRILLIC SMALL LETTER HA
w ц CYRILLIC SMALL LETTER TSE
x ч CYRILLIC SMALL LETTER CHE
i ш CYRILLIC SMALL LETTER SHA
o щ CYRILLIC SMALL LETTER SHCHA
] ї CYRILLIC SMALL LETTER YI
s і CYRILLIC SMALL LETTER BYELORUSSION-UKRAINIAN I
m ь CYRILLIC SMALL LETTER SOFT SIGN
' є CYRILLIC SMALL LETTER UKRAINIAN IE
. ю CYRILLIC SMALL LETTER YU
z я CYRILLIC SMALL LETTER YA
\\ ґ CYRILLIC SMALL LETTER GHE WITH UPTURN
@ "
# '
$ *
% :
^ ,
& .
* ;
~ ~
~~ <char-0x301> Stress

@ -0,0 +1,160 @@
" Vim Keymap file for vietnamese through the usual viqr method
" Maintainer: Samuel Thibault <samuel.thibault@ens-lyon.org>
" Last Change: 2006 Jun 17
scriptencoding utf-8
let b:keymap_name = "vietnamese"
loadkeymap
a a
A A
a` à
A` À
a? ả
A? Ả
a~ ã
A~ Ã
a' á
A' Á
a. ạ
A. Ạ
a( ă
A( Ă
a(` ằ
A(` Ằ
a(? ẳ
A(? Ẳ
a(~
A(~
a(' ắ
A(' Ắ
a(. ặ
A(. Ặ
a^ â
A^ Â
a^` ầ
A^` Ầ
a^? ẩ
A^? Ẩ
a^~
A^~
a^' ấ
A^' Ấ
a^. ậ
A^. Ậ
d d
D D
dd đ
Dd Đ
DD Đ
e e
E E
e` è
E` È
e? ẻ
E? Ẻ
e~
E~
e' é
E' É
e. ẹ
E. Ẹ
e^ ê
E^ Ê
e^` ề
E^` Ề
e^? ể
E^? Ể
e^~
E^~
e^' ế
E^' Ế
e^. ệ
E^. Ệ
i i
I I
i` ì
I` Ì
i? ỉ
I? Ỉ
i~ ĩ
I~ Ĩ
i' í
I' Í
i. ị
I. Ị
o o
O O
o` ò
O` Ò
o? ỏ
O? Ỏ
o~ õ
O~ Õ
o' ó
O' Ó
o. ọ
O. Ọ
o^ ô
O^ Ô
o^` ồ
O^` Ồ
o^? ổ
O^? Ổ
o^~
O^~
o^' ố
O^' Ố
o^. ộ
O^. Ộ
o+ ơ
O+ Ơ
o+` ờ
O+` Ờ
o+? ở
O+? Ở
o+~
O+~
o+' ớ
O+' Ớ
o+. ợ
O+. Ợ
u u
U U
u` ù
U` Ù
u? ủ
U? Ủ
u~ ũ
U~ Ũ
u' ú
U' Ú
u. ụ
U. Ụ
u+ ư
U+ Ư
u+` ừ
U+` Ừ
u+? ử
U+? Ử
u+~
U+~
u+' ứ
U+' Ứ
u+. ự
U+. Ự
y y
Y Y
y` ỳ
Y` Ỳ
y? ỷ
Y? Ỷ
y~
Y~
y' ý
Y' Ý
y. ỵ
Y. Ỵ
\\d d
\\D D

@ -0,0 +1,64 @@
Language files for Vim
Translated menus
----------------
The contents of each menu file is a sequence of lines with "menutrans"
commands. Read one of the existing files to get an idea of how this works.
More information in the on-line help:
:help multilang-menus
:help :menutrans
:help 'langmenu'
:help :language
The "$VIMRUNTIME/menu.vim" file will search for a menu translation file. This
depends on the value of the "v:lang" variable.
"menu_" . v:lang . ".vim"
When the 'menutrans' option is set, its value will be used instead of v:lang.
The file name is always lower case. It is the full name as the ":language"
command shows (the LC_MESSAGES value).
For example, to use the Big5 (Taiwan) menus on MS-Windows the $LANG will be
Chinese(Taiwan)_Taiwan.950
and use the menu translation file:
$VIMRUNTIME/lang/menu_chinese(taiwan)_taiwan.950.vim
On Unix you should set $LANG, depending on your shell:
csh/tcsh: setenv LANG "zh_TW.Big5"
sh/bash/ksh: export LANG="zh_TW.Big5"
and the menu translation file is:
$VIMRUNTIME/lang/menu_zh_tw.big5.vim
The menu translation file should set the "did_menu_trans" variable so that Vim
will not load another file.
AUTOMATIC CONVERSION
When Vim was compiled with multi-byte support, conversion between latin1 and
UTF-8 will always be possible. Other conversions depend on the iconv
library, which is not always available.
For UTF-8 menu files which only use latin1 characters, you can rely on Vim
doing the conversion. Let the UTF-8 menu file source the latin1 menu file,
and put "scriptencoding latin1" in that one.
Other conversions may not always be available (e.g., between iso-8859-# and
MS-Windows codepages), thus the converted menu file must be available.
Translated messages
-------------------
This requires doing "make install" in the "src" directory. It will compile
the portable files "src/po/*.po" into binary ".mo" files and place them in the
right directory.

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save