aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt14
-rw-r--r--cmake/GetGitRevisionDescription.cmake161
-rw-r--r--cmake/GetGitRevisionDescription.cmake.in38
-rw-r--r--config/config.h.in9
-rw-r--r--config/pathdef.c.in2
-rw-r--r--neovim.rb4
-rw-r--r--runtime/doc/Makefile38
-rw-r--r--runtime/doc/autocmd.txt6
-rw-r--r--runtime/doc/change.txt6
-rw-r--r--runtime/doc/debugger.txt4
-rw-r--r--runtime/doc/eval.txt12
-rw-r--r--runtime/doc/gui_w16.txt186
-rw-r--r--runtime/doc/gui_x11.txt4
-rw-r--r--runtime/doc/help.txt16
-rw-r--r--runtime/doc/if_ole.txt205
-rw-r--r--runtime/doc/if_sniff.txt95
-rw-r--r--runtime/doc/index.txt6
-rw-r--r--runtime/doc/msgpack_rpc.txt4
-rw-r--r--runtime/doc/netbeans.txt1001
-rw-r--r--runtime/doc/options.txt16
-rw-r--r--runtime/doc/os_390.txt134
-rw-r--r--runtime/doc/os_amiga.txt147
-rw-r--r--runtime/doc/os_beos.txt319
-rw-r--r--runtime/doc/os_mint.txt39
-rw-r--r--runtime/doc/os_os2.txt221
-rw-r--r--runtime/doc/os_qnx.txt138
-rw-r--r--runtime/doc/os_risc.txt12
-rw-r--r--runtime/doc/os_vms.txt954
-rw-r--r--runtime/doc/os_win32.txt3
-rw-r--r--runtime/doc/quickref.txt2
-rw-r--r--runtime/doc/remote.txt3
-rw-r--r--runtime/doc/sign.txt6
-rw-r--r--runtime/doc/starting.txt12
-rw-r--r--runtime/doc/uganda.txt4
-rw-r--r--runtime/doc/usr_10.txt1
-rw-r--r--runtime/doc/usr_29.txt3
-rw-r--r--runtime/doc/various.txt24
-rw-r--r--runtime/doc/vi_diff.txt3
-rwxr-xr-xruntime/doc/vim2html.pl228
-rw-r--r--runtime/doc/workshop.txt98
-rw-r--r--runtime/optwin.vim4
-rw-r--r--runtime/plugin/matchparen.vim13
-rw-r--r--runtime/syntax/vim.vim2
-rw-r--r--src/nvim/ex_cmds.c4
-rw-r--r--src/nvim/globals.h2
-rw-r--r--src/nvim/hardcopy.c2
-rw-r--r--src/nvim/ops.c14
-rw-r--r--src/nvim/option.c3
-rw-r--r--src/nvim/testdir/Makefile3
-rw-r--r--src/nvim/testdir/test63.in6
-rw-r--r--src/nvim/testdir/test_utf8.in18
-rw-r--r--src/nvim/testdir/test_utf8.ok4
-rw-r--r--src/nvim/version.c121
-rw-r--r--src/nvim/version_defs.h71
54 files changed, 347 insertions, 4098 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 435a215e51..8fab8d52e5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -12,9 +12,17 @@ set(DEPS_BIN_DIR "${DEPS_INSTALL_DIR}/bin")
list(APPEND CMAKE_PREFIX_PATH ${DEPS_INSTALL_DIR})
-set(NEOVIM_VERSION_MAJOR 0)
-set(NEOVIM_VERSION_MINOR 0)
-set(NEOVIM_VERSION_PATCH 0)
+# Version tokens
+include(GetGitRevisionDescription)
+get_git_head_revision(GIT_REFSPEC NVIM_VERSION_COMMIT)
+set(NVIM_VERSION_MAJOR 0)
+set(NVIM_VERSION_MINOR 0)
+set(NVIM_VERSION_PATCH 0)
+set(NVIM_VERSION_PRERELEASE "-alpha")
+# TODO(justinmk): UTC time would be nice here #1071
+git_timestamp(GIT_TIMESTAMP)
+# TODO(justinmk): do not set this for "release" builds #1071
+set(NVIM_VERSION_BUILD "+${GIT_TIMESTAMP}")
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
diff --git a/cmake/GetGitRevisionDescription.cmake b/cmake/GetGitRevisionDescription.cmake
new file mode 100644
index 0000000000..42775057f1
--- /dev/null
+++ b/cmake/GetGitRevisionDescription.cmake
@@ -0,0 +1,161 @@
+# https://github.com/rpavlik/cmake-modules
+#
+# - Returns a version string from Git
+#
+# These functions force a re-configure on each git commit so that you can
+# trust the values of the variables in your build system.
+#
+# get_git_head_revision(<refspecvar> <hashvar> [<additional arguments to git describe> ...])
+#
+# Returns the refspec and sha hash of the current head revision
+#
+# git_describe(<var> [<additional arguments to git describe> ...])
+#
+# Returns the results of git describe on the source tree, and adjusting
+# the output so that it tests false if an error occurs.
+#
+# git_get_exact_tag(<var> [<additional arguments to git describe> ...])
+#
+# Returns the results of git describe --exact-match on the source tree,
+# and adjusting the output so that it tests false if there was no exact
+# matching tag.
+#
+# Requires CMake 2.6 or newer (uses the 'function' command)
+#
+# Original Author:
+# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
+# http://academic.cleardefinition.com
+# Iowa State University HCI Graduate Program/VRAC
+#
+# Copyright Iowa State University 2009-2010.
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+if(__get_git_revision_description)
+ return()
+endif()
+set(__get_git_revision_description YES)
+
+# We must run the following at "include" time, not at function call time,
+# to find the path to this module rather than the path to a calling list file
+get_filename_component(_gitdescmoddir ${CMAKE_CURRENT_LIST_FILE} PATH)
+
+function(get_git_head_revision _refspecvar _hashvar)
+ set(GIT_PARENT_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
+ set(GIT_DIR "${GIT_PARENT_DIR}/.git")
+ while(NOT EXISTS "${GIT_DIR}") # .git dir not found, search parent directories
+ set(GIT_PREVIOUS_PARENT "${GIT_PARENT_DIR}")
+ get_filename_component(GIT_PARENT_DIR ${GIT_PARENT_DIR} PATH)
+ if(GIT_PARENT_DIR STREQUAL GIT_PREVIOUS_PARENT)
+ # We have reached the root directory, we are not in git
+ set(${_refspecvar} "GITDIR-NOTFOUND" PARENT_SCOPE)
+ set(${_hashvar} "GITDIR-NOTFOUND" PARENT_SCOPE)
+ return()
+ endif()
+ set(GIT_DIR "${GIT_PARENT_DIR}/.git")
+ endwhile()
+ # check if this is a submodule
+ if(NOT IS_DIRECTORY ${GIT_DIR})
+ file(READ ${GIT_DIR} submodule)
+ string(REGEX REPLACE "gitdir: (.*)\n$" "\\1" GIT_DIR_RELATIVE ${submodule})
+ get_filename_component(SUBMODULE_DIR ${GIT_DIR} PATH)
+ get_filename_component(GIT_DIR ${SUBMODULE_DIR}/${GIT_DIR_RELATIVE} ABSOLUTE)
+ endif()
+ set(GIT_DATA "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/git-data")
+ if(NOT EXISTS "${GIT_DATA}")
+ file(MAKE_DIRECTORY "${GIT_DATA}")
+ endif()
+
+ if(NOT EXISTS "${GIT_DIR}/HEAD")
+ return()
+ endif()
+ set(HEAD_FILE "${GIT_DATA}/HEAD")
+ configure_file("${GIT_DIR}/HEAD" "${HEAD_FILE}" COPYONLY)
+
+ configure_file("${_gitdescmoddir}/GetGitRevisionDescription.cmake.in"
+ "${GIT_DATA}/grabRef.cmake"
+ @ONLY)
+ include("${GIT_DATA}/grabRef.cmake")
+
+ set(${_refspecvar} "${HEAD_REF}" PARENT_SCOPE)
+ set(${_hashvar} "${HEAD_HASH}" PARENT_SCOPE)
+endfunction()
+
+function(git_describe _var)
+ if(NOT GIT_FOUND)
+ find_package(Git QUIET)
+ endif()
+ get_git_head_revision(refspec hash)
+ if(NOT GIT_FOUND)
+ set(${_var} "GIT-NOTFOUND" PARENT_SCOPE)
+ return()
+ endif()
+ if(NOT hash)
+ set(${_var} "HEAD-HASH-NOTFOUND" PARENT_SCOPE)
+ return()
+ endif()
+
+ # TODO sanitize
+ #if((${ARGN}" MATCHES "&&") OR
+ # (ARGN MATCHES "||") OR
+ # (ARGN MATCHES "\\;"))
+ # message("Please report the following error to the project!")
+ # message(FATAL_ERROR "Looks like someone's doing something nefarious with git_describe! Passed arguments ${ARGN}")
+ #endif()
+
+ #message(STATUS "Arguments to execute_process: ${ARGN}")
+
+ execute_process(COMMAND
+ "${GIT_EXECUTABLE}"
+ describe
+ ${hash}
+ ${ARGN}
+ WORKING_DIRECTORY
+ "${CMAKE_SOURCE_DIR}"
+ RESULT_VARIABLE
+ res
+ OUTPUT_VARIABLE
+ out
+ ERROR_QUIET
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if(NOT res EQUAL 0)
+ set(out "${out}-${res}-NOTFOUND")
+ endif()
+
+ set(${_var} "${out}" PARENT_SCOPE)
+endfunction()
+
+function(git_timestamp _var)
+ if(NOT GIT_FOUND)
+ find_package(Git QUIET)
+ endif()
+ get_git_head_revision(refspec hash)
+ if(NOT GIT_FOUND)
+ set(${_var} "GIT-NOTFOUND" PARENT_SCOPE)
+ return()
+ endif()
+ if(NOT hash)
+ set(${_var} "HEAD-HASH-NOTFOUND" PARENT_SCOPE)
+ return()
+ endif()
+
+ execute_process(COMMAND "${GIT_EXECUTABLE}" log -1 --format="%ci" ${hash} ${ARGN}
+ WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
+ RESULT_VARIABLE res
+ OUTPUT_VARIABLE out
+ ERROR_QUIET
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if(NOT res EQUAL 0)
+ set(out "${out}-${res}-NOTFOUND")
+ endif()
+ string(REGEX REPLACE "[-\" :]" "" out ${out})
+ string(SUBSTRING ${out} 0 12 out)
+
+ set(${_var} ${out} PARENT_SCOPE)
+endfunction()
+
+function(git_get_exact_tag _var)
+ git_describe(out --exact-match ${ARGN})
+ set(${_var} "${out}" PARENT_SCOPE)
+endfunction()
diff --git a/cmake/GetGitRevisionDescription.cmake.in b/cmake/GetGitRevisionDescription.cmake.in
new file mode 100644
index 0000000000..8a085b2671
--- /dev/null
+++ b/cmake/GetGitRevisionDescription.cmake.in
@@ -0,0 +1,38 @@
+#
+# Internal file for GetGitRevisionDescription.cmake
+#
+# Requires CMake 2.6 or newer (uses the 'function' command)
+#
+# Original Author:
+# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
+# http://academic.cleardefinition.com
+# Iowa State University HCI Graduate Program/VRAC
+#
+# Copyright Iowa State University 2009-2010.
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+set(HEAD_HASH)
+
+file(READ "@HEAD_FILE@" HEAD_CONTENTS LIMIT 1024)
+
+string(STRIP "${HEAD_CONTENTS}" HEAD_CONTENTS)
+if(HEAD_CONTENTS MATCHES "ref")
+ # named branch
+ string(REPLACE "ref: " "" HEAD_REF "${HEAD_CONTENTS}")
+ if(EXISTS "@GIT_DIR@/${HEAD_REF}")
+ configure_file("@GIT_DIR@/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY)
+ elseif(EXISTS "@GIT_DIR@/logs/${HEAD_REF}")
+ configure_file("@GIT_DIR@/logs/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY)
+ set(HEAD_HASH "${HEAD_REF}")
+ endif()
+else()
+ # detached HEAD
+ configure_file("@GIT_DIR@/HEAD" "@GIT_DATA@/head-ref" COPYONLY)
+endif()
+
+if(NOT HEAD_HASH)
+ file(READ "@GIT_DATA@/head-ref" HEAD_HASH LIMIT 1024)
+ string(STRIP "${HEAD_HASH}" HEAD_HASH)
+endif()
diff --git a/config/config.h.in b/config/config.h.in
index ba0945cf56..7a04837c92 100644
--- a/config/config.h.in
+++ b/config/config.h.in
@@ -1,6 +1,9 @@
-#define NEOVIM_VERSION_MAJOR @NEOVIM_VERSION_MAJOR@
-#define NEOVIM_VERSION_MINOR @NEOVIM_VERSION_MINOR@
-#define NEOVIM_VERSION_PATCH @NEOVIM_VERSION_PATCH@
+#define NVIM_VERSION_MAJOR @NVIM_VERSION_MAJOR@
+#define NVIM_VERSION_MINOR @NVIM_VERSION_MINOR@
+#define NVIM_VERSION_PATCH @NVIM_VERSION_PATCH@
+#define NVIM_VERSION_PRERELEASE "@NVIM_VERSION_PRERELEASE@"
+#define NVIM_VERSION_BUILD "@NVIM_VERSION_BUILD@"
+#define NVIM_VERSION_COMMIT "@NVIM_VERSION_COMMIT@"
#cmakedefine DEBUG
diff --git a/config/pathdef.c.in b/config/pathdef.c.in
index 7977daa065..b30bcfd3f1 100644
--- a/config/pathdef.c.in
+++ b/config/pathdef.c.in
@@ -1,7 +1,5 @@
#include "${PROJECT_SOURCE_DIR}/src/nvim/vim.h"
char_u *default_vim_dir = (char_u *)"${CMAKE_INSTALL_PREFIX}/share/nvim";
char_u *default_vimruntime_dir = (char_u *)"";
-char_u *all_cflags = (char_u *)"${COMPILER_FLAGS}";
-char_u *all_lflags = (char_u *)"${LINKER_FLAGS}";
char_u *compiled_user = (char_u *)"${USERNAME}";
char_u *compiled_sys = (char_u *)"${HOSTNAME}";
diff --git a/neovim.rb b/neovim.rb
index 43f285baeb..ed826fd0c5 100644
--- a/neovim.rb
+++ b/neovim.rb
@@ -11,8 +11,6 @@ class Neovim < Formula
def install
ENV.deparallelize
- system "make", "deps"
- system "cmake", "-DCMAKE_BUILD_TYPE=Debug", "-DCMAKE_PREFIX_PATH=.deps/usr", "-DLibUV_USE_STATIC=YES", "-DCMAKE_INSTALL_PREFIX:PATH=#{prefix}"
- system "make", "install"
+ system "make", "CMAKE_EXTRA_FLAGS=\"-DCMAKE_INSTALL_PREFIX:PATH=#{prefix}\"", "install"
end
end
diff --git a/runtime/doc/Makefile b/runtime/doc/Makefile
index 16ce4d9082..48674a773f 100644
--- a/runtime/doc/Makefile
+++ b/runtime/doc/Makefile
@@ -27,7 +27,6 @@ DOCS = \
ft_ada.txt \
ft_sql.txt \
gui.txt \
- gui_w16.txt \
gui_w32.txt \
gui_x11.txt \
hebrew.txt \
@@ -37,11 +36,9 @@ DOCS = \
if_cscop.txt \
if_lua.txt \
if_mzsch.txt \
- if_ole.txt \
if_perl.txt \
if_pyth.txt \
if_ruby.txt \
- if_sniff.txt \
if_tcl.txt \
indent.txt \
index.txt \
@@ -54,22 +51,13 @@ DOCS = \
mlang.txt \
motion.txt \
msgpack_rpc.txt \
- netbeans.txt \
nvim_clipboard.txt \
nvim_intro.txt \
nvim_python.txt \
options.txt \
- os_390.txt \
- os_amiga.txt \
- os_beos.txt \
os_dos.txt \
os_mac.txt \
- os_mint.txt \
- os_os2.txt \
- os_qnx.txt \
- os_risc.txt \
os_unix.txt \
- os_vms.txt \
os_win32.txt \
pattern.txt \
pi_getscript.txt \
@@ -138,8 +126,7 @@ DOCS = \
various.txt \
vi_diff.txt \
visual.txt \
- windows.txt \
- workshop.txt
+ windows.txt
HTMLS = \
arabic.html \
@@ -159,7 +146,6 @@ HTMLS = \
ft_ada.html \
ft_sql.html \
gui.html \
- gui_w16.html \
gui_w32.html \
gui_x11.html \
hebrew.html \
@@ -168,11 +154,9 @@ HTMLS = \
if_cscop.html \
if_lua.html \
if_mzsch.html \
- if_ole.html \
if_perl.html \
if_pyth.html \
if_ruby.html \
- if_sniff.html \
if_tcl.html \
indent.html \
index.html \
@@ -185,22 +169,13 @@ HTMLS = \
mlang.html \
motion.html \
msgpack_rpc.html \
- netbeans.html \
nvim_clipboard.html \
nvim_intro.html \
nvim_python.html \
options.html \
- os_390.html \
- os_amiga.html \
- os_beos.html \
os_dos.html \
os_mac.html \
- os_mint.html \
- os_os2.html \
- os_qnx.html \
- os_risc.html \
os_unix.html \
- os_vms.html \
os_win32.html \
pattern.html \
pi_getscript.html \
@@ -271,8 +246,7 @@ HTMLS = \
vi_diff.html \
vimindex.html \
visual.html \
- windows.html \
- workshop.html
+ windows.html
MANPAGES = \
manpages/vim.man \
@@ -327,7 +301,7 @@ doctags: doctags.c
manpages: $(MANPAGES)
-# OSX groff dosn't support utf-8 as input encoding, so this won't work there.
+# OSX groff doesn't support utf-8 as input encoding, so this won't work there.
.1.man:
groff -k -mandoc -Tutf8 $< | sed -e s/.^H//g > $@
@@ -354,12 +328,6 @@ vimindex.html: index.txt
tags.ref tags.html: tags
$(AWK) -f maketags.awk tags >tags.html
-# Perl version of .txt to .html conversion.
-# There can't be two rules to produce a .html from a .txt file.
-# Just run over all .txt files each time one changes. It's fast anyway.
-perlhtml: tags $(DOCS)
- ./vim2html.pl tags $(DOCS)
-
clean:
-rm -f doctags *.html tags.ref $(MANPAGES) $(HTMLS) errors.log
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 734202cd6c..451e60514c 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -772,8 +772,10 @@ SessionLoadPost After loading the session file created using
the |:mksession| command.
*ShellCmdPost*
ShellCmdPost After executing a shell command with |:!cmd|,
- |:shell|, |:make| and |:grep|. Can be used to
- check for any changed files.
+ |:make| and |:grep|. Can be used to check for
+ any changed files.
+ For non-blocking shell commands, see
+ |JobActivity|.
*ShellFilterPost*
ShellFilterPost After executing a shell command with
":{range}!cmd", ":w !cmd" or ":r !cmd".
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 66e69d4ffc..3b63de503e 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -506,9 +506,9 @@ some text through a filter, so that it is replaced by the filter output.
Examples of filters are "sort", which sorts lines alphabetically, and
"indent", which formats C program files (you need a version of indent that
works like a filter; not all versions do). The 'shell' option specifies the
-shell Vim uses to execute the filter command (See also the 'shelltype'
-option). You can repeat filter commands with ".". Vim does not recognize a
-comment (starting with '"') after the `:!` command.
+shell Vim uses to execute the filter command. You can repeat filter commands
+with ".". Vim does not recognize a comment (starting with '"') after the
+`:!` command.
*!*
!{motion}{filter} Filter {motion} text lines through the external
diff --git a/runtime/doc/debugger.txt b/runtime/doc/debugger.txt
index df7116bb2a..206eab5b85 100644
--- a/runtime/doc/debugger.txt
+++ b/runtime/doc/debugger.txt
@@ -132,9 +132,5 @@ all the above flags:
==============================================================================
3. Integrated Debuggers *debugger-integration*
-One fully integrated debugger/IPE/IDE is Sun's Visual WorkShop Integrated
-Programming Environment.
-
-For Sun NetBeans support see |netbeans|.
vim:tw=78:sw=4:ts=8:ft=help:norl:
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 5953648148..869c416b88 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -4027,7 +4027,7 @@ jobstart({name}, {prog}[, {argv}]) {Nvim} *jobstart()*
See |job-control| for more information.
jobstop({job}) {Nvim} *jobstop()*
- Stop a job created with |jobstart| by sending a `SIGTERM`
+ Stop a job created with |jobstart()| by sending a `SIGTERM`
to the corresponding process. If the process doesn't exit
cleanly soon, a `SIGKILL` will be sent. When the job is
finally closed, a |JobActivity| event will trigger with
@@ -5094,12 +5094,12 @@ rpcstart({prog}[, {argv}]) {Nvim} *rpcstart()*
|rpcnotify()| and |rpcstop()|
- 0 on failure.
Example: >
- :let rpc_chan = rpcstart('prog', ['arg1', 'arg2'])
+ :let rpc_chan = rpcstart('prog', ['arg1', 'arg2'])
rpcstop({channel}) {Nvim} *rpcstop()*
Closes a |msgpack-rpc| channel, possibly created via
- |rpcspawn()| (Though it will also close channels created by
- connections to |NVIM_LISTEN_ADDRESS|). It accepts the rpc
+ |rpcstart()| (Though it will also close channels created by
+ connections to |$NVIM_LISTEN_ADDRESS|). It accepts the rpc
channel id as only argument.
screenattr(row, col) *screenattr()*
@@ -6714,7 +6714,6 @@ gui_photon Compiled with Photon GUI.
gui_running Vim is running in the GUI, or it will start soon.
gui_win32 Compiled with MS Windows Win32 GUI.
gui_win32s idem, and Win32s system being used (Windows 3.1)
-hangul_input Compiled with Hangul input support.
iconv Can use iconv() for conversion.
insert_expand Compiled with support for CTRL-X expansion commands in
Insert mode.
@@ -6749,8 +6748,6 @@ multi_byte_encoding 'encoding' is set to a multi-byte encoding.
multi_byte_ime Compiled with support for IME input method.
multi_lang Compiled with support for multiple languages.
mzscheme Compiled with MzScheme interface |mzscheme|.
-netbeans_enabled Compiled with support for |netbeans| and connected.
-netbeans_intg Compiled with support for |netbeans|.
ole Compiled with OLE automation support for Win32.
os2 OS/2 version of Vim.
path_extra Compiled with up/downwards search in 'path' and 'tags'
@@ -6775,7 +6772,6 @@ spell Compiled with spell checking support |spell|.
startuptime Compiled with |--startuptime| support.
statusline Compiled with support for 'statusline', 'rulerformat'
and special formats of 'titlestring' and 'iconstring'.
-sun_workshop Compiled with support for Sun |workshop|.
syntax Compiled with syntax highlighting support |syntax|.
syntax_items There are active syntax highlighting items for the
current buffer.
diff --git a/runtime/doc/gui_w16.txt b/runtime/doc/gui_w16.txt
deleted file mode 100644
index fa84b05419..0000000000
--- a/runtime/doc/gui_w16.txt
+++ /dev/null
@@ -1,186 +0,0 @@
-*gui_w16.txt* For Vim version 7.4. Last change: 2005 Mar 29
-
-
- VIM REFERENCE MANUAL by Bram Moolenaar
-
-
-Vim's Graphical User Interface *gui-w16* *win16-gui*
-
-1. Starting the GUI |win16-start|
-2. Vim as default editor |win16-default-editor|
-3. Using the clipboard |win16-clipboard|
-4. Shell Commands |win16-shell|
-5. Special colors |win16-colors|
-6. Windows dialogs & browsers |win16-dialogs|
-7. Various |win16-various|
-
-Other relevant documentation:
-|gui.txt| For generic items of the GUI.
-|os_msdos.txt| For items common to DOS and Windows.
-|gui_w32.txt| Some items here are also applicable to the Win16 version.
-
-{Vi does not have a Windows GUI}
-
-The Win16 version of Vim will run on Windows 3.1 or later. It has not been
-tested on 3.0, it probably won't work without being recompiled and
-modified. (But you really should upgrade to 3.11 anyway. :)
-
-In most respects it behaves identically to the Win32 GUI version, including
-having a flat-style toolbar(!). The chief differences:
-
-1) Bold/Italic text is not available, to speed up repaint/reduce resource
- usage. (You can re-instate this by undefining MSWIN16_FASTTEXT.)
-2) No tearoff menu emulation.
-3) No OLE interface.
-4) No long filename support (of course).
-5) No tooltips on toolbar buttons - instead they produce command-line tips
- like menu items do.
-6) Line length limited to 32767 characters (like 16-bit DOS version).
-
-
-==============================================================================
-1. Starting the GUI *win16-start*
-
-The Win16 GUI version of Vim will always start the GUI, no matter how you
-start it or what it's called. There is no 'console' version as such, but you
-can use one of the DOS versions in a DOS box.
-
-The Win16 GUI has an extra menu item: "Window/Select Font". It brings up the
-standard Windows font selector. Note that bold and italic fonts are not
-supported in an attempt to maximize GDI drawing speed.
-
-Setting the menu height doesn't work for the Win16 GUI.
-
- *win16-maximized*
-If you want Vim to start with a maximized window, add this command to your
-vimrc or gvimrc file: >
- au GUIEnter * simalt ~x
-<
-
-There is a specific version of gvim.exe that runs under the Win32s subsystem
-of Windows 3.1 or 3.11. See |win32s|.
-
-==============================================================================
-2. Vim as default editor *win16-default-editor*
-
-To set Vim as the default editor for a file type you can use File Manager's
-"Associate" feature.
-
-When you open a file in Vim by double clicking it, Vim changes to that
-file's directory.
-
-See also |notepad|.
-
-==============================================================================
-3. Using the clipboard *win16-clipboard*
-
-Windows has a clipboard, where you can copy text to, and paste text from. Vim
-supports this in several ways.
-The clipboard works in the same way as the Win32 version: see |gui-clipboard|.
-
-==============================================================================
-4. Shell Commands *win16-shell*
-
-Vim spawns a DOS window for external commands, to make it possible to run any
-DOS command. The window uses the _default.pif settings.
-
- *win16-!start*
-Normally, Vim waits for a command to complete before continuing (this makes
-sense for most shell commands which produce output for Vim to use). If you
-want Vim to start a program and return immediately, you can use the following
-syntax:
- :!start {command}
-This may only work for a Windows program though.
-Don't forget that you must tell Windows 3.1x to keep executing a DOS command
-in the background while you switch back to Vim.
-
-==============================================================================
-5. Special colors *win16-colors*
-
-On Win16, the normal DOS colors can be used. See |dos-colors|.
-
-Additionally the system configured colors can also be used. These are known
-by the names Sys_XXX, where XXX is the appropriate system color name, from the
-following list (see the Win32 documentation for full descriptions). Case is
-ignored.
-
-Sys_BTNFace Sys_BTNShadow Sys_ActiveBorder
-Sys_ActiveCaption Sys_AppWorkspace Sys_Background
-Sys_BTNText Sys_CaptionText Sys_GrayText
-Sys_Highlight Sys_HighlightText Sys_InactiveBorder
-Sys_InactiveCaption Sys_InactiveCaptionText Sys_Menu
-Sys_MenuText Sys_ScrollBar Sys_Window
-Sys_WindowFrame Sys_WindowText
-
-Probably the most useful values are
- Sys_Window Normal window background
- Sys_WindowText Normal window text
- Sys_Highlight Highlighted background
- Sys_HighlightText Highlighted text
-
-These extra colors are also available:
-Gray, Grey, LightYellow, SeaGreen, Orange, Purple, SlateBlue, Violet,
-
-
-See also |rgb.txt|.
-
-==============================================================================
- *win16-dialogs*
-6. Windows dialogs & browsers
-
-The Win16 GUI can use familiar Windows components for some operations, as well
-as the traditional interface shared with the console version.
-
-
-6.1 Dialogs
-
-The dialogs displayed by the "confirm" family (i.e. the 'confirm' option,
-|:confirm| command and |confirm()| function) are GUI-based rather than the
-console-based ones used by other versions. There is no option to change this.
-
-
-6.2 File Browsers
-
-When prepending ":browse" before file editing commands, a file requester is
-used to allow you to select an existing file. See |:browse|.
-
-
-==============================================================================
-7. Various *win16-various*
-
- *win16-printing*
-The "File/Print" menu uses Notepad to print the current buffer. This is a bit
-clumsy, but it's portable. If you want something else, you can define your
-own print command. For example, you could look for the 16-bit version of
-PrintFile. See $VIMRUNTIME/menu.vim for how it works by default.
-
-Using this should also work: >
- :w >>prn
-
-Vim supports a number of standard MS Windows features. Some of these are
-detailed elsewhere: see |'mouse'|, |win32-hidden-menus|.
-Also see |:simalt|
-
- *win16-drag-n-drop*
-You can drag and drop one or more files into the vim window, where they will
-be opened as normal. If you hold down Shift while doing this, Vim changes to
-the (first) dropped file's directory. If you hold Ctrl, Vim will always split
-a new window for the file. Otherwise it's only done if the current buffer has
-been changed.
-You can also drop a directory's icon, but rather than open all files in the
-directory (which wouldn't usually be what you want) Vim instead changes to
-that directory and begins a new file.
-If Vim happens to be editing a command line, the names of the dropped files
-and directories will be inserted at the cursor. This allows you to use these
-names with any Ex command.
-
- *win16-truetype*
-It is recommended that you use a raster font and not a TrueType
-fixed-pitch font. E.g. use Courier, not Courier New. This is not just
-to use less resources but because there are subtle bugs in the
-handling of fixed-pitch TrueType in Win3.1x. In particular, when you move
-a block cursor over a pipe character '|', the cursor is drawn in the wrong
-size and bits get left behind. This is a bug in the Win3.1x GDI, it doesn't
-happen if you run the exe under 95/NT.
-
- vim:tw=78:sw=4:ts=8:ft=help:norl:
diff --git a/runtime/doc/gui_x11.txt b/runtime/doc/gui_x11.txt
index f085e2f2cb..51046e48d9 100644
--- a/runtime/doc/gui_x11.txt
+++ b/runtime/doc/gui_x11.txt
@@ -340,10 +340,6 @@ internally. Look in the GTK documentation for how they are used:
--display (GTK+ counterpart of -display; works the same way.)
--screen (The screen number; for GTK+ 2.2 multihead support.)
-These arguments are ignored when the |+netbeans_intg| feature is used:
- -xrm
- -mf
-
As for colors, Vim's color settings (for syntax highlighting) is still
done the traditional Vim way. See |:highlight| for more help.
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index a9af50dd09..adea92079f 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -147,12 +147,10 @@ Special issues ~
|russian.txt| Russian language support and editing
|ft_ada.txt| Ada (the programming language) support
|ft_sql.txt| about the SQL filetype plugin
-|hangulin.txt| Hangul (Korean) input mode
|rileft.txt| right-to-left editing mode
GUI ~
|gui.txt| Graphical User Interface (GUI)
-|gui_w16.txt| Windows 3.1 GUI
|gui_w32.txt| Win32 GUI
|gui_x11.txt| X11 GUI
@@ -162,31 +160,17 @@ Interfaces ~
|if_mzsch.txt| MzScheme interface
|if_perl.txt| Perl interface
|if_pyth.txt| Python interface
-|if_sniff.txt| SNiFF+ interface
|if_tcl.txt| Tcl interface
-|if_ole.txt| OLE automation interface for Win32
|if_ruby.txt| Ruby interface
|debugger.txt| Interface with a debugger
-|workshop.txt| Sun Visual Workshop interface
-|netbeans.txt| NetBeans External Editor interface
|sign.txt| debugging signs
Versions ~
|vi_diff.txt| Main differences between Vim and Vi
*sys-file-list*
Remarks about specific systems ~
-|os_390.txt| OS/390 Unix
-|os_amiga.txt| Amiga
-|os_beos.txt| BeOS and BeBox
-|os_dos.txt| MS-DOS and MS-Windows NT/95 common items
|os_mac.txt| Macintosh
-|os_mint.txt| Atari MiNT
-|os_msdos.txt| MS-DOS (plain DOS and DOS box under Windows)
-|os_os2.txt| OS/2
-|os_qnx.txt| QNX
-|os_risc.txt| RISC-OS
|os_unix.txt| Unix
-|os_vms.txt| VMS
|os_win32.txt| MS-Windows 95/98/NT
*standard-plugin-list*
Standard plugins ~
diff --git a/runtime/doc/if_ole.txt b/runtime/doc/if_ole.txt
deleted file mode 100644
index 7d77b660f1..0000000000
--- a/runtime/doc/if_ole.txt
+++ /dev/null
@@ -1,205 +0,0 @@
-*if_ole.txt* For Vim version 7.4. Last change: 2008 Aug 16
-
-
- VIM REFERENCE MANUAL by Paul Moore
-
-
-The OLE Interface to Vim *ole-interface*
-
-1. Activation |ole-activation|
-2. Methods |ole-methods|
-3. The "normal" command |ole-normal|
-4. Registration |ole-registration|
-5. MS Visual Studio integration |MSVisualStudio|
-
-{Vi does not have any of these commands}
-
-OLE is only available when compiled with the |+ole| feature. See
-src/if_ole.INSTALL.
-An alternative is using the client-server communication |clientserver|.
-
-==============================================================================
-1. Activation *ole-activation*
-
-Vim acts as an OLE automation server, accessible from any automation client,
-for example, Visual Basic, Python, or Perl. The Vim application "name" (its
-"ProgID", in OLE terminology) is "Vim.Application".
-
-Hence, in order to start a Vim instance (or connect to an already running
-instance), code similar to the following should be used:
-
-[Visual Basic] >
- Dim Vim As Object
- Set Vim = CreateObject("Vim.Application")
-
-[Python] >
- from win32com.client.dynamic import Dispatch
- vim = Dispatch('Vim.Application')
-
-[Perl] >
- use Win32::OLE;
- $vim = new Win32::OLE 'Vim.Application';
-
-[C#] >
- // Add a reference to VIM in your project.
- // Choose the COM tab.
- // Select "VIM Ole Interface 1.1 Type Library"
- Vim.Vim vimobj = new Vim.Vim();
-
-Vim does not support acting as a "hidden" OLE server, like some other OLE
-Automation servers. When a client starts up an instance of Vim, that instance
-is immediately visible. Simply closing the OLE connection to the Vim instance
-is not enough to shut down the Vim instance - it is necessary to explicitly
-execute a quit command (for example, :qa!, :wqa).
-
-==============================================================================
-2. Methods *ole-methods*
-
-Vim exposes four methods for use by clients.
-
- *ole-sendkeys*
-SendKeys(keys) Execute a series of keys.
-
-This method takes a single parameter, which is a string of keystrokes. These
-keystrokes are executed exactly as if they had been types in at the keyboard.
-Special keys can be given using their <..> names, as for the right hand side
-of a mapping. Note: Execution of the Ex "normal" command is not supported -
-see below |ole-normal|.
-
-Examples (Visual Basic syntax) >
- Vim.SendKeys "ihello<Esc>"
- Vim.SendKeys "ma1GV4jy`a"
-
-These examples assume that Vim starts in Normal mode. To force Normal mode,
-start the key sequence with CTRL-\ CTRL-N as in >
-
- Vim.SendKeys "<C-\><C-N>ihello<Esc>"
-
-CTRL-\ CTRL-N returns Vim to Normal mode, when in Insert or Command-line mode.
-Note that this doesn't work halfway a Vim command
-
- *ole-eval*
-Eval(expr) Evaluate an expression.
-
-This method takes a single parameter, which is an expression in Vim's normal
-format (see |expression|). It returns a string, which is the result of
-evaluating the expression. A |List| is turned into a string by joining the
-items and inserting line breaks.
-
-Examples (Visual Basic syntax) >
- Line20 = Vim.Eval("getline(20)")
- Twelve = Vim.Eval("6 + 6") ' Note this is a STRING
- Font = Vim.Eval("&guifont")
-<
- *ole-setforeground*
-SetForeground() Make the Vim window come to the foreground
-
-This method takes no arguments. No value is returned.
-
-Example (Visual Basic syntax) >
- Vim.SetForeground
-<
-
- *ole-gethwnd*
-GetHwnd() Return the handle of the Vim window.
-
-This method takes no arguments. It returns the hwnd of the main Vimwindow.
-You can use this if you are writing something which needs to manipulate the
-Vim window, or to track it in the z-order, etc.
-
-Example (Visual Basic syntax) >
- Vim_Hwnd = Vim.GetHwnd
-<
-
-==============================================================================
-3. The "normal" command *ole-normal*
-
-Due to the way Vim processes OLE Automation commands, combined with the method
-of implementation of the Ex command :normal, it is not possible to execute the
-:normal command via OLE automation. Any attempt to do so will fail, probably
-harmlessly, although possibly in unpredictable ways.
-
-There is currently no practical way to trap this situation, and users must
-simply be aware of the limitation.
-==============================================================================
-4. Registration *ole-registration* *E243*
-
-Before Vim will act as an OLE server, it must be registered in the system
-registry. In order to do this, Vim should be run with a single parameter of
-"-register".
- *-register* >
- gvim -register
-
-If gvim with OLE support is run and notices that no Vim OLE server has been
-registered, it will present a dialog and offers you the choice to register by
-clicking "Yes".
-
-In some situations registering is not possible. This happens when the
-registry is not writable. If you run into this problem you need to run gvim
-as "Administrator".
-
-Once vim is registered, the application path is stored in the registry.
-Before moving, deleting, or upgrading Vim, the registry entries should be
-removed using the "-unregister" switch.
- *-unregister* >
- gvim -unregister
-
-The OLE mechanism will use the first registered Vim it finds. If a Vim is
-already running, this one will be used. If you want to have (several) Vim
-sessions open that should not react to OLE commands, use the non-OLE version,
-and put it in a different directory. The OLE version should then be put in a
-directory that is not in your normal path, so that typing "gvim" will start
-the non-OLE version.
-
- *-silent*
-To avoid the message box that pops up to report the result, prepend "-silent":
->
- gvim -silent -register
- gvim -silent -unregister
-
-==============================================================================
-5. MS Visual Studio integration *MSVisualStudio* *VisVim*
-
-The OLE version can be used to run Vim as the editor in Microsoft Visual
-Studio. This is called "VisVim". It is included in the archive that contains
-the OLE version. The documentation can be found in the runtime directory, the
-README_VisVim.txt file.
-
-
-Using Vim with Visual Studio .Net~
-
-With .Net you no longer really need VisVim, since .Net studio has support for
-external editors. Follow these directions:
-
-In .Net Studio choose from the menu Tools->External Tools...
-Add
- Title - Vim
- Command - c:\vim\vim63\gvim.exe
- Arguments - --servername VS_NET --remote-silent "+call cursor($(CurLine), $(CurCol))" $(ItemPath)
- Init Dir - Empty
-
-Now, when you open a file in .Net, you can choose from the .Net menu:
-Tools->Vim
-
-That will open the file in Vim.
-You can then add this external command as an icon and place it anywhere you
-like. You might also be able to set this as your default editor.
-
-If you refine this further, please post back to the Vim maillist so we have a
-record of it.
-
---servername VS_NET
-This will create a new instance of vim called VS_NET. So if you open multiple
-files from VS, they will use the same instance of Vim. This allows you to
-have multiple copies of Vim running, but you can control which one has VS
-files in it.
-
---remote-silent "+call cursor(10, 27)"
- - Places the cursor on line 10 column 27
-In Vim >
- :h --remote-silent for mor details
-
-[.Net remarks provided by Dave Fishburn and Brian Sturk]
-
-==============================================================================
- vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/if_sniff.txt b/runtime/doc/if_sniff.txt
deleted file mode 100644
index a3d52085f2..0000000000
--- a/runtime/doc/if_sniff.txt
+++ /dev/null
@@ -1,95 +0,0 @@
-*if_sniff.txt* For Vim version 7.4. Last change: 2005 Mar 29
-
-
- VIM REFERENCE MANUAL
- by Anton Leherbauer (toni@takefive.co.at)
-
-
-SNiFF+ and Vim *sniff*
-
-1. Introduction |sniff-intro|
-2. Commands |sniff-commands|
-3. Compiling Vim with SNiFF+ interface |sniff-compiling|
-
-{Vi does not have any of these commands} *E275* *E274* *E276* *E278* *E279*
-
-The SNiFF+ interface only works, when Vim was compiled with the |+sniff|
-feature.
-
-==============================================================================
-1. Introduction *sniff-intro*
-
-The following features for the use with SNiFF+ are available:
-
- * Vim can be used for all editing requests
- * SNiFF+ recognizes and updates all browsers when a file is saved in Vim
- * SNiFF+ commands can be issued directly from Vim
-
-How to use Vim with SNiFF+
- 1. Make sure SNiFF+ is running.
- 2. In the Editor view of the Preferences dialog set the Field named
- 'External Editor' to 'Emacs/Vim'.
- 4. Start Vim
- 5. Connect to SNiFF+ (:sniff connect)
-
-Once a connection is established, SNiFF+ uses Vim for all requests to show or
-edit source code. On the other hand, you can send queries to SNiFF+ with the
-:sniff command.
-
-==============================================================================
-2. Commands *sniff-commands*
-
- *:sniff* *:sni*
-:sni[ff] request [symbol] Send request to sniff with optional symbol.
- {not in Vi}
-:sni[ff] Display all possible requests and the connection
- status
-
-Most requests require a symbol (identifier) as parameter. If it is omitted,
-Vim will use the current word under the cursor.
-The available requests are listed below:
-
-request mapping description
--------------------------------------------------------------------------------
-connect sc Establish connection with SNiFF+.
- Make sure SNiFF+ is prepared for this in the
- Preferences
-disconnect sq Disconnect from SNiFF+. You can reconnect any
- time with :sniff connect (or 'sc')
-toggle st Toggle between implementation
- and definition file
-find-symbol sf Load the symbol into a Symbol Browser
-browse-class sb Loads the class into a Class Browser
-superclass ss Edit superclass of symbol
-overridden so Edit overridden method of symbol
-retrieve-file srf Retrieve symbol in current file
-retrieve-project srp Retrieve symbol in current project
-retrieve-all-projects srP Retrieve symbol in all projects
-retrieve-next sR Retrieve symbol using current Retriever
- settings
-goto-symbol sg Goto definition or implementation of symbol
-hierarchy sh Load symbol into the Hierarchy Browser
-restr-hier sH same as above but show only related classes
-xref-to sxt Start a refers-to query on symbol and
- load the results into the Cross Referencer
-xref-by sxb Start a referred-by query on symbol
-xref-has sxh Start a refers-to components query on symbol
-xref-used-by sxu Start a referred-by as component query on
- symbol
-show-docu sd Show documentation of symbol
-gen-docu sD Generate documentation of symbol
-
-The mappings are defined in a file 'sniff.vim', which is part of every SNiFF+
-product ($SNIFF_DIR/config/sniff.vim). This file is sourced whenever Vim
-connects to SNiFF+.
-
-==============================================================================
-3. Compiling Vim with SNiFF+ interface *sniff-compiling*
-
-To compile Vim with SNiFF+ support, you need two source files of the extra
-archive: if_sniff.c and if_sniff.h.
-On Unix: Edit the Makefile and uncomment the line "--enable-sniff". Or run
-configure manually with this argument.
-On NT: Specify SNIFF=yes with your make command.
-
- vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index a9e884777e..6792acd390 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1350,9 +1350,6 @@ tag command action ~
|:mode| :mod[e] show or change the screen mode
|:mzscheme| :mz[scheme] execute MzScheme command
|:mzfile| :mzf[ile] execute MzScheme script file
-|:nbclose| :nbc[lose] close the current Netbeans session
-|:nbkey| :nb[key] pass a key to Netbeans
-|:nbstart| :nbs[art] start a new Netbeans session
|:next| :n[ext] go to next file in the argument list
|:new| :new create a new empty window
|:nmap| :nm[ap] like ":map" but for Normal mode
@@ -1473,7 +1470,6 @@ tag command action ~
|:sfind| :sf[ind] split current window and edit file in 'path'
|:sfirst| :sfir[st] split window and go to first file in the
argument list
-|:shell| :sh[ell] escape to a shell
|:simalt| :sim[alt] Win32 GUI: simulate Windows ALT key
|:sign| :sig[n] manipulate signs
|:silent| :sil[ent] run a command silently
@@ -1486,7 +1482,6 @@ tag command action ~
|:smenu| :sme[nu] add menu for Select mode
|:snext| :sn[ext] split window and go to next file in the
argument list
-|:sniff| :sni[ff] send request to sniff
|:snomagic| :sno[magic] :substitute with 'nomagic'
|:snoremap| :snor[emap] like ":noremap" but for Select mode
|:snoremenu| :snoreme[nu] like ":noremenu" but for Select mode
@@ -1601,7 +1596,6 @@ tag command action ~
argument list
|:wq| :wq write to a file and quit window or Vim
|:wqall| :wqa[ll] write all changed buffers and quit Vim
-|:wsverb| :ws[verb] pass the verb to workshop over IPC
|:wundo| :wu[ndo] write undo information to a file
|:wviminfo| :wv[iminfo] write to viminfo file
|:xit| :x[it] write if buffer changed and quit window or Vim
diff --git a/runtime/doc/msgpack_rpc.txt b/runtime/doc/msgpack_rpc.txt
index eb15075d85..8567f4a00e 100644
--- a/runtime/doc/msgpack_rpc.txt
+++ b/runtime/doc/msgpack_rpc.txt
@@ -234,12 +234,12 @@ Four functions related to msgpack-rpc are available to vimscript:
the job's stdin/stdout combo are used as a msgpack channel that is
processed directly by Nvim C code).
- |rpcstop()|: Same as |jobstop()|, but operates on handles returned by
- |rpcstart().|
+ |rpcstart()|.
- |rpcrequest()|: Sends a msgpack-rpc request to the process.
- |rpcnotify()|: Sends a msgpack-rpc notification to the process.
The last two functions may also be used with channels created from
-connections to |NVIM_LISTEN_ADDRESS|.
+connections to |$NVIM_LISTEN_ADDRESS|.
==============================================================================
vim:tw=78:ts=8:noet:ft=help:norl:
diff --git a/runtime/doc/netbeans.txt b/runtime/doc/netbeans.txt
deleted file mode 100644
index e0ac2bf82a..0000000000
--- a/runtime/doc/netbeans.txt
+++ /dev/null
@@ -1,1001 +0,0 @@
-*netbeans.txt* For Vim version 7.4. Last change: 2012 Jan 26
-
-
- VIM REFERENCE MANUAL by Gordon Prieur et al.
-
-
- *socket-interface* *netbeans* *netbeans-support*
-
-Vim NetBeans Protocol: a socket interface for Vim integration into an IDE.
-
-1. Introduction |netbeans-intro|
-2. Integration features |netbeans-integration|
-3. Configuring Vim for NetBeans |netbeans-configure|
-4. Error Messages |netbeans-messages|
-5. Running Vim in NetBeans mode |netbeans-run|
-6. NetBeans protocol |netbeans-protocol|
-7. NetBeans commands |netbeans-commands|
-8. Known problems |netbeans-problems|
-9. Debugging NetBeans protocol |netbeans-debugging|
-10. NetBeans External Editor
- 10.1. Downloading NetBeans |netbeans-download|
- 10.2. NetBeans Key Bindings |netbeans-keybindings|
- 10.3. Preparing NetBeans for Vim |netbeans-preparation|
- 10.4. Obtaining the External Editor Module |obtaining-exted|
- 10.5. Setting up NetBeans to run with Vim |netbeans-setup|
-
-{Vi does not have any of these features}
-{only available when compiled with the |+netbeans_intg| feature}
-
-==============================================================================
-1. Introduction *netbeans-intro*
-
-The NetBeans interface was initially developed to integrate Vim into the
-NetBeans Java IDE, using the external editor plugin. This NetBeans plugin no
-longer exists for recent versions of NetBeans but the protocol was developed
-in such a way that any IDE can use it to integrate Vim.
-
-The NetBeans protocol of Vim is a text based communication protocol, over a
-classical TCP socket. There is no dependency on Java or NetBeans. Any language
-or environment providing a socket interface can control Vim using this
-protocol. There are existing implementations in C, C++, Python and Java. The
-name NetBeans is kept today for historical reasons.
-
-Current projects using the NetBeans protocol of Vim are:
-- VimIntegration, description of various projects doing Vim Integration:
- http://www.freehackers.org/VimIntegration
-- Agide, an IDE for the AAP project, written in Python:
- http://www.a-a-p.org
-- Clewn, a gdb integration into Vim, written in C:
- http://clewn.sourceforge.net/
-- Pyclewn, a gdb integration into Vim, written in Python:
- http://pyclewn.sourceforge.net/
-- VimPlugin, integration of Vim inside Eclipse:
- http://vimplugin.sourceforge.net/wiki/pmwiki.php
-- PIDA, IDE written in Python integrating Vim:
- http://pida.co.uk/
-- VimWrapper, library to easy Vim integration into IDE:
- http://www.freehackers.org/VimWrapper
-
-Check the specific project pages to see how to use Vim with these projects.
-
-In the rest of this help page, we will use the term "Vim Controller" to
-describe the program controlling Vim through the NetBeans socket interface.
-
-
-About the NetBeans IDE ~
-
-NetBeans is an open source Integrated Development Environment developed
-jointly by Sun Microsystems, Inc. and the netbeans.org developer community.
-Initially just a Java IDE, NetBeans has had C, C++, and Fortran support added
-in recent releases.
-
-For more information visit the main NetBeans web site http://www.netbeans.org.
-The External Editor is now, unfortunately, declared obsolete. See
- http://externaleditor.netbeans.org.
-
-Sun Microsystems, Inc. also ships NetBeans under the name Sun ONE Studio.
-Visit http://www.sun.com for more information regarding the Sun ONE Studio
-product line.
-
-Current releases of NetBeans provide full support for Java and limited support
-for C, C++, and Fortran. Current releases of Sun ONE Studio provide full
-support for Java, C, C++, and Fortran.
-
-==============================================================================
-2. Integration features *netbeans-integration*
-
-The NetBeans socket interface of Vim allows to get information from Vim or to
-ask Vim to perform specific actions:
-- get information about buffer: buffer name, cursor position, buffer content,
- etc.
-- be notified when buffers are open or closed
-- be notified of how the buffer content is modified
-- load and save files
-- modify the buffer content
-- installing special key bindings
-- raise the window, control the window geometry
-
-For sending key strokes to Vim or for evaluating functions in Vim, you must
-use the |clientserver| interface.
-
-
-==============================================================================
-3. Configuring Vim for NetBeans *netbeans-configure*
-
-For more help about installing Vim, please read |usr_90.txt| in the Vim User
-Manual.
-
-
-On Unix:
---------
-
-When running configure without arguments the NetBeans interface should be
-included. That is, if the configure check to find out if your system supports
-the required features succeeds.
-
-In case you do not want the NetBeans interface you can disable it by
-uncommenting a line with "--disable-netbeans" in the Makefile.
-
-Currently the NetBeans interface is supported by Vim running in a terminal and
-by GVim when it is run with one of the following GUIs: GTK, GNOME, Windows,
-Athena and Motif.
-
-If Motif support is required the user must supply XPM libraries. See
-|workshop-xpm| for details on obtaining the latest version of XPM.
-
-
-On MS-Windows:
---------------
-
-The Win32 support is now in beta stage.
-
-To use XPM signs on Win32 (e.g. when using with NetBeans) you can compile
-XPM by yourself or use precompiled libraries from http://iamphet.nm.ru/misc/
-(for MS Visual C++) or http://gnuwin32.sourceforge.net (for MinGW).
-
-Enable debugging:
------------------
-
-To enable debugging of Vim and of the NetBeans protocol, the "NBDEBUG" macro
-needs to be defined. Search in the Makefile of the platform you are using for
-"NBDEBUG" to see what line needs to be uncommented. This effectively adds
-"-DNBDEBUG" to the compile command. Also see |netbeans-debugging|
-
-==============================================================================
-4. Error Messages *netbeans-messages*
-
-These error messages are specific to NetBeans socket protocol:
-
- *E463*
-Region is guarded, cannot modify
- The Vim Controller has defined guarded areas in the text,
- which you cannot change. Also sets the current buffer, if
- necessary.
-
- *E532*
-The defineAnnoType highlighting color name is too long
- The maximum length of the "fg" or "bg" color argument in the
- defineAnnoType command is 32 characters.
- New in version 2.5.
-
- *E656*
-Writes of unmodified buffers forbidden
- Writes of unmodified buffers that were opened from the
- Vim Controller are not possible.
-
- *E657*
-Partial writes disallowed
- Partial writes for buffers that were opened from the
- Vim Controller are not allowed.
-
- *E658*
-Connection lost for this buffer
- The Vim Controller has become confused about the state of
- this file. Rather than risk data corruption, it has severed
- the connection for this file. Vim will take over
- responsibility for saving changes to this file and the
- Vim Controller will no longer know of these changes.
-
- *E744*
-Read-only file
- Vim normally allows changes to a read-only file and only
- enforces the read-only rule if you try to write the file.
- However, NetBeans does not let you make changes to a file
- which is read-only and becomes confused if Vim does this.
- So Vim does not allow modifications to files when run
- in NetBeans mode.
-
-==============================================================================
-5. Running Vim in NetBeans mode *netbeans-run*
-
-There are two different ways to run Vim in NetBeans mode:
-
- + an IDE may start Vim with the |-nb| command line argument
- + NetBeans can be started from within Vim with the |:nbstart| command
-
- *netbeans-parameters*
-Three forms can be used to setup the NetBeans connection parameters.
-When started from the command line, the |-nb| command line argument may be:
-
- -nb={fname} from a file
- -nb:{hostname}:{addr}:{password} directly
- -nb from a file or environment
-
-When started from within Vim, the |:nbstart| optional argument may be:
-
- ={fname} from a file
- :{hostname}:{addr}:{password} directly
- <MISSING ARGUMENT> from a file or environment
-
- *E660* *E668*
-When NetBeans is started from the command line, for security reasons, the best
-method is to write the information in a file readable only by the user. The
-name of the file can be passed with the "-nb={fname}" argument or, when "-nb"
-is used without a parameter, the environment variable "__NETBEANS_CONINFO".
-The file must contain these three lines, in any order:
-
- host={hostname}
- port={addr}
- auth={password}
-
-Other lines are ignored. The Vim Controller is responsible for deleting the
-file afterwards.
-
-{hostname} is the name of the machine where Vim Controller is running. When
-omitted the environment variable "__NETBEANS_HOST" is used or the default
-"localhost".
-
-{addr} is the port number for the NetBeans interface. When omitted the
-environment variable "__NETBEANS_SOCKET" is used or the default 3219.
-
-{password} is the password for connecting to NetBeans. When omitted the
-environment variable "__NETBEANS_VIM_PASSWORD" is used or "changeme".
-
-Vim will initiate a socket connection (client side) to the specified host and
-port upon startup. The password will be sent with the AUTH event when the
-connection has been established.
-
-
-==============================================================================
-6. NetBeans protocol *netbeans-protocol*
-
-The communication between the Vim Controller and Vim uses plain text
-messages. This protocol was first designed to work with the external editor
-module of NetBeans. Later it was extended to work with Agide (A-A-P GUI IDE,
-see http://www.a-a-p.org) and then with other IDE. The extensions are marked
-with "version 2.1".
-
-Version 2.2 of the protocol has several minor changes which should only affect
-NetBeans users (ie, not Agide users). However, a bug was fixed which could
-cause confusion. The netbeans_saved() function sent a "save" protocol
-command. In protocol version 2.1 and earlier this was incorrectly interpreted
-as a notification that a write had taken place. In reality, it told NetBeans
-to save the file so multiple writes were being done. This caused various
-problems and has been fixed in 2.2. To decrease the likelihood of this
-confusion happening again, netbeans_saved() has been renamed to
-netbeans_save_buffer().
-
-We are now at version 2.5. For the differences between 2.4 and 2.5 search for
-"2.5" below.
-
-The messages are currently sent over a socket. Since the messages are in
-plain UTF-8 text this protocol could also be used with any other communication
-mechanism.
-
-Netbeans messages are processed when Vim is idle, waiting for user input.
-When Vim is run in non-interactive mode, for example when running an automated
-test case that sources a Vim script, the idle loop may not be called often
-enough. In that case, insert |:sleep| commands in the Vim script. The |:sleep|
-command does invoke Netbeans messages processing.
-
-6.1 Kinds of messages |nb-messages|
-6.2 Terms |nb-terms|
-6.3 Commands |nb-commands|
-6.4 Functions and Replies |nb-functions|
-6.5 Events |nb-events|
-6.6 Special messages |nb-special|
-6.7 Protocol errors |nb-protocol_errors|
-
-
-6.1 Kinds of messages *nb-messages*
-
-There are four kinds of messages:
-
-kind direction comment ~
-Command IDE -> editor no reply necessary
-Function IDE -> editor editor must send back a reply
-Reply editor -> IDE only in response to a Function
-Event editor -> IDE no reply necessary
-
-The messages are sent as a single line with a terminating newline character.
-Arguments are separated by a single space. The first item of the message
-depends on the kind of message:
-
-kind first item example ~
-Command bufID:name!seqno 11:showBalloon!123 "text"
-Function bufID:name/seqno 11:getLength/123
-Reply seqno 123 5000
-Event bufID:name=seqno 11:keyCommand=123 "S-F2"
-
-
-
-6.2 Terms *nb-terms*
-
-bufID Buffer number. A message may be either for a specific buffer
- or generic. Generic messages use a bufID of zero. NOTE: this
- buffer ID is assigned by the IDE, it is not Vim's buffer
- number. The bufID must be a sequentially rising number,
- starting at one.
-
-seqno The IDE uses a sequence number for Commands and Functions. A
- Reply must use the sequence number of the Function that it is
- associated with. A zero sequence number can be used for
- Events (the seqno of the last received Command or Function can
- also be used).
-
-string Argument in double quotes. Text is in UTF-8 encoding. This
- means ASCII is passed as-is. Special characters are
- represented with a backslash:
- \" double quote
- \n newline
- \r carriage-return
- \t tab (optional, also works literally)
- \\ backslash
- NUL bytes are not allowed!
-
-boolean Argument with two possible values:
- T true
- F false
-
-number Argument with a decimal number.
-
-color Argument with either a decimal number, "none" (without the
- quotes) or the name of a color (without the quotes) defined
- both in the color list in |highlight-ctermfg| and in the color
- list in |gui-colors|.
- New in version 2.5.
-
-offset A number argument that indicates a byte position in a buffer.
- The first byte has offset zero. Line breaks are counted for
- how they appear in the file (CR/LF counts for two bytes).
- Note that a multi-byte character is counted for the number of
- bytes it takes.
-
-lnum/col Argument with a line number and column number position. The
- line number starts with one, the column is the byte position,
- starting with zero. Note that a multi-byte character counts
- for several columns.
-
-pathname String argument: file name with full path.
-
-
-6.3 Commands *nb-commands*
-
-actionMenuItem Not implemented.
-
-actionSensitivity
- Not implemented.
-
-addAnno serNum typeNum off len
- Place an annotation in this buffer.
- Arguments:
- serNum number serial number of this placed
- annotation, used to be able to remove
- it
- typeNum number sequence number of the annotation
- defined with defineAnnoType for this
- buffer
- off number offset where annotation is to be placed
- len number not used
- In version 2.1 "lnum/col" can be used instead of "off".
-
-balloonResult text
- Not implemented.
-
-close Close the buffer. This leaves us without current buffer, very
- dangerous to use!
-
-create Creates a buffer without a name. Replaces the current buffer
- (it's hidden when it was changed).
- The Vim Controller should use this as the first command for a
- file that is being opened. The sequence of commands could be:
- create
- setCaretListener (ignored)
- setModified (no effect)
- setContentType (ignored)
- startDocumentListen
- setTitle
- setFullName
-
-defineAnnoType typeNum typeName tooltip glyphFile fg bg
- Define a type of annotation for this buffer.
- Arguments:
- typeNum number sequence number (not really used)
- typeName string name that identifies this annotation
- tooltip string not used
- glyphFile string name of icon file
- fg color foreground color for line highlighting
- bg color background color for line highlighting
- Vim will define a sign for the annotation.
- When color is a number, this is the "#rrggbb" Red, Green and
- Blue values of the color (see |gui-colors|) and the
- highlighting is only defined for GVim.
- When color is a name, this color is defined both for Vim
- running in a color terminal and for GVim.
- When both "fg" and "bg" are "none" no line highlighting is
- used (new in version 2.1).
- When "glyphFile" is empty, no text sign is used (new in
- version 2.1).
- When "glyphFile" is one or two characters long, a text sign is
- defined (new in version 2.1).
- Note: the annotations will be defined in sequence, and the
- sequence number is later used with addAnno.
-
-editFile pathname
- Set the name for the buffer and edit the file "pathname", a
- string argument.
- Normal way for the IDE to tell the editor to edit a file.
-
- You must set a bufId different of 0 with this command to
- assign a bufId to the buffer. It will trigger an event
- fileOpened with a bufId of 0 but the buffer has been assigned.
-
- If the IDE is going to pass the file text to the editor use
- these commands instead:
- setFullName
- insert
- initDone
- New in version 2.1.
-
-enableBalloonEval
- Not implemented.
-
-endAtomic End an atomic operation. The changes between "startAtomic"
- and "endAtomic" can be undone as one operation. But it's not
- implemented yet. Redraw when necessary.
-
-guard off len
- Mark an area in the buffer as guarded. This means it cannot
- be edited. "off" and "len" are numbers and specify the text
- to be guarded.
-
-initDone Mark the buffer as ready for use. Implicitly makes the buffer
- the current buffer. Fires the BufReadPost autocommand event.
-
-insertDone
- Sent by Vim Controller to tell Vim an initial file insert is
- done. This triggers a read message being printed. Prior to
- version 2.3, no read messages were displayed after opening a
- file. New in version 2.3.
-
-moveAnnoToFront serNum
- Not implemented.
-
-netbeansBuffer isNetbeansBuffer
- If "isNetbeansBuffer" is "T" then this buffer is "owned" by
- NetBeans.
- New in version 2.2.
-
-putBufferNumber pathname
- Associate a buffer number with the Vim buffer by the name
- "pathname", a string argument. To be used when the editor
- reported editing another file to the IDE and the IDE needs to
- tell the editor what buffer number it will use for this file.
- Also marks the buffer as initialized.
- New in version 2.1.
-
-raise Bring the editor to the foreground.
- Only when Vim is run with a GUI.
- New in version 2.1.
-
-removeAnno serNum
- Remove a previously place annotation for this buffer.
- "serNum" is the same number used in addAnno.
-
-save Save the buffer when it was modified. The other side of the
- interface is expected to write the buffer and invoke
- "setModified" to reset the "changed" flag of the buffer.
- The writing is skipped when one of these conditions is true:
- - 'write' is not set
- - the buffer is read-only
- - the buffer does not have a file name
- - 'buftype' disallows writing
- New in version 2.2.
-
-saveDone
- Sent by Vim Controller to tell Vim a save is done. This
- triggers a save message being printed. Prior to version 2.3,
- no save messages were displayed after a save.
- New in version 2.3.
-
-setAsUser Not implemented.
-
-setBufferNumber pathname
- Associate a buffer number with Vim buffer by the name
- "pathname". To be used when the editor reported editing
- another file to the IDE and the IDE needs to tell the editor
- what buffer number it will use for this file.
- Has the side effect of making the buffer the current buffer.
- See "putBufferNumber" for a more useful command.
-
-setContentType
- Not implemented.
-
-setDot off Make the buffer the current buffer and set the cursor at the
- specified position. If the buffer is open in another window
- than make that window the current window.
- If there are folds they are opened to make the cursor line
- visible.
- In version 2.1 "lnum/col" can be used instead of "off".
-
-setExitDelay seconds
- Set the delay for exiting to "seconds", a number.
- This delay is used to give the IDE a chance to handle things
- before really exiting. The default delay is two seconds.
- New in version 2.1.
- Obsolete in version 2.3.
-
-setFullName pathname
- Set the file name to be used for a buffer to "pathname", a
- string argument.
- Used when the IDE wants to edit a file under control of the
- IDE. This makes the buffer the current buffer, but does not
- read the file. "insert" commands will be used next to set the
- contents.
-
-setLocAndSize Not implemented.
-
-setMark Not implemented.
-
-setModified modified
- When the boolean argument "modified" is "T" mark the buffer as
- modified, when it is "F" mark it as unmodified.
-
-setModtime time
- Update a buffers modification time after the file has been
- saved directly by the Vim Controller.
- New in version 2.3.
-
-setReadOnly
- Set a file as readonly
- Implemented in version 2.3.
-
-setStyle Not implemented.
-
-setTitle name
- Set the title for the buffer to "name", a string argument.
- The title is only used for the Vim Controller functions, not
- by Vim.
-
-setVisible visible
- When the boolean argument "visible" is "T", goto the buffer.
- The "F" argument does nothing.
-
-showBalloon text
- Show a balloon (popup window) at the mouse pointer position,
- containing "text", a string argument. The balloon should
- disappear when the mouse is moved more than a few pixels.
- Only when Vim is run with a GUI.
- New in version 2.1.
-
-specialKeys
- Map a set of keys (mostly function keys) to be passed back
- to the Vim Controller for processing. This lets regular IDE
- hotkeys be used from Vim.
- Implemented in version 2.3.
-
-startAtomic Begin an atomic operation. The screen will not be updated
- until "endAtomic" is given.
-
-startCaretListen
- Not implemented.
-
-startDocumentListen
- Mark the buffer to report changes to the IDE with the
- "insert" and "remove" events. The default is to report
- changes.
-
-stopCaretListen
- Not implemented.
-
-stopDocumentListen
- Mark the buffer to stop reporting changes to the IDE.
- Opposite of startDocumentListen.
- NOTE: if "netbeansBuffer" was used to mark this buffer as a
- NetBeans buffer, then the buffer is deleted in Vim. This is
- for compatibility with Sun Studio 10.
-
-unguard off len
- Opposite of "guard", remove guarding for a text area.
- Also sets the current buffer, if necessary.
-
-version Not implemented.
-
-
-6.4 Functions and Replies *nb-functions*
-
-getDot Not implemented.
-
-getCursor Return the current buffer and cursor position.
- The reply is:
- seqno bufID lnum col off
- seqno = sequence number of the function
- bufID = buffer ID of the current buffer (if this is unknown -1
- is used)
- lnum = line number of the cursor (first line is one)
- col = column number of the cursor (in bytes, zero based)
- off = offset of the cursor in the buffer (in bytes)
- New in version 2.1.
-
-getLength Return the length of the buffer in bytes.
- Reply example for a buffer with 5000 bytes:
- 123 5000
- TODO: explain use of partial line.
-
-getMark Not implemented.
-
-getAnno serNum
- Return the line number of the annotation in the buffer.
- Argument:
- serNum serial number of this placed annotation
- The reply is:
- 123 lnum line number of the annotation
- 123 0 invalid annotation serial number
- New in version 2.4.
-
-getModified When a buffer is specified: Return zero if the buffer does not
- have changes, one if it does have changes.
- When no buffer is specified (buffer number zero): Return the
- number of buffers with changes. When the result is zero it's
- safe to tell Vim to exit.
- New in version 2.1.
-
-getText Return the contents of the buffer as a string.
- Reply example for a buffer with two lines
- 123 "first line\nsecond line\n"
- NOTE: docs indicate an offset and length argument, but this is
- not implemented.
-
-insert off text
- Insert "text" before position "off". "text" is a string
- argument, "off" a number.
- "text" should have a "\n" (newline) at the end of each line.
- Or "\r\n" when 'fileformat' is "dos". When using "insert" in
- an empty buffer Vim will set 'fileformat' accordingly.
- When "off" points to the start of a line the text is inserted
- above this line. Thus when "off" is zero lines are inserted
- before the first line.
- When "off" points after the start of a line, possibly on the
- NUL at the end of a line, the first line of text is appended
- to this line. Further lines come below it.
- Possible replies:
- 123 no problem
- 123 !message failed
- Note that the message in the reply is not quoted.
- Also sets the current buffer, if necessary.
- Does not move the cursor to the changed text.
- Resets undo information.
-
-remove off length
- Delete "length" bytes of text at position "off". Both
- arguments are numbers.
- Possible replies:
- 123 no problem
- 123 !message failed
- Note that the message in the reply is not quoted.
- Also sets the current buffer, if necessary.
-
-saveAndExit Perform the equivalent of closing Vim: ":confirm qall".
- If there are no changed files or the user does not cancel the
- operation Vim exits and no result is sent back. The IDE can
- consider closing the connection as a successful result.
- If the user cancels the operation the number of modified
- buffers that remains is returned and Vim does not exit.
- New in version 2.1.
-
-
-6.5 Events *nb-events*
-
-balloonEval off len type
- The mouse pointer rests on text for a short while. When "len"
- is zero, there is no selection and the pointer is at position
- "off". When "len" is non-zero the text from position "off" to
- "off" + "len" is selected.
- Only sent after "enableBalloonEval" was used for this buffer.
- "type" is not yet defined.
- Not implemented yet.
-
-balloonText text
- Used when 'ballooneval' is set and the mouse pointer rests on
- some text for a moment. "text" is a string, the text under
- the mouse pointer.
- Only when Vim is run with a GUI.
- New in version 2.1.
-
-buttonRelease button lnum col
- Report which button was pressed and the location of the cursor
- at the time of the release. Only for buffers that are owned
- by the Vim Controller. This event is not sent if the button
- was released while the mouse was in the status line or in a
- separator line. If col is less than 1 the button release was
- in the sign area.
- New in version 2.2.
-
-disconnect
- Tell the Vim Controller that Vim is exiting and not to try and
- read or write more commands.
- New in version 2.3.
-
-fileClosed Not implemented.
-
-fileModified Not implemented.
-
-fileOpened pathname open modified
- A file was opened by the user.
- Arguments:
- pathname string name of the file
- open boolean always "T"
- modified boolean always "F"
-
-geometry cols rows x y
- Report the size and position of the editor window.
- Arguments:
- cols number number of text columns
- rows number number of text rows
- x number pixel position on screen
- y number pixel position on screen
- Only works for Motif.
-
-insert off text
- Text "text" has been inserted in Vim at position "off".
- Only fired when enabled, see "startDocumentListen".
-
-invokeAction Not implemented.
-
-keyCommand keyName
- Reports a special key being pressed with name "keyName", which
- is a string.
- Supported key names:
- F1 function key 1
- F2 function key 2
- ...
- F12 function key 12
-
- ' ' space (without the quotes)
- ! exclamation mark
- ... any other ASCII printable character
- ~ tilde
-
- X any unrecognized key
-
- The key may be prepended by "C", "S" and/or "M" for Control,
- Shift and Meta (Alt) modifiers. If there is a modifier a dash
- is used to separate it from the key name. For example:
- "C-F2".
- ASCII characters are new in version 2.1.
-
-keyAtPos keyName lnum/col
- Like "keyCommand" and also report the line number and column
- of the cursor.
- New in version 2.1.
-
-killed A file was deleted or wiped out by the user and the buffer
- annotations have been removed. The bufID number for this
- buffer has become invalid. Only for files that have been
- assigned a bufID number by the IDE.
-
-newDotAndMark off off
- Reports the position of the cursor being at "off" bytes into
- the buffer. Only sent just before a "keyCommand" event.
-
-quit Not implemented.
-
-remove off len
- Text was deleted in Vim at position "off" with byte length
- "len".
- Only fired when enabled, see "startDocumentListen".
-
-revert Not implemented.
-
-save The buffer has been saved and is now unmodified.
- Only fired when enabled, see "startDocumentListen".
-
-startupDone The editor has finished its startup work and is ready for
- editing files.
- New in version 2.1.
-
-unmodified The buffer is now unmodified.
- Only fired when enabled, see "startDocumentListen".
-
-version vers Report the version of the interface implementation. Vim
- reports "2.4" (including the quotes).
-
-
-6.6 Special messages *nb-special*
-
-These messages do not follow the style of the messages above. They are
-terminated by a newline character.
-
-ACCEPT Not used.
-
-AUTH password editor -> IDE: First message that the editor sends to the IDE.
- Must contain the password for the socket server, as specified
- with the |-nb| argument. No quotes are used!
-
-DISCONNECT IDE -> editor: break the connection. The editor will exit.
- The IDE must only send this message when there are no unsaved
- changes!
-
-DETACH IDE -> editor: break the connection without exiting the
- editor. Used when the IDE exits without bringing down the
- editor as well.
- New in version 2.1.
-
-REJECT Not used.
-
-
-6.7 Protocol errors *nb-protocol_errors*
-
-These errors occur when a message violates the protocol:
-*E627* *E628* *E629* *E630* *E631* *E632* *E633* *E634* *E635* *E636*
-*E637* *E638* *E639* *E640* *E641* *E642* *E643* *E644* *E645* *E646*
-*E647* *E648* *E649* *E650* *E651* *E652* *E653* *E654*
-
-
-==============================================================================
-7. NetBeans commands *netbeans-commands*
-
- *:nbstart* *E511* *E838*
-:nbs[tart] {connection} Start a new Netbeans session with {connection} as the
- socket connection parameters. The format of
- {connection} is described in |netbeans-parameters|.
- At any time, one may check if the netbeans socket is
- connected by running the command:
- ':echo has("netbeans_enabled")'
-
- *:nbclose*
-:nbc[lose] Close the current NetBeans session. Remove all placed
- signs.
-
- *:nbkey*
-:nb[key] {key} Pass the {key} to the Vim Controller for processing.
- When a hot-key has been installed with the specialKeys
- command, this command can be used to generate a hotkey
- message to the Vim Controller.
- This command can also be used to pass any text to the
- Vim Controller. It is used by Pyclewn, for example,
- to build the complete set of gdb commands as Vim user
- commands.
- The events newDotAndMark, keyCommand and keyAtPos are
- generated (in this order).
-
-
-==============================================================================
-8. Known problems *netbeans-problems*
-
-NUL bytes are not possible. For editor -> IDE they will appear as NL
-characters. For IDE -> editor they cannot be inserted.
-
-A NetBeans session may be initiated with Vim running in a terminal, and
-continued later in a GUI environment after running the |:gui| command. In this
-case, the highlighting defined for the NetBeans annotations may be cleared
-when the ":gui" command sources .gvimrc and this file loads a colorscheme
-that runs the command ":highlight clear".
-New in version 2.5.
-
-
-==============================================================================
-9. Debugging NetBeans protocol *netbeans-debugging*
-
-To debug the Vim protocol, you must first compile Vim with debugging support
-and NetBeans debugging support. See |netbeans-configure| for instructions
-about Vim compiling and how to enable debug support.
-
-When running Vim, set the following environment variables:
-
- export SPRO_GVIM_DEBUG=netbeans.log
- export SPRO_GVIM_DLEVEL=0xffffffff
-
-Vim will then log all the incoming and outgoing messages of the NetBeans
-protocol to the file netbeans.log .
-
-The content of netbeans.log after a session looks like this:
-Tue May 20 17:19:27 2008
-EVT: 0:startupDone=0
-CMD 1: (1) create
-CMD 2: (1) setTitle "testfile1.txt"
-CMD 3: (1) setFullName "testfile1.txt"
-EVT(suppressed): 1:remove=3 0 -1
-EVT: 1:fileOpened=0 "d:\\work\\vimWrapper\\vimWrapper2\\pyvimwrapper\\tests\\testfile1.txt" T F
-CMD 4: (1) initDone
-FUN 5: (0) getCursor
-REP 5: 1 1 0 0
-CMD 6: (2) create
-CMD 7: (2) setTitle "testfile2.txt"
-CMD 8: (2) setFullName "testfile2.txt"
-EVT(suppressed): 2:remove=8 0 -1
-EVT: 2:fileOpened=0 "d:\\work\\vimWrapper\\vimWrapper2\\pyvimwrapper\\tests\\testfile2.txt" T F
-CMD 9: (2) initDone
-
-
-==============================================================================
-10. NetBeans External Editor
-
-NOTE: This information is obsolete! Only relevant if you are using an old
-version of NetBeans.
-
-
-10.1. Downloading NetBeans *netbeans-download*
-
-The NetBeans IDE is available for download from netbeans.org. You can download
-a released version, download sources, or use CVS to download the current
-source tree. If you choose to download sources, follow directions from
-netbeans.org on building NetBeans.
-
-Depending on the version of NetBeans you download, you may need to do further
-work to get the required External Editor module. This is the module which lets
-NetBeans work with gvim (or xemacs :-). See http://externaleditor.netbeans.org
-for details on downloading this module if your NetBeans release does not have
-it.
-
-For C, C++, and Fortran support you will also need the cpp module. See
-http://cpp.netbeans.org for information regarding this module.
-
-You can also download Sun ONE Studio from Sun Microsystems, Inc for a 30 day
-free trial. See http://www.sun.com for further details.
-
-
-10.2. NetBeans Key Bindings *netbeans-keybindings*
-
-Vim understands a number of key bindings that execute NetBeans commands.
-These are typically all the Function key combinations. To execute a NetBeans
-command, the user must press the Pause key followed by a NetBeans key binding.
-For example, in order to compile a Java file, the NetBeans key binding is
-"F9". So, while in vim, press "Pause F9" to compile a java file. To toggle a
-breakpoint at the current line, press "Pause Shift F8".
-
-The Pause key is Function key 21. If you don't have a working Pause key and
-want to use F8 instead, use: >
-
- :map <F8> <F21>
-
-The External Editor module dynamically reads the NetBeans key bindings so vim
-should always have the latest key bindings, even when NetBeans changes them.
-
-
-10.3. Preparing NetBeans for Vim *netbeans-preparation*
-
-In order for NetBeans to work with vim, the NetBeans External Editor module
-must be loaded and enabled. If you have a Sun ONE Studio Enterprise Edition
-then this module should be loaded and enabled. If you have a NetBeans release
-you may need to find another way of obtaining this open source module.
-
-You can check if you have this module by opening the Tools->Options dialog
-and drilling down to the "Modules" list (IDE Configuration->System->Modules).
-If your Modules list has an entry for "External Editor" you must make sure
-it is enabled (the "Enabled" property should have the value "True"). If your
-Modules list has no External Editor see the next section on |obtaining-exted|.
-
-
-10.4. Obtaining the External Editor Module *obtaining-exted*
-
-There are 2 ways of obtaining the External Editor module. The easiest way
-is to use the NetBeans Update Center to download and install the module.
-Unfortunately, some versions do not have this module in their update
-center. If you cannot download via the update center you will need to
-download sources and build the module. I will try and get the module
-available from the NetBeans Update Center so building will be unnecessary.
-Also check http://externaleditor.netbeans.org for other availability options.
-
-To download the External Editor sources via CVS and build your own module,
-see http://externaleditor.netbeans.org and http://www.netbeans.org.
-Unfortunately, this is not a trivial procedure.
-
-
-10.5. Setting up NetBeans to run with Vim *netbeans-setup*
-
-Assuming you have loaded and enabled the NetBeans External Editor module
-as described in |netbeans-preparation| all you need to do is verify that
-the gvim command line is properly configured for your environment.
-
-Open the Tools->Options dialog and open the Editing category. Select the
-External Editor. The right hand pane should contain a Properties tab and
-an Expert tab. In the Properties tab make sure the "Editor Type" is set
-to "Vim". In the Expert tab make sure the "Vim Command" is correct.
-
-You should be careful if you change the "Vim Command". There are command
-line options there which must be there for the connection to be properly
-set up. You can change the command name but that's about it. If your gvim
-can be found by your $PATH then the VIM Command can start with "gvim". If
-you don't want gvim searched from your $PATH then hard code in the full
-Unix path name. At this point you should get a gvim for any source file
-you open in NetBeans.
-
-If some files come up in gvim and others (with different file suffixes) come
-up in the default NetBeans editor you should verify the MIME type in the
-Expert tab MIME Type property. NetBeans is MIME oriented and the External
-Editor will only open MIME types specified in this property.
-
-
- vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 293d113c1f..4782d93825 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -6025,7 +6025,7 @@ A jump table for the options with a short description can be found at |Q_op|.
"cmd.exe", OS/2: "cmd")
global
Name of the shell to use for ! and :! commands. When changing the
- value also check these options: 'shelltype', 'shellpipe', 'shellslash'
+ value also check these options: 'shellpipe', 'shellslash'
'shellredir', 'shellquote', 'shellxquote' and 'shellcmdflag'.
It is allowed to give an argument to the command, e.g. "csh -f".
See |option-backslash| about including spaces and backslashes.
@@ -6179,20 +6179,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|FilterWritePost| autocommands event are not triggered when
'shelltemp' is off.
- *'shelltype'* *'st'*
-'shelltype' 'st' number (default 0)
- global
- {not in Vi} {only for the Amiga}
- On the Amiga this option influences the way how the commands work
- which use a shell.
- 0 and 1: always use the shell
- 2 and 3: use the shell only to filter lines
- 4 and 5: use shell only for ':sh' command
- When not using the shell, the command is executed directly.
-
- 0 and 2: use "shell 'shellcmdflag' cmd" to start external commands
- 1 and 3: use "shell cmd" to start external commands
-
*'shellxescape'* *'sxe'*
'shellxescape' 'sxe' string (default: "";
for MS-DOS and MS-Windows: "\"&|<>()@^")
diff --git a/runtime/doc/os_390.txt b/runtime/doc/os_390.txt
deleted file mode 100644
index 5501b8009b..0000000000
--- a/runtime/doc/os_390.txt
+++ /dev/null
@@ -1,134 +0,0 @@
-*os_390.txt* For Vim version 7.4. Last change: 2010 May 30
-
-
- VIM REFERENCE MANUAL by Ralf Schandl
-
- *zOS* *z/OS* *OS390* *os390* *MVS*
-This file contains the particulars for the z/OS UNIX version of Vim.
-
-1. ASCII/EBCDIC dependent scripts |zOS-has-ebcdic|
-2. Putty and Colors |zOS-PuTTY|
-3. Motif Problems |zOS-Motif|
-4. Bugs |zOS-Bugs|
-5. Limitations |zOS-limitations|
-6. Open source on z/OS UNIX |zOS-open-source|
-
-Contributors: ~
-The port to z/OS UNIX was done by Ralf Schandl for the Redbook mentioned
-below.
-
-Changes, bug-reports, or both by:
-
- David Moore
- Anthony Giorgio
- and others
-
-==============================================================================
-1. ASCII/EBCDIC dependent scripts *OS390-has-ebcdic* *zOS-has-ebcdic*
-
-For the internal script language the feature "ebcdic" was added. With this
-you can fix ASCII dependent scripts like this:
->
- if has("ebcdic")
- let space = 64
- else
- let space = 32
- endif
-<
-
-==============================================================================
-2. PuTTY and Colors *OS390-PuTTY* *zOS-PuTTY*
-
-If you see problems with syntax highlighting or screen corruptions when you
-connect to z/OS using Putty, try the following:
-
-- Configure Putty as "vt220" terminal (Connection->Data)
-- Add the following 3 lines to your vimrc:
-
->
- set t_AB=[4%p1%dm
- set t_AF=[3%p1%dm
- set t_CO=8
-<
-
-Note:  is one character use <C-V><Esc> to enter it.
-
-==============================================================================
-3. Motif Problems *OS390-Motif* *zOS-Motif*
-
-Note: Seen with Vim 6.*, never tested since.
-
-It seems that in porting the Motif library to z/OS, a translation from EBCDIC
-to ASCII for the accelerator characters of the pull-down menus was forgotten.
-Even after I tried to hand convert the menus, the accelerator keys continued
-to only work for the opening of menus (like <Alt-F> to open the file menu).
-They still do not work for the menu items themselves (like <Alt-F>O to open
-the file browser).
-
-There is no solution for this yet.
-
-==============================================================================
-4. Bugs *OS390-bugs* *zOS-Bugs*
-
-- Vim will consistently hang when a large amount of text is selected in
- visual block mode. This may be due to a memory corruption issue. Note that
- this occurs in both the terminal and gui versions.
-
-==============================================================================
-5. Limitations *OS390-limitations* *zOS-limitations*
-
-- No binary search in tag files.
- The program /bin/sort sorts by ASCII value by default. This program is
- normally used by ctags to sort the tags. There might be a version of
- ctags out there, that does it right, but we can't be sure. So this seems to
- be a permanent restriction.
-
-- The cscope interface (|cscope|) doesn't work for the version of cscope
- that we use on our mainframe. We have a copy of version 15.0b12, and it
- causes Vim to hang when using the "cscope add" command. I'm guessing that
- the binary format of the cscope database isn't quite what Vim is expecting.
- I've tried to port the current version of cscope (15.3) to z/OS, without
- much success. If anyone is interested in trying, drop me a line if you
- make any progress.
-
-- No glib/gtk support. I have not been able to successfully compile glib on
- z/OS UNIX. This means you'll have to live without the pretty gtk toolbar.
-
-Disabled at compile time:
- - Multibyte support (|multibyte|)
- - Right-to-left mode (|rileft|)
- - Farsi key map (|Farsi|)
- - Arabic language support (|Arabic|)
- - Spell checking (|spell|)
-
-Never tested:
- - Perl interface (|perl|)
- - Encryption support (|encryption|)
- - Langmap (|'langmap'|)
- - Python support (|Python|)
- - Right-to-left mode (|'rightleft'|)
- - SNiFF+ interface (|sniff|)
- - TCL interface (|tcl|)
- ...
-
-==============================================================================
-6. Open source on z/OS UNIX *OS390-open-source* *zOS-open-source*
-
-If you are interested in other Open Source Software on z/OS UNIX, have a
-look at the following Redbook:
-
- Mike MacIsaac et al
- "Open Source Software for z/OS and OS/390 UNIX"
- IBM Form Number: SG24-5944-01
- ISBN: 0738424633
- http://www-03.ibm.com/systems/resources/servers_eserver_zseries_zos_unix_redbook_sg245944.pdf
-
-Also look at:
- http://www.redbooks.ibm.com
- http://www-03.ibm.com/systems/z/os/zos/features/unix/
- http://www-03.ibm.com/systems/z/os/zos/features/unix/library/IBM+Redbooks/index.html
-
-
-
-------------------------------------------------------------------------------
- vim:tw=78:fo=tcq2:ts=8:ft=help:norl:
diff --git a/runtime/doc/os_amiga.txt b/runtime/doc/os_amiga.txt
deleted file mode 100644
index b9ac611129..0000000000
--- a/runtime/doc/os_amiga.txt
+++ /dev/null
@@ -1,147 +0,0 @@
-*os_amiga.txt* For Vim version 7.4. Last change: 2010 Aug 14
-
-
- VIM REFERENCE MANUAL by Bram Moolenaar
-
-
- *Amiga*
-This file contains the particularities for the Amiga version of Vim.
-There is also a section specifically for |MorphOS| below.
-
-NOTE: The Amiga code is still included, but has not been maintained or tested.
-
-Installation on the Amiga:
-- Assign "VIM:" to the directory where the Vim "doc" directory is. Vim will
- look for the file "VIM:doc/help.txt" (for the help command).
- Setting the environment variable $VIM also works. And the other way around:
- when $VIM used and it is not defined, "VIM:" is used.
-- With DOS 1.3 or earlier: Put "arp.library" in "libs:". Vim must have been
- compiled with the |+ARP| feature enabled. Make sure that newcli and run are
- in "C:" (for executing external commands).
-- Put a shell that accepts a command with "-c" (e.g. "Csh" from Fish disk
- 624) in "c:" or in any other directory that is in your search path (for
- executing external commands).
-
-If you have sufficient memory you can avoid startup delays by making Vim and
-csh resident with the command "rez csh vim". You will have to put
-"rezlib.library" in your "libs:" directory. Under 2.0 you will need rez
-version 0.5.
-
-If you do not use digraphs, you can save some memory by recompiling without
-the |+digraphs| feature. If you want to use Vim with other terminals you can
-recompile with the TERMCAP option. Vim compiles with Manx 5.x and SAS 6.x.
-See the makefiles and feature.h.
-
-If you notice Vim crashes on some files when syntax highlighting is on, or
-when using a search pattern with nested wildcards, it might be that the stack
-is too small. Try increasing the stack size. In a shell use the Stack
-command before launching Vim. On the Workbench, select the Vim icon, use the
-workbench "Info" menu and change the Stack field in the form.
-
-If you want to use different colors set the termcap codes:
- t_mr (for inverted text)
- t_md (for bold text)
- t_me (for normal text after t_mr and t_md)
- t_so (for standout mode)
- t_se (for normal text after t_so)
- t_us (for underlined text)
- t_ue (for normal text after t_us)
- t_ZH (for italic text)
- t_ZR (for normal text after t_ZH)
-
-Standard ANSI escape sequences are used. The codes are:
-30 grey char 40 grey cell >0 grey background 0 all attributes off
-31 black char 41 black cell >1 black background 1 boldface
-32 white char 42 white cell >2 white background 2 faint
-33 blue char 43 blue cell >3 blue background 3 italic
-34 grey char 44 grey cell >4 grey background 4 underscore
-35 black char 45 black cell >5 black background 7 reverse video
-36 white char 46 white cell >6 white background 8 invisible
-37 blue char 47 blue cell >7 blue background
-
-The codes with '>' must be the last. The cell and background color should be
-the same. The codes can be combined by separating them with a semicolon. For
-example to get white text on a blue background: >
- :set t_me=^V<Esc>[0;32;43;>3m
- :set t_se=^V<Esc>[0;32;43;>3m
- :set t_ue=^V<Esc>[0;32;43;>3m
- :set t_ZR=^V<Esc>[0;32;43;>3m
- :set t_md=^V<Esc>[1;32;43;>3m
- :set t_mr=^V<Esc>[7;32;43;>3m
- :set t_so=^V<Esc>[0;31;43;>3m
- :set t_us=^V<Esc>[4;32;43;>3m
- :set t_ZH=^V<Esc>[3;32;43;>3m
-
-When using multiple commands with a filter command, e.g. >
- :r! echo this; echo that
-Only the output of the last command is used. To fix this you have to group the
-commands. This depends on the shell you use (that is why it is not done
-automatically in Vim). Examples: >
- :r! (echo this; echo that)
- :r! {echo this; echo that}
-
-Commands that accept a single file name allow for embedded spaces in the file
-name. However, when using commands that accept several file names, embedded
-spaces need to be escaped with a backslash.
-
-------------------------------------------------------------------------------
-Vim for MorphOS *MorphOS*
-
-[this section mostly by Ali Akcaagac]
-
-For the latest info about the MorphOS version:
- http://www.akcaagac.com/index_vim.html
-
-
-Problems ~
-
-There are a couple of problems which are not MorphOS related but more Vim and
-UN*X related. When starting up Vim in ram: it complains with a nag requester
-from MorphOS please simply ignore it. Another problem is when running Vim as
-is some plugins will cause a few problems which you can ignore as well.
-Hopefully someone will be fixing it over the time.
-
-To pass all these problems for now you can either run:
-
- vim <file to be edited>
-
-or if you want to run Vim plain and enjoy the motion of Helpfiles etc. it then
-would be better to enter:
-
- vim --noplugins <of course you can add a file>
-
-
-Installation ~
-
-1) Please copy the binary 'VIM' file to c:
-2) Get the Vim runtime package from:
-
- ftp://ftp.vim.org/pub/vim/amiga/vim62rt.tgz
-
- and unpack it in your 'Apps' directory of the MorphOS installation. For me
- this would create following directory hierarchy:
-
- MorphOS:Apps/Vim/Vim62/...
-
-3) Add the following lines to your s:shell-startup (Important!).
-
- ;Begin VIM
- Set VIM=MorphOS:Apps/Vim/Vim62
- Assign HOME: ""
- ;End VIM
-
-4) Copy the '.vimrc' file to s:
-
-5) There is also a file named 'color-sequence' included in this archive. This
- will set the MorphOS Shell to show ANSI colors. Please copy the file to s:
- and change the s:shell-startup to:
-
- ;Begin VIM
- Set VIM=MorphOS:Apps/Vim/Vim62
- Assign HOME: ""
- Execute S:Color-Sequence
- Cls
- ;End VIM
-
-
- vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/os_beos.txt b/runtime/doc/os_beos.txt
deleted file mode 100644
index 5099ae6126..0000000000
--- a/runtime/doc/os_beos.txt
+++ /dev/null
@@ -1,319 +0,0 @@
-*os_beos.txt* For Vim version 7.4. Last change: 2010 Aug 14
-
-
- VIM REFERENCE MANUAL by Bram Moolenaar
-
-
- *BeOS* *BeBox*
-This is a port of Vim 5.1 to the BeOS Preview Release 2 (also known as PR2)
-or later.
-
-This file contains the particularities for the BeBox/BeOS version of Vim. For
-matters not discussed in this file, Vim behaves very much like the Unix
-|os_unix.txt| version.
-
- 1. General |beos-general|
- 2. Compiling Vim |beos-compiling|
- 3. Timeout in the Terminal |beos-timeout|
- 4. Unicode vs. Latin1 |beos-unicode|
- 5. The BeOS GUI |beos-gui|
- 6. The $VIM directory |beos-vimdir|
- 7. Drag & Drop |beos-dragndrop|
- 8. Single Launch vs. Multiple
- Launch |beos-launch|
- 9. Fonts |beos-fonts|
-10. The meta key modifier |beos-meta|
-11. Mouse key mappings |beos-mouse|
-12. Color names |beos-colors|
-13. Compiling with Perl |beos-perl|
-
-
-1. General *beos-general*
-
-The default syntax highlighting mostly works with different foreground colors
-to highlight items. This works best if you set your Terminal window to a
-darkish background and light letters. Some middle-grey background (for
-instance (r,g,b)=(168,168,168)) with black letters also works nicely. If you
-use the default light background and dark letters, it may look better to
-simply reverse the notion of foreground and background color settings. To do
-this, add this to your .vimrc file (where <Esc> may need to be replaced with
-the escape character): >
-
- :if &term == "beos-ansi"
- : set t_AB=<Esc>[3%dm
- : set t_AF=<Esc>[4%dm
- :endif
-
-
-2. Compiling Vim *beos-compiling*
-
-From the Advanced Access Preview Release (AAPR) on, Vim can be configured with
-the standard configure script. To get the compiler and its flags right, use
-the following command-line in the shell (you can cut and paste it in one go):
-
-CC=$BE_C_COMPILER CFLAGS="$BE_DEFAULT_C_FLAGS -O7" \
- ./configure --prefix=/boot/home/config
-
-$BE_C_COMPILER is usually "mwcc", $BE_DEFAULT_C_FLAGS is usually "-I- -I."
-
-When configure has run, and you wish to enable GUI support, you must edit the
-config.mk file so that the lines with GUI_xxx refer to $(BEOSGUI_xxx) instead
-of $(NONE_xxx).
-Alternatively you can make this change in the Makefile; it will have a
-more permanent effect. Search for "NONE_".
-
-After compilation you need to add the resources to the binary. Add the
-following few lines near the end (before the line with "exit $exit_value") of
-the link.sh script to do this automatically.
-
- rmattr BEOS:TYPE vim
- copyres os_beos.rsrc vim
- mimeset vim
-
-Also, create a dummy file "strip":
-
- #!/bin/sh
- mimeset $1
- exit 0
-
-You will need it when using "make install" to install Vim.
-
-Now type "make" to compile Vim, then "make install" to install it.
-
-If you want to install Vim by hand, you must copy Vim to $HOME/config/bin, and
-create a bunch of symlinks to it ({g,r,rg}{vim,ex,view}). Furthermore you must
-copy Vim's configuration files to $HOME/config/share/vim:
-vim-5.0s/{*.vim,doc,syntax}. For completeness, you should also copy the nroff
-manual pages to $HOME/config/man/man1. Don't forget ctags/ctags and xxd/xxd!
-
-Obviously, you need the unlimited linker to actually link Vim. See
-http://www.metrowerks.com for purchasing the CodeWarrior compiler for BeOS.
-There are currently no other linkers that can do the job.
-
-This won't be able to include the Perl or Python interfaces even if
-you have the appropriate files installed. |beos-perl|
-
-
-3. Timeout in the Terminal *beos-timeout*
-
-Because some POSIX/UNIX features are still missing[1], there is no direct OS
-support for read-with-timeout in the Terminal. This would mean that you cannot
-use :mappings of more than one character, unless you also :set notimeout.
-|'timeout'|
-
-To circumvent this problem, I added a workaround to provide the necessary
-input with timeout by using an extra thread which reads ahead one character.
-As a side effect, it also makes Vim recognize when the Terminal window
-resizes.
-
-Function keys are not supported in the Terminal since they produce very
-indistinctive character sequences.
-
-These problems do not exist in the GUI.
-
-[1]: there is no select() on file descriptors; also the termios VMIN and VTIME
-settings do not seem to work properly. This has been the case since DR7 at
-least and still has not been fixed as of PR2.
-
- *beos-unicode*
-4. Unicode vs. Latin1 *beos-utf8*
-
-BeOS uses Unicode and UTF-8 for text strings (16-bit characters encoded to
-8-bit characters). Vim assumes ISO-Latin1 or other 8-bit character codes.
-This does not produce the desired results for non-ASCII characters. Try the
-command :digraphs to see. If they look messed up, use :set isprint=@ to
-(slightly) improve the display of ISO-Latin1 characters 128-255. This works
-better in the GUI, depending on which font you use (below).
-
-You may also use the /boot/bin/xtou command to convert UTF-8 files from (xtou
--f iso1 filename) or to (xtou -t iso1 filename) ISO-Latin1 characters.
-
-
-5. The BeOS GUI *beos-gui*
-
-The BeOS GUI is no longer included. It was not maintained for a while and
-most likely didn't work. If you want to work on this: get the Vim 6.x version
-and merge it back in.
-
-
-6. The $VIM directory *beos-vimdir*
-
-$VIM is the symbolic name for the place where Vims support files are stored.
-The default value for $VIM is set at compile time and can be determined with >
-
- :version
-
-The normal value is /boot/home/config/share/vim. If you don't like it you can
-set the VIM environment variable to override this, or set 'helpfile' in your
-.vimrc: >
-
- :if version >= 500
- : set helpfile=~/vim/vim54/doc/help.txt
- : syntax on
- :endif
-
-
-7. Drag & Drop *beos-dragndrop*
-
-You can drop files and directories on either the Vim icon (starts a new Vim
-session, unless you use the File Types application to set Vim to be "Single
-Launch") or on the Vim window (starts editing the files). Dropping a folder
-sets Vim's current working directory. |:cd| |:pwd| If you drop files or
-folders with either SHIFT key pressed, Vim changes directory to the folder
-that contains the first item dropped. When starting Vim, there is no need to
-press shift: Vim behaves as if you do.
-
-Files dropped set the current argument list. |argument-list|
-
-
-8. Single Launch vs. Multiple Launch *beos-launch*
-
-As distributed Vim's Application Flags (as seen in the FileTypes preference)
-are set to Multiple Launch. If you prefer, you can set them to Single Launch
-instead. Attempts to start a second copy of Vim will cause the first Vim to
-open the files instead. This works from the Tracker but also from the command
-line. In the latter case, non-file (option) arguments are not supported.
-
-NB: Only the GUI version has a BApplication (and hence Application Flags).
-This section does not apply to the GUI-less version, should you compile one.
-
-
-9. Fonts *beos-fonts*
-
-Set fonts with >
-
- :set guifont=Courier10_BT/Roman/10
-
-where the first part is the font family, the second part the style, and the
-third part the size. You can use underscores instead of spaces in family and
-style.
-
-Best results are obtained with monospaced fonts (such as Courier). Vim
-attempts to use all fonts in B_FIXED_SPACING mode but apparently this does not
-work for proportional fonts (despite what the BeBook says).
-
-Vim also tries to use the B_ISO8859_1 encoding, also known as ISO Latin 1.
-This also does not work for all fonts. It does work for Courier, but not for
-ProFontISOLatin1/Regular (strangely enough). You can verify this by giving the >
-
- :digraphs
-
-command, which lists a bunch of characters with their ISO Latin 1 encoding.
-If, for instance, there are "box" characters among them, or the last character
-isn't a dotted-y, then for this font the encoding does not work.
-
-If the font you specify is unavailable, you get the system fixed font.
-
-Standard fixed-width system fonts are:
-
- ProFontISOLatin1/Regular
- Courier10_BT/Roman
- Courier10_BT/Italic
- Courier10_BT/Bold
- Courier10_BT/Bold_Italic
-
-Standard proportional system fonts are:
-
- Swis721_BT/Roman
- Swis721_BT/Italic
- Swis721_BT/Bold
- Swis721_BT/Bold_Italic
- Dutch801_Rm_BT/Roman
- Dutch801_Rm_BT/Italic
- Dutch801_Rm_BT/Bold
- Dutch801_Rm_BT/Bold_Italic
- Baskerville/Roman
- Baskerville/Italic
- Baskerville/Bold
- Baskerville/Bold_Italic
- SymbolProp_BT/Regular
-
-Try some of them, just for fun.
-
-
-10. The meta key modifier *beos-meta*
-
-The META key modifier is obtained by the left or right OPTION keys. This is
-because the ALT (aka COMMAND) keys are not passed to applications.
-
-
-11. Mouse key mappings *beos-mouse*
-
-Vim calls the various mouse buttons LeftMouse, MiddleMouse and RightMouse. If
-you use the default Mouse preference settings these names indeed correspond to
-reality. Vim uses this mapping:
-
- Button 1 -> LeftMouse,
- Button 2 -> RightMouse,
- Button 3 -> MiddleMouse.
-
-If your mouse has fewer than 3 buttons you can provide your own mapping from
-mouse clicks with modifier(s) to other mouse buttons. See the file
-vim-5.x/macros/swapmous.vim for an example. |gui-mouse-mapping|
-
-
-12. Color names *beos-colors*
-
-Vim has a number of color names built-in. Additional names are read from the
-file $VIMRUNTIME/rgb.txt, if present. This file is basically the color
-database from X. Names used from this file are cached for efficiency.
-
-
-13. Compiling with Perl *beos-perl*
-
-Compiling with Perl support enabled is slightly tricky. The Metrowerks
-compiler has some strange ideas where to search for include files. Since
-several include files with Perl have the same names as some Vim header
-files, the wrong ones get included. To fix this, run the following Perl
-script while in the vim-5.0/src directory: >
-
- preproc.pl > perl.h
-
- #!/bin/env perl
- # Simple #include expander, just good enough for the Perl header files.
-
- use strict;
- use IO::File;
- use Config;
-
- sub doinclude
- {
- my $filename = $_[0];
- my $fh = new IO::File($filename, "r");
- if (defined $fh) {
- print "/* Start of $filename */\n";
-
- while (<$fh>) {
- if (/^#include "(.*)"/) {
- doinclude($1);
- print "/* Back in $filename */\n";
- } else {
- print $_;
- }
- }
- print "/* End of $filename */\n";
-
- undef $fh;
- } else {
- print "/* Cannot open $filename */\n";
- print "#include \"$filename\"\n";
- }
- }
-
- chdir $Config{installarchlib}."/CORE";
- doinclude "perl.h";
-
-It expands the "perl.h" header file, using only other Perl header files.
-
-Now you can configure & make Vim with the --enable-perlinterp option.
-Be warned though that this adds about 616 kilobytes to the size of Vim!
-Without Perl, Vim with default features and GUI is about 575K, with Perl
-it is about 1191K.
-
--Olaf Seibert
-
-[Note: these addresses no longer work:]
-<rhialto@polder.ubc.kun.nl>
-http://polder.ubc.kun.nl/~rhialto/be
-
- vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/os_mint.txt b/runtime/doc/os_mint.txt
deleted file mode 100644
index d44b1a4f40..0000000000
--- a/runtime/doc/os_mint.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-*os_mint.txt* For Vim version 7.4. Last change: 2005 Mar 29
-
-
- VIM REFERENCE MANUAL by Jens M. Felderhoff
-
-
- *MiNT* *Atari*
-This file contains the particularities for the Atari MiNT version of Vim.
-
-For compiling Vim on the Atari running MiNT see "INSTALL" and "Makefile"
-in the src directory.
-
-Vim for MiNT behaves almost exactly like the Unix version.
-The Unix behavior described in the documentation also refers to the
-MiNT version of Vim unless explicitly stated otherwise.
-
-For wildcard expansion of <~> (home directory) you need a shell that
-expands the tilde. The vanilla Bourne shell doesn't recognize it.
-With csh and ksh it should work OK.
-
-The MiNT version of vim needs the termcap file /etc/termcap with the
-terminal capabilities of your terminal. Builtin termcaps are
-supported for the vt52 terminal. Termcap entries for the TOSWIN window
-manager and the virtual console terminals have been appended to the
-termcap file that comes with the Vim distribution.
-
-If you should encounter problems with swapped <BS> and <Del> keys, see
-|:fixdel|.
-
-Because terminal updating under MiNT is often slow (e.g. serial line
-terminal), the 'showcmd' and 'ruler' options are default off.
-If you have a fast terminal, try setting them on. You might
-also want to set 'ttyfast'.
-
-Send bug reports to
-
- Jens M. Felderhoff, e-mail: <jmf@infko.uni-koblenz.de>
-
- vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/os_os2.txt b/runtime/doc/os_os2.txt
deleted file mode 100644
index 231d7d1027..0000000000
--- a/runtime/doc/os_os2.txt
+++ /dev/null
@@ -1,221 +0,0 @@
-*os_os2.txt* For Vim version 7.4. Last change: 2007 Apr 22
-
-
- VIM REFERENCE MANUAL by Paul Slootman
-
-
- *os2* *OS2* *OS/2*
-This file contains the particularities for the OS/2 version of Vim.
-
-At present there is no native PM version of the GUI version of Vim: The OS/2
-version is a console application. However, there is now a Win32s-compatible
-GUI version, which should be usable by owners of Warp 4 (which supports
-Win32s) in a Win-OS/2 session. The notes in this file refer to the native
-console version.
-
-
-NOTE
-
-This OS/2 port works well for me and a couple of other OS/2 users; however,
-since I haven't had much feedback, that either means no (OS/2-specific) bugs
-exist (besides the ones mentioned below), or no one has yet created a
-situation in which any bugs are apparent. File I/O in Dos and Unix mode,
-binary mode, and FAT handling all seem to work well, which would seem to be
-the most likely places for trouble.
-
-A known problem is that files opened by Vim are inherited by other programs
-that are started via a shell escape from within Vim. This specifically means
-that Vim won't be able to remove the swap file(s) associated with buffers open
-at the time the other program was started, until the other program is stopped.
-At that time, the swap file may be removed, but if Vim could not do that the
-first time, it won't be removed at all. You'll get warnings that some other
-Vim session may be editing the file when you start Vim up again on that file.
-This can be reproduced with ":!start epm". Now quit Vim, and start Vim again
-with the file that was in the buffer at the time epm was started. I'm working
-on this!
-
-A second problem is that Vim doesn't understand the situation when using it
-when accessing the OS/2 system via the network, e.g. using telnet from a Unix
-system, and then starting Vim. The problem seems to be that OS/2 =sometimes=
-recognizes function / cursor keys, and tries to convert those to the
-corresponding OS/2 codes generated by the "normal" PC keyboard. I've been
-testing a workaround (mapping the OS/2 codes to the correct functions), but so
-far I can't say anything conclusive (this is on Warp 3, by the way). In the
-meantime any help will be appreciated.
-
-
-PREREQUISITES
-
-To run Vim, you need the emx runtime environment (at least rev. 0.9b). This
-is generally available as (ask Archie about it):
-
- emxrt.zip emx runtime package
-
-I've included a copy of emx.dll, which should be copied to one of the
-directories listed in your LIBPATH. Emx is GPL'ed, but the emx.dll library is
-not (read COPYING.EMX to find out what that means to you).
-
-This emx.dll is from the emxfix04.zip package, which unfortunately has a bug,
-eh, I mean a POSIX feature, in select(). Versions of Vim before 3.27 will
-appear to hang when starting (actually, while processing vimrc). Hit <Enter> a
-couple of times until Vim starts working if this happens. Next, get an up to
-date version of Vim!
-
-
-HELP AND VIMRC FILE
-
-If you unpack the archive that Vim came in and run Vim directly from where it
-was unpacked, Vim should be able to find the runtime files and your .vimrc
-without any settings.
-
-If you put the runtime files separately from the binary, the VIM environment
-variable is used to find the location of the help files and the system .vimrc.
-Place an entry such as this in CONFIG.SYS: >
-
- SET VIM=c:/local/lib/vim
-
-Put your .vimrc and your other Vim files in this directory. Copy the runtime
-directory to this directory. Each version of Vim has its own runtime
-directory. It will be called something like "c:/local/lib/vim/vim54". Thus
-you get a tree of Vim files like this:
- c:/local/lib/vim/.vimrc
- c:/local/lib/vim/vim54/filetype.vim
- c:/local/lib/vim/vim54/doc/help.txt
- etc.
-
-Note: .vimrc may also be called _vimrc to accommodate those who have chosen to
-install OS/2 on a FAT file system. Vim first tries to find .vimrc and if that
-fails, looks for _vimrc in the same place. The existence of a .vimrc or
-_vimrc file influences the 'compatible' options, which can have unexpected side
-effects. See |'compatible'|.
-
-If you're using network drives with OS/2, then you can install Vim on a
-network drive (including .vimrc; this is then called the "system" vimrc file),
-and then use a personal copy of .vimrc (the "user" vimrc file). This should be
-located in a directory indicated by the HOME environment variable.
-
-
-ENVIRONMENT VARIABLES IN FILE NAMES
-
-This HOME environment variable is also used when using ~ in file names, so
-":e ~/textfile" will edit the file "textfile" in the directory referred to by
-HOME. Additionally you can use other environment variables in file names, as
-in ":n $SRC/*.c".
-
-The HOME environment variable is also used to locate the .viminfo file
-(see |viminfo-file|). There is no support yet for .viminfo on FAT file
-systems yet, sorry. You could try the -i startup flag (as in "vim -i
-$HOME/_viminfo") however.
-
-If the HOME environment variable is not set, the value "C:/" is used as a
-default.
-
-
-BACKSLASHES
-
-Using slashes ('/') and backslashes ('\') can be a bit of a problem (see
-|dos-backslash| for more explanation), but in almost all cases Vim does "The
-Right Thing". Vim itself uses backslashes in file names, but will happily
-accept forward slashes if they are entered (in fact, sometimes that works
-better!).
-
-
-TEMP FILES
-
-Temporary files (for filtering) are put in the first directory in the next
-list that exists and where a file can be created:
- $TMP
- $TEMP
- C:\TMP
- C:\TEMP
- current directory
-
-
-TERMINAL SETTING
-
- *os2ansi*
-Use "os2ansi" as the TERM environment variable (or don't set it at all, as the
-default is the correct value). You can set term to os2ansi in the .vimrc, in
-case you need TERM to be a different value for other applications. The
-problem is that OS/2 ANSI emulation is quite limited (it doesn't have insert /
-delete line, for example).
-
-If you want to use a different value for TERM (because of other programs, for
-example), make sure that the termcap entry for that TERM value has the
-appropriate key mappings. The termcap.dat distributed with emx does not always
-have them. Here are some suitable values to add to the termcap entry of your
-choice; these allow the cursor keys and the named function keys (such as
-pagedown) to work.
-
- :ku=\316H:kd=\316P:kl=\316K:kr=\316M:%i=\316t:#4=\316s:\
- :kD=\316S:kI=\316R:kN=\316Q:kP=\316I:kh=\316G:@7=\316O:\
- :k1=\316;:k2=\316<:k3=\316=:k4=\316>:k5=\316?:k6=\316@:\
- :k7=\316A:k8=\316B:k9=\316C:k;=\316D:
-
-
-Paul Slootman
-
-
-43 LINE WINDOW
-
-A suggestion from Steven Tryon, on how to run Vim in a bigger window:
-
-When I call Vim from an OS/2 WPS application such as PMMail it comes up
-in the default 25-line mode. To get a more useful window size I make
-my external editor "vimbig.cmd" which in turn calls "vimbig2.cmd".
-Brute force and awkwardness, perhaps, but it works.
-
-vimbig.cmd: >
- @echo off
- start "Vi Improved" /f vimbig2.cmd %1 %2 %3 %4
-
-vimbig2.cmd: >
- @echo off
- mode 80,43
- vim.exe %1 %2 %3 %4
- exit
-<
-
-CLIPBOARD ACCESS (provided by Alexander Wagner)
-
-Vim for OS/2 has no direct access to the system clipboard. To enable access
-anyway you need an additional tool which gives you access to the clipboard
-from within a vio application. The freeware package clipbrd.zip by Stefan
-Gruendel can be used for this purpose. You might download the package
-including precompiled binaries and all sources from:
- http://www.os2site.com/sw/util/clipboard/index.html
- http://download.uni-hd.de/ftp/pub/os2/pmtools/
-
-Installation of this package is straight forward: just put the two executables
-that come with this package into a directory within your PATH for Vim should
-be able to call them from whatever directory you are working.
-
-To copy text from the clipboard to your Vim session you can use the :r
-command. Simply call clipbrd.exe from within Vim in the following way: >
-
- :r !clipbrd -r
-
-To copy text from Vim to the system clipboard just mark the text in the usual
-vim-manner and call: >
-
- :!clipbrd -w
-
-which will write your selection right into OS/2's clipboard.
-
-For ease of use you might want to add some maps for these commands. E.g. to
-use F11 to paste the clipboard into Vim and F12 to copy selected text to the
-clipboard you would use: >
-
- if has("os2")
- imap <F11> <ESC>:r !clipbrd -r<CR>i
- vmap <F12> :!clipbrd -w<cr>
- else
- imap <F11> <ESC>"*p<CR>i
- vmap <F12> "*y
- endif
-
-This will ensure that only on OS/2 clipbrd is called whereas on other
-platforms vims build in mechanism is used. (To enable this functions on every
-load of Vim place the above lines in your .vimrc.)
-
- vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/os_qnx.txt b/runtime/doc/os_qnx.txt
deleted file mode 100644
index 92132e9701..0000000000
--- a/runtime/doc/os_qnx.txt
+++ /dev/null
@@ -1,138 +0,0 @@
-*os_qnx.txt* For Vim version 7.4. Last change: 2005 Mar 29
-
-
- VIM REFERENCE MANUAL by Julian Kinraid
-
-
- *QNX* *qnx*
-
-1. General |qnx-general|
-2. Compiling Vim |qnx-compiling|
-3. Terminal support |qnx-terminal|
-4. Photon GUI |photon-gui|
-5. Photon fonts |photon-fonts|
-6. Bugs & things To Do
-
-==============================================================================
-
-1. General *qnx-general*
-
-Vim on QNX behaves much like other unix versions. |os_unix.txt|
-
-
-2. Compiling Vim *qnx-compiling*
-
-Vim can be compiled using the standard configure/make approach. If you want to
-compile for X11, pass the --with-x option to configure. Otherwise, running
-./configure without any arguments or passing --enable-gui=photon, will compile
-vim with the Photon gui support. Run ./configure --help , to find out other
-features you can enable/disable.
-
-
-3. Terminal support *qnx-terminal*
-
-Vim has support for the mouse and clipboard in a pterm, if those options
-are compiled in, which they are normally.
-
-The options that affect mouse support are |'mouse'| and |'ttymouse'|. When
-using the mouse, only simple left and right mouse clicking/dragging is
-supported. If you hold down shift, ctrl, or alt while using the mouse, pterm
-will handle the mouse itself. It will make a selection, separate from what
-vim's doing.
-
-When the mouse is in use, you can press Alt-RightMouse to open the pterm menu.
-To turn the mouse off in vim, set the mouse option to nothing, set mouse=
-
-
-4. Photon GUI *photon-gui*
-
-To start the gui for vim, you need to run either gvim or vim -g, otherwise
-the terminal version will run. For more info - |gui-x11-start|
-
-Supported features:
- :browse command |:browse|
- :confirm command |:confirm|
- Cursor blinking |'guicursor'|
- Menus, popup menus and menu priorities |:menu|
- |popup-menu|
- |menu-priority|
- Toolbar |gui-toolbar|
- |'toolbar'|
- Font selector (:set guifont=*) |photon-fonts|
- Mouse focus |'mousefocus'|
- Mouse hide |'mousehide'|
- Mouse cursor shapes |'mouseshape'|
- Clipboard |gui-clipboard|
-
-Unfinished features:
- Various international support, such as Farsi & Hebrew support,
- different encodings, etc.
-
- This help file
-
-Unsupported features:
- Find & Replace window |:promptfind|
- Tearoff menus
-
- Other things which I can't think of so I can't list them
-
-
-5. Fonts *photon-fonts*
-
-You set fonts in the gui with the guifont option >
- :set guifont=Lucida\ Terminal
-<
-The font must be a monospace font, and any spaces in the font name must be
-escaped with a '\'. The default font used is PC Terminal, size 8. Using
-'*' as the font name will open a standard Photon font selector where you can
-select a font.
-
-Following the name, you can include optional settings to control the size and
-style of the font, each setting separated by a ':'. Not all fonts support the
-various styles.
-
-The options are,
- s{size} Set the size of the font to {size}
- b Bold style
- a Use antialiasing
- i Italic style
-
-Examples:
-
-Set the font to monospace size 10 with antialiasing >
- :set guifont=monospace:s10:a
-<
-Set the font to Courier size 12, with bold and italics >
- :set guifont=Courier:s12:b:i
-<
-Select a font with the requester >
- :set guifont=*
-<
-
-
-6. Bugs & things To Do
-
-Known problems:
- - Vim hangs sometimes when running an external program. Workaround:
- put this line in your |vimrc| file: >
- set noguipty
-
-Bugs:
- - Still a slight problem with menu highlighting.
- - When using phditto/phinows/etc., if you are using a font that
- doesn't support the bold attribute, when vim attempts to draw
- bold text it will be all messed up.
- - The cursor can sometimes be hard to see.
- - A number of minor problems that can fixed. :)
-
-Todo:
- - Improve multi-language support.
- - Options for setting the fonts used in the menu and toolbar.
- - Find & Replace dialog.
- - The clientserver features.
- - Maybe tearoff menus.
-
- - Replace usage of fork() with spawn() when launching external
- programs.
-
- vim:tw=78:sw=4:ts=8:ts=8:ft=help:norl:
diff --git a/runtime/doc/os_risc.txt b/runtime/doc/os_risc.txt
deleted file mode 100644
index 62b4a4b8e2..0000000000
--- a/runtime/doc/os_risc.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-*os_risc.txt* For Vim version 7.4. Last change: 2011 May 10
-
-
- VIM REFERENCE MANUAL by Thomas Leonard
-
-
- *riscos* *RISCOS* *RISC-OS*
-The RISC OS support has been removed from Vim with patch 7.3.187.
-If you would like to use Vim on RISC OS get the files from before that patch.
-
-
- vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/os_vms.txt b/runtime/doc/os_vms.txt
deleted file mode 100644
index 82f8ae8b5b..0000000000
--- a/runtime/doc/os_vms.txt
+++ /dev/null
@@ -1,954 +0,0 @@
-*os_vms.txt* For Vim version 7.4. Last change: 2014 Feb 24
-
-
- VIM REFERENCE MANUAL
-
-
- *VMS* *vms*
-This file contains the particularities for the VMS version of Vim.
-You can reach this information file by typing :help VMS in Vim command
-prompt.
-
- 1. Getting started |vms-started|
- 2. Download files |vms-download|
- 3. Compiling |vms-compiling|
- 4. Problems |vms-problems|
- 5. Deploy |vms-deploy|
- 6. Practical usage |vms-usage|
- 7. GUI mode questions |vms-gui|
- 8. Useful notes |vms-notes|
- 9. VMS related changes |vms-changes|
-10. Authors |vms-authors|
-
-==============================================================================
-
-1. Getting started *vms-started*
-
-Vim (Vi IMproved) is a Vi-compatible text editor that runs on nearly every
-operating system known to humanity. Now use Vim on OpenVMS too, in character
-or X/Motif environment. It is fully featured and absolutely compatible with
-Vim on other operating systems.
-
-==============================================================================
-
-2. Download files *vms-download*
-
-You can download the Vim source code by ftp from the official Vim site:
- ftp://ftp.vim.org/pub/vim/
-Or use one of the mirrors:
- ftp://ftp.vim.org/pub/vim/MIRRORS
-
-You can download precompiled executables from:
- http://www.polarhome.com/vim/
- ftp://ftp.polarhome.com/pub/vim/
-
-To use the precompiled binary version, you need one of these archives:
-
- vim-XX-exe-ia64-gui.zip IA64 GUI/Motif executables
- vim-XX-exe-ia64-gtk.zip IA64 GUI/GTK executables
- vim-XX-exe-ia64-term.zip IA64 console executables
- vim-XX-exe-axp-gui.zip Alpha GUI/Motif executables
- vim-XX-exe-axp-gtk.zip Alpha GUI/GTK executables
- vim-XX-exe-axp-term.zip Alpha console executables
- vim-XX-exe-vax-gui.zip VAX GUI executables
- vim-XX-exe-vax-term.zip VAX console executables
-
-and of course (optional)
- vim-XX-runtime.zip runtime files
-
-The binary archives contain: vim.exe, ctags.exe, xxd.exe files.
-
-For GTK executables you will need GTKLIB that is available for
-Alpha and IA64 platform.
-
-==============================================================================
-
-3. Compiling *vms-compiling*
-
-See the file [.SRC]INSTALLVMS.TXT.
-
-==============================================================================
-
-4. Problems *vms-problems*
-
-The code has been tested under Open VMS 6.2 - 8.2 on Alpha, VAX and IA64
-platforms with the DEC C compiler. It should work without big problems.
-If your system does not have some include libraries you can tune up in
-OS_VMS_CONF.H file.
-
-If you decided to build Vim with +perl, +python, etc. options, first you need
-to download OpenVMS distributions of Perl and Python. Build and deploy the
-libraries and change adequate lines in MAKE_VMS.MMS file. There should not be
-a problem from Vim side.
-
-Also GTK, XPM library paths should be configured in MAKE_VMS.MMS
-
-Note: Under VAX it should work with the DEC C compiler without problems. The
-VAX C compiler is not fully ANSI C compatible in pre-processor directives
-semantics, therefore you have to use a converter program that will do the lion
-part of the job. For detailed instructions read file INSTALLvms.txt
-
-MMS_VIM.EXE is build together with VIM.EXE, but for XXD.EXE you should
-change to a subdirectory and build it separately.
-
-CTAGS is not part of the Vim source distribution anymore, however the OpenVMS
-specific source might contain CTAGS source files as described above.
-You can find more information about CTAGS on VMS at
-http://www.polarhome.com/ctags/
-
-Advanced users may try some acrobatics in FEATURE.H file as well.
-
-It is possible to compile with +xfontset +xim options too, but then you have
-to set up GUI fonts etc. correctly. See :help xim from Vim command prompt.
-
-You may want to use GUI with GTK icons, then you have to download and install
-GTK for OpenVMS or at least runtime shareable images - LIBGTK from
-polarhome.com
-
-For more advanced questions, please send your problem to Vim on VMS mailing
-list <vim-vms@polarhome.com>
-More about the vim-vms list can be found at:
-http://www.polarhome.com/mailman/listinfo/vim-vms
-
-==============================================================================
-
-5. Deploy *vms-deploy*
-
-Vim uses a special directory structure to hold the document and runtime files:
-
- vim (or wherever)
- |- tmp
- |- vim57
- |----- doc
- |----- syntax
- |- vim62
- |----- doc
- |----- syntax
- |- vim64
- |----- doc
- |----- syntax
- vimrc (system rc files)
- gvimrc
-
-Use: >
-
- define/nolog VIM device:[path.vim]
- define/nolog VIMRUNTIME device:[path.vim.vim60]
- define/nolog TMP device:[path.tmp]
-
-To get vim.exe to find its document, filetype, and syntax files, and to
-specify a directory where temporary files will be located. Copy the "runtime"
-subdirectory of the Vim distribution to vimruntime.
-
-Logicals $VIMRUNTIME and $TMP are optional.
-
-If $VIMRUNTIME is not set, Vim will guess and try to set up automatically.
-Read more about it at :help runtime
-
-If $TMP is not set, you will not be able to use some functions as CTAGS,
-XXD, printing etc. that use temporary directory for normal operation.
-The $TMP directory should be readable and writable by the user(s).
-The easiest way to set up $TMP is to define a logical: >
-
- define/nolog TMP SYS$SCRATCH
-or as: >
- define/nolog TMP SYS$LOGIN
-
-==============================================================================
-
-6. Practical usage *vms-usage*
-
-Usually, you want to run just one version of Vim on your system, therefore
-it is enough to dedicate one directory for Vim.
-Copy the whole Vim runtime directory structure to the deployment position.
-Add the following lines to your LOGIN.COM (in SYS$LOGIN directory).
-Set up the logical $VIM as: >
-
- $ define VIM device:<path>
-
-Set up some symbols: >
-
- $ ! vi starts Vim in chr. mode.
- $ vi*m :== mcr VIM:VIM.EXE
-
- $ !gvi starts Vim in GUI mode.
- $ gv*im :== spawn/nowait mcr VIM:VIM.EXE -g
-
-Please, check the notes for customization and configuration of symbols.
-
-You may want to create .vimrc and .gvimrc files in your home directory
-(SYS$LOGIN) to overwrite default settings.
-
-The easiest way is just rename example files. You may leave the menu file
-(MENU.VIM) and files vimrc and gvimrc in the original $VIM directory. It will
-be the default setup for all users, and for users it is enough to just have
-their own additions or resetting in their home directory in files .vimrc and
-.gvimrc. It should work without problems.
-
-Note: Remember, system rc files (default for all users) don't have a leading
-".". So, system rc files are: >
-
- $VIM:vimrc
- $VIM:gvimrc
- $VIM:menu.vim
-
-and user customized rc files are: >
-
- sys$login:.vimrc
- sys$login:.gvimrc
-
-You can check that everything is at the right place with the :version command.
-
-Example LOGIN.COM: >
-
- $ define/nolog VIM RF10:[UTIL.VIM]
- $ vi*m :== mcr VIM:VIM.EXE
- $ gv*im:== spawn/nowait/input=NLA0 mcr VIM:VIM.EXE -g -GEOMETRY 80x40
- $ set disp/create/node=192.168.5.223/trans=tcpip
-
-Note: This set-up should be enough, if you are working on a standalone server or
-clustered environment, but if you want to use Vim as an internode editor in
-DECNET environment, it will satisfy as well.
-You just have to define the "whole" path: >
-
- $ define VIM "<server_name>[""user password""]::device:<path>"
- $ vi*m :== "mcr VIM:VIM.EXE"
-
-For example: >
-
- $ define VIM "PLUTO::RF10:[UTIL.VIM]"
- $ define VIM "PLUTO""ZAY mypass""::RF10:[UTIL.VIM]" ! if passwd required
-
-You can also use the $VIMRUNTIME logical to point to the proper version of Vim
-if you have installed more versions at the same time. If $VIMRUNTIME is not
-defined Vim will borrow its value from the $VIM logical. You can find more
-information about the $VIMRUNTIME logical by typing :help runtime as a Vim
-command.
-
-System administrators might want to set up a system wide Vim installation,
-then add to the SYS$STARTUP:SYLOGICALS.COM >
-
- $ define/nolog/sys VIM device:<path>
- $ define/nolog/sys TMP SYS$SCRATCH
-
-And to the SYS$STARTUP:SYLOGIN.COM >
-
- $ vi*m :== mcr VIM:VIM.EXE
- $ gv*im:== spawn/nowait/input=NLA0 mcr VIM:VIM.EXE -g -GEOMETRY 80x40
-
-
-It will set up a normal Vim work environment for every user on the system.
-
-IMPORTANT: Vim on OpenVMS (and on other case insensitive system) command line
-parameters are assumed to be lowercase. In order to indicate that a command
-line parameter is uppercase "/" sign must be used.
-
-Examples:
- >
- vim -R filename ! means: -r List swap files and exit
- vim -/r filename ! means: -R Readonly mode (like "view")
- vim -u <vimrc> ! means: -u Use <vimrc> instead of any .vimrc
- vim -/u <gvimrc> ! means: -U Use <gvimrc> instead of any .gvimrc
-
-==============================================================================
-
-7. GUI mode questions *vms-gui*
-
-OpenVMS is a real mainframe OS, therefore even if it has a GUI console, most
-of the users do not use a native X/Window environment during normal operation.
-It is not possible to start Vim in GUI mode "just like that". But anyhow it
-is not too complicated either.
-
-First of all: you will need an executable that is built with the GUI enabled.
-
-Second: you need to have installed DECW/Motif on your VMS server, otherwise
-you will get errors that some shareable libraries are missing.
-
-Third: If you choose to run Vim with extra features such as GUI/GTK then you
-need a GTK installation too or at least a GTK runtime environment (LIBGTK
-can be downloaded from http://www.polarhome.com/vim/).
-
-1) If you are working on the VMS X/Motif console:
- Start Vim with the command: >
-
- $ mc device:<path>VIM.EXE -g
-<
- or type :gui as a command to the Vim command prompt. For more info :help
- gui
-
-2) If you are working on some other X/Window environment like Unix or a remote
- X VMS console. Set up display to your host with: >
-
- $ set disp/create/node=<your IP address>/trans=<transport-name>
-<
- and start Vim as in point 1. You can find more help in VMS documentation or
- type: help set disp in VMS prompt.
- Examples: >
-
- $ set disp/create/node=192.168.5.159 ! default trans is DECnet
- $ set disp/create/node=192.168.5.159/trans=tcpip ! TCP/IP network
- $ set disp/create/node=192.168.5.159/trans=local ! display on the same node
-
-Note: you should define just one of these.
-For more information type $help set disp in VMS prompt.
-
-3) Another elegant solution is XDM if you have installed on OpenVMS box.
- It is possible to work from XDM client as from GUI console.
-
-4) If you are working on MS-Windows or some other non X/Window environment
- you need to set up one X server and run Vim as in point 2.
- For MS-Windows there are available free X servers as MIX, Omni X etc.,
- as well as excellent commercial products as eXcursion or ReflectionX with
- built-in DEC support.
-
-Please note, that executables without GUI are slightly faster during startup
-than with enabled GUI in character mode. Therefore, if you do not use GUI
-features, it is worth to choose non GUI executables.
-
-==============================================================================
-
-8. Useful notes *vms-notes*
-
-8.1 Backspace/delete
-8.2 Filters
-8.3 VMS file version numbers
-8.4 Directory conversion
-8.5 Remote host invocation
-8.6 Terminal problems
-8.7 Hex-editing and other external tools
-8.8 Sourcing vimrc and gvimrc
-8.9 Printing from Vim
-8.10 Setting up the symbols
-8.11 diff and other GNU programs
-8.12 diff-mode
-8.13 Allow '$' in C keywords
-8.14 VIMTUTOR for beginners
-8.15 Slow start in console mode issue
-8.16 Common VIM directory - different architectures
-
-8.1 Backspace/delete
-
-There are backspace/delete key inconsistencies with VMS.
-:fixdel doesn't do the trick, but the solution is: >
-
- :inoremap ^? ^H " for terminal mode
- :inoremap <Del> ^H " for gui mode
-
-Read more in ch: 8.6 (Terminal problems).
-(Bruce Hunsaker <BNHunsaker@chq.byu.edu> Vim 5.3)
-
-
-8.2 Filters
-
-Vim supports filters, i.e., if you have a sort program that can handle
-input/output redirection like Unix (<infile >outfile), you could use >
-
- :map \s 0!'aqsort<CR>
-
-(Charles E. Campbell, Jr. <cec@gryphon.gsfc.nasa.gov> Vim 5.4)
-
-
-8.3 VMS file version numbers
-
-Vim is saving files into a new file with the next higher file version
-number, try these settings. >
-
- :set nobackup " does not create *.*_ backup files
- :set nowritebackup " does not have any purpose on VMS. It's the
- " default.
-
-Recovery is working perfectly as well from the default swap file.
-Read more with :help swapfile
-
-(Claude Marinier <ClaudeMarinier@xwavesolutions.com> Vim 5.5, Zoltan Arpadffy
-Vim 5.6)
-
-
-8.4 Directory conversion
-
-Vim will internally convert any unix-style paths and even mixed unix/VMS
-paths into VMS style paths. Some typical conversions resemble:
-
- /abc/def/ghi -> abc:[def]ghi.
- /abc/def/ghi.j -> abc:[def]ghi.j
- /abc/def/ghi.j;2 -> abc:[def]ghi.j;2
- /abc/def/ghi/jkl/mno -> abc:[def.ghi.jkl]mno.
- abc:[def.ghi]jkl/mno -> abc:[def.ghi.jkl]mno.
- ./ -> current directory
- ../ -> relative parent directory
- [.def.ghi] -> relative child directory
- ./def/ghi -> relative child directory
-
-Note: You may use <,> brackets as well (device:<path>file.ext;version) as
-rf10:<user.zay.work>test.c;1
-
-(David Elins <delins@foliage.com>, Jerome Lauret
-<JLAURET@mail.chem.sunysb.edu> Vim 5.6)
-
-
-8.5 Remote host invocation
-
-It is possible to use Vim as an internode editor.
-1. Edit some file from remote node: >
-
- vi "<server>""username passwd""::<device>:<path><filename>;<version>"
-
-Example: >
- vi "pluto""zay passwd""::RF10:<USER.ZAY.WORK>TEST.C;1"
-
-Note: syntax is very important, otherwise VMS will recognize more parameters
-instead of one (resulting with: file not found)
-
-2. Set up Vim as your internode editor. If Vim is not installed on your
-host, just set up your IP address, the full Vim path including the server name
-and run the command procedure below: >
-
- $ if (p1 .eqs. "") .OR. (p2 .eqs. "") then goto usage
- $ set disp/create/node=<your_IP_here>/trans=tcpip
- $ define "VIM "<vim_server>""''p1' ''p2'""::<device>:<vim_path>"
- $ vi*m :== "mcr VIM:VIM.EXE"
- $ gv*im :== "spawn/nowait mcr VIM:VIM.EXE -g"
- $ goto end
- $ usage:
- $ write sys$output " Please enter username and password as a parameter."
- $ write sys$output " Example: @SETVIM.COM username passwd"
- $ end:
-
-Note: Never use it in a clustered environment (you do not need it), loading
-could be very-very slow, but even faster than a local Emacs. :-)
-
-(Zoltan Arpadffy, Vim 5.6)
-
-
-8.6 Terminal problems
-
-If your terminal name is not known to Vim and it is trying to find the default
-one you will get the following message during start-up:
----
-Terminal entry not found in termcap
-'unknown-terminal' not known. Available built-in terminals are:
- builtin_gui
- builtin_riscos
- builtin_amiga
- builtin_beos-ansi
- builtin_ansi
- builtin_vt320
- builtin_vt52
- builtin_pcansi
- builtin_win32
- builtin_xterm
- builtin_debug
- builtin_dumb
-defaulting to 'vt320'
----
-The solution is to define the default terminal name: >
-
- $ ! unknown terminal name. Let us use vt320 or ansi instead.
- $ ! Note: it's case sensitive
- $ define term "vt320"
-
-Terminals from VT100 to VT320 (as V300, VT220, VT200) do not need any extra
-keyboard mappings. They should work perfectly as they are, including arrows,
-Ins, Del buttons etc., except Backspace in GUI mode. To solve it, add to
-.gvimrc: >
-
- inoremap <Del> <BS>
-
-Vim will also recognize that they are fast terminals.
-
-If you have some annoying line jumping on the screen between windows add to
-your .vimrc file: >
-
- set ttyfast " set fast terminal
-
-Note: if you're using Vim on remote host or through a very slow connection, it's
-recommended to avoid the fast terminal option with: >
-
- set nottyfast " set terminal to slow mode
-
-(Zoltan Arpadffy, Vim 5.6)
-
-
-8.7 Hex-editing and other external tools
-
-A very important difference between OpenVMS and other systems is that VMS uses
-special commands to execute executables: >
-
- RUN <path>filename
- MCR <path>filename <parameters>
-
-OpenVMS users always have to be aware that the Vim command :! "just" drop them
-to DCL prompt. This feature is possible to use without any problem with all
-DCL commands, but if we want to execute some programs such as XXD, CTAGS, JTAGS,
-etc. we're running into trouble if we follow the Vim documentation (see: help
-xxd).
-
-Solution: Execute with the MC command and add the full path to the executable.
-Example: Instead of :%!xxd command use: >
-
- :%!mc vim:xxd
-
-... or in general: >
- :!mc <path>filename <parameters>
-
-Note: You can use XXD and CTAGS from GUI menu.
-
-To customize ctags it is possible to define the logical $CTAGS with standard
-parameters as: >
-
- define/nolog CTAGS "--totals -o sys$login:tags"
-
-For additional information, please read :help tagsearch and CTAGS
-documentation at http://ctags.sourceforge.net/ctags.html.
-
-(Zoltan Arpadffy, Vim 5.6-70)
-
-
-8.8 Sourcing vimrc and gvimrc
-
-If you want to use your .vimrc and .gvimrc from other platforms (e.g. Windows)
-you can get in trouble if you ftp that file(s): VMS has different end-of-line
-indication.
-The symptom is that Vim is not sourcing your .vimrc/.gvimrc, even if you say:
->
- :so sys$login:.vimrc
-
-One trick is to compress (e.g. zip) the files on the other platform and
-uncompress it on VMS; if you have the same symptom, try to create the files
-with copy-paste (for this you need both op. systems reachable from one
-machine, e.g. an Xterm on Windows or telnet to Windows from VMS).
-
-(Sandor Kopanyi, <sandor.kopanyi@mailbox.hu> Vim 6.0a)
-
-
-8.9 Printing from Vim
-
-To be able to print from Vim (running in GUI mode) under VMS you have to set
-up $TMP logical which should point to some temporary directory and logical
-SYS$PRINT to your default print queue.
-Example: >
-
- $define SYS$PRINT HP5ANSI
-
-You can print out the whole buffer or just the marked area.
-More info under :help hardcopy
-
-(Zoltan Arpadffy, Vim 6.0c)
-
-
-8.10 Setting up the symbols
-
-When I use GVIM this way and press CTRL-Y in the parent terminal, gvim exits.
-I now use a different symbol that seems to work OK and fixes the problem.
-I suggest this instead: >
-
- $ GV*IM:==SPAWN/NOWAIT/INPUT=NLA0: MCR VIM:VIM.EXE -G -GEOMETRY 80X40
-
-The /INPUT=NLA0: separates the standard input of the gvim process from the
-parent terminal, to block signals from the parent window.
-Without the -GEOMETRY, the GVIM window size will be minimal and the menu
-will be confused after a window-resize.
-
-(Carlo Mekenkamp, Coen Engelbarts, Vim 6.0ac)
-
-
-8.11 diff and other GNU programs
-
-From 6.0 diff functionality has been implemented, but OpenVMS does not use
-GNU/Unix like diff therefore built in diff does not work.
-There is a simple solution to solve this anomaly. Install a Unix like diff
-and Vim will work perfectly in diff mode too. You just have to redefine your
-diff program as: >
-
- define /nolog diff <GNU_PATH>diff.exe
-
-Another, more sophisticated solution is described below (8.12 diff-mode)
-There are other programs such as patch, make etc that may cause the same
-problems. At www.polarhome.com is possible to download an GNU package for
-Alpha and VAX boxes that is meant to solve GNU problems on OpenVMS.
-(Zoltan Arpadffy, Vim 6.1)
-
-
-8.12 diff-mode
-
-Vim 6.0 and higher supports Vim diff-mode (See |new-diff-mode|, |diff-mode|
-and |08.7|). This uses the external program 'diff' and expects a Unix-like
-output format from diff. The standard VMS diff has a different output
-format. To use Vim on VMS in diff-mode, you need to:
- 1 Install a Unix-like diff program, e.g. GNU diff
- 2 Tell Vim to use the Unix-like diff for diff-mode.
-
-You can download GNU diff from the VIM-VMS website, it is one of the GNU
-tools in http://www.polarhome.com/vim/files/gnu_tools.zip. I suggest to
-unpack it in a separate directory "GNU" and create a logical GNU: that
-points to that directory, e.g: >
-
- DEFINE GNU <DISK>:[<DIRECTORY>.BIN.GNU]
-
-You may also want to define a symbol GDIFF, to use the GNU diff from the DCL
-prompt: >
-
- GDIFF :== $GNU:DIFF.EXE
-
-Now you need to tell Vim to use the new diff program. Take the example
-settings from |diff-diffexpr| and change the call to the external diff
-program to the new diff on VMS. Add this to your .vimrc file: >
-
- " Set up vimdiff options
- if v:version >= 600
- " Use GNU diff on VMS
- set diffexpr=MyDiff()
- function MyDiff()
- let opt = ""
- if &diffopt =~ "icase"
- let opt = opt . "-i "
- endif
- if &diffopt =~ "iwhite"
- let opt = opt . "-b "
- endif
- silent execute "!mc GNU:diff.exe -a " . opt . v:fname_in . " " . v:fname_new .
- \ " > " . v:fname_out
- endfunction
- endif
-
-You can now use Vim in diff-mode, e.g. to compare two files in read-only
-mode: >
-
- $ VIM -D/R <FILE1> <FILE2>
-
-You can also define new symbols for vimdiff, e.g.: >
-
- $ VIMDIFF :== 'VIM' -D/R
- $ GVIMDIFF :== 'GVIM' -D/R
-
-You can now compare files in 4 ways: >
-
- 1. VMS diff: $ DIFF <FILE1> <FILE2>
- 2. GNU diff: $ GDIFF <FILE1> <FILE2>
- 3. VIM diff: $ VIMDIFF <FILE1> <FILE2>
- 4. GVIM diff: $ GVIMDIFF <FILE1> <FILE2>
-
-(Coen Engelbarts, Vim 6.1)
-
-
-8.13 Allow '$' in C keywords
-
-DEC C uses many identifiers with '$' in them. This is not allowed in ANSI C,
-and Vim recognises the '$' as the end of the identifier. You can change this
-with the 'iskeyword' option.
-Add this command to your .vimrc file: >
-
- autocmd FileType c,cpp,cs set iskeyword+=$
-
-You can also create the file(s) $VIM/FTPLUGIN/C.VIM (and/or CPP.VIM and
-CS.VIM) and add this command: >
-
- set iskeyword+=$
-
-Now word-based commands, e.g. the '*'-search-command and the CTRL-]
-tag-lookup, work on the whole identifier. (Ctags on VMS also supports '$' in
-C keywords since ctags version 5.1.)
-
-(Coen Engelbarts, Vim 6.1)
-
-8.14 VIMTUTOR for beginners
-
-The VIMTUTOR.COM DCL script can help Vim beginners to learn/make their first
-steps with Vim on OpenVMS. Depending of binary distribution you may start it
-with: >
-
- @vim:vimtutor
-
-(Thomas.R.Wyant III, Vim 6.1)
-
-8.16 Slow start in console mode issue
-
-As GUI/GTK Vim works equally well in console mode, many administrators
-deploy those executables system wide.
-Unfortunately, on a remote slow connections GUI/GTK executables behave rather
-slow when user wants to run Vim just in the console mode - because of X
-environment detection timeout.
-
-Luckily, there is a simple solution for that. Administrators need to deploy
-both GUI/GTK build and just console build executables, like below: >
-
- |- vim73
- |----- doc
- |----- syntax
- vimrc (system rc files)
- gvimrc
- gvim.exe (the renamed GUI or GTK built vim.exe)
- vim.exe (the console only executable)
-
-Define system symbols like below in for ex in LOGIN.COM or SYLOGIN.COM: >
-
- $ define/nolog VIM RF10:[UTIL.VIM73] ! where you VIM directory is
- $ vi*m :== mcr VIM:VIM.EXE
- $ gvi*m :== mcr VIM:GVIM.EXE
- $ ! or you can try to spawn with
- $ gv*im :== spawn/nowait/input=NLA0 mcr VIM:GVIM.EXE -g -GEOMETRY 80x40
-
-
-Like this, users that do not have X environment and want to use Vim just in
-console mode can avoid performance problems.
-
-(Zoltan Arpadffy, Vim 7.2)
-
-8.15 Common VIM directory - different architectures
-
-In a cluster that contains nodes with different architectures like below:
-
-$show cluster
-View of Cluster from system ID 11655 node: TOR 18-AUG-2008 11:58:31
-+---------------------------------+
- SYSTEMS MEMBERS
-+-----------------------+---------
- NODE SOFTWARE STATUS
-+--------+--------------+---------
- TOR VMS V7.3-2 MEMBER
- TITAN2 VMS V8.3 MEMBER
- ODIN VMS V7.3-2 MEMBER
-+---------------------------------+
-
-It is convenient to have a common VIM directory but execute different
-executables.
-There are several solutions for this problem:
-
-Solution 1. All executables in the same directory with different names
-This is easily done with the following script that can be added
-to the login.com or sylogin.com: >
-
- $ if f$getsyi("NODE_HWTYPE") .eqs. "VAX"
- $ then
- $ say "VAX platform"
- $ vi*m:== mcr vim:VIM.EXE_VAX
- $ endif
- $ if f$getsyi("NODE_HWTYPE") .eqs. "ALPH"
- $ then
- $ say "ALPHA platform"
- $ vi*m :== mcr vim:VIM.EXE_AXP
- $ endif
- $ if f$getsyi("ARCH_NAME") .eqs. "IA64"
- $ then
- $ say "IA64 platform"
- $ vi*m :== mcr vim:VIM.EXE_IA64
- $ endif
-
-Solution 2. Different directories: >
-
- $ if f$getsyi("NODE_HWTYPE") .eqs. "VAX"
- $ then
- $ say "VAX platform"
- $ define/nolog VIM RF10:[UTIL.VAX_EXE] ! VAX executables
- $ endif
- $ if f$getsyi("NODE_HWTYPE") .eqs. "ALPH"
- $ then
- $ say "ALPHA platform"
- $ define/nolog VIM RF10:[UTIL.AXP_EXE] ! AXP executables
- $ endif
- $ if f$getsyi("ARCH_NAME") .eqs. "IA64"
- $ then
- $ say "IA64 platform"
- $ define/nolog VIM RF10:[UTIL.IA64_EXE] ! IA64 executables
- $ endif
- $! VIMRUNTIME must be defined in order to find runtime files
- $ define/nolog VIMRUNTIME RF10:[UTIL.VIM73]
-
-A good example for this approach is the [GNU]gnu_tools.com script from
-GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
-
-(Zoltan Arpadffy, Vim 7.2)
-
-==============================================================================
-
-9. VMS related changes *vms-changes*
-
-Version 7.4
-- Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name"
- add _un_ at the beginning to keep the extension
-- correct swap file name wildcard handling
-- handle iconv usage correctly
-- do not optimize on vax - otherwise it hangs compiling crypto files
-- fileio.c fix the comment
-- correct RealWaitForChar
-- after 7.4-119 use different functions lib$cvtf_to_internal_time because Alpha and VAX have
- G_FLOAT but IA64 uses IEEE float otherwise Vim crashes
-- guard agains crashes that are caused by mixed filenames
-- [TESTDIR]make_vms.mms changed to see the output files
-- Improve tests, update known issues
-- minor compiler warnings fixed
-- CTAGS 5.8 +regex included
-
-Version 7.3
-- CTAGS 5.8 included
-- VMS compile warnings fixed - floating-point overflow warning corrected on VAX
-- filepath completion corrected - too many chars were escaped in filename
- and shell commands
-- the following plugins are included into VMS runtime:
- genutils 2.4, multiselect 2.2, multvals 3.1, selectbuf 4.3,
- bufexplorer 7.1.7, taglist 4.5
-- minor changes in vimrc (just in VMS runtime)
-- make_vms.mms - HUGE model is the default
-- [TESTDIR]make_vms.mms include as many tests possible
-- modify test30 and test54 for VMS
-- enable FLOAT feature in VMS port
-- os_vms.txt updated
-
-Version 7.2 (2008 Aug 9)
-- VCF files write corrected
-- CTAGS 5.7 included
-- corrected make_vms.mms (on VAX gave syntax error)
-
-Version 7.1 (2007 Jun 15)
-- create TAGS file from menu
-
-Version 7 (2006 May 8)
-- Improved low level char input (affects just console mode)
-- Fixed plugin bug
-- CTAGS 5.6 included
-
-Version 6.4 (2005 Oct 15)
-- GTKLIB and Vim build on IA64
-- colors in terminal mode
-- syntax highlighting in terminal mode
-- write problem fixed (extra CR)
-- ESC and ESC sequence recognition in terminal mode
-- make file changed to support new MMS version
-- env variable expansion in path corrected
-- printing problems corrected
-- help text added for case insensitive arguments
-
-Version 6.3 (2004 May 10)
-- Improved vms_read function
-- CTAGS v5.5.4 included
-- Documentation corrected and updated
-
-Version 6.2 (2003 May 7)
-- Corrected VMS system call results
-- Low level character input is rewritten
-- Correction in tag and quickfix handling
-- First GTK build
-- Make file changes
- - GTK feature added
- - Define for OLD_VMS
- - OpenVMS version 6.2 or older
-- Documentation updated with GTK features
-- CTAGS v5.5 included
-- VMS VIM tutor created
-
-Version 6.1 (2002 Mar 25)
-- TCL init_tcl() problem fixed
-- CTAGS v5.4 included
-- GNU tools binaries for OpenVMS
-- Make file changes
- - PERL, PYTHON and TCL support improved
- - InstallVMS.txt has a detailed description HOWTO build
-- VMS/Unix file handling rewritten
-- Minor casting and bug fixes
-
-Version 6.0 (2001 Sep 28)
-- Unix and VMS code has been merged
- - separated "really" VMS related code
- - included all possible Unix functionality
- - simplified or deleted the configuration files
- - makefile MAKE_VMS.MMS reviewed
-- menu changes (fixed printing, CTAGS and XXD usage)
-- fixed variable RMS record format handling anomaly
-- corrected syntax, ftplugin etc files load
-- changed expand_wildcards and expandpath functions to work more general
-- created OS_VMS_FILTER.COM - DECC->VAXC pre-processor directive convert
- script.
-- Improved code's VAXC and new DECC compilers compatibility
-- changed quickfix parameters:
- - errormessage format to suite DECC
- - search, make and other commands to suite VMS system
-- updated and renamed MMS make files for Vim and CTAGS.
-- CTAGS has been removed from source distribution of Vim but it will remain
- in OpenVMS binary distributions.
-- simplified build/configuration procedure
-- created INSTALLvms.txt - detailed compiling instructions under VMS.
-- updated test scripts.
-
-Version 5.8 (2001 Jun 1)
-- OS_VMS.TXT updated with new features.
-- other minor fixes.
-- documentation updated
-- this version had been tested much more than any other OpenVMS version
- earlier
-
-Version 5.7 (2000 Jun 24)
-- New CTAGS v5.0 in distribution
-- Documentation updated
-
-Version 5.6 (2000 Jan 17)
-- VMS filename related changes:
- - version handling (open everything, save to new version)
- - correct file extension matching for syntax (version problem)
- - handle <,> characters and passwords in directory definition
- - handle internode/remote invocation and editing with passwords
- - OpenVMS files will be treated case insensitive from now
- - corrected response of expand("%:.") etc path related functions
- (in one word: VMS directory handling internally)
-- version command
- - corrected (+,-) information data
- - added compiler and OS version
- - added user and host information
- - resolving $VIM and $VIMRUNTIME logicals
-- VMS port is in MAX_FEAT (maximum features) club with Unix, Win32 and OS/2.
- - enabled farsi, rightleft etc. features
- - undo level raised up to 1000
-- Updated OS_VMS.MMS file.
- - maximum features ON is default
- - Vim is compilable with +perl, +python and +tcl features.
- - improved MMK compatibility
-- Created MAKEFILE_VMS.MMS, makefile for testing Vim during development.
-- Defined DEC terminal VT320
- - compatibility for VT3*0, VT2*0 and VT1*0 - ANSI terminals
- backwards, but not VT340 and newer with colour capability.
- - VT320 is default terminal for OpenVMS
- - these new terminals are also fast ttys (default for OpenVMS).
- - allowed dec_mouse ttym
-- Updated files vimrc and gvimrc with VMS specific suggestions.
-- OS_VMS.TXT updated with new features.
-
-Version 5.5 (1999 Dec 3)
-- Popup menu line crash corrected.
-- Handle full file names with version numbers.
-- Directory handling (CD command etc.)
-- Corrected file name conversion VMS to Unix and v.v.
-- Correct response of expand wildcards
-- Recovery is working from this version under VMS as well.
-- Improved terminal and signal handing.
-- Improved OS_VMS.TXT
-
-Version 5.4 (1999 Sep 9)
-- Cut and paste mismatch corrected.
-- Motif directories during open and save are corrected.
-
-Version 5.3 (1998 Oct 12)
-- Minor changes in the code
-- Standard distribution with +GUI option
-
-Version 5.1 (1998 Apr 21)
-- Syntax and DEC C changes in the code
-- Fixing problems with the /doc subdirectory
-- Improve OS_VMS.MMS
-
-Version 4.5 (1996 Dec 16)
-- First VMS port by Henk Elbers <henk@xs4all.nl>
-
-==============================================================================
-
-10. Authors *vms-authors*
-
-OpenVMS documentation and executables are maintained by:
-Zoltan Arpadffy <arpadffy@polarhome.com>
-OpenVMS Vim page: http://www.polarhome.com/vim/
-
-This document uses parts and remarks from earlier authors and contributors
-of OS_VMS.TXT:
- Charles E. Campbell, Jr. <cec@gryphon.gsfc.nasa.gov>
- Bruce Hunsaker <BNHunsaker@chq.byu.edu>
- Sandor Kopanyi <sandor.kopanyi@mailbox.hu>
-
- vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/os_win32.txt b/runtime/doc/os_win32.txt
index 22e763a08e..2c25850116 100644
--- a/runtime/doc/os_win32.txt
+++ b/runtime/doc/os_win32.txt
@@ -12,9 +12,6 @@ Windows 7. There are both console and GUI versions.
The 32 bit version also runs on 64 bit MS-Windows systems.
-There is GUI version for use in the Win32s subsystem in Windows 3.1[1]. You
-can also use the 32-bit DOS version of Vim instead. See |os_msdos.txt|.
-
1. Known problems |win32-problems|
2. Startup |win32-startup|
3. Restore screen contents |win32-restore|
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index 98179eecd0..30455eb234 100644
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -856,7 +856,6 @@ Short explanation of each option: *option-list*
'shellredir' 'srr' string to put output of filter in a temp file
'shellslash' 'ssl' use forward slash for shell file names
'shelltemp' 'stmp' whether to use a temp file for shell commands
-'shelltype' 'st' Amiga: influences how to use a shell
'shellxescape' 'sxe' characters to escape when 'shellxquote' is (
'shellxquote' 'sxq' like 'shellquote', but include redirection
'shiftround' 'sr' round indent to multiple of shiftwidth
@@ -968,7 +967,6 @@ Short explanation of each option: *option-list*
------------------------------------------------------------------------------
*Q_et* External commands
-|:shell| :sh[ell] start a shell
|:!| :!{command} execute {command} with a shell
|K| K lookup keyword under the cursor with
'keywordprg' program (default: "man")
diff --git a/runtime/doc/remote.txt b/runtime/doc/remote.txt
index 327258fa87..87367e9ceb 100644
--- a/runtime/doc/remote.txt
+++ b/runtime/doc/remote.txt
@@ -194,8 +194,7 @@ version compiled with OLE. Windows messages are used, this works on any
version of MS-Windows. But only communication within one system is possible.
Since MS-Windows messages are used, any other application should be able to
-communicate with a Vim server. An alternative is using the OLE functionality
-|ole-interface|.
+communicate with a Vim server.
When using gvim, the --remote-wait only works properly this way: >
diff --git a/runtime/doc/sign.txt b/runtime/doc/sign.txt
index 6c92073076..d52b8e964f 100644
--- a/runtime/doc/sign.txt
+++ b/runtime/doc/sign.txt
@@ -28,10 +28,8 @@ Microsystem's dtterm does support this it's the only terminal emulator I know
of which does). A text sign and the highlight should be feasible in any color
terminal emulator.
-Signs and highlights are not useful just for debuggers. Sun's Visual
-WorkShop uses signs and highlights to mark build errors and SourceBrowser
-hits. Additionally, the debugger supports 8 to 10 different signs and
-highlight colors. |workshop| Same for Netbeans |netbeans|.
+Signs and highlights are not useful just for debuggers. There are plugins
+that use signs to mark build errors or display version control status.
There are two steps in using signs:
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index a650670cf1..dfe46b1047 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -372,8 +372,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
Can also be done with ":set updatecount=0". You can switch it
on again by setting the 'updatecount' option to some value,
e.g., ":set uc=100".
- NOTE: Don't combine -n with -b, making -nb, because that has a
- different meaning: |-nb|.
'updatecount' is set to 0 AFTER executing commands from a
vimrc file, but before the GUI initializations. Thus it
overrides a setting for 'updatecount' in a vimrc file, but not
@@ -604,16 +602,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
Note that the implementation is still primitive. It won't
work with all applications and the menu doesn't work.
--nb *-nb*
--nb={fname}
--nb:{hostname}:{addr}:{password}
- Attempt connecting to Netbeans and become an editor server for
- it. The second form specifies a file to read connection info
- from. The third form specifies the hostname, address and
- password for connecting to Netbeans. |netbeans-run|
- {only available when compiled with the |+netbeans_intg|
- feature; if not then -nb will make Vim exit}
-
If the executable is called "view", Vim will start in Readonly mode. This is
useful if you can make a hard or symbolic link from "view" to "vim".
Starting in Readonly mode can also be done with "vim -R".
diff --git a/runtime/doc/uganda.txt b/runtime/doc/uganda.txt
index 113df4f64f..ee1c36d676 100644
--- a/runtime/doc/uganda.txt
+++ b/runtime/doc/uganda.txt
@@ -123,10 +123,6 @@ Note:
- Once a change is included that goes under the GNU GPL, this forces all
further changes to also be made under the GNU GPL or a compatible license.
-- If you distribute a modified version of Vim, you can include your name and
- contact information with the "--with-modified-by" configure argument or the
- MODIFIED_BY define.
-
==============================================================================
Kibaale Children's Centre *kcc* *Kibaale* *charity*
diff --git a/runtime/doc/usr_10.txt b/runtime/doc/usr_10.txt
index 4398c4d64f..c1f62f4494 100644
--- a/runtime/doc/usr_10.txt
+++ b/runtime/doc/usr_10.txt
@@ -747,7 +747,6 @@ check the values of these options:
'shellcmdflag' argument to pass a command to the shell
'shellquote' quote to be used around the command
'shellxquote' quote to be used around the command and redirection
- 'shelltype' kind of shell (only for the Amiga)
'shellslash' use forward slashes in the command (only for
MS-Windows and alikes)
'shellredir' string used to write the command output into a file
diff --git a/runtime/doc/usr_29.txt b/runtime/doc/usr_29.txt
index f13cd3a409..be56d290dc 100644
--- a/runtime/doc/usr_29.txt
+++ b/runtime/doc/usr_29.txt
@@ -264,9 +264,6 @@ doesn't work if the tags file isn't sorted.
The 'taglength' option can be used to tell Vim the number of significant
characters in a tag.
-When you use the SNiFF+ program, you can use the Vim interface to it |sniff|.
-SNiFF+ is a commercial program.
-
Cscope is a free program. It does not only find places where an identifier is
declared, but also where it is used. See |cscope|.
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index a7050fa2e8..c3c4ed7cfe 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -221,19 +221,11 @@ g8 Print the hex values of the bytes used in the
{not available when |+ex_extra| feature was disabled
at compile time}
- *:sh* *:shell* *E371*
-:sh[ell] This command starts a shell. When the shell exits
- (after the "exit" command) you return to Vim. The
- name for the shell command comes from 'shell' option.
- *E360*
- Note: This doesn't work when Vim on the Amiga was
- started in QuickFix mode from a compiler, because the
- compiler will have set stdin to a non-interactive
- mode.
+ *:sh* *:shell* *E371* *E360*
+:sh[ell] Removed. {Nvim}
*:!cmd* *:!* *E34*
-:!{cmd} Execute {cmd} with the shell. See also the 'shell'
- and 'shelltype' option.
+:!{cmd} Execute {cmd} with the shell. See also 'shell'.
Any '!' in {cmd} is replaced with the previous
external command (see also 'cpoptions'). But not when
@@ -356,8 +348,6 @@ N *+gettext* message translations |multi-lang|
*+GUI_neXtaw* Unix only: neXtaw |GUI|
*+GUI_GTK* Unix only: GTK+ |GUI|
*+GUI_Motif* Unix only: Motif |GUI|
- *+GUI_Photon* QNX only: Photon |GUI|
-m *+hangul_input* Hangul input support hangul
*+iconv* Compiled with the |iconv()| function
*+iconv/dyn* Likewise |iconv-dynamic| |/dyn|
N *+insert_expand* |insert_expand| Insert mode completion
@@ -380,7 +370,6 @@ N *+mouseshape* |'mouseshape'|
B *+mouse_dec* Unix only: Dec terminal mouse handling |dec-mouse|
N *+mouse_gpm* Unix only: Linux console mouse handling |gpm-mouse|
B *+mouse_netterm* Unix only: netterm mouse handling |netterm-mouse|
-N *+mouse_pterm* QNX only: pterm mouse handling |qnx-terminal|
N *+mouse_sysmouse* Unix only: *BSD console mouse handling |sysmouse|
B *+mouse_sgr* Unix only: sgr mouse handling |sgr-mouse|
B *+mouse_urxvt* Unix only: urxvt mouse handling |urxvt-mouse|
@@ -390,8 +379,6 @@ N *+multi_byte* 16 and 32 bit characters |multibyte|
N *+multi_lang* non-English language support |multi-lang|
m *+mzscheme* Mzscheme interface |mzscheme|
m *+mzscheme/dyn* Mzscheme interface |mzscheme-dynamic| |/dyn|
-m *+netbeans_intg* |netbeans|
-m *+ole* Win32 GUI only: |ole-interface|
N *+path_extra* Up/downwards search in 'path' and 'tags'
m *+perl* Perl interface |perl|
m *+perl/dyn* Perl interface |perl-dynamic| |/dyn|
@@ -412,11 +399,9 @@ m *+ruby/dyn* Ruby interface |ruby-dynamic| |/dyn|
N *+scrollbind* |'scrollbind'|
B *+signs* |:sign|
N *+smartindent* |'smartindent'|
-m *+sniff* SniFF interface |sniff|
N *+startuptime* |--startuptime| argument
N *+statusline* Options 'statusline', 'rulerformat' and special
formats of 'titlestring' and 'iconstring'
-m *+sun_workshop* |workshop|
N *+syntax* Syntax highlighting |syntax|
*+system()* Unix only: opposite of |+fork|
N *+tag_binary* binary searching in tags file |tag-binary-search|
@@ -636,9 +621,6 @@ K Run a program to lookup the keyword under the
"gs" stands for "goto sleep".
While sleeping the cursor is positioned in the text,
if at a visible position. {not in Vi}
- Also process the received netbeans messages. {only
- available when compiled with the |+netbeans_intg|
- feature}
*g_CTRL-A*
diff --git a/runtime/doc/vi_diff.txt b/runtime/doc/vi_diff.txt
index aadbf9b419..4a7b067fc1 100644
--- a/runtime/doc/vi_diff.txt
+++ b/runtime/doc/vi_diff.txt
@@ -620,9 +620,6 @@ all currently set marks. The commands "']" and "`]" jump to the end of the
previous operator or end of the text inserted with the put command. "'[" and
"`[" do jump to the start.
-The 'shelltype' option can be set to reflect the type of shell used on the
-Amiga.
-
The 'highlight' option can be set for the highlight mode to be used for
several commands.
diff --git a/runtime/doc/vim2html.pl b/runtime/doc/vim2html.pl
deleted file mode 100755
index 9066b03b16..0000000000
--- a/runtime/doc/vim2html.pl
+++ /dev/null
@@ -1,228 +0,0 @@
-#!/usr/bin/env perl
-
-# converts vim documentation to simple html
-# Sirtaj Singh Kang (taj@kde.org)
-
-# Sun Feb 24 14:49:17 CET 2002
-
-use strict;
-use vars qw/%url $date/;
-
-%url = ();
-$date = `date`;
-chop $date;
-
-sub maplink
-{
- my $tag = shift;
- if( exists $url{ $tag } ){
- return $url{ $tag };
- } else {
- #warn "Unknown hyperlink target: $tag\n";
- $tag =~ s/\.txt//;
- $tag =~ s/</&lt;/g;
- $tag =~ s/>/&gt;/g;
- return "<code class=\"badlink\">$tag</code>";
- }
-}
-
-sub readTagFile
-{
- my($tagfile) = @_;
- my( $tag, $file, $name );
-
- open(TAGS,"$tagfile") || die "can't read tags\n";
-
- while( <TAGS> ) {
- next unless /^(\S+)\s+(\S+)\s+/;
-
- $tag = $1;
- my $label = $tag;
- ($file= $2) =~ s/.txt$/.html/g;
- $label =~ s/\.txt//;
-
- $url{ $tag } = "<a href=\"$file#".escurl($tag)."\">".esctext($label)."</a>";
- }
- close( TAGS );
-}
-
-sub esctext
-{
- my $text = shift;
- $text =~ s/&/&amp;/g;
- $text =~ s/</&lt;/g;
- $text =~ s/>/&gt;/g;
- return $text;
-}
-
-sub escurl
-{
- my $url = shift;
- $url =~ s/"/%22/g;
- $url =~ s/~/%7E/g;
- $url =~ s/</%3C/g;
- $url =~ s/>/%3E/g;
- $url =~ s/=/%20/g;
- $url =~ s/#/%23/g;
- $url =~ s/\//%2F/g;
-
- return $url;
-}
-
-sub vim2html
-{
- my( $infile ) = @_;
- my( $outfile );
-
- open(IN, "$infile" ) || die "Couldn't read from $infile: $!.\n";
-
- ($outfile = $infile) =~ s:.*/::g;
- $outfile =~ s/\.txt$//g;
-
- open( OUT, ">$outfile.html" )
- || die "Couldn't write to $outfile.html: $!.\n";
- my $head = uc( $outfile );
-
- print OUT<<EOF;
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<title>VIM: $outfile</title>
-<link rel="stylesheet" href="vim-stylesheet.css" type="text/css">
-</head>
-<body>
-<h2>$head</h2>
-<pre>
-EOF
-
- my $inexample = 0;
- while( <IN> ) {
- chop;
- if ( /^\s*[-=]+\s*$/ ) {
- print OUT "</pre><hr><pre>";
- next;
- }
-
- # examples
- elsif( /^>$/ || /\s>$/ ) {
- $inexample = 1;
- chop;
- }
- elsif ( $inexample && /^([<\S])/ ) {
- $inexample = 0;
- $_ = $' if $1 eq "<";
- }
-
- s/\s+$//g;
-
- # Various vim highlights. note that < and > have already been escaped
- # so that HTML doesn't get screwed up.
-
- my @out = ();
- # print "Text: $_\n";
- LOOP:
- foreach my $token ( split /((?:\|[^\|]+\|)|(?:\*[^\*]+\*))/ ) {
- if ( $token =~ /^\|([^\|]+)\|/ ) {
- # link
- push( @out, "|".maplink( $1 )."|" );
- next LOOP;
- }
- elsif ( $token =~ /^\*([^\*]+)\*/ ) {
- # target
- push( @out,
- "<b class=\"vimtag\">\*<a name=\"".escurl($1)."\">".esctext($1)."<\/a>\*<\/b>");
- next LOOP;
- }
-
- $_ = esctext($token);
- s/CTRL-(\w+)/<code class="keystroke">CTRL-$1<\/code>/g;
- # parameter <...>
- s/&lt;(.*?)&gt;/<code class="special">&lt;$1&gt;<\/code>/g;
-
- # parameter {...}
- s/\{([^}]*)\}/<code class="special">{$1}<\/code>/g;
-
- # parameter [...]
- s/\[(range|line|count|offset|cmd|[-+]?num)\]/<code class="special">\[$1\]<\/code>/g;
- # note
- s/(Note:?)/<code class="note">$1<\/code>/gi;
-
- # local heading
- s/^(.*)\~$/<code class="section">$1<\/code>/g;
- push( @out, $_ );
- }
-
- $_ = join( "", @out );
-
- if( $inexample == 2 ) {
- print OUT "<code class=\"example\">$_</code>\n";
- } else {
- print OUT $_,"\n";
- }
-
- $inexample = 2 if $inexample == 1;
- }
- print OUT<<EOF;
-</pre>
-<p><i>Generated by vim2html on $date</i></p>
-</body>
-</html>
-EOF
-
-}
-
-sub usage
-{
-die<<EOF;
-vim2html.pl: converts vim documentation to HTML.
-usage:
-
- vim2html.pl <tag file> <text files>
-EOF
-}
-
-
-sub writeCSS
-{
- open( CSS, ">vim-stylesheet.css" ) || die "Couldn't write stylesheet: $!\n";
- print CSS<<EOF;
-body { background-color: white; color: black;}
-:link { color: rgb(0,137,139); }
-:visited { color: rgb(0,100,100);
- background-color: white; /* should be inherit */ }
-:active { color: rgb(0,200,200);
- background-color: white; /* should be inherit */ }
-
-B.vimtag { color : rgb(250,0,250); }
-
-h1, h2 { color: rgb(82,80,82); text-align: center; }
-h3, h4, h5, h6 { color: rgb(82,80,82); }
-.headline { color: rgb(0,137,139); }
-.header { color: rgb(164, 32, 246); }
-.section { color: rgb(164, 32, 246); }
-.keystroke { color: rgb(106, 89, 205); }
-.vim { }
-.example { color: rgb(0, 0, 255); }
-.option { }
-.notvi { }
-.special { color: rgb(106, 89, 205); }
-.note { color: blue; background-color: yellow; }
-.sub {}
-.badlink { color: rgb(0,37,39); }
-EOF
-
-}
-
-# main
-usage() if $#ARGV < 1;
-
-print "Processing tags...\n";
-readTagFile( $ARGV[ 0 ] );
-
-foreach my $file ( 1..$#ARGV ) {
- print "Processing ".$ARGV[ $file ]."...\n";
- vim2html( $ARGV[ $file ] );
-}
-print "Writing stylesheet...\n";
-writeCSS();
-print "done.\n"
diff --git a/runtime/doc/workshop.txt b/runtime/doc/workshop.txt
deleted file mode 100644
index 5514f9ebb7..0000000000
--- a/runtime/doc/workshop.txt
+++ /dev/null
@@ -1,98 +0,0 @@
-*workshop.txt* For Vim version 7.4. Last change: 2013 Jul 06
-
-
- VIM REFERENCE MANUAL by Gordon Prieur
-
-
-Sun Visual WorkShop Features *workshop* *workshop-support*
-
-1. Introduction |workshop-intro|
-2. Commands |workshop-commands|
-3. Compiling vim/gvim for WorkShop |workshop-compiling|
-4. Configuring gvim for a WorkShop release tree |workshop-configure|
-5. Obtaining the latest version of the XPM library |workshop-xpm|
-
-{Vi does not have any of these features}
-{only available when compiled with the |+sun_workshop| feature}
-
-==============================================================================
-1. Introduction *workshop-intro*
-
-Sun Visual WorkShop has an "Editor of Choice" feature designed to let users
-debug using their favorite editors. For the 6.0 release we have added support
-for gvim. A workshop debug session will have a debugging window and an editor
-window (possibly others as well). The user can do many debugging operations
-from the editor window, minimizing the need to switch from window to window.
-
-The version of vim shipped with Sun Visual WorkShop 6 (also called Forte
-Developer 6) is vim 5.3. The features in this release are much more reliable
-than the vim/gvim shipped with Visual WorkShop. VWS users wishing to use vim
-as their editor should compile these sources and install them in their
-workshop release tree.
-
-==============================================================================
-2. Commands *workshop-commands*
-
- *:ws* *:wsverb*
-:ws[verb] verb Pass the verb to the verb executor
-
-Pass the verb to a workshop function which gathers some arguments and
-sends the verb and data to workshop over an IPC connection.
-
-==============================================================================
-3. Compiling vim/gvim for WorkShop *workshop-compiling*
-
-Compiling vim with FEAT_SUN_WORKSHOP turns on all compile time flags necessary
-for building a vim to work with Visual WorkShop. The features required for VWS
-have been built and tested using the Sun compilers from the VWS release. They
-have not been built or tested using Gnu compilers. This does not mean the
-features won't build and run if compiled with gcc, just that nothing is
-guaranteed with gcc!
-
-==============================================================================
-4. Configuring gvim for a WorkShop release tree *workshop-configure*
-
-There are several assumptions which must be met in order to compile a gvim for
-use with Sun Visual WorkShop 6.
-
- o You should use the compiler in VWS rather than gcc. We have neither
- built nor tested with gcc and cannot guarantee it will build properly.
-
- o You must supply your own XPM library. See |workshop-xpm| below for
- details on obtaining the latest version of XPM.
-
- o Edit the Makefile in the src directory and uncomment the lines for Sun
- Visual WorkShop. You can easily find these by searching for the string
- FEAT_SUN_WORKSHOP
-
- o We also suggest you use Motif for your gui. This will provide gvim with
- the same look-and-feel as the rest of Sun Visual WorkShop.
-
-The following configuration line can be used to configure vim to build for use
-with Sun Visual WorkShop:
-
- $ CC=cc configure --enable-workshop --enable-gui=motif \
- -prefix=<VWS-install-dir>/contrib/contrib6/<vim-version>
-
-The VWS-install-dir should be the base directory where your Sun Visual WorkShop
-was installed. By default this is /opt/SUNWspro. It will normally require
-root permissions to install the vim release. You will also need to change the
-symlink <VWS-install-dir>/bin/gvim to point to the vim in your newly installed
-directory. The <vim-version> should be a unique version string. I use "vim"
-concatenated with the equivalent of version.h's VIM_VERSION_SHORT.
-
-==============================================================================
-5. Obtaining the latest version of the XPM library *workshop-xpm*
-
-The XPM library is required to show images within Vim with Motif or Athena.
-Without it the toolbar and signs will be disabled.
-
-The XPM library is provided by Arnaud Le Hors of the French National Institute
-for Research in Computer Science and Control. It can be downloaded from
-http://cgit.freedesktop.org/xorg/lib/libXpm. The current release, as of this
-writing, is xpm-3.4k-solaris.tgz, which is a gzip'ed tar file. If you create
-the directory /usr/local/xpm and untar the file there you can use the
-uncommented lines in the Makefile without changing them. If you use another
-xpm directory you will need to change the XPM_DIR in src/Makefile.
-
- vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/optwin.vim b/runtime/optwin.vim
index fdb0cfc801..5468d7b15b 100644
--- a/runtime/optwin.vim
+++ b/runtime/optwin.vim
@@ -1062,10 +1062,6 @@ call <SID>OptionG("udir", &udir)
call <SID>Header("executing external commands")
call append("$", "shell\tname of the shell program used for external commands")
call <SID>OptionG("sh", &sh)
-if has("amiga")
- call append("$", "shelltype\twhen to use the shell or directly execute a command")
- call append("$", " \tset st=" . &st)
-endif
call append("$", "shellquote\tcharacter(s) to enclose a shell command in")
call <SID>OptionG("shq", &shq)
call append("$", "shellxquote\tlike 'shellquote' but include the redirection")
diff --git a/runtime/plugin/matchparen.vim b/runtime/plugin/matchparen.vim
index 817ce62b28..3804ab949a 100644
--- a/runtime/plugin/matchparen.vim
+++ b/runtime/plugin/matchparen.vim
@@ -98,10 +98,17 @@ function! s:Highlight_Matching_Pair()
call cursor(c_lnum, c_col - before)
endif
- " When not in a string or comment ignore matches inside them.
+ " Build an expression that detects whether the current cursor position is in
+ " certain syntax types (string, comment, etc.), for use as searchpairpos()'s
+ " skip argument.
" We match "escape" for special items, such as lispEscapeSpecial.
- let s_skip ='synIDattr(synID(line("."), col("."), 0), "name") ' .
- \ '=~? "string\\|character\\|singlequote\\|escape\\|comment"'
+ let s_skip = '!empty(filter(map(synstack(line("."), col(".")), ''synIDattr(v:val, "name")''), ' .
+ \ '''v:val =~? "string\\|character\\|singlequote\\|escape\\|comment"''))'
+ " If executing the expression determines that the cursor is currently in
+ " one of the syntax types, then we want searchpairpos() to find the pair
+ " within those syntax types (i.e., not skip). Otherwise, the cursor is
+ " outside of the syntax types and s_skip should keep its value so we skip any
+ " matching pair inside the syntax types.
execute 'if' s_skip '| let s_skip = 0 | endif'
" Limit the search to lines visible in the window.
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index 55b04bc2d8..665813cc15 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -33,7 +33,7 @@ syn keyword vimOption contained akm anti arshape awa backupskip bex bioskey brow
syn keyword vimOption contained al antialias autochdir background balloondelay bexpr bk bs casemap cf cink cmdheight colorcolumn completefunc copyindent cryptmethod cscopeverbose csverb debug dict dir eb enc errorbells expandtab fdl fenc fileencodings fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imcmdline imsf indentexpr is isp keywordprg lazyredraw lispwords ls makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc pastetoggle pexpr pmbfn printexpr pt re restorescreen rnu rulerformat scr sect sft shellredir shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws tabline tags tbs textmode timeoutlen to tsl ttyfast uc undoreload vdir viewoptions warn wfh wig wildmode winfixwidth wiw wrap writedelay
syn keyword vimOption contained aleph ar autoindent backspace ballooneval bg bkc bsdir cb cfu cinkeys cmdwinheight columns completeopt cot cscopepathcomp cspc cuc deco dictionary directory ed encoding errorfile exrc fdls fencs fileformat flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imd imstatusfunc indentkeys isf isprint km lbr list lsp makeprg maxmem mh mmp more mouses mzq nuw opfunc patchexpr pfn popt printfont pumheight readonly revins ro runtimepath scroll sections sh shellslash shm showmode sj smd spell splitbelow ssl stl sw sxe tabpagemax tagstack tenc textwidth title toolbar tsr ttym udf updatecount ve viminfo wb wfw wildchar wildoptions winheight wm wrapmargin ws
syn keyword vimOption contained allowrevins arab autoread backup balloonexpr bh bl bsk cc ch cino cmp com concealcursor cp cscopeprg csprg cul def diff display edcompatible endofline errorformat fcl fdm fex fileformats fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatefunc imdisable inc indk isfname joinspaces kmp lcs listchars lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode ph preserveindent printheader pvh redrawtime ri rs sb scrollbind secure shcf shelltemp shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tal term tf titlelen toolbariconsize ttimeout ttymouse udir updatetime verbose virtualedit wc wh wildcharm wim winminheight wmh wrapscan ww
-syn keyword vimOption contained altkeymap arabic autowrite backupcopy bdir bin bomb bt ccv charconvert cinoptions cms comments conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fileignorecase fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imactivatekey imi include inex isi js kp linebreak lm lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path pheader previewheight printmbcharset pvw regexpengine rightleft rtp sbo scrolljump sel shell shelltype shortname shq sm so spellfile spr st sts swapsync syn tag tb termbidi tgst titleold top ttimeoutlen ttyscroll ul ur unnamedclip unc verbosefile visualbell
+syn keyword vimOption contained altkeymap arabic autowrite backupcopy bdir bin bomb bt ccv charconvert cinoptions cms comments conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fileignorecase fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imactivatekey imi include inex isi js kp linebreak lm lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path pheader previewheight printmbcharset pvw regexpengine rightleft rtp sbo scrolljump sel shell shortname shq sm so spellfile spr st sts swapsync syn tag tb termbidi tgst titleold top ttimeoutlen ttyscroll ul ur unnamedclip unc verbosefile visualbell
" vimOptions: These are the turn-off setting variants {{{2
syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobk nobuflisted nocin noconfirm nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noendofline noerrorbells noex nofen nofk nogd nohid nohkmap nohkp nohlsearch noicon noim noimcmdline noimdisable noinf noinsertmode nojoinspaces nolazyredraw nolinebreak nolist nolpl noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup
diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c
index c3408cc4db..78c8b61c37 100644
--- a/src/nvim/ex_cmds.c
+++ b/src/nvim/ex_cmds.c
@@ -1724,8 +1724,8 @@ static void do_viminfo(FILE *fp_in, FILE *fp_out, int flags)
}
if (fp_out != NULL) {
/* Write the info: */
- fprintf(fp_out, _("# This viminfo file was generated by Vim %s.\n"),
- VIM_VERSION_MEDIUM);
+ fprintf(fp_out, _("# This viminfo file was generated by Nvim %s.\n"),
+ NVIM_VERSION_MEDIUM);
fputs(_("# You may edit it if you're careful!\n\n"), fp_out);
fputs(_("# Value of 'encoding' when this file was written\n"), fp_out);
fprintf(fp_out, "*encoding=%s\n\n", p_enc);
diff --git a/src/nvim/globals.h b/src/nvim/globals.h
index 25c453fea8..3f968ff5a0 100644
--- a/src/nvim/globals.h
+++ b/src/nvim/globals.h
@@ -996,8 +996,6 @@ extern char *longVersion;
#ifdef HAVE_PATHDEF
extern char_u *default_vim_dir;
extern char_u *default_vimruntime_dir;
-extern char_u *all_cflags;
-extern char_u *all_lflags;
extern char_u *compiled_user;
extern char_u *compiled_sys;
#endif
diff --git a/src/nvim/hardcopy.c b/src/nvim/hardcopy.c
index b964aa7353..c6354d6c5f 100644
--- a/src/nvim/hardcopy.c
+++ b/src/nvim/hardcopy.c
@@ -2457,7 +2457,7 @@ int mch_print_begin(prt_settings_T *psettings)
STRCPY(buffer, "Unknown");
}
prt_dsc_textline("For", buffer);
- prt_dsc_textline("Creator", VIM_VERSION_LONG);
+ prt_dsc_textline("Creator", NVIM_VERSION_LONG);
/* Note: to ensure Clean8bit I don't think we can use LC_TIME */
now = time(NULL);
p_time = ctime(&now);
diff --git a/src/nvim/ops.c b/src/nvim/ops.c
index ed2a82d55c..e74fcef8d9 100644
--- a/src/nvim/ops.c
+++ b/src/nvim/ops.c
@@ -512,6 +512,20 @@ static void block_insert(oparg_T *oap, char_u *s, int b_insert, struct block_def
}
}
+ if (has_mbyte && spaces > 0) {
+ // Avoid starting halfway a multi-byte character.
+ if (b_insert) {
+ int off = (*mb_head_off)(oldp, oldp + offset + spaces);
+ spaces -= off;
+ count -= off;
+ } else {
+ int off = (*mb_off_next)(oldp, oldp + offset);
+ offset += off;
+ spaces = 0;
+ count = 0;
+ }
+ }
+
newp = (char_u *) xmalloc((size_t)(STRLEN(oldp) + s_len + count + 1));
/* copy up to shifted part */
diff --git a/src/nvim/option.c b/src/nvim/option.c
index 2255ec26ff..ca868120a0 100644
--- a/src/nvim/option.c
+++ b/src/nvim/option.c
@@ -1390,9 +1390,6 @@ static struct vimoption
{"shelltemp", "stmp", P_BOOL,
(char_u *)&p_stmp, PV_NONE,
{(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT},
- {"shelltype", "st", P_NUM|P_VI_DEF,
- (char_u *)NULL, PV_NONE,
- {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT},
{"shellxquote", "sxq", P_STRING|P_VI_DEF|P_SECURE,
(char_u *)&p_sxq, PV_NONE,
{
diff --git a/src/nvim/testdir/Makefile b/src/nvim/testdir/Makefile
index 9f04f880b5..521fbc19cf 100644
--- a/src/nvim/testdir/Makefile
+++ b/src/nvim/testdir/Makefile
@@ -35,7 +35,8 @@ SCRIPTS := test_autoformat_join.out \
test_listlbr.out test_listlbr_utf8.out \
test_changelist.out \
test_breakindent.out \
- test_insertcount.out
+ test_insertcount.out \
+ test_utf8.out
SCRIPTS_GUI := test16.out
diff --git a/src/nvim/testdir/test63.in b/src/nvim/testdir/test63.in
index ff05afbf81..db347a0a87 100644
--- a/src/nvim/testdir/test63.in
+++ b/src/nvim/testdir/test63.in
@@ -7,9 +7,9 @@ STARTTEST
:" --- Check that "matcharg()" returns the correct group and pattern if a match
:" --- is defined.
:let @r = "*** Test 1: "
-:highlight MyGroup1 ctermbg=red
-:highlight MyGroup2 ctermbg=green
-:highlight MyGroup3 ctermbg=blue
+:highlight MyGroup1 ctermbg=red guibg=red
+:highlight MyGroup2 ctermbg=green guibg=green
+:highlight MyGroup3 ctermbg=blue guibg=blue
:match MyGroup1 /TODO/
:2match MyGroup2 /FIXME/
:3match MyGroup3 /XXX/
diff --git a/src/nvim/testdir/test_utf8.in b/src/nvim/testdir/test_utf8.in
new file mode 100644
index 0000000000..e8d23c4be8
--- /dev/null
+++ b/src/nvim/testdir/test_utf8.in
@@ -0,0 +1,18 @@
+Tests for Unicode manipulations
+
+STARTTEST
+:so small.vim
+:set encoding=utf-8
+:" Visual block Insert adjusts for multi-byte char
+:new
+:call setline(1, ["aaa", "あああ", "bbb"])
+:exe ":norm! gg0l\<C-V>jjIx\<Esc>"
+:let r = getline(1, '$')
+:
+:bwipeout!
+:$put=r
+:call garbagecollect(1)
+:/^start:/,$wq! test.out
+ENDTEST
+
+start:
diff --git a/src/nvim/testdir/test_utf8.ok b/src/nvim/testdir/test_utf8.ok
new file mode 100644
index 0000000000..c5bed54856
--- /dev/null
+++ b/src/nvim/testdir/test_utf8.ok
@@ -0,0 +1,4 @@
+start:
+axaa
+xあああ
+bxbb
diff --git a/src/nvim/version.c b/src/nvim/version.c
index 6eea45ed39..b485d7fef7 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -1,14 +1,7 @@
/// @file version.c
///
-/// Vim originated from Stevie version 3.6 (Fish disk 217) by GRWalter (Fred)
-/// It has been changed beyond recognition since then.
-///
-/// Differences between version 6.x and 7.x can be found with ":help version7".
-/// Differences between version 5.x and 6.x can be found with ":help version6".
-/// Differences between version 4.x and 5.x can be found with ":help version5".
-/// Differences between version 3.0 and 4.x can be found with ":help version4".
-/// All the remarks about older versions have been removed, they are not very
-/// interesting.
+/// Nvim was forked from Vim 7.4.160.
+/// Vim originated from Stevie version 3.6 (Fish disk 217) by GRWalter (Fred).
#include <inttypes.h>
@@ -25,10 +18,8 @@
#include "nvim/version_defs.h"
char *Version = VIM_VERSION_SHORT;
-static char *mediumVersion = VIM_VERSION_MEDIUM;
-
-char *longVersion = VIM_VERSION_LONG_DATE __DATE__ " " __TIME__ ")";
-
+char *longVersion = NVIM_VERSION_LONG " (compiled " __DATE__ " " __TIME__ ")";
+char *version_commit = "Commit: " NVIM_VERSION_COMMIT;
#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "version.c.generated.h"
@@ -233,7 +224,7 @@ static int included_patches[] = {
411,
410,
//409 NA
- //408,
+ 408,
407,
//406,
405,
@@ -244,7 +235,7 @@ static int included_patches[] = {
//400 NA
//399 NA
//398,
- //397,
+ 397,
//396,
//395,
//394,
@@ -266,7 +257,7 @@ static int included_patches[] = {
//378,
377,
376,
- //375,
+ 375,
374,
373,
372,
@@ -275,10 +266,10 @@ static int included_patches[] = {
369,
368,
367,
- //366,
+ //366 NA
365,
364,
- //363,
+ //363 NA
362,
361,
360,
@@ -752,60 +743,24 @@ static void list_features(void)
void list_version(void)
{
- int i;
- int first;
- char *s = "";
-
// When adding features here, don't forget to update the list of
// internal variables in eval.c!
MSG(longVersion);
-
- // Print the list of patch numbers if there is at least one.
- // Print a range when patches are consecutive: "1-10, 12, 15-40, 42-45"
- if (included_patches[0] != 0) {
- MSG_PUTS(_("\nIncluded patches: "));
- first = -1;
-
- // find last one
- for (i = 0; included_patches[i] != 0; ++i) {}
-
- while (--i >= 0) {
- if (first < 0) {
- first = included_patches[i];
- }
-
- if ((i == 0) || (included_patches[i - 1] != included_patches[i] + 1)) {
- MSG_PUTS(s);
- s = ", ";
- msg_outnum((long)first);
-
- if (first != included_patches[i]) {
- MSG_PUTS("-");
- msg_outnum((long)included_patches[i]);
- }
- first = -1;
- }
- }
- }
+ MSG(version_commit);
// Print the list of extra patch descriptions if there is at least one.
+ char *s = "";
if (extra_patches[0] != NULL) {
MSG_PUTS(_("\nExtra patches: "));
s = "";
- for (i = 0; extra_patches[i] != NULL; ++i) {
+ for (int i = 0; extra_patches[i] != NULL; ++i) {
MSG_PUTS(s);
s = ", ";
MSG_PUTS(extra_patches[i]);
}
}
-#ifdef MODIFIED_BY
- MSG_PUTS("\n");
- MSG_PUTS(_("Modified by "));
- MSG_PUTS(MODIFIED_BY);
-#endif // ifdef MODIFIED_BY
-
#ifdef HAVE_PATHDEF
if ((*compiled_user != NUL) || (*compiled_sys != NUL)) {
@@ -823,8 +778,6 @@ void list_version(void)
}
#endif // ifdef HAVE_PATHDEF
- MSG_PUTS(_("\nHuge version "));
- MSG_PUTS(_("without GUI."));
version_msg(_(" Features included (+) or not (-):\n"));
list_features();
@@ -872,11 +825,6 @@ void list_version(void)
version_msg((char *)default_vimruntime_dir);
version_msg("\"\n");
}
- version_msg(_("Compilation: "));
- version_msg((char *)all_cflags);
- version_msg("\n");
- version_msg(_("Linking: "));
- version_msg((char *)all_lflags);
#endif // ifdef HAVE_PATHDEF
#ifdef DEBUG
version_msg("\n");
@@ -929,13 +877,9 @@ void intro_message(int colon)
int sponsor;
char *p;
static char *(lines[]) = {
- N_("VIM - Vi IMproved"),
+ N_(NVIM_VERSION_LONG),
"",
- N_("version "),
N_("by Bram Moolenaar et al."),
-#ifdef MODIFIED_BY
- " ",
-#endif // ifdef MODIFIED_BY
N_("Vim is open source and freely distributable"),
"",
N_("Help poor children in Uganda!"),
@@ -943,7 +887,6 @@ void intro_message(int colon)
"",
N_("type :q<Enter> to exit "),
N_("type :help<Enter> or <F1> for on-line help"),
- N_("type :help version7<Enter> for version info"),
NULL,
"",
N_("Running in Vi compatible mode"),
@@ -1001,7 +944,7 @@ void intro_message(int colon)
}
if (*p != NUL) {
- do_intro_line(row, (char_u *)_(p), i == 2, 0);
+ do_intro_line(row, (char_u *)_(p), 0);
}
row++;
}
@@ -1013,45 +956,16 @@ void intro_message(int colon)
}
}
-static void do_intro_line(int row, char_u *mesg, int add_version, int attr)
+static void do_intro_line(int row, char_u *mesg, int attr)
{
- char_u vers[20];
int col;
char_u *p;
int l;
int clen;
-#ifdef MODIFIED_BY
-# define MODBY_LEN 150
- char_u modby[MODBY_LEN];
-
- if (*mesg == ' ') {
- l = STRLCPY(modby, _("Modified by "), MODBY_LEN);
- if (l < MODBY_LEN - 1) {
- STRLCPY(modby + l, MODIFIED_BY, MODBY_LEN - l);
- }
- mesg = modby;
- }
-#endif // ifdef MODIFIED_BY
-
// Center the message horizontally.
col = vim_strsize(mesg);
- if (add_version) {
- STRCPY(vers, mediumVersion);
-
- if (highest_patch()) {
- // Check for 9.9x or 9.9xx, alpha/beta version
- if (isalpha((int)vers[3])) {
- int len = (isalpha((int)vers[4])) ? 5 : 4;
- sprintf((char *)vers + len, ".%d%s", highest_patch(),
- mediumVersion + len);
- } else {
- sprintf((char *)vers + 3, ".%d", highest_patch());
- }
- }
- col += (int)STRLEN(vers);
- }
col = (Columns - col) / 2;
if (col < 0) {
@@ -1074,11 +988,6 @@ static void do_intro_line(int row, char_u *mesg, int add_version, int attr)
screen_puts_len(p, l, row, col, *p == '<' ? hl_attr(HLF_8) : attr);
col += clen;
}
-
- // Add the version number to the version line.
- if (add_version) {
- screen_puts(vers, row, col, 0);
- }
}
/// ":intro": clear screen, display intro screen and wait for return.
diff --git a/src/nvim/version_defs.h b/src/nvim/version_defs.h
index 65dbfc8581..d8e1b4ea82 100644
--- a/src/nvim/version_defs.h
+++ b/src/nvim/version_defs.h
@@ -1,47 +1,50 @@
#ifndef NVIM_VERSION_DEFS_H
#define NVIM_VERSION_DEFS_H
-/*
- * 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.
- */
+// 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.
-/*
- * Define the version number, name, etc.
- * The patchlevel is in included_patches[], in version.c.
- *
- * This doesn't use string concatenation, some compilers don't support it.
- */
+#define STR_(x) #x
+#define STR(x) STR_(x)
+//
+// Nvim version identifiers
+//
+#ifndef NVIM_VERSION_MAJOR
+#define NVIM_VERSION_MAJOR 0
+#endif
+#ifndef NVIM_VERSION_MINOR
+#define NVIM_VERSION_MINOR 0
+#endif
+#ifndef NVIM_VERSION_PATCH
+#define NVIM_VERSION_PATCH 0
+#endif
+#ifndef NVIM_VERSION_PRERELEASE
+#define NVIM_VERSION_PRERELEASE
+#endif
+#ifndef NVIM_VERSION_BUILD
+#define NVIM_VERSION_BUILD
+#endif
+#ifndef NVIM_VERSION_COMMIT
+#define NVIM_VERSION_COMMIT
+#endif
+// for the startup-screen
+#define NVIM_VERSION_MEDIUM STR(NVIM_VERSION_MAJOR) "." STR(NVIM_VERSION_MINOR)
+// for the ":version" command and "nvim -h"
+#define NVIM_VERSION_LONG "NVIM " NVIM_VERSION_MEDIUM "." STR(NVIM_VERSION_PATCH) NVIM_VERSION_PRERELEASE NVIM_VERSION_BUILD
+
+//
+// Vim version number, name, etc. Patchlevel is defined in version.c.
+//
#define VIM_VERSION_MAJOR 7
-#define VIM_VERSION_MAJOR_STR "7"
#define VIM_VERSION_MINOR 4
-#define VIM_VERSION_MINOR_STR "4"
#define VIM_VERSION_100 (VIM_VERSION_MAJOR * 100 + VIM_VERSION_MINOR)
-#define VIM_VERSION_BUILD 280
-#define VIM_VERSION_BUILD_BCD 0x118
-#define VIM_VERSION_BUILD_STR "280"
-#define VIM_VERSION_PATCHLEVEL 0
-#define VIM_VERSION_PATCHLEVEL_STR "0"
-/* Used by MacOS port should be one of: development, alpha, beta, final */
-#define VIM_VERSION_RELEASE development
-
-/*
- * VIM_VERSION_NODOT is used for the runtime directory name.
- * VIM_VERSION_SHORT is copied into the swap file (max. length is 6 chars).
- * VIM_VERSION_MEDIUM is used for the startup-screen.
- * VIM_VERSION_LONG is used for the ":version" command and "Vim -h".
- */
+// used for the runtime directory name
#define VIM_VERSION_NODOT "vim74"
+// swap file compatibility (max. length is 6 chars)
#define VIM_VERSION_SHORT "7.4"
-#define VIM_VERSION_MEDIUM "7.4"
-#define VIM_VERSION_LONG "VIM - Vi IMproved 7.4 (2014)"
-#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.4 (2014, compiled "
-
-/* Displayed on splash screen. */
-#define MODIFIED_BY "the Neovim contributors."
#endif // NVIM_VERSION_DEFS_H