Compare commits

...

62 Commits

Author SHA1 Message Date
Bram Moolenaar
cc984263d7 updated for version 7.0176 2005-12-23 22:19:46 +00:00
Bram Moolenaar
0ce33f34a4 updated for version 7.0176 2005-12-23 22:16:03 +00:00
Bram Moolenaar
8fa0445c4f updated for version 7.0176 2005-12-23 22:13:51 +00:00
Bram Moolenaar
5c2f050d91 updated for version 7.0176 2005-12-23 22:11:04 +00:00
Bram Moolenaar
f4cd3e8074 updated for version 7.0175 2005-12-22 22:47:02 +00:00
Bram Moolenaar
bb1004ee56 updated for version 7.0174 2005-12-19 22:15:59 +00:00
Bram Moolenaar
a9b1e74b5d updated for version 7.0174 2005-12-19 22:14:58 +00:00
Bram Moolenaar
195d6357b4 updated for version 7.0174 2005-12-19 22:08:24 +00:00
Bram Moolenaar
46b8015066 updated for version 7.0174 2005-12-19 22:06:56 +00:00
Bram Moolenaar
e3226be91a updated for version 7.0173 2005-12-18 22:10:00 +00:00
Bram Moolenaar
d35f9711d4 updated for version 7.0173 2005-12-18 22:02:33 +00:00
Bram Moolenaar
da1b1a7357 updated for version 7.0173 2005-12-18 21:59:16 +00:00
Bram Moolenaar
3b18181f28 updated for version 7.0172 2005-12-17 22:10:02 +00:00
Bram Moolenaar
acf534595b updated for version 7.0172 2005-12-17 22:06:52 +00:00
Bram Moolenaar
97d29a1ace updated for version 7.0172 2005-12-17 22:02:57 +00:00
Bram Moolenaar
146522e760 updated for version 7.0171 2005-12-16 21:55:46 +00:00
Bram Moolenaar
83c465c705 updated for version 7.0171 2005-12-16 21:53:56 +00:00
Bram Moolenaar
12033fb4bf updated for version 7.0171 2005-12-16 21:49:31 +00:00
Bram Moolenaar
bca84a12bd updated for version 7.0170 2005-12-14 22:08:35 +00:00
Bram Moolenaar
38f1825274 updated for version 7.0170 2005-12-14 22:04:43 +00:00
Bram Moolenaar
61da4986dd updated for version 7.0170 2005-12-14 22:02:18 +00:00
Bram Moolenaar
6496966ad1 updated for version 7.0170 2005-12-14 21:59:55 +00:00
Bram Moolenaar
b2c2efa53a updated for version 7.0169 2005-12-13 20:09:08 +00:00
Bram Moolenaar
c6d8db78b1 updated for version 7.0169 2005-12-13 20:04:55 +00:00
Bram Moolenaar
b0bf8580c3 updated for version 7.0169 2005-12-13 20:02:15 +00:00
Bram Moolenaar
900b4d77f0 updated for version 7.0168 2005-12-12 22:05:50 +00:00
Bram Moolenaar
2c7a29c7fd updated for version 7.0168 2005-12-12 22:02:31 +00:00
Bram Moolenaar
5b962cf71c updated for version 7.0168 2005-12-12 21:58:40 +00:00
Bram Moolenaar
63a121b750 updated for version 7.0167 2005-12-11 21:36:39 +00:00
Bram Moolenaar
b348038631 updated for version 7.0167 2005-12-11 21:33:32 +00:00
Bram Moolenaar
292ad19e92 updated for version 7.0167 2005-12-11 21:29:51 +00:00
Bram Moolenaar
cdbac1ee33 updated for version 7.0167 2005-12-11 21:27:22 +00:00
Bram Moolenaar
cc016f5410 updated for version 7.0166 2005-12-10 20:23:46 +00:00
Bram Moolenaar
e5180526fd updated for version 7.0166 2005-12-10 20:19:46 +00:00
Bram Moolenaar
24552beda0 updated for version 7.0166 2005-12-10 20:17:30 +00:00
Bram Moolenaar
43abc52195 updated for version 7.0166 2005-12-10 20:15:02 +00:00
Bram Moolenaar
ba930509b0 updated for version 7.0165 2005-12-08 22:05:05 +00:00
Bram Moolenaar
18f9a79673 updated for version 7.0165 2005-12-08 22:02:51 +00:00
Bram Moolenaar
77197e44d6 updated for version 7.0165 2005-12-08 22:00:22 +00:00
Bram Moolenaar
d5bc83f576 updated for version 7.0164 2005-12-07 21:07:59 +00:00
Bram Moolenaar
4e330bbf21 updated for version 7.0164 2005-12-07 21:04:31 +00:00
Bram Moolenaar
b815dac061 updated for version 7.0164 2005-12-07 20:59:24 +00:00
Bram Moolenaar
be79f90adc updated for version 7.0164 2005-12-07 20:56:14 +00:00
Bram Moolenaar
e64ac77a28 updated for version 7.0164 2005-12-07 20:54:59 +00:00
Bram Moolenaar
241a8aaa48 updated for version 7.0163 2005-12-06 20:04:44 +00:00
Bram Moolenaar
9372a11ca6 updated for version 7.0163 2005-12-06 19:59:18 +00:00
Bram Moolenaar
cef9dcc37e updated for version 7.0163 2005-12-06 19:50:41 +00:00
Bram Moolenaar
943d2b5b80 updated for version 7.0162 2005-12-02 00:50:49 +00:00
Bram Moolenaar
f4d1145328 updated for version 7.0162 2005-12-02 00:46:37 +00:00
Bram Moolenaar
c6039d8fcb updated for version 7.0162 2005-12-02 00:44:04 +00:00
Bram Moolenaar
bba577a242 updated for version 7.0161 2005-11-28 23:05:55 +00:00
Bram Moolenaar
36c31f71ad updated for version 7.0161 2005-11-28 23:01:53 +00:00
Bram Moolenaar
9835862c81 updated for version 7.0161 2005-11-28 22:58:23 +00:00
Bram Moolenaar
a39571032c updated for version 7.0161 2005-11-28 22:56:19 +00:00
Bram Moolenaar
c64d13ad5b updated for version 7.0160 2005-11-26 23:48:46 +00:00
Bram Moolenaar
16d8f87b45 updated for version 7.0160 2005-11-26 23:46:11 +00:00
Bram Moolenaar
5fe38612c9 updated for version 7.0160 2005-11-26 23:45:02 +00:00
Bram Moolenaar
3d2381ec09 updated for version 7.0160 2005-11-26 23:42:09 +00:00
Bram Moolenaar
b4d392824a updated for version 7.0160 2005-11-26 23:40:59 +00:00
Bram Moolenaar
12625caaa3 updated for version 7.0159 2005-11-25 19:58:47 +00:00
Bram Moolenaar
1afcace307 updated for version 7.0159 2005-11-25 19:54:28 +00:00
Bram Moolenaar
c20658076d updated for version 7.0159 2005-11-25 19:50:52 +00:00
164 changed files with 59438 additions and 27958 deletions

View File

@@ -2,7 +2,7 @@
# Used by Makefile and upload.aap.
# source files for all source archives
SRC_ALL1 = \
SRC_ALL = \
src/README.txt \
src/arabic.c \
src/arabic.h \
@@ -72,8 +72,6 @@ SRC_ALL1 = \
src/vim.h \
src/window.c \
src/xxd/xxd.c \
SRC_ALL2 = \
src/main.aap \
src/testdir/main.aap \
src/testdir/*.in \
@@ -138,7 +136,6 @@ SRC_UNIX = \
pixmaps/gen-inline-pixbufs.sh \
pixmaps/stock_icons.h \
src/INSTALL \
src/INSTALLkde.txt \
src/Makefile \
src/auto/configure \
src/config.aap.in \
@@ -155,11 +152,6 @@ SRC_UNIX = \
src/gui_gtk_f.c \
src/gui_gtk_f.h \
src/gui_gtk_x11.c \
src/gui_kde.cc \
src/gui_kde_wid.cc \
src/gui_kde_wid.h \
src/gui_kde_x11.cc \
src/kvim_iface.h \
src/gui_motif.c \
src/gui_xmdlg.c \
src/gui_xmebw.c \
@@ -185,8 +177,6 @@ SRC_UNIX = \
src/proto/gui_athena.pro \
src/proto/gui_gtk.pro \
src/proto/gui_gtk_x11.pro \
src/proto/gui_kde.pro \
src/proto/gui_kde_x11.pro \
src/proto/gui_motif.pro \
src/proto/gui_xmdlg.pro \
src/proto/gui_x11.pro \
@@ -219,6 +209,7 @@ SRC_DOS_UNIX = \
src/if_perlsfio.c \
src/if_python.c \
src/if_ruby.c \
src/if_sniff.h \
src/if_tcl.c \
src/proto/if_cscope.pro \
src/proto/if_mzsch.pro \
@@ -364,21 +355,14 @@ SRC_AMI = \
# source files for the Mac (also in the extra archive)
SRC_MAC = \
src/INSTALLmac.txt \
src/Make_mpw.mak \
src/dehqx.py \
src/gui_mac.c \
src/gui_mac.icns \
src/gui_mac.r \
src/os_mac.build \
src/os_mac.c \
src/os_mac.h \
src/os_mac.rsr.hqx \
src/os_mac.sit.hqx \
src/os_mac_conv.c \
src/os_macosx.c \
src/os_mac.pbproj/project.pbxproj \
src/proto/gui_mac.pro \
src/proto/os_mac.pro \
src/proto/os_mac_conv.pro \
# source files for VMS (in the extra archive)
@@ -429,7 +413,6 @@ SRC_EXTRA = \
src/gui_riscos.c \
src/gui_riscos.h \
src/if_sniff.c \
src/if_sniff.h \
src/infplist.xml \
src/link.390 \
src/os_beos.c \
@@ -461,6 +444,7 @@ RT_ALL = \
runtime/gvimrc_example.vim \
runtime/macros/README.txt \
runtime/macros/dvorak \
runtime/macros/editexisting.vim \
runtime/macros/hanoi/click.me \
runtime/macros/hanoi/hanoi.vim \
runtime/macros/hanoi/poster \
@@ -535,10 +519,6 @@ RT_UNIX = \
runtime/KVim.desktop \
runtime/hi16-action-make.png \
runtime/hi22-action-make.png \
runtime/kde-tips \
runtime/kvim32x32.png \
runtime/kvim48x48.png \
runtime/kvim64x64.png \
runtime/vim16x16.png \
runtime/vim16x16.xpm \
runtime/vim32x32.png \

View File

@@ -37,8 +37,6 @@ all install uninstall tools config configure proto depend lint tags types test t
#
# TARGET PRODUCES CONTAINS
# unixall vim-#.#.tar.bz2 Runtime files and Sources for Unix
# unixrt vim-#.#-rt[12].tar.gz Runtime files for Unix
# unixsrc vim-#.#-src[12].tar.gz Sources for Unix
#
# extra vim-#.#-extra.tar.gz Extra source and runtime files
# lang vim-#.#-lang.tar.gz multi-language files
@@ -66,7 +64,7 @@ all install uninstall tools config configure proto depend lint tags types test t
#
# All output files are created in the "dist" directory. Existing files are
# overwritten!
# To do all this you need the unixrt, unixsrc, extra and lang archives, and
# To do all this you need the unix, extra and lang archives, and
# compiled binaries.
# Before creating an archive first delete all backup files, *.orig, etc.
@@ -80,10 +78,11 @@ MINOR = 0aa
#
# - Update Vim version number. For a test version in: src/version.h, Contents,
# MAJOR/MINOR above, VIMRTDIR and VERSION in src/Makefile, README*.txt,
# runtime/doc/*.txt and nsis/gvim.nsi. For a minor/major version:
# src/GvimExt/GvimExt.reg, src/vim16.def.
# runtime/doc/*.txt and nsis/gvim.nsi. Other things in README_os2.txt. For a
# minor/major version: src/GvimExt/GvimExt.reg, src/vim.def, src/vim16.def.
# - Correct included_patches[] in src/version.c.
# - Compile Vim with GTK, Perl, Python, TCL, Ruby, Cscope and "huge" features.
# - Compile Vim with GTK, Perl, Python, TCL, Ruby, MZscheme, Cscope and "huge"
# features. Exclude workshop and SNiFF.
# - With these features: "make proto" (requires cproto and Motif installed;
# ignore warnings for missing include files, fix problems for syntax errors).
# - With these features: "make depend" (works best with gcc).
@@ -125,7 +124,7 @@ MINOR = 0aa
# "uninstald16.exe".
# 32 bit DOS version:
# - Set environment for compiling with DJGPP; "gmake -f Make_djg.mak".
# - "rm testdir/*.out", "make -f Make_djg.mak test" and check the output.
# - "rm testdir/*.out", "gmake -f Make_djg.mak test" and check the output.
# - Rename the executables to "vimd32.exe", "xxdd32.exe", "installd32.exe" and
# "uninstald32.exe".
# Win32 console version:
@@ -262,10 +261,8 @@ dist/$(COMMENT_FARSI): dist/comment
dist/$(COMMENT_LANG): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) MS-Windows language files" > dist/$(COMMENT_LANG)
unixrt: dist prepare
-rm -f dist/$(VIMVER)-rt1.tar.gz
-rm -f dist/$(VIMVER)-rt2.tar.gz
# first runtime file
unixall: dist prepare
-rm -f dist/$(VIMVER).tar.bz2
-rm -rf dist/$(VIMRTDIR)
mkdir dist/$(VIMRTDIR)
tar cf - \
@@ -273,36 +270,10 @@ unixrt: dist prepare
$(RT_ALL_BIN) \
$(RT_UNIX) \
$(RT_UNIX_DOS_BIN) \
| (cd dist/$(VIMRTDIR); tar xf -)
cd dist && tar cf $(VIMVER)-rt1.tar $(VIMRTDIR)
gzip -9 dist/$(VIMVER)-rt1.tar
# second runtime file (script and language files)
-rm -rf dist/$(VIMRTDIR)
mkdir dist/$(VIMRTDIR)
tar cf - \
$(RT_SCRIPTS) \
$(LANG_GEN) \
$(LANG_GEN_BIN) \
| (cd dist/$(VIMRTDIR); tar xf -)
cd dist && tar cf $(VIMVER)-rt2.tar $(VIMRTDIR)
gzip -9 dist/$(VIMVER)-rt2.tar
unixsrc: dist prepare
-rm -f dist/$(VIMVER)-src1.tar.gz
-rm -f dist/$(VIMVER)-src2.tar.gz
# first source file
-rm -rf dist/$(VIMRTDIR)
mkdir dist/$(VIMRTDIR)
tar cf - \
$(SRC_ALL1) \
| (cd dist/$(VIMRTDIR); tar xf -)
cd dist && tar cf $(VIMVER)-src1.tar $(VIMRTDIR)
gzip -9 dist/$(VIMVER)-src1.tar
# second source file
-rm -rf dist/$(VIMRTDIR)
mkdir dist/$(VIMRTDIR)
tar cf - \
$(SRC_ALL2) \
$(SRC_ALL) \
$(SRC_UNIX) \
$(SRC_DOS_UNIX) \
| (cd dist/$(VIMRTDIR); tar xf -)
@@ -310,21 +281,6 @@ unixsrc: dist prepare
cp -f src/config.mk.dist dist/$(VIMRTDIR)/src/auto/config.mk
# Create an empty config.h file, make dependencies require it
touch dist/$(VIMRTDIR)/src/auto/config.h
# Make sure configure is newer than config.mk to force it to be generated
touch dist/$(VIMRTDIR)/src/configure
cd dist && tar cf $(VIMVER)-src2.tar $(VIMRTDIR)
gzip -9 dist/$(VIMVER)-src2.tar
unixall: dist unixsrc unixrt
-rm -f dist/$(VIMVER).tar.bz2
-rm -rf dist/$(VIMRTDIR)
mkdir dist/$(VIMRTDIR)
cd dist && tar xfz $(VIMVER)-src1.tar.gz
cd dist && tar xfz $(VIMVER)-src2.tar.gz
cd dist && tar xfz $(VIMVER)-rt1.tar.gz
cd dist && tar xfz $(VIMVER)-rt2.tar.gz
# Create an empty config.h file, make dependencies require it
touch dist/$(VIMRTDIR)/src/auto/config.h
# Make sure configure is newer than config.mk to force it to be generated
touch dist/$(VIMRTDIR)/src/configure
cd dist && tar cf $(VIMVER).tar $(VIMRTDIR)
@@ -405,8 +361,7 @@ amisrc: dist prepare
mkdir dist/Vim/$(VIMRTDIR)
tar cf - \
$(ROOT_AMI) \
$(SRC_ALL1) \
$(SRC_ALL2) \
$(SRC_ALL) \
$(SRC_AMI) \
$(SRC_AMI_DOS) \
| (cd dist/Vim/$(VIMRTDIR); tar xf -)
@@ -593,8 +548,7 @@ dossrc: dist no_title.vim dist/$(COMMENT_SRC) runtime/doc/uganda.nsis.txt
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(SRC_ALL1) \
$(SRC_ALL2) \
$(SRC_ALL) \
$(SRC_DOS) \
$(SRC_AMI_DOS) \
$(SRC_DOS_UNIX) \

View File

@@ -5,28 +5,28 @@ See "README.txt" for general information about Vim.
NOTE: You will need two archives:
vim62rt.zip contains the runtime files (same as for the PC version)
vim62os2.zip contains the OS/2 executables
vim70rt.zip contains the runtime files (same as for the PC version)
vim70os2.zip contains the OS/2 executables
1. Go to the directory where you want to put the Vim files. Examples:
cd C:\
cd D:\editors
2. Unpack the zip archives. This will create a new directory "vim/vim62",
2. Unpack the zip archives. This will create a new directory "vim/vim70",
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 vim62os2.zip
unzip vim62os2.zip
pkunzip -d vim70os2.zip
unzip vim70os2.zip
After you unpacked the files, you can still move the whole directory tree
to another location.
3. Add the directory where vim.exe is to your path. The simplest is to add a
line to your autoexec.bat. Examples:
set path=%path%;C:\vim\vim62
set path=%path%;D:\editors\vim\vim62
set path=%path%;C:\vim\vim70
set path=%path%;D:\editors\vim\vim70
That's it!
@@ -41,10 +41,10 @@ Extra remarks:
C:\vim\_viminfo Dynamic info for 'viminfo'.
C:\vim\... Other files you made.
Distributed files:
C:\vim\vim62\vim.exe The Vim version 6.2 executable.
C:\vim\vim62\doc\*.txt The version 6.2 documentation files.
C:\vim\vim62\bugreport.vim A Vim version 6.2 script.
C:\vim\vim62\... Other version 6.2 distributed files.
C:\vim\vim70\vim.exe The Vim version 7.0 executable.
C:\vim\vim70\doc\*.txt The version 7.0 documentation files.
C:\vim\vim70\bugreport.vim A Vim version 7.0 script.
C:\vim\vim70\... Other version 7.0 distributed files.
In this case the $VIM environment variable would be set like this:
set VIM=C:\vim

View File

@@ -1,7 +1,7 @@
" Vim completion script
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2005 Oct 06
" Last Change: 2005 Dec 18
" This function is used for the 'omnifunc' option.
@@ -87,7 +87,7 @@ function! ccomplete#Complete(findstart, base)
if diclist[i]['kind'] == 'v'
let line = diclist[i]['cmd']
if line[0] == '/' && line[1] == '^'
let col = match(line, items[0])
let col = match(line, '\<' . items[0] . '\>')
call extend(res, s:Nextitem(strpart(line, 2, col - 2), items[1:]))
endif
endif

View File

@@ -463,7 +463,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
let tags = g:xmldata_xhtml10s[opentag][0]
for m in tags
for m in sort(tags)
if m =~ '^'.context
call add(res, m)
elseif m =~ context

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
" tar.vim: Handles browsing tarfiles
" AUTOLOAD PORTION
" Date: Nov 18, 2005
" Version: 4
" Date: Nov 28, 2005
" Version: 5
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
" License: Vim License (see vim's :help license)
"
@@ -24,7 +24,7 @@ set cpo&vim
if exists("g:loaded_tar")
finish
endif
let g:loaded_tar= "v4"
let g:loaded_tar= "v5"
" ---------------------------------------------------------------------
" Default Settings: {{{1
@@ -46,11 +46,14 @@ endif
" tar#Browse: {{{2
fun! tar#Browse(tarfile)
" call Dfunc("tar#Browse(tarfile<".a:tarfile.">)")
let repkeep= &report
set report=10
" sanity checks
if !executable("tar")
echohl Error | echo '***error*** (tar#Browse) "tar" not available on your system'
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("tar#Browse")
return
endif
@@ -60,6 +63,7 @@ fun! tar#Browse(tarfile)
echohl Error | echo "***error*** (tar#Browse) File not readable<".a:tarfile.">" | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
endif
let &report= repkeep
" call Dret("tar#Browse : file<".a:tarfile."> not readable")
return
endif
@@ -94,6 +98,7 @@ fun! tar#Browse(tarfile)
setlocal noma nomod ro
noremap <silent> <buffer> <cr> :call <SID>TarBrowseSelect()<cr>
let &report= repkeep
" call Dret("tar#Browse : w:tarfile<".w:tarfile.">")
endfun
@@ -101,11 +106,14 @@ endfun
" TarBrowseSelect: {{{2
fun! s:TarBrowseSelect()
" call Dfunc("TarBrowseSelect() w:tarfile<".w:tarfile."> curfile<".expand("%").">")
let repkeep= &report
set report=10
let fname= getline(".")
" call Decho("fname<".fname.">")
" sanity check
if fname =~ '^"'
let &report= repkeep
" call Dret("TarBrowseSelect")
return
endif
@@ -121,6 +129,7 @@ fun! s:TarBrowseSelect()
exe "e tarfile:".tarfile.':'.fname
filetype detect
let &report= repkeep
" call Dret("TarBrowseSelect : s:tblfile_".winnr()."<".s:tblfile_{winnr()}.">")
endfun
@@ -128,6 +137,8 @@ endfun
" tar#Read: {{{2
fun! tar#Read(fname,mode)
" call Dfunc("tar#Read(fname<".a:fname.">,mode=".a:mode.")")
let repkeep= &report
set report=10
let tarfile = substitute(a:fname,'tarfile:\(.\{-}\):.*$','\1','')
let fname = substitute(a:fname,'tarfile:.\{-}:\(.*\)$','\1','')
" call Decho("tarfile<".tarfile."> fname<".fname.">")
@@ -149,6 +160,7 @@ fun! tar#Read(fname,mode)
0d
set nomod
let &report= repkeep
" call Dret("tar#Read : w:tarfile<".w:tarfile.">")
endfun
@@ -156,17 +168,21 @@ endfun
" tar#Write: {{{2
fun! tar#Write(fname)
" call Dfunc("tar#Write(fname<".a:fname.">) w:tarfile<".w:tarfile."> tblfile_".winnr()."<".s:tblfile_{winnr()}.">")
let repkeep= &report
set report=10
" sanity checks
if !executable("tar")
echohl Error | echo '***error*** (tar#Browse) "tar" not available on your system'
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("tar#Write")
return
endif
if !exists("*mkdir")
echohl Error | echo "***error*** (tar#Write) sorry, mkdir() doesn't work on your system" | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("tar#Write")
return
endif
@@ -186,6 +202,7 @@ fun! tar#Write(fname)
catch /^Vim\%((\a\+)\)\=:E344/
echohl Error | echo "***error*** (tar#Write) cannot cd to temporary directory" | Echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("tar#Write")
return
endtry
@@ -285,6 +302,7 @@ fun! tar#Write(fname)
exe "cd ".escape(curdir,' \')
setlocal nomod
let &report= repkeep
" call Dret("tar#Write")
endfun

View File

@@ -310,7 +310,7 @@ function! xmlcomplete#GetLastOpenTag(unaryTagsStack)
let tagpat='</\='.b:xml_namespace.':\(\k\|[.-]\)\+\|/>'
endif
else
let tagpat='</\=\(\k\|[.-:]\)\+\|/>'
let tagpat='</\=\(\k\|[.-]\)\+\|/>'
endif
while (linenum>0)
let line=getline(linenum)

View File

@@ -1,7 +1,7 @@
" zip.vim: Handles browsing zipfiles
" AUTOLOAD PORTION
" Date: Nov 14, 2005
" Version: 4
" Date: Nov 28, 2005
" Version: 5
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
" License: Vim License (see vim's :help license)
" Copyright: Copyright (C) 2005 Charles E. Campbell, Jr. {{{1
@@ -22,7 +22,7 @@ if exists("g:loaded_zip")
finish
endif
let g:loaded_zip= "v4"
let g:loaded_zip= "v5"
" ----------------
" Functions: {{{1
@@ -32,11 +32,14 @@ let g:loaded_zip= "v4"
" zip#Browse: {{{2
fun! zip#Browse(zipfile)
" call Dfunc("zip#Browse(zipfile<".a:zipfile.">)")
let repkeep= &report
set report=10
" sanity checks
if !executable("unzip")
echohl Error | echo "***error*** (zip#Browse) unzip not available on your system"
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("zip#Browse")
return
endif
@@ -46,6 +49,7 @@ fun! zip#Browse(zipfile)
echohl Error | echo "***error*** (zip#Browse) File not readable<".a:zipfile.">" | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
endif
let &report= repkeep
" call Dret("zip#Browse : file<".a:zipfile."> not readable")
return
endif
@@ -77,6 +81,7 @@ fun! zip#Browse(zipfile)
setlocal noma nomod ro
noremap <silent> <buffer> <cr> :call <SID>ZipBrowseSelect()<cr>
let &report= repkeep
" call Dret("zip#Browse")
endfun
@@ -84,16 +89,20 @@ endfun
" ZipBrowseSelect: {{{2
fun! s:ZipBrowseSelect()
" call Dfunc("ZipBrowseSelect() zipfile<".w:zipfile."> curfile<".expand("%").">")
let repkeep= &report
set report=10
let fname= getline(".")
" sanity check
if fname =~ '^"'
let &report= repkeep
" call Dret("ZipBrowseSelect")
return
endif
if fname =~ '/$'
echohl Error | echo "***error*** (zip#Browse) Please specify a file, not a directory" | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("ZipBrowseSelect")
return
endif
@@ -110,6 +119,7 @@ fun! s:ZipBrowseSelect()
exe "e zipfile:".zipfile.':'.fname
filetype detect
let &report= repkeep
" call Dret("ZipBrowseSelect : s:zipfile_".winnr()."<".s:zipfile_{winnr()}.">")
endfun
@@ -117,6 +127,9 @@ endfun
" zip#Read: {{{2
fun! zip#Read(fname,mode)
" call Dfunc("zip#Read(fname<".a:fname.">,mode=".a:mode.")")
let repkeep= &report
set report=10
let zipfile = substitute(a:fname,'zipfile:\(.\{-}\):.*$','\1','')
let fname = substitute(a:fname,'zipfile:.\{-}:\(.*\)$','\1','')
" call Decho("zipfile<".zipfile."> fname<".fname.">")
@@ -127,6 +140,7 @@ fun! zip#Read(fname,mode)
0d
set nomod
let &report= repkeep
" call Dret("zip#Read")
endfun
@@ -134,17 +148,21 @@ endfun
" zip#Write: {{{2
fun! zip#Write(fname)
" call Dfunc("zip#Write(fname<".a:fname.") zipfile_".winnr()."<".s:zipfile_{winnr()}.">")
let repkeep= &report
set report=10
" sanity checks
if !executable("zip")
echohl Error | echo "***error*** (zip#Write) sorry, your system doesn't appear to have the zip pgm" | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("zip#Write")
return
endif
if !exists("*mkdir")
echohl Error | echo "***error*** (zip#Write) sorry, mkdir() doesn't work on your system" | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("zip#Write")
return
endif
@@ -164,6 +182,7 @@ fun! zip#Write(fname)
catch /^Vim\%((\a\+)\)\=:E344/
echohl Error | echo "***error*** (zip#Write) cannot cd to temporary directory" | Echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("zip#Write")
return
endtry
@@ -220,6 +239,7 @@ fun! zip#Write(fname)
exe "cd ".escape(curdir,' \')
setlocal nomod
let &report= repkeep
" call Dret("zip#Write")
endfun

View File

@@ -11,9 +11,9 @@ let current_compiler = "bdf"
let s:cpo_save = &cpo
set cpo-=C
setlocal makeprg=bdftopcf\ $*
CompilerSet makeprg=bdftopcf\ $*
setlocal errorformat=%ABDF\ %trror\ on\ line\ %l:\ %m,
CompilerSet errorformat=%ABDF\ %trror\ on\ line\ %l:\ %m,
\%-Z%p^,
\%Cbdftopcf:\ bdf\ input\\,\ %f\\,\ corrupt,
\%-G%.%#

View File

@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: Miscrosoft Visual C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2005 Jun 22
" Last Change: 2005 Nov 30
if exists("current_compiler")
finish
@@ -9,5 +9,5 @@ endif
let current_compiler = "msvc"
" The errorformat for MSVC is the default.
setlocal errorformat&
setlocal makeprg=nmake
CompilerSet errorformat&
CompilerSet makeprg=nmake

View File

@@ -11,7 +11,7 @@ let current_compiler = "rst"
let s:cpo_save = &cpo
set cpo-=C
setlocal errorformat=
CompilerSet errorformat=
\%f:%l:\ (%tEBUG/0)\ %m,
\%f:%l:\ (%tNFO/1)\ %m,
\%f:%l:\ (%tARNING/2)\ %m,

View File

@@ -72,6 +72,8 @@ DOCS = \
pi_gzip.txt \
pi_netrw.txt \
pi_spec.txt \
pi_tar.txt \
pi_zip.txt \
print.txt \
quickfix.txt \
quickref.txt \

View File

@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 7.0aa. Last change: 2005 Nov 21
*autocmd.txt* For Vim version 7.0aa. Last change: 2005 Dec 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -18,6 +18,7 @@ For a basic explanation, see section |40.3| in the user manual.
8. Groups |autocmd-groups|
9. Executing autocommands |autocmd-execute|
10. Using autocommands |autocmd-use|
11. Disabling autocommands |autocmd-disable|
{Vi does not have any of these commands}
{only when the |+autocmd| feature has not been disabled at compile time}
@@ -169,18 +170,195 @@ See |:verbose-cmd| for more information.
==============================================================================
5. Events *autocmd-events* *E215* *E216*
You can specify a comma-separated list of event names. No white space can be
used in this list. The command applies to all the events in the list.
For READING FILES there are four kinds of events possible:
BufNewFile starting to edit a non-existent file
BufReadPre BufReadPost starting to edit an existing file
FilterReadPre FilterReadPost read the temp file with filter output
FileReadPre FileReadPost any other file read
Vim uses only one of these four kinds when reading a file. The "Pre" and
"Post" events are both triggered, before and after reading the file.
Note that the autocommands for the *ReadPre events and all the Filter events
are not allowed to change the current buffer (you will get an error message if
this happens). This is to prevent the file to be read into the wrong buffer.
Note that the 'modified' flag is reset AFTER executing the BufReadPost
and BufNewFile autocommands. But when the 'modified' option was set by the
autocommands, this doesn't happen.
You can use the 'eventignore' option to ignore a number of events or all
events.
*autocommand-events* *{event}*
Vim recognizes the following events. Vim ignores the case of event names
(e.g., you can use "BUFread" or "bufread" instead of "BufRead").
First an overview by function with a short explanation. Then the list
alpabetically with full explanations |autocmd-events-abc|.
Name triggered by ~
Reading
|BufNewFile| starting to edit a file that doesn't exist
|BufReadPre| starting to edit a new buffer, before reading the file
|BufRead| starting to edit a new buffer, after reading the file
|BufReadPost| starting to edit a new buffer, after reading the file
|BufReadCmd| before starting to edit a new buffer |Cmd-event|
|FileReadPre| before reading a file with a ":read" command
|FileReadPost| after reading a file with a ":read" command
|FileReadCmd| before reading a file with a ":read" comman |Cmd-event|
|FilterReadPre| before reading a file from a filter command
|FilterReadPost| after reading a file from a filter command
|StdinReadPre| before reading from stdin into the buffer
|StdinReadPost| After reading from the stdin into the buffer
Writing
|BufWrite| starting to write the whole buffer to a file
|BufWritePre| starting to write the whole buffer to a file
|BufWritePost| after writing the whole buffer to a file
|BufWriteCmd| before writing the whole buffer to a file |Cmd-event|
|FileWritePre| starting to write part of a buffer to a file
|FileWritePost| after writing part of a buffer to a file
|FileWriteCmd| before writing part of a buffer to a file |Cmd-event|
|FileAppendPre| starting to append to a file
|FileAppendPost| after appending to a file
|FileAppendCmd| before appending to a file |Cmd-event|
|FilterWritePre| starting to write a file for a filter command or diff
|FilterWritePost| after writing a file for a filter command or diff
Buffers
|BufAdd| just after adding a buffer to the buffer list
|BufCreate| just after adding a buffer to the buffer list
|BufDelete| before deleting a buffer from the buffer list
|BufWipeout| before completely deleting a buffer
|BufFilePre| before changing the name of the current buffer
|BufFilePost| after changing the name of the current buffer
|BufEnter| after entering a buffer
|BufLeave| before leaving to another buffer
|BufWinEnter| after a buffer is displayed in a window
|BufWinLeave| before a buffer is removed from a window
|BufUnload| before unloading a buffer
|BufHidden| just after a buffer has become hidden
|BufNew| just after creating a new buffer
|SwapExists| detected an existing swap file
Options
|FileType| when the 'filetype' option has been set
|Syntax| when the 'syntax' option has been set
|EncodingChanged| after the 'encoding' option has been changed
|TermChanged| after the value of 'term' has changed
Startup and exit
|VimEnter| after doing all the startup stuff
|GUIEnter| after starting the GUI successfully
|TermResponse| after the termainal response to |t_RV| is received
|VimLeavePre| before exiting Vim, before writing the viminfo file
|VimLeave| before exiting Vim, after writing the viminfo file
Various
|FileChangedShell| Vim notices that a file changed since editing started
|FileChangedRO| before making the first change to a read-only file
|FuncUndefined| a user function is used but it isn't defined
|FocusGained| Vim got input focus
|FocusLost| Vim lost input focus
|CursorHold| the user doesn't press a key for a while
|WinEnter| after entering another window
|WinLeave| before leaving a window
|CmdwinEnter| after entering the command-line window
|CmdwinLeave| before leaving the command-line window
|InsertEnter| starting Insert mode
|InsertChange| when typing <Insert> while in Insert or Replace mode
|InsertLeave| when leaving Insert mode
|ColorScheme| after loading a color scheme
|RemoteReply| a reply from a server Vim was received
|QuickFixCmdPre| before a quickfix command is run
|QuickFixCmdPost| after a quickfix command is run
|SessionLoadPost| after loading a session file
|MenuPopup| just before showing the popup menu
|User| to be used in combination with ":doautocmd"
The alphabetical list of autocommand events: *autocmd-events-abc*
*BufCreate* *BufAdd*
BufAdd or BufCreate Just after creating a new buffer which is
added to the buffer list, or adding a buffer
to the buffer list.
Also used just after a buffer in the buffer
list has been renamed.
The BufCreate event is for historic reasons.
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being created "<afile>".
*BufDelete*
BufDelete Before deleting a buffer from the buffer list.
The BufUnload may be called first (if the
buffer was loaded).
Also used just before a buffer in the buffer
list is renamed.
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being deleted "<afile>".
*BufEnter*
BufEnter After entering a buffer. Useful for setting
options for a file type. Also executed when
starting to edit a buffer, after the
BufReadPost autocommands.
*BufFilePost*
BufFilePost After changing the name of the current buffer
with the ":file" or ":saveas" command.
*BufReadCmd*
BufFilePre Before changing the name of the current buffer
with the ":file" or ":saveas" command.
*BufHidden*
BufHidden Just after a buffer has become hidden. That
is, when there are no longer windows that show
the buffer, but the buffer is not unloaded or
deleted. Not used for ":qa" or ":q" when
exiting Vim.
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being unloaded "<afile>".
*BufLeave*
BufLeave Before leaving to another buffer. Also when
leaving or closing the current window and the
new current window is not for the same buffer.
Not used for ":qa" or ":q" when exiting Vim.
*BufNew*
BufNew Just after creating a new buffer. Also used
just after a buffer has been renamed. When
the buffer is added to the buffer list BufAdd
will be triggered too.
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being created "<afile>".
*BufNewFile*
BufNewFile When starting to edit a file that doesn't
exist. Can be used to read in a skeleton
file.
*BufReadPre* *E200* *E201*
BufReadPre When starting to edit a new buffer, before
reading the file into the buffer. Not used
if the file doesn't exist.
*BufRead* *BufReadPost*
BufRead or BufReadPost When starting to edit a new buffer, after
reading the file into the buffer, before
@@ -190,63 +368,49 @@ BufRead or BufReadPost When starting to edit a new buffer, after
This does NOT work for ":r file". Not used
when the file doesn't exist. Also used after
successfully recovering a file.
*BufReadCmd*
*BufReadPre* *E200* *E201*
BufReadCmd Before starting to edit a new buffer. Should
read the file into the buffer. |Cmd-event|
*BufFilePre*
BufFilePre Before changing the name of the current buffer
with the ":file" or ":saveas" command.
*BufFilePost*
BufFilePost After changing the name of the current buffer
with the ":file" or ":saveas" command.
*FileReadPre*
FileReadPre Before reading a file with a ":read" command.
*FileReadPost*
FileReadPost After reading a file with a ":read" command.
Note that Vim sets the '[ and '] marks to the
first and last line of the read. This can be
used to operate on the lines just read.
*FileReadCmd*
FileReadCmd Before reading a file with a ":read" command.
Should do the reading of the file. |Cmd-event|
*FilterReadPre* *E135*
FilterReadPre Before reading a file from a filter command.
Vim checks the pattern against the name of
the current buffer, not the name of the
temporary file that is the output of the
filter command.
Not triggered when 'shelltemp' is off.
*FilterReadPost*
FilterReadPost After reading a file from a filter command.
Vim checks the pattern against the name of
the current buffer as with FilterReadPre.
Not triggered when 'shelltemp' is off.
*FileType*
FileType When the 'filetype' option has been set.
<afile> can be used for the name of the file
where this option was set, and <amatch> for
the new value of 'filetype'.
See |filetypes|.
*Syntax*
Syntax When the 'syntax' option has been set.
<afile> can be used for the name of the file
where this option was set, and <amatch> for
the new value of 'syntax'.
See |:syn-on|.
*StdinReadPre*
StdinReadPre Before reading from stdin into the buffer.
Only used when the "-" argument was used when
Vim was started |--|.
*StdinReadPost*
StdinReadPost After reading from the stdin into the buffer,
before executing the modelines. Only used
when the "-" argument was used when Vim was
started |--|.
BufReadPre When starting to edit a new buffer, before
reading the file into the buffer. Not used
if the file doesn't exist.
*BufUnload*
BufUnload Before unloading a buffer. This is when the
text in the buffer is going to be freed. This
may be after a BufWritePost and before a
BufDelete. Also used for all buffers that are
loaded when Vim is going to exit.
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being unloaded "<afile>".
*BufWinEnter*
BufWinEnter After a buffer is displayed in a window. This
can be when the buffer is loaded (after
processing the modelines), when a hidden
buffer is displayed in a window (and is no
longer hidden) or a buffer already visible in
a window is also displayed in another window.
*BufWinLeave*
BufWinLeave Before a buffer is removed from a window.
Not when it's still visible in another window.
Also triggered when exiting. It's triggered
before BufUnload or BufHidden.
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being unloaded "<afile>".
*BufWipeout*
BufWipeout Before completely deleting a buffer. The
BufUnload and BufDelete events may be called
first (if the buffer was loaded and was in the
buffer list). Also used just before a buffer
is renamed (also when it's not in the buffer
list).
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being deleted "<afile>".
*BufWrite* *BufWritePre*
BufWrite or BufWritePre Before writing the whole buffer to a file.
*BufWritePost*
BufWritePost After writing the whole buffer to a file
(should undo the commands for BufWritePre).
*BufWriteCmd*
BufWriteCmd Before writing the whole buffer to a file.
Should do the writing of the file and reset
@@ -254,42 +418,70 @@ BufWriteCmd Before writing the whole buffer to a file.
'cpo' and writing to another file |cpo-+|.
The buffer contents should not be changed.
|Cmd-event|
*FileWritePre*
FileWritePre Before writing to a file, when not writing the
whole buffer. Use the '[ and '] marks for the
range of lines.
*FileWritePost*
FileWritePost After writing to a file, when not writing the
whole buffer.
*FileWriteCmd*
FileWriteCmd Before writing to a file, when not writing the
whole buffer. Should do the writing to the
file. Should not change the buffer. Use the
'[ and '] marks for the range of lines.
|Cmd-event|
*FileAppendPre*
FileAppendPre Before appending to a file. Use the '[ and ']
marks for the range of lines.
*FileAppendPost*
FileAppendPost After appending to a file.
*BufWritePost*
BufWritePost After writing the whole buffer to a file
(should undo the commands for BufWritePre).
*CmdwinEnter*
CmdwinEnter After entering the command-line window.
Useful for setting options specifically for
this special type of window. This is
triggered _instead_ of BufEnter and WinEnter.
<afile> is set to a single character,
indicating the type of command-line.
|cmdwin-char|
*CmdwinLeave*
CmdwinLeave Before leaving the command-line window.
Useful to clean up any global setting done
with CmdwinEnter. This is triggered _instead_
of BufLeave and WinLeave.
<afile> is set to a single character,
indicating the type of command-line.
|cmdwin-char|
*ColorScheme*
ColorScheme After loading a color scheme. |:colorscheme|
*CursorHold*
CursorHold When the user doesn't press a key for the time
specified with 'updatetime'. Not re-triggered
until the user has pressed a key (i.e. doesn't
fire every 'updatetime' ms if you leave Vim to
make some coffee. :) See |CursorHold-example|
for previewing tags.
This event is only triggered in Normal mode.
While recording the CursorHold event is not
triggered. |q|
Note: Interactive commands cannot be used for
this event. There is no hit-enter prompt,
the screen is updated directly (when needed).
Note: In the future there will probably be
another option to set the time.
Hint: to force an update of the status lines
use: >
:let &ro = &ro
< {only on Amiga, Unix, Win32, MSDOS and all GUI
versions}
*EncodingChanged*
EncodingChanged Fires off after the 'encoding' option has been
changed. Useful to set up fonts, for example.
*FileAppendCmd*
FileAppendCmd Before appending to a file. Should do the
appending to the file. Use the '[ and ']
marks for the range of lines.|Cmd-event|
*FilterWritePre*
FilterWritePre Before writing a file for a filter command or
making a diff.
Vim checks the pattern against the name of
the current buffer, not the name of the
temporary file that is the output of the
filter command.
Not triggered when 'shelltemp' is off.
*FilterWritePost*
FilterWritePost After writing a file for a filter command or
making a diff.
Vim checks the pattern against the name of
the current buffer as with FilterWritePre.
Not triggered when 'shelltemp' is off.
*FileAppendPost*
FileAppendPost After appending to a file.
*FileAppendPre*
FileAppendPre Before appending to a file. Use the '[ and ']
marks for the range of lines.
*FileChangedRO*
FileChangedRO Before making the first change to a read-only
file. Can be used to check-out the file from
a source control system. Not triggered when
the change was caused by an autocommand.
This event is triggered when making the first
change in a buffer or the first change after
'readonly' was set,
just before the change is applied to the text.
WARNING: If the autocommand moves the cursor
the effect of the change is undefined.
*FileChangedShell*
FileChangedShell When Vim notices that the modification time of
a file has changed since editing started.
@@ -319,17 +511,64 @@ FileChangedShell When Vim notices that the modification time of
commands for the FileChangedShell event no
other FileChangedShell event will be
triggered.
*FileChangedRO*
FileChangedRO Before making the first change to a read-only
file. Can be used to check-out the file from
a source control system. Not triggered when
the change was caused by an autocommand.
This event is triggered when making the first
change in a buffer or the first change after
'readonly' was set,
just before the change is applied to the text.
WARNING: If the autocommand moves the cursor
the effect of the change is undefined.
*FileEncoding*
FileEncoding Obsolete. It still works and is equivalent
to |EncodingChanged|.
*FileReadCmd*
FileReadCmd Before reading a file with a ":read" command.
Should do the reading of the file. |Cmd-event|
*FileReadPost*
FileReadPost After reading a file with a ":read" command.
Note that Vim sets the '[ and '] marks to the
first and last line of the read. This can be
used to operate on the lines just read.
*FileReadPre*
FileReadPre Before reading a file with a ":read" command.
*FileType*
FileType When the 'filetype' option has been set.
<afile> can be used for the name of the file
where this option was set, and <amatch> for
the new value of 'filetype'.
See |filetypes|.
*FileWriteCmd*
FileWriteCmd Before writing to a file, when not writing the
whole buffer. Should do the writing to the
file. Should not change the buffer. Use the
'[ and '] marks for the range of lines.
|Cmd-event|
*FileWritePost*
FileWritePost After writing to a file, when not writing the
whole buffer.
*FileWritePre*
FileWritePre Before writing to a file, when not writing the
whole buffer. Use the '[ and '] marks for the
range of lines.
*FilterReadPost*
FilterReadPost After reading a file from a filter command.
Vim checks the pattern against the name of
the current buffer as with FilterReadPre.
Not triggered when 'shelltemp' is off.
*FilterReadPre* *E135*
FilterReadPre Before reading a file from a filter command.
Vim checks the pattern against the name of
the current buffer, not the name of the
temporary file that is the output of the
filter command.
Not triggered when 'shelltemp' is off.
*FilterWritePost*
FilterWritePost After writing a file for a filter command or
making a diff.
Vim checks the pattern against the name of
the current buffer as with FilterWritePre.
Not triggered when 'shelltemp' is off.
*FilterWritePre*
FilterWritePre Before writing a file for a filter command or
making a diff.
Vim checks the pattern against the name of
the current buffer, not the name of the
temporary file that is the output of the
filter command.
Not triggered when 'shelltemp' is off.
*FocusGained*
FocusGained When Vim got input focus. Only for the GUI
version and a few console versions where this
@@ -345,104 +584,136 @@ FuncUndefined When a user function is used but it isn't
when it's used. Both <amatch> and <afile> are
set to the name of the function.
See |autoload-functions|.
*CursorHold*
CursorHold When the user doesn't press a key for the time
specified with 'updatetime'. Not re-triggered
until the user has pressed a key (i.e. doesn't
fire every 'updatetime' ms if you leave Vim to
make some coffee. :) See |CursorHold-example|
for previewing tags.
This event is only triggered in Normal mode.
Note: Interactive commands cannot be used for
this event. There is no hit-enter prompt,
the screen is updated directly (when needed).
Note: In the future there will probably be
another option to set the time.
Hint: to force an update of the status lines
use: >
:let &ro = &ro
< {only on Amiga, Unix, Win32, MSDOS and all GUI
versions}
*BufEnter*
BufEnter After entering a buffer. Useful for setting
options for a file type. Also executed when
starting to edit a buffer, after the
BufReadPost autocommands.
*BufLeave*
BufLeave Before leaving to another buffer. Also when
leaving or closing the current window and the
new current window is not for the same buffer.
Not used for ":qa" or ":q" when exiting Vim.
*BufWinEnter*
BufWinEnter After a buffer is displayed in a window. This
can be when the buffer is loaded (after
processing the modelines), when a hidden
buffer is displayed in a window (and is no
longer hidden) or a buffer already visible in
a window is also displayed in another window.
*BufWinLeave*
BufWinLeave Before a buffer is removed from a window.
Not when it's still visible in another window.
Also triggered when exiting. It's triggered
before BufUnload or BufHidden.
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being unloaded "<afile>".
*BufUnload*
BufUnload Before unloading a buffer. This is when the
text in the buffer is going to be freed. This
may be after a BufWritePost and before a
BufDelete. Also used for all buffers that are
loaded when Vim is going to exit.
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being unloaded "<afile>".
*BufHidden*
BufHidden Just after a buffer has become hidden. That
is, when there are no longer windows that show
the buffer, but the buffer is not unloaded or
deleted. Not used for ":qa" or ":q" when
exiting Vim.
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being unloaded "<afile>".
*BufNew*
BufNew Just after creating a new buffer. Also used
just after a buffer has been renamed. When
the buffer is added to the buffer list BufAdd
will be triggered too.
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being created "<afile>".
*BufCreate* *BufAdd*
BufAdd or BufCreate Just after creating a new buffer which is
added to the buffer list, or adding a buffer
to the buffer list.
Also used just after a buffer in the buffer
list has been renamed.
The BufCreate event is for historic reasons.
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being created "<afile>".
*BufDelete*
BufDelete Before deleting a buffer from the buffer list.
The BufUnload may be called first (if the
buffer was loaded).
Also used just before a buffer in the buffer
list is renamed.
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being deleted "<afile>".
*BufWipeout*
BufWipeout Before completely deleting a buffer. The
BufUnload and BufDelete events may be called
first (if the buffer was loaded and was in the
buffer list). Also used just before a buffer
is renamed (also when it's not in the buffer
list).
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being deleted "<afile>".
*GUIEnter*
GUIEnter After starting the GUI successfully, and after
opening the window. It is triggered before
VimEnter when using gvim. Can be used to
position the window from a .gvimrc file: >
:autocmd GUIEnter * winpos 100 50
< *InsertChange*
InsertChange When typing <Insert> while in Insert or
Replace mode. The |v:insertmode| variable
indicates the new mode.
Be careful not to move the cursor or do
anything else that the user does not expect.
*InsertEnter*
InsertEnter When starting Insert mode. Also for Replace
mode and Virtual Replace mode. The
|v:insertmode| variable indicates the mode.
Be careful not to move the cursor or do
anything else that the user does not expect.
*InsertLeave*
InsertLeave When leaving Insert mode. Also when using
CTRL-O |i_CTRL-O|. But not for |i_CTRL-C|.
*MenuPopup*
MenuPopup Just before showing the popup menu (under the
right mouse button). Useful for adjusting the
menu for what is under the cursor or mouse
pointer.
The pattern is matched against a single
character representing the mode:
n Normal
v Visual
o Operator-pending
i Insert
c Commmand line
*QuickFixCmdPre*
QuickFixCmdPre Before a quickfix command is run (|:make|,
|:grep|, |:grepadd|, |:vimgrep|,
|:vimgrepadd|). The pattern is matched against
the command being run. When |:grep| is used
but 'grepprg' is set to "internal" it still
matches "grep".
This command cannot be used to set the
'makeprg' and 'grepprg' variables.
If this command causes an error, the quickfix
command is not executed.
*QuickFixCmdPost*
QuickFixCmdPost Like QuickFixCmdPre, but after a quickfix
command is run.
*RemoteReply*
RemoteReply When a reply from a Vim that functions as
server was received |server2client()|.
<amatch> is equal to the {serverid} from which
the reply was sent, and <afile> is the actual
reply string.
Note that even if an autocommand is defined,
the reply should be read with |remote_read()|
to consume it.
*SessionLoadPost*
SessionLoadPost After loading the session file created using
the |:mksession| command.
*StdinReadPost*
StdinReadPost After reading from the stdin into the buffer,
before executing the modelines. Only used
when the "-" argument was used when Vim was
started |--|.
*StdinReadPre*
StdinReadPre Before reading from stdin into the buffer.
Only used when the "-" argument was used when
Vim was started |--|.
*SwapExists*
SwapExists Detected an existing swap file when starting
to edit a file. Only when it is possible to
select a way to handle the situation, when Vim
would ask the user what to do.
The |v:swapname| variable holds the name of
the swap file found, <afile> the file being
edited. |v:swapcommand| may contain a command
to be executed in the opened file.
The commands should set the |v:swapchoice|
variable to a string with one character to
tell Vim what should be done next:
'o' open read-only
'e' edit the file anyway
'r' recover
'd' delete the swap file
'q' quit, don't edit the file
'a' abort, like hitting CTRL-C
When set to an empty string the user will be
asked, as if there was no SwapExists autocmd.
Note: Do not try to change the buffer, the
results are unpredictable.
*Syntax*
Syntax When the 'syntax' option has been set.
<afile> can be used for the name of the file
where this option was set, and <amatch> for
the new value of 'syntax'.
See |:syn-on|.
*TermChanged*
TermChanged After the value of 'term' has changed. Useful
for re-loading the syntax file to update the
colors, fonts and other terminal-dependent
settings. Executed for all loaded buffers.
*TermResponse*
TermResponse After the response to |t_RV| is received from
the terminal. The value of |v:termresponse|
can be used to do things depending on the
terminal version.
*User*
User Never executed automatically. To be used for
autocommands that are only executed with
":doautocmd".
*UserGettingBored*
UserGettingBored When the user hits CTRL-C. Just kidding! :-)
*VimEnter*
VimEnter After doing all the startup stuff, including
loading .vimrc files, executing the "-c cmd"
arguments, creating all windows and loading
the buffers in them.
*VimLeave*
VimLeave Before exiting Vim, just after writing the
.viminfo file. Executed only once, like
VimLeavePre.
To detect an abnormal exit use |v:dying|.
*VimLeavePre*
VimLeavePre Before exiting Vim, just before writing the
.viminfo file. This is executed only once,
if there is a match with the name of what
happens to be the current buffer when exiting.
Mostly useful with a "*" pattern. >
:autocmd VimLeavePre * call CleanupStuff()
< To detect an abnormal exit use |v:dying|.
*WinEnter*
WinEnter After entering another window. Not done for
the first window, when Vim has just started.
@@ -459,142 +730,6 @@ WinLeave Before leaving a window. If the window to be
executes the BufLeave autocommands before the
WinLeave autocommands (but not for ":new").
Not used for ":qa" or ":q" when exiting Vim.
*CmdwinEnter*
CmdwinEnter After entering the command-line window.
Useful for setting options specifically for
this special type of window. This is
triggered _instead_ of BufEnter and WinEnter.
<afile> is set to a single character,
indicating the type of command-line.
|cmdwin-char|
*CmdwinLeave*
CmdwinLeave Before leaving the command-line window.
Useful to clean up any global setting done
with CmdwinEnter. This is triggered _instead_
of BufLeave and WinLeave.
<afile> is set to a single character,
indicating the type of command-line.
|cmdwin-char|
*GUIEnter*
GUIEnter After starting the GUI successfully, and after
opening the window. It is triggered before
VimEnter when using gvim. Can be used to
position the window from a .gvimrc file: >
:autocmd GUIEnter * winpos 100 50
< *VimEnter*
VimEnter After doing all the startup stuff, including
loading .vimrc files, executing the "-c cmd"
arguments, creating all windows and loading
the buffers in them.
*VimLeavePre*
VimLeavePre Before exiting Vim, just before writing the
.viminfo file. This is executed only once,
if there is a match with the name of what
happens to be the current buffer when exiting.
Mostly useful with a "*" pattern. >
:autocmd VimLeavePre * call CleanupStuff()
< To detect an abnormal exit use |v:dying|.
*VimLeave*
VimLeave Before exiting Vim, just after writing the
.viminfo file. Executed only once, like
VimLeavePre.
To detect an abnormal exit use |v:dying|.
*EncodingChanged*
EncodingChanged Fires off after the 'encoding' option has been
changed. Useful to set up fonts, for example.
*InsertEnter*
InsertEnter When starting Insert mode. Also for Replace
mode and Virtual Replace mode. The
|v:insertmode| variable indicates the mode.
Be careful not to move the cursor or do
anything else that the user does not expect.
*InsertChange*
InsertChange When typing <Insert> while in Insert or
Replace mode. The |v:insertmode| variable
indicates the new mode.
Be careful not to move the cursor or do
anything else that the user does not expect.
*InsertLeave*
InsertLeave When leaving Insert mode. Also when using
CTRL-O |i_CTRL-O|. But not for |i_CTRL-C|.
*FileEncoding*
FileEncoding Obsolete. It still works and is equivalent
to |EncodingChanged|.
*ColorScheme*
ColorScheme After loading a color scheme. |:colorscheme|
*RemoteReply*
RemoteReply When a reply from a Vim that functions as
server was received |server2client()|.
<amatch> is equal to the {serverid} from which
the reply was sent, and <afile> is the actual
reply string.
Note that even if an autocommand is defined,
the reply should be read with |remote_read()|
to consume it.
*TermChanged*
TermChanged After the value of 'term' has changed. Useful
for re-loading the syntax file to update the
colors, fonts and other terminal-dependent
settings. Executed for all loaded buffers.
*TermResponse*
TermResponse After the response to |t_RV| is received from
the terminal. The value of |v:termresponse|
can be used to do things depending on the
terminal version.
QuickFixCmdPre *QuickFixCmdPre*
Before a quickfix command is run (|:make|,
|:grep|, |:grepadd|, |:vimgrep|,
|:vimgrepadd|). The pattern is matched against
the command being run. When |:grep| is used
but 'grepprg' is set to "internal" it still
matches "grep".
This command cannot be used to set the
'makeprg' and 'grepprg' variables.
If this command causes an error, the quickfix
command is not executed.
QuickFixCmdPost *QuickFixCmdPost*
like QuickFixCmdPre, but after a quickfix
command is run.
*MenuPopup*
MenuPopup Just before showing the popup menu (under the
right mouse button). Useful for adjusting the
menu for what is under the cursor or mouse
pointer.
The pattern is matched against a single
character representing the mode:
n Normal
v Visual
o Operator-pending
i Insert
c Commmand line
*UserGettingBored*
UserGettingBored When the user hits CTRL-C. Just kidding! :-)
*User*
User Never executed automatically. To be used for
autocommands that are only executed with
":doautocmd".
You can specify a comma-separated list of event names. No white space can be
used in this list. The command applies to all the events in the list.
For READING FILES there are four kinds of events possible:
BufNewFile starting to edit a non-existent file
BufReadPre BufReadPost starting to edit an existing file
FilterReadPre FilterReadPost read the temp file with filter output
FileReadPre FileReadPost any other file read
Vim uses only one of these four kinds when reading a file. The "Pre" and
"Post" events are both triggered, before and after reading the file.
Note that the autocommands for the *ReadPre events and all the Filter events
are not allowed to change the current buffer (you will get an error message if
this happens). This is to prevent the file to be read into the wrong buffer.
Note that the 'modified' flag is reset AFTER executing the BufReadPost
and BufNewFile autocommands. But when the 'modified' option was set by the
autocommands, this doesn't happen.
You can use the 'eventignore' option to ignore a number of events or all
events.
==============================================================================
6. Patterns *autocmd-patterns* *{pat}*
@@ -922,10 +1057,8 @@ It's possible to use the ":au" command in an autocommand. This can be a
self-modifying command! This can be useful for an autocommand that should
execute only once.
There is currently no way to disable the autocommands. If you want to write a
file without executing the autocommands for that type of file, write it under
another name and rename it with a shell command. In some situations you can
use the 'eventignore' option.
If you want to skip autocommands for one command, use the |:noautocmd| command
modifier or the 'eventignore' option.
Note: When reading a file (with ":read file" or with a filter command) and the
last line in the file does not have an <EOL>, Vim remembers this. At the next
@@ -1042,5 +1175,22 @@ The |v:cmdbang| variable is one when "!" was used, zero otherwise.
See the $VIMRUNTIME/plugin/netrw.vim for examples.
==============================================================================
11. Disabling autocommands *autocmd-disable*
To disable autocommands for some time use the 'eventignore' option. Note that
this may cause unexpected behavior, make sure you restore 'eventignore'
afterwards, using a |:try| block with |:finally|.
*:noautocmd* *:noa*
To disable autocommands for just one command use the ":noautocmd" command
modifier. This will set 'eventignore' to "all" for the duration of the
following command. Example: >
:noautocmd w fname.gz
This will write the file without triggering the autocommands defined by the
gzip plugin.
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 7.0aa. Last change: 2005 Aug 14
*change.txt* For Vim version 7.0aa. Last change: 2005 Dec 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -503,6 +503,8 @@ comment (starting with '"') after the ":!" command.
temporary file and then reads the file into the
buffer. Vim uses the 'shellredir' option to redirect
the filter output to the temporary file.
However, if the 'shelltemp' option is off then pipes
are used when possible (on Unix).
When the 'R' flag is included in 'cpoptions' marks in
the filtered lines are deleted, unless the
|:keepmarks| command is used. Example: >
@@ -1087,7 +1089,8 @@ register. {not in Vi}
7. Selection and drop registers "*, "+ and "~
Use these register for storing and retrieving the selected text for the GUI.
See |quotestar| and |quoteplus|. When the clipboard is not available or not
working, the unnamed register is used instead. {not in Vi}
working, the unnamed register is used instead. For Unix systems the clipboard
is only available when the |+xterm_clipboard| feature is present. {not in Vi}
Note that there is only a distinction between "* and "+ for X11 systems. For
an explanation of the difference, see |x11-selection|. Under MS-Windows, use
@@ -1493,8 +1496,9 @@ Vim has a sorting function and a sorting command. The sorting function can be
found here: |sort()|.
*:sor* *:sort*
:[range]sor[t][!] [i] [u] [/{pattern}/]
Sort lines in [range].
:[range]sor[t][!] [i][u][n][x][o] [/{pattern}/]
Sort lines in [range]. When no range is given all
lines are sorted.
With [!] the order is reversed.

View File

@@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 7.0aa. Last change: 2005 Nov 21
*cmdline.txt* For Vim version 7.0aa. Last change: 2005 Dec 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -692,6 +692,12 @@ output.
==============================================================================
6. Ex special characters *cmdline-special*
Note: These are special characters in the executed command line. If you want
to insert special things while typing you can use the CTRL-R command. For
example, "%" stands for the current file name, while CTRL-R % inserts the
current file name right away. See |c_CTRL-R|.
In Ex commands, at places where a file name can be used, the following
characters have a special meaning. These can also be used in the expression
function expand() |expand()|.

View File

@@ -1,4 +1,4 @@
*debug.txt* For Vim version 7.0aa. Last change: 2005 Sep 01
*debug.txt* For Vim version 7.0aa. Last change: 2005 Dec 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -7,6 +7,7 @@
Debugging Vim *debug-vim*
This is for debugging Vim itself, when it doesn't work properly.
For debugging Vim scripts, functions, etc. see |debug-scripts|
1. Location of a crash, using gcc and gdb |debug-gcc|
2. Windows Bug Reporting |debug-win32|
@@ -61,9 +62,9 @@ This includes the WinDbg debugger.
If you have Visual Studio, use that instead of the VC Toolkit
and WinDbg.
(No idea what to do if your binary was built with the Borland or Cygwin
compilers. Sorry.)
For other compilers, you should always use the corresponding debugger: TD for
a Vim executable compiled with the Borland compiler; gdb (see above
|debug-gcc|) for the Cygwin and MinGW compilers.
=========================================================================
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*editing.txt* For Vim version 7.0aa. Last change: 2005 Jul 25
*editing.txt* For Vim version 7.0aa. Last change: 2005 Dec 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -398,8 +398,9 @@ The expression can contain just about anything, thus this can also be used to
avoid the special meaning of '"', '|', '%' and '#'.
*++opt* *[++opt]*
The [++opt] argument can be used to force the value of 'fileformat' or
'fileencoding' to a value for one command. The form is: >
The [++opt] argument can be used to force the value of 'fileformat',
'fileencoding' or 'binary' to a value for one command, and to specify the
behavior for bad characters. The form is: >
++{optname}={value}
Where {optname} is one of: *++ff* *++enc* *++bin* *++nobin*
@@ -407,6 +408,7 @@ Where {optname} is one of: *++ff* *++enc* *++bin* *++nobin*
enc or encoding overrides 'fileencoding'
bin or binary sets 'binary'
nobin or nobinary resets 'binary'
bad specifies behavior for bad characters
{value} cannot contain white space. It can be any valid value for these
options. Examples: >
@@ -416,12 +418,24 @@ This edits the same file again with 'fileformat' set to "unix". >
:w ++enc=latin1 newfile
This writes the current buffer to "newfile" in latin1 format.
There may be several ++opt arguments, separated by white space. They must all
appear before any |+cmd| argument.
*++bad*
The argument of "++bad=" specifies what happens with characters that can't be
converted and illegal bytes. It can be one of three things:
++bad=X A single-byte character that replaces each bad character.
++bad=keep Keep bad characters without conversion. Note that this may
result in illegal bytes in your text!
++bad=drop Remove the bad characters.
The default is like "++bad=?": Replace each bad character with a question
mark.
Note that when reading, the 'fileformat' and 'fileencoding' options will be
set to the used format. When writing this doesn't happen, thus a next write
will use the old value of the option. Same for the 'binary' option.
There may be several ++opt arguments, separated by white space. They must all
appear before any |+cmd| argument.
*+cmd* *[+cmd]*
The [+cmd] argument can be used to position the cursor in the newly opened

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.0aa. Last change: 2005 Nov 20
*eval.txt* For Vim version 7.0aa. Last change: 2005 Dec 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1272,12 +1272,13 @@ v:fcs_choice What should happen after a |FileChangedShell| event was
Vim behaves like it is empty, there is no warning message.
*v:fname_in* *fname_in-variable*
v:fname_in The name of the input file. Only valid while evaluating:
v:fname_in The name of the input file. Valid while evaluating:
option used for ~
'charconvert' file to be converted
'diffexpr' original file
'patchexpr' original file
'printexpr' file to be printed
And set to the swap file name for |SwapExists|.
*v:fname_out* *fname_out-variable*
v:fname_out The name of the output file. Only valid while
@@ -1400,6 +1401,29 @@ v:shell_error Result of the last shell command. When non-zero, the last
*v:statusmsg* *statusmsg-variable*
v:statusmsg Last given status message. It's allowed to set this variable.
*v:swapname* *swapname-variable*
v:swapname Only valid when executing |SwapExists| autocommands: Name of
the swap file found. Read-only.
*v:swapchoice* *swapchoice-variable*
v:swapchoice |SwapExists| autocommands can set this to the selected choice
for handling an existing swap file:
'o' Open read-only
'e' Edit anyway
'r' Recover
'd' Delete swapfile
'q' Quit
'a' Abort
The value should be a single-character string. An empty value
results in the user being asked, as would happen when there is
no SwapExists autocommand. The default is empty.
*v:swapcommand* *swapcommand-variable*
v:swapcommand Normal mode ommand to be executed after a file has been
opened. Can be used for a |SwapExists| autocommand to have
another Vim open the file and jump to the right place. For
example, when jumping to a tag the value is ":tag tagname\r".
*v:termresponse* *termresponse-variable*
v:termresponse The escape sequence returned by the terminal for the |t_RV|
termcap entry. It is set when Vim receives an escape sequence
@@ -2176,6 +2200,14 @@ exists({expr}) The result is a Number, which is non-zero if {expr} is
literally and compared to the
autocommand patterns character by
character)
#group autocommand group exists
#group#event autocommand defined for this group and
event.
#group#event#pattern
autocommand defined for this group,
event and pattern.
##event autocommand for this event is
supported.
For checking for a supported feature use |has()|.
Examples: >
@@ -2185,8 +2217,12 @@ exists({expr}) The result is a Number, which is non-zero if {expr} is
exists("*s:MyFunc")
exists("bufcount")
exists(":Make")
exists("#CursorHold");
exists("#CursorHold")
exists("#BufReadPre#*.gz")
exists("#filetypeindent")
exists("#filetypeindent#FileType")
exists("#filetypeindent#FileType#*")
exists("##ColorScheme")
< There must be no space between the symbol (&/$/*/#) and the
name.
Note that the argument must be a string, not the name of the
@@ -3624,6 +3660,8 @@ remote_foreground({server}) *remote_foreground()*
< Except that on Win32 systems the client does the work, to work
around the problem that the OS doesn't always allow the server
to bring itself to the foreground.
Note: This does not restore the window if it was minimized,
like foreground() does.
This function is not available in the |sandbox|.
{only in the Win32, Athena, Motif and GTK GUI versions and the
Win32 console version}
@@ -4194,7 +4232,7 @@ strlen({expr}) The result is a Number, which is the length of the String
strpart({src}, {start}[, {len}]) *strpart()*
The result is a String, which is part of {src}, starting from
byte {start}, with the length {len}.
byte {start}, with the byte length {len}.
When non-existing bytes are included, this doesn't result in
an error, the bytes are simply omitted.
If {len} is missing, the copy continues from {start} till the
@@ -4584,7 +4622,7 @@ all_builtin_terms Compiled with all builtin terminals enabled.
amiga Amiga version of Vim.
arabic Compiled with Arabic support |Arabic|.
arp Compiled with ARP support (Amiga).
autocmd Compiled with autocommands support.
autocmd Compiled with autocommand support. |autocommand|
balloon_eval Compiled with |balloon-eval| support.
balloon_multiline GUI supports multiline balloons.
beos BeOS version of Vim.

View File

@@ -1,4 +1,4 @@
*gui_x11.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
*gui_x11.txt* For Vim version 7.0aa. Last change: 2005 Dec 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -437,59 +437,9 @@ command line argument).
==============================================================================
7. KDE version *gui-kde* *kde* *KDE* *KVim*
NOTE: The KDE version is still under development. It is not recommended for
daily work.
The KDE version of Vim works with KDE 2.x and KDE 3.x.
KVim (name code for gui-kde) does not use traditional X settings for its
configuration.
Most important difference is the font handling, KVim uses QFont to display the
text. To set your font use the following syntax :
>
:set guifont=Fixed\ [Misc]/10/-1/5/50/0/0/0/1/0
<
the '10' value is the font size, other settings concerns more specific Qt
options which you should not need to care with.
The suggested way to choose your font is through the font selection dialog
available with the command :
:set guifont=*
Note: X Font names are not supported any more, so if you use GVim too, you'll
have to set something like this in your ~/.gvimrc : >
if has("gui_kde")
:set guifont=Fixed\ [Misc]/10/-1/5/50/0/0/0/1/0
else if has("gui_gtk")
:set guifont=-misc-fixed-medium-r-normal-*-*-100-*-*-c-*-iso10646-1
endif
<
*antialias*
KVim uses antialias for its font, so that the text looks better, to disable
this you have to refer to Qt's documentation (export QT_XFT=0 for QT 2.x).
KDE provides some other features, like being able to move the menubar and the
toolbar wherever you want around the text area.
*kde-toolbar*
KVim can be used with a KDE-look toolbar instead of Vim's default toolbar. To
enable this feature you have to run the configure script with the
--enable-kde-toolbar switch. It may be moved to a runtime option in the
future.
*DCOP*
Since Vim 6.0, the new ClientServer feature has been added, it works fine in
KVim too. KVim also provides its own communication scheme based on DCOP. This
is mainly used by the |vimpart| but can freely be used by other applications
or manually through KDE's DCOP tools. The DCOP servername is synchronized with
the X11 servername so that it's easier to identify the same KVim through the
two communication systems.
*vimpart* *vim-kpart*
KVim developers are also working on a component to allow embedding of Vim into
KDE's applications. As of this writing, the component is working and can be
used in different KDE applications. New KDE applications should support it
soon. To get more information about this component, refer to
http://freehackers.org/kvim or to the KDE project.
There is no KDE version of Vim. There has been some work on a port using the
Qt toolkit, but it never worked properly and it has been abandoned. Work
continues on Yzis: www.yzis.org.
==============================================================================
8. Compiling *gui-x11-compiling*

View File

@@ -1,4 +1,4 @@
*help.txt* For Vim version 7.0aa. Last change: 2005 Sep 01
*help.txt* For Vim version 7.0aa. Last change: 2005 Nov 30
VIM - main help file
k
@@ -17,13 +17,13 @@ Get specific help: It is possible to go directly to whatever you want help
It is possible to further specify the context:
*help-context*
WHAT PREPEND EXAMPLE ~
Normal mode commands (nothing) :help x
Visual mode commands v_ :help v_u
Insert mode commands i_ :help i_<Esc>
Command-line commands : :help :quit
Normal mode command (nothing) :help x
Visual mode command v_ :help v_u
Insert mode command i_ :help i_<Esc>
Command-line command : :help :quit
Command-line editing c_ :help c_<Del>
Vim command arguments - :help -r
Options ' :help 'textwidth'
Vim command argument - :help -r
Option ' :help 'textwidth'
Search for help: Type ":help word", then hit CTRL-D to see matching
help entries for "word".
@@ -191,6 +191,13 @@ Standard plugins ~
|pi_expl.txt| File explorer
LOCAL ADDITIONS: *local-additions*
|cecutil.txt| DrChip's Utilities Jun 11, 2004
|engspchk.txt| English Spelling Checker (v61) Mar 14, 2005
|example.txt| Example for a locally added help file
|matchit.txt| Extended "%" matching
|test.txt| Testing the h<>lp c<>mm<6D>nd n<>w
|typecorr.txt| Plugin for correcting typing mistakes
|helpp.txt| Dummy line to avoid an error message
------------------------------------------------------------------------------
*bars* Bars example

View File

@@ -1,4 +1,4 @@
*index.txt* For Vim version 7.0aa. Last change: 2005 Sep 13
*index.txt* For Vim version 7.0aa. Last change: 2005 Dec 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -343,9 +343,9 @@ tag char note action in Normal mode ~
"yy"
|ZZ| ZZ store current file if modified, and exit
|ZQ| ZQ exit current file always
|[| [{char} square bracket command (see below)
|[| [{char} square bracket command (see |[| below)
\ not used
|]| ]{char} square bracket command (see below)
|]| ]{char} square bracket command (see |]| below)
|^| ^ 1 cursor to the first CHAR of the line
|_| _ 1 cursor to the first CHAR N - 1 lines lower
|`| `{a-zA-Z0-9} 1 cursor to the mark {a-zA-Z0-9}
@@ -373,7 +373,7 @@ tag char note action in Normal mode ~
|e| e 1 cursor forward to the end of word N
|f| f{char} 1 cursor to Nth occurrence of {char} to the
right
|g| g{char} extended commands, see below
|g| g{char} extended commands, see |g| below
|h| h 1 cursor N chars to the left
|i| i 2 insert text before the cursor N times
|j| j 1 cursor N lines downward
@@ -403,7 +403,7 @@ tag char note action in Normal mode ~
cursor [into buffer x]
|y| ["x]y{motion} yank Nmove text [into buffer x]
|yy| ["x]yy yank N lines [into buffer x]
|z| z{char} commands starting with 'z', see below
|z| z{char} commands starting with 'z', see |z| below
|{| { 1 cursor N paragraphs backward
|bar| | 1 cursor to column N
|}| } 1 cursor N paragraphs forward
@@ -736,6 +736,7 @@ tag char note action in Normal mode ~
|gu| gu{motion} 2 make Nmove text lowercase
|gv| gv reselect the previous Visual area
|gw| gw{motion} 2 format Nmove text and keep cursor
|g@| g@{motion} call 'operatorfunc'
|g~| g~{motion} 2 swap case for Nmove text
|g<Down>| g<Down> 1 same as "gj"
|g<End>| g<End> 1 same as "g$"
@@ -759,16 +760,19 @@ tag char note action in Normal mode ~
cursor on first non-blank
|z.| z. redraw, cursor line to center of window,
cursor on first non-blank
|z=| z= give spelling suggestions
|zA| zA open a closed fold or close an open fold
recursively
|zC| zC close folds recursively
|zD| zD delete folds recursively
|zE| zE eliminate all folds
|zF| zF create a fold for N lines
|zG| zG mark word as good spelled word
|zM| zM set 'foldlevel' to zero
|zN| zN set 'foldenable'
|zO| zO open folds recursively
|zR| zR set 'foldlevel' to the deepest fold
|zW| zW mark word as wrong (bad) spelled word
|zX| zX re-apply 'foldlevel'
|z^| z^ cursor on line N (default line above
window), otherwise like "z-"
@@ -780,6 +784,7 @@ tag char note action in Normal mode ~
position the cursor at the end (right side)
of the screen
|zf| zf{motion} create a fold for Nmove text
|zg| zg mark word as good spelled word
|zh| zh when 'wrap' off scroll screen N characters
to the right
|zi| zi toggle 'foldenable'
@@ -796,6 +801,7 @@ tag char note action in Normal mode ~
side) of the screen
|zt| zt redraw, cursor line at top of window
|zv| zv open enough folds to view the cursor line
|zw| zw mark word as wrong (bad) spelled word
|zx| zx re-apply 'foldlevel' and do "zv"
|zz| zz redraw, cursor line at center of window
|z<Left>| z<Left> same as "zh"
@@ -1250,6 +1256,7 @@ The commands are sorted on the non-optional part of their name.
|:nmenu| :nme[nu] add menu for Normal mode
|:nnoremap| :nn[oremap] like ":noremap" but for Normal mode
|:nnoremenu| :nnoreme[nu] like ":noremenu" but for Normal mode
|:noautocmd| :noa[utocmd] following command don't trigger autocommands
|:noremap| :no[remap] enter a mapping that will not be remapped
|:nohlsearch| :noh[lsearch] suspend 'hlsearch' highlighting
|:noreabbrev| :norea[bbrev] enter an abbreviation that will not be
@@ -1347,7 +1354,7 @@ The commands are sorted on the non-optional part of their name.
buffer list
|:scriptnames| :scrip[tnames] list names of all sourced Vim scripts
|:scriptencoding| :scripte[ncoding] encoding used in sourced Vim script
|:scscope| :scs[cope] split window and execute cscope command
|:scscope| :scs[cope] split window and execute cscope command
|:set| :se[t] show or set options
|:setfiletype| :setf[iletype] set 'filetype', unless it was set already
|:setglobal| :setg[lobal] show global values of options
@@ -1371,7 +1378,7 @@ The commands are sorted on the non-optional part of their name.
|:source| :so[urce] read Vim or Ex commands from a file
|:spelldump| :spelld[ump] split window and fill with all correct words
|:spellgood| :spe[llgood] add good word for spelling
|:spellrepall| :spellr[epall] replace all bad words like last |z?|
|:spellrepall| :spellr[epall] replace all bad words like last |z=|
|:spellwrong| :spellw[rong] add spelling mistake
|:split| :sp[lit] split current window
|:sprevious| :spr[evious] split window and go to previous file in the
@@ -1381,6 +1388,7 @@ The commands are sorted on the non-optional part of their name.
|:stop| :st[op] suspend the editor or escape to a shell
|:stag| :sta[g] split window and jump to a tag
|:startinsert| :star[tinsert] start Insert mode
|:startgreplace| :startg[replace] start Virtual Replace mode
|:startreplace| :startr[eplace] start Replace mode
|:stopinsert|| :stopi[nsert] stop Insert mode
|:stjump| :stj[ump] do ":tjump" and split window

View File

@@ -1,4 +1,4 @@
*insert.txt* For Vim version 7.0aa. Last change: 2005 Nov 22
*insert.txt* For Vim version 7.0aa. Last change: 2005 Dec 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -965,6 +965,8 @@ While the menu is displayed these keys have a special meaning:
<CR> and <Enter>: Accept the currently selected match
<Up>: Select the previous match, as if CTRL-P was used
<Down>: Select the next match, as if CTRL-N was used
<PageUp>: Select a match several entries back
<PageDown>: Select a match several entries further
The colors of the menu can be changed with these highlight groups:
Pmenu normal item |hl-Pmenu|
@@ -1040,9 +1042,9 @@ Note: When used first time completion menu will be shown with little delay
XML *ft-xml-omni*
Vim 7 provides mechanism to context aware completion of XML files. It depends
on special |xml-data-file| and two commands: |:XMLns| and |:XMLent|. Features
are:
Vim 7 provides mechanism to context aware completion of XML files. It depends
on special |xml-omni-datafile| and two commands: |:XMLns| and |:XMLent|.
Features are:
- after "<" complete tag name depending on context (no div suggest
inside of an a tag)
@@ -1050,7 +1052,7 @@ are:
a tag)
- when attribute has limited number of possible values help to complete
them
- complete names of entities (defined in |xml-data-file| and in current file
- complete names of entities (defined in |xml-omni-datafile| and in current file
with "<!ENTITY" declarations
- when used after "</" CTRL-X CTRL-O will close the last opened tag
@@ -1273,6 +1275,13 @@ NOTE: ":append" and ":insert" don't work properly in between ":if" and
the function or script is finished.
{not in Vi}
{not available when compiled without the +ex_extra
feature}
*:startgreplace*
:startg[replace][!] Just like |:startreplace|, but use Virtual Replace
mode, like with |gR|.
{not in Vi}
{not available when compiled without the +ex_extra
feature}
==============================================================================

View File

@@ -1,4 +1,4 @@
*map.txt* For Vim version 7.0aa. Last change: 2005 Oct 14
*map.txt* For Vim version 7.0aa. Last change: 2005 Dec 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -10,6 +10,17 @@ This subject is introduced in sections |05.3|, |24.7| and |40.1| of the user
manual.
1. Key mapping |key-mapping|
1.1 MAP COMMANDS |:map-commands|
1.2 Special arguments |:map-arguments|
1.3 Mapping and modes |:map-modes|
1.4 Listing mappings |map-listing|
1.5 Mapping special keys |:map-special-keys|
1.6 Special characters |:map-special-chars|
1.7 What keys to map |map-which-keys|
1.8 Examples |map-examples|
1.9 Using mappings |map-typing|
1.10 Mapping alt-keys |:map-alt-keys|
1.11 Mapping an operator |:map-operator|
2. Abbreviations |abbreviations|
3. Local mappings and functions |script-local|
4. User-defined commands |user-commands|
@@ -24,6 +35,9 @@ is to define a sequence commands for a function key. Example: >
This appends the current date and time after the cursor (in <> notation |<>|).
1.1 MAP COMMANDS *:map-commands*
There are commands to enter new mappings, remove mappings and list mappings.
See |map-overview| for the various forms of "map" and their relationships with
modes.
@@ -116,6 +130,21 @@ characters. You can use this to put command sequences under function keys,
translate one key into another, etc. See |:mkexrc| for how to save and
restore the current mappings.
*map-ambiguous*
When two mappings start with the same sequence of characters, they are
ambiguous. Example: >
:imap aa foo
:imap aaa bar
When Vim has read "aa", it will need to get another character to be able to
decide if "aa" or "aaa" should be mapped. This means that after typing "aa"
that mapping won't get expanded yet, Vim is waiting for another character.
If you type a space, then "foo" will get inserted, plus the space. If you
type "a", then "bar" will get inserted.
{Vi does not allow ambiguous mappings}
1.2 SPECIAL ARGUMENTS *:map-arguments*
*:map-local* *:map-<buffer>* *E224* *E225*
If the first argument to one of these commands is "<buffer>" it will apply to
mappings locally to the current buffer only. Example: >
@@ -167,7 +196,7 @@ Example of what will fail: >
They must appear right after the command, before any other arguments.
MAPPING AND MODES
1.3 MAPPING AND MODES *:map-modes*
There are five sets of mappings
- For Normal mode: When typing commands.
@@ -236,19 +265,9 @@ character as an argument to command like "f" or "t".
are only used for typed characters. This assumes that the language mapping
was already done when typing the mapping.
*map-multibyte*
It is possible to map multibyte characters, but only the whole character. You
cannot map the first byte only. This was done to prevent problems in this
scenario: >
:set encoding=latin1
:imap <M-C> foo
:set encoding=utf-8
The mapping for <M-C> is defined with the latin1 encoding, resulting in a 0xc3
byte. If you type the character <20> (0xea <M-a>) in UTF-8 encoding this is the
two bytes 0xc3 0xa1. You don't want the 0xc3 byte to be mapped then,
otherwise it would be impossible to type the <20> character.
*map-listing*
1.4 LISTING MAPPINGS *map-listing*
When listing mappings the characters in the first two columns are:
CHAR MODE ~
@@ -283,6 +302,48 @@ last defined. Example: >
See |:verbose-cmd| for more information.
1.5 MAPPING SPECIAL KEYS *:map-special-keys*
There are three ways to map a special key:
1. The Vi-compatible method: Map the key code. Often this is a sequence that
starts with <Esc>. To enter a mapping like this you type ":map " and then
you have to type CTRL-V before hitting the function key. Note that when
the key code for the key is in the termcap (the t_ options), it will
automatically be translated into the internal code and become the second
way of mapping (unless the 'k' flag is included in 'cpoptions').
2. The second method is to use the internal code for the function key. To
enter such a mapping type CTRL-K and then hit the function key, or use
the form "#1", "#2", .. "#9", "#0", "<Up>", "<S-Down>", "<S-F7>", etc.
(see table of keys |key-notation|, all keys from <Up> can be used). The
first ten function keys can be defined in two ways: Just the number, like
"#2", and with "<F>", like "<F2>". Both stand for function key 2. "#0"
refers to function key 10, defined with option 't_f10', which may be
function key zero on some keyboards. The <> form cannot be used when
'cpoptions' includes the '<' flag.
3. Use the termcap entry, with the form <t_xx>, where "xx" is the name of the
termcap entry. Any string entry can be used. For example: >
:map <t_F3> G
< Maps function key 13 to "G". This does not work if 'cpoptions' includes
the '<' flag.
The advantage of the second and third method is that the mapping will work on
different terminals without modification (the function key will be
translated into the same internal code or the actual key code, no matter what
terminal you are using. The termcap must be correct for this to work, and you
must use the same mappings).
DETAIL: Vim first checks if a sequence from the keyboard is mapped. If it
isn't the terminal key codes are tried (see |terminal-options|). If a
terminal code is found it is replaced with the internal code. Then the check
for a mapping is done again (so you can map an internal code to something
else). What is written into the script file depends on what is recognized.
If the terminal key code was recognized as a mapping the key code itself is
written to the script file. If it was recognized as a terminal code the
internal code is written to the script file.
1.6 SPECIAL CHARACTERS *:map-special-chars*
*map_backslash*
Note that only CTRL-V is mentioned here as a special character for mappings
and abbreviations. When 'cpoptions' does not contain 'B', a backslash can
@@ -294,18 +355,6 @@ To map a backslash, or use a backslash literally in the {rhs}, the special
sequence "<Bslash>" can be used. This avoids the need to double backslashes
when using nested mappings.
*map-ambiguous*
When two mappings start with the same sequence of characters, they are
ambiguous. Example: >
:imap aa foo
:imap aaa bar
When Vim has read "aa", it will need to get another character to be able to
decide if "aa" or "aaa" should be mapped. This means that after typing "aa"
that mapping won't get expanded yet, Vim is waiting for another character.
If you type a space, then "foo" will get inserted, plus the space. If you
type "a", then "bar" will get inserted.
{Vi does not allow ambiguous mappings}
*map_CTRL-C*
Using CTRL-C in the {lhs} is possible, but it will only work when Vim is
waiting for a key, not when Vim is busy with something. When Vim is busy
@@ -331,6 +380,18 @@ example, to make sure that function key 8 does nothing at all: >
:map <F8> <Nop>
:map! <F8> <Nop>
<
*map-multibyte*
It is possible to map multibyte characters, but only the whole character. You
cannot map the first byte only. This was done to prevent problems in this
scenario: >
:set encoding=latin1
:imap <M-C> foo
:set encoding=utf-8
The mapping for <M-C> is defined with the latin1 encoding, resulting in a 0xc3
byte. If you type the character <20> (0xea <M-a>) in UTF-8 encoding this is the
two bytes 0xc3 0xa1. You don't want the 0xc3 byte to be mapped then,
otherwise it would be impossible to type the <20> character.
*<Leader>* *mapleader*
To define a mapping which uses the "mapleader" variable, the special string
"<Leader>" can be used. It is replaced with the string value of "mapleader".
@@ -418,14 +479,16 @@ and CTRL-X is not mapped. This was done to be able to use all the named
registers and marks, even when the command with the same name has been
mapped.
*map-which-keys*
1.7 WHAT KEYS TO MAP *map-which-keys*
If you are going to map something, you will need to choose which key(s) to use
for the {lhs}. You will have to avoid keys that are used for Vim commands,
otherwise you would not be able to use those commands anymore. Here are a few
suggestions:
- Function keys <F2>, <F3>, etc.. Also the shifted function keys <S-F1>,
<S-F2>, etc. Note that <F1> is already used for the help command.
- Meta-keys (with the ALT key pressed).
- Meta-keys (with the ALT key pressed). |:map-alt-keys|
- Use the '_' or ',' character and then any other character. The "_" and ","
commands do exist in Vim (see |_| and |,|), but you probably never use them.
- Use a key that is a synonym for another command. For example: CTRL-P and
@@ -436,7 +499,9 @@ losing any builtin function. You can also use ":help {key}^D" to find out if
a key is used for some command. ({key} is the specific key you want to find
out about, ^D is CTRL-D).
*map-examples*
1.8 EXAMPLES *map-examples*
A few examples (given as you type them, for "<CR>" you type four characters;
the '<' flag must not be present in 'cpoptions' for this to work). >
@@ -445,7 +510,9 @@ the '<' flag must not be present in 'cpoptions' for this to work). >
:map _x d/END/e<CR>
:map! qq quadrillion questions
<
*map-typing*
1.9 USING MAPPINGS *map-typing*
Vim will compare what you type with the start of a mapped sequence. If there
is an incomplete match, it will get more characters until there either is a
complete match or until there is no match at all. Example: If you map! "qq",
@@ -458,14 +525,15 @@ you type slowly, or your system is slow, reset the 'timeout' option. Then you
might want to set the 'ttimeout' option.
*map-keys-fails*
There is one situation where key codes might not be recognized:
There are situations where key codes might not be recognized:
- Vim can only read part of the key code. Mostly this is only the first
character. This happens on some Unix versions in an xterm.
- The key code is after character(s) that are mapped. E.g., "<F1><F1>" or
"g<F1>".
The result is that the key code is not recognized in this situation, and the
mapping fails.
There are two actions needed to avoid this problem:
mapping fails. There are two actions needed to avoid this problem:
- Remove the 'K' flag from 'cpoptions'. This will make Vim wait for the rest
of the characters of the function key.
- When using <F1> to <F4> the actual key code generated may correspond to
@@ -481,6 +549,9 @@ special key: >
Don't type a real <Esc>, Vim will recognize the key code and replace it with
<F1> anyway.
Another problem may be that when keeping ALT or Meta pressed the terminal
prepends ESC instead of setting the 8th bit. See |:map-alt-keys|.
*recursive_mapping*
If you include the {lhs} in the {rhs} you have a recursive mapping. When
{lhs} is typed, it will be replaced with {rhs}. When the {lhs} which is
@@ -517,43 +588,104 @@ the original Vi, as long as there is only one undo command in the mapped
sequence (having two undo commands in a mapped sequence did not make sense
in the original Vi, you would get back the text before the first undo).
*:map-special-keys*
There are three ways to map a special key:
1. The Vi-compatible method: Map the key code. Often this is a sequence that
starts with <Esc>. To enter a mapping like this you type ":map " and then
you have to type CTRL-V before hitting the function key. Note that when
the key code for the key is in the termcap (the t_ options), it will
automatically be translated into the internal code and become the second
way of mapping (unless the 'k' flag is included in 'cpoptions').
2. The second method is to use the internal code for the function key. To
enter such a mapping type CTRL-K and then hit the function key, or use
the form "#1", "#2", .. "#9", "#0", "<Up>", "<S-Down>", "<S-F7>", etc.
(see table of keys |key-notation|, all keys from <Up> can be used). The
first ten function keys can be defined in two ways: Just the number, like
"#2", and with "<F>", like "<F2>". Both stand for function key 2. "#0"
refers to function key 10, defined with option 't_f10', which may be
function key zero on some keyboards. The <> form cannot be used when
'cpoptions' includes the '<' flag.
3. Use the termcap entry, with the form <t_xx>, where "xx" is the name of the
termcap entry. Any string entry can be used. For example: >
:map <t_F3> G
< Maps function key 13 to "G". This does not work if 'cpoptions' includes
the '<' flag.
The advantage of the second and third method is that the mapping will work on
different terminals without modification (the function key will be
translated into the same internal code or the actual key code, no matter what
terminal you are using. The termcap must be correct for this to work, and you
must use the same mappings).
1.10 MAPPING ALT-KEYS *:map-alt-keys*
DETAIL: Vim first checks if a sequence from the keyboard is mapped. If it
isn't the terminal key codes are tried (see |terminal-options|). If a
terminal code is found it is replaced with the internal code. Then the check
for a mapping is done again (so you can map an internal code to something
else). What is written into the script file depends on what is recognized.
If the terminal key code was recognized as a mapping the key code itself is
written to the script file. If it was recognized as a terminal code the
internal code is written to the script file.
In the GUI Vim handles the Alt key itself, thus mapping keys with ALT should
always work. But in a terminal Vim gets a sequence of bytes and has to figure
out whether ALT was pressed or not.
By default Vim assumes that pressing the ALT key sets the 8th bit of a typed
character. Most decent terminals can work that way, such as xterm, aterm and
rxvt. If your <A-k> mappings don't work it might be that the terminal is
prefixing the character with an ESC character. But you can just as well type
ESC before a character, thus Vim doesn't know what happened (except for
checking the delay between characters, which is not reliable).
As of this writing, some mainstream terminals like gnome-terminal and konsole
use the ESC prefix. There doesn't appear a way to have them use the 8th bit
instead. Xterm should work well by default. Aterm and rxvt should work well
when started with the "--meta8" argument. You can also tweak resources like
"metaSendsEscape", "eightBitInput" and "eightBitOutput".
On the Linux console, this behavior can be toggled with the "setmetamode"
command. Bear in mind that not using an ESC prefix could get you in trouble
with other programs. You should make sure that bash has the "convert-meta"
option set to "on" in order for your Meta keybindings to still work on it
(it's the default readline behavior, unless changed by specific system
configuration). For that, you can add the line: >
set convert-meta on
to your ~/.inputrc file. If you're creating the file, you might want to use: >
$include /etc/inputrc
as the first line, if that file exists on your system, to keep global options.
This may cause a problem for entering special characters, such as the umlaut.
Then you should use CTRL-V before that character.
Bear in mind that convert-meta has been reported to have troubles when used in
UTF-8 locales. On terminals like xterm, the "metaSendsEscape" resource can be
toggled on the fly through the "Main Options" menu, by pressing Ctrl-LeftClick
on the terminal; that's a good last resource in case you want to send ESC when
using other applications but not when inside VIM.
1.11 MAPPING AN OPERATOR *:map-operator*
An operator is used before a {motion} command. To define your own operator
you must create mapping that first sets the 'operatorfunc' option and then
invoke the |g@| operator. After the user types the {motion} command the
specified function will be called.
*g@*
g@{motion} Call the function set by the 'operatorfunc' option.
The '[ mark is positioned at the start of the text
moved over by {motion}, the '] mark on the last
character of the text.
The function is called with one String argument:
"line" {motion} was |linewise|
"char" {motion} was |characterwise|
"block" {motion} was |blockwise-visual||
Although "block" would rarely appear, since it can
only result from Visual mode where "g@" is not useful.
{not available when compiled without the +eval
feature}
Here is an example that counts the number of spaces with <F4>: >
nmap <silent> <F4> :set opfunc=CountSpaces<CR>g@
vmap <silent> <F4> :<C-U>call CountSpaces(visualmode(), 1)<CR>
function! CountSpaces(type, ...)
let sel_save = &selection
let &selection = "inclusive"
let reg_save = @@
if a:0 " Invoked from Visual mode, use '< and '> marks.
silent exe "normal! `<" . a:type . "`>y"
elseif a:type == 'line'
silent exe "normal! '[V']y"
elseif a:type == 'block'
silent exe "normal! `[\<C-V>`]y"
else
silent exe "normal! `[v`]y"
endif
echomsg strlen(substitute(@@, '[^ ]', '', 'g'))
let &selection = sel_save
let @@ = reg_save
endfunction
Note that the 'selection' option is temporarily set to "inclusive" to be able
to yank exactly the right text by using Visual mode from the '[ to the ']
mark.
Also note that there is a separate mapping for Visual mode. It removes the
"'<,'>" range that ":" inserts in Visual mode and invokes the function with
visualmode() and an extra argument.
==============================================================================
2. Abbreviations *abbreviations* *Abbreviations*

View File

@@ -1,4 +1,4 @@
*motion.txt* For Vim version 7.0aa. Last change: 2005 Sep 14
*motion.txt* For Vim version 7.0aa. Last change: 2005 Dec 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -57,6 +57,7 @@ or change text. The following operators are available:
|>| > shift right
|<| < shift left
|zf| zf define a fold
|g@| g@ call function set with the 'operatorfunc' option
If the motion includes a count and the operator also had a count before it,
the two counts are multiplied. For example: "2d3w" deletes six words.
@@ -973,7 +974,7 @@ These commands are not marks themselves, but jump to a mark:
position. E.g., when updating a "Last change"
timestamp in the first line: >
:let lnum = getline(".")
:let lnum = line(".")
:keepjumps normal gg
:call SetLastChange()
:keepjumps exe "normal " . lnum . "G"

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 7.0aa. Last change: 2005 Nov 23
*options.txt* For Vim version 7.0aa. Last change: 2005 Dec 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1436,6 +1436,7 @@ A jump table for the options with a short description can be found at |Q_op|.
to use the size for the GUI, put the command in your |gvimrc| file.
When you set this option and Vim is unable to change the physical
number of columns of the display, the display may be messed up.
Mimimum value is 12, maximum value is 10000.
*'comments'* *'com'* *E524* *E525*
'comments' 'com' string (default
@@ -1818,7 +1819,7 @@ A jump table for the options with a short description can be found at |Q_op|.
F When included, a ":write" command with a file name
argument will set the file name for the current
buffer, if the current buffer doesn't have a file name
yet.
yet. Also see |cpo-P|.
*cpo-g*
g Goto line 1 when using ":edit" without argument.
*cpo-H*
@@ -1887,6 +1888,11 @@ A jump table for the options with a short description can be found at |Q_op|.
*cpo-p*
p Vi compatible Lisp indenting. When not present, a
slightly better algorithm is used.
*cpo-P*
P When included, a ":write" command that appends to a
file will set the file name for the current buffer, if
the current buffer doesn't have a file name yet and
the 'F' flag is also included |cpo-F|.
*cpo-q*
q When joining multiple lines leave the cursor at the
position where it would be when joining two lines.
@@ -2539,7 +2545,9 @@ A jump table for the options with a short description can be found at |Q_op|.
'encoding' is "utf-8" (or one of the other Unicode variants)
conversion is most likely done in a way that the reverse
conversion results in the same text. When 'encoding' is not
"utf-8" special characters may be lost!
"utf-8" some non-ASCII characters may be lost! You can use
the |++bad| argument to specify what is done with characters
that can't be converted.
For an empty file or a file with only ASCII characters most encodings
will work and the first entry of 'fileencodings' will be used (except
"ucs-bom", which requires the BOM to be present). If you prefer
@@ -2549,7 +2557,9 @@ A jump table for the options with a short description can be found at |Q_op|.
\ set fenc=iso-2022-jp | endif
< This sets 'fileencoding' to "iso-2022-jp" if the file does not contain
non-blank characters.
Note that 'fileencodings' is not used for an new file, 'fileencoding'
When the |++enc| argument is used then the value of 'fileencodings' is
not used.
Note that 'fileencodings' is not used for a new file, 'fileencoding'
is always empty then. This means that a non-existing file may get a
different encoding than an empty file.
The special value "ucs-bom" can be used to check for a Unicode BOM
@@ -4091,7 +4101,8 @@ A jump table for the options with a short description can be found at |Q_op|.
Vim limits the number of lines to what fits on the screen. You can
use this command to get the tallest window possible: >
:set lines=999
< If you get less lines than expected, check the 'guiheadroom' option.
< Minimum value is 2, maximum value is 1000.
If you get less lines than expected, check the 'guiheadroom' option.
When you set this option and Vim is unable to change the physical
number of lines of the display, the display may be messed up.
@@ -4639,6 +4650,17 @@ A jump table for the options with a short description can be found at |Q_op|.
For the use of the function see 'completefunc'.
*'operatorfunc'* *'opfunc'*
'operatorfunc' 'opfunc' string (default: empty)
global
{not in Vi}
This option specifies a function to be called by the |g@| operator.
See |:map-operator| for more info and an example.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'osfiletype'* *'oft'* *E366*
'osfiletype' 'oft' string (RISC-OS default: "Text",
others default: "")
@@ -5866,7 +5888,7 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
{not available when compiled without the |+syntax|
feature}
Methods used for spelling suggestions. Both for the |z?| command and
Methods used for spelling suggestions. Both for the |z=| command and
the |spellsuggest()| function. This is a comma-separated list of
items:
@@ -5885,7 +5907,7 @@ A jump table for the options with a short description can be found at |Q_op|.
character inserts/deletes/swaps. Works well for
simple typing mistakes.
{number} The maximum number of suggestions listed for |z?|.
{number} The maximum number of suggestions listed for |z=|.
Not used for |spellsuggest()|. The number of
suggestions is never more than the value of 'lines'
minus two.
@@ -5907,7 +5929,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Lists, each with a suggestion and a score.
Example:
[['the', 33], ['that', 44]]
Set 'verbose' and use |z?| to see the scores that the
Set 'verbose' and use |z=| to see the scores that the
internal methods use. A lower score is better.
This may invoke |spellsuggest()| if you temporarily
set 'spellsuggest' to exclude the "expr:" part.

View File

@@ -1,8 +1,8 @@
*pi_netrw.txt* For Vim version 7.0. Last change: Aug 31, 2005
*pi_netrw.txt* For Vim version 7.0. Last change: Nov 28, 2005
VIM REFERENCE MANUAL by Charles E. Campbell, Jr.
*dav* *http* *network* *rcp* *scp*
*fetch* *netrw* *Nread* *rsync* *sftp*
*ftp* *netrw.vim* *Nwrite* *netrw-file*
@@ -25,7 +25,7 @@
4. Transparent File Transfer............................|netrw-transparent|
5. Ex Commands..........................................|netrw-ex|
6. Variables and Options................................|netrw-var|
7. Directory Browser....................................|netrw-browse| {{{1
7. Directory Browsing...................................|netrw-browse| {{{1
Maps...............................................|netrw-maps|
Exploring..........................................|netrw-explore-cmds|
Quick Reference Commands Table.....................|netrw-browse-cmds|
@@ -194,8 +194,8 @@ file using root-relative paths, use the full path:
2. Network-Oriented File Transfer *netrw-xfer*
Network-oriented file transfer under Vim is implemented by a VimL-based script
(<netrw.vim>) using plugin techniques. It currently supports both reading
and writing across networks using rcp, scp, ftp or ftp+<.netrc>, scp, fetch,
(<netrw.vim>) using plugin techniques. It currently supports both reading and
writing across networks using rcp, scp, ftp or ftp+<.netrc>, scp, fetch,
dav/cadaver, rsync, or sftp.
http is currently supported read-only via use of wget or fetch.
@@ -206,24 +206,23 @@ FileReadCmd, BufWriteCmd) to intercept reads/writes with url-like filenames. >
ex. vim ftp://hostname/path/to/file
<
The characters preceding the colon specify the protocol to use;
in the example, its ftp. The <netrw.vim> script then formulates
a command or a series of commands (typically ftp) which it issues
to an external program (ftp, scp, etc) which does the actual file
transfer/protocol. Files are read from/written to a temporary file
(under Unix/Linux, /tmp/...) which the <netrw.vim> script will
clean up.
The characters preceding the colon specify the protocol to use; in the
example, its ftp. The <netrw.vim> script then formulates a command or a
series of commands (typically ftp) which it issues to an external program
(ftp, scp, etc) which does the actual file transfer/protocol. Files are read
from/written to a temporary file (under Unix/Linux, /tmp/...) which the
<netrw.vim> script will clean up.
One may modify any protocol's implementing external application
by setting a variable (ex. scp uses the variable g:netrw_scp_cmd,
which is defaulted to "scp -q").
One may modify any protocol's implementing external application by setting a
variable (ex. scp uses the variable g:netrw_scp_cmd, which is defaulted to
"scp -q").
Ftp, an old protocol, seems to be blessed by numerous implementations.
Unfortunately, some implementations are noisy (ie., add junk to the end
of the file). Thus, concerned users may decide to write a NetReadFixup()
function that will clean up after reading with their ftp. Some Unix systems
(ie., FreeBSD) provide a utility called "fetch" which uses the ftp protocol
but is not noisy and more convenient, actually, for <netrw.vim> to use.
Unfortunately, some implementations are noisy (ie., add junk to the end of the
file). Thus, concerned users may decide to write a NetReadFixup() function
that will clean up after reading with their ftp. Some Unix systems (ie.,
FreeBSD) provide a utility called "fetch" which uses the ftp protocol but is
not noisy and more convenient, actually, for <netrw.vim> to use.
Consequently, if "fetch" is executable, it will be used to do reads for
ftp://... (and http://...) . See |netrw-var| for more about this.
@@ -332,8 +331,9 @@ The script attempts to get passwords for ftp invisibly using |inputsecret()|,
a built-in Vim function. See |netrw-uidpass| for how to change the password
after one has set it.
Unfortunately there doesn't appear to be a way for netrw to feed a password
to scp. Thus every transfer via scp will require re-entry of the password.
Unfortunately there doesn't appear to be a way for netrw to feed a password to
scp. Thus every transfer via scp will require re-entry of the password.
However, |netrw-listhack| can help with this problem.
==============================================================================
@@ -341,21 +341,28 @@ to scp. Thus every transfer via scp will require re-entry of the password.
Network-oriented file transfers are available by default whenever
|'nocompatible'| mode is enabled. The <netrw.vim> file resides in your
system's vim-plugin directory and is sourced automatically whenever you
bring up vim.
system's vim-plugin directory and is sourced automatically whenever you bring
up vim. I suggest that, at a minimum, you have at least the following in your
<.vimrc> customization file: >
set nocp
if version >= 600
filetype plugin indent on
endif
<
==============================================================================
4. Transparent File Transfer *netrw-transparent*
Transparent file transfers occur whenever a regular file read or write
(invoked via an |:autocmd| for |BufReadCmd| or |BufWriteCmd| events) is made.
Thus one may use files across networks as if they were local. >
Thus one may use files across networks just as simply as if they were local. >
vim ftp://[user@]machine/path
...
:wq
See |netrw-activate| for more on how to encourage your vim to use plugins
such as netrw.
==============================================================================
5. Ex Commands *netrw-ex*
@@ -369,8 +376,7 @@ additional commands available.
:[range]Nw {netfile} [{netfile}]...
Write the specified lines to the {netfile}.
:Nread
Read the specified lines into the current
:Nread Read the specified lines into the current
buffer from the file specified in
b:netrw_lastfile.
@@ -401,10 +407,11 @@ additional commands available.
The script <netrw.vim> uses several variables which can affect <netrw.vim>'s
behavior. These variables typically may be set in the user's <.vimrc> file:
>
-------------
Netrw Options
-------------
(also see |netrw-settings|) >
-------------
Netrw Options
-------------
Option Meaning
-------------- -----------------------------------------------
<
@@ -481,12 +488,12 @@ variables listed below, and may be modified by the user.
-------------------------------------------------------------------------
<
*netrw-ftp*
The first two options both help with certain ftp's that give trouble otherwise.
In order to best understand how to use these options if ftp is giving you
troubles, a bit of discussion follows on how netrw does ftp reads.
The first two options both help with certain ftp's that give trouble
otherwise. In order to best understand how to use these options if ftp is
giving you troubles, a bit of discussion follows on how netrw does ftp reads.
The g:netrw_..._cmd variables specify the external program to use handle
the associated protocol (rcp, ftp, etc), plus any options.
The g:netrw_..._cmd variables specify the external program to use handle the
associated protocol (rcp, ftp, etc), plus any options.
The g:netrw_list_cmd's HOSTNAME entry will be changed via substitution with
whatever the current request is for a hostname.
@@ -519,8 +526,8 @@ userid and password. The transferred file is put into a temporary file.
The temporary file is then read into the main editing session window that
requested it and the temporary file deleted.
If your ftp doesn't accept the "user" command and immediately just demands
a userid, then try putting "let netrw_ftp=1" in your <.vimrc>.
If your ftp doesn't accept the "user" command and immediately just demands a
userid, then try putting "let netrw_ftp=1" in your <.vimrc>.
*netrw-cadaver*
To handle the SSL certificate dialog for untrusted servers, one may pull
@@ -547,12 +554,12 @@ messages) you may write a NetReadFixup(tmpfile) function:
endif
endfunction
>
The NetReadFixup() function will be called if it exists and thus allows
you to customize your reading process. As a further example, <netrw.vim>
contains just such a function to handle Windows 95 ftp. For whatever
reason, Windows 95's ftp dumps four blank lines at the end of a transfer,
and so it is desirable to automate their removal. Here's some code taken
from <netrw.vim> itself:
The NetReadFixup() function will be called if it exists and thus allows you to
customize your reading process. As a further example, <netrw.vim> contains
just such a function to handle Windows 95 ftp. For whatever reason, Windows
95's ftp dumps four blank lines at the end of a transfer, and so it is
desirable to automate their removal. Here's some code taken from <netrw.vim>
itself:
>
if has("win95") && g:netrw_win95ftp
fun! NetReadFixup(method, line1, line2)
@@ -565,7 +572,7 @@ from <netrw.vim> itself:
>
==============================================================================
7. Directory Browser *netrw-browse* *netrw-dir* *netrw-list* *netrw-help*
7. Directory Browsing *netrw-browse* *netrw-dir* *netrw-list* *netrw-help*
MAPS *netrw-maps*
?................Help.......................................|netrw-help|
@@ -656,12 +663,13 @@ NETRW BROWSER VARIABLES *netrw-browse-var*
: connect to address [0-9a-fA-F:]*
: No route to host$'
*g:netrw_ssh_browse_reject* ssh can sometimes produce unwanted lines,
messages, banners, and whatnot that one doesn't
want masquerading as "directories" and "files".
Use this pattern to remove such embedded
messages. By default its value is:
'^total\s\+\d\+$'
*g:netrw_ftp_list_cmd* options for passing along to ftp for directory
listing. Defaults:
unix or g:netrw_cygwin set: : "ls -lF"
otherwise "dir"
*g:netrw_hide* if true, the hiding list is used
default: =0
*g:netrw_keepdir* =1 (default) keep current directory immune from
the browsing directory.
@@ -676,16 +684,11 @@ NETRW BROWSER VARIABLES *netrw-browse-var*
*g:netrw_longlist* if =1, then long listing will be default
*g:netrw_ftp_list_cmd* options for passing along to ftp for directory
listing. Defaults:
unix or g:netrw_cygwin set: : "ls -lF"
otherwise "dir"
*g:netrw_list_hide* comma separated pattern list for hiding files
default: ""
*g:netrw_local_mkdir* command for making a local directory
default: "ssh HOSTNAME mkdir"
default: "mkdir"
*g:netrw_local_rmdir* remove directory command (rmdir)
default: "rmdir"
@@ -709,9 +712,6 @@ NETRW BROWSER VARIABLES *netrw-browse-var*
*g:netrw_rmf_cmd* command for removing softlinks
default: "ssh HOSTNAME rm -f"
*g:netrw_hide* if true, the hiding list is used
default: =0
*g:netrw_sort_by* sort by "name", "time", or "size"
default: "name"
@@ -723,6 +723,18 @@ NETRW BROWSER VARIABLES *netrw-browse-var*
default: '[\/]$,*,\.bak$,\.o$,\.h$,
\.info$,\.swp$,\.obj$'
*g:netrw_ssh_cmd* One may specify an executable command
to use instead of ssh for remote actions
such as listing, file removal, etc.
default: ssh
*g:netrw_ssh_browse_reject* ssh can sometimes produce unwanted lines,
messages, banners, and whatnot that one doesn't
want masquerading as "directories" and "files".
Use this pattern to remove such embedded
messages. By default its value is:
'^total\s\+\d\+$'
*g:netrw_timefmt* specify format string to strftime() (%c)
default: "%c"
@@ -732,7 +744,7 @@ NETRW BROWSER VARIABLES *netrw-browse-var*
INTRODUCTION TO DIRECTORY BROWSING *netrw-browse-intro*
Netrw supports the browsing of directories on the local system and on remote
hosts, including generating listing directories, entering directories, editing
hosts, including listing files and directories, entering directories, editing
files therein, deleting files/directories, making new directories, and moving
(renaming) files and directories. The Netrw browser generally implements the
previous explorer maps and commands for remote directories, although details
@@ -743,13 +755,15 @@ ftp. The protocol in the url, if it is ftp, will cause netrw to use ftp
in its remote browsing. Any other protocol will be used for file transfers,
but otherwise the ssh protocol will be used to do remote directory browsing.
To enter the netrw directory browser, simply attempt to read a "file" with a
To use Netrw's remote directory browser, simply attempt to read a "file" with a
trailing slash and it will be interpreted as a request to list a directory:
vim [protocol]://[user@]hostname/path/
If you'd like to avoid entering the password in for directory listings, scp,
ssh interaction, etc, see |netrw-listhack|.
For local directories, the trailing slash is not required.
If you'd like to avoid entering the password in for remote directory listings
with ssh or scp, see |netrw-listhack|.
*netrw-explore* *netrw-pexplore*
*netrw-hexplore* *netrw-sexplore*
@@ -783,7 +797,8 @@ By default, these commands use the current file's directory. However, one
may explicitly provide a directory (path) to use.
(Following needs v7.0 or later) *netrw-starstar*
When Explore, Sexplore, Hexplore, or Vexplore are used like
When Explore, Sexplore, Hexplore, or Vexplore are used with a **,
such as:
>
:Explore **/filename_pattern
<
@@ -797,7 +812,8 @@ The directory display is updated to show the subdirectory containing a
matching file. One may then proceed to the next (or previous) matching files'
directories by using Nexplore or Pexplore, respectively. If your console or
gui produces recognizable shift-up or shift-down sequences, then you'll likely
find the following mappings convenient:
find using shift-downarrow and shift-uparrow convenient. They're mapped by
netrw:
<s-down> == Nexplore, and
<s-up> == Pexplore.
@@ -822,11 +838,12 @@ refresh a local directory by using ":e .".
GOING UP *netrw--*
To go up a directory, press - or his the <cr> when atop the ../ directory
To go up a directory, press "-" or press the <cr> when atop the ../ directory
entry in the listing.
Netrw will modify the command in |g:netrw_list_cmd| to perform the directory
listing operation. By default the command is:
Netrw will use the command in |g:netrw_list_cmd| to perform the directory
listing operation after changing HOSTNAME to the host specified by the
user-provided url. By default netrw provides the command as:
ssh HOSTNAME ls -FLa
@@ -841,7 +858,13 @@ BROWSING *netrw-cr*
Browsing is simple: move the cursor onto a file or directory of interest.
Hitting the <cr> (the return key) will select the file or directory.
Directories will themselves be listed, and files will be opened using the
protocol given in the original read request.
protocol given in the original read request.
CAVEAT: There are three forms of listing (see |netrw-i|). Netrw assumes
that two or more spaces delimit filenames and directory names for the long
and wide listing formats. Thus, if your filename or directory name has two
or more spaces embedded in it, or any trailing spaces, then you'll need to
use the "thin" format to select it.
OBTAINING A FILE *netrw-O*
@@ -849,7 +872,21 @@ OBTAINING A FILE *netrw-O*
When browsing a remote directory, one may obtain a file under the cursor (ie.
get a copy on your local machine, but not edit it) by pressing the O key.
Only ftp and scp are supported for this operation (but since these two are
available for browsing, that shouldn't be a problem).
available for browsing, that shouldn't be a problem). The status bar
will then show, on its right hand side, a message like "Obtaining filename".
The statusline will be restored after the transfer is complete.
Netrw can also "obtain" a file using the local browser. Netrw's display
of a directory is not necessarily the same as Vim's "current directory",
unless |g:netrw_keepdir| is set to 0 in the user's <.vimrc>. One may select
a file using the local browser (by putting the cursor on it) and pressing
"O" will then "obtain" the file; ie. copy it to Vim's current directory.
Related topics:
* To see what the current directory is, use |:pwd|
* To make the currently browsed directory the current directory, see |netrw-c|
* To automatically make the currently browsed directory the current
directory, see |g:netrw_keepdir|.
THIN, LONG, AND WIDE LISTINGS *netrw-i*
@@ -859,21 +896,27 @@ The "i" map cycles between the thin, long, and wide listing formats.
The short listing format gives just the files' and directories' names.
The long listing is either based on the "ls" command via ssh for remote
directories or displays the filename, file size (in bytes), and the
time and date of last modification for local directories.
directories or displays the filename, file size (in bytes), and the time and
date of last modification for local directories. With the long listing
format, netrw is not able to recognize filenames which have trailing spaces.
Use the thin listing format for such files.
The wide listing format has a multi-column display of the various
files in the netrw current directory, rather like the Unix "ls" presents.
In this mode the "b" and "B" maps are not available; instead, use
Nb (|netrw-Nb|) and NB (|netrw-NB|).
The wide listing format has a multi-column display of the various files in the
netrw current directory, rather like the Unix "ls" presents. In this mode the
"b" and "B" maps are not available; instead, use Nb (|netrw-Nb|) and NB
(|netrw-NB|). The wide listing format uses two or more contiguous spaces to
delineate filenames; when using that format, netrw won't be able to recognize
or use filenames which have two or more contiguous spaces embedded in the name
or any trailing spaces. The thin listing format will, however, work with such
files.
MAKING A NEW DIRECTORY *netrw-d*
With the "d" map one may make a new directory either remotely (which
depends on the global variable g:netrw_mkdir_cmd) or locally (which depends on
the global variable g:netrw_local_mkdir). Netrw will issue a request for the
new directory's name. A bare <CR> at that point will abort the making of the
With the "d" map one may make a new directory either remotely (which depends
on the global variable g:netrw_mkdir_cmd) or locally (which depends on the
global variable g:netrw_local_mkdir). Netrw will issue a request for the new
directory's name. A bare <CR> at that point will abort the making of the
directory. Attempts to make a local directory that already exists (as either
a file or a directory) will be detected, reported on, and ignored.
@@ -881,12 +924,12 @@ a file or a directory) will be detected, reported on, and ignored.
DELETING FILES OR DIRECTORIES *netrw-delete* *netrw-D*
Deleting/removing files and directories involves moving the cursor to the
file/directory to be deleted and pressing "D". Directories must be empty first
before they can be successfully removed. If the directory is a softlink to a
directory, then netrw will make two requests to remove the directory before
succeeding. Netrw will ask for confirmation before doing the removal(s).
You may select a range of lines with the "V" command (visual selection),
and then pressing "D".
file/directory to be deleted and pressing "D". Directories must be empty
first before they can be successfully removed. If the directory is a softlink
to a directory, then netrw will make two requests to remove the directory
before succeeding. Netrw will ask for confirmation before doing the
removal(s). You may select a range of lines with the "V" command (visual
selection), and then pressing "D".
The g:netrw_rm_cmd, g:netrw_rmf_cmd, and g:netrw_rmdir_cmd variables are used
to control the attempts to remove files and directories. The g:netrw_rm_cmd
@@ -923,17 +966,17 @@ the V (|linewise-visual|).
HIDING FILES OR DIRECTORIES *netrw-a*
Netrw's browsing facility allows one to use the hiding list in one of
three ways: ignore it, hide files which match, and show only those files
which match. The "a" map allows the user to cycle about these three ways.
Netrw's browsing facility allows one to use the hiding list in one of three
ways: ignore it, hide files which match, and show only those files which
match. The "a" map allows the user to cycle about these three ways.
The g:netrw_list_hide variable holds a comma delimited list of patterns
(ex. \.obj) which specify the hiding list. (also see |netrw-h|) To
set the hiding list, use the <c-h> map. As an example, to hide files
which begin with a ".", one may use the <c-h> map to set the hiding
list to '^\..*' (or one may put let g:netrw_list_hide= '^\..*' in
one's <.vimrc>). One may then use the "a" key to show all files,
hide matching files, or to show only the matching files.
The g:netrw_list_hide variable holds a comma delimited list of patterns (ex.
\.obj) which specify the hiding list. (also see |netrw-h|) To set the hiding
list, use the <c-h> map. As an example, to hide files which begin with a ".",
one may use the <c-h> map to set the hiding list to '^\..*' (or one may put
let g:netrw_list_hide= '^\..*' in one's <.vimrc>). One may then use the "a"
key to show all files, hide matching files, or to show only the matching
files.
EDIT FILE OR DIRECTORY HIDING LIST *netrw-h* *netrw-edithide*
@@ -941,7 +984,8 @@ EDIT FILE OR DIRECTORY HIDING LIST *netrw-h* *netrw-edithide*
The "<ctrl-h>" map brings up a requestor allowing the user to change the
file/directory hiding list. The hiding list consists of one or more patterns
delimited by commas. Files and/or directories satisfying these patterns will
either be hidden (ie. not shown) or be the only ones displayed (see |netrw-a|).
either be hidden (ie. not shown) or be the only ones displayed (see
|netrw-a|).
BROWSING WITH A HORIZONTALLY SPLIT WINDOW *netrw-o* *netrw-horiz*
@@ -950,9 +994,9 @@ Normally one enters a file or directory using the <cr>. However, the "o" map
allows one to open a new window to hold the new directory listing or file. A
horizontal split is used. (for vertical splitting, see |netrw-v|)
Normally, the o key splits the window horizontally with the new window
and cursor at the top. To change to splitting the window horizontally
with the new window and cursor at the bottom, have
Normally, the o key splits the window horizontally with the new window and
cursor at the top. To change to splitting the window horizontally with the
new window and cursor at the bottom, have
let g:netrw_alto = 1
@@ -961,30 +1005,30 @@ in your <.vimrc>.
PREVIEW WINDOW *netrw-p* *netrw-preview*
One may use a preview window (currently only for local browsing) by using
the "p" key when the cursor is atop the desired filename to be previewed.
One may use a preview window (currently only for local browsing) by using the
"p" key when the cursor is atop the desired filename to be previewed.
SELECTING SORTING STYLE *netrw-s* *netrw-sort*
One may select the sorting style by name, time, or (file) size. The
"s" map allows one to circulate amongst the three choices; the directory
listing will automatically be refreshed to reflect the selected style.
One may select the sorting style by name, time, or (file) size. The "s" map
allows one to circulate amongst the three choices; the directory listing will
automatically be refreshed to reflect the selected style.
EDITING THE SORTING SEQUENCE *netrw-S* *netrw-sortsequence*
When "Sorted by" is name, one may specify priority via the sorting
sequence (g:netrw_sort_sequence). The sorting sequence typically
prioritizes the name-listing by suffix, although any pattern will do.
Patterns are delimited by commas. The default sorting sequence is:
When "Sorted by" is name, one may specify priority via the sorting sequence
(g:netrw_sort_sequence). The sorting sequence typically prioritizes the
name-listing by suffix, although any pattern will do. Patterns are delimited
by commas. The default sorting sequence is:
>
[\/]$,*,\.bak$,\.o$,\.h$,\.info$,\.swp$,\.obj$
<
The lone * is where all filenames not covered by one of the other
patterns will end up. One may change the sorting sequence by modifying
the g:netrw_sort_sequence variable (either manually or in your <.vimrc>)
or by using the "S" map.
The lone * is where all filenames not covered by one of the other patterns
will end up. One may change the sorting sequence by modifying the
g:netrw_sort_sequence variable (either manually or in your <.vimrc>) or by
using the "S" map.
REVERSING SORTING ORDER *netrw-r* *netrw-reverse*
@@ -1011,13 +1055,13 @@ q map to list both the bookmarks and history. (see |netrw-q|)
BROWSING WITH A VERTICALLY SPLIT WINDOW *netrw-v*
Normally one enters a file or directory using the <cr>. However, the "v"
map allows one to open a new window to hold the new directory listing or
file. A vertical split is used. (for horizontal splitting, see |netrw-o|)
Normally one enters a file or directory using the <cr>. However, the "v" map
allows one to open a new window to hold the new directory listing or file. A
vertical split is used. (for horizontal splitting, see |netrw-o|)
Normally, the v key splits the window vertically with the new window
and cursor at the left. To change to splitting the window vertically
with the new window and cursor at the right, have
Normally, the v key splits the window vertically with the new window and
cursor at the left. To change to splitting the window vertically with the new
window and cursor at the right, have
let g:netrw_altv = 1
@@ -1033,24 +1077,24 @@ handler varies:
* for Windows 32 or 64, the url and FileProtocolHandler dlls are used.
* for KDE (with kfmclient): kfmclient is used.
* for Gnome (with gnome-open): gnome-open is used.
* otherwise the NetrwFileHandler plugin is used.
* otherwise the netrwFileHandler plugin is used.
The file's suffix is used by these various approaches to determine an
appropriate application to use to "handle" these files. Such things
as OpenOffice (*.sfx), visualization (*.jpg, *.gif, etc), and PostScript
(*.ps, *.eps) can be handled.
appropriate application to use to "handle" these files. Such things as
OpenOffice (*.sfx), visualization (*.jpg, *.gif, etc), and PostScript (*.ps,
*.eps) can be handled.
The NetrwFileHandler applies a user-defined function to a file, based on its
The netrwFileHandler applies a user-defined function to a file, based on its
extension. Of course, the handler function must exist for it to be called!
>
Ex. mypgm.html x ->
NetrwFileHandler_html("scp://user@host/some/path/mypgm.html")
netrwFileHandler_html("scp://user@host/some/path/mypgm.html")
<
See the <plugin/NetrwFileHandlers.vim> for an example of how to handle an html
See the <plugin/netrwFileHandlers.vim> for an example of how to handle an html
file with mozilla.
One may write custom NetrwFileHandlers; please look at the
plugin/NetrwFileHandlers.vim script for examples. If its likely to be
One may write custom netrwFileHandlers; please look at the
plugin/netrwFileHandlers.vim script for examples. If its likely to be
generally useful, please feel free to forward a copy to me for future
inclusion in the distribution.
@@ -1063,8 +1107,8 @@ g:netrw_keepdir to 0 (say, in your <.vimrc>) will tell netrw to have the
currently browsed directory be the current directory.
With the default setting for g:netrw_keepdir, in order to make the two
directories the same, use the "c" map (just type c). That map will set
the current directory to the current browsing directory.
directories the same, use the "c" map (just type c). That map will set the
current directory to the current browsing directory.
BOOKMARKING A DIRECTORY *netrw-b* *netrw-bookmark* *netrw-bookmarks*
@@ -1087,8 +1131,8 @@ To change directory back to a bookmarked directory, use
{cnt}B
Any count may be used to reference any of the bookmarks. See |netrw-b|
for how to bookmark a directory and |netrw-q| for how to list them.
Any count may be used to reference any of the bookmarks. See |netrw-b| on
how to bookmark a directory and |netrw-q| on how to list bookmarks.
When wide listing is in use (see |netrw-i|), then the B map is not available;
instead, use {cnt}NB.
@@ -1118,9 +1162,9 @@ NETRW SETTINGS *netrw-settings*
With the NetrwSettings.vim plugin, >
:NetrwSettings
will bring up a window with the many variables that netrw uses for its
settings. You may change any of their values; when you save the file,
the settings therein will be used. One may also press "?" on any of
the lines for help on what each of the variables do.
settings. You may change any of their values; when you save the file, the
settings therein will be used. One may also press "?" on any of the lines for
help on what each of the variables do.
==============================================================================
@@ -1240,6 +1284,44 @@ which is loaded automatically at startup (assuming :set nocp).
==============================================================================
10. History *netrw-history*
v76: * "directory is missing" error message now restores echo
highlighting
v75: * file://... now conforms to RFC2396 (thanks to S. Zacchiroli)
* if the binary option is set, then NetWrite() will only write
the whole file (line numbers don't make sense with this).
Supports writing of tar and zip files.
v74: * bugfix (vim, then :Explore) now works
* ctrl-L keeps cursor at same screen location (both local and
remote browsing)
* netrw now can read remote zip and tar files
* Obtain now uses WinXP ftp+.netrc successfully
v73: * bugfix -- scp://host/path/file was getting named incorrectly
* netrw detects use of earlier-than-7.0 version of vim and issues
a pertinent error message.
* netrwSettings.vim is now uses autoloading. Only
<netrwPlugin.vim> is needed as a pure plugin
(ie. always loaded).
v72: * bugfix -- formerly, one could prevent the loading of netrw
by "let g:loaded_netrw=1"; when autoloading became supported,
this feature was lost. It is now restored.
v71: * bugfix -- made some "set nomodifiable"s into setlocal variants
(allows :e somenewfile to be modifiable as usual)
* NetrwSettings calls a netrw function, thereby assuring that
netrw has loaded. However, if netrw does not load for whatever
reason, then NetrwSettings will now issue a warning message.
* For what reason I don't recall, when wget and fetch are both
not present, and an attempt to read a http://... url is made,
netrw exited. It now only returns.
* When ch=1, on the second and subsequent uses of browsing Netrw
would issue a blank line to clear the echo'd messages. This
caused an annoying "Hit-Enter" prompt; now a blank line message
is echo'd only if &ch>1.
v70: * when using |netrw-O|, the "Obtaining filename" message is now
shown using |hl-User9|. If User9 has not been defined, netrw
will define it.
v69: * Bugfix: win95/98 machines were experiencing a
"E121: Undefined variable: g:netrw_win95ftp" message
v68: * double-click-leftmouse selects word under mouse
v67: * Passwords which contain blanks will now be surrounded by
double-quotes automatically (Yongwei)
v66: * Netrw now seems to work with a few more Windows situations
@@ -1355,7 +1437,7 @@ which is loaded automatically at startup (assuming :set nocp).
* special file viewing with:
(windows) rundll32 url.dll (gnome) gnome-open (kde)
kfmclient If none of these are on the executable path, then
NetrwFileHandlers.vim is used.
netrwFileHandlers.vim is used.
* directory bookmarking during both local and remote browsing
implemented
* one may view all, use the hiding list to suppress, or use the

View File

@@ -1,4 +1,4 @@
*tar.txt* Tar File Interface Nov 03, 2005
*tar.txt* Tar File Interface Nov 22, 2005
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first)
@@ -23,15 +23,16 @@ Copyright: The GPL (gnu public license) applies to *tar-copyright*
==============================================================================
3. History *tar-history*
v3 Sep 16, 2005 * handles writing files in an archive back to the
archive
Oct 18, 2005 * <amatch> used instead of <afile> in autocmds
Oct 18, 2005 * handles writing to compressed archives
Nov 03, 2005 * handles writing tarfiles across a network using
netrw#NetWrite()
v2 * converted to use Vim7's new autoload feature by
Bram Moolenaar
v1 (original release) * Michael Toren (see http://michael.toren.net/code/)
v5 Nov 22, 2005 * report option workaround installed
v3 Sep 16, 2005 * handles writing files in an archive back to the
archive
Oct 18, 2005 * <amatch> used instead of <afile> in autocmds
Oct 18, 2005 * handles writing to compressed archives
Nov 03, 2005 * handles writing tarfiles across a network using
netrw#NetWrite()
v2 * converted to use Vim7's new autoload feature by
Bram Moolenaar
v1 (original) * Michael Toren (see http://michael.toren.net/code/)
==============================================================================
vim:tw=78:ts=8:ft=help

View File

@@ -1,4 +1,4 @@
*zip.txt* Zip File Interface Nov 03, 2005
*zip.txt* Zip File Interface Nov 22, 2005
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first)
@@ -28,6 +28,7 @@ Copyright: Copyright (C) 2005 Charles E. Campbell, Jr. {{{1 *zip-copyright*
==============================================================================
3. History *zip-history*
v5 Nov 22, 2005 * report option workaround installed
v3 Oct 18, 2005 * <amatch> used instead of <afile> in autocmds
v2 Sep 16, 2005 * silenced some commands (avoiding hit-enter prompt)
* began testing under Windows; works thus far

View File

@@ -1,4 +1,4 @@
*quickref.txt* For Vim version 7.0aa. Last change: 2005 Sep 13
*quickref.txt* For Vim version 7.0aa. Last change: 2005 Dec 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -633,6 +633,7 @@ Short explanation of each option: *option-list*
|'compatible'| |'cp'| behave Vi-compatible as much as possible
|'complete'| |'cpt'| specify how Insert mode completion works
|'completefunc'| |'cfu'| function to be used for Insert mode completion
|'completeopt'| |'cot'| options for Insert mode completion
|'confirm'| |'cf'| ask what to do about unsaved/read-only files
|'conskey'| |'consk'| get keys directly from console (MS-DOS only)
|'copyindent'| |'ci'| make 'autoindent' use existing indent structure
@@ -773,6 +774,7 @@ Short explanation of each option: *option-list*
|'number'| |'nu'| print the line number in front of each line
|'numberwidth'| |'nuw'| number of columns used for the line number
|'omnifunc'| |'ofu'| function for filetype-specific completion
|'operatorfunc'| |'opfunc'| funtion to be called for |g@| operator
|'osfiletype'| |'oft'| operating system-specific filetype information
|'paragraphs'| |'para'| nroff macros that separate paragraphs
|'paste'| allow pasting text

View File

@@ -1,4 +1,4 @@
*recover.txt* For Vim version 7.0aa. Last change: 2005 Feb 10
*recover.txt* For Vim version 7.0aa. Last change: 2005 Dec 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -126,6 +126,28 @@ command:
A Vim swap file can be recognized by the first six characters: "b0VIM ".
After that comes the version number, e.g., "3.0".
Links and symbolic links ~
On Unix it is possible to have two names for the same file. This can be done
with hard links and with symbolic links (symlinks).
For hard links Vim does not know the other name of the file. Therefore, the
name of the swapfile will be based on the name you used to edit the file.
There is no check for editing the same file by the other name too, because Vim
cannot find the other swapfile (except for searching all of your harddisk,
which would be very slow).
For symbolic links Vim resolves the links to find the name of the actual file.
The swap file name is based on that name. Thus it doesn't matter by what name
you edit the file, the swap file name will normally be the same. However,
there are exceptions:
- When the directory of the actual file is not writable the swapfile is put
elsewhere.
- When the symbolic links somehow create a loop you get an *E773* error
message and the unmodified file name will be used. You won't be able to
save your file normally.
==============================================================================
2. Recovery *recovery* *E308* *E311*

View File

@@ -1,4 +1,4 @@
*scroll.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
*scroll.txt* For Vim version 7.0aa. Last change: 2005 Dec 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -153,31 +153,39 @@ to the closest character that is on the screen. The value of 'sidescroll' is
not used.
z<Right> or *zl* *z<Right>*
zl Scroll the screen [count] characters to the left.
This only works when 'wrap' is off. {not in Vi}
zl Move the view on the text [count] characters to the
right, thus scroll the text [count] characters to the
left. This only works when 'wrap' is off. {not in
Vi}
z<Left> or *zh* *z<Left>*
zh Scroll the screen [count] characters to the right.
This only works when 'wrap' is off. {not in Vi}
zh Move the view on the text [count] characters to the
left, thus scroll the text [count] characters to the
right. This only works when 'wrap' is off. {not in
Vi}
*zL*
zL Scroll the screen half a screenwidth to the left.
This only works when 'wrap' is off. {not in Vi}
zL Move the view on the text half a screenwidth to the
right, thus scroll the text half a screenwidth to the
left. This only works when 'wrap' is off. {not in
Vi}
*zH*
zH Scroll the screen half a screenwidth to the right.
This only works when 'wrap' is off. {not in Vi}
zH Move the view on the text half a screenwidth to the
left, thus scroll the text half a screenwidth to the
right. This only works when 'wrap' is off. {not in
Vi}
For the following two commands the cursor is not moved in the text, only the
text scrolls on the screen.
*zs*
zs Scroll the screen horizontally to position the cursor
zs Scroll the text horizontally to position the cursor
at the start (left side) of the screen. This only
works when 'wrap' is off. {not in Vi}
*ze*
ze Scroll the screen horizontally to position the cursor
ze Scroll the text horizontally to position the cursor
at the end (right side) of the screen. This only
works when 'wrap' is off. {not in Vi}

View File

@@ -1,4 +1,4 @@
*spell.txt* For Vim version 7.0aa. Last change: 2005 Sep 25
*spell.txt* For Vim version 7.0aa. Last change: 2005 Dec 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -35,7 +35,7 @@ Vim only checks words for spelling, there is no grammar check.
If the 'mousemodel' option is set to "popup" and the cursor is on a badly
spelled word or it is "popup_setpos" and the mouse pointer is on a badly
spelled word, then the popup menu will contain an submenu to replace the bad
spelled word, then the popup menu will contain a submenu to replace the bad
word. Note: this slows down the appearance of the popup menu.
To search for the next misspelled word:
@@ -124,8 +124,8 @@ is set.
Finding suggestions for bad words:
*z?*
z? For the word under/after the cursor suggest correctly
*z=*
z= For the word under/after the cursor suggest correctly
spelled words. This also works to find alternatives
for a word that is not highlighted as a bad word,
e.g., when the word after it is bad.
@@ -143,7 +143,7 @@ z? For the word under/after the cursor suggest correctly
first line (the header) to cancel.
If a count is used that suggestion is used, without
prompting. For example, "1z?" always takes the first
prompting. For example, "1z=" always takes the first
suggestion.
If 'verbose' is non-zero a score will be displayed
@@ -156,7 +156,7 @@ z? For the word under/after the cursor suggest correctly
and other languages without spaces between words.
*:spellr* *:spellrepall* *E752* *E753*
:spellr[epall] Repeat the replacement done by |z?| for all matches
:spellr[epall] Repeat the replacement done by |z=| for all matches
with the replaced word in the current window.
In Insert mode, when the cursor is after a badly spelled word, you can use
@@ -206,7 +206,7 @@ Always use lowercase letters for the language and region names.
When adding a word with |zg| or another command it's always added for all
regions. You can change that by manually editing the 'spellfile'. See
|spell-wordlist-format|. Note that the regions as specified in the files in
'spellfile' are only used when all entries in "spelllang" specify the same
'spellfile' are only used when all entries in 'spelllang' specify the same
region (not counting files specified by their .spl name).
*spell-german*
@@ -421,7 +421,7 @@ then Vim will try to guess.
*:mksp* *:mkspell*
:mksp[ell][!] [-ascii] {outname} {inname} ...
Generate a Vim spell file word lists. Example: >
Generate a Vim spell file from word lists. Example: >
:mkspell /tmp/nl nl_NL.words
< *E751*
When {outname} ends in ".spl" it is used as the output
@@ -550,10 +550,10 @@ maintains a word list.
Note that we avoid the word "dictionary" here. That is because the goal of
spell checking differs from writing a dictionary (as in the book). For
spelling we need a list of words that are OK, thus should not to be
highlighted. Person and company names will not appear in a dictionary, but do
appear in a word list. And some old words are rarely used while they are
common misspellings. These do appear in a dictionary but not in a word list.
spelling we need a list of words that are OK, thus should not be highlighted.
Person and company names will not appear in a dictionary, but do appear in a
word list. And some old words are rarely used while they are common
misspellings. These do appear in a dictionary but not in a word list.
There are two formats: A straight list of words and a list using affix
compression. The files with affix compression are used by Myspell (Mozilla
@@ -1194,7 +1194,7 @@ white space is replaced by one space. Sequences of the same character in
SOFOFROM are replaced by one.
You can use the |soundfold()| function to try out the results. Or set the
'verbose' option to see the score in the output of the |z?| command.
'verbose' option to see the score in the output of the |z=| command.
vim:tw=78:sw=4:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*starting.txt* For Vim version 7.0aa. Last change: 2005 Oct 02
*starting.txt* For Vim version 7.0aa. Last change: 2005 Dec 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1201,6 +1201,13 @@ An example mapping: >
:nmap <F2> :wa<Bar>exe "mksession! " . v:this_session<CR>:so ~/sessions/
This saves the current Session, and starts off the command to load another.
The |SessionLoadPost| autocmd event is triggered after a session file is
loaded/sourced.
*SessionLoad-variable*
While the session file is loading the SessionLoad global variable is set to 1.
Plugins can use this to postpone some work until the SessionLoadPost event is
triggered.
*:mkvie* *:mkview*
:mkvie[w][!] [file] Write a Vim script that restores the contents of the
current window.

View File

@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.0aa. Last change: 2005 Oct 12
*syntax.txt* For Vim version 7.0aa. Last change: 2005 Nov 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2135,29 +2135,58 @@ number is that redrawing can become slow.
RUBY *ruby.vim* *ft-ruby-syntax*
There are a few options to the Ruby syntax highlighting.
There are a number of options to the Ruby syntax highlighting.
By default, the "end" keyword is colorized according to the opening statement
of the block it closes. While useful, this feature can be expensive: if you
of the block it closes. While useful, this feature can be expensive; if you
experience slow redrawing (or you are on a terminal with poor color support)
you may want to turn it off by defining the "ruby_no_expensive" variable: >
:let ruby_no_expensive = 1
In this case the same color will be used for all control keywords.
If you do want this feature enabled, but notice highlighting errors while
scrolling backwards, which are fixed when redrawing with CTRL-L, try setting
the "ruby_minlines" variable to a value larger than 50: >
:let ruby_minlines = 100
Ideally, this value should be a number of lines large enough to embrace your
largest class or module.
Finally, if you do not like to see too many color items around, you can define
Highlighting of special identifiers can be disabled by defining
"ruby_no_identifiers": >
:let ruby_no_identifiers = 1
This will prevent highlighting of special identifiers like "ConstantName",
"$global_var", "@instance_var", "| iterator |", and ":symbol".
"$global_var", "@@class_var", "@instance_var", "| block_param |", and
":symbol".
Significant methods of Kernel, Module and Object are highlighted by default.
This can be disabled by defining "ruby_no_special_methods": >
:let ruby_no_special_methods = 1
This will prevent highlighting of important methods such as "require", "attr",
"private", "raise" and "proc".
Whitespace errors can be highlighted by defining "ruby_space_errors": >
:let ruby_space_errors = 1
This will highlight trailing whitespace and tabs preceded by a space character
as errors. This can be refined by defining "ruby_no_trail_space_error" and
"ruby_no_tab_space_error" which will ignore trailing whitespace and tabs after
spaces respectively.
Folding can be enabled by defining "ruby_fold": >
:let ruby_fold = 1
This will set the 'foldmethod' option to "syntax" and allow folding of
classes, modules, methods, code blocks, heredocs and comments.
SCHEME *scheme.vim* *ft-scheme-syntax*
By default only R5RS keywords are highlighted and properly indented.

View File

@@ -614,6 +614,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
'omnifunc' options.txt /*'omnifunc'*
'op' vi_diff.txt /*'op'*
'open' vi_diff.txt /*'open'*
'operatorfunc' options.txt /*'operatorfunc'*
'opfunc' options.txt /*'opfunc'*
'optimize' vi_diff.txt /*'optimize'*
'option' intro.txt /*'option'*
'osfiletype' options.txt /*'osfiletype'*
@@ -1011,6 +1013,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
( motion.txt /*(*
) motion.txt /*)*
+ motion.txt /*+*
++bad editing.txt /*++bad*
++bin editing.txt /*++bin*
++builtin_terms various.txt /*++builtin_terms*
++enc editing.txt /*++enc*
@@ -1655,6 +1658,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:@ repeat.txt /*:@*
:@: repeat.txt /*:@:*
:@@ repeat.txt /*:@@*
:CompilerSet usr_41.txt /*:CompilerSet*
:Explore pi_netrw.txt /*:Explore*
:Hexplore pi_netrw.txt /*:Hexplore*
:Man filetype.txt /*:Man*
@@ -2142,9 +2146,15 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:map-<script> map.txt /*:map-<script>*
:map-<silent> map.txt /*:map-<silent>*
:map-<unique> map.txt /*:map-<unique>*
:map-alt-keys map.txt /*:map-alt-keys*
:map-arguments map.txt /*:map-arguments*
:map-commands map.txt /*:map-commands*
:map-local map.txt /*:map-local*
:map-modes map.txt /*:map-modes*
:map-operator map.txt /*:map-operator*
:map-script map.txt /*:map-script*
:map-silent map.txt /*:map-silent*
:map-special-chars map.txt /*:map-special-chars*
:map-special-keys map.txt /*:map-special-keys*
:map-undo map.txt /*:map-undo*
:map-verbose map.txt /*:map-verbose*
@@ -2208,6 +2218,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:nnoremenu gui.txt /*:nnoremenu*
:no map.txt /*:no*
:no! map.txt /*:no!*
:noa autocmd.txt /*:noa*
:noautocmd autocmd.txt /*:noautocmd*
:noh pattern.txt /*:noh*
:nohlsearch pattern.txt /*:nohlsearch*
:norea map.txt /*:norea*
@@ -2468,6 +2480,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:stag windows.txt /*:stag*
:star repeat.txt /*:star*
:start insert.txt /*:start*
:startgreplace insert.txt /*:startgreplace*
:startinsert insert.txt /*:startinsert*
:startreplace insert.txt /*:startreplace*
:stj tagsrch.txt /*:stj*
@@ -2695,6 +2708,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
<< change.txt /*<<*
<> intro.txt /*<>*
<A- intro.txt /*<A-*
<A-LeftMouse> term.txt /*<A-LeftMouse>*
<A-RightMouse> term.txt /*<A-RightMouse>*
<BS> motion.txt /*<BS>*
<Bar> intro.txt /*<Bar>*
<Bslash> intro.txt /*<Bslash>*
@@ -3033,7 +3048,6 @@ CursorHold autocmd.txt /*CursorHold*
CursorHold-example windows.txt /*CursorHold-example*
CursorIM mbyte.txt /*CursorIM*
D change.txt /*D*
DCOP gui_x11.txt /*DCOP*
DOS os_dos.txt /*DOS*
DOS-format editing.txt /*DOS-format*
DOS-format-write editing.txt /*DOS-format-write*
@@ -3774,6 +3788,7 @@ E77 message.txt /*E77*
E770 spell.txt /*E770*
E771 spell.txt /*E771*
E772 spell.txt /*E772*
E773 recover.txt /*E773*
E78 motion.txt /*E78*
E79 message.txt /*E79*
E80 message.txt /*E80*
@@ -3974,8 +3989,11 @@ Select visual.txt /*Select*
Select-mode visual.txt /*Select-mode*
Select-mode-mapping visual.txt /*Select-mode-mapping*
Session starting.txt /*Session*
SessionLoad-variable starting.txt /*SessionLoad-variable*
SessionLoadPost autocmd.txt /*SessionLoadPost*
StdinReadPost autocmd.txt /*StdinReadPost*
StdinReadPre autocmd.txt /*StdinReadPre*
SwapExists autocmd.txt /*SwapExists*
Syntax autocmd.txt /*Syntax*
T motion.txt /*T*
TCL if_tcl.txt /*TCL*
@@ -4194,7 +4212,6 @@ alt-input debugger.txt /*alt-input*
alternate-file editing.txt /*alternate-file*
amiga-window starting.txt /*amiga-window*
ant.vim syntax.txt /*ant.vim*
antialias gui_x11.txt /*antialias*
ap motion.txt /*ap*
apache.vim syntax.txt /*apache.vim*
append() eval.txt /*append()*
@@ -4225,7 +4242,9 @@ autocmd-buffer-local autocmd.txt /*autocmd-buffer-local*
autocmd-buflocal autocmd.txt /*autocmd-buflocal*
autocmd-changes autocmd.txt /*autocmd-changes*
autocmd-define autocmd.txt /*autocmd-define*
autocmd-disable autocmd.txt /*autocmd-disable*
autocmd-events autocmd.txt /*autocmd-events*
autocmd-events-abc autocmd.txt /*autocmd-events-abc*
autocmd-execute autocmd.txt /*autocmd-execute*
autocmd-groups autocmd.txt /*autocmd-groups*
autocmd-intro autocmd.txt /*autocmd-intro*
@@ -4529,6 +4548,7 @@ cpo-K options.txt /*cpo-K*
cpo-L options.txt /*cpo-L*
cpo-M options.txt /*cpo-M*
cpo-O options.txt /*cpo-O*
cpo-P options.txt /*cpo-P*
cpo-R options.txt /*cpo-R*
cpo-S options.txt /*cpo-S*
cpo-W options.txt /*cpo-W*
@@ -5132,6 +5152,7 @@ g:netrw_sort_by pi_netrw.txt /*g:netrw_sort_by*
g:netrw_sort_direction pi_netrw.txt /*g:netrw_sort_direction*
g:netrw_sort_sequence pi_netrw.txt /*g:netrw_sort_sequence*
g:netrw_ssh_browse_reject pi_netrw.txt /*g:netrw_ssh_browse_reject*
g:netrw_ssh_cmd pi_netrw.txt /*g:netrw_ssh_cmd*
g:netrw_timefmt pi_netrw.txt /*g:netrw_timefmt*
g:netrw_uid pi_netrw.txt /*g:netrw_uid*
g:netrw_use_nt_rcp pi_netrw.txt /*g:netrw_use_nt_rcp*
@@ -5149,6 +5170,7 @@ g<Up> motion.txt /*g<Up>*
g? change.txt /*g?*
g?? change.txt /*g??*
g?g? change.txt /*g?g?*
g@ map.txt /*g@*
gD pattern.txt /*gD*
gE motion.txt /*gE*
gH visual.txt /*gH*
@@ -5620,7 +5642,6 @@ jumpto-diffs diff.txt /*jumpto-diffs*
k motion.txt /*k*
kcc uganda.txt /*kcc*
kde gui_x11.txt /*kde*
kde-toolbar gui_x11.txt /*kde-toolbar*
key-codes intro.txt /*key-codes*
key-codes-changed version4.txt /*key-codes-changed*
key-mapping map.txt /*key-mapping*
@@ -5971,7 +5992,6 @@ new-5 version5.txt /*new-5*
new-6 version6.txt /*new-6*
new-7 version7.txt /*new-7*
new-GTK-GUI version5.txt /*new-GTK-GUI*
new-KDE version7.txt /*new-KDE*
new-MzScheme version7.txt /*new-MzScheme*
new-Select-mode version5.txt /*new-Select-mode*
new-View version6.txt /*new-View*
@@ -5984,6 +6004,7 @@ new-commands-5.4 version5.txt /*new-commands-5.4*
new-debug-itf version6.txt /*new-debug-itf*
new-debug-mode version6.txt /*new-debug-mode*
new-debug-support version7.txt /*new-debug-support*
new-define-operator version7.txt /*new-define-operator*
new-diff-mode version6.txt /*new-diff-mode*
new-encryption version5.txt /*new-encryption*
new-evim version6.txt /*new-evim*
@@ -6566,7 +6587,10 @@ substitute-CR version6.txt /*substitute-CR*
suffixes cmdline.txt /*suffixes*
suspend starting.txt /*suspend*
swap-file recover.txt /*swap-file*
swapchoice-variable eval.txt /*swapchoice-variable*
swapcommand-variable eval.txt /*swapcommand-variable*
swapfile-changed version4.txt /*swapfile-changed*
swapname-variable eval.txt /*swapname-variable*
syn-sync-grouphere syntax.txt /*syn-sync-grouphere*
syn-sync-groupthere syntax.txt /*syn-sync-groupthere*
syn-sync-linecont syntax.txt /*syn-sync-linecont*
@@ -6771,6 +6795,13 @@ tags-file-format tagsrch.txt /*tags-file-format*
tags-option tagsrch.txt /*tags-option*
tagsrch.txt tagsrch.txt /*tagsrch.txt*
tagstack tagsrch.txt /*tagstack*
tar pi_tar.txt /*tar*
tar-contents pi_tar.txt /*tar-contents*
tar-copyright pi_tar.txt /*tar-copyright*
tar-history pi_tar.txt /*tar-history*
tar-manual pi_tar.txt /*tar-manual*
tar-usage pi_tar.txt /*tar-usage*
tar.txt pi_tar.txt /*tar.txt*
tcl if_tcl.txt /*tcl*
tcl-beep if_tcl.txt /*tcl-beep*
tcl-buffer if_tcl.txt /*tcl-buffer*
@@ -6981,6 +7012,9 @@ v:scrollstart eval.txt /*v:scrollstart*
v:servername eval.txt /*v:servername*
v:shell_error eval.txt /*v:shell_error*
v:statusmsg eval.txt /*v:statusmsg*
v:swapchoice eval.txt /*v:swapchoice*
v:swapcommand eval.txt /*v:swapcommand*
v:swapname eval.txt /*v:swapname*
v:termresponse eval.txt /*v:termresponse*
v:this_session eval.txt /*v:this_session*
v:throwpoint eval.txt /*v:throwpoint*
@@ -7129,7 +7163,6 @@ vim-announce intro.txt /*vim-announce*
vim-arguments starting.txt /*vim-arguments*
vim-default-editor gui_w32.txt /*vim-default-editor*
vim-dev intro.txt /*vim-dev*
vim-kpart gui_x11.txt /*vim-kpart*
vim-mac intro.txt /*vim-mac*
vim-modes intro.txt /*vim-modes*
vim-modes-intro intro.txt /*vim-modes-intro*
@@ -7149,7 +7182,6 @@ viminfo-file-marks starting.txt /*viminfo-file-marks*
viminfo-file-name starting.txt /*viminfo-file-name*
viminfo-read starting.txt /*viminfo-read*
viminfo-write starting.txt /*viminfo-write*
vimpart gui_x11.txt /*vimpart*
vimrc starting.txt /*vimrc*
vimrc-filetype usr_05.txt /*vimrc-filetype*
vimrc-intro usr_05.txt /*vimrc-intro*
@@ -7320,7 +7352,7 @@ z/OS os_390.txt /*z\/OS*
z<CR> scroll.txt /*z<CR>*
z<Left> scroll.txt /*z<Left>*
z<Right> scroll.txt /*z<Right>*
z? spell.txt /*z?*
z= spell.txt /*z=*
zA fold.txt /*zA*
zC fold.txt /*zC*
zD fold.txt /*zD*
@@ -7356,6 +7388,13 @@ zf fold.txt /*zf*
zg spell.txt /*zg*
zh scroll.txt /*zh*
zi fold.txt /*zi*
zip pi_zip.txt /*zip*
zip-contents pi_zip.txt /*zip-contents*
zip-copyright pi_zip.txt /*zip-copyright*
zip-history pi_zip.txt /*zip-history*
zip-manual pi_zip.txt /*zip-manual*
zip-usage pi_zip.txt /*zip-usage*
zip.txt pi_zip.txt /*zip.txt*
zj fold.txt /*zj*
zk fold.txt /*zk*
zl scroll.txt /*zl*

View File

@@ -1,4 +1,4 @@
*term.txt* For Vim version 7.0aa. Last change: 2005 Aug 27
*term.txt* For Vim version 7.0aa. Last change: 2005 Dec 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -684,6 +684,7 @@ event position selection change action ~
<MiddleMouse> yes if not active no put
<MiddleMouse> yes if active no yank and put
<RightMouse> yes start or extend yes
<A-RightMouse> yes start or extend blockw. yes *<A-RightMouse>*
<S-RightMouse> yes no change yes "#" (2) *<S-RightMouse>*
<C-RightMouse> no no change no "CTRL-T"
<RightDrag> yes extend no *<RightDrag>*
@@ -699,6 +700,7 @@ event position selection change action ~
<LeftRelease> yes start or extend (1) no like CTRL-O (1)
<MiddleMouse> no (cannot be active) no put register
<RightMouse> yes start or extend yes like CTRL-O
<A-RightMouse> yes start or extend blockw. yes
<S-RightMouse> yes (cannot be active) yes "CTRL-O#" (2)
<C-RightMouse> no (cannot be active) no "CTRL-O CTRL-T"
@@ -713,12 +715,14 @@ Normal Mode:
event position selection change action ~
cursor window ~
<S-LeftMouse> yes start or extend (1) no
<A-LeftMouse> yes start or extend blockw. no *<A-LeftMouse>*
<RightMouse> no popup menu no
Insert or Replace Mode:
event position selection change action ~
cursor window ~
<S-LeftMouse> yes start or extend (1) no like CTRL-O (1)
<A-LeftMouse> yes start or extend blockw. no
<RightMouse> no popup menu no
(1) only if mouse pointer moved since press
@@ -744,6 +748,12 @@ Visual area to be extended. When 'mousemodel' is "popup", the left button has
to be used while keeping the shift key pressed. When clicking in a window
which is editing another buffer, the Visual or Select mode is stopped.
In Normal, Visual and Select mode clicking the right mouse button with the alt
key pressed causes the Visual area to become blockwise. When 'mousemodel is
"popup" the left button has to be used with the alt key. Note that this won't
work on systems where the window manager uses the mouse when the alt key is
pressed (it may move the window).
*double-click*
Double, triple and quadruple clicks are supported when the GUI is active,
for MS-DOS and Win32, and for an xterm (if the gettimeofday() function is

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.0aa. Last change: 2005 Nov 23
*todo.txt* For Vim version 7.0aa. Last change: 2005 Dec 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -30,40 +30,20 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs*
-------------------- Known bugs and current work -----------------------
Using chown() is unsafe. (Jinpeng Wei)
ex_cmds.c: viminfo tempfile: use mch_open(O_EXCL) and fdopen()
fileio.c: use fchown() instead of chown()
vim.h: define O_NOFOLLOW if needed. Not in Vim 6.4?
Go over all changes between 6.3 and 6.4 and make sure they are included in 7.
'statusline' is drawn over the Omni menu.
Cygwin and Mac OS/X may preserve case for file names but ignore case
differences. Use Amiga code?
"make unixall": remove split in floppy-size archives.
To support mapping <F4> to be used as <F4>{motion}: Add operator that
executes a user defined function. '[ and '] marks are at start and end of
text. ":map <F4> :set opfunc=MyOp<CR>gy".
Patch from Yasuhiro Matsumoto: ":e ++enc=xxx" keeps encoding for conversion
errors and illegal bytes. How about replacing bytes with '?' or not?
ccomplete:
- When an option is set: In completion mode and the user types (identifier)
characters, advance to the first match instead of removing the popup menu.
If there is no match remove the selection. (Yegappan Lakshmanan)
- Complete the longest common match instead of the first match?
For all kinds of completions? Configurable?
- !_TAG_FILE_FORMAT and it's ilk are listed in the global completions
- When completing something that is a structure, add the "." or "->".
- When a typedef or struct is local to a file only use it in that file?
Can't reproduce it right now...
- Window resize when poup is displayed
- page-up / page-down
- When completing something that is a structure, add the "." or "->" right
away. How to figure out if it's a pointer or not?
- When a typedef or struct is local to a file only use it in that file?
spelling:
- When a recognized word ends in a . don't have 'spellcapcheck" match it.
- Use KEEPCASE instead of "KEP". It applies to the word including affixes
Hunspell also uses it.
- Hunspell has NOSUGGEST flag (use for obscene words?)
@@ -71,15 +51,22 @@ spelling:
- Look into hungarian dictionary:
http://magyarispell.sourceforge.net/rc3-beta2.zip
- Support breakpoint character <20> 0xb7 and ignore it?
- Dutch word list should be available here: http://www.woordenlijst.org/
8 Alternate Dutch word list at www.nederlandsewoorden.nl (use script to
obtain). But new Myspell wordlist will come (Hagen)
- Finding suggestions with sound folding is slow. Somehow store the
sound-folded words and link to the words it comes from?
- Also use the spelling dictionary for dictionary completion.
- Have "zg" and "zw" report the file that was modified. (Marvin Renich)
- Add a command like "zg" that selects one of the files 'spellfile'.
When editing a file "a" that is a symbolic link to "b", while another Vim is
editing "b", there is no warning. Follow symlink to make swap file name?
Patch from Stefano Zacchiroli.
GTK: get an X error while exiting quickly after starting (running the tests).
Caused by new GTK library?
X Error: BadWindow (invalid Window parameter) 3
Support saving and restoring session for X windows? It should work to do
":mksession" and use "-S fname" for the restart command. The
gui_x11_wm_protocol_handler() already takes care of the rest.
global_event_filter() for GTK.
In diff mode deleting lines is very slow. E.g., when diffing two .po files
and then sourcing po/cleaup.vim.
@@ -100,15 +87,22 @@ Mac unicode patch (Da Woon Jung):
- With 'nopaste' pasting is wrong, with 'paste' Command-V doesn't work.
(Alan Schmitt)
Patch to add a few flags to search(). (Benji Fisher, Nov 22)
Patch to add a few flags to search(). (Benji Fisher, Nov 29, doc update Dec 1)
Also add search???() function that returns list with lnum and col.
Win32: Use the free downloadable compiler 7.1. Figure out how to do debugging
(with Agide?) and describe it. (George Reilly)
Try out using the free MS compiler and debugger, using Make_mvc.mak.
Try using Visual C++ Express 2005. (Ilya Bobir Dec 20)
Disadvantage: Annoying warning messages, requires ..._NO_DEPRECATE, this
is not a standard compiler.
Win32: Check that installer puts menu items in "all users" dir when possible,
not administrator dir.
CTRL-X CTRL-L only completes from loaded buffers. Make it work for unloaded
buffers too?
Autoload:
- Add a Vim script in $VIMRUNTIME/tools that takes a file with a list of
script names and a help file and produces a script that can be sourced to
@@ -123,6 +117,14 @@ Autoload:
Add ":smap", Select mode mapping? Otherwise: ":sunmap", so that Visual mode
mappings for normal keys can be removed from Select mode.
When expanding on the command line, recognize shell commands, such as ":!cmd".
Complete command names by searching in $PATH. When completing file names
escape special characters ";&<>(){}". (Adri Verhoef)
Are there more commands where v:swapcommand can be set to something useful?
Put autocommand event names in a hashtable for faster lookup?
Awaiting response:
- Win32: tearoff menu window should have a scrollbar when it's taller than
the screen.
@@ -223,6 +225,8 @@ PLANNED FOR VERSION 7.0:
Only difficult thing: When going back in time, how to find the previous
text state in the tree?
Show the list of changes in a window to be able to select a version?
Also: See ":e" as a change operation, find the changes and add them to the
undo info. Needed for when an external tool changes the file.
- PERSISTENT UNDO: store undo in a file.
Use timestamps, so that a version a certain time ago can be found and info
before some time/date can be flushed. 'undopersist' gives maximum time to
@@ -266,6 +270,7 @@ PLANNED FOR VERSION 7.0:
Roman, 2004 Dec 15. Should then also work with Oracle Jdeveloper, see JSR
198 standard http://www.jcp.org/en/jsr/detail?id=198.
Eclim does it: http://eclim.sourceforge.net/ (Eric Van Dewoestine)
Plugin that uses a terminal emulator: http://vimplugin.sf.net
- STICKY CURSOR: Add a way of scrolling that leaves the cursor where it is.
Especially when using the scrollbar. Typing a cursor-movement command
scrolls back to where the cursor is.
@@ -289,7 +294,7 @@ PLANNED FOR VERSION 7.0:
- Running a shell command from the GUI still has limitations. Look into how
the Vim shell project can help: http://vimshell.wana.at
- Displaying size of Visual area: use 24-33 column display.
When selecting multiple lines, up to about a screenfull, also count the
When selecting multiple lines, up to about a screenful, also count the
characters.
- Mac: Unicode input and display (Eckehard Berns, 2004 June 27)
Other patch from Da Woon Jung, 2005 Jan 16.
@@ -360,7 +365,7 @@ Win32: In the generated batch files, use $VIMRUNTIME if it's set. Examples by
Mathias Michaelis (2004 Sep 6)
Also place vimtutor.bat in %windir%?
Add gui_mch_browsedir() for Motif, KDE and Mac OS/X.
Add gui_mch_browsedir() for Motif, Mac OS/X.
Add extra list of file locations. A bit like the quickfix list, but there is
one per window. Can be used with:
@@ -575,14 +580,6 @@ GTK+ GUI known bugs:
when it is longer than 4000 characters. Works OK from gvim to gvim and
vim to vim. Pasting through xterm (using the shift key) also works.
It starts working after GTK gvim loses the selection and gains it again.
7 DND doesn't work with KDE (also with GTK 1).
KDE GUI known bugs:
- There is no active maintenance and "yzis" is supposed to replace it.
- With the default 'guifont' value bold text differs in size from normal
text, causing the display to be messed up.
- Error messages when starting up. The "tip of the day" box is empty.
- Encoding of menu items needs to be converted. (Yasuhiro Matsumoto)
Win32 GUI known bugs:
8 On Windows 98 the unicows library is needed to support functions with UCS2
@@ -873,8 +870,6 @@ MSDOS, OS/2 and Win32:
8 When editing a file on a Samba server, case might matter. ":e file"
followed by ":e FILE" will edit "file" again, even though "FILE" might be
another one. Set last used name in buflist_new()? Fix do_ecmd(), etc.
8 ":mksession" generates a "cd" command where "aa\#bb" means directory "#bb"
in "aa", but it's used as "aa#bb". (Ronald Hoellwarth)
8 When a buffer is editing a file like "ftp://mach/file", which is not going
to be used like a normal file name, don't change the slashes to
backslashes. (Ronald Hoellwarth)
@@ -926,7 +921,6 @@ Amiga:
Macintosh:
7 Implement "undercurl".
7 Patch to add 'transparency' option. Disadvantage: it's slow. (Eckehard
Berns, 2004 May 9) http://ecki.to/vim/TransBack-2004-05-09.diff
Needs more work. Add when someone really wants it.
@@ -1066,8 +1060,6 @@ Macintosh:
one.
7 When 'showbreak' is set, the amount of space a Tab occupies changes.
Should work like 'showbreak' is inserted without changing the Tabs.
7 When there is a "help.txt" window in a session file, restoring that
session will not get the "LOCAL ADDITIONS" back.
7 When 'mousefocus' is set and switching to another window with a typed
command, the mouse pointer may be moved to a part of the window that's
covered by another window and we lose focus. Only move in the y
@@ -1471,8 +1463,8 @@ Diff mode:
Folding:
(commands still available: zg zG zI zJ zK zp zP zq zQ zV zw zW zy zY;
secondary: zB zS zT zZ)
(commands still available: zI zJ zK zp zP zq zQ zV zy zY;
secondary: zB zS zT zZ, z=)
8 Add "z/" and "z?" for searching in not folded text only.
8 Add different highlighting for a fold line depending on the fold level.
(Noel Henson)
@@ -1853,7 +1845,6 @@ Built-in script language:
7 Add function to generate unique number (date in milliseconds).
7 Automatically load a function from a file when it is called. Need an
option for the search path. (Sekera)
7 Persistent variables: "p:var"; stored in viminfo file and sessions files.
Robustness:
@@ -1939,7 +1930,7 @@ Performance:
- highlighting "~/vim/test/longline.tex", "~/vim/test/scwoop.tcl" and
"~/vim/test/lockup.pl".
- loading a syntax file to highlight all words not from a dictionary.
- editing a vim script with syntax highlighting on (loading vim.vim).
- editing a Vim script with syntax highlighting on (loading vim.vim).
7 Screen updating can be further improved by only redrawing lines that were
changed (and lines after them, when syntax highlighting was used, and it
changed).
@@ -2000,7 +1991,7 @@ Messages:
typing, error messages must be switched back on.
Also a flag to ignore error messages for shell commands (for mappings).
- Option to set time for emsg() sleep. Interrupt sleep when key is typed?
sleep before second message?
Sleep before second message?
8 In Ex silent mode or when reading commands from a file, what exactly is
not printed and what is? Check ":print", ":set all", ":args", ":vers",
etc. At least there should be no prompt. (Smulders) And don't clear the
@@ -2594,7 +2585,7 @@ Insert mode:
continuation lines. Allows changing 'tabstop' without messing up the
indents.
And/or: Add option to copy indent as-is, without changing spaces to tabs.
also for 'autoindent'. 'keeptabs': when set don't change the tabs and
Also for 'autoindent'. 'keeptabs': when set don't change the tabs and
spaces used for indent, when the indent remains the same or increases.
@@ -2677,7 +2668,7 @@ Visual mode:
behave like 'scrolloff' is one, so that the text scrolls when the pointer
is in the top line.
8 When using "I" or "A" in Visual block mode, short lines do not get the new
text. make it possible to add the text to short lines too, with padding
text. Make it possible to add the text to short lines too, with padding
where needed.
7 With a Visual block selected, "2x" deletes a block of double the width,
"3y" yanks a block of triple width, etc.
@@ -3069,20 +3060,27 @@ Modelines:
or not. Same for .exrc in local dir.
Options:
8 Make ":mksession" store buffer-specific options for the specific buffer.
Sessions:
8 DOS/Windows: ":mksession" generates a "cd" command where "aa\#bb" means
directory "#bb" in "aa", but it's used as "aa#bb". (Ronald Hoellwarth)
7 When there is a "help.txt" window in a session file, restoring that
session will not get the "LOCAL ADDITIONS" back.
8 With ":mksession" always store the 'sessionoptions' option, even when
"options" isn't in it. (St-Amant)
7 ":with option=value | command": temporarily set an option value and
restore it after the command has executed.
7 Setting an option always sets "w_set_curswant", while this is only
required for a few options. Only do it for those options to avoid the
side effect.
8 When using ":mksession", also store a command to reset all options to
their default value, before setting the options that are not at their
default value.
7 With ":mksession" also store the tag stack and jump history. (Michal
Malecki)
7 Persistent variables: "p:var"; stored in viminfo file and sessions files.
Options:
7 ":with option=value | command": temporarily set an option value and
restore it after the command has executed.
7 Setting an option always sets "w_set_curswant", while this is only
required for a few options. Only do it for those options to avoid the
side effect.
8 Make "old" number options that really give a number of effects into string
options that are a comma separated list. The old number values should
also be supported.

View File

@@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 7.0aa. Last change: 2005 Jun 09
*usr_41.txt* For Vim version 7.0aa. Last change: 2005 Nov 30
VIM USER MANUAL - by Bram Moolenaar
@@ -2114,7 +2114,7 @@ a user to overrule or add to the default file. The default files start with: >
When you write a compiler file and put it in your personal runtime directory
(e.g., ~/.vim/compiler for Unix), you set the "current_compiler" variable to
make the default file skip the settings.
*:CompilerSet*
The second mechanism is to use ":set" for ":compiler!" and ":setlocal" for
":compiler". Vim defines the ":CompilerSet" user command for this. However,
older Vim versions don't, thus your plugin should define it then. This is an
@@ -2139,7 +2139,7 @@ that could be ~/.vim/after/compiler.
*41.14* Writing a plugin that loads quickly *write-plugin-quickload*
A plugin may grow and become quite long. The startup delay may become
noticable, while you hardly every use the plugin. Then it's time for a
noticeable, while you hardly every use the plugin. Then it's time for a
quickload plugin.
The basic idea is that the plugin is loaded twice. The first time user

View File

@@ -1,4 +1,4 @@
*version7.txt* For Vim version 7.0aa. Last change: 2005 Nov 23
*version7.txt* For Vim version 7.0aa. Last change: 2005 Dec 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -21,7 +21,6 @@ NEW FEATURES |new-7|
Vim script enhancements |new-vim-script|
Spell checking |new-spell|
Omni completion |new-omni-completion|
KDE support |new-KDE|
MzScheme interface |new-MzScheme|
Printing multi-byte text |new-print-multi-byte|
Translated manual pages |new-manpage-trans|
@@ -30,6 +29,7 @@ Scroll back in messages |new-scroll-back|
POSIX compatibility |new-posix|
Debugger support |new-debug-support|
Remote file explorer |new-netrw-explore|
Define an operator |new-define-operator|
Various new items |new-items-7|
IMPROVEMENTS |improvements-7|
@@ -67,6 +67,8 @@ results in "a'b".
When overwriting a file with ":w! fname" there was no warning for when "fname"
was being edited by another Vim. Vim now gives an error message |E768|.
The support for Mac OS 9 has been removed.
Minor incompatibilities:
@@ -166,7 +168,7 @@ The 'spellsuggest' option specifies the methods used for making suggestions
The |[s| and |]s| commands can be used to move to the next or previous error.
The |zg| and |zw| commands can be used to add good and wrong words.
The |z?| command can be used to correct the word.
The |z=| command can be used to correct the word.
The |:mkspell| command is used to generate a Vim spell file from word lists.
The "undercurl" highlighting attribute was added to nicely point out spelling
@@ -202,13 +204,6 @@ When the 'completeopt' option contains "menu" then matches for Insert mode
completion are displayed in a popup menu.
KDE support *new-KDE*
-----------
Kvim is the KDE version of Vim. It uses the Qt toolkit. See |KVim|.
(Thomas Capricelli, Philippe Fremy, Mickael Marchand, Mark Westcott, et al.)
MzScheme interface *new-MzScheme*
------------------
@@ -347,6 +342,18 @@ and a GUI dialog is not possible.
The netrw plugin is maintained by Charles Campbell.
Define an operator *new-define-operator*
------------------
Previously it was not possible to define your own operator; a command that is
followed by a {motion}. Vim 7 introduces the 'operatorfunc' option and the
|g@| operator. This makes it possible to define a mapping that works like an
operator. The actual work is then done by a function, which is invoked
through the |g@| operator.
See |:map-operator| for the explanation and an example.
Various new items *new-items-7*
-----------------
@@ -360,6 +367,9 @@ CTRL-W <Enter> In the quickfix window: opens a new window to show the
|at| and |it| text objects select a block of text between HTML or XML tags.
<A-LeftMouse> ('mousemodel' "popup" or "popup-setpos")
<A-RightMouse> ('mousemodel' "extend")
Make a blockwise selection. |<A-LeftMouse>|
Insert mode commands: ~
@@ -400,18 +410,15 @@ Ex commands: ~
Win32: The ":winpos" command now also works in the console. (Vipin Aravind)
|:startreplace| Start Replace mode. (Charles Campbell)
|:startgreplace| Start Virtual Replace mode.
|:0file| Removes the name of the buffer. (Charles Campbell)
|:diffoff| Switch off diff mode in the current window or in all
windows.
|:keepalt| Do not change the alternate file.
|:delmarks| Delete marks.
|:sandbox| Command modifier: execute the argument in the sandbox.
|:exusage| Help for Ex commands (Nvi command).
|:viusage| Help for Vi commands (Nvi command).
@@ -429,6 +436,25 @@ Win32: The ":winpos" command now also works in the console. (Vipin Aravind)
Lakshmanan).
Ex command modifiers: ~
|:keepalt| Do not change the alternate file.
|:noautocmd| Do not trigger autocommand events.
|:sandbox| Execute a command in the sandbox.
Ex command arguments: ~
|++bad| Specify what happens with characters that can't be
converted and illegal bytes. (code example by Yasuhiro
Matsumoto)
Also, when a conversion error occurs or illegal bytes
are found include the line number in the error
message.
New and extended functions: ~
|add()| append an item to a List
@@ -503,6 +529,7 @@ New autocommand events: ~
|ColorScheme| after loading a color scheme
|QuickFixCmdPre| before :make, :grep et al. (Ciaran McCreesh)
|QuickFixCmdPost| after :make, :grep et al. (Ciaran McCreesh)
|SessionLoadPost| after loading a session file. (Yegappan Lakshmanan)
New items in search patterns: ~
@@ -574,17 +601,19 @@ Mac: GUI font selector. (Peter Cucka)
Mac: support for multi-byte characters. (Da Woon Jung)
GUI font selector for Motif. (Marcin Dalecki)
Nicer toolbar buttons for Motif. (Marcin Dalecki)
Mnemonics for the Motif find/replace dialog. (Marcin Dalecki)
Mac: Support the xterm mouse in the non-GUI version.
Mac: better integration with Xcode. Post a fake mouse-up event after the odoc
event and the drag receive handler to work around a stall after Vim loads a
file. Fixed an off-by-one line number error. (Da Woon Jung)
Added the t_SI and t_EI escape sequences for starting and ending Insert mode.
GUI font selector for Motif. (Marcin Dalecki)
Nicer toolbar buttons for Motif. (Marcin Dalecki)
Mnemonics for the Motif find/replace dialog. (Marcin Dalecki)
To be used to set the cursor shape to a bar or a block. No default values,
they are not supported by termcap/terminfo.
@@ -612,6 +641,14 @@ window height.
The |v:scrollstart| variable has been added to help finding the location in
your script that causes the hit-enter prompt.
To make it possible to handle the situation that a file is being edited that
is already being edited by another Vim instance, the |SwapExists| event has
been added. The |v:swapname|, |v:swapchoice| and |v:swapcommand| variables
can be used, for example to use the |client-server| functionality to bring the
other Vim to the foreground.
When starting Vim with a "-t tag" argument, there is an existing swapfile and
the user selects "quit" or "abort" then exit Vim.
==============================================================================
IMPROVEMENTS *improvements-7*
@@ -636,6 +673,10 @@ few more important commands. Used ideas from Gabriel Zachmann.
Unix: When libcall() fails obtain an error message with dlerror() and display
it. (Johannes Zellner)
Mac and Cygwin: When editing an existing file make the file name the same case
of the edited file. Thus when typing ":e os_UNIX.c" the file name becomes
"os_unix.c".
Added "nbsp" in 'listchars'. (David Blanchet)
Added the "acwrite" value for the 'buftype' option. This is for a buffer that
@@ -698,6 +739,10 @@ the swap file to indicate it is in the same directory as the edited file. The
used path then doesn't matter and the check for editing the same file is much
more reliable.
Unix: When editing a file through a symlink the swap file would use the name
of the symlink. Now use the name of the actual file, so that editing the same
file twice is detected. (suggestions by Stefano Zacchiroli and James Vega)
Client-server communication now supports 'encoding'. When setting 'encoding'
in a Vim server to "utf-8", and using "vim --remote fname" in a console,
"fname" is converted from the console encoding to utf-8. Also allows Vims
@@ -849,6 +894,31 @@ in the FileChangedRO autocommand when checking out the file fails.
Unix: When open() returns EFBIG give an appropriate message.
":mksession" sets the SessionLoad variable to notify plugins. A modeline is
added to the session file to set 'filetype' to "vim".
In the ATTENTION prompt put the "Delete it" choice before "Quit" to make it
more logical. (Robert Webb)
When appending to a file while the buffer has no name the name of the appended
file would be used for the current buffer. But the buffer contents is
actually different from the file content. Don't set the file name, unless the
'P' flag is present in 'cpoptions'.
When starting to edit a new file and the directory for the file doesn't exist
then Vim will report "[New DIRECTORY]" instead of "[New File] to give the user
a hint that something might be wrong.
Win32: Preserve the hidden attribute of the viminfo file.
In Insert mode CTRL-A didn't keep the last inserted text when using CTRL-O and
then a cursor key. Now keep the previously inserted text if nothing is
inserted after the CTRL-O. Allows using CTRL-O commands to move the cursor
without losing the last inserted text.
The exists() function now supports checking for autocmd group definition
and for supported autocommand events. (Yegappan Lakshmanan)
==============================================================================
COMPILE TIME CHANGES *compile-changes-7*
@@ -1345,7 +1415,7 @@ When reporting a conversion error the line number of the last error could be
given. Now report the first encountered error.
When using ":e ++enc=name file" and iconv() was used for conversion an error
caused a fallback to no conversion. Now replace a character with '?' and
caused a fall-back to no conversion. Now replace a character with '?' and
continue.
When opening a new buffer the local value of 'bomb' was not initialized from
@@ -1407,4 +1477,44 @@ available.
In an empty line "ix<CTRL-O>0" moved the cursor to after the line instead of
sticking to the first column.
When using ":wq" and a BufWriteCmd autocmd uses inputsecret() the text was
echoed anyway. Set terminal to raw mode in getcmdline().
Unix: ":w a;b~c" caused an error in expanding wildcards.
When appending to a file with ":w >>fname" in a buffer without a name, causing
the buffer to use "fname", the modified flag was reset.
When appending to to current file the "not edited" flag would be reset.
":w" would overwrite the file accidentally.
Unix: When filtering text with an external command Vim would still read input,
causing text typed for the command (e.g., a password) to be eaten and echoed.
Don't read input when the terminal is in cooked mode.
The Cygwin version of xxd used CR/LF line separators. (Corinna Vinschen)
Unix: When filtering text through a shell command some resulting text may be
dropped. Now after detecting that the child has exited try reading some more
of its output.
When inside input(), using "CTRL-R =" and the expression throws an exception
the command line was not abandoned but it wasn't used either. Now abandon
typing the command line.
'delcombine' was also used in Visual and Select mode and for commands like
"cl". That was illogical and has been disabled.
When recording while a CursorHold autocommand was defined special keys would
appear in the register. Now the CursorHold event is not triggered while
recording.
Unix: the src/configure script used ${srcdir-.}, not all shells understand
that. Use ${srcdir:-.} instead.
When editing file "a" which is a symlink to file "b" that doesn't exist,
writing file "a" to create "b" and then ":split b" resulted in two buffers on
the same file with two different swapfile names. Now set the inode in the
buffer when creating a new file.
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: Perl
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
" Last Change: 2004 Dec 06
" Last Change: 2005 Dec 16
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
@@ -27,7 +27,7 @@ endif
" Provided by Ned Konz <ned at bike-nomad dot com>
"---------------------------------------------
setlocal include=\\<\\(use\\|require\\)\\>
setlocal include=\\<\\(use\\\|require\\)\\>
setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'$','.pm','')
setlocal define=[^A-Za-z_]

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +1,8 @@
" Vim Keymap file for Persian Standard Keyboard Layout
" Maintainers: Behnam Esfahbod <behnam@bamdad.org>,
" Amir Hedayaty <amir@bamdad.org>
" Last Change: 2004 May 16
" Maintainers: Behnam 'ZWNJ' Esfahbod <behnam@zwnj.org>,
" Amir Hedayaty <hedayaty@gmail.com>
" Last Change: 2005 Nov 30
" All characters are given literally, conversion to another encoding (e.g.,
" UTF-8) should work.
scriptencoding utf-8
" Use this short name in the status line.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

View File

@@ -88,6 +88,23 @@ menutrans &Jump\ to\ this\ tag<Tab>g^] &Sko
menutrans Jump\ &back<Tab>^T Sko<EFBFBD>it\ &zp<EFBFBD>t<Tab>^T
menutrans Build\ &Tags\ File &Vytvo<EFBFBD>it\ soubor\ tag<EFBFBD>
menutrans &Spelling &Kontrola\ pravopisu
menutrans &Spell\ Check\ On Kontrola\ pravopisu\ &zapnuta
menutrans Spell\ Check\ &Off Kontrola\ pravopisu\ &vypnuta
menutrans To\ Next\ error<Tab>]s &Dal<EFBFBD><EFBFBD>\ chyba<Tab>]s
menutrans To\ Previous\ error<Tab>[s &P<EFBFBD>edchoz<EFBFBD>\ chyba<Tab>[s
menutrans Suggest\ Corrections<Tab>z? &N<EFBFBD>vrh\ oprav<Tab>z?
menutrans Repeat\ correction<Tab>:spellrepall Zopakovat\ &opravu<Tab>:spellrepall
menutrans Set\ language\ to\ "en" Nastav\ jazyk\ na\ "en"
menutrans Set\ language\ to\ "en_au" Nastav\ jazyk\ na\ "en_au"
menutrans Set\ language\ to\ "en_ca" Nastav\ jazyk\ na\ "en_ca"
menutrans Set\ language\ to\ "en_gb" Nastav\ jazyk\ na\ "en_gb"
menutrans Set\ language\ to\ "en_nz" Nastav\ jazyk\ na\ "en_nz"
menutrans Set\ language\ to\ "en_us" Nastav\ jazyk\ na\ "en_us"
menutrans Set\ language\ to\ "cz" Nastav\ jazyk\ na\ "cz"
menutrans Set\ language\ to\ "cs_cz" Nastav\ jazyk\ na\ "cs_cz"
menutrans &Find\ More\ Languages Nal<EFBFBD>zt\ dal<EFBFBD><EFBFBD>\ &jazyky
menutrans &Folding &Foldy
menutrans &Enable/Disable\ folds<Tab>zi &Ano/Ne<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv &Zobrazit\ <20><>dek\ kurzoru<Tab>zv
@@ -119,6 +136,7 @@ menutrans &Previous\ Error<Tab>:cp &P
menutrans &Older\ List<Tab>:cold Sta&r<EFBFBD><EFBFBD>\ seznam<Tab>:cold
menutrans N&ewer\ List<Tab>:cnew N&ov<EFBFBD>j<EFBFBD><EFBFBD>\ seznam<Tab>:cnew
menutrans Error\ &Window Chybov<EFBFBD>\ o&kno
menutrans SeT\ Compiler Nas&taven<EFBFBD>\ kompil<EFBFBD>toru
menutrans &Update<Tab>:cwin O&bnovit<Tab>:cwin
menutrans &Open<Tab>:copen &Otev<EFBFBD><EFBFBD>t<Tab>:copen
menutrans &Close<Tab>:cclose &Zav<EFBFBD><EFBFBD>t<Tab>:cclose

View File

@@ -88,6 +88,23 @@ menutrans &Jump\ to\ this\ tag<Tab>g^] &Sko
menutrans Jump\ &back<Tab>^T Sko<EFBFBD>it\ &zp<EFBFBD>t<Tab>^T
menutrans Build\ &Tags\ File &Vytvo<EFBFBD>it\ soubor\ tag<EFBFBD>
menutrans &Spelling &Kontrola\ pravopisu
menutrans &Spell\ Check\ On Kontrola\ pravopisu\ &zapnuta
menutrans Spell\ Check\ &Off Kontrola\ pravopisu\ &vypnuta
menutrans To\ Next\ error<Tab>]s &Dal<EFBFBD><EFBFBD>\ chyba<Tab>]s
menutrans To\ Previous\ error<Tab>[s &P<EFBFBD>edchoz<EFBFBD>\ chyba<Tab>[s
menutrans Suggest\ Corrections<Tab>z? &N<EFBFBD>vrh\ oprav<Tab>z?
menutrans Repeat\ correction<Tab>:spellrepall Zopakovat\ &opravu<Tab>:spellrepall
menutrans Set\ language\ to\ "en" Nastav\ jazyk\ na\ "en"
menutrans Set\ language\ to\ "en_au" Nastav\ jazyk\ na\ "en_au"
menutrans Set\ language\ to\ "en_ca" Nastav\ jazyk\ na\ "en_ca"
menutrans Set\ language\ to\ "en_gb" Nastav\ jazyk\ na\ "en_gb"
menutrans Set\ language\ to\ "en_nz" Nastav\ jazyk\ na\ "en_nz"
menutrans Set\ language\ to\ "en_us" Nastav\ jazyk\ na\ "en_us"
menutrans Set\ language\ to\ "cz" Nastav\ jazyk\ na\ "cz"
menutrans Set\ language\ to\ "cs_cz" Nastav\ jazyk\ na\ "cs_cz"
menutrans &Find\ More\ Languages Nal<EFBFBD>zt\ dal<EFBFBD><EFBFBD>\ &jazyky
menutrans &Folding &Foldy
menutrans &Enable/Disable\ folds<Tab>zi &Ano/Ne<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv &Zobrazit\ <20><>dek\ kurzoru<Tab>zv
@@ -119,6 +136,7 @@ menutrans &Previous\ Error<Tab>:cp &P
menutrans &Older\ List<Tab>:cold Sta&r<EFBFBD><EFBFBD>\ seznam<Tab>:cold
menutrans N&ewer\ List<Tab>:cnew N&ov<EFBFBD>j<EFBFBD><EFBFBD>\ seznam<Tab>:cnew
menutrans Error\ &Window Chybov<EFBFBD>\ o&kno
menutrans SeT\ Compiler Nas&taven<EFBFBD>\ kompil<EFBFBD>toru
menutrans &Update<Tab>:cwin O&bnovit<Tab>:cwin
menutrans &Open<Tab>:copen &Otev<EFBFBD><EFBFBD>t<Tab>:copen
menutrans &Close<Tab>:cclose &Zav<EFBFBD><EFBFBD>t<Tab>:cclose

View File

@@ -88,6 +88,23 @@ menutrans &Jump\ to\ this\ tag<Tab>g^] &Skocit\ na\ tag<Tab>g^]
menutrans Jump\ &back<Tab>^T Skocit\ &zpet<Tab>^T
menutrans Build\ &Tags\ File &Vytvorit\ soubor\ tagu
menutrans &Spelling &Kontrola\ pravopisu
menutrans &Spell\ Check\ On Kontrola\ pravopisu\ &zapnuta
menutrans Spell\ Check\ &Off Kontrola\ pravopisu\ &vypnuta
menutrans To\ Next\ error<Tab>]s &Dalsi\ chyba<Tab>]s
menutrans To\ Previous\ error<Tab>[s &Predchozi\ chyba<Tab>[s
menutrans Suggest\ Corrections<Tab>z? &Navrh\ oprav<Tab>z?
menutrans Repeat\ correction<Tab>:spellrepall Zopakovat\ &opravu<Tab>:spellrepall
menutrans Set\ language\ to\ "en" Nastav\ jazyk\ na\ "en"
menutrans Set\ language\ to\ "en_au" Nastav\ jazyk\ na\ "en_au"
menutrans Set\ language\ to\ "en_ca" Nastav\ jazyk\ na\ "en_ca"
menutrans Set\ language\ to\ "en_gb" Nastav\ jazyk\ na\ "en_gb"
menutrans Set\ language\ to\ "en_nz" Nastav\ jazyk\ na\ "en_nz"
menutrans Set\ language\ to\ "en_us" Nastav\ jazyk\ na\ "en_us"
menutrans Set\ language\ to\ "cz" Nastav\ jazyk\ na\ "cz"
menutrans Set\ language\ to\ "cs_cz" Nastav\ jazyk\ na\ "cs_cz"
menutrans &Find\ More\ Languages Nalezt\ dalsi\ &jazyky
menutrans &Folding &Foldy
menutrans &Enable/Disable\ folds<Tab>zi &Ano/Ne<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv &Zobrazit\ radek\ kurzoru<Tab>zv
@@ -119,6 +136,7 @@ menutrans &Previous\ Error<Tab>:cp &Predchozi\ chyba<Tab>:cp
menutrans &Older\ List<Tab>:cold Sta&rsi\ seznam<Tab>:cold
menutrans N&ewer\ List<Tab>:cnew N&ovejsi\ seznam<Tab>:cnew
menutrans Error\ &Window Chybove\ o&kno
menutrans SeT\ Compiler Nas&taveni\ kompilatoru
menutrans &Update<Tab>:cwin O&bnovit<Tab>:cwin
menutrans &Open<Tab>:copen &Otevrit<Tab>:copen
menutrans &Close<Tab>:cclose &Zavrit<Tab>:cclose

View File

@@ -1,6 +1,7 @@
" Menu Translations: Espa<70>ol
" Maintainer: Alejandro L<>pez-Valencia <dradul@yahoo.com>
" Last Change: 2004 May 12
" Maintainer: Alejandro L<>pez-Valencia <dradul@users.sourceforge.net>
" Version: 6.4.p0-1
" Last Change: 2005 Dec 01
"
" Quit when menu translations have already been done.
@@ -86,7 +87,7 @@ menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! Activar/Desactivar\ compatiblida
menutrans Search\ &Path\.\.\. Ruta\ de\ &b<EFBFBD>squeda\.\.\.
menutrans Ta&g\ Files\.\.\. Ficheros\ de\ <EFBFBD>ta&gs<EFBFBD>\.\.\.
menutrans Ta&g\ Files\.\.\. Ficheros\ de\ &etiquetas\.\.\.
" GUI options
menutrans Toggle\ &Toolbar Ocultar/Mostrar\ barra\ de\ &herramientas
@@ -102,7 +103,7 @@ menutrans F&ile\ Settings Opciones\ del\ &fichero
" Boolean options
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Activar/Desactivar\ &numeraci<EFBFBD>n\ de\ l<EFBFBD>neas<Tab>:set\ nu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! Activar/Desactivar\ modo\ <EFBFBD>&list<EFBFBD><Tab>:set\ list!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! Activar/Desactivar\ modo\ de\ lista<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! Activar/Desactivar\ &quiebre\ de\ l<EFBFBD>neas<Tab>:set\ wrap!
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! Activar/Desactivar\ quiebre\ entre\ &palabras<Tab>:set\ lbr!
menutrans Toggle\ &expand-tab<Tab>:set\ et! Activar/Desactivar\ &expansi<EFBFBD>n\ de\ marcas\ de\ \tabulado<Tab>:set\ et!
@@ -151,9 +152,9 @@ menutrans slovak eslovaco
" Programming menu
menutrans &Tools &Herramientas
menutrans &Jump\ to\ this\ tag<Tab>g^] &Saltar\ a\ este\ <EFBFBD>tag<EFBFBD><Tab>g^]
menutrans &Jump\ to\ this\ tag<Tab>g^] &Saltar\ a\ este\ etiqueta<Tab>g^]
menutrans Jump\ &back<Tab>^T Saltar\ &atr<EFBFBD>s<Tab>^T
menutrans Build\ &Tags\ File Crear\ fichero\ de\ <EFBFBD>&tags<EFBFBD>\
menutrans Build\ &Tags\ File Crear\ fichero\ de\ &etiquetas\
menutrans &Diff Modo\ de\ &diferencias
menutrans &Folding &Plegado
menutrans &Make<Tab>:make Ejecutar\ <20>&Make<EFBFBD><Tab>:make
@@ -260,8 +261,8 @@ if has("toolbar")
if 0 " disabled; These are in the Windows menu
tmenu ToolBar.New Ventana nueva
tmenu ToolBar.WinSplit Dividir ventana
tmenu ToolBar.WinMax Ventana m<EFBFBD>xima
tmenu ToolBar.WinMin Ventana m<EFBFBD>nima
tmenu ToolBar.WinMax Altura m<EFBFBD>xima
tmenu ToolBar.WinMin Altura m<EFBFBD>nima
tmenu ToolBar.WinVSplit Dividir verticalmente
tmenu ToolBar.WinMaxWidth Anchura m<EFBFBD>xima
tmenu ToolBar.WinMinWidth Anchura m<EFBFBD>nima
@@ -269,11 +270,11 @@ if has("toolbar")
endif
tmenu ToolBar.LoadSesn Cargar sesi<EFBFBD>n
tmenu ToolBar.SaveSesn Guardar sesi<EFBFBD>n
tmenu ToolBar.RunScript Ejecutar un <EFBFBD>script<EFBFBD>
tmenu ToolBar.RunScript Ejecutar un archivo de <20>rdenes
tmenu ToolBar.Make Ejecutar <20>Make<EFBFBD>
tmenu ToolBar.Shell Abrir una <EFBFBD>Shell<EFBFBD>
tmenu ToolBar.RunCtags Generar un fichero de <EFBFBD>tags<EFBFBD>
tmenu ToolBar.TagJump Saltar a un <EFBFBD>tag<EFBFBD>
tmenu ToolBar.Shell Abrir un int<EFBFBD>rprete de comandos
tmenu ToolBar.RunCtags Generar un fichero de etiquetas
tmenu ToolBar.TagJump Saltar a una etiqueta
tmenu ToolBar.Help Ayuda
tmenu ToolBar.FindHelp Buscar en la ayuda...
endfun
@@ -282,15 +283,15 @@ endif
" Syntax menu
menutrans &Syntax &Sintaxis
menutrans &Show\ filetypes\ in\ menu &Mostrar\ listas\ de\ <20>tipo\ de\ fichero<EFBFBD>
menutrans Set\ '&syntax'\ only Activar\ s<EFBFBD>lo\ <EFBFBD>sintaxis<EFBFBD>
menutrans Set\ '&syntax'\ only Activar\ s<EFBFBD>lo\ sintaxis
menutrans Set\ '&filetype'\ too Activar\ tambi<EFBFBD>n\ <20>tipo\ de\ fichero<EFBFBD>
menutrans &Off &Desactivar\ <EFBFBD>sintaxis<EFBFBD>
menutrans &Manual <EFBFBD>sintaxis<EFBFBD>\ &manual
menutrans A&utomatic <EFBFBD>sintaxis<EFBFBD>\ a&utom<EFBFBD>tica
menutrans &Off &Desactivar\ sintaxis
menutrans &Manual sintaxis\ &manual
menutrans A&utomatic sintaxis\ a&utom<EFBFBD>tica
menutrans on/off\ for\ &This\ file Activar/Desactivar\ en\ es&te\ fichero
menutrans Co&lor\ test &Prueba\ de\ colores
menutrans &Highlight\ test Prueba\ de\ &realzado
menutrans &Convert\ to\ HTML &Convertir\ en\ HTML
menutrans &Convert\ to\ HTML &Convertir\ a\ HTML
" Find Help dialog text
let g:menutrans_help_dialog = "Introduzca un nombre de comando o palabra para obtener ayuda;\n\nAnteponga i_ para comandos de entrada (e.g.: i_CTRL-X)\nAnteponga c_ para comandos de la l<>nea de comandos (e.g.: c_<Del>)\nAnteponga ` para un nombre de opci<63>n (e.g.: `shiftwidth`)"

View File

@@ -12,11 +12,19 @@ The other files contain some handy utilities. They also serve as examples for
how to use Vi and Vim functionality.
dvorak for when you use a Dvorak keyboard
justify.vim user function for justifying text
matchit.vim + matchit.txt make % match if-fi, HTML tags, and much more
less.sh + less.vim make Vim work like less (or more)
shellmenu.vim menus for editing shell scripts in the GUI version
swapmous.vim swap left and right mouse buttons
editexisting.vim when editing a file that is already edited with
another Vim instance
This one is only for Unix. It can be found in the extra archive:
file_select.vim macros that make a handy file selector

View File

@@ -0,0 +1,100 @@
" Vim Plugin: Edit the file with an existing Vim if possible
" Maintainer: Bram Moolenaar
" Last Change: 2005 Dec 15
" This is a plugin, drop it in your (Unix) ~/.vim/plugin or (Win32)
" $VIM/vimfiles/plugin directory. Or make a symbolic link, so that you
" automatically use the latest version.
" This plugin serves two purposes:
" 1. On startup, if we were invoked with one file name argument and the file
" is not modified then try to find another Vim instance that is editing
" this file. If there is one then bring it to the foreground and exit.
" 2. When a file is edited and a swap file exists for it, try finding that
" other Vim and bring it to the foreground. Requires Vim 7, because it
" uses the SwapExists autocommand event.
" Function that finds the Vim instance that is editing "filename" and brings
" it to the foreground.
func s:EditElsewhere(filename)
let fname_esc = substitute(a:filename, "'", "''", "g")
let servers = serverlist()
while servers != ''
" Get next server name in "servername"; remove it from "servers".
let i = match(servers, "\n")
if i == -1
let servername = servers
let servers = ''
else
let servername = strpart(servers, 0, i)
let servers = strpart(servers, i + 1)
endif
" Skip ourselves.
if servername ==? v:servername
continue
endif
" Check if this server is editing our file.
if remote_expr(servername, "bufloaded('" . fname_esc . "')")
" Yes, bring it to the foreground.
if has("win32")
call remote_foreground(servername)
endif
call remote_expr(servername, "foreground()")
if remote_expr(servername, "exists('*EditExisting')")
" Make sure the file is visible in a window (not hidden).
" If v:swapcommand exists and is set, send it to the server.
if exists("v:swapcommand")
let c = substitute(v:swapcommand, "'", "''", "g")
call remote_expr(servername, "EditExisting('" . fname_esc . "', '" . c . "')")
else
call remote_expr(servername, "EditExisting('" . fname_esc . "', '')")
endif
endif
if !(has('vim_starting') && has('gui_running') && has('gui_win32'))
" Tell the user what is happening. Not when the GUI is starting
" though, it would result in a message box.
echomsg "File is being edited by " . servername
sleep 2
endif
return 'q'
endif
endwhile
return ''
endfunc
" When the plugin is loaded and there is one file name argument: Find another
" Vim server that is editing this file right now.
if argc() == 1 && !&modified
if s:EditElsewhere(expand("%:p")) == 'q'
quit
endif
endif
" Setup for handling the situation that an existing swap file is found.
try
au! SwapExists * let v:swapchoice = s:EditElsewhere(expand("<afile>:p"))
catch
" Without SwapExists we don't do anything for ":edit" commands
endtry
" Function used on the server to make the file visible and possibly execute a
" command.
func! EditExisting(fname, command)
let n = bufwinnr(a:fname)
if n > 0
exe n . "wincmd w"
else
exe "split " . escape(a:fname, ' #%"|')
endif
if a:command != ''
exe "normal " . a:command
endif
redraw
endfunc

View File

@@ -1,6 +1,6 @@
" Script to define the syntax menu in synmenu.vim
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2004 Dec 17
" Last Change: 2005 Dec 01
" This is used by "make menu" in the src directory.
edit <sfile>:p:h/synmenu.vim
@@ -155,7 +155,10 @@ SynMenu DE.Elinks\ config:elinks
SynMenu DE.Elm\ filter\ rules:elmfilt
SynMenu DE.Embedix\ Component\ Description:ecd
SynMenu DE.ERicsson\ LANGuage:erlang
SynMenu DE.ESMTP\ rc:esmtprc
SynMenu DE.ESQL-C:esqlc
SynMenu DE.Essbase\ script:csc
SynMenu DE.Esterel:esterel
SynMenu DE.Eterm\ config:eterm
SynMenu DE.Exim\ conf:exim
SynMenu DE.Expect:expect
@@ -194,6 +197,7 @@ SynMenu HIJK.Hex\ dump.XXD:xxd
SynMenu HIJK.Hex\ dump.Intel\ MCS51:hex
SynMenu HIJK.HTML.HTML:html
SynMenu HIJK.HTML.HTML\ with\ M4:htmlm4
SynMenu HIJK.HTML.HTML\ with\ Ruby\ (eRuby):eruby
SynMenu HIJK.HTML.Cheetah\ HTML\ template:htmlcheetah
SynMenu HIJK.HTML.HTML/OS:htmlos
SynMenu HIJK.HTML.XHTML:xhtml
@@ -279,6 +283,7 @@ SynMenu Me-NO.MUSHcode:mush
SynMenu Me-NO.Muttrc:muttrc
SynMenu Me-NO.Nastran\ input/DMAP:nastran
SynMenu Me-NO.Natural:natural
SynMenu Me-NO.Netrc:netrc
SynMenu Me-NO.Novell\ NCF\ batch:ncf
SynMenu Me-NO.Not\ Quite\ C\ (LEGO):nqc
SynMenu Me-NO.Nroff:nroff
@@ -307,6 +312,7 @@ SynMenu PQ.Pike:pike
SynMenu PQ.Pine\ RC:pine
SynMenu PQ.Pinfo\ RC:pinfo
SynMenu PQ.PL/M:plm
SynMenu PQ.PL/SQL:plsql
SynMenu PQ.PLP:plp
SynMenu PQ.PO\ (GNU\ gettext):po
SynMenu PQ.Postfix\ main\ config:pfmain
@@ -314,6 +320,7 @@ SynMenu PQ.PostScript.PostScript:postscr
SynMenu PQ.PostScript.PostScript\ Printer\ Description:ppd
SynMenu PQ.Povray.Povray\ scene\ descr:pov
SynMenu PQ.Povray.Povray\ configuration:povini
SynMenu PQ.Prescribe\ (Kyocera):prescribe
SynMenu PQ.Printcap:pcap
SynMenu PQ.Procmail:procmail
SynMenu PQ.Product\ Spec\ File:psf
@@ -433,6 +440,7 @@ SynMenu TUV.TSS.Optics:tssop
SynMenu TUV.UIT/UIL:uil
SynMenu TUV.UnrealScript:uc
SynMenu TUV.Valgrind:valgrind
SynMenu TUV.Verilog-AMS\ HDL:verilogams
SynMenu TUV.Verilog\ HDL:verilog
SynMenu TUV.Vgrindefs:vgrindefs
SynMenu TUV.VHDL:vhdl

View File

@@ -1,312 +0,0 @@
" NetrwFileHandlers: contains various extension-based file handlers for
" netrw's browsers' x command ("eXecute launcher")
" Author: Charles E. Campbell, Jr.
" Date: Aug 15, 2005
" Version: 6
" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
" NetrwFileHandlers.vim is provided *as is* and comes with no
" warranty of any kind, either expressed or implied. In no
" event will the copyright holder be liable for any damages
" resulting from the use of this software.
"
" Rom 6:23 (WEB) For the wages of sin is death, but the free gift of God {{{1
" is eternal life in Christ Jesus our Lord.
" ---------------------------------------------------------------------
" Load Once: {{{1
if exists("g:loaded_NetrwFileHandlers") || &cp
finish
endif
let s:keepcpo= &cpo
set cpo&vim
let g:loaded_NetrwFileHandlers= "v6"
" ---------------------------------------------------------------------
" NetrwFileHandler_html: handles html when the user hits "x" when the {{{1
" cursor is atop a *.html file
fun! NetrwFileHandler_html(pagefile)
" call Dfunc("NetrwFileHandler_html(".a:pagefile.")")
let page= substitute(a:pagefile,'^','file://','')
if executable("mozilla")
" call Decho("executing !mozilla ".page)
exe "!mozilla \"".page.'"'
elseif executable("netscape")
" call Decho("executing !netscape ".page)
exe "!netscape \"".page.'"'
else
" call Dret("NetrwFileHandler_html 0")
return 0
endif
" call Dret("NetrwFileHandler_html 1")
return 1
endfun
" ---------------------------------------------------------------------
" NetrwFileHandler_htm: handles html when the user hits "x" when the {{{1
" cursor is atop a *.htm file
fun! NetrwFileHandler_htm(pagefile)
" call Dfunc("NetrwFileHandler_htm(".a:pagefile.")")
let page= substitute(a:pagefile,'^','file://','')
if executable("mozilla")
" call Decho("executing !mozilla ".page)
exe "!mozilla \"".page.'"'
elseif executable("netscape")
" call Decho("executing !netscape ".page)
exe "!netscape \"".page.'"'
else
" call Dret("NetrwFileHandler_htm 0")
return 0
endif
" call Dret("NetrwFileHandler_htm 1")
return 1
endfun
" ---------------------------------------------------------------------
" NetrwFileHandler_jpg: {{{1
fun! NetrwFileHandler_jpg(jpgfile)
" call Dfunc("NetrwFileHandler_jpg(jpgfile<".a:jpgfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".a:jpgfile
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
" call Decho("silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".escape(a:jpgfile," []|'"))
exe "!".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:jpgfile.'"'
else
" call Dret("NetrwFileHandler_jpg 0")
return 0
endif
" call Dret("NetrwFileHandler_jpg 1")
return 1
endfun
" ---------------------------------------------------------------------
" NetrwFileHandler_gif: {{{1
fun! NetrwFileHandler_gif(giffile)
" call Dfunc("NetrwFileHandler_gif(giffile<".a:giffile.">)")
if executable("gimp")
exe "silent! !gimp -s ".a:giffile
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:giffile.'"'
else
" call Dret("NetrwFileHandler_gif 0")
return 0
endif
" call Dret("NetrwFileHandler_gif 1")
return 1
endfun
" ---------------------------------------------------------------------
" NetrwFileHandler_png: {{{1
fun! NetrwFileHandler_png(pngfile)
" call Dfunc("NetrwFileHandler_png(pngfile<".a:pngfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".a:pngfile
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:pngfile.'"'
else
" call Dret("NetrwFileHandler_png 0")
return 0
endif
" call Dret("NetrwFileHandler_png 1")
return 1
endfun
" ---------------------------------------------------------------------
" NetrwFileHandler_pnm: {{{1
fun! NetrwFileHandler_pnm(pnmfile)
" call Dfunc("NetrwFileHandler_pnm(pnmfile<".a:pnmfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".a:pnmfile
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:pnmfile.'"'
else
" call Dret("NetrwFileHandler_pnm 0")
return 0
endif
" call Dret("NetrwFileHandler_pnm 1")
return 1
endfun
" ---------------------------------------------------------------------
" NetrwFileHandler_bmp: visualize bmp files {{{1
fun! NetrwFileHandler_bmp(bmpfile)
" call Dfunc("NetrwFileHandler_bmp(bmpfile<".a:bmpfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".a:bmpfile
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:bmpfile.'"'
else
" call Dret("NetrwFileHandler_bmp 0")
return 0
endif
" call Dret("NetrwFileHandler_bmp 1")
return 1
endfun
" ---------------------------------------------------------------------
" NetrwFileHandler_pdf: visualize pdf files {{{1
fun! NetrwFileHandler_pdf(pdf)
" " call Dfunc("NetrwFileHandler_pdf(pdf<".a:pdf.">)")
if executable("gs")
exe 'silent! !gs "'.a:pdf.'"'
else
" " call Dret("NetrwFileHandler_pdf 0")
return 0
endif
" " call Dret("NetrwFileHandler_pdf 1")
return 1
endfun
" ---------------------------------------------------------------------
" NetrwFileHandler_doc: visualize doc files {{{1
fun! NetrwFileHandler_doc(doc)
" " call Dfunc("NetrwFileHandler_doc(doc<".a:doc.">)")
if executable("oowriter")
exe 'silent! !oowriter "'.a:doc.'"'
redraw!
else
" " call Dret("NetrwFileHandler_doc 0")
return 0
endif
" " call Dret("NetrwFileHandler_doc 1")
return 1
endfun
" ---------------------------------------------------------------------
" NetrwFileHandler_sxw: visualize sxw files {{{1
fun! NetrwFileHandler_sxw(sxw)
" " call Dfunc("NetrwFileHandler_sxw(sxw<".a:sxw.">)")
if executable("oowriter")
exe 'silent! !oowriter "'.a:sxw.'"'
redraw!
else
" " call Dret("NetrwFileHandler_sxw 0")
return 0
endif
" " call Dret("NetrwFileHandler_sxw 1")
return 1
endfun
" ---------------------------------------------------------------------
" NetrwFileHandler_xls: visualize xls files {{{1
fun! NetrwFileHandler_xls(xls)
" " call Dfunc("NetrwFileHandler_xls(xls<".a:xls.">)")
if executable("oocalc")
exe 'silent! !oocalc "'.a:xls.'"'
redraw!
else
" " call Dret("NetrwFileHandler_xls 0")
return 0
endif
" " call Dret("NetrwFileHandler_xls 1")
return 1
endfun
" ---------------------------------------------------------------------
" NetrwFileHandler_ps: handles PostScript files {{{1
fun! NetrwFileHandler_ps(ps)
" call Dfunc("NetrwFileHandler_ps()")
if executable("gs")
exe "silent! !gs ".a:ps
redraw!
elseif executable("ghostscript")
exe "silent! !ghostscript ".a:ps
redraw!
elseif executable("ghostscript")
exe "silent! !ghostscript ".a:ps
redraw!
elseif executable("gswin32")
exe "silent! !gswin32 \"".a:ps.'"'
redraw!
else
" call Dret("NetrwFileHandler_ps 0")
return 0
endif
" call Dret("NetrwFileHandler_ps 1")
return 1
endfun
" ---------------------------------------------------------------------
" NetrwFileHandler_eps: handles encapsulated PostScript files {{{1
fun! NetrwFileHandler_eps(eps)
" call Dfunc("NetrwFileHandler_ps()")
if executable("gs")
exe "silent! !gs ".a:eps
redraw!
elseif executable("ghostscript")
exe "silent! !ghostscript ".a:eps
redraw!
elseif executable("ghostscript")
exe "silent! !ghostscript ".a:eps
redraw!
elseif executable("gswin32")
exe "silent! !gswin32 \"".a:eps.'"'
redraw!
else
" call Dret("NetrwFileHandler_ps 0")
return 0
endif
endfun
" ---------------------------------------------------------------------
" NetrwFileHandler_fig: handles xfig files {{{1
fun! NetrwFileHandler_fig(fig)
" call Dfunc("NetrwFileHandler_fig()")
if executable("xfig")
exe "silent! !xfig ".a:fig
redraw!
else
" call Dret("NetrwFileHandler_fig 0")
return 0
endif
" call Dret("NetrwFileHandler_fig 1")
return 1
endfun
" ---------------------------------------------------------------------
" NetrwFileHandler_obj: handles tgif's obj files {{{1
fun! NetrwFileHandler_obj(obj)
" call Dfunc("NetrwFileHandler_obj()")
if has("unix") && executable("tgif")
exe "silent! !tgif ".a:obj
redraw!
else
" call Dret("NetrwFileHandler_obj 0")
return 0
endif
" call Dret("NetrwFileHandler_obj 1")
return 1
endfun
let &cpo= s:keepcpo
" ---------------------------------------------------------------------
" Modelines: {{{1
" vim: ts=4 fdm=marker

View File

@@ -1,156 +0,0 @@
" netrw.vim: Handles file transfer and remote directory listing across a network
" PLUGIN PORTION
" Last Change: Aug 31, 2005
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
" Version: 67
" License: Vim License (see vim's :help license)
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
" netrw.vim is provided *as is* and comes with no warranty
" of any kind, either expressed or implied. By using this
" plugin, you agree that in no event will the copyright
" holder be liable for any damages resulting from the use
" of this software.
"
" But be doers of the Word, and not only hearers, deluding your own selves {{{1
" (James 1:22 RSV)
" =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
" ---------------------------------------------------------------------
" Load Once: {{{1
if exists("g:loaded_netrw") || &cp
finish
endif
if v:version < 600
echoerr "***netrw*** doesn't support Vim version ".v:version
finish
endif
let g:loaded_netrw = "v67"
if v:version < 700
let loaded_explorer = 1
endif
let s:keepcpo= &cpo
set cpo&vim
" ---------------------------------------------------------------------
" Public Interface: {{{1
" Local Browsing: {{{2
augroup FileExplorer
au!
au BufEnter * call s:LocalBrowse(expand("<amatch>"))
augroup END
" Network Browsing Reading Writing: {{{2
augroup Network
au!
if has("win32") || has("win95") || has("win64") || has("win16")
au BufReadCmd file://* exe "silent doau BufReadPre ".expand("<amatch>")|exe 'e '.substitute(expand("<amatch>"),"file:/*","","")|exe "silent doau BufReadPost ".expand("<amatch>")
else
au BufReadCmd file:///* exe "silent doau BufReadPre ".expand("<amatch>")|exe 'e /'.substitute(expand("<amatch>"),"file:/*","","")|exe "silent doau BufReadPost ".expand("<amatch>")
au BufReadCmd file://localhost/* exe "silent doau BufReadPre ".expand("<amatch>")|exe 'e /'.substitute(expand("<amatch>"),"file:/*","","")|exe "silent doau BufReadPost ".expand("<amatch>")
endif
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,rsync://*,sftp://* exe "silent doau BufReadPre ".expand("<amatch>")|exe "Nread 0r ".expand("<amatch>")|exe "silent doau BufReadPost ".expand("<amatch>")
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,rsync://*,sftp://* exe "silent doau BufReadPre ".expand("<amatch>")|exe "Nread " .expand("<amatch>")|exe "silent doau FileReadPost ".expand("<amatch>")
au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,rsync://*,sftp://* exe "silent doau BufWritePre ".expand("<amatch>")|exe "Nwrite " .expand("<amatch>")|exe "silent doau BufWritePost ".expand("<amatch>")
au FileWriteCmd ftp://*,rcp://*,scp://*,dav://*,rsync://*,sftp://* exe "silent doau BufWritePre ".expand("<amatch>")|exe "'[,']Nwrite " .expand("<amatch>")|exe "silent doau FileWritePost ".expand("<amatch>")
augroup END
" Commands: :Nread, :Nwrite, :NetUserPass {{{2
com! -nargs=* Nread call netrw#NetSavePosn()<bar>call netrw#NetRead(<f-args>)<bar>call netrw#NetRestorePosn()
com! -range=% -nargs=* Nwrite call netrw#NetSavePosn()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call netrw#NetRestorePosn()
com! -nargs=* NetUserPass call NetUserPass(<f-args>)
" Commands: :Explore, :Sexplore, Hexplore, Vexplore {{{2
com! -nargs=? -bar -bang -count=0 Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>)
com! -nargs=? -bar -bang -count=0 Sexplore call netrw#Explore(<count>,1,0+<bang>0,<q-args>)
com! -nargs=? -bar -bang -count=0 Hexplore call netrw#Explore(<count>,1,2+<bang>0,<q-args>)
com! -nargs=? -bar -bang -count=0 Vexplore call netrw#Explore(<count>,1,4+<bang>0,<q-args>)
com! -nargs=? -bar -bang Nexplore call netrw#Explore(-1,0,0,<q-args>)
com! -nargs=? -bar -bang Pexplore call netrw#Explore(-2,0,0,<q-args>)
" Commands: NetrwSettings {{{2
com! -nargs=0 NetrwSettings :call NetrwSettings#NetrwSettings()
" ---------------------------------------------------------------------
" LocalBrowse: {{{2
fun! s:LocalBrowse(dirname)
" unfortunate interaction -- debugging calls can't be used here;
" the BufEnter event causes triggering when attempts to write to
" the DBG buffer are made.
if isdirectory(a:dirname)
call netrw#DirBrowse(a:dirname)
endif
" not a directory, ignore it
endfun
" ---------------------------------------------------------------------
" NetrwStatusLine: {{{1
fun! NetrwStatusLine()
" let g:stlmsg= "Xbufnr=".w:netrw_explore_bufnr." bufnr=".bufnr(".")." Xline#".w:netrw_explore_line." line#".line(".")
if !exists("w:netrw_explore_bufnr") || w:netrw_explore_bufnr != bufnr(".") || !exists("w:netrw_explore_line") || w:netrw_explore_line != line(".") || !exists("w:netrw_explore_list")
let &stl= s:netrw_explore_stl
if exists("w:netrw_explore_bufnr")|unlet w:netrw_explore_bufnr|endif
if exists("w:netrw_explore_line")|unlet w:netrw_explore_line|endif
return ""
else
return "Match ".w:netrw_explore_mtchcnt." of ".w:netrw_explore_listlen
endif
endfun
" ------------------------------------------------------------------------
" NetUserPass: set username and password for subsequent ftp transfer {{{1
" Usage: :call NetUserPass() -- will prompt for userid and password
" :call NetUserPass("uid") -- will prompt for password
" :call NetUserPass("uid","password") -- sets global userid and password
fun! NetUserPass(...)
" get/set userid
if a:0 == 0
" call Dfunc("NetUserPass(a:0<".a:0.">)")
if !exists("g:netrw_uid") || g:netrw_uid == ""
" via prompt
let g:netrw_uid= input('Enter username: ')
endif
else " from command line
" call Dfunc("NetUserPass(a:1<".a:1.">) {")
let g:netrw_uid= a:1
endif
" get password
if a:0 <= 1 " via prompt
" call Decho("a:0=".a:0." case <=1:")
let g:netrw_passwd= inputsecret("Enter Password: ")
else " from command line
" call Decho("a:0=".a:0." case >1: a:2<".a:2.">")
let g:netrw_passwd=a:2
endif
" call Dret("NetUserPass")
endfun
" ------------------------------------------------------------------------
" NetReadFixup: this sort of function is typically written by the user {{{1
" to handle extra junk that their system's ftp dumps
" into the transfer. This function is provided as an
" example and as a fix for a Windows 95 problem: in my
" experience, win95's ftp always dumped four blank lines
" at the end of the transfer.
if has("win95") && g:netrw_win95ftp
fun! NetReadFixup(method, line1, line2)
" call Dfunc("NetReadFixup(method<".a:method."> line1=".a:line1." line2=".a:line2.")")
if method == 3 " ftp (no <.netrc>)
let fourblanklines= line2 - 3
silent fourblanklines.",".line2."g/^\s*/d"
endif
" call Dret("NetReadFixup")
endfun
endif
let &cpo= s:keepcpo
unlet s:keepcpo
" ------------------------------------------------------------------------
" Modelines: {{{1
" vim:ts=8 fdm=marker

View File

@@ -1,157 +0,0 @@
" NetrwSettings.vim: makes netrw settings simpler
" Last Change: Aug 16, 2005
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
" Version: 3
" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
" NetrwSettings.vim is provided *as is* and comes with no
" warranty of any kind, either expressed or implied. By using
" this plugin, you agree that in no event will the copyright
" holder be liable for any damages resulting from the use
" of this software.
"
" Mat 4:23 (WEB) Jesus went about in all Galilee, teaching in their {{{1
" synagogues, preaching the gospel of the kingdom, and healing
" every disease and every sickness among the people.
" Load Once: {{{1
if exists("g:loaded_NetrwSettings") || &cp
finish
endif
let g:loaded_NetrwSettings = "v3"
" ---------------------------------------------------------------------
" NetrwSettings: {{{1
fun! NetrwSettings#NetrwSettings()
" this call is here largely just to insure that netrw has been loaded
call netrw#NetSavePosn()
above wincmd s
enew
setlocal noswapfile bh=wipe
set ft=vim
file Netrw\ Settings
" these variables have the following default effects when they don't
" exist (ie. have not been set by the user in his/her .vimrc)
if !exists("g:netrw_longlist")
let g:netrw_longlist= 0
let g:netrw_list_cmd= "ssh HOSTNAME ls -FLa"
endif
if !exists("g:netrw_silent")
let g:netrw_silent= 0
endif
if !exists("g:netrw_use_nt_rcp")
let g:netrw_use_nt_rcp= 0
endif
if !exists("g:netrw_ftp")
let g:netrw_ftp= 0
endif
if !exists("g:netrw_ignorenetrc")
let g:netrw_ignorenetrc= 0
endif
put ='+ ---------------------------------------------'
put ='+ NetrwSettings: (by Charles E. Campbell, Jr.)'
put ='+ Press ? with cursor atop any line for help '
put ='+ ---------------------------------------------'
let s:netrw_settings_stop= line(".")
put =''
put ='+ Netrw Protocol Commands'
put = 'let g:netrw_dav_cmd = '.g:netrw_dav_cmd
put = 'let g:netrw_fetch_cmd = '.g:netrw_fetch_cmd
put = 'let g:netrw_ftp_cmd = '.g:netrw_ftp_cmd
put = 'let g:netrw_http_cmd = '.g:netrw_http_cmd
put = 'let g:netrw_rcp_cmd = '.g:netrw_rcp_cmd
put = 'let g:netrw_rsync_cmd = '.g:netrw_rsync_cmd
put = 'let g:netrw_scp_cmd = '.g:netrw_scp_cmd
put = 'let g:netrw_sftp_cmd = '.g:netrw_sftp_cmd
let s:netrw_protocol_stop= line(".")
put = ''
put ='+Netrw Transfer Control'
put = 'let g:netrw_cygwin = '.g:netrw_cygwin
put = 'let g:netrw_ftp = '.g:netrw_ftp
put = 'let g:netrw_ftpmode = '.g:netrw_ftpmode
put = 'let g:netrw_ignorenetrc = '.g:netrw_ignorenetrc
put = 'let g:netrw_use_nt_rcp = '.g:netrw_use_nt_rcp
put = 'let g:netrw_win95ftp = '.g:netrw_win95ftp
let s:netrw_xfer_stop= line(".")
put = ''
put ='+ Netrw Browser Control'
put = 'let g:netrw_alto = '.g:netrw_alto
put = 'let g:netrw_altv = '.g:netrw_altv
put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
put = 'let g:netrw_ftp_browse_reject = '.g:netrw_ftp_browse_reject
put = 'let g:netrw_ftp_list_cmd = '.g:netrw_ftp_list_cmd
put = 'let g:netrw_hide = '.g:netrw_hide
put = 'let g:netrw_keepdir = '.g:netrw_keepdir
put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd
put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd
put = 'let g:netrw_list_hide = '.g:netrw_list_hide
put = 'let g:netrw_local_mkdir = '.g:netrw_local_mkdir
put = 'let g:netrw_local_rmdir = '.g:netrw_local_rmdir
put = 'let g:netrw_longlist = '.g:netrw_longlist
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd
put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd
put = 'let g:netrw_rm_cmd = '.g:netrw_rm_cmd
put = 'let g:netrw_rmdir_cmd = '.g:netrw_rmdir_cmd
put = 'let g:netrw_rmf_cmd = '.g:netrw_rmf_cmd
put = 'let g:netrw_silent = '.g:netrw_silent
put = 'let g:netrw_sort_by = '.g:netrw_sort_by
put = 'let g:netrw_sort_direction = '.g:netrw_sort_direction
put = 'let g:netrw_sort_sequence = '.g:netrw_sort_sequence
put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
put = 'let g:netrw_timefmt = '.g:netrw_timefmt
put = 'let g:netrw_winsize = '.g:netrw_winsize
put =''
put ='+ For help, place cursor on line and press ?'
1d
silent %s/^+/"/e
res 99
silent %s/= \([^0-9].*\)$/= '\1'/e
silent %s/= $/= ''/e
1
set nomod
map <buffer> <silent> ? :call NetrwSettingHelp()<cr>
let tmpfile= tempname()
exe 'au BufWriteCmd Netrw\ Settings silent w! '.tmpfile.'|so '.tmpfile.'|call delete("'.tmpfile.'")|set nomod'
endfun
" ---------------------------------------------------------------------
" NetrwSettingHelp: {{{2
fun! NetrwSettingHelp()
" call Dfunc("NetrwSettingHelp()")
let curline = getline(".")
if curline =~ '='
let varhelp = substitute(curline,'^\s*let ','','e')
let varhelp = substitute(varhelp,'\s*=.*$','','e')
" call Decho("trying help ".varhelp)
try
exe "he ".varhelp
catch /^Vim\%((\a\+)\)\=:E149/
echo "***sorry*** no help available for <".varhelp.">"
endtry
elseif line(".") < s:netrw_settings_stop
he netrw-settings
elseif line(".") < s:netrw_protocol_stop
he netrw-externapp
elseif line(".") < s:netrw_xfer_stop
he netrw-variables
else
he netrw-browse-var
endif
" call Dret("NetrwSettingHelp")
endfun
" ---------------------------------------------------------------------
" Modelines: {{{1
" vim:ts=8 fdm=marker

View File

@@ -1,5 +1,5 @@
*** de_20.orig.aff Thu Aug 25 11:22:14 2005
--- de_20.aff Thu Sep 29 11:44:41 2005
*** de_20.orig.aff Sat Nov 26 19:59:52 2005
--- de_20.aff Sat Nov 26 20:13:50 2005
***************
*** 2,3 ****
--- 2,21 ----
@@ -24,8 +24,28 @@
+
#
***************
*** 1225 ****
--- 1243,1719 ----
*** 28,31 ****
PFX V Y 1
! PFX V 0 ver .
!
--- 46,49 ----
PFX V Y 1
! PFX V 0 ver .
!
***************
*** 235,237 ****
SFX F arzt <20>rztin arzt
! SFX F arzt <20>rztinnen arzt
SFX F Arzt <20>rztin Arzt
--- 253,255 ----
SFX F arzt <20>rztin arzt
! SFX F arzt <20>rztinnen arzt
SFX F Arzt <20>rztin Arzt
***************
*** 1410 ****
--- 1428,1904 ----
REP <20> <20>e
+
+ # German phonetic transformation rules from Aspell

View File

@@ -1,5 +1,5 @@
*** de_AT.orig.aff Thu Aug 25 11:22:16 2005
--- de_AT.aff Thu Sep 29 11:44:45 2005
*** de_AT.orig.aff Sat Nov 26 19:59:53 2005
--- de_AT.aff Sat Nov 26 20:19:21 2005
***************
*** 3,4 ****
--- 3,21 ----
@@ -23,8 +23,8 @@
+
***************
*** 504 ****
--- 521,997 ----
*** 501 ****
--- 518,994 ----
+
+ # German phonetic transformation rules from Aspell
@@ -502,8 +502,8 @@
+ SAL ZUR<55>CK^^ ZURIK
+ SAL ZUVER^^ ZUFA # x
+ SAL Z Z
*** de_AT.orig.dic Thu Aug 25 11:22:16 2005
--- de_AT.dic Thu Aug 25 11:24:01 2005
*** de_AT.orig.dic Sat Nov 26 19:59:54 2005
--- de_AT.dic Sat Nov 26 20:21:22 2005
***************
*** 18,20 ****
Fleischb<68>nke/N
@@ -511,20 +511,14 @@
Fleischhauer/NS
--- 18,19 ----
***************
*** 151,153 ****
zulieb
- 77857
<20>bte/N
--- 150,151 ----
***************
*** 18792,18794 ****
*** 19748,19750 ****
Geschwulstherde
- Geselchte/N
Geselle/N
--- 18790,18791 ----
Gesellenbrief
--- 19747,19748 ----
***************
*** 20472,20474 ****
*** 21437,21439 ****
HTML
- H<>fen
H<>ftling/EPS
--- 20469,20470 ----
--- 21435,21436 ----

View File

@@ -1,5 +1,5 @@
*** de_CH.orig.aff Thu Aug 25 11:22:18 2005
--- de_CH.aff Thu Sep 29 11:44:50 2005
*** de_CH.orig.aff Sat Nov 26 19:38:16 2005
--- de_CH.aff Sat Nov 26 19:38:08 2005
***************
*** 3,4 ****
--- 3,21 ----
@@ -23,8 +23,8 @@
+
***************
*** 501 ****
--- 518,994 ----
*** 503 ****
--- 520,996 ----
REP eh e
+
+ # German phonetic transformation rules from Aspell

View File

@@ -1,5 +1,5 @@
*** de_DE.orig.aff Thu Aug 25 11:22:06 2005
--- de_DE.aff Thu Sep 29 11:44:57 2005
*** de_DE.orig.aff Sat Nov 26 19:59:50 2005
--- de_DE.aff Sat Nov 26 20:25:08 2005
***************
*** 2,3 ****
--- 2,21 ----
@@ -24,8 +24,28 @@
+
#
***************
*** 1225 ****
--- 1243,1719 ----
*** 28,31 ****
PFX V Y 1
! PFX V 0 ver .
!
--- 46,49 ----
PFX V Y 1
! PFX V 0 ver .
!
***************
*** 235,237 ****
SFX F arzt <20>rztin arzt
! SFX F arzt <20>rztinnen arzt
SFX F Arzt <20>rztin Arzt
--- 253,255 ----
SFX F arzt <20>rztin arzt
! SFX F arzt <20>rztinnen arzt
SFX F Arzt <20>rztin Arzt
***************
*** 1410 ****
--- 1428,1904 ----
REP <20> <20>e
+
+ # German phonetic transformation rules from Aspell

View File

@@ -132,6 +132,8 @@ de_AT.aff de_AT.dic: {buildcheck=}
:delete $ZIPFILE_AT
:print >>de_AT.dic
# delete the first line, the word count
:sys $VIM de_DE.dic -e -c 1delete -c wq
:cat de_DE.dic >>de_AT.dic
:delete de_DE.dic
:move de_DE.aff de_AT.aff
@@ -184,7 +186,51 @@ diff:
# ".new.aff" and ".new.dic" files are left behind for manual inspection.
check:
:print TODO!!!!
:assertpkg unzip patch
:fetch $ZIPFILES
:mkdir tmp
:cd tmp
@try:
# Do the _AT one first, it overwrites the _DE files.
:sys $UNZIP ../$ZIPFILE_AT
:print >>de_AT.dic
# delete the first line, the word count
:sys ../$VIM de_DE.dic -e -c 1delete -c wq
:cat de_DE.dic >>de_AT.dic
:delete de_DE.dic
:move de_DE.aff de_AT.aff
:move README_de_DE.txt README_de_AT.txt
:sys $UNZIP ../$ZIPFILE_DE
:move de_DE_comb.aff de_DE.aff
:move de_DE_comb.dic de_DE.dic
:move README_de_DE_comb.txt README_de_DE.txt
:sys $UNZIP ../$ZIPFILE_19
:move de_OLDSPELL.aff de_19.aff
:move de_OLDSPELL.dic de_19.dic
# there is no README file
:print There is no README file for the old spelling >!README_de_19.txt
:sys $UNZIP ../$ZIPFILE_20
:move de_DE_neu.aff de_20.aff
:move de_DE_neu.dic de_20.dic
:move README_de_DE_neu.txt README_de_20.txt
:sys $UNZIP ../$ZIPFILE_CH
@import stat
@for nm in ['de_DE', 'de_19', 'de_20', 'de_AT', 'de_CH']:
@for ext in ['aff', 'dic']:
:sys {force} diff ../$(nm).orig.$ext $(nm).$ext >d
@if os.stat('d')[stat.ST_SIZE] > 0:
:copy $(nm).$ext ../$(nm).new.$ext
:sys {force} diff ../README_$(nm).txt README_$(nm).txt >d
@if os.stat('d')[stat.ST_SIZE] > 0:
:copy README_$(nm).txt ../README_$(nm).new.txt
@finally:
:cd ..
:delete {r}{f}{q} tmp
:delete $ZIPFILES
# vim: set sts=4 sw=4 :

View File

@@ -16,8 +16,7 @@ $SPELLDIR/fo.latin1.spl : $FILES
$VIM -u NONE -e -c "mkspell! $SPELLDIR/fo fo_FO" -c q
$SPELLDIR/fo.utf-8.spl : $FILES
:sys env LANG=fo_FO.UTF-8
$VIM -u NONE -e -c "mkspell! $SPELLDIR/fo fo_FO" -c q
:sys $VIM -u NONE -e -c "set enc=utf-8" -c "mkspell! $SPELLDIR/fo fo_FO" -c q
../README_fo.txt : README_fo_FO.txt Copyright
:cat $source >! $target

View File

@@ -16,8 +16,7 @@ $SPELLDIR/gd.latin1.spl : $FILES
$VIM -u NONE -e -c "mkspell! $SPELLDIR/gd gd_GB" -c q
$SPELLDIR/gd.utf-8.spl : $FILES
:sys env LANG=gd_GB.UTF-8
$VIM -u NONE -e -c "mkspell! $SPELLDIR/gd gd_GB" -c q
:sys $VIM -u NONE -e -c "set enc=utf-8" -c "mkspell! $SPELLDIR/gd gd_GB" -c q
../README_gd.txt : README_gd_GB.txt
:copy $source $target

View File

@@ -12,11 +12,11 @@ FILES = gl_ES.aff gl_ES.dic
all: $SPELLDIR/gl.latin1.spl $SPELLDIR/gl.utf-8.spl ../README_gl.txt
$SPELLDIR/gl.latin1.spl : $FILES
:sys env LANG=gl_ES.ISO8859-1
:sys env LANG=es_ES.ISO8859-1
$VIM -u NONE -e -c "mkspell! $SPELLDIR/gl gl_ES" -c q
$SPELLDIR/gl.utf-8.spl : $FILES
:sys env LANG=gl_ES.UTF-8
:sys env LANG=es_ES.UTF-8
$VIM -u NONE -e -c "mkspell! $SPELLDIR/gl gl_ES" -c q
../README_gl.txt : README_gl_ES.txt

File diff suppressed because it is too large Load Diff

View File

@@ -16,8 +16,7 @@ $SPELLDIR/tl.latin1.spl : $FILES
$VIM -u NONE -e -c "mkspell! $SPELLDIR/tl tl_PH" -c q
$SPELLDIR/tl.utf-8.spl : $FILES
:sys env LANG=tl_PH.UTF-8
$VIM -u NONE -e -c "mkspell! $SPELLDIR/tl tl_PH" -c q
:sys $VIM -u NONE -e -c "set enc=utf-8" -c "mkspell! $SPELLDIR/tl tl_PH" -c q
../README_tl.txt : README_tl_PH.txt
:copy $source $target

View File

@@ -1,6 +1,6 @@
" Vim syntax support file
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2005 Feb 26
" Last Change: 2005 Dec 04
" (modified by David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>)
" (XHTML support by Panagiotis Issaris <takis@lumumba.luc.ac.be>)
@@ -164,6 +164,8 @@ else
let s:html_encoding = substitute(s:vim_encoding, 'cp', 'windows-', '')
elseif s:vim_encoding == 'sjis'
let s:html_encoding = 'Shift_JIS'
elseif s:vim_encoding == 'big5'
let s:html_encoding = "Big5"
elseif s:vim_encoding == 'euc-cn'
let s:html_encoding = 'GB_2312-80'
elseif s:vim_encoding == 'euc-tw'

View File

@@ -1,251 +1,251 @@
" Vim syntax file
" Language: ColdFusion
" Maintainer: Toby Woodwark (toby.woodwark+vim@gmail.com)
" Last Change: 2005-11-02
" Filenames: *.cfc *.cfm
" Version: Macromedia ColdFusion MX 7
" Usage: Note that ColdFusion has its own comment syntax
" i.e. <!--- --->
" For version 5.x, clear all syntax items.
" For version 6.x+, quit if a syntax file is already loaded.
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
" Use all the stuff from the HTML syntax file.
" TODO remove this; CFML is not a superset of HTML
if version < 600
source <sfile>:p:h/html.vim
else
runtime! syntax/html.vim
endif
syn sync fromstart
syn sync maxlines=200
syn case ignore
" Scopes and keywords.
syn keyword cfScope contained cgi cffile request caller this thistag cfcatch variables application server session client form url attributes arguments
syn keyword cfBool contained yes no true false
" Operator strings.
" Not exhaustive, since there are longhand equivalents.
syn keyword cfOperator contained xor eqv and or lt le lte gt ge gte eq neq not is mod contains
syn match cfOperatorMatch contained "[\+\-\*\/\\\^\&][\+\-\*\/\\\^\&]\@!"
syn cluster cfOperatorCluster contains=cfOperator,cfOperatorMatch
" Tag names.
syn keyword cfTagName contained cfabort cfapplet cfapplication cfargument cfassociate cfbreak cfcache
syn keyword cfTagName contained cfcalendar cfcase cfcatch cfchart cfchartdata cfchartseries cfcol cfcollection
syn keyword cfTagName contained cfcomponent cfcontent cfcookie cfdefaultcase cfdirectory cfdocument
syn keyword cfTagName contained cfdocumentitem cfdocumentsection cfdump cfelse cfelseif cferror cfexecute
syn keyword cfTagName contained cfexit cffile cfflush cfform cfformgroup cfformitem cfftp cffunction cfgrid
syn keyword cfTagName contained cfgridcolumn cfgridrow cfgridupdate cfheader cfhtmlhead cfhttp cfhttpparam cfif
syn keyword cfTagName contained cfimport cfinclude cfindex cfinput cfinsert cfinvoke cfinvokeargument
syn keyword cfTagName contained cfldap cflocation cflock cflog cflogin cfloginuser cflogout cfloop cfmail
syn keyword cfTagName contained cfmailparam cfmailpart cfmodule cfNTauthenticate cfobject cfobjectcache
syn keyword cfTagName contained cfoutput cfparam cfpop cfprocessingdirective cfprocparam cfprocresult
syn keyword cfTagName contained cfproperty cfquery cfqueryparam cfregistry cfreport cfreportparam cfrethrow
syn keyword cfTagName contained cfreturn cfsavecontent cfschedule cfscript cfsearch cfselect cfset cfsetting
syn keyword cfTagName contained cfsilent cfslider cfstoredproc cfswitch cftable cftextarea cfthrow cftimer
syn keyword cfTagName contained cftrace cftransaction cftree cftreeitem cftry cfupdate cfwddx cfxml
" Tag parameters.
syn keyword cfArg contained abort accept access accessible action addnewline addtoken addtoken agentname
syn keyword cfArg contained align appendkey appletsource application applicationtimeout applicationtoken
syn keyword cfArg contained archive argumentcollection arguments asciiextensionlist attachmentpath
syn keyword cfArg contained attributecollection attributes attributes autowidth backgroundcolor
syn keyword cfArg contained backgroundvisible basetag bcc bgcolor bind bindingname blockfactor body bold
syn keyword cfArg contained border branch cachedafter cachedwithin casesensitive categories category
syn keyword cfArg contained categorytree cc cfsqltype charset chartheight chartwidth checked class
syn keyword cfArg contained clientmanagement clientstorage codebase colheaderalign colheaderbold
syn keyword cfArg contained colheaderfont colheaderfontsize colheaderitalic colheaders colheadertextcolor
syn keyword cfArg contained collection colorlist colspacing columns completepath component condition
syn keyword cfArg contained connection contentid context contextbytes contexthighlightbegin
syn keyword cfArg contained contexthighlightend contextpassages cookiedomain criteria custom1 custom2
syn keyword cfArg contained custom3 custom4 data dataalign databackgroundcolor datacollection
syn keyword cfArg contained datalabelstyle datasource date daynames dbname dbserver dbtype dbvarname debug
syn keyword cfArg contained default delete deletebutton deletefile delimiter delimiters description
syn keyword cfArg contained destination detail directory disabled display displayname disposition dn domain
syn keyword cfArg contained enablecab enablecfoutputonly enabled encoded encryption enctype enddate
syn keyword cfArg contained endrange endrow endtime entry errorcode exception existing expand expires
syn keyword cfArg contained expireurl expression extendedinfo extends extensions external failifexists
syn keyword cfArg contained failto file filefield filename filter firstdayofweek firstrowasheaders font
syn keyword cfArg contained fontbold fontembed fontitalic fontsize foregroundcolor format formfields
syn keyword cfArg contained formula from generateuniquefilenames getasbinary grid griddataalign gridlines
syn keyword cfArg contained groovecolor group groupcasesensitive header headeralign headerbold headerfont
syn keyword cfArg contained headerfontsize headeritalic headerlines headertextcolor height highlighthref
syn keyword cfArg contained hint href hrefkey hscroll hspace htmltable id idletimeout img imgopen imgstyle
syn keyword cfArg contained index inline input insert insertbutton interval isolation italic item
syn keyword cfArg contained itemcolumn key keyonly label labelformat language list listgroups locale
syn keyword cfArg contained localfile log loginstorage lookandfeel mailerid mailto marginbottom marginleft
syn keyword cfArg contained marginright marginright margintop markersize markerstyle mask maxlength maxrows
syn keyword cfArg contained message messagenumber method mimeattach mimetype mode modifytype monthnames
syn keyword cfArg contained multipart multiple name namecomplict nameconflict namespace new newdirectory
syn keyword cfArg contained notsupported null numberformat object omit onchange onclick onerror onkeydown
syn keyword cfArg contained onkeyup onload onmousedown onmouseup onreset onsubmit onvalidate operation
syn keyword cfArg contained orderby orientation output outputfile overwrite ownerpassword pageencoding
syn keyword cfArg contained pageheight pagetype pagewidth paintstyle param_1 param_2 param_3 param_4
syn keyword cfArg contained param_5 parent passive passthrough password path pattern permissions picturebar
syn keyword cfArg contained pieslicestyle port porttypename prefix preloader preservedata previouscriteria
syn keyword cfArg contained procedure protocol provider providerdsn proxybypass proxypassword proxyport
syn keyword cfArg contained proxyserver proxyuser publish query queryasroot queryposition range rebind
syn keyword cfArg contained recurse redirect referral refreshlabel remotefile replyto report requesttimeout
syn keyword cfArg contained required reset resolveurl result resultset retrycount returnasbinary returncode
syn keyword cfArg contained returntype returnvariable roles rowheaderalign rowheaderbold rowheaderfont
syn keyword cfArg contained rowheaderfontsize rowheaderitalic rowheaders rowheadertextcolor rowheaderwidth
syn keyword cfArg contained rowheight scale scalefrom scaleto scope scriptprotect scriptsrc secure
syn keyword cfArg contained securitycontext select selectcolor selected selecteddate selectedindex
syn keyword cfArg contained selectmode separator seriescolor serieslabel seriesplacement server serviceport
syn keyword cfArg contained serviceportname sessionmanagement sessiontimeout setclientcookies setcookie
syn keyword cfArg contained setdomaincookies show3d showborder showdebugoutput showerror showlegend
syn keyword cfArg contained showmarkers showxgridlines showygridlines size skin sort sortascendingbutton
syn keyword cfArg contained sortcontrol sortdescendingbutton sortxaxis source spoolenable sql src start
syn keyword cfArg contained startdate startrange startrow starttime status statuscode statustext step
syn keyword cfArg contained stoponerror style subject suggestions suppresswhitespace tablename tableowner
syn keyword cfArg contained tablequalifier taglib target task template text textcolor textqualifier
syn keyword cfArg contained thread throwonerror throwonfailure throwontimeout time timeout timespan tipbgcolor tipstyle
syn keyword cfArg contained title to tooltip top toplevelvariable transfermode type uid unit url urlpath
syn keyword cfArg contained useragent username userpassword usetimezoneinfo validate validateat value
syn keyword cfArg contained valuecolumn values valuesdelimiter valuesdisplay var variable vertical visible
syn keyword cfArg contained vscroll vspace webservice width wmode wraptext wsdlfile xaxistitle xaxistype
syn keyword cfArg contained xoffset yaxistitle yaxistype yoffset
" ColdFusion Functions.
syn keyword cfFunctionName contained Abs GetFunctionList Max ACos GetGatewayHelper Mid AddSOAPRequestHeader
syn keyword cfFunctionName contained GetHttpRequestData Min AddSOAPResponseHeader GetHttpTimeString Minute
syn keyword cfFunctionName contained ArrayAppend GetLocale Month ArrayAvg GetLocaleDisplayName MonthAsString
syn keyword cfFunctionName contained ArrayClear GetMetaData Now ArrayDeleteAt GetMetricData NumberFormat
syn keyword cfFunctionName contained ArrayInsertAt GetPageContext ParagraphFormat ArrayIsEmpty GetProfileSections
syn keyword cfFunctionName contained ParseDateTime ArrayLen GetProfileString Pi ArrayMax GetSOAPRequest
syn keyword cfFunctionName contained PreserveSingleQuotes ArrayMin GetSOAPRequestHeader Quarter ArrayNew
syn keyword cfFunctionName contained GetSOAPResponse QueryAddColumn ArrayPrepend GetSOAPResponseHeader QueryAddRow
syn keyword cfFunctionName contained ArrayResize GetTempDirectory QueryNew ArraySet GetTempFile QuerySetCell
syn keyword cfFunctionName contained ArraySort GetTickCount QuotedValueList ArraySum GetTimeZoneInfo Rand ArraySwap
syn keyword cfFunctionName contained GetToken Randomize ArrayToList Hash RandRange Asc Hour REFind ASin
syn keyword cfFunctionName contained HTMLCodeFormat REFindNoCase Atn HTMLEditFormat ReleaseComObject BinaryDecode
syn keyword cfFunctionName contained IIf RemoveChars BinaryEncode IncrementValue RepeatString BitAnd InputBaseN
syn keyword cfFunctionName contained Replace BitMaskClear Insert ReplaceList BitMaskRead Int ReplaceNoCase
syn keyword cfFunctionName contained BitMaskSet IsArray REReplace BitNot IsBinary REReplaceNoCase BitOr IsBoolean
syn keyword cfFunctionName contained Reverse BitSHLN IsCustomFunction Right BitSHRN IsDate RJustify BitXor
syn keyword cfFunctionName contained IsDebugMode Round Ceiling IsDefined RTrim CharsetDecode IsLeapYear Second
syn keyword cfFunctionName contained CharsetEncode IsNumeric SendGatewayMessage Chr IsNumericDate SetEncoding
syn keyword cfFunctionName contained CJustify IsObject SetLocale Compare IsQuery SetProfileString CompareNoCase
syn keyword cfFunctionName contained IsSimpleValue SetVariable Cos IsSOAPRequest Sgn CreateDate IsStruct Sin
syn keyword cfFunctionName contained CreateDateTime IsUserInRole SpanExcluding CreateObject IsValid SpanIncluding
syn keyword cfFunctionName contained CreateODBCDate IsWDDX Sqr CreateODBCDateTime IsXML StripCR CreateODBCTime
syn keyword cfFunctionName contained IsXmlAttribute StructAppend CreateTime IsXmlDoc StructClear CreateTimeSpan
syn keyword cfFunctionName contained IsXmlElem StructCopy CreateUUID IsXmlNode StructCount DateAdd IsXmlRoot
syn keyword cfFunctionName contained StructDelete DateCompare JavaCast StructFind DateConvert JSStringFormat
syn keyword cfFunctionName contained StructFindKey DateDiff LCase StructFindValue DateFormat Left StructGet
syn keyword cfFunctionName contained DatePart Len StructInsert Day ListAppend StructIsEmpty DayOfWeek
syn keyword cfFunctionName contained ListChangeDelims StructKeyArray DayOfWeekAsString ListContains StructKeyExists
syn keyword cfFunctionName contained DayOfYear ListContainsNoCase StructKeyList DaysInMonth ListDeleteAt StructNew
syn keyword cfFunctionName contained DaysInYear ListFind StructSort DE ListFindNoCase StructUpdate DecimalFormat
syn keyword cfFunctionName contained ListFirst Tan DecrementValue ListGetAt TimeFormat Decrypt ListInsertAt
syn keyword cfFunctionName contained ToBase64 DeleteClientVariable ListLast ToBinary DirectoryExists ListLen
syn keyword cfFunctionName contained ToScript DollarFormat ListPrepend ToString Duplicate ListQualify Trim Encrypt
syn keyword cfFunctionName contained ListRest UCase Evaluate ListSetAt URLDecode Exp ListSort URLEncodedFormat
syn keyword cfFunctionName contained ExpandPath ListToArray URLSessionFormat FileExists ListValueCount Val Find
syn keyword cfFunctionName contained ListValueCountNoCase ValueList FindNoCase LJustify Week FindOneOf Log Wrap
syn keyword cfFunctionName contained FirstDayOfMonth Log10 WriteOutput Fix LSCurrencyFormat XmlChildPos FormatBaseN
syn keyword cfFunctionName contained LSDateFormat XmlElemNew GetTempDirectory LSEuroCurrencyFormat XmlFormat
syn keyword cfFunctionName contained GetAuthUser LSIsCurrency XmlGetNodeType GetBaseTagData LSIsDate XmlNew
syn keyword cfFunctionName contained GetBaseTagList LSIsNumeric XmlParse GetBaseTemplatePath LSNumberFormat
syn keyword cfFunctionName contained XmlSearch GetClientVariablesList LSParseCurrency XmlTransform
syn keyword cfFunctionName contained GetCurrentTemplatePath LSParseDateTime XmlValidate GetDirectoryFromPath
syn keyword cfFunctionName contained LSParseEuroCurrency Year GetEncoding LSParseNumber YesNoFormat GetException
syn keyword cfFunctionName contained LSTimeFormat GetFileFromPath LTrim
syn cluster htmlTagNameCluster add=cfTagName
syn cluster htmlArgCluster add=cfArg,cfHashRegion,cfScope
syn cluster htmlPreproc add=cfHashRegion
syn cluster cfExpressionCluster contains=cfFunctionName,cfScope,@cfOperatorCluster,cfScriptStringD,cfScriptStringS,cfScriptNumber,cfBool
" Evaluation; skip strings ( this helps with cases like nested IIf() )
syn region cfHashRegion start=+#+ skip=+"[^"]*"\|'[^']*'+ end=+#+ contains=@cfExpressionCluster,cfScriptParenError
" <cfset>, <cfif>, <cfelseif>, <cfreturn> are analogous to hashmarks (implicit evaluation) and has 'var'
syn region cfSetRegion start="<cfset " start="<cfreturn " start="<cfelseif " start="<cfif " end='>' keepend contains=@cfExpressionCluster,cfSetLHSRegion,cfSetTagEnd,cfScriptType
syn region cfSetLHSRegion contained start="<cfreturn" start="<cfelseif" start="<cfif" start="<cfset" end=" " keepend contains=cfTagName,htmlTag
syn match cfSetTagEnd contained '>'
" CF comments: similar to SGML comments
syn region cfComment start='<!---' end='--->' keepend contains=cfCommentTodo
syn keyword cfCommentTodo contained TODO FIXME XXX TBD WTF
" CFscript
syn match cfScriptLineComment contained "\/\/.*$" contains=cfCommentTodo
syn region cfScriptComment contained start="/\*" end="\*/" contains=cfCommentTodo
" in CF, quotes are escaped by doubling
syn region cfScriptStringD contained start=+"+ skip=+\\\\\|""+ end=+"+ extend contains=@htmlPreproc,cfHashRegion
syn region cfScriptStringS contained start=+'+ skip=+\\\\\|''+ end=+'+ extend contains=@htmlPreproc,cfHashRegion
syn match cfScriptNumber contained "-\=\<\d\+L\=\>"
syn keyword cfScriptConditional contained if else
syn keyword cfScriptRepeat contained while for in
syn keyword cfScriptBranch contained break switch case try catch continue
syn keyword cfScriptFunction contained function
syn keyword cfScriptType contained var
syn match cfScriptBraces contained "[{}]"
syn keyword cfScriptStatement contained return
syn cluster cfScriptCluster contains=cfScriptParen,cfScriptLineComment,cfScriptComment,cfScriptStringD,cfScriptStringS,cfScriptFunction,cfScriptNumber,cfScriptRegexpString,cfScriptBoolean,cfScriptBraces,cfHashRegion,cfFunctionName,cfScope,@cfOperatorCluster,cfScriptConditional,cfScriptRepeat,cfScriptBranch,cfScriptType,@cfExpressionCluster,cfScriptStatement
" Errors caused by wrong parenthesis; skip strings
syn region cfScriptParen contained transparent skip=+"[^"]*"\|'[^']*'+ start=+(+ end=+)+ contains=@cfScriptCluster
syn match cfScrParenError contained +)+
syn region cfscriptBlock matchgroup=NONE start="<cfscript>" end="<\/cfscript>"me=s-1 keepend contains=@cfScriptCluster,cfscriptTag,cfScrParenError
syn region cfscriptTag contained start='<cfscript' end='>' keepend contains=cfTagName,htmlTag
" Define the default highlighting.
if version >= 508 || !exists("did_cf_syn_inits")
if version < 508
let did_cf_syn_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink cfTagName Statement
HiLink cfArg Type
HiLink cfFunctionName Function
HiLink cfHashRegion PreProc
HiLink cfComment Comment
HiLink cfCommentTodo Todo
HiLink cfOperator Operator
HiLink cfOperatorMatch Operator
HiLink cfScope Title
HiLink cfBool Constant
HiLink cfscriptBlock Special
HiLink cfscriptTag htmlTag
HiLink cfSetRegion PreProc
HiLink cfSetLHSRegion htmlTag
HiLink cfSetTagEnd htmlTag
HiLink cfScriptLineComment Comment
HiLink cfScriptComment Comment
HiLink cfScriptStringS String
HiLink cfScriptStringD String
HiLink cfScriptNumber cfScriptValue
HiLink cfScriptConditional Conditional
HiLink cfScriptRepeat Repeat
HiLink cfScriptBranch Conditional
HiLink cfScriptType Type
HiLink cfScriptStatement Statement
HiLink cfScriptBraces Function
HiLink cfScriptFunction Function
HiLink cfScriptError Error
HiLink cfScrParenError cfScriptError
delcommand HiLink
endif
let b:current_syntax = "cf"
" vim: ts=8 sw=2
" Vim syntax file
" Language: ColdFusion
" Maintainer: Toby Woodwark (toby.woodwark+vim@gmail.com)
" Last Change: 2005 Nov 25
" Filenames: *.cfc *.cfm
" Version: Macromedia ColdFusion MX 7
" Usage: Note that ColdFusion has its own comment syntax
" i.e. <!--- --->
" For version 5.x, clear all syntax items.
" For version 6.x+, quit if a syntax file is already loaded.
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
" Use all the stuff from the HTML syntax file.
" TODO remove this; CFML is not a superset of HTML
if version < 600
source <sfile>:p:h/html.vim
else
runtime! syntax/html.vim
endif
syn sync fromstart
syn sync maxlines=200
syn case ignore
" Scopes and keywords.
syn keyword cfScope contained cgi cffile request caller this thistag cfcatch variables application server session client form url attributes arguments
syn keyword cfBool contained yes no true false
" Operator strings.
" Not exhaustive, since there are longhand equivalents.
syn keyword cfOperator contained xor eqv and or lt le lte gt ge gte eq neq not is mod contains
syn match cfOperatorMatch contained "[\+\-\*\/\\\^\&][\+\-\*\/\\\^\&]\@!"
syn cluster cfOperatorCluster contains=cfOperator,cfOperatorMatch
" Tag names.
syn keyword cfTagName contained cfabort cfapplet cfapplication cfargument cfassociate cfbreak cfcache
syn keyword cfTagName contained cfcalendar cfcase cfcatch cfchart cfchartdata cfchartseries cfcol cfcollection
syn keyword cfTagName contained cfcomponent cfcontent cfcookie cfdefaultcase cfdirectory cfdocument
syn keyword cfTagName contained cfdocumentitem cfdocumentsection cfdump cfelse cfelseif cferror cfexecute
syn keyword cfTagName contained cfexit cffile cfflush cfform cfformgroup cfformitem cfftp cffunction cfgrid
syn keyword cfTagName contained cfgridcolumn cfgridrow cfgridupdate cfheader cfhtmlhead cfhttp cfhttpparam cfif
syn keyword cfTagName contained cfimport cfinclude cfindex cfinput cfinsert cfinvoke cfinvokeargument
syn keyword cfTagName contained cfldap cflocation cflock cflog cflogin cfloginuser cflogout cfloop cfmail
syn keyword cfTagName contained cfmailparam cfmailpart cfmodule cfNTauthenticate cfobject cfobjectcache
syn keyword cfTagName contained cfoutput cfparam cfpop cfprocessingdirective cfprocparam cfprocresult
syn keyword cfTagName contained cfproperty cfquery cfqueryparam cfregistry cfreport cfreportparam cfrethrow
syn keyword cfTagName contained cfreturn cfsavecontent cfschedule cfscript cfsearch cfselect cfset cfsetting
syn keyword cfTagName contained cfsilent cfslider cfstoredproc cfswitch cftable cftextarea cfthrow cftimer
syn keyword cfTagName contained cftrace cftransaction cftree cftreeitem cftry cfupdate cfwddx cfxml
" Tag parameters.
syn keyword cfArg contained abort accept access accessible action addnewline addtoken addtoken agentname
syn keyword cfArg contained align appendkey appletsource application applicationtimeout applicationtoken
syn keyword cfArg contained archive argumentcollection arguments asciiextensionlist attachmentpath
syn keyword cfArg contained attributecollection attributes attributes autowidth backgroundcolor
syn keyword cfArg contained backgroundvisible basetag bcc bgcolor bind bindingname blockfactor body bold
syn keyword cfArg contained border branch cachedafter cachedwithin casesensitive categories category
syn keyword cfArg contained categorytree cc cfsqltype charset chartheight chartwidth checked class
syn keyword cfArg contained clientmanagement clientstorage codebase colheaderalign colheaderbold
syn keyword cfArg contained colheaderfont colheaderfontsize colheaderitalic colheaders colheadertextcolor
syn keyword cfArg contained collection colorlist colspacing columns completepath component condition
syn keyword cfArg contained connection contentid context contextbytes contexthighlightbegin
syn keyword cfArg contained contexthighlightend contextpassages cookiedomain criteria custom1 custom2
syn keyword cfArg contained custom3 custom4 data dataalign databackgroundcolor datacollection
syn keyword cfArg contained datalabelstyle datasource date daynames dbname dbserver dbtype dbvarname debug
syn keyword cfArg contained default delete deletebutton deletefile delimiter delimiters description
syn keyword cfArg contained destination detail directory disabled display displayname disposition dn domain
syn keyword cfArg contained enablecab enablecfoutputonly enabled encoded encryption enctype enddate
syn keyword cfArg contained endrange endrow endtime entry errorcode exception existing expand expires
syn keyword cfArg contained expireurl expression extendedinfo extends extensions external failifexists
syn keyword cfArg contained failto file filefield filename filter firstdayofweek firstrowasheaders font
syn keyword cfArg contained fontbold fontembed fontitalic fontsize foregroundcolor format formfields
syn keyword cfArg contained formula from generateuniquefilenames getasbinary grid griddataalign gridlines
syn keyword cfArg contained groovecolor group groupcasesensitive header headeralign headerbold headerfont
syn keyword cfArg contained headerfontsize headeritalic headerlines headertextcolor height highlighthref
syn keyword cfArg contained hint href hrefkey hscroll hspace htmltable id idletimeout img imgopen imgstyle
syn keyword cfArg contained index inline input insert insertbutton interval isolation italic item
syn keyword cfArg contained itemcolumn key keyonly label labelformat language list listgroups locale
syn keyword cfArg contained localfile log loginstorage lookandfeel mailerid mailto marginbottom marginleft
syn keyword cfArg contained marginright marginright margintop markersize markerstyle mask maxlength maxrows
syn keyword cfArg contained message messagenumber method mimeattach mimetype mode modifytype monthnames
syn keyword cfArg contained multipart multiple name namecomplict nameconflict namespace new newdirectory
syn keyword cfArg contained notsupported null numberformat object omit onchange onclick onerror onkeydown
syn keyword cfArg contained onkeyup onload onmousedown onmouseup onreset onsubmit onvalidate operation
syn keyword cfArg contained orderby orientation output outputfile overwrite ownerpassword pageencoding
syn keyword cfArg contained pageheight pagetype pagewidth paintstyle param_1 param_2 param_3 param_4
syn keyword cfArg contained param_5 parent passive passthrough password path pattern permissions picturebar
syn keyword cfArg contained pieslicestyle port porttypename prefix preloader preservedata previouscriteria
syn keyword cfArg contained procedure protocol provider providerdsn proxybypass proxypassword proxyport
syn keyword cfArg contained proxyserver proxyuser publish query queryasroot queryposition range rebind
syn keyword cfArg contained recurse redirect referral refreshlabel remotefile replyto report requesttimeout
syn keyword cfArg contained required reset resolveurl result resultset retrycount returnasbinary returncode
syn keyword cfArg contained returntype returnvariable roles rowheaderalign rowheaderbold rowheaderfont
syn keyword cfArg contained rowheaderfontsize rowheaderitalic rowheaders rowheadertextcolor rowheaderwidth
syn keyword cfArg contained rowheight scale scalefrom scaleto scope scriptprotect scriptsrc secure
syn keyword cfArg contained securitycontext select selectcolor selected selecteddate selectedindex
syn keyword cfArg contained selectmode separator seriescolor serieslabel seriesplacement server serviceport
syn keyword cfArg contained serviceportname sessionmanagement sessiontimeout setclientcookies setcookie
syn keyword cfArg contained setdomaincookies show3d showborder showdebugoutput showerror showlegend
syn keyword cfArg contained showmarkers showxgridlines showygridlines size skin sort sortascendingbutton
syn keyword cfArg contained sortcontrol sortdescendingbutton sortxaxis source spoolenable sql src start
syn keyword cfArg contained startdate startrange startrow starttime status statuscode statustext step
syn keyword cfArg contained stoponerror style subject suggestions suppresswhitespace tablename tableowner
syn keyword cfArg contained tablequalifier taglib target task template text textcolor textqualifier
syn keyword cfArg contained thread throwonerror throwonfailure throwontimeout time timeout timespan tipbgcolor tipstyle
syn keyword cfArg contained title to tooltip top toplevelvariable transfermode type uid unit url urlpath
syn keyword cfArg contained useragent username userpassword usetimezoneinfo validate validateat value
syn keyword cfArg contained valuecolumn values valuesdelimiter valuesdisplay var variable vertical visible
syn keyword cfArg contained vscroll vspace webservice width wmode wraptext wsdlfile xaxistitle xaxistype
syn keyword cfArg contained xoffset yaxistitle yaxistype yoffset
" ColdFusion Functions.
syn keyword cfFunctionName contained Abs GetFunctionList Max ACos GetGatewayHelper Mid AddSOAPRequestHeader
syn keyword cfFunctionName contained GetHttpRequestData Min AddSOAPResponseHeader GetHttpTimeString Minute
syn keyword cfFunctionName contained ArrayAppend GetLocale Month ArrayAvg GetLocaleDisplayName MonthAsString
syn keyword cfFunctionName contained ArrayClear GetMetaData Now ArrayDeleteAt GetMetricData NumberFormat
syn keyword cfFunctionName contained ArrayInsertAt GetPageContext ParagraphFormat ArrayIsEmpty GetProfileSections
syn keyword cfFunctionName contained ParseDateTime ArrayLen GetProfileString Pi ArrayMax GetSOAPRequest
syn keyword cfFunctionName contained PreserveSingleQuotes ArrayMin GetSOAPRequestHeader Quarter ArrayNew
syn keyword cfFunctionName contained GetSOAPResponse QueryAddColumn ArrayPrepend GetSOAPResponseHeader QueryAddRow
syn keyword cfFunctionName contained ArrayResize GetTempDirectory QueryNew ArraySet GetTempFile QuerySetCell
syn keyword cfFunctionName contained ArraySort GetTickCount QuotedValueList ArraySum GetTimeZoneInfo Rand ArraySwap
syn keyword cfFunctionName contained GetToken Randomize ArrayToList Hash RandRange Asc Hour REFind ASin
syn keyword cfFunctionName contained HTMLCodeFormat REFindNoCase Atn HTMLEditFormat ReleaseComObject BinaryDecode
syn keyword cfFunctionName contained IIf RemoveChars BinaryEncode IncrementValue RepeatString BitAnd InputBaseN
syn keyword cfFunctionName contained Replace BitMaskClear Insert ReplaceList BitMaskRead Int ReplaceNoCase
syn keyword cfFunctionName contained BitMaskSet IsArray REReplace BitNot IsBinary REReplaceNoCase BitOr IsBoolean
syn keyword cfFunctionName contained Reverse BitSHLN IsCustomFunction Right BitSHRN IsDate RJustify BitXor
syn keyword cfFunctionName contained IsDebugMode Round Ceiling IsDefined RTrim CharsetDecode IsLeapYear Second
syn keyword cfFunctionName contained CharsetEncode IsNumeric SendGatewayMessage Chr IsNumericDate SetEncoding
syn keyword cfFunctionName contained CJustify IsObject SetLocale Compare IsQuery SetProfileString CompareNoCase
syn keyword cfFunctionName contained IsSimpleValue SetVariable Cos IsSOAPRequest Sgn CreateDate IsStruct Sin
syn keyword cfFunctionName contained CreateDateTime IsUserInRole SpanExcluding CreateObject IsValid SpanIncluding
syn keyword cfFunctionName contained CreateODBCDate IsWDDX Sqr CreateODBCDateTime IsXML StripCR CreateODBCTime
syn keyword cfFunctionName contained IsXmlAttribute StructAppend CreateTime IsXmlDoc StructClear CreateTimeSpan
syn keyword cfFunctionName contained IsXmlElem StructCopy CreateUUID IsXmlNode StructCount DateAdd IsXmlRoot
syn keyword cfFunctionName contained StructDelete DateCompare JavaCast StructFind DateConvert JSStringFormat
syn keyword cfFunctionName contained StructFindKey DateDiff LCase StructFindValue DateFormat Left StructGet
syn keyword cfFunctionName contained DatePart Len StructInsert Day ListAppend StructIsEmpty DayOfWeek
syn keyword cfFunctionName contained ListChangeDelims StructKeyArray DayOfWeekAsString ListContains StructKeyExists
syn keyword cfFunctionName contained DayOfYear ListContainsNoCase StructKeyList DaysInMonth ListDeleteAt StructNew
syn keyword cfFunctionName contained DaysInYear ListFind StructSort DE ListFindNoCase StructUpdate DecimalFormat
syn keyword cfFunctionName contained ListFirst Tan DecrementValue ListGetAt TimeFormat Decrypt ListInsertAt
syn keyword cfFunctionName contained ToBase64 DeleteClientVariable ListLast ToBinary DirectoryExists ListLen
syn keyword cfFunctionName contained ToScript DollarFormat ListPrepend ToString Duplicate ListQualify Trim Encrypt
syn keyword cfFunctionName contained ListRest UCase Evaluate ListSetAt URLDecode Exp ListSort URLEncodedFormat
syn keyword cfFunctionName contained ExpandPath ListToArray URLSessionFormat FileExists ListValueCount Val Find
syn keyword cfFunctionName contained ListValueCountNoCase ValueList FindNoCase LJustify Week FindOneOf Log Wrap
syn keyword cfFunctionName contained FirstDayOfMonth Log10 WriteOutput Fix LSCurrencyFormat XmlChildPos FormatBaseN
syn keyword cfFunctionName contained LSDateFormat XmlElemNew GetTempDirectory LSEuroCurrencyFormat XmlFormat
syn keyword cfFunctionName contained GetAuthUser LSIsCurrency XmlGetNodeType GetBaseTagData LSIsDate XmlNew
syn keyword cfFunctionName contained GetBaseTagList LSIsNumeric XmlParse GetBaseTemplatePath LSNumberFormat
syn keyword cfFunctionName contained XmlSearch GetClientVariablesList LSParseCurrency XmlTransform
syn keyword cfFunctionName contained GetCurrentTemplatePath LSParseDateTime XmlValidate GetDirectoryFromPath
syn keyword cfFunctionName contained LSParseEuroCurrency Year GetEncoding LSParseNumber YesNoFormat GetException
syn keyword cfFunctionName contained LSTimeFormat GetFileFromPath LTrim
syn cluster htmlTagNameCluster add=cfTagName
syn cluster htmlArgCluster add=cfArg,cfHashRegion,cfScope
syn cluster htmlPreproc add=cfHashRegion
syn cluster cfExpressionCluster contains=cfFunctionName,cfScope,@cfOperatorCluster,cfScriptStringD,cfScriptStringS,cfScriptNumber,cfBool
" Evaluation; skip strings ( this helps with cases like nested IIf() )
syn region cfHashRegion start=+#+ skip=+"[^"]*"\|'[^']*'+ end=+#+ contains=@cfExpressionCluster,cfScriptParenError
" <cfset>, <cfif>, <cfelseif>, <cfreturn> are analogous to hashmarks (implicit evaluation) and has 'var'
syn region cfSetRegion start="<cfset " start="<cfreturn " start="<cfelseif " start="<cfif " end='>' keepend contains=@cfExpressionCluster,cfSetLHSRegion,cfSetTagEnd,cfScriptType
syn region cfSetLHSRegion contained start="<cfreturn" start="<cfelseif" start="<cfif" start="<cfset" end=" " keepend contains=cfTagName,htmlTag
syn match cfSetTagEnd contained '>'
" CF comments: similar to SGML comments
syn region cfComment start='<!---' end='--->' keepend contains=cfCommentTodo
syn keyword cfCommentTodo contained TODO FIXME XXX TBD WTF
" CFscript
syn match cfScriptLineComment contained "\/\/.*$" contains=cfCommentTodo
syn region cfScriptComment contained start="/\*" end="\*/" contains=cfCommentTodo
" in CF, quotes are escaped by doubling
syn region cfScriptStringD contained start=+"+ skip=+\\\\\|""+ end=+"+ extend contains=@htmlPreproc,cfHashRegion
syn region cfScriptStringS contained start=+'+ skip=+\\\\\|''+ end=+'+ extend contains=@htmlPreproc,cfHashRegion
syn match cfScriptNumber contained "-\=\<\d\+L\=\>"
syn keyword cfScriptConditional contained if else
syn keyword cfScriptRepeat contained while for in
syn keyword cfScriptBranch contained break switch case try catch continue
syn keyword cfScriptFunction contained function
syn keyword cfScriptType contained var
syn match cfScriptBraces contained "[{}]"
syn keyword cfScriptStatement contained return
syn cluster cfScriptCluster contains=cfScriptParen,cfScriptLineComment,cfScriptComment,cfScriptStringD,cfScriptStringS,cfScriptFunction,cfScriptNumber,cfScriptRegexpString,cfScriptBoolean,cfScriptBraces,cfHashRegion,cfFunctionName,cfScope,@cfOperatorCluster,cfScriptConditional,cfScriptRepeat,cfScriptBranch,cfScriptType,@cfExpressionCluster,cfScriptStatement
" Errors caused by wrong parenthesis; skip strings
syn region cfScriptParen contained transparent skip=+"[^"]*"\|'[^']*'+ start=+(+ end=+)+ contains=@cfScriptCluster
syn match cfScrParenError contained +)+
syn region cfscriptBlock matchgroup=NONE start="<cfscript>" end="<\/cfscript>"me=s-1 keepend contains=@cfScriptCluster,cfscriptTag,cfScrParenError
syn region cfscriptTag contained start='<cfscript' end='>' keepend contains=cfTagName,htmlTag
" Define the default highlighting.
if version >= 508 || !exists("did_cf_syn_inits")
if version < 508
let did_cf_syn_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink cfTagName Statement
HiLink cfArg Type
HiLink cfFunctionName Function
HiLink cfHashRegion PreProc
HiLink cfComment Comment
HiLink cfCommentTodo Todo
HiLink cfOperator Operator
HiLink cfOperatorMatch Operator
HiLink cfScope Title
HiLink cfBool Constant
HiLink cfscriptBlock Special
HiLink cfscriptTag htmlTag
HiLink cfSetRegion PreProc
HiLink cfSetLHSRegion htmlTag
HiLink cfSetTagEnd htmlTag
HiLink cfScriptLineComment Comment
HiLink cfScriptComment Comment
HiLink cfScriptStringS String
HiLink cfScriptStringD String
HiLink cfScriptNumber cfScriptValue
HiLink cfScriptConditional Conditional
HiLink cfScriptRepeat Repeat
HiLink cfScriptBranch Conditional
HiLink cfScriptType Type
HiLink cfScriptStatement Statement
HiLink cfScriptBraces Function
HiLink cfScriptFunction Function
HiLink cfScriptError Error
HiLink cfScrParenError cfScriptError
delcommand HiLink
endif
let b:current_syntax = "cf"
" vim: ts=8 sw=2

View File

@@ -2,7 +2,7 @@
" Language: sed
" Maintainer: Haakon Riiser <hakonrk@fys.uio.no>
" URL: http://folk.uio.no/hakonrk/vim/syntax/sed.vim
" Last Change: 2003 May 11
" Last Change: 2005 Dec 15
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -21,7 +21,7 @@ syn match sedAddress "\d\+\~\d\+"
syn region sedAddress matchgroup=Special start="[{,;]\s*/\(\\/\)\="lc=1 skip="[^\\]\(\\\\\)*\\/" end="/I\=" contains=sedTab,sedRegexpMeta
syn region sedAddress matchgroup=Special start="^\s*/\(\\/\)\=" skip="[^\\]\(\\\\\)*\\/" end="/I\=" contains=sedTab,sedRegexpMeta
syn match sedComment "^\s*#.*$"
syn match sedFunction "[dDgGhHlnNpPqx=]\s*\($\|;\)" contains=sedSemicolon,sedWhitespace
syn match sedFunction "[dDgGhHlnNpPqQx=]\s*\($\|;\)" contains=sedSemicolon,sedWhitespace
syn match sedLabel ":[^;]*"
syn match sedLineCont "^\(\\\\\)*\\$" contained
syn match sedLineCont "[^\\]\(\\\\\)*\\$"ms=e contained

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Slice (ZeroC's Specification Language for Ice)
" Maintainer: Morel Bodin <bodin@tuxfamily.net>
" Last Change: 2003 Sep 24
" Maintainer: Morel Bodin <slice06@nym.hush.com>
" Last Change: 2005 Dec 03
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -15,7 +15,7 @@ endif
syn keyword sliceType bool byte double float int long short string void
syn keyword sliceQualifier const extends idempotent implements local nonmutating out throws
syn keyword sliceConstruct class enum exception dictionnary interface module LocalObject Object sequence struct
syn keyword sliceConstruct class enum exception dictionary interface module LocalObject Object sequence struct
syn keyword sliceQualifier const extends idempotent implements local nonmutating out throws
syn keyword sliceBoolean false true

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: SQL, PL/SQL (Oracle 8i)
" Maintainer: Paul Moore <pf_moore AT yahoo.co.uk>
" Last Change: 2004 Jul 19
" Last Change: 2005 Dec 23
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -58,7 +58,7 @@ syn match sqlComment "--.*$" contains=sqlTodo
syn sync ccomment sqlComment
" Todo.
syn keyword sqlTodo TODO FIXME XXX DEBUG NOTE
syn keyword sqlTodo contained TODO FIXME XXX DEBUG NOTE
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already

View File

@@ -1,8 +1,8 @@
" Vim syntax file
" Language: TeX
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrchipO@ScampbellPfamily.AbizM>
" Last Change: Sep 14, 2005
" Version: 30
" Last Change: Dec 07, 2005
" Version: 31
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
"
" Notes: {{{1
@@ -394,10 +394,12 @@ endif
syn region texZone matchgroup=texStatement start="@samp{" end="}\|%stopzone\>" contains=@texRefGroup
syn region texRefZone matchgroup=texStatement start="\\nocite{" end="}\|%stopzone\>" contains=@texRefGroup
syn region texRefZone matchgroup=texStatement start="\\bibliography{" end="}\|%stopzone\>" contains=@texRefGroup
syn region texRefZone matchgroup=texStatement start="\\cite\([tp]\*\=\)\={" end="}\|%stopzone\>" contains=@texRefGroup
syn region texRefZone matchgroup=texStatement start="\\label{" end="}\|%stopzone\>" contains=@texRefGroup
syn region texRefZone matchgroup=texStatement start="\\\(page\|eq\)ref{" end="}\|%stopzone\>" contains=@texRefGroup
syn region texRefZone matchgroup=texStatement start="\\v\=ref{" end="}\|%stopzone\>" contains=@texRefGroup
syn match texRefZone '\\cite\%([tp]\*\=\)\=' nextgroup=texRefOption,texCite
syn region texRefOption contained matchgroup=Delimiter start='\[' end=']' contains=@texRefGroup nextgroup=texRefOption,texCite
syn region texCite contained matchgroup=Delimiter start='{' end='}' contains=@texRefGroup
" Handle newcommand, newenvironment : {{{1
syn match texNewCmd "\\newcommand\>" nextgroup=texCmdName skipwhite skipnl
@@ -465,6 +467,7 @@ if did_tex_syntax_inits == 1
HiLink texError Error
endif
HiLink texCite texRefZone
HiLink texDefCmd texDef
HiLink texDefName texDef
HiLink texDocType texCmdName

View File

@@ -1,8 +1,8 @@
" Vim syntax file
" Language: Vim 7.0 script
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
" Last Change: Nov 18, 2005
" Version: 7.0-20
" Last Change: December 09, 2005
" Version: 7.0-21
" Automatically generated keyword lists: {{{1
" Quit when a syntax file was already loaded {{{2
@@ -16,7 +16,7 @@ syn keyword vimTodo contained COMBAK NOT RELEASED TODO WIP
syn cluster vimCommentGroup contains=vimTodo,@Spell
" regular vim commands {{{2
syn keyword vimCommand contained ab[breviate] abc[lear] abo[veleft] al[l] arga[dd] argd[elete] argdo arge[dit] argg[lobal] argl[ocal] ar[gs] argu[ment] as[cii] bad[d] ba[ll] bd[elete] be bel[owright] bf[irst] bl[ast] bm[odified] bn[ext] bN[ext] bo[tright] bp[revious] brea[k] breaka[dd] breakd[el] breakl[ist] br[ewind] bro[wse] bufdo b[uffer] buffers bun[load] bw[ipeout] ca[bbrev] cabc[lear] cad[dfile] cal[l] cat[ch] cb[uffer] cc ccl[ose] cd ce[nter] cex[pr] cf[ile] cfir[st] cg[etfile] c[hange] changes chd[ir] che[ckpath] checkt[ime] cla[st] cl[ist] clo[se] cmapc[lear] cnew[er] cn[ext] cN[ext] cnf[ile] cNf[ile] cnorea[bbrev] col[der] colo[rscheme] comc[lear] comp[iler] conf[irm] con[tinue] cope[n] co[py] cpf[ile] cp[revious] cq[uit] cr[ewind] cuna[bbrev] cu[nmap] cw[indow] debugg[reedy] delc[ommand] d[elete] DeleteFirst delf[unction] delm[arks] diffg[et] diffoff diffpatch diffpu[t] diffsplit diffthis diffu[pdate] dig[raphs] di[splay] dj[ump] dl[ist] dr[op] ds[earch] dsp[lit] echoe[rr] echom[sg] echon e[dit] el[se] elsei[f] em[enu] emenu* endfo[r] endf[unction] en[dif] endt[ry] endw[hile] ene[w] ex exi[t] Explore exu[sage] f[ile] files filetype fina[lly] fin[d] fini[sh] fir[st] fix[del] fo[ld] foldc[lose] folddoc[losed] foldd[oopen] foldo[pen] for fu[nction] g[lobal] go[to] gr[ep] grepa[dd] ha[rdcopy] h[elp] helpf[ind] helpg[rep] helpt[ags] Hexplore hid[e] his[tory] I ia[bbrev] iabc[lear] if ij[ump] il[ist] imapc[lear] inorea[bbrev] is[earch] isp[lit] iuna[bbrev] iu[nmap] j[oin] ju[mps] k keepalt keepj[umps] kee[pmarks] lan[guage] la[st] lc[d] lch[dir] le[ft] lefta[bove] l[ist] lm[ap] lmapc[lear] ln[oremap] lo[adview] loc[kmarks] lockv[ar] ls lu[nmap] mak[e] ma[rk] marks mat[ch] menut[ranslate] mk[exrc] mks[ession] mksp[ell] mkvie[w] mkv[imrc] mod[e] m[ove] mzf[ile] mz[scheme] nbkey NetrwSettings new n[ext] N[ext] nmapc[lear] noh[lsearch] norea[bbrev] Nread nu[mber] nun[map] Nw omapc[lear] on[ly] o[pen] opt[ions] ou[nmap] pc[lose] ped[it] pe[rl] perld[o] po[p] popu popu[p] pp[op] pre[serve] prev[ious] p[rint] P[rint] profd[el] prof[ile] prompt promptf[ind] promptr[epl] ps[earch] pta[g] ptf[irst] ptj[ump] ptl[ast] ptn[ext] ptN[ext] ptp[revious] ptr[ewind] pts[elect] pu[t] pw[d] pyf[ile] py[thon] qa[ll] q[uit] quita[ll] r[ead] rec[over] redi[r] red[o] redr[aw] redraws[tatus] reg[isters] res[ize] ret[ab] retu[rn] rew[ind] ri[ght] rightb[elow] rub[y] rubyd[o] rubyf[ile] ru[ntime] rv[iminfo] sal[l] san[dbox] sa[rgument] sav[eas] sba[ll] sbf[irst] sbl[ast] sbm[odified] sbn[ext] sbN[ext] sbp[revious] sbr[ewind] sb[uffer] scripte[ncoding] scrip[tnames] se[t] setf[iletype] setg[lobal] setl[ocal] Sexplore sf[ind] sfir[st] sh[ell] sign sil[ent] sim[alt] sla[st] sl[eep] sm[agic] sn[ext] sN[ext] sni[ff] sno[magic] sor[t] so[urce] spelld[ump] spe[llgood] spellr[epall] spellw[rong] sp[lit] spr[evious] sre[wind] sta[g] star[tinsert] startr[eplace] stj[ump] st[op] stopi[nsert] sts[elect] sun[hide] sus[pend] sv[iew] syncbind t ta[g] tags tc[l] tcld[o] tclf[ile] te[aroff] tf[irst] the th[row] tj[ump] tl[ast] tm tm[enu] tn[ext] tN[ext] to[pleft] tp[revious] tr[ewind] try ts[elect] tu tu[nmenu] una[bbreviate] u[ndo] unh[ide] unlo[ckvar] unm[ap] up[date] verb[ose] ve[rsion] vert[ical] Vexplore v[global] vie[w] vim[grep] vimgrepa[dd] vi[sual] viu[sage] vmapc[lear] vne[w] vs[plit] vu[nmap] wa[ll] wh[ile] winc[md] windo winp[os] win[size] wn[ext] wN[ext] wp[revious] wq wqa[ll] w[rite] ws[verb] wv[iminfo] X xa[ll] x[it] y[ank]
syn keyword vimCommand contained ab[breviate] abc[lear] abo[veleft] al[l] arga[dd] argd[elete] argdo arge[dit] argg[lobal] argl[ocal] ar[gs] argu[ment] as[cii] bad[d] ba[ll] bd[elete] be bel[owright] bf[irst] bl[ast] bm[odified] bn[ext] bN[ext] bo[tright] bp[revious] brea[k] breaka[dd] breakd[el] breakl[ist] br[ewind] bro[wse] bufdo b[uffer] buffers bun[load] bw[ipeout] ca[bbrev] cabc[lear] cad[dfile] cal[l] cat[ch] cb[uffer] cc ccl[ose] cd ce[nter] cex[pr] cf[ile] cfir[st] cg[etfile] c[hange] changes chd[ir] che[ckpath] checkt[ime] cla[st] cl[ist] clo[se] cmapc[lear] cnew[er] cn[ext] cN[ext] cnf[ile] cNf[ile] cnorea[bbrev] col[der] colo[rscheme] comc[lear] comp[iler] conf[irm] con[tinue] cope[n] co[py] cpf[ile] cp[revious] cq[uit] cr[ewind] cuna[bbrev] cu[nmap] cw[indow] debugg[reedy] delc[ommand] d[elete] DeleteFirst delf[unction] delm[arks] diffg[et] diffoff diffpatch diffpu[t] diffsplit diffthis diffu[pdate] dig[raphs] di[splay] dj[ump] dl[ist] dr[op] ds[earch] dsp[lit] echoe[rr] echom[sg] echon e[dit] el[se] elsei[f] em[enu] emenu* endfo[r] endf[unction] en[dif] endt[ry] endw[hile] ene[w] ex exi[t] Explore exu[sage] f[ile] files filetype fina[lly] fin[d] fini[sh] fir[st] fix[del] fo[ld] foldc[lose] folddoc[losed] foldd[oopen] foldo[pen] for fu[nction] g[lobal] go[to] gr[ep] grepa[dd] ha[rdcopy] h[elp] helpf[ind] helpg[rep] helpt[ags] Hexplore hid[e] his[tory] I ia[bbrev] iabc[lear] if ij[ump] il[ist] imapc[lear] inorea[bbrev] is[earch] isp[lit] iuna[bbrev] iu[nmap] j[oin] ju[mps] k keepalt keepj[umps] kee[pmarks] lan[guage] la[st] lc[d] lch[dir] le[ft] lefta[bove] l[ist] lm[ap] lmapc[lear] ln[oremap] lo[adview] loc[kmarks] lockv[ar] ls lu[nmap] mak[e] ma[rk] marks mat[ch] menut[ranslate] mk[exrc] mks[ession] mksp[ell] mkvie[w] mkv[imrc] mod[e] m[ove] mzf[ile] mz[scheme] nbkey NetrwSettings new n[ext] N[ext] nmapc[lear] noh[lsearch] norea[bbrev] Nread nu[mber] nun[map] Nw omapc[lear] on[ly] o[pen] opt[ions] ou[nmap] pc[lose] ped[it] pe[rl] perld[o] po[p] popu popu[p] pp[op] pre[serve] prev[ious] p[rint] P[rint] profd[el] prof[ile] prompt promptf[ind] promptr[epl] ps[earch] pta[g] ptf[irst] ptj[ump] ptl[ast] ptn[ext] ptN[ext] ptp[revious] ptr[ewind] pts[elect] pu[t] pw[d] pyf[ile] py[thon] qa[ll] q[uit] quita[ll] r[ead] rec[over] redi[r] red[o] redr[aw] redraws[tatus] reg[isters] res[ize] ret[ab] retu[rn] rew[ind] ri[ght] rightb[elow] rub[y] rubyd[o] rubyf[ile] ru[ntime] rv[iminfo] sal[l] san[dbox] sa[rgument] sav[eas] sba[ll] sbf[irst] sbl[ast] sbm[odified] sbn[ext] sbN[ext] sbp[revious] sbr[ewind] sb[uffer] scripte[ncoding] scrip[tnames] se[t] setf[iletype] setg[lobal] setl[ocal] Sexplore sf[ind] sfir[st] sh[ell] sign sil[ent] sim[alt] sla[st] sl[eep] sm[agic] sn[ext] sN[ext] sni[ff] sno[magic] sor[t] so[urce] spelld[ump] spe[llgood] spellr[epall] spellw[rong] sp[lit] spr[evious] sre[wind] sta[g] star[tinsert] startr[eplace] stj[ump] st[op] stopi[nsert] sts[elect] sun[hide] sus[pend] sv[iew] syncbind t ta[g] tags tc[l] tcld[o] tclf[ile] te[aroff] tf[irst] the th[row] tj[ump] tl[ast] tm tm[enu] tn[ext] tN[ext] to[pleft] tp[revious] tr[ewind] try ts[elect] tu tu[nmenu] una[bbreviate] u[ndo] unh[ide] unlo[ckvar] unm[ap] up[date] verb[ose] ve[rsion] vert[ical] Vexplore v[global] vie[w] vim[grep] vimgrepa[dd] vi[sual] viu[sage] vmapc[lear] vne[w] vs[plit] vu[nmap] wa[ll] wh[ile] winc[md] windo winp[os] win[size] wn[ext] wN[ext] wp[revious] wq wqa[ll] w[rite] ws[verb] wv[iminfo] X xa[ll] x[it] XMLent XMLns y[ank]
syn match vimCommand contained "\<z[-+^.=]"
" vimOptions are caught only when contained in a vimSet {{{2
@@ -44,7 +44,7 @@ syn keyword vimErrSetting contained hardtabs ht w1200 w300 w9600
" AutoBuf Events {{{2
syn case ignore
syn keyword vimAutoEvent contained BufAdd BufCreate BufDelete BufEnter BufFilePost BufFilePre BufHidden BufLeave BufNew BufNewFile BufRead BufReadCmd BufReadPost BufReadPre BufUnload BufWinEnter BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre Cmd-event CmdwinEnter CmdwinLeave ColorScheme CursorHold E135 E143 E200 E201 E203 E204 EncodingChanged FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter InsertChange InsertEnter InsertLeave MenuPopup QuickFixCmdPost QuickFixCmdPre RemoteReply StdinReadPost StdinReadPre Syntax TermChanged TermResponse User UserGettingBored VimEnter VimLeave VimLeavePre WinEnter WinLeave
syn keyword vimAutoEvent contained BufAdd BufCreate BufDelete BufEnter BufFilePost BufFilePre BufHidden BufLeave BufNew BufNewFile BufRead BufReadCmd BufReadPost BufReadPre BufUnload BufWinEnter BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre Cmd-event CmdwinEnter CmdwinLeave ColorScheme CursorHold E135 E143 E200 E201 E203 E204 EncodingChanged FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter InsertChange InsertEnter InsertLeave MenuPopup QuickFixCmdPost QuickFixCmdPre RemoteReply SessionLoadPost StdinReadPost StdinReadPre SwapExists Syntax TermChanged TermResponse User UserGettingBored VimEnter VimLeave VimLeavePre WinEnter WinLeave
" Highlight commonly used Groupnames {{{2
syn keyword vimGroup contained Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo

View File

@@ -18,8 +18,6 @@ ref: Shell script for the K command.
shtags.*: Perl script to create a tags file from a shell script.
tcltags: Shell + Awk script to create a tags file from a TCL file.
vim132: Shell script to edit in 132 column mode on vt100 compatible
terminals.

View File

@@ -1,101 +0,0 @@
Vim with KDE: kvim
ON THE INTERNET
===============
The homepage is http://www.freehackers.org/kvim/
The core is build around the official vim-6.x releases and patches
KVim CVS is full and does not need extra package. Just download and compile it.
INSTALL :
=========
We now use Vim's configure to configure, compile and install KVim.
Don't forget, that you need to have QT and KDE headers and tools installed, otherwise it won't
work ! (these can commonly be found in kde-devel/qt-devel packages)
Enter the 'src' directory and configure it your way (you need to add at least these flags to the configure command line : --enable-gui=kde --with-qt-dir=$QTDIR ) then make and make install as root.
We added to configure some options for KDE / QT detection, it will for example, find whether you use KDE 2.x or KDE 3.x automatically. For now, QT is _not_ autodetected. I hope to fix this soon.
From KVim 6.1, you can now use a KDE toolbar instead of Vim's Toolbar, to enable it, use the --enable-kde-toolbar configure flag.
=> If it fails : (yes it still can, the configure script i wrote is still experimental and probably not
perfect ;p)
or 'how to make a bug report' :
In some cases, I can imagine it will fail, if this happens then send to marchand@kde.org :
->auto/config.mk (important one)
->your configure command line with your options
->your paths : where KDE is (which version ?), where QT is (version ?), and find where your
libs are (your kdelibs, your QT libs and QT headers)
->the output of 'kde-config --version'
->your OS / Linux Distribution version
->in case of a compilation error : the full error output.
->the compiler used (gcc 2.95, 2.96, 3.1 ...)
->any stuff you think could be usefull to me :)
Thanks for giving KVim a try, we hope you'll enjoy it !
DEVELOPMENT STATE AND KNOWN BUGS:
=================================
Most Vim GUI features are now implemented, only multibyte support is incomplete.
We are working on this and this is our primary goal after KVim 6.1 release.
We hope to get it to work before we include KVim into the core Vim which we want to
do before the end of the year 2002 if possible.
We would be happy to hear from you if you've tried kvim. Tell us
what is missing, what you like and don't like, and what you want.
As people have wished it for a while, Philippe developped a component for Vim.
The component is now fully usable with GVim and KVim and can be found on KDE's CVS
in the kdeextragear-1 module.
SOURCE ACCESS:
==============
Releases and maybe snapshots are/will be found on http://freehackers.org/kvim/
The CVS is CVSROOT=:pserver:anonymous@cvs.tuxfamily.org:/cvsroot/kvim
(with no password)
You'll find there a full vim 6.x package (with runtime files included).
MAILING LIST:
=============
As we released KVim 6.0, we created a public mailing list, for feedback,
user help and development related discussions : "kvim-dev@freenux.org",
to subscribe send a mail to "kvim-dev-subscribe@freenux.org" with
"subscribe" as the subject and just reply to the mail you will receive.
(sorry the admin messages are in french, but the list discussions are in
english)
THANKS :
========
To all the guys on #kde@opn (Neil, Malte and many other) and to all the people who
tried, debugged, compiled and recompiled again KVim to bring now a much more robust KVim
and of course to all of you who send patchs and comments :)
And of course to Vim Authors :)
CURRENT MAINTAINER:
===================
Mickael Marchand <marchand@kde.org>
DEVELOPERS (CVS accounts):
==========
Mickael Marchand <marchand@kde.org> (marchand)
Mark Westcott <mark@houseoffish.org> Qtopia GUI (mark)
Thomas Capricelli <orzel@kde.org> Initial KVim author (orzel)
Philippe Fremy <pfremy@chez.com> Initial KVim author (pfremy)
AUTHORS
=========
Thomas Capricelli <orzel@kde.org> Initial KVim author
Philippe Fremy <pfremy@chez.com> Initial KVim author
CONTRIBUTORS
============
David Spencer Tyree <celer@scrypt.net>
Vince Negri <vince@bulbous.freeserve.co.uk> AntiAliasing support
Kailash Sethuraman (hsaliak, #netbsd@opn) NetBSD configuration/compilation fixes
Some other, see the About KVim dialog box in KVim...

View File

@@ -15,12 +15,7 @@ Summary
1.1. Carbon interface
1.2. X (Athena, GTK, Motif) or plain text.
2 MacOS Classic
2.1. CodeWarrior
2.2. MPW
NOTE: The Carbon version can only be compiled properly under
MacOS X.
MacOS Classic is no longer supported. If you really want it use Vim 6.4.
----------------------------------------------------------------------------
1 MacOS X
@@ -57,108 +52,4 @@ NOTE: The Carbon version can only be compiled properly under
NOTE: You need to first install XFree86 and XDarwin.
Please visit http://www.XDarwin.org
----------------------------------------------------------------------------
MacOS 9
----------------------------------------------------------------------------
Both ':' and '/' supported as path separator.
2.1: Compiling with CodeWarior
1. Expand the resource file:
open ../src/os_mac.rsr.hqx to produce ../src/gui_mac.rsrc:
% cd vim62/src
% open -a StuffIt\ Expander os_mac.rsr.hqx
2. Expand the project file:
- ../src/os_mac.sit.hqx (to produce ../src/vim.mcp)
3. Open vim.mcp with CodeWarior
This is a CodeWarior 9 project file. When using a newer version,
you need to convert the file. you may also need to change some
access path.
NOTE: the current project file is old, you need to add a few files:
(ex_cmds2.c, fold.c, mbyte.c, move.c)
4. Select the target PPC, 68k FAT (with/without debugger)
5. Compile
2.2: Compiling with MPW.
0. You will need a recent version of the MPW and the Universal Interfaces.
You can get both at:
ftp://ftp.apple.com/developer/Tool_Chest/Interfaces-Libraries/
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/
For a Carbon version you will need a recent Carbon SDK as well.
(When you have an older version already installed you not be able to
compile a carbon version. Update "CreateMake" which is available at
Apple.
1. Expand the resource file:
open ../src/os_mac.rsr.hqx to produce ../src/gui_mac.rsrc:
% cd vim62/src
% open -a StuffIt\ Expander os_mac.rsr.hqx
3. Double click on os_make.make, the MPW will now open in the correct
folder and load the CreateVimMake script. Change to the Worksheet
window. Type "os_mac.build" and hit Enter (not Return). A dialog box
will appear. Select the target you want. (Vim-68k, Vim-ppc, Vim-carbon)
4. Select "Build" from the menu (or type command-B). Type the program name
into the dialog box.
------------------------------------------------------
OLD FILE: SOME INFO MAY STILL BE USEFUL
NOTE: Users of more recent CodeWarrior version may have to reset the library
path, and change the mch_delay in os_mac.c so the finalTick is unsigned.
Compilation instructions:
1. Visit the Vim ftp site (see ftp://ftp.vim.org/pub/vim/MIRRORS)
and obtain the following five files:
unix/vim-X.X-src1.tar.gz
unix/vim-X.X-src2.tar.gz
unix/vim-X.X-rt1.tar.gz
unix/vim-X.X-rt2.tar.gz
extra/vim-X.X-extra.tar.gz
where X.X is the version number.
NOTE: the language support is not yet supported
2. Expand the archives.
3. Apply patches if they exist. (Patch files are found in the ftp
site in the "patches" directory.)
4. Edit vim-X.X/src/feature.h for your preference. (You can skip
this, then you will get the default behavior as is documented,
which should be fine for most people.)
For example, if you want to add the FEAT_MBYTE feature, turn on
#define FEAT_MBYTE
5. Expand the resource file:
- vim-X.X/src/os_mac.rsr.hqx (to produce vim-X.X/src/gui_mac.rsrc)
6. If using CodeWarrior, expand the project file:
- vim-X.X/src/os_mac.sit.hqx (to produce vim-X.X/src/vim.mcp)
The latter file is the CodeWarrior project file to be used.
7. Launch CodeWarrior by double clicking vim.mcp.
8. Check additional files if you include non-standard features.
For example, if you added the MULTI_BYTE feature, check
Extras/mbyte.c in the project window.
9. Compile and you will obtain binaries: vimPPC, Vim 68k, and/or vimFAT.

View File

@@ -14,7 +14,7 @@ be fine for most people.
Contents:
1. MS-DOS
2. Win32 (Windows NT and Windows 95)
2. Win32 (Windows XP/NT and Windows 95/98)
3. Windows NT with OpenNT
4. Windows 3.1
5. Using Mingw
@@ -66,7 +66,7 @@ If you get all kinds of strange error messages when compiling, try adding
changing the file format from "unix" to "dos".
2. Win32 (Windows NT and Windows 95)
2. Win32 (Windows NT/XP and Windows 95/98)
====================================
Summary:

File diff suppressed because it is too large Load Diff

View File

@@ -34,7 +34,7 @@
# X11 Session Management Protocol (XSMP) library (libSM) but do not
# want to use it.
# This can speedup Vim startup but Vim loses the ability to catch the
# user logging out from session-managers like GNOME & KDE and work
# user logging out from session-managers like GNOME and work
# could be lost.
# - Uncomment one or more of these lines to include an interface;
# each makes Vim quite a bit bigger:
@@ -338,8 +338,6 @@ CClink = $(CC)
# automatically be used if it is found. If you have GNOME, but do not want to
# use it (e.g., want a GTK-only version), then use --enable-gui=gtk.
#
# KDE doesn't fully work, unfortunately. See the todo list.
#
# If the selected GUI isn't found, the GUI is disabled automatically
#CONF_OPT_GUI = --enable-gui=gtk
#CONF_OPT_GUI = --enable-gui=gtk --disable-gtktest
@@ -348,7 +346,6 @@ CClink = $(CC)
#CONF_OPT_GUI = --enable-gui=gnome
#CONF_OPT_GUI = --enable-gui=gnome2
#CONF_OPT_GUI = --enable-gui=gnome2 --disable-gtktest
#CONF_OPT_GUI = --enable-gui=kde
#CONF_OPT_GUI = --enable-gui=motif
#CONF_OPT_GUI = --enable-gui=motif --with-motif-lib="-static -lXm -shared"
#CONF_OPT_GUI = --enable-gui=athena
@@ -1087,23 +1084,6 @@ LINKIT = @echo >/dev/null
# Without a GUI install the normal way.
NONE_INSTALL = install_normal
### KDE GUI interface.
KDE_SRC = gui.c pty.c gui_kde.cc gui_kde_x11.cc gui_kde_wid.cc gui_kde_wid_moc.cc kvim_iface_skel.cc
KDE_OBJ = objects/gui.o objects/pty.o objects/gui_kde.o objects/gui_kde_x11.o \
objects/gui_kde_wid.o objects/gui_kde_wid_moc.o \
objects/kvim_iface_skel.o
KDE_DEFS = -DFEAT_GUI_KDE $(NARROW_PROTO)
KDE_IPATH = $(GUI_INC_LOC)
KDE_LIBS_DIR = $(GUI_LIB_LOC) # Includes the libraries themselves
KDE_DIR = $(KDE_PREFIX)
KDE_LIBS1 =
KDE_LIBS2 =
KDE_INSTALL = install_normal
KDE_TARGETS = installglinks installkdeicons
KDE_MAN_TARGETS = yes
KDE_TESTTARGET = gui
KDE_BUNDLE =
### GTK GUI
GTK_SRC = gui.c gui_gtk.c gui_gtk_x11.c pty.c gui_gtk_f.c \
gui_beval.c
@@ -1230,7 +1210,7 @@ APPDIR = $(VIMNAME).app
CARBONGUI_TESTARG = VIMPROG=../$(APPDIR)/Contents/MacOS/$(VIMTARGET)
# All GUI files
ALL_GUI_SRC = gui.c gui_gtk.c gui_gtk_f.c gui_motif.c gui_xmdlg.c gui_xmebw.c gui_athena.c gui_gtk_x11.c gui_x11.c gui_at_sb.c gui_at_fs.c pty.c gui_kde.cc gui_kde_wid.cc gui_kde_x11.cc gui_kde_wid_moc.cc
ALL_GUI_SRC = gui.c gui_gtk.c gui_gtk_f.c gui_motif.c gui_xmdlg.c gui_xmebw.c gui_athena.c gui_gtk_x11.c gui_x11.c gui_at_sb.c gui_at_fs.c pty.c
ALL_GUI_PRO = gui.pro gui_gtk.pro gui_motif.pro gui_xmdlg.pro gui_athena.pro gui_gtk_x11.pro gui_x11.pro gui_w16.pro gui_w32.pro gui_photon.pro
# }}}
@@ -1277,7 +1257,7 @@ PROTO_FLAGS = -m -M__ARGS -d -E"$(CPP)" $(NO_ATTR)
SHELL = /bin/sh
.SUFFIXES:
.SUFFIXES: .cc .c .o .pro
.SUFFIXES: .c .o .pro
PRE_DEFS = -Iproto $(DEFS) $(GUI_DEFS) $(GUI_IPATH) $(CPPFLAGS) $(EXTRA_IPATHS)
POST_DEFS = $(X_CFLAGS) $(MZSCHEME_CFLAGS) $(PERL_CFLAGS) $(PYTHON_CFLAGS) $(TCL_CFLAGS) $(RUBY_CFLAGS) $(EXTRA_DEFS)
@@ -1395,7 +1375,7 @@ SRC = $(BASIC_SRC) $(GUI_SRC) $(HANGULIN_SRC) $(MZSCHEME_SRC) \
$(PERL_SRC) $(PYTHON_SRC) $(TCL_SRC) $(RUBY_SRC) \
$(SNIFF_SRC) $(WORKSHOP_SRC) $(WSDEBUG_SRC)
TAGS_SRC = *.c *.cpp *.cc if_perl.xs
TAGS_SRC = *.c *.cpp if_perl.xs
EXTRA_SRC = hangulin.c if_mzsch.c auto/if_perl.c if_perlsfio.c \
if_python.c if_tcl.c if_ruby.c if_sniff.c gui_beval.c \
@@ -1947,23 +1927,6 @@ install-languages: languages $(DEST_LANG) $(DEST_KMAP)
chmod $(FILEMOD) $(DEST_KMAP)/README.txt $(DEST_KMAP)/*.vim; \
fi
# Install the icons for the KDE GUI. This differs from the KDE icons for
# other GUIs.
installkdeicons:
mkdir -p $(DESTDIR)$(KDE_DIR)/share/applnk/Editors/
mkdir -p $(DESTDIR)$(KDE_DIR)/share/icons/hicolor/32x32/apps/
mkdir -p $(DESTDIR)$(KDE_DIR)/share/icons/hicolor/48x48/apps/
mkdir -p $(DESTDIR)$(KDE_DIR)/share/icons/hicolor/22x22/actions/
mkdir -p $(DESTDIR)$(KDE_DIR)/share/icons/hicolor/16x16/actions/
mkdir -p $(DESTDIR)$(KDE_DIR)/share/apps/kvim
cp ../runtime/KVim.desktop $(DESTDIR)$(KDE_DIR)/share/applnk/Editors/ && chmod 644 $(DESTDIR)$(KDE_DIR)/share/applnk/Editors/KVim.desktop
cp ../runtime/kvim32x32.png $(DESTDIR)$(KDE_DIR)/share/icons/hicolor/32x32/apps/kvim.png && chmod 644 $(DESTDIR)$(KDE_DIR)/share/icons/hicolor/32x32/apps/kvim.png
cp ../runtime/kvim48x48.png $(DESTDIR)$(KDE_DIR)/share/icons/hicolor/48x48/apps/kvim.png && chmod 644 $(DESTDIR)$(KDE_DIR)/share/icons/hicolor/48x48/apps/kvim.png
cp ../runtime/hi16-action-make.png $(DESTDIR)$(KDE_DIR)/share/icons/hicolor/16x16/actions/hi16-action-make.png
cp ../runtime/hi22-action-make.png $(DESTDIR)$(KDE_DIR)/share/icons/hicolor/22x22/actions/hi22-action-make.png
cp ../runtime/kde-tips $(DESTDIR)$(KDE_DIR)/share/apps/kvim/tips && chmod 644 $(DESTDIR)$(KDE_DIR)/share/apps/kvim/tips
# install the icons for KDE, if the directory exists and the icon doesn't.
ICON48PATH = $(DESTDIR)$(DATADIR)/icons/hicolor/48x48/apps
ICON32PATH = $(DESTDIR)$(DATADIR)/icons/locolor/32x32/apps
@@ -2145,7 +2108,6 @@ clean celan: testclean
-rm -f $(TOOLS) auto/osdef.h auto/pathdef.c auto/if_perl.c
-rm -f conftest* *~ auto/link.sed
-rm -rf $(APPDIR)
-rm -f gui_kde_wid_moc.cc kvim_iface_skel.cc *.kidl
if test -d $(PODIR); then \
cd $(PODIR); $(MAKE) prefix=$(DESTDIR)$(prefix) clean; \
fi
@@ -2239,9 +2201,6 @@ lintinstall:
.c.o:
$(CCC) $<
.cc.o:
$(CCC) $<
auto/if_perl.c: if_perl.xs
$(PERL) -e 'unless ( $$] >= 5.005 ) { for (qw(na defgv errgv)) { print "#define PL_$$_ $$_\n" }}' > $@
$(PERL) $(PERLLIB)/ExtUtils/xsubpp -prototypes -typemap \
@@ -2512,26 +2471,6 @@ objects/workshop.o: workshop.c
objects/wsdebug.o: wsdebug.c
$(CCC) -o $@ wsdebug.c
objects/gui_kde.o: gui_kde.cc
$(CCC) -o $@ gui_kde.cc
objects/gui_kde_x11.o: gui_kde_x11.cc
$(CCC) -o $@ gui_kde_x11.cc
objects/gui_kde_wid.o: gui_kde_wid.cc
$(MOC) -o gui_kde_wid_moc.cc gui_kde_wid.h
$(KDE_DIR)/bin/dcopidl kvim_iface.h > kvim_iface.kidl || ( rm -f kvim_iface.kidl ; /bin/false )
$(KDE_DIR)/bin/dcopidl2cpp --c++-suffix cc --no-stub kvim_iface.kidl
$(CCC) -o $@ gui_kde_wid.cc
gui_kde_wid_moc.cc: objects/gui_kde_wid.o
objects/gui_kde_wid_moc.o: gui_kde_wid_moc.cc
$(CCC) -o $@ gui_kde_wid_moc.cc
kvim_iface_skel.cc: objects/gui_kde_wid.o
objects/kvim_iface_skel.o: kvim_iface_skel.cc
$(CCC) -o $@ kvim_iface_skel.cc
objects/netbeans.o: netbeans.c
$(CCC) -o $@ netbeans.c
@@ -2897,36 +2836,6 @@ objects/pty.o: pty.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.
keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h if_sniff.h
objects/gui_kde.o: gui_kde.cc gui_kde_wid.h kvim_iface.h vim.h auto/config.h \
feature.h os_unix.h ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h if_sniff.h ../pixmaps/tb_new.xpm \
../pixmaps/tb_open.xpm ../pixmaps/tb_close.xpm ../pixmaps/tb_save.xpm \
../pixmaps/tb_print.xpm ../pixmaps/tb_cut.xpm ../pixmaps/tb_copy.xpm \
../pixmaps/tb_paste.xpm ../pixmaps/tb_find.xpm \
../pixmaps/tb_find_next.xpm ../pixmaps/tb_find_prev.xpm \
../pixmaps/tb_find_help.xpm ../pixmaps/tb_exit.xpm \
../pixmaps/tb_undo.xpm ../pixmaps/tb_redo.xpm ../pixmaps/tb_help.xpm \
../pixmaps/tb_macro.xpm ../pixmaps/tb_make.xpm \
../pixmaps/tb_save_all.xpm ../pixmaps/tb_jump.xpm \
../pixmaps/tb_ctags.xpm ../pixmaps/tb_load_session.xpm \
../pixmaps/tb_save_session.xpm ../pixmaps/tb_new_session.xpm \
../pixmaps/tb_blank.xpm ../pixmaps/tb_maximize.xpm \
../pixmaps/tb_split.xpm ../pixmaps/tb_minimize.xpm \
../pixmaps/tb_shell.xpm ../pixmaps/tb_replace.xpm \
../pixmaps/tb_vsplit.xpm ../pixmaps/tb_maxwidth.xpm \
../pixmaps/tb_minwidth.xpm
objects/gui_kde_wid.o: gui_kde_wid.cc gui_kde_wid.h kvim_iface.h vim.h \
auto/config.h feature.h os_unix.h ascii.h keymap.h term.h macros.h \
structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro option.h \
ex_cmds.h proto.h globals.h farsi.h arabic.h if_sniff.h version.h \
proto/../../pixmaps/alert.xpm proto/../../pixmaps/error.xpm \
proto/../../pixmaps/generic.xpm proto/../../pixmaps/info.xpm \
proto/../../pixmaps/quest.xpm
objects/gui_kde_x11.o: gui_kde_x11.cc gui_kde_wid.h kvim_iface.h vim.h \
auto/config.h feature.h os_unix.h ascii.h keymap.h term.h macros.h \
structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro option.h \
ex_cmds.h proto.h globals.h farsi.h arabic.h if_sniff.h version.h
objects/hangulin.o: hangulin.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h \

1002
src/auto/configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,3 @@
:: command to build big Vim with OLE, Perl, Python, Ruby and Tcl
nmake -f Make_mvc.mak GUI=yes OLE=yes PERL=E:\perl58 DYNAMIC_PERL=yes PERL_VER=58 PYTHON=e:\python23 DYNAMIC_PYTHON=yes PYTHON_VER=23 RUBY=e:\ruby18 DYNAMIC_RUBY=yes RUBY_VER=18 RUBY_VER_LONG=1.8 TCL=e:\tcl DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes XPM=e:\xpm
nmake -f Make_mvc.mak GUI=yes OLE=yes PERL=E:\perl58 DYNAMIC_PERL=yes PERL_VER=58 PYTHON=e:\python24 DYNAMIC_PYTHON=yes PYTHON_VER=24 RUBY=e:\ruby18 DYNAMIC_RUBY=yes RUBY_VER=18 RUBY_VER_LONG=1.8 TCL=e:\tcl DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes XPM=e:\xpm

View File

@@ -660,16 +660,14 @@ goto_buffer(eap, start, dir, count)
int dir;
int count;
{
# if defined(FEAT_WINDOWS) \
&& (defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG))
# if defined(FEAT_WINDOWS) && defined(HAS_SWAP_EXISTS_ACTION)
buf_T *old_curbuf = curbuf;
swap_exists_action = SEA_DIALOG;
# endif
(void)do_buffer(*eap->cmd == 's' ? DOBUF_SPLIT : DOBUF_GOTO,
start, dir, count, eap->forceit);
# if defined(FEAT_WINDOWS) \
&& (defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG))
# if defined(FEAT_WINDOWS) && defined(HAS_SWAP_EXISTS_ACTION)
if (swap_exists_action == SEA_QUIT && *eap->cmd == 's')
{
# if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
@@ -683,6 +681,7 @@ goto_buffer(eap, start, dir, count)
/* Quitting means closing the split window, nothing else. */
win_close(curwin, TRUE);
swap_exists_action = SEA_NONE;
swap_exists_did_quit = TRUE;
# if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
/* Restore the error/interrupt/exception state if not discarded by a
@@ -696,7 +695,7 @@ goto_buffer(eap, start, dir, count)
}
#endif
#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) || defined(PROTO)
#if defined(HAS_SWAP_EXISTS_ACTION) || defined(PROTO)
/*
* Handle the situation of swap_exists_action being set.
* It is allowed for "old_curbuf" to be NULL or invalid.
@@ -721,6 +720,7 @@ handle_swap_exists(old_curbuf)
* buffer. If that buffer is gone or the same as the current one,
* open a new, empty buffer. */
swap_exists_action = SEA_NONE; /* don't want it again */
swap_exists_did_quit = TRUE;
close_buffer(curwin, curbuf, DOBUF_UNLOAD);
if (!buf_valid(old_curbuf) || old_curbuf == curbuf)
old_curbuf = buflist_new(NULL, NULL, 1L, BLN_CURBUF | BLN_LISTED);
@@ -4376,20 +4376,20 @@ ex_buffer_all(eap)
continue;
/* Open the buffer in this window. */
#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
#if defined(HAS_SWAP_EXISTS_ACTION)
swap_exists_action = SEA_DIALOG;
#endif
set_curbuf(buf, DOBUF_GOTO);
#ifdef FEAT_AUTOCMD
if (!buf_valid(buf)) /* autocommands deleted the buffer!!! */
{
# if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
#if defined(HAS_SWAP_EXISTS_ACTION)
swap_exists_action = SEA_NONE;
# endif
break;
}
#endif
#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
#if defined(HAS_SWAP_EXISTS_ACTION)
if (swap_exists_action == SEA_QUIT)
{
# if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
@@ -4404,6 +4404,7 @@ ex_buffer_all(eap)
win_close(curwin, TRUE);
--open_wins;
swap_exists_action = SEA_NONE;
swap_exists_did_quit = TRUE;
# if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
/* Restore the error/interrupt/exception state if not

2
src/configure vendored
View File

@@ -1,6 +1,6 @@
#! /bin/sh
# run the automatically generated configure script
CONFIG_STATUS=auto/config.status \
auto/configure "$@" --srcdir="${srcdir-.}" --cache-file=auto/config.cache
auto/configure "$@" --srcdir="${srcdir:-.}" --cache-file=auto/config.cache
# Stupid autoconf 2.5x causes this file to be left behind.
if test -f configure.lineno; then rm -f configure.lineno; fi

View File

@@ -468,7 +468,7 @@ if test "$enable_perlinterp" = "yes"; then
fi
if test "x$MACOSX" = "xyes"; then
dnl Mac OS X 10.2 or 10.3
dnl Mac OS X 10.2 or later
dir=/System/Library/Perl
darwindir=$dir/darwin
if test -d $darwindir; then
@@ -749,7 +749,7 @@ if test "$enable_tclinterp" = "yes"; then
TCL_LIBS=`eval echo "$TCL_LIB_SPEC $TCL_LIBS"`
dnl Use $TCL_DEFS for -D_THREAD_SAFE et al. But only use the
dnl "-D_ABC" items. Watch out for -DFOO=long\ long.
TCL_DEFS=`echo $TCL_DEFS | sed -e 's/\\ /\\X/' | tr ' ' '\012' | sed -e '/^-[[^D]]/d' -e '/-D[[^_]]/d' -e 's/-D_/ -D_/' | tr -d '\012'`
TCL_DEFS=`echo $TCL_DEFS | sed -e 's/\\\\ /\\\\X/g' | tr ' ' '\012' | sed -e '/^-[[^D]]/d' -e '/-D[[^_]]/d' -e 's/-D_/ -D_/' | tr '\012' ' ' | sed -e 's/\\\\X/\\\\ /g'`
break
fi
done
@@ -1079,7 +1079,7 @@ test "x$with_x" = xno -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && enable_gui
AC_MSG_CHECKING(--enable-gui argument)
AC_ARG_ENABLE(gui,
[ --enable-gui[=OPTS] X11 GUI [default=auto] [OPTS=auto/no/gtk/gtk2/gnome/gnome2/kde/motif/athena/neXtaw/photon/carbon]], , enable_gui="auto")
[ --enable-gui[=OPTS] X11 GUI [default=auto] [OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/photon/carbon]], , enable_gui="auto")
dnl Canonicalize the --enable-gui= argument so that it can be easily compared.
dnl Do not use character classes for portability with old tools.
@@ -1090,7 +1090,6 @@ dnl Skip everything by default.
SKIP_GTK=YES
SKIP_GTK2=YES
SKIP_GNOME=YES
SKIP_KDE=YES
SKIP_MOTIF=YES
SKIP_ATHENA=YES
SKIP_NEXTAW=YES
@@ -1134,8 +1133,6 @@ else
SKIP_ATHENA=
SKIP_NEXTAW=
SKIP_CARBON=;;
kde|Kde|KDE) AC_MSG_RESULT(KDE 2.x or 3.x GUI support)
SKIP_KDE=;;
gtk) AC_MSG_RESULT(GTK+ 1.x GUI support)
SKIP_GTK=;;
gtk2) AC_MSG_RESULT(GTK+ 2.x GUI support)
@@ -1159,17 +1156,6 @@ else
fi
if test "x$SKIP_KDE" != "xYES" -a "$enable_gui_canon" != "kde"; then
AC_MSG_CHECKING(whether or not to look for KDE)
AC_ARG_ENABLE(kde-check,
[ --enable-kde-check If auto-select GUI, check for KDE [default=no]],
,enable_kde_check="no")
AC_MSG_RESULT($enable_kde_check);
if test "x$enable_kde_check" = "xno"; then
SKIP_KDE=YES
fi
fi
if test "x$SKIP_GTK" != "xYES" -a "$enable_gui_canon" != "gtk" -a "$enable_gui_canon" != "gtk2"; then
AC_MSG_CHECKING(whether or not to look for GTK)
AC_ARG_ENABLE(gtk-check,
@@ -1250,308 +1236,6 @@ if test "x$SKIP_CARBON" != "xYES" -a "$enable_gui_canon" != "carbon"; then
fi
fi
dnl ---------------------------------------------------------------------------
dnl we use the kde-config script included in KDE since 2.x to check which
dnl version of KDE, we'll use. We'll use additional args in configure to
dnl obtain the QT directory (includes and libs) as qt does not give any
dnl config script ! (shame on the trolls ! ;p)
dnl ---------------------------------------------------------------------------
if test -z "$SKIP_KDE"; then
dnl ------------------
dnl now, take care of QT
dnl -----------------
AC_ARG_WITH(qt-dir,
[ --with-qt-dir=DIR Specify prefix of QT files],
[
ROOTQT="$withval"
MOC="$withval"/bin/moc
QT_INCLUDES="$withval"/include
QT_LIBS="$withval"/lib
])
if test "x$ROOTQT" = "x"; then
if test -z "$QTDIR"; then
dnl Find the Qt directory by looking for the "moc" program.
dnl It's better than nothing.
AC_PATH_PROG(MOC, moc, no)
if test "x$MOC" = "xno"; then
AC_MSG_ERROR(could not find Qt directory)
else
ROOTQT=`echo $MOC | sed 's+/bin/moc++'`
fi
else
ROOTQT="$QTDIR"
fi
fi
MOC="$ROOTQT"/bin/moc
QT_INCLUDES="$ROOTQT"/include
QT_LIBS="$ROOTQT"/lib
AC_ARG_WITH(qt-includes,
[ --with-qt-includes=DIR Specify location of Qt headers],
[QT_INCLUDES="$withval"]
)
AC_ARG_WITH(qt-libraries,
[ --with-qt-libs=DIR Specify location of Qt libraries],
[QT_LIBS="$withval"]
)
if test "x$QT_LIBS" = "x" ; then
QT_LIBS="$ROOTQT"/lib
fi
if test "x$QT_INCLUDES" = "x" ; then
QT_INCLUDES="$ROOTQT"/include
fi
dnl we should get QT's version from here and compare with what kde-config
dnl says
AC_MSG_CHECKING(whether or not to use a KDE Toolbar in KVim)
AC_ARG_ENABLE(kde-toolbar,
[ --enable-kde-toolbar if KDE GUI is selected, enable a KDE-look toolbar [default=no]],
, enable_kde_toolbar="no")
if test "x$enable_kde_toolbar" != "xno"; then
AC_DEFINE(FEAT_KDETOOLBAR)
fi
AC_MSG_RESULT($enable_kde_toolbar);
fi
dnl -------------------
dnl so, first, look up at the kde-config script
dnl ------------------
if test -z "$SKIP_KDE"; then
AC_DEFUN([AC_FIND_FILE],
[
$3=NO
for i in $2;
do
for j in $1;
do
echo "configure: __oline__: $i/$j" >&AC_FD_CC
if test -r "$i/$j"; then
echo "taking that" >&AC_FD_CC
$3=$i
break 2
fi
done
done
])
AC_DEFUN(AM_PATH_KDE,
[
if test "X$KDE_CONFIG" != "X"; then
min_kde_version=ifelse([$1], ,2.0,[$1])
AC_MSG_CHECKING(for KDE version >= $min_kde_version)
no_kde=""
if test "$KDE_CONFIG" = "no" ; then
no_kde=yes
else
KDE_PREFIX=`$KDE_CONFIG --prefix`
if test "x$KDE_LIBS" = "x"; then
KDE_LIBS="$KDE_PREFIX/lib"
fi
if test "x$KDE_INCLUDES" = "x"; then
KDE_INCLUDES="$KDE_PREFIX/include"
if test -d "$KDE_INCLUDES/kde"; then
KDE_INCLUDES="$KDE_INCLUDES/kde"
fi
fi
kde_major_version=`$KDE_CONFIG --version | grep KDE | \
sed 's/KDE:\ //' | sed 's/\([[0-9]]*\).\([[0-9]]*.*\)/\1/'`
kde_minor_version=`$KDE_CONFIG --version | grep KDE | \
sed 's/KDE:\ //' | sed 's/\([[0-9]]*\).\([[0-9]]*.*\)/\2/'`
qt_major_version=`$KDE_CONFIG --version | grep Qt | sed -e \
's/Qt:\ //' | sed 's/\([[0-9]]*\).\([[0-9]]*.*\)/\1/'`
qt_minor_version=`$KDE_CONFIG --version | grep Qt | sed -e \
's/Qt:\ //' | sed 's/\([[0-9]]*\).\([[0-9]]*.*\)/\2/'`
dnl maybe in a near future we'll get these ones : QT_PREFIX, QT_LIBS,
dnl QT_INCLUDES
dnl but for now we need configure options to get them ...
if test "x$enable-kdetest" = "xyes" ; then
ac_save_LIBS="$LIBS"
LIBS="$LIBS $KDE_LIBS"
dnl fake test
AC_TRY_RUN([
#include <stdio.h>
int
main()
{ return 0; }
],, no_kde=yes,[echo $ac_n "cross compiling KDE ? ? how can i remove that ? :)"])
LIBS="$ac_save_LIBS"
fi
fi
if test "x$no_kde" = x ; then
AC_MSG_RESULT(found KDE $kde_major_version.$kde_minor_version)
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
KDE_LIBS=""
ifelse([$3], , :, [$3])
fi
else
AC_MSG_RESULT(no)
KDE_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(KDE_LIBS)
AC_SUBST(KDE_INCLUDES)
AC_SUBST(KDE_PREFIX)
])
dnl Check all the KDE stuff
AC_MSG_CHECKING(--disable-rpath argument)
AC_ARG_ENABLE(rpath,
[ --disable-rpath Disable rpath.],
, enable_rpath="yes")
if test "$enable_rpath" = "yes"; then
AC_MSG_RESULT(no)
else
AC_MSG_RESULT(yes)
fi
AC_MSG_CHECKING(--with-kde-prefix argument)
AC_ARG_WITH(kde-prefix,[ --with-kde-prefix=PFX Prefix where KDE is installed (optional)],kde_config_prefix="$withval";
AC_MSG_RESULT($kde_config_prefix), kde_config_prefix="";AC_MSG_RESULT(no))
AC_ARG_WITH(kde-includes,
[ --with-kde-includes=DIR Specify location of KDE headers],
[KDE_INCLUDES="$withval"]
)
AC_ARG_WITH(kde-libraries,
[ --with-kde-libs=DIR Specify location of KDE libraries],
[KDE_LIBS="$withval"]
)
AC_MSG_CHECKING(--disable-kdetest argument)
AC_ARG_ENABLE(kdetest,
[ --disable-kdetest Do not try to compile and run a test KDE program],
enable_kdetest=yes)
if test "x$enable_kdetest" = "xyes" ; then
AC_MSG_RESULT(kde test enabled)
else
AC_MSG_RESULT(kde test disabled)
fi
if test "x$kde_config_prefix" != "x" ; then
KDE_CONFIG=$kde_config_prefix/bin/kde-config
fi
if test "X$KDE_CONFIG" = "X"; then
AC_PATH_PROG(KDE_CONFIG, kde-config, no)
else
AC_MSG_RESULT(Using KDE configuration program $KDE_CONFIG)
fi
if test "X$KDE_CONFIG" != "X" ; then
AM_PATH_KDE(2.0.0,
[GUI_LIB_LOC="-L$KDE_LIBS -lkdeui -lkdecore -lDCOP"
GUI_INC_LOC="-I$KDE_INCLUDES"
KDEDIR="$KDE_PREFIX"], )
if test "x$KDE_PREFIX" != "x"; then
AC_MSG_CHECKING(for QT version $qt_major_version.x)
if test "x$ROOTQT" != "x" ; then
GUI_INC_LOC="-I$QT_INCLUDES $GUI_INC_LOC"
if test $qt_major_version -lt 2; then
AC_MSG_ERROR(Your QT version is prior to 2.0; KDE 2.x and 3.x require at least QT 2)
fi
dnl hack for FreeBSD
if test "`(uname) 2>/dev/null`" = "FreeBSD"; then
CFLAGS="$CFLAGS -D_THREAD_SAFE"
CXXFLAGS="$CXXFLAGS -D_THREAD_SAFE"
GUI_LIB_LOC="$GUI_LIB_LOC -pthread"
LIBS="$LIBS -pthread"
fi
dnl check the version
if test "x$enable_rpath" = "xyes"; then
if test $qt_major_version = 2; then
GUI_LIB_LOC="-L$KDE_LIBS -lkfile -L$QT_LIBS -lqt $GUI_LIB_LOC \
-Wl,--rpath -Wl,$KDE_LIBS -Wl,--rpath -Wl,$QT_LIBS"
else
GUI_LIB_LOC="-L$KDE_LIBS -lkio -L$QT_LIBS -lqt-mt $GUI_LIB_LOC \
-Wl,--rpath -Wl,$KDE_LIBS -Wl,--rpath -Wl,$QT_LIBS"
fi
else
if test $qt_major_version = 2; then
GUI_LIB_LOC="-L$KDE_LIBS -lkfile -L$QT_LIBS -lqt $GUI_LIB_LOC"
else
GUI_LIB_LOC="-L$KDE_LIBS -lkio -L$QT_LIBS -lqt-mt $GUI_LIB_LOC"
fi
fi
dnl Remove "-I/usr/include " from GUI_*
GUI_INC_LOC="`echo $GUI_INC_LOC\ | sed 's%-I/usr/include %%'`"
dnl GUI_LIB_LOC="`echo $GUI_LIB_LOC\ | sed 's% -L/usr/lib%%'`"
AC_MSG_RESULT(found $qt_major_version.$qt_minor_version in $ROOTQT)
dnl now check the results ...
dnl find the Qt's headers ?
AC_FIND_FILE(qstyle.h,$QT_INCLUDES,qt_incdir)
if test "x$qt_incdir" = "xNO"; then
AC_MSG_ERROR(Could not find Qt headers in $QT_INCLUDES)
fi
AC_FIND_FILE(kapplication.h,$KDE_INCLUDES,kde_incdir)
if test "x$kde_incdir" = "xNO"; then
AC_MSG_ERROR(Could not find KDE headers in $KDE_INCLUDES)
fi
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_PROG_CXX
ac_save_LIBS="$LIBS"
LIBS="$GUI_LIB_LOC"
ac_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS $GUI_INC_LOC"
AC_MSG_CHECKING(whether Qt libraries are usable)
AC_TRY_LINK(
[#include <qapplication.h>],
[
int argc;
char** argv;
QApplication app(argc, argv);]
,AC_MSG_RESULT(yes),AC_MSG_RESULT(no);AC_MSG_ERROR(Qt fails to link a simple application, check your installation and settings))
AC_MSG_CHECKING(whether KDE libraries are usable)
AC_TRY_LINK(
[#include <kapplication.h>],
[
int argc;
char** argv;
KApplication app(argc, argv);]
,AC_MSG_RESULT(yes),AC_MSG_RESULT(no);AC_MSG_ERROR(KDE fails to link a simple application, check your installation and settings))
LIBS="$ac_save_LIBS"
CXXFLAGS="$ac_save_CXXFLAGS"
AC_LANG_RESTORE
SKIP_GTK=YES
SKIP_ATHENA=YES
SKIP_MOTIF=YES
GUITYPE=KDE
AC_SUBST(KDE_PREFIX)
AC_SUBST(QT_LIBS)
AC_SUBST(QT_INCLUDES)
AC_SUBST(ROOTQT)
AC_SUBST(MOC)
AC_DEFINE(FEAT_GUI_KDE)
else
AC_MSG_ERROR(Detected QT version mismatched)
fi
else
AC_MSG_ERROR(Could not find KDE installation prefix)
fi
fi
fi
if test "x$MACOSX" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
AC_MSG_CHECKING(for Carbon GUI)
@@ -2156,10 +1840,6 @@ if test "x$GUITYPE:$enable_fontset" = "xGTK:yes" -a "0$gtk_major_version" -ge 2;
AC_MSG_RESULT(GTK+ 2 GUI selected; fontset has been disabled)
enable_fontset="no"
fi
if test "x$GUITYPE:$enable_fontset" = "xKDE:yes"; then
AC_MSG_RESULT(KDE GUI selected; fontset has been disabled)
enable_fontset="no"
fi
if test -z "$SKIP_PHOTON"; then
GUITYPE=PHOTONGUI
@@ -2261,6 +1941,10 @@ AC_TRY_COMPILE([
AC_MSG_RESULT(no))
AC_CHECK_HEADERS(strings.h)
if test "x$MACOSX" = "xyes"; then
dnl The strings.h file on OS/X contains a warning and nothing useful.
AC_DEFINE(NO_STRINGS_WITH_STRING_H)
else
dnl Check if strings.h and string.h can both be included when defined.
AC_MSG_CHECKING([if strings.h can be included after string.h])
@@ -2285,6 +1969,7 @@ AC_TRY_COMPILE([
AC_DEFINE(NO_STRINGS_WITH_STRING_H)
AC_MSG_RESULT(no))
CPPFLAGS=$cppflags_save
fi
dnl Checks for typedefs, structures, and compiler characteristics.
AC_PROG_GCC_TRADITIONAL

View File

@@ -121,7 +121,9 @@ static buf_T *ins_compl_next_buf __ARGS((buf_T *buf, int flag));
static int ins_compl_get_exp __ARGS((pos_T *ini, int dir));
static void ins_compl_delete __ARGS((void));
static void ins_compl_insert __ARGS((void));
static int ins_compl_next __ARGS((int allow_get_expansion));
static int ins_compl_next __ARGS((int allow_get_expansion, int count));
static int ins_compl_key2dir __ARGS((int c));
static int ins_compl_key2count __ARGS((int c));
static int ins_complete __ARGS((int c));
static int quote_meta __ARGS((char_u *dest, char_u *str, int len));
#endif /* FEAT_INS_EXPAND */
@@ -208,6 +210,7 @@ static char_u *last_insert = NULL; /* the text of the previous insert,
K_SPECIAL and CSI are escaped */
static int last_insert_skip; /* nr of chars in front of previous insert */
static int new_insert_skip; /* nr of chars in front of current insert */
static int did_restart_edit; /* "restart_edit" when calling edit() */
#ifdef FEAT_CINDENT
static int can_cindent; /* may do cindenting on this line */
@@ -222,10 +225,6 @@ static int revins_legal; /* was the last char 'legal'? */
static int revins_scol; /* start column of revins session */
#endif
#if defined(FEAT_MBYTE) && defined(MACOS_CLASSIC)
static short previous_script = smRoman;
#endif
static int ins_need_undo; /* call u_save() before inserting a
char. Set when edit() is called.
after that arrow_used is used. */
@@ -273,9 +272,11 @@ edit(cmdchar, startln, count)
#endif
int inserted_space = FALSE; /* just inserted a space */
int replaceState = REPLACE;
int did_restart_edit = restart_edit;
int nomove = FALSE; /* don't move cursor on return */
/* Remember whether editing was restarted after CTRL-O. */
did_restart_edit = restart_edit;
/* sleep before redrawing, needed for "CTRL-O :" that results in an
* error message */
check_for_delay(TRUE);
@@ -398,10 +399,6 @@ edit(cmdchar, startln, count)
im_set_active(curbuf->b_p_iminsert == B_IMODE_IM);
#endif
#if defined(FEAT_MBYTE) && defined(MACOS_CLASSIC)
KeyScript(previous_script);
#endif
#ifdef FEAT_MOUSE
setmouse();
#endif
@@ -504,10 +501,10 @@ edit(cmdchar, startln, count)
do_digraph(-1); /* clear digraphs */
#endif
/*
* Get the current length of the redo buffer, those characters have to be
* skipped if we want to get to the inserted characters.
*/
/*
* Get the current length of the redo buffer, those characters have to be
* skipped if we want to get to the inserted characters.
*/
ptr = get_inserted();
if (ptr == NULL)
new_insert_skip = 0;
@@ -1048,6 +1045,10 @@ doESCkey:
case K_S_UP: /* <S-Up> */
case K_PAGEUP:
case K_KPAGEUP:
#ifdef FEAT_INS_EXPAND
if (pum_visible())
goto docomplete;
#endif
ins_pageup();
break;
@@ -1061,6 +1062,10 @@ doESCkey:
case K_S_DOWN: /* <S-Down> */
case K_PAGEDOWN:
case K_KPAGEDOWN:
#ifdef FEAT_INS_EXPAND
if (pum_visible())
goto docomplete;
#endif
ins_pagedown();
break;
@@ -1824,6 +1829,11 @@ vim_is_ctrl_x_key(c)
if (c == Ctrl_R)
return TRUE;
/* Accept <PageUp> and <PageDown> if the popup menu is visible. */
if (pum_visible() && (c == K_PAGEUP || c == K_KPAGEUP || c == K_S_UP
|| c == K_PAGEDOWN || c == K_KPAGEDOWN || c == K_S_DOWN))
return TRUE;
switch (ctrl_x_mode)
{
case 0: /* Not in any CTRL-X mode */
@@ -2089,6 +2099,8 @@ ins_compl_make_cyclic()
return count;
}
/* "compl_match_array" points the currently displayed list of entries in the
* popup menu. It is NULL when there is no popup menu. */
static char_u **compl_match_array = NULL;
static int compl_match_arraysize;
@@ -3275,11 +3287,14 @@ ins_compl_insert()
* calls this function with "allow_get_expansion" FALSE.
*/
static int
ins_compl_next(allow_get_expansion)
ins_compl_next(allow_get_expansion, count)
int allow_get_expansion;
int count; /* repeat completion this many times; should
be at least 1 */
{
int num_matches = -1;
int i;
int todo = count;
if (allow_get_expansion)
{
@@ -3287,24 +3302,41 @@ ins_compl_next(allow_get_expansion)
ins_compl_delete();
}
compl_pending = FALSE;
if (compl_shows_dir == FORWARD && compl_shown_match->cp_next != NULL)
compl_shown_match = compl_shown_match->cp_next;
else if (compl_shows_dir == BACKWARD && compl_shown_match->cp_prev != NULL)
compl_shown_match = compl_shown_match->cp_prev;
else
/* Repeat this for when <PageUp> or <PageDown> is typed. But don't wrap
* around. */
while (--todo >= 0)
{
compl_pending = TRUE;
if (allow_get_expansion)
if (compl_shows_dir == FORWARD && compl_shown_match->cp_next != NULL)
{
num_matches = ins_compl_get_exp(&compl_startpos, compl_direction);
if (compl_pending)
{
if (compl_direction == compl_shows_dir)
compl_shown_match = compl_curr_match;
}
compl_shown_match = compl_shown_match->cp_next;
if (compl_shown_match->cp_next != NULL
&& compl_shown_match->cp_next == compl_first_match)
break;
}
else if (compl_shows_dir == BACKWARD
&& compl_shown_match->cp_prev != NULL)
{
compl_shown_match = compl_shown_match->cp_prev;
if (compl_shown_match == compl_first_match)
break;
}
else
return -1;
{
compl_pending = TRUE;
if (allow_get_expansion)
{
num_matches = ins_compl_get_exp(&compl_startpos,
compl_direction);
if (compl_pending)
{
if (compl_direction == compl_shows_dir)
compl_shown_match = compl_curr_match;
}
}
else
return -1;
}
}
/* Insert the text of the new completion */
@@ -3379,17 +3411,49 @@ ins_compl_check_keys(frequency)
if (vim_is_ctrl_x_key(c) && c != Ctrl_X && c != Ctrl_R)
{
c = safe_vgetc(); /* Eat the character */
if (c == Ctrl_P || c == Ctrl_L)
compl_shows_dir = BACKWARD;
else
compl_shows_dir = FORWARD;
(void)ins_compl_next(FALSE);
compl_shows_dir = ins_compl_key2dir(c);
(void)ins_compl_next(FALSE, ins_compl_key2count(c));
}
else if (c != Ctrl_R)
compl_interrupted = TRUE;
}
if (compl_pending && !got_int)
(void)ins_compl_next(FALSE);
(void)ins_compl_next(FALSE, 1);
}
/*
* Decide the direction of Insert mode complete from the key typed.
* Returns BACKWARD or FORWARD.
*/
static int
ins_compl_key2dir(c)
int c;
{
if (c == Ctrl_P || c == Ctrl_L || (pum_visible()
&& (c == K_PAGEUP || c == K_KPAGEUP || c == K_S_UP)))
return BACKWARD;
return FORWARD;
}
/*
* Decide the number of completions to move forward.
* Returns 1 for most keys, height of the popup menu for page-up/down keys.
*/
static int
ins_compl_key2count(c)
int c;
{
int h;
if (pum_visible() && (c == K_PAGEUP || c == K_KPAGEUP || c == K_S_UP
|| c == K_PAGEDOWN || c == K_KPAGEDOWN || c == K_S_DOWN))
{
h = pum_get_height();
if (h > 3)
h -= 2; /* keep some context */
return h;
}
return 1;
}
/*
@@ -3406,10 +3470,7 @@ ins_complete(c)
colnr_T curs_col; /* cursor column */
int n;
if (c == Ctrl_P || c == Ctrl_L)
compl_direction = BACKWARD;
else
compl_direction = FORWARD;
compl_direction = ins_compl_key2dir(c);
if (!compl_started)
{
/* First time we hit ^N or ^P (in a row, I mean) */
@@ -3786,7 +3847,7 @@ ins_complete(c)
/*
* Find next match.
*/
n = ins_compl_next(TRUE);
n = ins_compl_next(TRUE, ins_compl_key2count(c));
/* may undisplay the popup menu */
ins_compl_upd_pum();
@@ -5016,6 +5077,7 @@ stop_arrow()
#endif
ResetRedobuff();
AppendToRedobuff((char_u *)"1i"); /* pretend we start an insertion */
new_insert_skip = 2;
}
else if (ins_need_undo)
{
@@ -5036,20 +5098,30 @@ stop_arrow()
*/
static void
stop_insert(end_insert_pos, esc)
pos_T *end_insert_pos; /* where insert ended */
int esc; /* called by ins_esc() */
pos_T *end_insert_pos; /* where insert ended */
int esc; /* called by ins_esc() */
{
int cc;
int cc;
char_u *ptr;
stop_redo_ins();
replace_flush(); /* abandon replace stack */
/*
* save the inserted text for later redo with ^@
* Save the inserted text for later redo with ^@ and CTRL-A.
* Don't do it when "restart_edit" was set and nothing was inserted,
* otherwise CTRL-O w and then <Left> will clear "last_insert".
*/
vim_free(last_insert);
last_insert = get_inserted();
last_insert_skip = new_insert_skip;
ptr = get_inserted();
if (did_restart_edit == 0 || (ptr != NULL
&& (int)STRLEN(ptr) > new_insert_skip))
{
vim_free(last_insert);
last_insert = ptr;
last_insert_skip = new_insert_skip;
}
else
vim_free(ptr);
if (!arrow_used)
{
@@ -6533,10 +6605,6 @@ ins_esc(count, cmdchar, nomove)
composing_hangul = 0;
}
#endif
#if defined(FEAT_MBYTE) && defined(MACOS_CLASSIC)
previous_script = GetScriptManagerVariable(smKeyScript);
KeyScript(smKeyRoman); /* or smKeySysScript */
#endif
temp = curwin->w_cursor.col;
if (disabled_redraw)

View File

@@ -338,6 +338,9 @@ static struct vimvar
{VV_NAME("beval_col", VAR_NUMBER), VV_RO},
{VV_NAME("beval_text", VAR_STRING), VV_RO},
{VV_NAME("scrollstart", VAR_STRING), 0},
{VV_NAME("swapname", VAR_STRING), VV_RO},
{VV_NAME("swapchoice", VAR_STRING), 0},
{VV_NAME("swapcommand", VAR_STRING), VV_RO},
};
/* shorthand */
@@ -8456,12 +8459,10 @@ f_exists(argvars, rettv)
else if (*p == '#')
{
#ifdef FEAT_AUTOCMD
name = p + 1;
p = vim_strchr(name, '#');
if (p != NULL)
n = au_exists(name, p, p + 1);
if (p[1] == '#')
n = autocmd_supported(p + 2);
else
n = au_exists(name, name + STRLEN(name), NULL);
n = au_exists(p + 1);
#endif
}
else /* internal variable */
@@ -10024,7 +10025,7 @@ f_has(argvars, rettv)
"dos16",
# endif
#endif
#ifdef MACOS /* TODO: Should we add MACOS_CLASSIC, MACOS_X? (Dany) */
#ifdef MACOS
"mac",
#endif
#if defined(MACOS_X_UNIX)
@@ -10173,9 +10174,6 @@ f_has(argvars, rettv)
"gui_athena",
# endif
#endif
#ifdef FEAT_GUI_KDE
"gui_kde",
#endif
#ifdef FEAT_GUI_GTK
"gui_gtk",
# ifdef HAVE_GTK2
@@ -12836,10 +12834,9 @@ f_resolve(argvars, rettv)
remain = vim_strsave(q - 1);
else
{
cpy = vim_strnsave(q-1, STRLEN(q-1) + STRLEN(remain));
cpy = concat_str(q - 1, remain);
if (cpy != NULL)
{
STRCAT(cpy, remain);
vim_free(remain);
remain = cpy;
}
@@ -15713,6 +15710,8 @@ set_cmdarg(eap, oldarg)
# ifdef FEAT_MBYTE
if (eap->force_enc != 0)
len += (unsigned)STRLEN(eap->cmd + eap->force_enc) + 7;
if (eap->bad_char != 0)
len += (unsigned)STRLEN(eap->cmd + eap->bad_char) + 7;
# endif
newval = alloc(len + 1);
@@ -15732,6 +15731,9 @@ set_cmdarg(eap, oldarg)
if (eap->force_enc != 0)
sprintf((char *)newval + STRLEN(newval), " ++enc=%s",
eap->cmd + eap->force_enc);
if (eap->bad_char != 0)
sprintf((char *)newval + STRLEN(newval), " ++bad=%s",
eap->cmd + eap->bad_char);
# endif
vimvars[VV_CMDARG].vv_str = newval;
return oldval;

View File

@@ -1656,6 +1656,9 @@ write_viminfo(file, forceit)
int shortname = FALSE; /* use 8.3 file name */
struct stat st_old; /* mch_stat() of existing viminfo file */
#endif
#ifdef WIN3264
long perm = -1;
#endif
if (no_viminfo())
return;
@@ -1697,8 +1700,8 @@ write_viminfo(file, forceit)
*/
st_old.st_dev = st_old.st_ino = 0;
st_old.st_mode = 0600;
if (mch_stat((char *)fname, &st_old) == 0 && getuid() &&
!(st_old.st_uid == getuid()
if (mch_stat((char *)fname, &st_old) == 0 && getuid()
&& !(st_old.st_uid == getuid()
? (st_old.st_mode & 0200)
: (st_old.st_gid == getgid()
? (st_old.st_mode & 0020)
@@ -1713,6 +1716,10 @@ write_viminfo(file, forceit)
goto end;
}
#endif
#ifdef WIN3264
/* Get the file attributes of the existing viminfo file. */
perm = mch_getperm(fname);
#endif
/*
* Make tempname.
@@ -1762,8 +1769,8 @@ write_viminfo(file, forceit)
* link, or file name-length reached. Try again with
* shortname set.
*/
if (!shortname && st_new.st_dev == st_old.st_dev &&
st_new.st_ino == st_old.st_ino)
if (!shortname && st_new.st_dev == st_old.st_dev
&& st_new.st_ino == st_old.st_ino)
{
vim_free(tempname);
tempname = NULL;
@@ -1803,10 +1810,17 @@ write_viminfo(file, forceit)
int fd;
/* Use mch_open() to be able to use O_NOFOLLOW and set file
* protection same as original file, but strip s-bit. */
* protection:
* Unix: same as original file, but strip s-bit.
* Others: r&w for user only. */
#ifdef UNIX
fd = mch_open((char *)tempname,
O_CREAT|O_EXTRA|O_EXCL|O_WRONLY|O_NOFOLLOW,
(int)((st_old.st_mode & 0777) | 0600));
#else
fd = mch_open((char *)tempname,
O_CREAT|O_EXTRA|O_EXCL|O_WRONLY|O_NOFOLLOW, 0600);
#endif
if (fd < 0)
fp_out = NULL;
else
@@ -1860,12 +1874,21 @@ write_viminfo(file, forceit)
if (fp_in != NULL)
{
fclose(fp_in);
/*
* In case of an error, don't overwrite the original viminfo file.
* In case of an error keep the original viminfo file.
* Otherwise rename the newly written file.
*/
if (viminfo_errcnt || vim_rename(tempname, fname) == -1)
mch_remove(tempname);
#ifdef WIN3264
/* If the viminfo file was hidden then also hide the new file. */
if (perm > 0 && (perm & FILE_ATTRIBUTE_HIDDEN))
mch_hide(fname);
#endif
}
end:
vim_free(fname);
vim_free(tempname);
@@ -3414,7 +3437,7 @@ do_ecmd(fnum, ffname, sfname, eap, newlnum, flags)
topline = curwin->w_topline;
if (!oldbuf) /* need to read the file */
{
#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
#if defined(HAS_SWAP_EXISTS_ACTION)
swap_exists_action = SEA_DIALOG;
#endif
curbuf->b_flags |= BF_CHECK_RO; /* set/reset 'ro' flag */
@@ -3429,7 +3452,7 @@ do_ecmd(fnum, ffname, sfname, eap, newlnum, flags)
(void)open_buffer(FALSE, eap);
#endif
#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
#if defined(HAS_SWAP_EXISTS_ACTION)
if (swap_exists_action == SEA_QUIT)
retval = FAIL;
handle_swap_exists(old_curbuf);
@@ -4117,6 +4140,7 @@ do_sub(eap)
}
do_error = TRUE;
do_print = FALSE;
do_count = FALSE;
do_ic = 0;
}
while (*cmd)

View File

@@ -781,6 +781,8 @@ EX(CMD_stag, "stag", ex_stag,
RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR),
EX(CMD_startinsert, "startinsert", ex_startinsert,
BANG|TRLBAR|CMDWIN),
EX(CMD_startgreplace, "startgreplace", ex_startinsert,
BANG|TRLBAR|CMDWIN),
EX(CMD_startreplace, "startreplace", ex_startinsert,
BANG|TRLBAR|CMDWIN),
EX(CMD_stopinsert, "stopinsert", ex_stopinsert,
@@ -996,9 +998,10 @@ struct exarg
int amount; /* number of '>' or '<' for shift command */
int regname; /* register name (NUL if none) */
int force_bin; /* 0, FORCE_BIN or FORCE_NOBIN */
int force_ff; /* forced 'fileformat' (index in cmd[]) */
int force_ff; /* ++ff= argument (index in cmd[]) */
#ifdef FEAT_MBYTE
int force_enc; /* forced 'encoding' (index in cmd[]) */
int force_enc; /* ++enc= argument (index in cmd[]) */
int bad_char; /* ++bad= argument (index in cmd[]) */
#endif
#ifdef FEAT_USR_CMDS
int useridx; /* user command index */

View File

@@ -520,10 +520,6 @@ dbg_parsearg(arg, gap)
}
else
bp->dbg_name = p;
#ifdef MACOS_CLASSIC
if (bp->dbg_name != NULL)
slash_n_colon_adjust(bp->dbg_name);
#endif
}
if (bp->dbg_name == NULL)
@@ -2754,9 +2750,6 @@ do_source(fname, check_other, is_vimrc)
vim_free(p);
if (fname_exp == NULL)
return retval;
#ifdef MACOS_CLASSIC
slash_n_colon_adjust(fname_exp);
#endif
if (mch_isdir(fname_exp))
{
smsg((char_u *)_("Cannot source a directory: \"%s\""), fname);

View File

@@ -205,7 +205,7 @@ static void ex_tearoff __ARGS((exarg_T *eap));
#else
# define ex_tearoff ex_ni
#endif
#if (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_KDE) || defined(FEAT_GUI_GTK)) && defined(FEAT_MENU)
#if (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_GTK)) && defined(FEAT_MENU)
static void ex_popup __ARGS((exarg_T *eap));
#else
# define ex_popup ex_ni
@@ -213,11 +213,11 @@ static void ex_popup __ARGS((exarg_T *eap));
#ifndef FEAT_GUI_MSWIN
# define ex_simalt ex_ni
#endif
#if !defined(FEAT_GUI_MSWIN) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_MOTIF) && !defined(FEAT_GUI_KDE)
#if !defined(FEAT_GUI_MSWIN) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_MOTIF)
# define gui_mch_find_dialog ex_ni
# define gui_mch_replace_dialog ex_ni
#endif
#if !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_KDE)
#if !defined(FEAT_GUI_GTK)
# define ex_helpfind ex_ni
#endif
#ifndef FEAT_CSCOPE
@@ -1806,6 +1806,20 @@ do_one_cmd(cmdlinep, sourcing,
#endif
continue;
case 'n': if (!checkforcmd(&ea.cmd, "noautocmd", 3))
break;
#ifdef FEAT_AUTOCMD
if (cmdmod.save_ei == NULL)
{
/* Set 'eventignore' to "all". Don't free the
* existing option value, we restore it later. */
cmdmod.save_ei = vim_strsave(p_ei);
set_string_option_direct((char_u *)"ei", -1,
(char_u *)"all", OPT_FREE);
}
#endif
continue;
case 'r': if (!checkforcmd(&ea.cmd, "rightbelow", 6))
break;
#ifdef FEAT_WINDOWS
@@ -2595,6 +2609,14 @@ doend:
if (verbose_save >= 0)
p_verbose = verbose_save;
#ifdef FEAT_AUTOCMD
if (cmdmod.save_ei != NULL)
{
/* Restore 'eventignore' to the value before ":noautocmd". */
set_string_option_direct((char_u *)"ei", -1, cmdmod.save_ei, OPT_FREE);
free_string_option(cmdmod.save_ei);
}
#endif
cmdmod = save_cmdmod;
@@ -4244,12 +4266,6 @@ expand_filename(eap, cmdlinep, errormsgp)
if (!has_wildcards)
#endif
backslash_halve(eap->arg);
#ifdef MACOS_CLASSIC
/*
* translate unix-like path components
*/
slash_n_colon_adjust(eap->arg);
#endif
}
if (has_wildcards)
@@ -4533,6 +4549,11 @@ getargopt(eap)
arg += 8;
pp = &eap->force_enc;
}
else if (STRNCMP(arg, "bad", 3) == 0)
{
arg += 3;
pp = &eap->bad_char;
}
#endif
if (pp == NULL || *arg != '=')
@@ -4552,12 +4573,26 @@ getargopt(eap)
return FAIL;
#ifdef FEAT_MBYTE
}
else
else if (pp == &eap->force_enc)
{
/* Make 'fileencoding' lower case. */
for (p = eap->cmd + eap->force_enc; *p != NUL; ++p)
*p = TOLOWER_ASC(*p);
}
else
{
/* Check ++bad= argument. Must be a single-byte character, "keep" or
* "drop". */
p = eap->cmd + eap->bad_char;
if (STRICMP(p, "keep") == 0)
eap->bad_char = BAD_KEEP;
else if (STRICMP(p, "drop") == 0)
eap->bad_char = BAD_DROP;
else if (MB_BYTE2LEN(*p) == 1 && p[1] == NUL)
eap->bad_char = *p;
else
return FAIL;
}
#endif
return OK;
@@ -7088,7 +7123,7 @@ ex_tearoff(eap)
}
#endif
#if (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_KDE) || defined(FEAT_GUI_GTK)) && defined(FEAT_MENU)
#if (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_GTK)) && defined(FEAT_MENU)
static void
ex_popup(eap)
exarg_T *eap;
@@ -7254,11 +7289,12 @@ ex_read(eap)
lnum = curbuf->b_ml.ml_line_count;
else
lnum = 1;
if (*ml_get(lnum) == NUL)
if (*ml_get(lnum) == NUL && u_savedel(lnum, 1L) == OK)
{
ml_delete(lnum, FALSE);
deleted_lines_mark(lnum, 1L);
if (curwin->w_cursor.lnum >= lnum)
if (curwin->w_cursor.lnum > 1
&& curwin->w_cursor.lnum >= lnum)
--curwin->w_cursor.lnum;
}
}
@@ -8126,6 +8162,12 @@ ex_mkrc(eap)
(void)put_line(fd, "version 6.0");
#ifdef FEAT_SESSION
if (eap->cmdidx == CMD_mksession)
{
if (put_line(fd, "let SessionLoad = 1") == FAIL)
failed = TRUE;
}
if (eap->cmdidx != CMD_mkview)
#endif
{
@@ -8190,8 +8232,15 @@ ex_mkrc(eap)
if (put_line(fd, "let &so = s:so_save | let &siso = s:siso_save")
== FAIL)
failed = TRUE;
if (put_line(fd, "doautoall SessionLoadPost") == FAIL)
failed = TRUE;
if (put_line(fd, "unlet SessionLoad") == FAIL)
failed = TRUE;
}
#endif
if (put_line(fd, "\" vim: set ft=vim :") == FAIL)
failed = TRUE;
failed |= fclose(fd);
if (failed)
@@ -8454,7 +8503,7 @@ ex_normal(eap)
}
/*
* ":startinsert" and ":startreplace"
* ":startinsert", ":startreplace" and ":startgreplace"
*/
static void
ex_startinsert(eap)
@@ -8472,19 +8521,17 @@ ex_startinsert(eap)
if (State & INSERT)
return;
if (eap->forceit)
{
if (eap->cmdidx == CMD_startinsert)
restart_edit = 'a';
else
restart_edit = 'R';
}
if (eap->cmdidx == CMD_startinsert)
restart_edit = 'a';
else if (eap->cmdidx == CMD_startreplace)
restart_edit = 'R';
else
restart_edit = 'V';
if (!eap->forceit)
{
if (eap->cmdidx == CMD_startinsert)
restart_edit = 'i';
else
restart_edit = 'R';
curwin->w_curswant = 0; /* avoid MAXCOL */
}
}
@@ -9907,17 +9954,13 @@ get_view_file(c)
else if (vim_ispathsep(*p))
{
*s++ = '=';
#ifdef MACOS_CLASSIC /* TODO: Is it also needed for MACOS_X? (Dany) */
*s++ = '+';
#else
# if defined(BACKSLASH_IN_FILENAME) || defined(AMIGA) || defined(RISCOS) \
#if defined(BACKSLASH_IN_FILENAME) || defined(AMIGA) || defined(RISCOS) \
|| defined(VMS)
if (*p == ':')
*s++ = '-';
else
# endif
*s++ = '+';
#endif
*s++ = '+';
}
else
*s++ = *p;

View File

@@ -301,6 +301,10 @@ getcmdline(firstc, count, indent)
ui_cursor_shape(); /* may show different cursor shape */
#endif
/* When inside an autocommand for writing "exiting" may be set and
* terminal mode set to cooked. Need to set raw mode here then. */
settmode(TMODE_RAW);
#ifdef FEAT_CMDHIST
init_history();
hiscnt = hislen; /* set hiscnt to impossible history value */
@@ -1050,7 +1054,7 @@ getcmdline(firstc, count, indent)
case ESC: /* get here if p_wc != ESC or when ESC typed twice */
case Ctrl_C:
/* In exmode it doesn't make sense to return. Except when
/* In exmode it doesn't make sense to return. Except when
* ":normal" runs out of characters. */
if (exmode_active
#ifdef FEAT_EX_EXTRA
@@ -1100,6 +1104,17 @@ getcmdline(firstc, count, indent)
if (c != ESC) /* use ESC to cancel inserting register */
{
cmdline_paste(c, i == Ctrl_R);
#ifdef FEAT_EVAL
/* When there was a serious error abort getting the
* command line. */
if (aborting())
{
gotesc = TRUE; /* will free ccline.cmdbuff after
putting it in history */
goto returncmd; /* back to cmd mode */
}
#endif
KeyTyped = FALSE; /* Don't do p_wc completion. */
#ifdef FEAT_EVAL
if (new_cmdpos >= 0)
@@ -2202,8 +2217,7 @@ cmdline_at_end()
}
#endif
#if (defined(FEAT_XIM) && (defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE))) \
|| defined(PROTO)
#if (defined(FEAT_XIM) && (defined(FEAT_GUI_GTK))) || defined(PROTO)
/*
* Return the virtual column number at the current cursor position.
* This is used by the IM code to obtain the start of the preedit string.

View File

@@ -660,8 +660,7 @@
* +xfontset X fontset support. For outputting wide characters.
*/
#ifndef FEAT_XFONTSET
# if defined(FEAT_MBYTE) && defined(HAVE_X11) \
&& !defined(HAVE_GTK2) && !defined(FEAT_GUI_KDE)
# if defined(FEAT_MBYTE) && defined(HAVE_X11) && !defined(HAVE_GTK2)
# define FEAT_XFONTSET
# else
/* # define FEAT_XFONTSET */
@@ -708,8 +707,7 @@
* always has it). But only if menus are enabled.
*/
#if defined(FEAT_NORMAL) && defined(FEAT_MENU) \
&& (defined(FEAT_GUI_KDE) \
|| defined(FEAT_GUI_GTK) \
&& (defined(FEAT_GUI_GTK) \
|| defined(FEAT_GUI_MSWIN) \
|| ((defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA)) \
&& defined(HAVE_XPM)) \
@@ -725,7 +723,7 @@
/*
* +browse ":browse" command.
*/
#if defined(FEAT_NORMAL) && (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_KDE) || defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC))
#if defined(FEAT_NORMAL) && (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC))
# define FEAT_BROWSE
#endif
@@ -740,8 +738,7 @@
|| defined(FEAT_GUI_GTK) \
|| defined(FEAT_GUI_PHOTON) \
|| defined(FEAT_GUI_MSWIN) \
|| defined(FEAT_GUI_MAC) \
|| defined(FEAT_GUI_KDE)
|| defined(FEAT_GUI_MAC)
# define FEAT_CON_DIALOG
# define FEAT_GUI_DIALOG
# else
@@ -749,13 +746,13 @@
# endif
#endif
#if !defined(FEAT_GUI_DIALOG) && (defined(FEAT_GUI_MOTIF) \
|| defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE))
|| defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK))
/* need a dialog to show error messages when starting from the desktop */
# define FEAT_GUI_DIALOG
#endif
#if defined(FEAT_GUI_DIALOG) && \
(defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) \
|| defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE)|| defined(FEAT_GUI_MSWIN) \
|| defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN) \
|| defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC))
# define FEAT_GUI_TEXTDIALOG
#endif
@@ -975,7 +972,7 @@
* +mouse Any mouse support (any of the above enabled).
*/
/* OS/2 and Amiga console have no mouse support */
#if (!defined(AMIGA) && !defined(OS2) && !defined(MACOS))
#if !defined(AMIGA) && !defined(OS2)
# ifdef FEAT_NORMAL
# define FEAT_MOUSE_XTERM
# endif
@@ -1043,7 +1040,7 @@
#endif
#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MOTIF) \
|| defined(MSWIN_FIND_REPLACE) || defined(FEAT_GUI_KDE)
|| defined(MSWIN_FIND_REPLACE)
# define FIND_REPLACE_DIALOG 1
#endif
@@ -1074,7 +1071,7 @@
# define MCH_CURSOR_SHAPE
# endif
# if defined(FEAT_GUI_W32) || defined(FEAT_GUI_W16) || defined(FEAT_GUI_MOTIF) \
|| defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE)\
|| defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) \
|| defined(FEAT_GUI_PHOTON)
# define FEAT_MOUSESHAPE
# endif
@@ -1089,7 +1086,7 @@
#if defined(FEAT_MZSCHEME) && (defined(FEAT_GUI_W32) || defined(FEAT_GUI_GTK) \
|| defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) \
|| defined(FEAT_GUI_MAC) || defined(FEAT_GUI_KDE))
|| defined(FEAT_GUI_MAC))
# define MZSCHEME_GUI_THREADS
#endif
@@ -1172,7 +1169,7 @@
|| defined(FEAT_NETBEANS_INTG) || defined(FEAT_EVAL))
# define FEAT_BEVAL
# if !defined(FEAT_XFONTSET) && !defined(FEAT_GUI_GTK) \
&& !defined(FEAT_GUI_KDE) && !defined(FEAT_GUI_W32)
&& !defined(FEAT_GUI_W32)
# define FEAT_XFONTSET
# endif
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -745,11 +745,6 @@ EXTERN int* (*iconv_errno) (void);
#endif /* FEAT_MBYTE */
#ifdef FEAT_XIM
# ifdef FEAT_GUI_KDE
EXTERN colnr_T preedit_start_col INIT(= MAXCOL);
EXTERN colnr_T preedit_end_col INIT(= MAXCOL);
EXTERN char *draw_feedback INIT(= NULL);
# endif
# ifdef FEAT_GUI_GTK
# ifdef HAVE_GTK2
EXTERN GtkIMContext *xic INIT(= NULL);
@@ -846,9 +841,14 @@ EXTERN int msg_silent INIT(= 0); /* don't print messages */
EXTERN int emsg_silent INIT(= 0); /* don't print error messages */
EXTERN int cmd_silent INIT(= FALSE); /* don't echo the command line */
#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
EXTERN int swap_exists_action INIT(= 0); /* use dialog when swap file
already exists */
#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) \
|| defined(FEAT_AUTOCMD)
# define HAS_SWAP_EXISTS_ACTION
EXTERN int swap_exists_action INIT(= SEA_NONE);
/* For dialog when swap file already
* exists. */
EXTERN int swap_exists_did_quit INIT(= FALSE);
/* Selected "quit" at the dialog. */
#endif
EXTERN char_u *IObuff; /* sprintf's are done in this buffer,
@@ -1164,10 +1164,6 @@ EXTERN guint32 gtk_socket_id INIT(= 0);
EXTERN int echo_wid_arg INIT(= FALSE); /* --echo-wid argument */
#endif
#ifdef FEAT_GUI_KDE
EXTERN int echo_wid_arg INIT(= FALSE);
# endif
#ifdef FEAT_CLIENTSERVER
EXTERN char_u *serverName INIT(= NULL); /* name of the server */
EXTERN int received_from_client INIT(= FALSE); /* received text from

View File

@@ -99,7 +99,7 @@ gui_start()
vim_free(old_term);
#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11) || defined(FEAT_GUI_KDE)
#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)
if (gui.in_use)
/* Display error messages in a dialog now. */
display_errors();
@@ -540,7 +540,7 @@ gui_init()
/* Our GUI can't do bidi. */
p_tbidi = FALSE;
#endif
#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE)
#if defined(FEAT_GUI_GTK)
/* Give GTK+ a chance to put all widget's into place. */
gui_mch_update();
/* Now make sure the shell fits on the screen. */
@@ -616,7 +616,7 @@ gui_exit(rc)
gui_mch_exit(rc);
}
#if defined(FEAT_GUI_KDE) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11) || defined(FEAT_GUI_MSWIN) \
#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11) || defined(FEAT_GUI_MSWIN) \
|| defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC) || defined(PROTO)
/*
* Called when the GUI shell is closed by the user. If there are no changed
@@ -1100,7 +1100,7 @@ gui_update_cursor(force, clear_selection)
void
gui_position_menu()
{
# if !defined(FEAT_GUI_KDE) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_MOTIF)
# if !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_MOTIF)
if (gui.menu_is_active && gui.in_use)
gui_mch_set_menu_pos(0, 0, gui.menu_width, gui.menu_height);
# endif
@@ -1212,7 +1212,6 @@ gui_get_base_height()
if (gui.menu_is_active)
base_height += gui.menu_height;
# endif
#ifndef FEAT_GUI_KDE
# ifdef FEAT_TOOLBAR
if (vim_strchr(p_go, GO_TOOLBAR) != NULL)
# if defined(FEAT_GUI_MSWIN) && defined(FEAT_TOOLBAR)
@@ -1221,7 +1220,6 @@ gui_get_base_height()
base_height += gui.toolbar_height;
# endif
# endif
#endif
# ifdef FEAT_FOOTER
if (vim_strchr(p_go, GO_FOOTER) != NULL)
base_height += gui.footer_height;
@@ -1724,7 +1722,7 @@ gui_write(s, len)
* We need to make sure this is cleared since Athena doesn't tell us when
* he is done dragging. Do the same for GTK.
*/
#if defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE)
#if defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK)
gui.dragged_sb = SBAR_NONE;
#endif
@@ -1956,7 +1954,7 @@ gui_outstr_nowrap(s, len, flags, fg, bg, back)
guicolor_T fg_color;
guicolor_T bg_color;
guicolor_T sp_color;
#if !defined(MSWIN16_FASTTEXT) && !defined(HAVE_GTK2) && !defined(FEAT_GUI_KDE)
#if !defined(MSWIN16_FASTTEXT) && !defined(HAVE_GTK2)
GuiFont font = NOFONT;
# ifdef FEAT_XFONTSET
GuiFontset fontset = NOFONTSET;
@@ -2010,7 +2008,7 @@ gui_outstr_nowrap(s, len, flags, fg, bg, back)
highlight_mask = gui.highlight_mask;
hl_mask_todo = highlight_mask;
#if !defined(MSWIN16_FASTTEXT) && !defined(HAVE_GTK2) && !defined(FEAT_GUI_KDE)
#if !defined(MSWIN16_FASTTEXT) && !defined(HAVE_GTK2)
/* Set the font */
if (aep != NULL && aep->ae_u.gui.font != NOFONT)
font = aep->ae_u.gui.font;
@@ -2124,7 +2122,7 @@ gui_outstr_nowrap(s, len, flags, fg, bg, back)
if (back != 0 && ((draw_flags & DRAW_BOLD) || (highlight_mask & HL_ITALIC)))
return FAIL;
#if defined(RISCOS) || defined(HAVE_GTK2) || defined(FEAT_GUI_KDE)
#if defined(RISCOS) || defined(HAVE_GTK2)
/* If there's no italic font, then fake it.
* For GTK2, we don't need a different font for italic style. */
if (hl_mask_todo & HL_ITALIC)
@@ -2197,7 +2195,7 @@ gui_outstr_nowrap(s, len, flags, fg, bg, back)
/* print the string so far if it's the last character or there is
* a composing character. */
if (i + cl >= len || (comping && i > start) || dowide
# if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE)
# if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK)
|| (cn > 1
# ifdef FEAT_XFONTSET
/* No fontset: At least draw char after wide char at
@@ -2222,18 +2220,14 @@ gui_outstr_nowrap(s, len, flags, fg, bg, back)
cells = 0;
if (dowide)
{
#ifndef FEAT_GUI_KDE
gui_mch_set_font(gui.wide_font);
#endif
gui_mch_draw_string(gui.row, scol - cn,
s + start, cl, draw_flags);
#ifndef FEAT_GUI_KDE
gui_mch_set_font(font);
#endif
start += cl;
}
# if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE)
# if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK)
/* No fontset: draw a space to fill the gap after a wide char
* */
if (cn > 1 && (draw_flags & DRAW_TRANSP) == 0
@@ -2659,8 +2653,7 @@ gui_wait_for_chars(wtime)
if (gui_mch_wait_for_chars(p_ut) == OK)
retval = OK;
#ifdef FEAT_AUTOCMD
else if (!did_cursorhold && has_cursorhold()
&& get_real_state() == NORMAL_BUSY)
else if (trigger_cursorhold())
{
char_u buf[3];
@@ -4116,7 +4109,7 @@ gui_get_color(name)
t = gui_mch_get_color(name);
if (t == INVALCOLOR
#if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE)
#if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK)
&& gui.in_use
#endif
)
@@ -4359,7 +4352,7 @@ ex_gui(eap)
}
#if ((defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_W32) \
|| defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_KDE)) && defined(FEAT_TOOLBAR)) || defined(PROTO)
|| defined(FEAT_GUI_PHOTON)) && defined(FEAT_TOOLBAR)) || defined(PROTO)
/*
* This is shared between Athena, Motif and GTK.
*/
@@ -4423,7 +4416,7 @@ gui_find_iconfile(name, buffer, ext)
# endif
#endif
#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE) || defined(FEAT_GUI_X11) || defined(PROTO)
#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11) || defined(PROTO)
void
display_errors()
{
@@ -4645,7 +4638,7 @@ gui_do_findrepl(flags, find_text, repl_text, down)
u_sync();
del_bytes((long)(regmatch.endp[0] - regmatch.startp[0]),
FALSE);
FALSE, FALSE);
ins_str(repl_text);
}
}

View File

@@ -22,23 +22,6 @@
# include "gui_beval.h"
#endif
#ifdef FEAT_GUI_KDE
# include <X11/Intrinsic.h>
/* used only as pointer to, so casting to int is ok */
# ifdef __cplusplus
class QScrollBar;
class QPopupMenu;
class QFont;
class VimWidget;
# else
# define QScrollBar int
# define QPopupMenu int
# define QFont int
# define VimWidget int
# endif
#endif
#ifdef FEAT_GUI_GTK
# include <X11/Intrinsic.h>
# include <gtk/gtk.h>
@@ -90,7 +73,7 @@ class VimWidget;
* GUIs that support dropping files on a running Vim.
*/
#if defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MAC) \
|| defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE)
|| defined(FEAT_GUI_GTK)
# define HAVE_DROP_FILE
#endif
@@ -158,7 +141,7 @@ class VimWidget;
#define DRAW_BOLD 0x02 /* draw bold text */
#define DRAW_UNDERL 0x04 /* draw underline text */
#define DRAW_UNDERC 0x08 /* draw undercurl text */
#if defined(RISCOS) || defined(HAVE_GTK2) || defined (FEAT_GUI_KDE)
#if defined(RISCOS) || defined(HAVE_GTK2)
# define DRAW_ITALIC 0x10 /* draw italic text */
#endif
#define DRAW_CURSOR 0x20 /* drawing block cursor (win32) */
@@ -177,7 +160,7 @@ class VimWidget;
#endif
#define TOOLBAR_BORDER_HEIGHT 12 /* room above+below buttons for MSWindows */
#if defined(NO_CONSOLE) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE) || defined(FEAT_GUI_X11)
#if defined(NO_CONSOLE) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)
# define NO_CONSOLE_INPUT /* use no_console_input() to check if there
is no console input possible */
#endif
@@ -201,9 +184,6 @@ typedef struct GuiScrollbar
int width; /* Current width of scroll bar in cols */
#endif
int status_height; /* Height of status line */
#ifdef FEAT_GUI_KDE
QScrollBar *w;
#endif
#ifdef FEAT_GUI_X11
Widget id; /* Id of real scroll bar */
#endif
@@ -237,12 +217,6 @@ typedef long guicolor_T; /* handle for a GUI color; for X11 this should
displays there is a tiny chance this is an
actual color */
#ifdef FEAT_GUI_KDE
typedef QFont *GuiFont;
typedef QFont *GuiFontset;
# define NOFONT (GuiFont)NULL
# define NOFONTSET (GuiFontset)NULL
#endif
#ifdef FEAT_GUI_GTK
# ifdef HAVE_GTK2
typedef PangoFontDescription *GuiFont; /* handle for a GUI font */
@@ -266,12 +240,10 @@ typedef long guicolor_T; /* handle for a GUI color; for X11 this should
# define NOFONT (GuiFont)0
# define NOFONTSET (GuiFontset)0
# else
# if !defined(FEAT_GUI_KDE)
typedef long_u GuiFont; /* handle for a GUI font */
typedef long_u GuiFontset; /* handle for a GUI fontset */
# define NOFONT (GuiFont)0
# define NOFONTSET (GuiFontset)0
# endif
# endif
# endif
#endif
@@ -390,13 +362,6 @@ typedef struct Gui
Bool color_approx; /* Some color was approximated */
#endif
#ifdef FEAT_GUI_KDE
VimWidget *w; /* Vim widget */
Display *dpy; /* X display */
QFont *current_font;
char_u *fontname; /* font name from font selection dialog */
#endif
#ifdef FEAT_GUI_GTK
int visibility; /* Is shell partially/fully obscured? */
GdkCursor *blank_pointer; /* Blank pointer */

View File

@@ -1,670 +0,0 @@
/* vi:set ts=8 sts=4 sw=4:
*
* VIM - Vi IMproved by Bram Moolenaar
*
* Do ":help uganda" in Vim to read copying and usage conditions.
* Do ":help credits" in Vim to see a list of people who contributed.
*/
/*
* Porting to KDE(2) was done by
*
* (C) 2000 by Thomas Capricelli <orzel@freehackers.org>
*
* Please visit http://freehackers.org/kvim for other vim- or
* kde-related coding. (URL currently doesn't work...)
*
* $Id$
*
*/
#include <assert.h>
#include <errno.h>
#include <string.h>
#include <kmenubar.h>
#include <kfiledialog.h>
#include <kiconloader.h>
#include <qscrollbar.h>
#include <qcursor.h>
#include <qmessagebox.h>
#include <qiconset.h>
#include <qtextcodec.h>
#include "gui_kde_wid.h"
extern "C" {
#include "vim.h"
}
#undef dbf
#undef db
#undef mputs
#if 1
#define dbf(format, args...) { printf("%s" " : " format "\n" , __FUNCTION__ , ## args ); fflush(stdout); }
#define db() { printf("%s\n", __FUNCTION__ );fflush(stdout); }
#else
#define dbf(format, args... )
#define db()
#endif
#ifdef FEAT_TOOLBAR
#ifndef FEAT_KDETOOLBAR
/*
* Icons used by the toolbar code.
*///{{{
#include "../pixmaps/tb_new.xpm"
#include "../pixmaps/tb_open.xpm"
#include "../pixmaps/tb_close.xpm"
#include "../pixmaps/tb_save.xpm"
#include "../pixmaps/tb_print.xpm"
#include "../pixmaps/tb_cut.xpm"
#include "../pixmaps/tb_copy.xpm"
#include "../pixmaps/tb_paste.xpm"
#include "../pixmaps/tb_find.xpm"
#include "../pixmaps/tb_find_next.xpm"
#include "../pixmaps/tb_find_prev.xpm"
#include "../pixmaps/tb_find_help.xpm"
#include "../pixmaps/tb_exit.xpm"
#include "../pixmaps/tb_undo.xpm"
#include "../pixmaps/tb_redo.xpm"
#include "../pixmaps/tb_help.xpm"
#include "../pixmaps/tb_macro.xpm"
#include "../pixmaps/tb_make.xpm"
#include "../pixmaps/tb_save_all.xpm"
#include "../pixmaps/tb_jump.xpm"
#include "../pixmaps/tb_ctags.xpm"
#include "../pixmaps/tb_load_session.xpm"
#include "../pixmaps/tb_save_session.xpm"
#include "../pixmaps/tb_new_session.xpm"
#include "../pixmaps/tb_blank.xpm"
#include "../pixmaps/tb_maximize.xpm"
#include "../pixmaps/tb_split.xpm"
#include "../pixmaps/tb_minimize.xpm"
#include "../pixmaps/tb_shell.xpm"
#include "../pixmaps/tb_replace.xpm"
#include "../pixmaps/tb_vsplit.xpm"
#include "../pixmaps/tb_maxwidth.xpm"
#include "../pixmaps/tb_minwidth.xpm"
//}}}
/*
* These are the pixmaps used for the default buttons.
* Order must exactly match toolbar_names[] in menu.c!
*///{{{
static char **(built_in_pixmaps[]) =
{
tb_new_xpm,
tb_open_xpm,
tb_save_xpm,
tb_undo_xpm,
tb_redo_xpm,
tb_cut_xpm,
tb_copy_xpm,
tb_paste_xpm,
tb_print_xpm,
tb_help_xpm,
tb_find_xpm,
tb_save_all_xpm,
tb_save_session_xpm,
tb_new_session_xpm,
tb_load_session_xpm,
tb_macro_xpm,
tb_replace_xpm,
tb_close_xpm,
tb_maximize_xpm,
tb_minimize_xpm,
tb_split_xpm,
tb_shell_xpm,
tb_find_prev_xpm,
tb_find_next_xpm,
tb_find_help_xpm,
tb_make_xpm,
tb_jump_xpm,
tb_ctags_xpm,
tb_vsplit_xpm,
tb_maxwidth_xpm,
tb_minwidth_xpm,
tb_exit_xpm
};//}}}
#else
const char *kdeicons[] = {
"filenew",
"fileopen",
"filesave",
"undo",
"redo",
"editcut",
"editcopy",
"editpaste",
"fileprint",
"contents2",
"filefind",
"save_all",
"fileexport",
"filenew",
"fileimport",
"run",
"edit",
"fileclose",
"",
"",
"split",
"openterm",
"previous",
"next",
"help",
"make",
"goto",
"run",
"vsplit",
"maxwidth",
"minwidth",
"quit"
};
#endif
/*
* creates a blank pixmap using tb_blank
*/
QPixmap
pixmap_create_from_xpm(char **xpm)//{{{
{
return (QPixmap((const char **)xpm));
}//}}}
/*
* creates a pixmap by using a built-in number
*/
QPixmap
pixmap_create_by_num(int pixmap_num)//{{{
{
#ifdef FEAT_KDETOOLBAR
if (pixmap_num >= 0 && (unsigned)pixmap_num < (sizeof(kdeicons)
/ sizeof(kdeicons[0])) - 1)
{
KIconLoader *il = kapp->iconLoader(); //new KIconLoader();
QString icon;
icon = QString(kdeicons[pixmap_num]);
return il->loadIcon(icon, KIcon::MainToolbar);
}
return QPixmap();
#else
if (pixmap_num >= 0 && (unsigned)pixmap_num < (sizeof(built_in_pixmaps)
/ sizeof(built_in_pixmaps[0])) - 1)
return pixmap_create_from_xpm(built_in_pixmaps[pixmap_num]);
else
return QPixmap();
#endif
}//}}}
/*
* Creates a pixmap by using the pixmap "name" found in 'runtimepath'/bitmaps/
*/
QPixmap
pixmap_create_by_dir(char_u *name)//{{{
{
char_u full_pathname[MAXPATHL + 1];
if (gui_find_bitmap(name, full_pathname, "xpm") == OK)
return QPixmap((const char *)full_pathname);
else
return QPixmap();
}//}}}
QPixmap
pixmap_create_from_file(char_u *file)
{
return QPixmap((const char *)file);
}
#endif
void
gui_mch_add_menu(vimmenu_T *menu, int idx)//{{{
{
#ifdef FEAT_MENU
QPopupMenu *me;
vimmenu_T *parent = menu->parent;
if (menu_is_popup(menu->name))
{
menu->widget = new QPopupMenu(vmw , QSTR(menu->name));
QObject::connect(menu->widget, SIGNAL(activated(int)), vmw,
SLOT(menu_activated(int)));
return;
}
if (!menu_is_menubar(menu->name))
return;
if (parent)
{
idx++; // for tearoffs to be first in menus
me = new QPopupMenu(parent->widget, QSTR(menu->name));
parent->widget->insertItem(QSTR(menu->name), me, (long)me, idx);
}
else
{
me = new QPopupMenu(vmw->menuBar(), QSTR(menu->name));
vmw->menuBar()->insertItem(QSTR(menu->name), me, (long)me, idx);
}
me->setCaption((const char *)(menu->dname));
if (vmw->have_tearoff)
me->insertTearOffHandle(0, 0);
QObject::connect(me, SIGNAL(activated(int)), vmw,
SLOT(menu_activated(int)));
menu->widget = me;
#endif
}//}}}
void
gui_mch_add_menu_item(vimmenu_T *menu, int idx)//{{{
{
#ifdef FEAT_MENU
vimmenu_T *parent = menu->parent;
#ifdef FEAT_TOOLBAR
if (menu_is_toolbar(parent->name))
{
QPixmap pix;
if (menu_is_separator(menu->name))
{
vmw->toolBar()->insertSeparator();
return;
}
if (menu->iconfile != NULL)
{
pix = pixmap_create_from_file(menu->iconfile);
}
if (!menu->icon_builtin)
{
pix = pixmap_create_by_dir(menu->name);
}
if (pix.isNull() && menu->iconidx >= 0)
{
pix = pixmap_create_by_num(menu->iconidx);
}
#ifndef FEAT_KDETOOLBAR
if (pix.isNull())
{
pix = pixmap_create_from_xpm(tb_blank_xpm);
}
#endif
if (pix.isNull())
return; // failed
vmw->toolBar()->insertButton(
pix,
(long)menu, // id
true,
QSTR(menu->strings[MENU_INDEX_TIP]), // tooltip or text
idx);
menu->parent=parent;
return;
}
#endif // FEAT_TOOLBAR
idx++;
if (menu_is_separator(menu->name))
{
parent->widget->insertSeparator();
return;
}
parent->widget->insertItem(QSTR(menu->name), (long)menu, idx);
#endif
}//}}}
void
gui_mch_set_text_area_pos(int x, int y, int w, int h)//{{{
{
int X = 0;
int Y = 0;
if (vmw->menuBar()->isVisible() && vmw->menuBar()->isEnabled()
#if QT_VERSION>=300
&& !vmw->menuBar()->isTopLevelMenu()
#endif
)
Y += vmw->menuBar()->height();
#ifdef FEAT_TOOLBAR
if (vmw->toolBar()->isVisible() && vmw->toolBar()->isEnabled()
&& vmw->toolBar()->barPos()==KToolBar::Top)
Y += vmw->toolBar()->height();
if (vmw->toolBar()->isVisible() && vmw->toolBar()->isEnabled()
&& vmw->toolBar()->barPos()==KToolBar::Left)
X += vmw->toolBar()->width();
#endif // FEAT_TOOLBAR
gui.w->setGeometry(x + X, y + Y, w, h);
}//}}}
#if defined(FEAT_MENU) || defined(PROTO)
/*
* Enable or disable mnemonics for the toplevel menus.
*/
void
gui_gtk_set_mnemonics(int enable)//{{{ // TO BE REMOVED
{
}//}}}
void
toggle_tearoffs(vimmenu_T *menu, int enable)//{{{
{
while (menu != NULL)
{
if (!menu_is_popup(menu->name))
{
if (menu->widget != 0)
{
if (enable)
menu->widget->insertTearOffHandle(0,0);
else
menu->widget->removeItem(0);
}
toggle_tearoffs(menu->children, enable);
}
menu = menu->next;
}
}//}}}
void
gui_mch_toggle_tearoffs(int enable)//{{{
{
vmw->have_tearoff=enable;
toggle_tearoffs(root_menu, enable);
}//}}}
#endif
#if defined(FEAT_MENU) || defined(PROTO)
/*
* Destroy the machine specific menu widget.
*/
void
gui_mch_destroy_menu(vimmenu_T *menu)//{{{
{
#ifdef FEAT_TOOLBAR
if (menu->parent && menu_is_toolbar(menu->parent->name))
{
vmw->toolBar()->removeItem((long)menu);
return;
}
#endif
if (menu->parent)
menu->parent->widget->removeItem((long)menu);
if (menu->widget)
delete menu->widget;
menu->widget = 0;
}//}}}
#endif /* FEAT_MENU */
/*
* Scrollbar stuff.
*/
void
gui_mch_set_scrollbar_thumb(scrollbar_T *sb, long val, long size, long max)//{{{
{
if (!sb->w)
return;
sb->w->setRange(0, max + 1 - size);
sb->w->setValue(val);
sb->w->setLineStep(1);
sb->w->setPageStep(size);
}//}}}
void
gui_mch_set_scrollbar_pos(scrollbar_T *sb, int x, int y, int w, int h)//{{{
{
if (!sb->w)
return;
//we add the menubar and toolbar height/width
int X = 0;
int Y = 0;
if (vmw->menuBar()->isVisible() && vmw->menuBar()->isEnabled()
#if QT_VERSION>=300
&& !vmw->menuBar()->isTopLevelMenu()
#endif
)
Y += vmw->menuBar()->height();
#ifdef FEAT_TOOLBAR
if (vmw->toolBar()->isVisible() && vmw->toolBar()->isEnabled()
&& vmw->toolBar()->barPos()==KToolBar::Top)
Y += vmw->toolBar()->height();
if (vmw->toolBar()->isVisible() && vmw->toolBar()->isEnabled()
&& vmw->toolBar()->barPos()==KToolBar::Left)
X += vmw->toolBar()->width();
#endif //FEAT_TOOLBAR
if (sb->w->orientation() == Qt::Vertical)
{
bool leftscroll=gui.which_scrollbars[SBAR_LEFT];
bool rightscroll=gui.which_scrollbars[SBAR_RIGHT];
if (x < 20)
leftscroll = true;
else
rightscroll = true;
if (x < 20)
sb->w->setGeometry(X, y+Y, w, h);
else
sb->w->setGeometry(vmw->width() - w - 1 + X, y + Y, w, h);
}
else
{
sb->w->setGeometry(x + X, y + Y, w, h);
}
}//}}}
/* SBAR_VERT or SBAR_HORIZ */
void
gui_mch_create_scrollbar(scrollbar_T *sb, int orient)//{{{
{
sbpool->create(sb,orient);
if (orient == SBAR_VERT)
gui.scrollbar_width = sb->w->sizeHint().width();
else
gui.scrollbar_height = sb->w->sizeHint().height();
}//}}}
void
gui_mch_destroy_scrollbar(scrollbar_T *sb)//{{{
{
sbpool->destroy(sb);
}//}}}
#if defined(FEAT_BROWSE) || defined(PROTO)
/*
* Implementation of the file selector related stuff
*/
/*
* Convert the Vim-style filter specification 's' to the KDE-style
* filter specification.
* Vim-style: {label}\t{pattern1};{pattern2}\n
* KDE-style: {pattern1} {pattern2}|{label}\n
*
* The newly constructed filter is returned in allocated memory and
* must be freed by the calling program.
*/
static char *
convert_filter(char_u *s)
{
char *res;
unsigned i;
unsigned pattern_len;
char *filter_label;
char *filter_pattern;
// The conversion generates a string of equal length to the original
// pattern, so allocate enough memory to hold the original string.
res = new char[STRLEN(s) + 1];
s = vim_strsave(s);
if (res != NULL && s != NULL)
{
// Make sure the first byte is a NUL so that strcat()
// will append at the beginning of the string.
res[0] = '\0';
filter_label = strtok((char *) s, "\t");
while (filter_label != NULL)
{
filter_pattern = strtok( 0L, "\n");
if (filter_pattern != NULL)
{
pattern_len = (unsigned) STRLEN(filter_pattern);
for (i = 0; i < pattern_len; ++i)
if (filter_pattern[i] == ';')
filter_pattern[i] = ' ';
strcat(res, filter_pattern);
strcat(res, "|");
strcat(res, filter_label);
strcat(res, "\n");
}
filter_label = strtok(0L, "\t");
}
}
if (s)
vim_free(s);
return res;
}
/*
* Put up a file requester.
* Returns the selected name in allocated memory, or NULL for Cancel.
* saving, select file to write
* title title for the window
* dflt default name
* ext not used (extension added)
* initdir initial directory, NULL for current dir
* filter not used (file name filter)
*/
/*ARGSUSED*/
char_u *
gui_mch_browse(int saving,//{{{
char_u *title,
char_u *dflt,
char_u *ext,
char_u *initdir,
char_u *filter)
{
char *filt_glob;
filt_glob = convert_filter(filter);
gui_mch_mousehide(FALSE);
QString s;
if (!saving)
s = KFileDialog::getOpenFileName(QSTR(initdir), QSTR(filt_glob),
vmw, QSTR(title));
else
s = KFileDialog::getSaveFileName();
if (filt_glob)
delete filt_glob;
if (s.isNull())
return NULL;
QCString unistring = vmw->codec->fromUnicode(s);
char_u *s2 = (char_u *)(const char *)unistring;
if (s2)
s2 = vim_strsave(s2);
return s2;
}//}}}
#endif /* FEAT_BROWSE */
#ifdef FEAT_GUI_DIALOG
/* ARGSUSED */
int
gui_mch_dialog(int type, /* type of dialog *///{{{
char_u *title, /* title of dialog */
char_u *message, /* message text */
char_u *buttons, /* names of buttons */
int def_but, /* default button */
char_u *textfield)
{
gui_mch_mousehide(FALSE);
VimDialog vd(type, title, message, buttons, def_but,textfield);
int ret = vd.exec();
return ret;
}//}}}
#endif /* FEAT_GUI_DIALOG */
#if defined(FEAT_MENU) || defined(PROTO)
void
gui_mch_show_popupmenu(vimmenu_T *menu)//{{{
{
menu->widget->popup(QCursor::pos());
}//}}}
/* TODO: use mouse_pos */
void
gui_make_popup (char_u *pathname, int mouse_pos)//{{{
{
vimmenu_T *menu = gui_find_menu(pathname);
if (menu != NULL)
menu->widget->popup(QCursor::pos());
}//}}}
#endif
/* Find and Replace implementations */
void
gui_mch_find_dialog(exarg_T *eap)//{{{
{
// char_u* entry_text;
//int exact_word=FALSE;
// entry_text = get_find_dialog_text(eap->arg,&exact_word);
vmw->finddlg->setCaseSensitive(true);
/* if (entry_text!=NULL)
* {
vmw->finddlg->setText(QString((char *)entry_text));
// exact match should go there, hopefully KDE old KEdFind/KEdReplace will be replaced in KDE 4 as pple wanted KDE 3's Find/Replace to be kept
}*/ // Don't use it, KDE keeps old search in memory and vim give \\Csearch, which is difficult to handle
// vim_free(entry_text);
vmw->finddlg->show();
}//}}}
void
gui_mch_replace_dialog(exarg_T *eap)//{{{
{
// char_u* entry_text;
//int exact_word=FALSE;
// entry_text = get_find_dialog_text(eap->arg,&exact_word);
/* if (entry_text!=NULL)
* {
vmw->repldlg->setText(QString((char *)entry_text));
// exact match should go there, hopefully KDE old KEdFind/KEdReplace will be replaced in KDE 4 as pple wanted KDE 3's Find/Replace to be kept
}*/
//vim_free(entry_text);
vmw->repldlg->show();
}//}}}
void
ex_helpfind(exarg_T *eap)//{{{
{
do_cmdline_cmd((char_u *)"emenu ToolBar.FindHelp");
}//}}}

File diff suppressed because it is too large Load Diff

View File

@@ -1,258 +0,0 @@
/* vi:set ts=8 sts=0 sw=8:
*
* VIM - Vi IMproved by Bram Moolenaar
*
* Do ":help uganda" in Vim to read copying and usage conditions.
* Do ":help credits" in Vim to see a list of people who contributed.
*/
/*
* Porting to KDE(2) was done by
*
* (C) 2000 by Thomas Capricelli <orzel@freehackers.org>
*
* Please visit http://freehackers.org/kvim for other vim- or
* kde-related coding.
*
* $Id$
*
*/
#ifndef GUI_KDE_WIDGET
#define GUI_KDE_WIDGET
#if 1
#define dbf( format, args... ) { printf( "%s" " : " format "\n" , __FUNCTION__ , ## args ); fflush(stdout); }
#define db() { printf( "%s\n", __FUNCTION__ );fflush(stdout); }
#else
#define dbf(format, args... )
#define db()
#endif
#define UNIX // prevent a warning : a symbol is defined twice in X and Qt
#include <qdialog.h>
#include <qlabel.h>
#include <qsignalmapper.h>
#include <qtimer.h>
#include <qmainwindow.h>
#include <qapplication.h>
#include <qevent.h>
#include <qlineedit.h>
#include <qpainter.h>
#include <qwidget.h>
#include <qpopupmenu.h>
#include <klocale.h>
#include <kapp.h>
#include <kcmdlineargs.h>
#include <kaboutdata.h>
#include <keditcl.h>
#include <kaboutdata.h>
#if (KDE_VERSION>=290)
#include <kmainwindow.h>
#else
#include <ktmainwindow.h>
#endif
#include <kparts/part.h>
#include <kurl.h>
#include "kvim_iface.h"
#undef UNIX // prevent a warning
extern "C" {
#include "vim.h"
}
class QPushButton;
class QDialog;
class QLineEdit;
class QSignalMapper;
class QPaintEvent;
enum BlinkState
{
BLINK_NONE,
BLINK_ON,
BLINK_OFF
};
class VimWidget : public QWidget, virtual public KVim
{
Q_OBJECT
public:
VimWidget(QWidget *parent = 0, const char *name = 0, WFlags f = 0);
virtual void paintEvent(QPaintEvent *);
void draw_string(int x, int y, QString s, int len, int flags);
/** Init the blinking time */
void set_blink_time(long, long, long);
void start_cursor_blinking();
void stop_cursor_blinking();
void wait(long);
#ifdef FEAT_CLIENTSERVER
void serverActivate(WId id);
#endif
#ifdef FEAT_MZSCHEME
void enable_mzscheme_threads();
void disable_mzscheme_threads();
#endif
void flash();
/** DCOP */
void execNormal(QString command);
void execInsert(QString command);
void execRaw(QString command);
void execCmd(QString command);
QString eval(QString expr);
bool wait_done;
BlinkState blink_state;
QPainter *painter;
QPopupMenu *menu;
virtual void setMicroFocusHint(int x, int y, int w, int h, bool text=TRUE, QFont *f = 0)
{
QWidget::setMicroFocusHint(x, y, w, h, text, f);
}
protected:
virtual void keyPressEvent(QKeyEvent *);
virtual void mousePressEvent(QMouseEvent *);
virtual void mouseDoubleClickEvent(QMouseEvent *);
virtual void mouseReleaseEvent(QMouseEvent *);
virtual void mouseMoveEvent(QMouseEvent *);
virtual void focusInEvent(QFocusEvent *);
virtual void focusOutEvent(QFocusEvent *);
virtual void dragEnterEvent(QDragEnterEvent *);
virtual void dropEvent(QDropEvent *);
#ifdef FEAT_XIM
virtual void imStartEvent(QIMEvent *);
virtual void imEndEvent(QIMEvent *);
virtual void imComposeEvent(QIMEvent *);
#endif
#ifdef FEAT_MZSCHEME
virtual void timerEvent(QTimerEvent *);
#endif
/* cursor blinking stuff */
QTimer blink_timer;
long blink_wait_time, blink_on_time, blink_off_time;
/* wait for input */
QTimer wait_timer;
#ifdef FEAT_MZSCHEME
int mzscheme_timer_id;
#endif
public slots:
void blink_cursor();
void wait_timeout();
};
class VimMainWindow : public KMainWindow
{
Q_OBJECT
public:
VimMainWindow(const char *name = 0L, WFlags f = WDestructiveClose);
/** called when the widget closes */
// bool close(bool alsoDelete);
VimWidget *w;
KEdFind *finddlg;
KEdReplace *repldlg;
int have_tearoff;
QTextCodec *codec;
public slots:
void menu_activated(int dx);
void clipboard_selection_update();
void clipboard_data_update();
void slotSearch();
void slotFind();
void slotReplace();
void slotReplaceAll();
void showAboutApplication();
void showAboutKDE();
void showBugReport();
void showTipOfTheDay();
void buffersToolbar();
bool isLocked();
void lock();
void unlock();
protected:
virtual void wheelEvent(QWheelEvent *);
virtual void resizeEvent(QResizeEvent *e);
#if defined(FEAT_SESSION)
void saveGlobalProperties(KConfig *conf);
void readGlobalProperties(KConfig *conf);
#endif
bool queryClose();
bool queryExit();
bool locked;
};
class VimDialog : public QDialog
{
Q_OBJECT
public:
VimDialog(int type, /* type of dialog */
unsigned char *title, /* title of dialog */
unsigned char *message, /* message text */
unsigned char *buttons, /* names of buttons */
int def_but, /* default button */
char_u *textfield); /* input text */
private:
QSignalMapper mapper;
QLineEdit *entry;
char_u *ret;
int butNb;
protected slots:
void done(int);
};
/*
* QScrollBar pool
*/
struct GuiScrollbar;
class SBPool : public QObject
{
Q_OBJECT
public:
SBPool(void);
void create(GuiScrollbar * sb, int orient);
void destroy(GuiScrollbar * sb);
public slots:
void sbUsed(int who);
private:
QSignalMapper mapper;
};
class KVimUtils
{
public:
static QString convertEncodingName(QString);
#if QT_VERSION<300
static bool fromString(QFont*,QString);
static QString toString(QFont*);
#endif
};
extern VimMainWindow *vmw;
extern SBPool *sbpool;
extern QString *argServerName;
#define QSTR(x) \
(has_mbyte ? \
(enc_utf8 ? \
QString::fromUtf8((const char *)x) : \
QString::fromLocal8Bit((const char *)x)) : \
QString((const char *)x))
#endif // GUI_KDE_WIDGET

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