mirror of
https://github.com/vim/vim
synced 2025-07-23 14:52:04 +00:00
Compare commits
260 Commits
Author | SHA1 | Date | |
---|---|---|---|
b6f1480a6a | |||
9f84ded38b | |||
4c5d815256 | |||
42a4ea10af | |||
839e81e12d | |||
38654503b0 | |||
2c64ca1802 | |||
04c86d27fe | |||
115510f0bd | |||
29e7fe55be | |||
b361db077f | |||
64f410742f | |||
65dc12143a | |||
d95c3c253c | |||
a2aad02830 | |||
27e80c885b | |||
a16bc54503 | |||
d6105cb408 | |||
6cdb2c9811 | |||
453ce7c16b | |||
3d6014f033 | |||
108e7b422b | |||
0664089ecc | |||
1d3dbcf743 | |||
6a2633b00b | |||
95ba5c364f | |||
1df2fa47b4 | |||
798184cc67 | |||
c0543e145f | |||
00bf8cd211 | |||
1307d1c003 | |||
a05a0d325c | |||
df77cef92e | |||
0cc7b2d6cc | |||
d8f27b30d6 | |||
019dfe6855 | |||
2610990709 | |||
8295666dc2 | |||
7554c548a4 | |||
2bc152ab53 | |||
0e9deefb4f | |||
7701f30856 | |||
4a5abbd613 | |||
586c70cdfe | |||
4f88875725 | |||
35bc7d6c52 | |||
54ade9f7e3 | |||
95bafa296a | |||
6dff58f15c | |||
f45d747ebf | |||
d3dc062160 | |||
2bfddfc508 | |||
438d176e35 | |||
b434ae2a1f | |||
95892c27b2 | |||
ee91c33570 | |||
8c63e0ec31 | |||
09037503ea | |||
31cbadf74b | |||
45c5c86e63 | |||
6dae96ef7a | |||
d339828b4b | |||
c75878c923 | |||
3b30168f04 | |||
7ff8a3cfb6 | |||
4841a7ccae | |||
9cea87c577 | |||
e76d7a63df | |||
0bd4051732 | |||
4ff4290de1 | |||
76c612a166 | |||
1f402806b8 | |||
de2bd37bec | |||
b872e63fc6 | |||
036b09ca78 | |||
b0e982bf05 | |||
d4f73438bb | |||
3f3fb0b147 | |||
933bef779a | |||
92cbf62b87 | |||
cec12cd661 | |||
476c0db002 | |||
4b1c9a91b5 | |||
a87f8fd3fe | |||
fe15b7dfa6 | |||
9e81db9742 | |||
664323e7c8 | |||
e961cba3cb | |||
cc3a997746 | |||
198fa066b2 | |||
110bd60985 | |||
d2b58c0a2c | |||
65985ac998 | |||
8f4499b816 | |||
e8fa05b5bc | |||
42c63356d7 | |||
6e272acc82 | |||
e3521d9cbb | |||
785fc6567f | |||
50eb16c3b2 | |||
ac49f61a20 | |||
ab18673731 | |||
da1f71d75f | |||
bf1c1b8513 | |||
24839edc54 | |||
fe8ef98dd1 | |||
c91c500348 | |||
8aeb504fc6 | |||
a214079008 | |||
0f7683f973 | |||
5c6f574bd1 | |||
32d19c1820 | |||
78dcd4f002 | |||
0d5f21c3df | |||
42335f50bc | |||
c787539747 | |||
3b8defd0a5 | |||
bd9a53c06c | |||
1b7fefcbce | |||
90a997987d | |||
643b614087 | |||
274cea35c6 | |||
67f8ab8299 | |||
25328e39d2 | |||
84d9390480 | |||
007921611b | |||
4c7b08f640 | |||
e797abf3c7 | |||
c93262b2e3 | |||
f29c1c6aa3 | |||
6b0b83f768 | |||
e828b7621c | |||
93a1df2c20 | |||
6f8bdab8e2 | |||
a5c48c2698 | |||
02c972153d | |||
99f043a57d | |||
a750ac2288 | |||
53c8a478cc | |||
99396d4cbf | |||
d4a1aabe37 | |||
198cb66d65 | |||
0b1468884a | |||
ed5a9d6612 | |||
e67a7d690a | |||
f1c118be93 | |||
20aac6c112 | |||
acca8df9d4 | |||
c9cc9c78f2 | |||
7ee3f15b21 | |||
3c5b8cd254 | |||
94f01956a5 | |||
32bbd00949 | |||
9049b68612 | |||
f13daa46da | |||
f6ceaf1e05 | |||
379fb76b08 | |||
dd5d18eadf | |||
2bf4fe07b6 | |||
8c9e7b00f6 | |||
92c1b69641 | |||
a449a7c6b9 | |||
fc65cabb15 | |||
627cb6a6b3 | |||
6f6ef7c195 | |||
a06afc7f5e | |||
4cbdf155ca | |||
0529583ff1 | |||
98fc8d7b6c | |||
7c60505e10 | |||
74c8be2c68 | |||
2551c037e4 | |||
7cb33a14c9 | |||
4edfe2d2a2 | |||
8b0d5ce881 | |||
8e7218c459 | |||
3b3a506f57 | |||
320bf2d85e | |||
4c5765bc47 | |||
c631f2df62 | |||
47ad5656e1 | |||
00f123a565 | |||
8e82c057ff | |||
8c5e0093c9 | |||
2f0f871159 | |||
7feb35e778 | |||
fd6100b2aa | |||
0f6b4f06de | |||
da6e8919e7 | |||
830e3583da | |||
2e31048c30 | |||
c26f7c6053 | |||
f1883479be | |||
3f6a16f022 | |||
d8f0cef2bd | |||
142ae736d9 | |||
46fad2ef0b | |||
cea1f9ec52 | |||
111bbd61e9 | |||
264cf5cfaf | |||
3b9fcfcffa | |||
4d77c65a9e | |||
9bc1eac2c7 | |||
81f56536b1 | |||
b476cb7d8d | |||
2dfcef4c08 | |||
396659592f | |||
37b15568c2 | |||
167ae42685 | |||
d7cc163570 | |||
2f6a346a4c | |||
80d83c094d | |||
33c4dbb74b | |||
effed9315c | |||
def7b1dc61 | |||
2b926fcb3c | |||
60d0871000 | |||
c7f08b7ee1 | |||
164251ff80 | |||
976b847f43 | |||
21f990e1c2 | |||
ef73a28401 | |||
d473c8c101 | |||
f53c692240 | |||
b0acacd767 | |||
b31a3acce1 | |||
51e9fbf1c7 | |||
d569bb0299 | |||
90f1e2b7bc | |||
ee8415bc59 | |||
0ee81cb638 | |||
efe03738f6 | |||
4b16ee743e | |||
1598f9937a | |||
38efd1d17a | |||
4d37557ac6 | |||
3f347e4716 | |||
af559d2c9f | |||
bfde0b482d | |||
9fa9506853 | |||
f8f88f89e1 | |||
980bab457e | |||
40385dbcdf | |||
de3b3677f7 | |||
b782ba475a | |||
b1cf16113f | |||
7ebf4e1c34 | |||
8d8a65e389 | |||
447bd5a346 | |||
ee380ae376 | |||
91d2e783b4 | |||
917e32bda5 | |||
5db7eec423 | |||
02ab97709d | |||
7cc596547a | |||
3cb4448b8a | |||
218beb3e96 | |||
7da1fb5532 | |||
87ea64ca96 | |||
82593c1a3a |
10
.travis.yml
10
.travis.yml
@ -10,19 +10,19 @@ compiler:
|
||||
- gcc
|
||||
|
||||
env:
|
||||
- BUILD=yes TEST=test COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
# ASAN build
|
||||
- BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
|
||||
FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
|
||||
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
|
||||
- BUILD=yes TEST=scripttests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
|
||||
- BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
|
||||
- BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow CHECK_AUTOCONF=no
|
||||
- BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
- BUILD=yes TEST=test COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
# Mac OSX build
|
||||
- BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
|
||||
# ASAN build
|
||||
- BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
|
||||
FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
|
||||
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
|
||||
|
||||
sudo: false
|
||||
|
||||
|
26
Filelist
26
Filelist
@ -1,5 +1,5 @@
|
||||
# List of distributed Vim files.
|
||||
# Used by Makefile and upload.aap.
|
||||
# Used by Makefile.
|
||||
|
||||
# source files for all source archives
|
||||
SRC_ALL = \
|
||||
@ -101,9 +101,7 @@ SRC_ALL = \
|
||||
src/window.c \
|
||||
src/tee/tee.c \
|
||||
src/xxd/xxd.c \
|
||||
src/main.aap \
|
||||
src/testdir/gen_opt_test.vim \
|
||||
src/testdir/main.aap \
|
||||
src/testdir/README.txt \
|
||||
src/testdir/Make_all.mak \
|
||||
src/testdir/*.in \
|
||||
@ -143,6 +141,7 @@ SRC_ALL = \
|
||||
src/testdir/if_ver*.vim \
|
||||
src/testdir/color_ramp.vim \
|
||||
src/proto.h \
|
||||
src/protodef.h \
|
||||
src/proto/arabic.pro \
|
||||
src/proto/beval.pro \
|
||||
src/proto/blowfish.pro \
|
||||
@ -229,7 +228,7 @@ SRC_ALL = \
|
||||
src/libvterm/src/parser.c \
|
||||
src/libvterm/src/pen.c \
|
||||
src/libvterm/src/rect.h \
|
||||
src/libvterm/src/screen.c \
|
||||
src/libvterm/src/termscreen.c \
|
||||
src/libvterm/src/state.c \
|
||||
src/libvterm/src/unicode.c \
|
||||
src/libvterm/src/utf8.h \
|
||||
@ -275,6 +274,22 @@ SRC_ALL = \
|
||||
src/libvterm/t/92lp1640917.test \
|
||||
src/libvterm/t/harness.c \
|
||||
src/libvterm/t/run-test.pl \
|
||||
src/xdiff/COPYING \
|
||||
src/xdiff/README.txt \
|
||||
src/xdiff/xdiff.h \
|
||||
src/xdiff/xdiffi.c \
|
||||
src/xdiff/xdiffi.h \
|
||||
src/xdiff/xemit.c \
|
||||
src/xdiff/xemit.h \
|
||||
src/xdiff/xhistogram.c \
|
||||
src/xdiff/xinclude.h \
|
||||
src/xdiff/xmacros.h \
|
||||
src/xdiff/xpatience.c \
|
||||
src/xdiff/xprepare.c \
|
||||
src/xdiff/xprepare.h \
|
||||
src/xdiff/xtypes.h \
|
||||
src/xdiff/xutils.c \
|
||||
src/xdiff/xutils.h \
|
||||
|
||||
|
||||
# source files for Unix only
|
||||
@ -291,7 +306,6 @@ SRC_UNIX = \
|
||||
src/INSTALLx.txt \
|
||||
src/Makefile \
|
||||
src/auto/configure \
|
||||
src/config.aap.in \
|
||||
src/config.h.in \
|
||||
src/config.mk.dist \
|
||||
src/config.mk.in \
|
||||
@ -612,7 +626,6 @@ RT_ALL = \
|
||||
runtime/macros/matchit.vim \
|
||||
runtime/macros/maze/README.txt \
|
||||
runtime/macros/maze/[mM]akefile \
|
||||
runtime/macros/maze/main.aap \
|
||||
runtime/macros/maze/maze.c \
|
||||
runtime/macros/maze/maze_5.78 \
|
||||
runtime/macros/maze/maze_mac \
|
||||
@ -640,6 +653,7 @@ RT_ALL = \
|
||||
runtime/tutor/tutor \
|
||||
runtime/tutor/tutor.vim \
|
||||
runtime/vimrc_example.vim \
|
||||
runtime/pack/dist/opt/cfilter/plugin/cfilter.vim \
|
||||
runtime/pack/dist/opt/dvorak/plugin/dvorak.vim \
|
||||
runtime/pack/dist/opt/dvorak/dvorak/enable.vim \
|
||||
runtime/pack/dist/opt/dvorak/dvorak/disable.vim \
|
||||
|
@ -2,9 +2,10 @@
|
||||
|
||||
[](https://travis-ci.org/vim/vim)
|
||||
[](https://codecov.io/gh/vim/vim?branch=master)
|
||||
[](https://coveralls.io/github/vim/vim?branch=master)
|
||||
[](https://coveralls.io/github/vim/vim?branch=master)
|
||||
[](https://ci.appveyor.com/project/chrisbra/vim)
|
||||
[](https://scan.coverity.com/projects/vim)
|
||||
[](https://lgtm.com/projects/g/vim/vim/context:cpp)
|
||||
[](https://buildd.debian.org/vim)
|
||||
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
README_zOS.txt for version 8.1 of Vim: Vi IMproved.
|
||||
README_os390.txt for version 8.1 of Vim: Vi IMproved.
|
||||
|
||||
This readme explains how to build Vim on z/OS. Formerly called OS/390.
|
||||
See "README.txt" for general information about Vim.
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Vim completion script
|
||||
" Language: C
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2012 Jun 20
|
||||
" Last Change: 2018 Aug 20
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
@ -72,8 +72,10 @@ function! ccomplete#Complete(findstart, base)
|
||||
" Split item in words, keep empty word after "." or "->".
|
||||
" "aa" -> ['aa'], "aa." -> ['aa', ''], "aa.bb" -> ['aa', 'bb'], etc.
|
||||
" We can't use split, because we need to skip nested [...].
|
||||
" "aa[...]" -> ['aa', '[...]'], "aa.bb[...]" -> ['aa', 'bb', '[...]'], etc.
|
||||
let items = []
|
||||
let s = 0
|
||||
let arrays = 0
|
||||
while 1
|
||||
let e = match(base, '\.\|->\|\[', s)
|
||||
if e < 0
|
||||
@ -107,6 +109,7 @@ function! ccomplete#Complete(findstart, base)
|
||||
endwhile
|
||||
let e += 1
|
||||
call add(items, strpart(base, s, e - s))
|
||||
let arrays += 1
|
||||
let s = e
|
||||
endif
|
||||
endwhile
|
||||
@ -161,15 +164,26 @@ function! ccomplete#Complete(findstart, base)
|
||||
endif
|
||||
endif
|
||||
let res = [{'match': match, 'tagline' : '', 'kind' : kind, 'info' : line}]
|
||||
elseif len(items) == arrays + 1
|
||||
" Completing one word and it's a local array variable: build tagline
|
||||
" from declaration line
|
||||
let match = items[0]
|
||||
let kind = 'v'
|
||||
let tagline = "\t/^" . line . '$/'
|
||||
let res = [{'match': match, 'tagline' : tagline, 'kind' : kind, 'info' : line}]
|
||||
else
|
||||
" Completing "var.", "var.something", etc.
|
||||
let res = s:Nextitem(strpart(line, 0, col), items[1:], 0, 1)
|
||||
endif
|
||||
endif
|
||||
|
||||
if len(items) == 1
|
||||
if len(items) == 1 || len(items) == arrays + 1
|
||||
" Only one part, no "." or "->": complete from tags file.
|
||||
let tags = taglist('^' . base)
|
||||
if len(items) == 1
|
||||
let tags = taglist('^' . base)
|
||||
else
|
||||
let tags = taglist('^' . items[0] . '$')
|
||||
endif
|
||||
|
||||
" Remove members, these can't appear without something in front.
|
||||
call filter(tags, 'has_key(v:val, "kind") ? v:val["kind"] != "m" : 1')
|
||||
@ -516,11 +530,24 @@ function! s:StructMembers(typename, items, all)
|
||||
endif
|
||||
endif
|
||||
|
||||
" Skip over [...] items
|
||||
let idx = 0
|
||||
while 1
|
||||
if idx >= len(a:items)
|
||||
let target = '' " No further items, matching all members
|
||||
break
|
||||
endif
|
||||
if a:items[idx][0] != '['
|
||||
let target = a:items[idx]
|
||||
break
|
||||
endif
|
||||
let idx += 1
|
||||
endwhile
|
||||
" Put matching members in matches[].
|
||||
let matches = []
|
||||
for l in qflist
|
||||
let memb = matchstr(l['text'], '[^\t]*')
|
||||
if memb =~ '^' . a:items[0]
|
||||
if memb =~ '^' . target
|
||||
" Skip matches local to another file.
|
||||
if match(l['text'], "\tfile:") < 0 || bufnr('%') == bufnr(matchstr(l['text'], '\t\zs[^\t]*'))
|
||||
let item = {'match': memb, 'tagline': l['text']}
|
||||
@ -540,8 +567,8 @@ function! s:StructMembers(typename, items, all)
|
||||
endfor
|
||||
|
||||
if len(matches) > 0
|
||||
" Skip over [...] items
|
||||
let idx = 1
|
||||
" Skip over next [...] items
|
||||
let idx += 1
|
||||
while 1
|
||||
if idx >= len(a:items)
|
||||
return matches " No further items, return the result.
|
||||
|
2
runtime/autoload/dist/ft.vim
vendored
2
runtime/autoload/dist/ft.vim
vendored
@ -632,7 +632,7 @@ endfunc
|
||||
" Choose context, plaintex, or tex (LaTeX) based on these rules:
|
||||
" 1. Check the first line of the file for "%&<format>".
|
||||
" 2. Check the first 1000 non-comment lines for LaTeX or ConTeXt keywords.
|
||||
" 3. Default to "latex" or to g:tex_flavor, can be set in user's vimrc.
|
||||
" 3. Default to "plain" or to g:tex_flavor, can be set in user's vimrc.
|
||||
func dist#ft#FTtex()
|
||||
let firstline = getline(1)
|
||||
if firstline =~ '^%&\s*\a\+'
|
||||
|
3382
runtime/autoload/haskellcomplete.vim
Normal file
3382
runtime/autoload/haskellcomplete.vim
Normal file
File diff suppressed because it is too large
Load Diff
@ -3,7 +3,7 @@
|
||||
" Maintainer: Dávid Szabó ( complex857 AT gmail DOT com )
|
||||
" Previous Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||
" URL: https://github.com/shawncplus/phpcomplete.vim
|
||||
" Last Change: 2016 Oct 10
|
||||
" Last Change: 2018 Oct 10
|
||||
"
|
||||
" OPTIONS:
|
||||
"
|
||||
@ -146,6 +146,8 @@ function! phpcomplete#CompletePHP(findstart, base) " {{{
|
||||
end
|
||||
|
||||
try
|
||||
let eventignore = &eventignore
|
||||
let &eventignore = 'all'
|
||||
let winheight = winheight(0)
|
||||
let winnr = winnr()
|
||||
|
||||
@ -216,6 +218,7 @@ function! phpcomplete#CompletePHP(findstart, base) " {{{
|
||||
endif
|
||||
finally
|
||||
silent! exec winnr.'resize '.winheight
|
||||
let &eventignore = eventignore
|
||||
endtry
|
||||
endfunction
|
||||
" }}}
|
||||
@ -1393,23 +1396,28 @@ function! phpcomplete#GetCallChainReturnType(classname_candidate, class_candidat
|
||||
for classstructure in classcontents
|
||||
let docblock_target_pattern = 'function\s\+&\?'.method.'\>\|\(public\|private\|protected\|var\).\+\$'.method.'\>\|@property.\+\$'.method.'\>'
|
||||
let doc_str = phpcomplete#GetDocBlock(split(classstructure.content, '\n'), docblock_target_pattern)
|
||||
if doc_str != ''
|
||||
let return_type_hint = phpcomplete#GetFunctionReturnTypeHint(split(classstructure.content, '\n'), 'function\s\+&\?'.method.'\>')
|
||||
if doc_str != '' || return_type_hint != ''
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
if doc_str != ''
|
||||
if doc_str != '' || return_type_hint != ''
|
||||
let docblock = phpcomplete#ParseDocBlock(doc_str)
|
||||
if has_key(docblock.return, 'type') || has_key(docblock.var, 'type') || len(docblock.properties) > 0
|
||||
let type = has_key(docblock.return, 'type') ? docblock.return.type : has_key(docblock.var, 'type') ? docblock.var.type : ''
|
||||
if has_key(docblock.return, 'type') || has_key(docblock.var, 'type') || len(docblock.properties) > 0 || return_type_hint != ''
|
||||
if return_type_hint == ''
|
||||
let type = has_key(docblock.return, 'type') ? docblock.return.type : has_key(docblock.var, 'type') ? docblock.var.type : ''
|
||||
|
||||
if type == ''
|
||||
for property in docblock.properties
|
||||
if property.description =~? method
|
||||
let type = property.type
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
endif
|
||||
if type == ''
|
||||
for property in docblock.properties
|
||||
if property.description =~? method
|
||||
let type = property.type
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
endif
|
||||
else
|
||||
let type = return_type_hint
|
||||
end
|
||||
|
||||
" there's a namespace in the type, threat the type as FQCN
|
||||
if type =~ '\\'
|
||||
@ -1483,7 +1491,7 @@ function! phpcomplete#GetMethodStack(line) " {{{
|
||||
continue
|
||||
endif
|
||||
|
||||
" if it's looks like a string
|
||||
" if it looks like a string
|
||||
if current_char == "'" || current_char == '"'
|
||||
" and it is not escaped
|
||||
if prev_char != '\' || (prev_char == '\' && prev_prev_char == '\')
|
||||
@ -1587,9 +1595,11 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
||||
elseif function_file != '' && filereadable(function_file)
|
||||
let file_lines = readfile(function_file)
|
||||
let docblock_str = phpcomplete#GetDocBlock(file_lines, 'function\s*&\?\<'.function_name.'\>')
|
||||
let return_type_hint = phpcomplete#GetFunctionReturnTypeHint(file_lines, 'function\s*&\?'.function_name.'\>')
|
||||
let docblock = phpcomplete#ParseDocBlock(docblock_str)
|
||||
if has_key(docblock.return, 'type')
|
||||
let classname_candidate = docblock.return.type
|
||||
let type = has_key(docblock.return, 'type') ? docblock.return.type : return_type_hint
|
||||
if type != ''
|
||||
let classname_candidate = type
|
||||
let [class_candidate_namespace, function_imports] = phpcomplete#GetCurrentNameSpace(file_lines)
|
||||
" try to expand the classname of the returned type with the context got from the function's source file
|
||||
|
||||
@ -1821,9 +1831,11 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
|
||||
elseif function_file != '' && filereadable(function_file)
|
||||
let file_lines = readfile(function_file)
|
||||
let docblock_str = phpcomplete#GetDocBlock(file_lines, 'function\s*&\?\<'.function_name.'\>')
|
||||
let return_type_hint = phpcomplete#GetFunctionReturnTypeHint(file_lines, 'function\s*&\?'.function_name.'\>')
|
||||
let docblock = phpcomplete#ParseDocBlock(docblock_str)
|
||||
if has_key(docblock.return, 'type')
|
||||
let classname_candidate = docblock.return.type
|
||||
let type = has_key(docblock.return, 'type') ? docblock.return.type : return_type_hint
|
||||
if type != ''
|
||||
let classname_candidate = type
|
||||
let [class_candidate_namespace, function_imports] = phpcomplete#GetCurrentNameSpace(file_lines)
|
||||
" try to expand the classname of the returned type with the context got from the function's source file
|
||||
let [classname_candidate, class_candidate_namespace] = phpcomplete#ExpandClassName(classname_candidate, class_candidate_namespace, function_imports)
|
||||
@ -2413,6 +2425,44 @@ function! phpcomplete#ParseDocBlock(docblock) " {{{
|
||||
endfunction
|
||||
" }}}
|
||||
|
||||
function! phpcomplete#GetFunctionReturnTypeHint(sccontent, search)
|
||||
let i = 0
|
||||
let l = 0
|
||||
let function_line_start = -1
|
||||
let function_line_end = -1
|
||||
let sccontent_len = len(a:sccontent)
|
||||
let return_type = ''
|
||||
|
||||
while (i < sccontent_len)
|
||||
let line = a:sccontent[i]
|
||||
" search for a function declaration
|
||||
if line =~? a:search
|
||||
let l = i
|
||||
let function_line_start = i
|
||||
" now search for the first { where the function body starts
|
||||
while l < sccontent_len
|
||||
let line = a:sccontent[l]
|
||||
if line =~? '\V{'
|
||||
let function_line_end = l
|
||||
break
|
||||
endif
|
||||
let l += 1
|
||||
endwhile
|
||||
break
|
||||
endif
|
||||
let i += 1
|
||||
endwhile
|
||||
|
||||
" now grab the lines that holds the function declaration line
|
||||
if function_line_start != -1 && function_line_end != -1
|
||||
let function_line = join(a:sccontent[function_line_start :function_line_end], " ")
|
||||
let class_name_pattern = '[a-zA-Z_\x7f-\xff\\][a-zA-Z_0-9\x7f-\xff\\]*'
|
||||
let return_type = matchstr(function_line, '\c\s*:\s*\zs'.class_name_pattern.'\ze\s*{')
|
||||
endif
|
||||
return return_type
|
||||
|
||||
endfunction
|
||||
|
||||
function! phpcomplete#GetTypeFromDocBlockParam(docblock_type) " {{{
|
||||
if a:docblock_type !~ '|'
|
||||
return a:docblock_type
|
||||
@ -2572,7 +2622,7 @@ function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{
|
||||
" find kind flags from tags or built in methods for the objects we extracted
|
||||
" they can be either classes, interfaces or namespaces, no other thing is importable in php
|
||||
for [key, import] in items(imports)
|
||||
" if theres a \ in the name we have it's definetly not a built in thing, look for tags
|
||||
" if theres a \ in the name we have it's definitely not a built in thing, look for tags
|
||||
if import.name =~ '\\'
|
||||
let patched_ctags_detected = 0
|
||||
let [classname, namespace_for_classes] = phpcomplete#ExpandClassName(import.name, '\', {})
|
||||
|
@ -152,10 +152,12 @@ fun! tar#Browse(tarfile)
|
||||
" assuming cygwin
|
||||
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
|
||||
endif
|
||||
|
||||
let curlast= line("$")
|
||||
if tarfile =~# '\.\(gz\|tgz\)$'
|
||||
let gzip_command = s:get_gzip_command(tarfile)
|
||||
" call Decho("1: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
|
||||
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
exe "sil! r! " . gzip_command . " -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
elseif tarfile =~# '\.lrp'
|
||||
" call Decho("2: exe silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ")
|
||||
exe "sil! r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - "
|
||||
@ -287,12 +289,14 @@ fun! tar#Read(fname,mode)
|
||||
else
|
||||
let tar_secure= " "
|
||||
endif
|
||||
|
||||
if tarfile =~# '\.bz2$'
|
||||
" call Decho("7: exe silent r! bzip2 -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
|
||||
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
elseif tarfile =~# '\.\(gz\|tgz\)$'
|
||||
let gzip_command = s:get_gzip_command(tarfile)
|
||||
" call Decho("5: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd.' -'.g:tar_readoptions.' - '.tar_secure.shellescape(fname,1))
|
||||
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "sil! r! " . gzip_command . " -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
elseif tarfile =~# '\.lrp$'
|
||||
" call Decho("6: exe silent r! cat ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
|
||||
exe "sil! r! cat -- ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
@ -389,6 +393,8 @@ fun! tar#Write(fname)
|
||||
let tarfile = substitute(b:tarfile,'tarfile:\(.\{-}\)::.*$','\1','')
|
||||
let fname = substitute(b:tarfile,'tarfile:.\{-}::\(.*\)$','\1','')
|
||||
|
||||
let gzip_command = s:get_gzip_command(tarfile)
|
||||
|
||||
" handle compressed archives
|
||||
if tarfile =~# '\.bz2'
|
||||
call system("bzip2 -d -- ".shellescape(tarfile,0))
|
||||
@ -396,12 +402,12 @@ fun! tar#Write(fname)
|
||||
let compress= "bzip2 -- ".shellescape(tarfile,0)
|
||||
" call Decho("compress<".compress.">")
|
||||
elseif tarfile =~# '\.gz'
|
||||
call system("gzip -d -- ".shellescape(tarfile,0))
|
||||
call system(gzip_command . " -d -- ".shellescape(tarfile,0))
|
||||
let tarfile = substitute(tarfile,'\.gz','','e')
|
||||
let compress= "gzip -- ".shellescape(tarfile,0)
|
||||
" call Decho("compress<".compress.">")
|
||||
elseif tarfile =~# '\.tgz'
|
||||
call system("gzip -d -- ".shellescape(tarfile,0))
|
||||
call system(gzip_command . " -d -- ".shellescape(tarfile,0))
|
||||
let tarfile = substitute(tarfile,'\.tgz','.tar','e')
|
||||
let compress= "gzip -- ".shellescape(tarfile,0)
|
||||
let tgz = 1
|
||||
@ -581,7 +587,10 @@ fun! tar#Vimuntar(...)
|
||||
|
||||
" if necessary, decompress the tarball; then, extract it
|
||||
if tartail =~ '\.tgz'
|
||||
if executable("gunzip")
|
||||
let gzip_command = s:get_gzip_command(tarfile)
|
||||
if executable(gzip_command)
|
||||
silent exe "!" . gzip_command . " -d ".shellescape(tartail)
|
||||
elseif executable("gunzip")
|
||||
silent exe "!gunzip ".shellescape(tartail)
|
||||
elseif executable("gzip")
|
||||
silent exe "!gzip -d ".shellescape(tartail)
|
||||
@ -619,6 +628,28 @@ fun! tar#Vimuntar(...)
|
||||
" call Dret("tar#Vimuntar")
|
||||
endfun
|
||||
|
||||
func s:get_gzip_command(file)
|
||||
" Try using the "file" command to get the actual compression type, since
|
||||
" there is no standard way for the naming: ".tgz", ".tbz", ".txz", etc.
|
||||
" If the "file" command doesn't work fall back to just using the file name.
|
||||
if a:file =~# 'z$'
|
||||
let filetype = system('file ' . a:file)
|
||||
if filetype =~ 'bzip2 compressed' && executable('bzip2')
|
||||
return 'bzip2'
|
||||
endif
|
||||
if filetype =~ 'XZ compressed' && executable('xz')
|
||||
return 'xz'
|
||||
endif
|
||||
endif
|
||||
if a:file =~# 'bz2$'
|
||||
return 'bzip2'
|
||||
endif
|
||||
if a:file =~# 'xz$'
|
||||
return 'xz'
|
||||
endif
|
||||
return 'gzip'
|
||||
endfunc
|
||||
|
||||
" =====================================================================
|
||||
" Modelines And Restoration: {{{1
|
||||
let &cpo= s:keepcpo
|
||||
|
37
runtime/compiler/stack.vim
Normal file
37
runtime/compiler/stack.vim
Normal file
@ -0,0 +1,37 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Haskell Stack
|
||||
" Maintainer: Daniel Campoverde <alx@sillybytes.net>
|
||||
" Latest Revision: 2018-08-27
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "stack"
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
|
||||
CompilerSet errorformat=
|
||||
\%-G%.%#:\ build\ %.%#,
|
||||
\%-G%.%#:\ configure\ %.%#,
|
||||
\%-G[%.%#]%.%#,
|
||||
\%-G%.%#preprocessing\ %.%#,
|
||||
\%-G%.%#configuring\ %.%#,
|
||||
\%-G%.%#building\ %.%#,
|
||||
\%-G%.%#linking\ %.%#,
|
||||
\%-G%.%#installing\ %.%#,
|
||||
\%-G%.%#registering\ %.%#,
|
||||
\%-G%.%#:\ copy/register%.%#,
|
||||
\%-G%.%#process\ exited\ %.%#,
|
||||
\%-G%.%#--builddir=%.%#,
|
||||
\%-G--%.%#,
|
||||
\%-G%.%#\|%.%#,
|
||||
\%E%f:%l:%c:\ error:,%+Z\ \ \ \ %m,
|
||||
\%E%f:%l:%c:\ error:\ %m,%-Z,
|
||||
\%W%f:%l:%c:\ warning:,%+Z\ \ \ \ %m,
|
||||
\%W%f:%l:%c:\ warning:\ %m,%-Z,
|
||||
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
@ -5,6 +5,7 @@
|
||||
" Last Change: 2001 May 27
|
||||
|
||||
aunmenu *
|
||||
tlunmenu *
|
||||
|
||||
silent! unlet did_install_default_menus
|
||||
silent! unlet did_install_syntax_menu
|
||||
|
@ -301,6 +301,7 @@ Name triggered by ~
|
||||
|FileChangedShellPost| After handling a file changed since editing started
|
||||
|FileChangedRO| before making the first change to a read-only file
|
||||
|
||||
|DiffUpdated| after diffs have been updated
|
||||
|DirChanged| after the working directory has changed
|
||||
|
||||
|ShellCmdPost| after executing a shell command
|
||||
@ -656,12 +657,17 @@ FileChangedRO Before making the first change to a read-only
|
||||
*E881*
|
||||
If the number of lines changes saving for undo
|
||||
may fail and the change will be aborted.
|
||||
*DiffUpdated*
|
||||
DiffUpdated After diffs have been updated. Depending on
|
||||
what kind of diff is being used (internal or
|
||||
external) this can be triggered on every
|
||||
change or when doing |:diffupdate|.
|
||||
*DirChanged*
|
||||
DirChanged The working directory has changed in response
|
||||
to the |:cd| or |:lcd| commands, or as a
|
||||
result of the 'autochdir' option.
|
||||
The pattern can be:
|
||||
"window" to trigger on `:lcd
|
||||
"window" to trigger on `:lcd`
|
||||
"global" to trigger on `:cd`
|
||||
"auto" to trigger on 'autochdir'.
|
||||
"drop" to trigger on editing a file
|
||||
@ -829,13 +835,14 @@ MenuPopup Just before showing the popup menu (under the
|
||||
right mouse button). Useful for adjusting the
|
||||
menu for what is under the cursor or mouse
|
||||
pointer.
|
||||
The pattern is matched against a single
|
||||
character representing the mode:
|
||||
The pattern is matched against one or two
|
||||
characters representing the mode:
|
||||
n Normal
|
||||
v Visual
|
||||
o Operator-pending
|
||||
i Insert
|
||||
c Command line
|
||||
tl Terminal
|
||||
*OptionSet*
|
||||
OptionSet After setting an option. The pattern is
|
||||
matched against the long option name.
|
||||
@ -859,6 +866,9 @@ OptionSet After setting an option. The pattern is
|
||||
plugin. You can always use `:noa` to prevent
|
||||
triggering this autocommand.
|
||||
|
||||
When using |:set| in the autocommand the event
|
||||
is not triggered again.
|
||||
|
||||
*QuickFixCmdPre*
|
||||
QuickFixCmdPre Before a quickfix command is run (|:make|,
|
||||
|:lmake|, |:grep|, |:lgrep|, |:grepadd|,
|
||||
|
@ -708,6 +708,7 @@ The flags that you can use for the substitute commands:
|
||||
search pattern.
|
||||
{not in Vi: highlighting of the match, other responses than 'y' or 'n'}
|
||||
|
||||
*:s_e*
|
||||
[e] When the search pattern fails, do not issue an error message and, in
|
||||
particular, continue in maps as if no error occurred. This is most
|
||||
useful to prevent the "No match" error from breaking a mapping. Vim
|
||||
@ -719,6 +720,7 @@ The flags that you can use for the substitute commands:
|
||||
Interrupted
|
||||
{not in Vi}
|
||||
|
||||
*:s_g*
|
||||
[g] Replace all occurrences in the line. Without this argument,
|
||||
replacement occurs only for the first occurrence in each line. If
|
||||
the 'edcompatible' option is on, Vim remembers this flag and toggles
|
||||
@ -726,26 +728,30 @@ The flags that you can use for the substitute commands:
|
||||
pattern. If the 'gdefault' option is on, this flag is on by default
|
||||
and the [g] argument switches it off.
|
||||
|
||||
*:s_i*
|
||||
[i] Ignore case for the pattern. The 'ignorecase' and 'smartcase' options
|
||||
are not used.
|
||||
{not in Vi}
|
||||
|
||||
*:s_I*
|
||||
[I] Don't ignore case for the pattern. The 'ignorecase' and 'smartcase'
|
||||
options are not used.
|
||||
{not in Vi}
|
||||
|
||||
*:s_n*
|
||||
[n] Report the number of matches, do not actually substitute. The [c]
|
||||
flag is ignored. The matches are reported as if 'report' is zero.
|
||||
Useful to |count-items|.
|
||||
If \= |sub-replace-expression| is used, the expression will be
|
||||
evaluated in the |sandbox| at every match.
|
||||
|
||||
[p] Print the line containing the last substitute.
|
||||
[p] Print the line containing the last substitute. *:s_p*
|
||||
|
||||
[#] Like [p] and prepend the line number.
|
||||
[#] Like [p] and prepend the line number. *:s_#*
|
||||
|
||||
[l] Like [p] but print the text like |:list|.
|
||||
[l] Like [p] but print the text like |:list|. *:s_l*
|
||||
|
||||
*:s_r*
|
||||
[r] Only useful in combination with `:&` or `:s` without arguments. `:&r`
|
||||
works the same way as `:~`: When the search pattern is empty, use the
|
||||
previously used search pattern instead of the search pattern from the
|
||||
@ -1447,7 +1453,7 @@ to the name of an external program for Vim to use for text formatting. The
|
||||
program.
|
||||
|
||||
*format-formatexpr*
|
||||
The 'formatexpr' option can be set to a Vim Script function that performs
|
||||
The 'formatexpr' option can be set to a Vim script function that performs
|
||||
reformatting of the buffer. This should usually happen in an |ftplugin|,
|
||||
since formatting is highly dependent on the type of file. It makes
|
||||
sense to use an |autoload| script, so the corresponding script is only loaded
|
||||
@ -1481,7 +1487,7 @@ text. Put it in your autoload directory, e.g. ~/.vim/autoload/format.vim: >
|
||||
|
||||
You can then enable the formatting by executing: >
|
||||
setlocal formatexpr=format#Format()
|
||||
>
|
||||
|
||||
Note: this function explicitly returns non-zero when called from insert mode
|
||||
(which basically means, text is inserted beyond the 'textwidth' limit). This
|
||||
causes Vim to fall back to reformat the text by using the internal formatter.
|
||||
|
@ -163,6 +163,9 @@ Use |ch_status()| to see if the channel could be opened.
|
||||
The "close_cb" is also considered for this.
|
||||
"never" All messages will be kept.
|
||||
|
||||
*channel-noblock*
|
||||
"noblock" Same effect as |job-noblock|. Only matters for writing.
|
||||
|
||||
*waittime*
|
||||
"waittime" The time to wait for the connection to be made in
|
||||
milliseconds. A negative number waits forever.
|
||||
@ -594,6 +597,17 @@ See |job_setoptions()| and |ch_setoptions()|.
|
||||
Note: when writing to a file or buffer and when
|
||||
reading from a buffer NL mode is used by default.
|
||||
|
||||
*job-noblock*
|
||||
"noblock": 1 When writing use a non-blocking write call. This
|
||||
avoids getting stuck if Vim should handle other
|
||||
messages in between, e.g. when a job sends back data
|
||||
to Vim. It implies that when `ch_sendraw()` returns
|
||||
not all data may have been written yet.
|
||||
This option was added in patch 8.1.0350, test with: >
|
||||
if has("patch-8.1.350")
|
||||
let options['noblock'] = 1
|
||||
endif
|
||||
<
|
||||
*job-callback*
|
||||
"callback": handler Callback for something to read on any part of the
|
||||
channel.
|
||||
|
@ -534,8 +534,46 @@ after a command causes the rest of the line to be ignored. This can be used
|
||||
to add comments. Example: >
|
||||
:set ai "set 'autoindent' option
|
||||
It is not possible to add a comment to a shell command ":!cmd" or to the
|
||||
":map" command and a few others, because they see the '"' as part of their
|
||||
argument. This is mentioned where the command is explained.
|
||||
":map" command and a few others (mainly commands that expect expressions)
|
||||
that see the '"' as part of their argument:
|
||||
|
||||
:argdo
|
||||
:autocmd
|
||||
:bufdo
|
||||
:cexpr (and the like)
|
||||
:call
|
||||
:cdo (and the like)
|
||||
:command
|
||||
:cscope (and the like)
|
||||
:debug
|
||||
:display
|
||||
:echo (and the like)
|
||||
:elseif
|
||||
:execute
|
||||
:folddoopen
|
||||
:folddoclosed
|
||||
:for
|
||||
:grep (and the like)
|
||||
:help (and the like)
|
||||
:if
|
||||
:let
|
||||
:make
|
||||
:map (and the like including :abbrev commands)
|
||||
:menu (and the like)
|
||||
:mkspell
|
||||
:normal
|
||||
:ownsyntax
|
||||
:popup
|
||||
:promptfind (and the like)
|
||||
:registers
|
||||
:return
|
||||
:sort
|
||||
:syntax
|
||||
:tabdo
|
||||
:tearoff
|
||||
:vimgrep (and the like)
|
||||
:while
|
||||
:windo
|
||||
|
||||
*:bar* *:\bar*
|
||||
'|' can be used to separate commands, so you can give multiple commands in one
|
||||
@ -832,11 +870,12 @@ it, no matter how many backslashes.
|
||||
\\# \#
|
||||
Also see |`=|.
|
||||
|
||||
*:<cword>* *:<cWORD>* *:<cfile>* *<cfile>*
|
||||
*:<sfile>* *<sfile>* *:<afile>* *<afile>*
|
||||
*:<abuf>* *<abuf>* *:<amatch>* *<amatch>*
|
||||
*:<cexpr>* *<cexpr>*
|
||||
*<slnum>* *E495* *E496* *E497* *E499* *E500*
|
||||
*:<cword>* *<cword>* *:<cWORD>* *<cWORD>*
|
||||
*:<cexpr>* *<cexpr>* *:<cfile>* *<cfile>*
|
||||
*:<afile>* *<afile>* *:<abuf>* *<abuf>*
|
||||
*:<amatch>* *<amatch>*
|
||||
*:<sfile>* *<sfile>* *:<slnum>* *<slnum>*
|
||||
*:<sflnum>* *<sflnum>* *E499* *E500*
|
||||
Note: these are typed literally, they are not special keys!
|
||||
<cword> is replaced with the word under the cursor (like |star|)
|
||||
<cWORD> is replaced with the WORD under the cursor (see |WORD|)
|
||||
@ -849,15 +888,16 @@ Note: these are typed literally, they are not special keys!
|
||||
|gf| uses)
|
||||
<afile> When executing autocommands, is replaced with the file name
|
||||
of the buffer being manipulated, or the file for a read or
|
||||
write.
|
||||
write. *E495*
|
||||
<abuf> When executing autocommands, is replaced with the currently
|
||||
effective buffer number (for ":r file" and ":so file" it is
|
||||
the current buffer, the file being read/sourced is not in a
|
||||
buffer).
|
||||
buffer). *E496*
|
||||
<amatch> When executing autocommands, is replaced with the match for
|
||||
which this autocommand was executed. It differs from
|
||||
<afile> only when the file name isn't used to match with
|
||||
(for FileType, Syntax and SpellFileMissing events).
|
||||
which this autocommand was executed. *E497*
|
||||
It differs from <afile> only when the file name isn't used
|
||||
to match with (for FileType, Syntax and SpellFileMissing
|
||||
events).
|
||||
<sfile> When executing a ":source" command, is replaced with the
|
||||
file name of the sourced file. *E498*
|
||||
When executing a function, is replaced with:
|
||||
@ -867,9 +907,12 @@ Note: these are typed literally, they are not special keys!
|
||||
Note that filename-modifiers are useless when <sfile> is
|
||||
used inside a function.
|
||||
<slnum> When executing a ":source" command, is replaced with the
|
||||
line number. *E842*
|
||||
line number. *E842*
|
||||
When executing a function it's the line number relative to
|
||||
the start of the function.
|
||||
<sflnum> When executing a script, is replaced with the line number.
|
||||
It differs from <slnum> in that <sflnum> is replaced with
|
||||
the script line number in any situation. *E961*
|
||||
|
||||
*filename-modifiers*
|
||||
*:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs* *::S*
|
||||
|
@ -39,7 +39,9 @@ The second and following arguments may also be a directory name. Vim will
|
||||
then append the file name of the first argument to the directory name to find
|
||||
the file.
|
||||
|
||||
This only works when a standard "diff" command is available. See 'diffexpr'.
|
||||
By default an internal diff library will be used. When 'diffopt' or
|
||||
'diffexpr' has been set an external "diff" command will be used. This only
|
||||
works when such a diff program is available.
|
||||
|
||||
Diffs are local to the current tab page |tab-page|. You can't see diffs with
|
||||
a window in another tab page. This does make it possible to have several
|
||||
@ -344,8 +346,9 @@ between file1 and file2: >
|
||||
|
||||
The ">" is replaced with the value of 'shellredir'.
|
||||
|
||||
The output of "diff" must be a normal "ed" style diff. Do NOT use a context
|
||||
diff. This example explains the format that Vim expects: >
|
||||
The output of "diff" must be a normal "ed" style diff or a unified diff. Do
|
||||
NOT use a context diff. This example explains the format that Vim expects for
|
||||
the "ed" style diff: >
|
||||
|
||||
1a2
|
||||
> bbb
|
||||
@ -384,12 +387,16 @@ Example (this does almost the same as 'diffexpr' being empty): >
|
||||
endif
|
||||
silent execute "!diff -a --binary " . opt . v:fname_in . " " . v:fname_new .
|
||||
\ " > " . v:fname_out
|
||||
redraw!
|
||||
endfunction
|
||||
|
||||
The "-a" argument is used to force comparing the files as text, comparing as
|
||||
binaries isn't useful. The "--binary" argument makes the files read in binary
|
||||
mode, so that a CTRL-Z doesn't end the text on DOS.
|
||||
|
||||
The `redraw!` command may not be needed, depending on whether executing a
|
||||
shell command shows something on the display or not.
|
||||
|
||||
*E810* *E97*
|
||||
Vim will do a test if the diff output looks alright. If it doesn't, you will
|
||||
get an error message. Possible causes:
|
||||
|
@ -954,6 +954,13 @@ These three can be repeated and mixed. Examples:
|
||||
|
||||
expr8 *expr8*
|
||||
-----
|
||||
This expression is either |expr9| or a sequence of the alternatives below,
|
||||
in any order. E.g., these are all possible:
|
||||
expr9[expr1].name
|
||||
expr9.name[expr1]
|
||||
expr9(expr1, ...)[expr1].name
|
||||
|
||||
|
||||
expr8[expr1] item of String or |List| *expr-[]* *E111*
|
||||
*E909* *subscript*
|
||||
If expr8 is a Number or String this results in a String that contains the
|
||||
@ -2015,8 +2022,10 @@ abs({expr}) Float or Number absolute value of {expr}
|
||||
acos({expr}) Float arc cosine of {expr}
|
||||
add({list}, {item}) List append {item} to |List| {list}
|
||||
and({expr}, {expr}) Number bitwise AND
|
||||
append({lnum}, {string}) Number append {string} below line {lnum}
|
||||
append({lnum}, {list}) Number append lines {list} below line {lnum}
|
||||
append({lnum}, {text}) Number append {text} below line {lnum}
|
||||
appendbufline({expr}, {lnum}, {text})
|
||||
Number append {text} below line {lnum}
|
||||
in buffer {expr}
|
||||
argc() Number number of files in the argument list
|
||||
argidx() Number current index in the argument list
|
||||
arglistid([{winnr} [, {tabnr}]]) Number argument list id
|
||||
@ -2029,7 +2038,8 @@ assert_equalfile({fname-one}, {fname-two})
|
||||
Number assert file contents is equal
|
||||
assert_exception({error} [, {msg}])
|
||||
Number assert {error} is in v:exception
|
||||
assert_fails({cmd} [, {error}]) Number assert {cmd} fails
|
||||
assert_fails({cmd} [, {error} [, {msg}]])
|
||||
Number assert {cmd} fails
|
||||
assert_false({actual} [, {msg}])
|
||||
Number assert {actual} is false
|
||||
assert_inrange({lower}, {upper}, {actual} [, {msg}])
|
||||
@ -2101,8 +2111,8 @@ confirm({msg} [, {choices} [, {default} [, {type}]]])
|
||||
copy({expr}) any make a shallow copy of {expr}
|
||||
cos({expr}) Float cosine of {expr}
|
||||
cosh({expr}) Float hyperbolic cosine of {expr}
|
||||
count({list}, {expr} [, {ic} [, {start}]])
|
||||
Number count how many {expr} are in {list}
|
||||
count({comp}, {expr} [, {ic} [, {start}]])
|
||||
Number count how many {expr} are in {comp}
|
||||
cscope_connection([{num}, {dbpath} [, {prepend}]])
|
||||
Number checks existence of cscope connection
|
||||
cursor({lnum}, {col} [, {off}])
|
||||
@ -2111,7 +2121,7 @@ cursor({list}) Number move cursor to position in {list}
|
||||
debugbreak({pid}) Number interrupt process being debugged
|
||||
deepcopy({expr} [, {noref}]) any make a full copy of {expr}
|
||||
delete({fname} [, {flags}]) Number delete the file or directory {fname}
|
||||
deletebufline({expr}, {first}[, {last}])
|
||||
deletebufline({expr}, {first} [, {last}])
|
||||
Number delete lines from buffer {expr}
|
||||
did_filetype() Number |TRUE| if FileType autocmd event used
|
||||
diff_filler({lnum}) Number diff filler lines about {lnum}
|
||||
@ -2324,7 +2334,6 @@ remote_read({serverid} [, {timeout}])
|
||||
remote_send({server}, {string} [, {idvar}])
|
||||
String send key sequence
|
||||
remote_startserver({name}) none become server {name}
|
||||
String send key sequence
|
||||
remove({list}, {idx} [, {end}]) any remove items {idx}-{end} from {list}
|
||||
remove({dict}, {key}) any remove entry {key} from {dict}
|
||||
rename({from}, {to}) Number rename (move) file from {from} to {to}
|
||||
@ -2349,8 +2358,8 @@ searchpos({pattern} [, {flags} [, {stopline} [, {timeout}]]])
|
||||
server2client({clientid}, {string})
|
||||
Number send reply string
|
||||
serverlist() String get a list of available servers
|
||||
setbufline({expr}, {lnum}, {line})
|
||||
Number set line {lnum} to {line} in buffer
|
||||
setbufline({expr}, {lnum}, {text})
|
||||
Number set line {lnum} to {text} in buffer
|
||||
{expr}
|
||||
setbufvar({expr}, {varname}, {val})
|
||||
none set {varname} in buffer {expr} to {val}
|
||||
@ -2409,6 +2418,8 @@ submatch({nr} [, {list}]) String or List
|
||||
specific match in ":s" or substitute()
|
||||
substitute({expr}, {pat}, {sub}, {flags})
|
||||
String all {pat} in {expr} replaced with {sub}
|
||||
swapinfo({fname}) Dict information about swap file {fname}
|
||||
swapname({expr}) String swap file of buffer {expr}
|
||||
synID({lnum}, {col}, {trans}) Number syntax ID at {lnum} and {col}
|
||||
synIDattr({synID}, {what} [, {mode}])
|
||||
String attribute {what} of syntax ID {synID}
|
||||
@ -2451,12 +2462,12 @@ term_setkill({buf}, {how}) none set signal to stop job in terminal
|
||||
term_setrestore({buf}, {command}) none set command to restore terminal
|
||||
term_setsize({buf}, {rows}, {cols})
|
||||
none set the size of a terminal
|
||||
term_start({cmd}, {options}) Job open a terminal window and run a job
|
||||
term_start({cmd}, {options}) Number open a terminal window and run a job
|
||||
term_wait({buf} [, {time}]) Number wait for screen to be updated
|
||||
test_alloc_fail({id}, {countdown}, {repeat})
|
||||
none make memory allocation fail
|
||||
test_autochdir() none enable 'autochdir' during startup
|
||||
test_feedinput() none add key sequence to input buffer
|
||||
test_feedinput({string}) none add key sequence to input buffer
|
||||
test_garbagecollect_now() none free memory right now for testing
|
||||
test_ignore_error({expr}) none ignore a specific error
|
||||
test_null_channel() Channel null value for testing
|
||||
@ -2465,7 +2476,10 @@ test_null_job() Job null value for testing
|
||||
test_null_list() List null value for testing
|
||||
test_null_partial() Funcref null value for testing
|
||||
test_null_string() String null value for testing
|
||||
test_override({expr}, {val}) none test with Vim internal overrides
|
||||
test_option_not_set({name}) none reset flag indicating option was set
|
||||
test_override({expr}, {val}) none test with Vim internal overrides
|
||||
test_scrollbar({which}, {value}, {dragging})
|
||||
none scroll in the GUI for testing
|
||||
test_settime({expr}) none set current time for testing
|
||||
timer_info([{id}]) List information about timers
|
||||
timer_pause({id}, {pause}) none pause or unpause a timer
|
||||
@ -2477,7 +2491,7 @@ tolower({expr}) String the String {expr} switched to lowercase
|
||||
toupper({expr}) String the String {expr} switched to uppercase
|
||||
tr({src}, {fromstr}, {tostr}) String translate chars of {src} in {fromstr}
|
||||
to chars in {tostr}
|
||||
trim({text}[, {mask}]) String trim characters in {mask} from {text}
|
||||
trim({text} [, {mask}]) String trim characters in {mask} from {text}
|
||||
trunc({expr}) Float truncate Float {expr}
|
||||
type({name}) Number type of variable {name}
|
||||
undofile({name}) String undo file name for {name}
|
||||
@ -2497,6 +2511,7 @@ win_screenpos({nr}) List get screen position of window {nr}
|
||||
winbufnr({nr}) Number buffer number of window {nr}
|
||||
wincol() Number window column of the cursor
|
||||
winheight({nr}) Number height of window {nr}
|
||||
winlayout([{tabnr}]) List layout of windows in tab {tabnr}
|
||||
winline() Number window line of the cursor
|
||||
winnr([{expr}]) Number number of current window
|
||||
winrestcmd() String returns command to restore window sizes
|
||||
@ -2554,10 +2569,10 @@ and({expr}, {expr}) *and()*
|
||||
:let flag = and(bits, 0x80)
|
||||
|
||||
|
||||
append({lnum}, {expr}) *append()*
|
||||
When {expr} is a |List|: Append each item of the |List| as a
|
||||
append({lnum}, {text}) *append()*
|
||||
When {text} is a |List|: Append each item of the |List| as a
|
||||
text line below line {lnum} in the current buffer.
|
||||
Otherwise append {expr} as one text line below line {lnum} in
|
||||
Otherwise append {text} as one text line below line {lnum} in
|
||||
the current buffer.
|
||||
{lnum} can be zero to insert a line before the first one.
|
||||
Returns 1 for failure ({lnum} out of range or out of memory),
|
||||
@ -2657,7 +2672,7 @@ assert_exception({error} [, {msg}]) *assert_exception()*
|
||||
call assert_exception('E492:')
|
||||
endtry
|
||||
|
||||
assert_fails({cmd} [, {error}]) *assert_fails()*
|
||||
assert_fails({cmd} [, {error} [, {msg}]]) *assert_fails()*
|
||||
Run {cmd} and add an error message to |v:errors| if it does
|
||||
NOT produce an error. Also see |assert-return|.
|
||||
When {error} is given it must match in |v:errmsg|.
|
||||
@ -2787,15 +2802,15 @@ balloon_show({expr}) *balloon_show()*
|
||||
|
||||
When showing a balloon is not possible nothing happens, no
|
||||
error message.
|
||||
{only available when compiled with the +balloon_eval or
|
||||
+balloon_eval_term feature}
|
||||
{only available when compiled with the |+balloon_eval| or
|
||||
|+balloon_eval_term| feature}
|
||||
|
||||
balloon_split({msg}) *balloon_split()*
|
||||
Split {msg} into lines to be displayed in a balloon. The
|
||||
splits are made for the current window size and optimize to
|
||||
show debugger output.
|
||||
Returns a |List| with the split lines.
|
||||
{only available when compiled with the +balloon_eval_term
|
||||
{only available when compiled with the |+balloon_eval_term|
|
||||
feature}
|
||||
|
||||
*browse()*
|
||||
@ -3529,14 +3544,14 @@ delete({fname} [, {flags}]) *delete()*
|
||||
To delete a line from the buffer use |:delete| or
|
||||
|deletebufline()|.
|
||||
|
||||
deletebufline({expr}, {first}[, {last}]) *deletebufline()*
|
||||
deletebufline({expr}, {first} [, {last}]) *deletebufline()*
|
||||
Delete lines {first} to {last} (inclusive) from buffer {expr}.
|
||||
If {last} is omitted then delete line {first} only.
|
||||
On success 0 is returned, on failure 1 is returned.
|
||||
|
||||
For the use of {expr}, see |bufname()| above.
|
||||
|
||||
{first} and {last} are used like with |setline()|. Note that
|
||||
{first} and {last} are used like with |getline()|. Note that
|
||||
when using |line()| this refers to the current buffer. Use "$"
|
||||
to refer to the last line in buffer {expr}.
|
||||
|
||||
@ -3789,7 +3804,10 @@ expand({expr} [, {nosuf} [, {list}]]) *expand()*
|
||||
<abuf> autocmd buffer number (as a String!)
|
||||
<amatch> autocmd matched name
|
||||
<sfile> sourced script file or function name
|
||||
<slnum> sourced script file line number
|
||||
<slnum> sourced script line number or function
|
||||
line number
|
||||
<sflnum> script file line number, also when in
|
||||
a function
|
||||
<cword> word under the cursor
|
||||
<cWORD> WORD under the cursor
|
||||
<client> the {clientid} of the last received
|
||||
@ -4307,7 +4325,7 @@ getbufinfo([{dict}])
|
||||
endfor
|
||||
<
|
||||
To get buffer-local options use: >
|
||||
getbufvar({bufnr}, '&')
|
||||
getbufvar({bufnr}, '&option_name')
|
||||
|
||||
<
|
||||
*getbufline()*
|
||||
@ -4488,6 +4506,8 @@ getcmdline() *getcmdline()*
|
||||
Example: >
|
||||
:cmap <F7> <C-\>eescape(getcmdline(), ' \')<CR>
|
||||
< Also see |getcmdtype()|, |getcmdpos()| and |setcmdpos()|.
|
||||
Returns an empty string when entering a password or using
|
||||
|inputsecret()|.
|
||||
|
||||
getcmdpos() *getcmdpos()*
|
||||
Return the position of the cursor in the command line as a
|
||||
@ -4720,6 +4740,10 @@ getloclist({nr} [, {what}]) *getloclist()*
|
||||
If the optional {what} dictionary argument is supplied, then
|
||||
returns the items listed in {what} as a dictionary. Refer to
|
||||
|getqflist()| for the supported items in {what}.
|
||||
If {what} contains 'filewinid', then returns the id of the
|
||||
window used to display files from the location list. This
|
||||
field is applicable only when called from a location list
|
||||
window.
|
||||
|
||||
getmatches() *getmatches()*
|
||||
Returns a |List| with all matches previously defined by
|
||||
@ -5918,6 +5942,7 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
|
||||
(|mapmode-ic|)
|
||||
"sid" The script local ID, used for <sid> mappings
|
||||
(|<SID>|).
|
||||
"lnum" The line number in "sid", zero if unknown.
|
||||
"nowait" Do not wait for other, longer mappings.
|
||||
(|:map-<nowait>|).
|
||||
|
||||
@ -5965,11 +5990,14 @@ match({expr}, {pat} [, {start} [, {count}]]) *match()*
|
||||
When {expr} is a |List| then this returns the index of the
|
||||
first item where {pat} matches. Each item is used as a
|
||||
String, |Lists| and |Dictionaries| are used as echoed.
|
||||
|
||||
Otherwise, {expr} is used as a String. The result is a
|
||||
Number, which gives the index (byte offset) in {expr} where
|
||||
{pat} matches.
|
||||
|
||||
A match at the first character or |List| item returns zero.
|
||||
If there is no match -1 is returned.
|
||||
|
||||
For getting submatches see |matchlist()|.
|
||||
Example: >
|
||||
:echo match("testing", "ing") " results in 4
|
||||
@ -8000,6 +8028,32 @@ substitute({expr}, {pat}, {sub}, {flags}) *substitute()*
|
||||
|submatch()| returns. Example: >
|
||||
:echo substitute(s, '%\(\x\x\)', {m -> '0x' . m[1]}, 'g')
|
||||
|
||||
swapinfo({fname}) *swapinfo()*
|
||||
The result is a dictionary, which holds information about the
|
||||
swapfile {fname}. The available fields are:
|
||||
version Vim version
|
||||
user user name
|
||||
host host name
|
||||
fname original file name
|
||||
pid PID of the Vim process that created the swap
|
||||
file
|
||||
mtime last modification time in seconds
|
||||
inode Optional: INODE number of the file
|
||||
dirty 1 if file was modified, 0 if not
|
||||
Note that "user" and "host" are truncated to at most 39 bytes.
|
||||
In case of failure an "error" item is added with the reason:
|
||||
Cannot open file: file not found or in accessible
|
||||
Cannot read file: cannot read first block
|
||||
Not a swap file: does not contain correct block ID
|
||||
Magic number mismatch: Info in first block is invalid
|
||||
|
||||
swapname({expr}) *swapname()*
|
||||
The result is the swap file path of the buffer {expr}.
|
||||
For the use of {expr}, see |bufname()| above.
|
||||
If buffer {expr} is the current buffer, the result is equal to
|
||||
|:swapname| (unless no swap file).
|
||||
If buffer {expr} has no swap file, returns an empty string.
|
||||
|
||||
synID({lnum}, {col}, {trans}) *synID()*
|
||||
The result is a Number, which is the syntax ID at the position
|
||||
{lnum} and {col} in the current window.
|
||||
@ -8081,7 +8135,7 @@ synconcealed({lnum}, {col}) *synconcealed()*
|
||||
concealable region if there are two consecutive regions
|
||||
with the same replacement character. For an example, if
|
||||
the text is "123456" and both "23" and "45" are concealed
|
||||
and replace by the character "X", then:
|
||||
and replaced by the character "X", then:
|
||||
call returns ~
|
||||
synconcealed(lnum, 1) [0, '', 0]
|
||||
synconcealed(lnum, 2) [1, 'X', 1]
|
||||
@ -8309,7 +8363,7 @@ term_dumpdiff({filename}, {filename} [, {options}])
|
||||
The top part of the buffer contains the contents of the first
|
||||
file, the bottom part of the buffer contains the contents of
|
||||
the second file. The middle part shows the differences.
|
||||
The parts are separated by a line of dashes.
|
||||
The parts are separated by a line of equals.
|
||||
|
||||
If the {options} argument is present, it must be a Dict with
|
||||
these possible members:
|
||||
@ -8354,7 +8408,9 @@ term_dumpwrite({buf}, {filename} [, {options}])
|
||||
Dump the contents of the terminal screen of {buf} in the file
|
||||
{filename}. This uses a format that can be used with
|
||||
|term_dumpload()| and |term_dumpdiff()|.
|
||||
If {filename} already exists an error is given. *E953*
|
||||
If the job in the terminal already finished an error is given:
|
||||
*E958*
|
||||
If {filename} already exists an error is given: *E953*
|
||||
Also see |terminal-diff|.
|
||||
|
||||
{options} is a dictionary with these optional entries:
|
||||
@ -8400,8 +8456,8 @@ term_getcursor({buf}) *term_getcursor()*
|
||||
"dict" can have these members:
|
||||
"visible" one when the cursor is visible, zero when it
|
||||
is hidden.
|
||||
"blink" one when the cursor is visible, zero when it
|
||||
is hidden.
|
||||
"blink" one when the cursor is blinking, zero when it
|
||||
is not blinking.
|
||||
"shape" 1 for a block cursor, 2 for underline and 3
|
||||
for a vertical bar.
|
||||
|
||||
@ -8433,7 +8489,7 @@ term_getscrolled({buf}) *term_getscrolled()*
|
||||
used for |term_getline()| and |getline()|, so that: >
|
||||
term_getline(buf, N)
|
||||
< is equal to: >
|
||||
`getline(N + term_getscrolled(buf))
|
||||
getline(N + term_getscrolled(buf))
|
||||
< (if that line exists).
|
||||
|
||||
{buf} is used as with |term_getsize()|.
|
||||
@ -8591,9 +8647,8 @@ term_start({cmd}, {options}) *term_start()*
|
||||
|job-options|. However, not all options can be used. These
|
||||
are supported:
|
||||
all timeout options
|
||||
"stoponexit"
|
||||
"callback", "out_cb", "err_cb"
|
||||
"exit_cb", "close_cb"
|
||||
"stoponexit", "cwd", "env"
|
||||
"callback", "out_cb", "err_cb", "exit_cb", "close_cb"
|
||||
"in_io", "in_top", "in_bot", "in_name", "in_buf"
|
||||
"out_io", "out_name", "out_buf", "out_modifiable", "out_msg"
|
||||
"err_io", "err_name", "err_buf", "err_modifiable", "err_msg"
|
||||
@ -8697,6 +8752,15 @@ test_null_partial() *test_null_partial()*
|
||||
test_null_string() *test_null_string()*
|
||||
Return a String that is null. Only useful for testing.
|
||||
|
||||
test_option_not_set({name}) *test_option_not_set()*
|
||||
Reset the flag that indicates option {name} was set. Thus it
|
||||
looks like it still has the default value. Use like this: >
|
||||
set ambiwidth=double
|
||||
call test_option_not_set('ambiwidth')
|
||||
< Now the 'ambiwidth' option behaves like it was never changed,
|
||||
even though the value is "double".
|
||||
Only to be used for testing!
|
||||
|
||||
test_override({name}, {val}) *test_override()*
|
||||
Overrides certain parts of Vims internal processing to be able
|
||||
to run tests. Only to be used for testing Vim!
|
||||
@ -8706,6 +8770,7 @@ test_override({name}, {val}) *test_override()*
|
||||
|
||||
name effect when {val} is non-zero ~
|
||||
redraw disable the redrawing() function
|
||||
redraw_flag ignore the RedrawingDisabled flag
|
||||
char_avail disable the char_avail() function
|
||||
starting reset the "starting" variable, see below
|
||||
nfa_fail makes the NFA regexp engine fail to force a
|
||||
@ -8722,6 +8787,23 @@ test_override({name}, {val}) *test_override()*
|
||||
< The value of "starting" is saved. It is restored by: >
|
||||
call test_override('starting', 0)
|
||||
|
||||
test_scrollbar({which}, {value}, {dragging}) *test_scrollbar()*
|
||||
Pretend using scrollbar {which} to move it to position
|
||||
{value}. {which} can be:
|
||||
left Left scrollbar of the current window
|
||||
right Right scrollbar of the current window
|
||||
hor Horizontal scrollbar
|
||||
|
||||
For the vertical scrollbars {value} can be 1 to the
|
||||
line-count of the buffer. For the horizontal scrollbar the
|
||||
{value} can be between 1 and the maximum line length, assuming
|
||||
'wrap' is not set.
|
||||
|
||||
When {dragging} is non-zero it's like dragging the scrollbar,
|
||||
otherwise it's like clicking in the scrollbar.
|
||||
Only works when the {which} scrollbar actually exists,
|
||||
obviously only when using the GUI.
|
||||
|
||||
test_settime({expr}) *test_settime()*
|
||||
Set the time Vim uses internally. Currently only used for
|
||||
timestamps in the history, as they are used in viminfo, and
|
||||
@ -8837,7 +8919,7 @@ tr({src}, {fromstr}, {tostr}) *tr()*
|
||||
echo tr("<blob>", "<>", "{}")
|
||||
< returns "{blob}"
|
||||
|
||||
trim({text}[, {mask}]) *trim()*
|
||||
trim({text} [, {mask}]) *trim()*
|
||||
Return {text} as a String where any character in {mask} is
|
||||
removed from the beginning and end of {text}.
|
||||
If {mask} is not given, {mask} is all characters up to 0x20,
|
||||
@ -9088,6 +9170,35 @@ winheight({nr}) *winheight()*
|
||||
This excludes any window toolbar line.
|
||||
Examples: >
|
||||
:echo "The current window has " . winheight(0) . " lines."
|
||||
<
|
||||
winlayout([{tabnr}]) *winlayout()*
|
||||
The result is a nested List containing the layout of windows
|
||||
in a tabpage.
|
||||
|
||||
Without {tabnr} use the current tabpage, otherwise the tabpage
|
||||
with number {tabnr}. If the tabpage {tabnr} is not found,
|
||||
returns an empty list.
|
||||
|
||||
For a leaf window, it returns:
|
||||
['leaf', {winid}]
|
||||
For horizontally split windows, which form a column, it
|
||||
returns:
|
||||
['col', [{nested list of windows}]]
|
||||
For vertically split windows, which form a row, it returns:
|
||||
['row', [{nested list of windows}]]
|
||||
|
||||
Example: >
|
||||
" Only one window in the tab page
|
||||
:echo winlayout()
|
||||
['leaf', 1000]
|
||||
" Two horizontally split windows
|
||||
:echo winlayout()
|
||||
['col', [['leaf', 1000], ['leaf', 1001]]]
|
||||
" Three horizontally split windows, with two
|
||||
" vertically split windows in the middle window
|
||||
:echo winlayout(2)
|
||||
['col', [['leaf', 1002], ['row', ['leaf', 1003],
|
||||
['leaf', 1001]]], ['leaf', 1000]]
|
||||
<
|
||||
*winline()*
|
||||
winline() The result is a Number, which is the screen line of the cursor
|
||||
|
@ -638,11 +638,31 @@ By default the following options are set, in accordance with PEP8: >
|
||||
|
||||
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
|
||||
|
||||
To disable this behaviour, set the following variable in your vimrc: >
|
||||
To disable this behavior, set the following variable in your vimrc: >
|
||||
|
||||
let g:python_recommended_style = 0
|
||||
|
||||
|
||||
R MARKDOWN *ft-rmd-plugin*
|
||||
|
||||
By default ftplugin/html.vim is not sourced. If you want it sourced, add to
|
||||
your |vimrc|: >
|
||||
let rmd_include_html = 1
|
||||
|
||||
The 'formatexpr' option is set dynamically with different values for R code
|
||||
and for Markdown code. If you prefer that 'formatexpr' is not set, add to your
|
||||
|vimrc|: >
|
||||
let rmd_dynamic_comments = 0
|
||||
|
||||
|
||||
R RESTRUCTURED TEXT *ft-rrst-plugin*
|
||||
|
||||
The 'formatexpr' option is set dynamically with different values for R code
|
||||
and for ReStructured text. If you prefer that 'formatexpr' is not set, add to
|
||||
your |vimrc|: >
|
||||
let rrst_dynamic_comments = 0
|
||||
|
||||
|
||||
RPM SPEC *ft-spec-plugin*
|
||||
|
||||
Since the text for this plugin is rather long it has been put in a separate
|
||||
|
@ -236,4 +236,4 @@ It also has a few other mappings:
|
||||
Note: This binding is only available in MacVim.
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:sw=4:noet:ts=8:ft=help:norl:
|
||||
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
||||
|
@ -547,15 +547,16 @@ floating menus that do not appear on the main menu bar.
|
||||
|
||||
5.2 Creating New Menus *creating-menus*
|
||||
|
||||
*:me* *:menu* *:noreme* *:noremenu*
|
||||
*:am* *:amenu* *:an* *:anoremenu*
|
||||
*:nme* *:nmenu* *:nnoreme* *:nnoremenu*
|
||||
*:ome* *:omenu* *:onoreme* *:onoremenu*
|
||||
*:vme* *:vmenu* *:vnoreme* *:vnoremenu*
|
||||
*:xme* *:xmenu* *:xnoreme* *:xnoremenu*
|
||||
*:sme* *:smenu* *:snoreme* *:snoremenu*
|
||||
*:ime* *:imenu* *:inoreme* *:inoremenu*
|
||||
*:cme* *:cmenu* *:cnoreme* *:cnoremenu*
|
||||
*:me* *:menu* *:noreme* *:noremenu*
|
||||
*:am* *:amenu* *:an* *:anoremenu*
|
||||
*:nme* *:nmenu* *:nnoreme* *:nnoremenu*
|
||||
*:ome* *:omenu* *:onoreme* *:onoremenu*
|
||||
*:vme* *:vmenu* *:vnoreme* *:vnoremenu*
|
||||
*:xme* *:xmenu* *:xnoreme* *:xnoremenu*
|
||||
*:sme* *:smenu* *:snoreme* *:snoremenu*
|
||||
*:ime* *:imenu* *:inoreme* *:inoremenu*
|
||||
*:cme* *:cmenu* *:cnoreme* *:cnoremenu*
|
||||
*:tlm* *:tlmenu* *:tln* *:tlnoremenu*
|
||||
*E330* *E327* *E331* *E336* *E333*
|
||||
*E328* *E329* *E337* *E792*
|
||||
To create a new menu item, use the ":menu" commands. They are mostly like
|
||||
@ -571,6 +572,10 @@ the mouse button down on this will pop up a menu containing the item
|
||||
"Big Changes", which is a sub-menu containing the item "Delete All Spaces",
|
||||
which when selected, performs the operation.
|
||||
|
||||
To create a menu for terminal mode, use |:tlmenu| instead of |:tmenu| unlike
|
||||
key mapping (|:tmap|). This is because |:tmenu| is already used for defining
|
||||
tooltips for menus. See |terminal-typing|.
|
||||
|
||||
Special characters in a menu name:
|
||||
|
||||
& The next character is the shortcut key. Make sure each
|
||||
@ -589,9 +594,9 @@ With the shortcut "F" (while keeping the <Alt> key pressed), and then "O",
|
||||
this menu can be used. The second part is shown as "Open :e". The ":e"
|
||||
is right aligned, and the "O" is underlined, to indicate it is the shortcut.
|
||||
|
||||
The ":amenu" command can be used to define menu entries for all modes at once.
|
||||
To make the command work correctly, a character is automatically inserted for
|
||||
some modes:
|
||||
The ":amenu" command can be used to define menu entries for all modes at once,
|
||||
except for Terminal mode. To make the command work correctly, a character is
|
||||
automatically inserted for some modes:
|
||||
mode inserted appended ~
|
||||
Normal nothing nothing
|
||||
Visual <C-C> <C-\><C-G>
|
||||
@ -865,6 +870,16 @@ be used to complete the name of the menu item.
|
||||
insert-mode menu Eg: >
|
||||
:emenu File.Exit
|
||||
|
||||
:[range]em[enu] {mode} {menu} Like above, but execute the menu for {mode}:
|
||||
'n': |:nmenu| Normal mode
|
||||
'v': |:vmenu| Visual mode
|
||||
's': |:smenu| Select mode
|
||||
'o': |:omenu| Operator-pending mode
|
||||
't': |:tlmenu| Terminal mode
|
||||
'i': |:imenu| Insert mode
|
||||
'c': |:cmenu| Cmdline mode
|
||||
|
||||
|
||||
If the console-mode vim has been compiled with WANT_MENU defined, you can
|
||||
use :emenu to access useful menu items you may have got used to from GUI
|
||||
mode. See 'wildmenu' for an option that works well with this. See
|
||||
@ -885,6 +900,7 @@ using the last visual selection.
|
||||
*:sunme* *:sunmenu*
|
||||
*:iunme* *:iunmenu*
|
||||
*:cunme* *:cunmenu*
|
||||
*:tlu* *:tlunmenu*
|
||||
To delete a menu item or a whole submenu, use the unmenu commands, which are
|
||||
analogous to the unmap commands. Eg: >
|
||||
:unmenu! Edit.Paste
|
||||
@ -951,6 +967,8 @@ See section |42.4| in the user manual.
|
||||
:tu[nmenu] {menupath} Remove a tip for a menu or tool.
|
||||
{only in X11 and Win32 GUI}
|
||||
|
||||
Note: To create menus for terminal mode, use |:tlmenu| instead.
|
||||
|
||||
When a tip is defined for a menu item, it appears in the command-line area
|
||||
when the mouse is over that item, much like a standard Windows menu hint in
|
||||
the status bar. (Except when Vim is in Command-line mode, when of course
|
||||
|
@ -376,8 +376,8 @@ you might have to use the file ~/.gtkrc-2.0 instead, depending on your
|
||||
distribution.
|
||||
|
||||
For GTK+ 3, an effect similar to the above can be obtained by adding the
|
||||
following snippet of CSS code to $XDG_HOME_DIR/gtk-3.0/gtk.css (usually,
|
||||
$HOME/.config/gtk-3.0/gtk.css):
|
||||
following snippet of CSS code to $XDG_HOME_DIR/gtk-3.0/gtk.css (see the next
|
||||
section):
|
||||
|
||||
For GTK+ 3 < 3.20: >
|
||||
|
||||
@ -408,6 +408,10 @@ stable support for GTK+ CSS:
|
||||
GTK+ uses CSS for styling and layout of widgets. In this subsection, we'll
|
||||
have a quick look at GTK+ CSS through simple, illustrative examples.
|
||||
|
||||
You can usually edit the config with: >
|
||||
vim $HOME/.config/gtk-3.0/gtk.css
|
||||
|
||||
|
||||
Example 1. Empty Space Adjustment ~
|
||||
|
||||
By default, the toolbar and the tabline of the GTK+ 3 GUI are somewhat larger
|
||||
@ -492,6 +496,16 @@ unexpectedly less attractive or even deteriorates their usability. Keep this
|
||||
in mind always when you try improving a theme.
|
||||
|
||||
|
||||
Example 3. border color ~
|
||||
|
||||
To eliminate borders when maximized: >
|
||||
|
||||
@define-color bg_color #1B2B34;
|
||||
#vim-main-window {
|
||||
background-color: @bg_color;
|
||||
}
|
||||
|
||||
|
||||
Using Vim as a GTK+ plugin ~
|
||||
*gui-gtk-socketid*
|
||||
When the GTK+ version of Vim starts up normally, it creates its own top level
|
||||
|
@ -225,4 +225,4 @@ will try to find help for it. Especially for options in single quotes, e.g.
|
||||
'compatible'.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
vim:tw=78:fo=tcq2:isk=!-~,^*,^\|,^\":ts=8:noet:ft=help:norl:
|
||||
vim:tw=78:isk=!-~,^*,^\|,^\":ts=8:noet:ft=help:norl:
|
||||
|
@ -60,9 +60,10 @@ Example: >
|
||||
endfunction
|
||||
|
||||
To see what version of Python you have: >
|
||||
:python import sys
|
||||
:python print(sys.version)
|
||||
|
||||
There is no need to import sys, it's done by default.
|
||||
|
||||
Note: Python is very sensitive to the indenting. Make sure the "class" line
|
||||
and "EOF" do not have any indent.
|
||||
|
||||
@ -81,6 +82,18 @@ Examples:
|
||||
>
|
||||
:pydo return "%s\t%d" % (line[::-1], len(line))
|
||||
:pydo if line: return "%4d: %s" % (linenr, line)
|
||||
<
|
||||
One can use `:pydo` in possible conjunction with `:py` to filter a range using
|
||||
python. For example: >
|
||||
|
||||
:py3 << EOF
|
||||
needle = vim.eval('@a')
|
||||
replacement = vim.eval('@b')
|
||||
|
||||
def py_vim_string_replace(str):
|
||||
return str.replace(needle, replacement)
|
||||
EOF
|
||||
:'<,'>py3do return py_vim_string_replace(line)
|
||||
<
|
||||
*:pyfile* *:pyf*
|
||||
:[range]pyf[ile] {file}
|
||||
@ -98,7 +111,6 @@ Python commands cannot be used in the |sandbox|.
|
||||
|
||||
To pass arguments you need to set sys.argv[] explicitly. Example: >
|
||||
|
||||
:python import sys
|
||||
:python sys.argv = ["foo", "bar"]
|
||||
:pyfile myscript.py
|
||||
|
||||
@ -168,11 +180,15 @@ vim.eval(str) *python-eval*
|
||||
- a dictionary if the Vim expression evaluates to a Vim dictionary
|
||||
Dictionaries and lists are recursively expanded.
|
||||
Examples: >
|
||||
:" value of the 'textwidth' option
|
||||
:py text_width = vim.eval("&tw")
|
||||
:py str = vim.eval("12+12") # NB result is a string! Use
|
||||
# string.atoi() to convert to
|
||||
# a number.
|
||||
|
||||
:
|
||||
:" contents of the 'a' register
|
||||
:py a_reg = vim.eval("@a")
|
||||
:
|
||||
:" Result is a string! Use string.atoi() to convert to a number.
|
||||
:py str = vim.eval("12+12")
|
||||
:
|
||||
:py tagList = vim.eval('taglist("eval_expr")')
|
||||
< The latter will return a python list of python dicts, for instance:
|
||||
[{'cmd': '/^eval_expr(arg, nextcmd)$/', 'static': 0, 'name': ~
|
||||
|
@ -941,6 +941,11 @@ Indent after a nested paren: >
|
||||
Indent for a continuation line: >
|
||||
let g:pyindent_continue = '&sw * 2'
|
||||
|
||||
The method uses searchpair() to look back for unclosed parenthesis. This can
|
||||
sometimes be slow, thus it timeouts after 150 msec. If you notice the
|
||||
indenting isn't correct, you can set a larger timeout in msec: >
|
||||
let g:pyindent_searchpair_timeout = 500
|
||||
|
||||
|
||||
R *ft-r-indent*
|
||||
|
||||
@ -978,6 +983,11 @@ Below is an example of indentation with and without this option enabled:
|
||||
paste(x) paste(x)
|
||||
} }
|
||||
<
|
||||
The code will be indented after lines that match the pattern
|
||||
`'\(&\||\|+\|-\|\*\|/\|=\|\~\|%\|->\)\s*$'`. If you want indentation after
|
||||
lines that match a different pattern, you should set the appropriate value of
|
||||
`r_indent_op_pattern` in your |vimrc|.
|
||||
|
||||
|
||||
SHELL *ft-sh-indent*
|
||||
|
||||
|
@ -1583,6 +1583,9 @@ tag command action ~
|
||||
|:tjump| :tj[ump] like ":tselect", but jump directly when there
|
||||
is only one match
|
||||
|:tlast| :tl[ast] jump to last matching tag
|
||||
|:tlmenu| :tlm[enu] add menu for Terminal-Job mode
|
||||
|:tlnoremenu| :tln[oremenu] like ":noremenu" but for Terminal-Job mode
|
||||
|:tlunmenu| :tlu[nmenu] remove menu for Terminal-Job mode
|
||||
|:tmapclear| :tmapc[lear] remove all mappings for Terminal-Job mode
|
||||
|:tmap| :tma[p] like ":map" but for Terminal-Job mode
|
||||
|:tmenu| :tm[enu] define menu tooltip
|
||||
|
@ -1051,13 +1051,13 @@ The function must return the column where the completion starts. It must be a
|
||||
number between zero and the cursor column "col('.')". This involves looking
|
||||
at the characters just before the cursor and including those characters that
|
||||
could be part of the completed item. The text between this column and the
|
||||
cursor column will be replaced with the matches.
|
||||
cursor column will be replaced with the matches. If the returned value is
|
||||
larger than the cursor column, the cursor column is used.
|
||||
|
||||
Special return values:
|
||||
-1 If no completion can be done, the completion will be cancelled with an
|
||||
error message.
|
||||
-2 To cancel silently and stay in completion mode.
|
||||
-3 To cancel silently and leave completion mode.
|
||||
Negative return values:
|
||||
-2 To cancel silently and stay in completion mode.
|
||||
-3 To cancel silently and leave completion mode.
|
||||
Another negative value: completion starts at the cursor column
|
||||
|
||||
On the second invocation the arguments are:
|
||||
a:findstart 0
|
||||
|
@ -595,9 +595,9 @@ Virtual Replace mode Virtual Replace mode is similar to Replace mode, but
|
||||
If the 'showmode' option is on "-- VREPLACE --" is
|
||||
shown at the bottom of the window.
|
||||
|
||||
Insert Normal mode Entered when CTRL-O given in Insert mode. This is
|
||||
like Normal mode, but after executing one command Vim
|
||||
returns to Insert mode.
|
||||
Insert Normal mode Entered when CTRL-O is typed in Insert mode (see
|
||||
|i_CTRL-O|). This is like Normal mode, but after
|
||||
executing one command Vim returns to Insert mode.
|
||||
If the 'showmode' option is on "-- (insert) --" is
|
||||
shown at the bottom of the window.
|
||||
|
||||
|
@ -371,8 +371,9 @@ job running in the terminal. See |terminal-typing|.
|
||||
|
||||
*omap-info*
|
||||
Operator-pending mappings can be used to define a movement command that can be
|
||||
used with any operator. Simple example: ":omap { w" makes "y{" work like "yw"
|
||||
and "d{" like "dw".
|
||||
used with any operator. Simple example: >
|
||||
:omap { w
|
||||
makes "y{" work like "yw" and "d{" like "dw".
|
||||
|
||||
To ignore the starting cursor position and select different text, you can have
|
||||
the omap start Visual mode to select the text to be operated upon. Example
|
||||
@ -383,9 +384,11 @@ Normal mode commands find the first '(' character and select the first word
|
||||
before it. That usually is the function name.
|
||||
|
||||
To enter a mapping for Normal and Visual mode, but not Operator-pending mode,
|
||||
first define it for all three modes, then unmap it for Operator-pending mode:
|
||||
first define it for all three modes, then unmap it for
|
||||
Operator-pending mode: >
|
||||
:map xx something-difficult
|
||||
:ounmap xx
|
||||
|
||||
Likewise for a mapping for Visual and Operator-pending mode or Normal and
|
||||
Operator-pending mode.
|
||||
|
||||
|
@ -102,8 +102,10 @@ Or:
|
||||
|
||||
This also contains tools xgettext, msgformat and others.
|
||||
|
||||
libintl.dll should be placed in same directory with (g)vim.exe, or some
|
||||
place where PATH environment value describe. Vim also finds libintl-8.dll.
|
||||
libintl.dll should be placed in same directory as (g)vim.exe, or one of the
|
||||
directories listed in the PATH environment value. Vim also looks for the
|
||||
alternate names "libintl-8.dll" and "intl.dll".
|
||||
|
||||
Message files (vim.mo) have to be placed in "$VIMRUNTIME/lang/xx/LC_MESSAGES",
|
||||
where "xx" is the abbreviation of the language (mostly two letters).
|
||||
|
||||
|
@ -120,10 +120,10 @@ and the following arguments will be ignored.
|
||||
When 'verbose' is non-zero, displaying an option value will also tell where it
|
||||
was last set. Example: >
|
||||
:verbose set shiftwidth cindent?
|
||||
< shiftwidth=4 ~
|
||||
Last set from modeline ~
|
||||
cindent ~
|
||||
Last set from /usr/local/share/vim/vim60/ftplugin/c.vim ~
|
||||
< shiftwidth=4 ~
|
||||
Last set from modeline line 1 ~
|
||||
cindent ~
|
||||
Last set from /usr/local/share/vim/vim60/ftplugin/c.vim line 30 ~
|
||||
This is only done when specific option values are requested, not for ":verbose
|
||||
set all" or ":verbose set" without an argument.
|
||||
When the option was set by hand there is no "Last set" message.
|
||||
@ -132,7 +132,7 @@ autocommand, the script in which it was defined is reported.
|
||||
Note that an option may also have been set as a side effect of setting
|
||||
'compatible'.
|
||||
A few special texts:
|
||||
Last set from modeline ~
|
||||
Last set from modeline line 1 ~
|
||||
Option was set in a |modeline|.
|
||||
Last set from --cmd argument ~
|
||||
Option was set with command line argument |--cmd| or +.
|
||||
@ -846,6 +846,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'{A-Z0-9}, or `{A-Z0-9} command takes one to another file.
|
||||
Note that for some commands the 'autowrite' option is not used, see
|
||||
'autowriteall' for that.
|
||||
Some buffers will not be written, specifically when 'buftype' is
|
||||
"nowrite", "nofile", "terminal" or "prompt".
|
||||
|
||||
*'autowriteall'* *'awa'* *'noautowriteall'* *'noawa'*
|
||||
'autowriteall' 'awa' boolean (default off)
|
||||
@ -1054,6 +1056,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
name, precede it with a backslash.
|
||||
- To include a comma in a directory name precede it with a backslash.
|
||||
- A directory name may end in an '/'.
|
||||
- For Unix and Win32, if a directory ends in two path separators "//",
|
||||
the swap file name will be built from the complete path to the file
|
||||
with all path separators changed to percent '%' signs. This will
|
||||
ensure file name uniqueness in the backup directory.
|
||||
On Win32, it is also possible to end with "\\". However, When a
|
||||
separating comma is following, you must use "//", since "\\" will
|
||||
include the comma in the file name. Therefore it is recommended to
|
||||
use '//', instead of '\\'.
|
||||
- Environment variables are expanded |:set_env|.
|
||||
- Careful with '\' characters, type one before a space, type two to
|
||||
get one in the option (see |option-backslash|), for example: >
|
||||
@ -1989,8 +1999,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
displayed. E.g., when moving vertically it may change column.
|
||||
|
||||
|
||||
'conceallevel' 'cole' *'conceallevel'* *'cole'*
|
||||
number (default 0)
|
||||
*'conceallevel'* *'cole'*
|
||||
'conceallevel' 'cole' number (default 0)
|
||||
local to window
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+conceal|
|
||||
@ -2599,13 +2609,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+diff|
|
||||
feature}
|
||||
Expression which is evaluated to obtain an ed-style diff file from two
|
||||
versions of a file. See |diff-diffexpr|.
|
||||
Expression which is evaluated to obtain a diff file (either ed-style
|
||||
or unified-style) from two versions of a file. See |diff-diffexpr|.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'dip'* *'diffopt'*
|
||||
'diffopt' 'dip' string (default "filler")
|
||||
'diffopt' 'dip' string (default "internal,filler")
|
||||
global
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+diff|
|
||||
@ -2624,6 +2634,15 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
When omitted a context of six lines is used.
|
||||
See |fold-diff|.
|
||||
|
||||
iblank Ignore changes where lines are all blank. Adds
|
||||
the "-B" flag to the "diff" command if
|
||||
'diffexpr' is empty. Check the documentation
|
||||
of the "diff" command for what this does
|
||||
exactly.
|
||||
NOTE: the diff windows will get out of sync,
|
||||
because no differences between blank lines are
|
||||
taken into account.
|
||||
|
||||
icase Ignore changes in case of text. "a" and "A"
|
||||
are considered the same. Adds the "-i" flag
|
||||
to the "diff" command if 'diffexpr' is empty.
|
||||
@ -2635,6 +2654,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
exactly. It should ignore adding trailing
|
||||
white space, but not leading white space.
|
||||
|
||||
iwhiteall Ignore all white space changes. Adds
|
||||
the "-w" flag to the "diff" command if
|
||||
'diffexpr' is empty. Check the documentation
|
||||
of the "diff" command for what this does
|
||||
exactly.
|
||||
|
||||
iwhiteeol Ignore white space changes at end of line.
|
||||
Adds the "-Z" flag to the "diff" command if
|
||||
'diffexpr' is empty. Check the documentation
|
||||
of the "diff" command for what this does
|
||||
exactly.
|
||||
|
||||
horizontal Start diff mode with horizontal splits (unless
|
||||
explicitly specified otherwise).
|
||||
|
||||
@ -2647,11 +2678,31 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
foldcolumn:{n} Set the 'foldcolumn' option to {n} when
|
||||
starting diff mode. Without this 2 is used.
|
||||
|
||||
Examples: >
|
||||
internal Use the internal diff library. This is
|
||||
ignored when 'diffexpr' is set. *E960*
|
||||
When running out of memory when writing a
|
||||
buffer this item will be ignored for diffs
|
||||
involving that buffer. Set the 'verbose'
|
||||
option to see when this happens.
|
||||
|
||||
:set diffopt=filler,context:4
|
||||
indent-heuristic
|
||||
Use the indent heuristic for the internal
|
||||
diff library.
|
||||
|
||||
algorithm:{text} Use the specified diff algorithm with the
|
||||
internal diff engine. Currently supported
|
||||
algorithms are:
|
||||
myers the default algorithm
|
||||
minimal spend extra time to generate the
|
||||
smallest possible diff
|
||||
patience patience diff algorithm
|
||||
histogram histogram diff algorithm
|
||||
|
||||
Examples: >
|
||||
:set diffopt=internal,filler,context:4
|
||||
:set diffopt=
|
||||
:set diffopt=filler,foldcolumn:3
|
||||
:set diffopt=internal,filler,foldcolumn:3
|
||||
:set diffopt-=internal " do NOT use the internal diff parser
|
||||
<
|
||||
*'digraph'* *'dg'* *'nodigraph'* *'nodg'*
|
||||
'digraph' 'dg' boolean (default off)
|
||||
@ -2680,12 +2731,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
- A directory starting with "./" (or ".\" for MS-DOS et al.) means to
|
||||
put the swap file relative to where the edited file is. The leading
|
||||
"." is replaced with the path name of the edited file.
|
||||
- For Unix and Win32, if a directory ends in two path separators "//"
|
||||
or "\\", the swap file name will be built from the complete path to
|
||||
the file with all path separators substituted to percent '%' signs.
|
||||
This will ensure file name uniqueness in the preserve directory.
|
||||
On Win32, when a separating comma is following, you must use "//",
|
||||
since "\\" will include the comma in the file name.
|
||||
- For Unix and Win32, if a directory ends in two path separators "//",
|
||||
the swap file name will be built from the complete path to the file
|
||||
with all path separators substituted to percent '%' signs. This will
|
||||
ensure file name uniqueness in the preserve directory.
|
||||
On Win32, it is also possible to end with "\\". However, When a
|
||||
separating comma is following, you must use "//", since "\\" will
|
||||
include the comma in the file name. Therefore it is recommended to
|
||||
use '//', instead of '\\'.
|
||||
- Spaces after the comma are ignored, other spaces are considered part
|
||||
of the directory name. To have a space at the start of a directory
|
||||
name, precede it with a backslash.
|
||||
@ -3842,8 +3895,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
screen.
|
||||
|
||||
*'guioptions'* *'go'*
|
||||
'guioptions' 'go' string (default "egmrLtT" (MS-Windows, "t" is
|
||||
removed in |defaults.vim|),
|
||||
'guioptions' 'go' string (default "egmrLtT" (MS-Windows,
|
||||
"t" is removed in |defaults.vim|),
|
||||
"aegimrLtT" (GTK, Motif and Athena),
|
||||
)
|
||||
global
|
||||
@ -4363,7 +4416,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
methods. Use 'imdisable' to disable XIM then.
|
||||
|
||||
You can set 'imactivatefunc' and 'imstatusfunc' to handle IME/XIM
|
||||
via external command if vim is not compiled with the |+xim|,
|
||||
via external command if Vim is not compiled with the |+xim|,
|
||||
|+multi_byte_ime| or |global-ime|.
|
||||
|
||||
*'imsearch'* *'ims'*
|
||||
@ -4470,7 +4523,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
so far, matches. The matched string is highlighted. If the pattern
|
||||
is invalid or not found, nothing is shown. The screen will be updated
|
||||
often, this is only useful on fast terminals.
|
||||
Note that the match will be shown, but the cursor will return to its
|
||||
Also applies to the pattern in commands: >
|
||||
:global
|
||||
:lvimgrep
|
||||
:lvimgrepadd
|
||||
:smagic
|
||||
:snomagic
|
||||
:sort
|
||||
:substitute
|
||||
:vglobal
|
||||
:vimgrep
|
||||
:vimgrepadd
|
||||
< Note that the match will be shown, but the cursor will return to its
|
||||
original position when no match is found and when pressing <Esc>. You
|
||||
still need to finish the search command with <Enter> to move the
|
||||
cursor to the match.
|
||||
@ -4483,9 +4547,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
The highlighting can be set with the 'i' flag in 'highlight'.
|
||||
When 'hlsearch' is on, all matched strings are highlighted too while
|
||||
typing a search command. See also: 'hlsearch'.
|
||||
If you don't want turn 'hlsearch' on, but want to highlight all matches
|
||||
while searching, you can turn on and off 'hlsearch' with autocmd.
|
||||
Example: >
|
||||
If you don't want to turn 'hlsearch' on, but want to highlight all
|
||||
matches while searching, you can turn on and off 'hlsearch' with
|
||||
autocmd. Example: >
|
||||
augroup vimrc-incsearch-highlight
|
||||
autocmd!
|
||||
autocmd CmdlineEnter /,\? :set hlsearch
|
||||
@ -4655,7 +4719,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Identifiers are used in recognizing environment variables and after a
|
||||
match of the 'define' option. It is also used for "\i" in a
|
||||
|pattern|. See 'isfname' for a description of the format of this
|
||||
option.
|
||||
option. For '@' only characters up to 255 are used.
|
||||
Careful: If you change this option, it might break expanding
|
||||
environment variables. E.g., when '/' is included and Vim tries to
|
||||
expand "$HOME/.viminfo". Maybe you should change 'iskeyword' instead.
|
||||
@ -4669,8 +4733,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{not in Vi}
|
||||
Keywords are used in searching and recognizing with many commands:
|
||||
"w", "*", "[i", etc. It is also used for "\k" in a |pattern|. See
|
||||
'isfname' for a description of the format of this option. For C
|
||||
programs you could use "a-z,A-Z,48-57,_,.,-,>".
|
||||
'isfname' for a description of the format of this option. For '@'
|
||||
characters above 255 check the "word" character class.
|
||||
For C programs you could use "a-z,A-Z,48-57,_,.,-,>".
|
||||
For a help file it is set to all non-blank printable characters except
|
||||
'*', '"' and '|' (so that CTRL-] on a command finds the help for that
|
||||
command).
|
||||
@ -5381,7 +5446,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
h all previous modes when editing a help file
|
||||
a all previous modes
|
||||
r for |hit-enter| and |more-prompt| prompt
|
||||
Normally you would enable the mouse in all four modes with: >
|
||||
Normally you would enable the mouse in all five modes with: >
|
||||
:set mouse=a
|
||||
< When the mouse is not enabled, the GUI will still use the mouse for
|
||||
modeless selection. This doesn't move the text cursor.
|
||||
@ -5903,7 +5968,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
security reasons.
|
||||
|
||||
*'printencoding'* *'penc'*
|
||||
'printencoding' 'penc' String (default empty, except for some systems)
|
||||
'printencoding' 'penc' string (default empty, except for some systems)
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+printer|
|
||||
@ -5912,7 +5977,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
See |penc-option|.
|
||||
|
||||
*'printexpr'* *'pexpr'*
|
||||
'printexpr' 'pexpr' String (default: see below)
|
||||
'printexpr' 'pexpr' string (default: see below)
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+printer|
|
||||
@ -6640,7 +6705,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
tabpages all tab pages; without this only the current tab page
|
||||
is restored, so that you can make a session for each
|
||||
tab page separately
|
||||
terminal include terminal windows where the command can be restored
|
||||
terminal include terminal windows where the command can be
|
||||
restored
|
||||
unix with Unix end-of-line format (single <NL>), even when
|
||||
on Windows or DOS
|
||||
winpos position of the whole Vim window
|
||||
@ -6676,7 +6742,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Example with escaped space (Vim will do this when initializing the
|
||||
option from $SHELL): >
|
||||
:set shell=/bin/with\\\ space/sh
|
||||
< The resulting value of 'shell' is "/bin/with\ space/sh", two
|
||||
< The resulting value of 'shell' is "/bin/with\ space/sh", two
|
||||
backslashes are consumed by `:set`.
|
||||
|
||||
Under MS-Windows, when the executable ends in ".com" it must be
|
||||
@ -7502,7 +7568,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
line is displayed. The current buffer and current window will be set
|
||||
temporarily to that of the window (and buffer) whose statusline is
|
||||
currently being drawn. The expression will evaluate in this context.
|
||||
The variable "actual_curbuf" is set to the 'bufnr()' number of the
|
||||
The variable "g:actual_curbuf" is set to the `bufnr()` number of the
|
||||
real current buffer.
|
||||
|
||||
The 'statusline' option will be evaluated in the |sandbox| if set from
|
||||
|
@ -83,10 +83,10 @@ There is no solution for this yet.
|
||||
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.
|
||||
- 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.
|
||||
@ -131,4 +131,4 @@ Also look at:
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
vim:tw=78:fo=tcq2:ts=8:noet:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -135,4 +135,4 @@ Todo:
|
||||
- Replace usage of fork() with spawn() when launching external
|
||||
programs.
|
||||
|
||||
vim:tw=78:sw=4:ts=8:noet:ts=8:ft=help:norl:
|
||||
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
||||
|
@ -303,4 +303,4 @@ A. Yes, place your favorite icon in bitmaps/vim.ico in a directory of
|
||||
'runtimepath'. For example ~/vimfiles/bitmaps/vim.ico.
|
||||
|
||||
|
||||
vim:tw=78:fo=tcq2:ts=8:noet:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -46,6 +46,8 @@ Note: If you have problems printing with |:hardcopy|, an alternative is to use
|
||||
'printexpr' through |v:cmdarg|. Otherwise [arguments]
|
||||
is ignored. 'printoptions' can be used to specify
|
||||
paper size, duplex, etc.
|
||||
Note: If you want PDF, there are tools such as
|
||||
"ps2pdf" that can convert the PostScript to PDF.
|
||||
|
||||
:[range]ha[rdcopy][!] >{filename}
|
||||
As above, but write the resulting PostScript in file
|
||||
|
@ -46,7 +46,7 @@ compiler (see |errorformat| below).
|
||||
|
||||
*quickfix-ID*
|
||||
Each quickfix list has a unique identifier called the quickfix ID and this
|
||||
number will not change within a Vim session. The getqflist() function can be
|
||||
number will not change within a Vim session. The |getqflist()| function can be
|
||||
used to get the identifier assigned to a list. There is also a quickfix list
|
||||
number which may change whenever more than ten lists are added to a quickfix
|
||||
stack.
|
||||
@ -68,7 +68,7 @@ the location list is destroyed.
|
||||
Every quickfix and location list has a read-only changedtick variable that
|
||||
tracks the total number of changes made to the list. Every time the quickfix
|
||||
list is modified, this count is incremented. This can be used to perform an
|
||||
action only when the list has changed. The getqflist() and getloclist()
|
||||
action only when the list has changed. The |getqflist()| and |getloclist()|
|
||||
functions can be used to query the current value of changedtick. You cannot
|
||||
change the changedtick variable.
|
||||
|
||||
@ -602,7 +602,7 @@ present). Examples: >
|
||||
echo getloclist(2, {'winid' : 1}).winid
|
||||
<
|
||||
*getqflist-examples*
|
||||
The getqflist() and getloclist() functions can be used to get the various
|
||||
The |getqflist()| and |getloclist()| functions can be used to get the various
|
||||
attributes of a quickfix and location list respectively. Some examples for
|
||||
using these functions are below:
|
||||
>
|
||||
@ -659,7 +659,7 @@ using these functions are below:
|
||||
:echo getloclist(3, {'winid' : 0}).winid
|
||||
<
|
||||
*setqflist-examples*
|
||||
The setqflist() and setloclist() functions can be used to set the various
|
||||
The |setqflist()| and |setloclist()| functions can be used to set the various
|
||||
attributes of a quickfix and location list respectively. Some examples for
|
||||
using these functions are below:
|
||||
>
|
||||
@ -1551,6 +1551,22 @@ The backslashes before the pipe character are required to avoid it to be
|
||||
recognized as a command separator. The backslash before each space is
|
||||
required for the set command.
|
||||
|
||||
*cfilter-plugin* *Cfilter* *Lfilter*
|
||||
If you have too many matching messages, you can use the cfilter plugin to
|
||||
reduce the number of entries. Load the plugin with: >
|
||||
packadd cfilter
|
||||
|
||||
Then you can use these command: >
|
||||
:Cfilter[!] /{pat}/
|
||||
:Lfilter[!] /{pat}/
|
||||
|
||||
:Cfilter creates a new quickfix list from entries matching {pat} in the
|
||||
current quickfix list. Both the file name and the text of the entries are
|
||||
matched against {pat}. If ! is supplied, then entries not matching {pat} are
|
||||
used.
|
||||
|
||||
:Lfilter does the same as :Cfilter but operates on the current location list.
|
||||
|
||||
=============================================================================
|
||||
8. The directory stack *quickfix-directory-stack*
|
||||
|
||||
|
@ -28,6 +28,9 @@ You can see the name of the current swap file being used with the command:
|
||||
|
||||
:sw[apname] *:sw* *:swapname*
|
||||
|
||||
Or you can use the |swapname()| function, which also allows for seeing the
|
||||
swap file name of other buffers.
|
||||
|
||||
The name of the swap file is normally the same as the file you are editing,
|
||||
with the extension ".swp".
|
||||
- On Unix, a '.' is prepended to swap file names in the same directory as the
|
||||
|
@ -465,6 +465,16 @@ flag when defining the function, it is not relevant when executing it. >
|
||||
.
|
||||
:endfunction
|
||||
:set cpo-=C
|
||||
<
|
||||
*line-continuation-comment*
|
||||
To add a comment in between the lines start with '"\ '. Notice the space
|
||||
after the backslash. Example: >
|
||||
let array = [
|
||||
"\ first entry comment
|
||||
\ 'first',
|
||||
"\ second entry comment
|
||||
\ 'second',
|
||||
\ ]
|
||||
|
||||
Rationale:
|
||||
Most programs work with a trailing backslash to indicate line
|
||||
@ -473,6 +483,14 @@ Rationale:
|
||||
:map xx asdf\
|
||||
< Therefore the unusual leading backslash is used.
|
||||
|
||||
Starting a comment in a continuation line results in all following
|
||||
continuation lines to be part of the comment. Since it was like this
|
||||
for a long time, when making it possible to add a comment halfway a
|
||||
sequence of continuation lines, it was not possible to use \", since
|
||||
that was a valid continuation line. Using '"\ ' comes closest, even
|
||||
though it may look a bit weird. Requiring the space after the
|
||||
backslash is to make it very unlikely this is a normal comment line.
|
||||
|
||||
==============================================================================
|
||||
5. Using Vim packages *packages*
|
||||
|
||||
|
@ -487,7 +487,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
|
||||
When {vimrc} is equal to "DEFAULTS" (all uppercase), this has
|
||||
the same effect as "NONE", but the |defaults.vim| script is
|
||||
loaded, which will also set 'nocompatible'.
|
||||
loaded, which will also set 'nocompatible'. Also see
|
||||
|--clean|.
|
||||
|
||||
Using the "-u" argument with another argument than DEFAULTS
|
||||
has the side effect that the 'compatible' option will be on by
|
||||
@ -520,7 +521,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
'nocompatible': use Vim defaults
|
||||
- no |gvimrc| script is loaded
|
||||
- no viminfo file is read or written
|
||||
- the home directory is excluded from 'runtimepath'
|
||||
|
||||
*-x*
|
||||
-x Use encryption to read/write files. Will prompt for a key,
|
||||
which is then stored in the 'key' option. All writes will
|
||||
|
@ -1265,7 +1265,7 @@ doxygen_javadoc_autobrief 1 Set to 0 to disable javadoc autobrief
|
||||
doxygen_end_punctuation '[.]' Set to regexp match for the ending
|
||||
punctuation of brief
|
||||
|
||||
There are also some hilight groups worth mentioning as they can be useful in
|
||||
There are also some highlight groups worth mentioning as they can be useful in
|
||||
configuration.
|
||||
|
||||
Highlight Effect ~
|
||||
@ -2641,6 +2641,48 @@ Any combination of these three variables is legal, but might highlight more
|
||||
commands than are actually available to you by the game.
|
||||
|
||||
|
||||
R *r.vim* *ft-r-syntax*
|
||||
|
||||
The parsing of R code for syntax highlight starts 40 lines backwards, but you
|
||||
can set a different value in your |vimrc|. Example: >
|
||||
let r_syntax_minlines = 60
|
||||
|
||||
You can also turn off syntax highlighting of ROxygen: >
|
||||
let r_syntax_hl_roxygen = 0
|
||||
|
||||
enable folding of code delimited by parentheses, square brackets and curly
|
||||
braces: >
|
||||
let r_syntax_folding = 1
|
||||
|
||||
and highlight as functions all keywords followed by an opening parenthesis: >
|
||||
let r_syntax_fun_pattern = 1
|
||||
|
||||
|
||||
R MARKDOWN *rmd.vim* *ft-rmd-syntax*
|
||||
|
||||
To disable syntax highlight of YAML header, add to your |vimrc|: >
|
||||
let rmd_syn_hl_yaml = 0
|
||||
|
||||
To disable syntax highlighting of citation keys: >
|
||||
let rmd_syn_hl_citations = 0
|
||||
|
||||
To highlight R code in knitr chunk headers: >
|
||||
let rmd_syn_hl_chunk = 1
|
||||
|
||||
By default, chunks of R code will be highlighted following the rules of R
|
||||
language. If you want proper syntax highlighting of chunks of other languages,
|
||||
you should add them to either `markdown_fenced_languages` or
|
||||
`rmd_fenced_languages`. For example to properly highlight both R and Python,
|
||||
you may add this to your |vimrc|: >
|
||||
let rmd_fenced_languages = ['r', 'python']
|
||||
|
||||
|
||||
R RESTRUCTURED TEXT *rrst.vim* *ft-rrst-syntax*
|
||||
|
||||
To highlight R code in knitr chunk headers, add to your |vimrc|: >
|
||||
let rrst_syn_hl_chunk = 1
|
||||
|
||||
|
||||
READLINE *readline.vim* *ft-readline-syntax*
|
||||
|
||||
The readline library is primarily used by the BASH shell, which adds quite a
|
||||
@ -3169,6 +3211,12 @@ by syntax/tex.vim. Please consider uploading any extensions that you write,
|
||||
which typically would go in $HOME/after/syntax/tex/[pkgname].vim, to
|
||||
http://vim.sf.net/.
|
||||
|
||||
I've included some support for various popular packages on my website: >
|
||||
|
||||
http://www.drchip.org/astronaut/vim/index.html#LATEXPKGS
|
||||
<
|
||||
The syntax files there go into your .../after/syntax/tex/ directory.
|
||||
|
||||
*tex-error* *g:tex_no_error*
|
||||
Tex: Excessive Error Highlighting? ~
|
||||
|
||||
|
@ -241,8 +241,10 @@ REORDERING TAB PAGES:
|
||||
:tabm[ove] [N] *:tabm* *:tabmove*
|
||||
:[N]tabm[ove]
|
||||
Move the current tab page to after tab page N. Use zero to
|
||||
make the current tab page the first one. Without N the tab
|
||||
page is made the last one. >
|
||||
make the current tab page the first one. N is counted before
|
||||
the move, thus if the second tab is the current one,
|
||||
`:tabmove 1` and `:tabmove 2` have no effect.
|
||||
Without N the tab page is made the last one. >
|
||||
:.tabmove " do nothing
|
||||
:-tabmove " move the tab page to the left
|
||||
:+tabmove " move the tab page to the right
|
||||
|
@ -991,13 +991,17 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
't_RF' term.txt /*'t_RF'*
|
||||
't_RI' term.txt /*'t_RI'*
|
||||
't_RS' term.txt /*'t_RS'*
|
||||
't_RT' term.txt /*'t_RT'*
|
||||
't_RV' term.txt /*'t_RV'*
|
||||
't_Ri' term.txt /*'t_Ri'*
|
||||
't_SC' term.txt /*'t_SC'*
|
||||
't_SH' term.txt /*'t_SH'*
|
||||
't_SI' term.txt /*'t_SI'*
|
||||
't_SR' term.txt /*'t_SR'*
|
||||
't_ST' term.txt /*'t_ST'*
|
||||
't_Sb' term.txt /*'t_Sb'*
|
||||
't_Sf' term.txt /*'t_Sf'*
|
||||
't_Si' term.txt /*'t_Si'*
|
||||
't_Te' term.txt /*'t_Te'*
|
||||
't_Ts' term.txt /*'t_Ts'*
|
||||
't_VS' term.txt /*'t_VS'*
|
||||
@ -1928,6 +1932,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:<cfile> cmdline.txt /*:<cfile>*
|
||||
:<cword> cmdline.txt /*:<cword>*
|
||||
:<sfile> cmdline.txt /*:<sfile>*
|
||||
:<sflnum> cmdline.txt /*:<sflnum>*
|
||||
:<slnum> cmdline.txt /*:<slnum>*
|
||||
:= various.txt /*:=*
|
||||
:> change.txt /*:>*
|
||||
:? cmdline.txt /*:?*
|
||||
@ -2868,8 +2874,17 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:sN windows.txt /*:sN*
|
||||
:sNext windows.txt /*:sNext*
|
||||
:s\= change.txt /*:s\\=*
|
||||
:s_# change.txt /*:s_#*
|
||||
:s_I change.txt /*:s_I*
|
||||
:s_c change.txt /*:s_c*
|
||||
:s_e change.txt /*:s_e*
|
||||
:s_flags change.txt /*:s_flags*
|
||||
:s_g change.txt /*:s_g*
|
||||
:s_i change.txt /*:s_i*
|
||||
:s_l change.txt /*:s_l*
|
||||
:s_n change.txt /*:s_n*
|
||||
:s_p change.txt /*:s_p*
|
||||
:s_r change.txt /*:s_r*
|
||||
:sa windows.txt /*:sa*
|
||||
:sal windows.txt /*:sal*
|
||||
:sall windows.txt /*:sall*
|
||||
@ -3170,6 +3185,12 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:tjump tagsrch.txt /*:tjump*
|
||||
:tl tagsrch.txt /*:tl*
|
||||
:tlast tagsrch.txt /*:tlast*
|
||||
:tlm gui.txt /*:tlm*
|
||||
:tlmenu gui.txt /*:tlmenu*
|
||||
:tln gui.txt /*:tln*
|
||||
:tlnoremenu gui.txt /*:tlnoremenu*
|
||||
:tlu gui.txt /*:tlu*
|
||||
:tlunmenu gui.txt /*:tlunmenu*
|
||||
:tm gui.txt /*:tm*
|
||||
:tma map.txt /*:tma*
|
||||
:tmap map.txt /*:tmap*
|
||||
@ -3458,10 +3479,12 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
<bang> map.txt /*<bang>*
|
||||
<buffer=N> autocmd.txt /*<buffer=N>*
|
||||
<buffer=abuf> autocmd.txt /*<buffer=abuf>*
|
||||
<cWORD> cmdline.txt /*<cWORD>*
|
||||
<cexpr> cmdline.txt /*<cexpr>*
|
||||
<cfile> cmdline.txt /*<cfile>*
|
||||
<character> intro.txt /*<character>*
|
||||
<count> map.txt /*<count>*
|
||||
<cword> cmdline.txt /*<cword>*
|
||||
<f-args> map.txt /*<f-args>*
|
||||
<k0> term.txt /*<k0>*
|
||||
<k1> term.txt /*<k1>*
|
||||
@ -3493,6 +3516,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
<reg> map.txt /*<reg>*
|
||||
<register> map.txt /*<register>*
|
||||
<sfile> cmdline.txt /*<sfile>*
|
||||
<sflnum> cmdline.txt /*<sflnum>*
|
||||
<slnum> cmdline.txt /*<slnum>*
|
||||
<xCSI> intro.txt /*<xCSI>*
|
||||
<xDown> term.txt /*<xDown>*
|
||||
@ -3691,6 +3715,7 @@ CTRL-\_CTRL-N intro.txt /*CTRL-\\_CTRL-N*
|
||||
CTRL-] tagsrch.txt /*CTRL-]*
|
||||
CTRL-^ editing.txt /*CTRL-^*
|
||||
CTRL-{char} intro.txt /*CTRL-{char}*
|
||||
Cfilter quickfix.txt /*Cfilter*
|
||||
Channel eval.txt /*Channel*
|
||||
Channels eval.txt /*Channels*
|
||||
Chinese mbyte.txt /*Chinese*
|
||||
@ -3723,6 +3748,7 @@ DOS-format-write editing.txt /*DOS-format-write*
|
||||
Dictionaries eval.txt /*Dictionaries*
|
||||
Dictionary eval.txt /*Dictionary*
|
||||
Dictionary-function eval.txt /*Dictionary-function*
|
||||
DiffUpdated autocmd.txt /*DiffUpdated*
|
||||
Digraphs digraph.txt /*Digraphs*
|
||||
DirChanged autocmd.txt /*DirChanged*
|
||||
E motion.txt /*E*
|
||||
@ -4622,7 +4648,10 @@ E954 options.txt /*E954*
|
||||
E955 eval.txt /*E955*
|
||||
E956 pattern.txt /*E956*
|
||||
E957 eval.txt /*E957*
|
||||
E958 eval.txt /*E958*
|
||||
E96 diff.txt /*E96*
|
||||
E960 options.txt /*E960*
|
||||
E961 cmdline.txt /*E961*
|
||||
E97 diff.txt /*E97*
|
||||
E98 diff.txt /*E98*
|
||||
E99 diff.txt /*E99*
|
||||
@ -4697,6 +4726,7 @@ KVim gui_x11.txt /*KVim*
|
||||
Kibaale uganda.txt /*Kibaale*
|
||||
Korean mbyte.txt /*Korean*
|
||||
L motion.txt /*L*
|
||||
Lfilter quickfix.txt /*Lfilter*
|
||||
Linux-backspace options.txt /*Linux-backspace*
|
||||
List eval.txt /*List*
|
||||
Lists eval.txt /*Lists*
|
||||
@ -5404,6 +5434,7 @@ catch-order eval.txt /*catch-order*
|
||||
catch-text eval.txt /*catch-text*
|
||||
cc change.txt /*cc*
|
||||
ceil() eval.txt /*ceil()*
|
||||
cfilter-plugin quickfix.txt /*cfilter-plugin*
|
||||
ch.vim syntax.txt /*ch.vim*
|
||||
ch_canread() eval.txt /*ch_canread()*
|
||||
ch_close() eval.txt /*ch_close()*
|
||||
@ -5458,6 +5489,7 @@ channel-drop channel.txt /*channel-drop*
|
||||
channel-functions usr_41.txt /*channel-functions*
|
||||
channel-mode channel.txt /*channel-mode*
|
||||
channel-more channel.txt /*channel-more*
|
||||
channel-noblock channel.txt /*channel-noblock*
|
||||
channel-open channel.txt /*channel-open*
|
||||
channel-open-options channel.txt /*channel-open-options*
|
||||
channel-raw channel.txt /*channel-raw*
|
||||
@ -6266,8 +6298,13 @@ ft-python-plugin filetype.txt /*ft-python-plugin*
|
||||
ft-python-syntax syntax.txt /*ft-python-syntax*
|
||||
ft-quake-syntax syntax.txt /*ft-quake-syntax*
|
||||
ft-r-indent indent.txt /*ft-r-indent*
|
||||
ft-r-syntax syntax.txt /*ft-r-syntax*
|
||||
ft-readline-syntax syntax.txt /*ft-readline-syntax*
|
||||
ft-rexx-syntax syntax.txt /*ft-rexx-syntax*
|
||||
ft-rmd-plugin filetype.txt /*ft-rmd-plugin*
|
||||
ft-rmd-syntax syntax.txt /*ft-rmd-syntax*
|
||||
ft-rrst-plugin filetype.txt /*ft-rrst-plugin*
|
||||
ft-rrst-syntax syntax.txt /*ft-rrst-syntax*
|
||||
ft-rst-syntax syntax.txt /*ft-rst-syntax*
|
||||
ft-ruby-omni insert.txt /*ft-ruby-omni*
|
||||
ft-ruby-syntax syntax.txt /*ft-ruby-syntax*
|
||||
@ -7173,6 +7210,7 @@ job-err_io channel.txt /*job-err_io*
|
||||
job-exit_cb channel.txt /*job-exit_cb*
|
||||
job-functions usr_41.txt /*job-functions*
|
||||
job-in_io channel.txt /*job-in_io*
|
||||
job-noblock channel.txt /*job-noblock*
|
||||
job-options channel.txt /*job-options*
|
||||
job-out_cb channel.txt /*job-out_cb*
|
||||
job-out_io channel.txt /*job-out_io*
|
||||
@ -7260,6 +7298,7 @@ lifelines.vim syntax.txt /*lifelines.vim*
|
||||
limits vi_diff.txt /*limits*
|
||||
line() eval.txt /*line()*
|
||||
line-continuation repeat.txt /*line-continuation*
|
||||
line-continuation-comment repeat.txt /*line-continuation-comment*
|
||||
line2byte() eval.txt /*line2byte()*
|
||||
linefeed intro.txt /*linefeed*
|
||||
linewise motion.txt /*linewise*
|
||||
@ -8196,6 +8235,7 @@ quotes.txt quotes.txt /*quotes.txt*
|
||||
quotestar gui.txt /*quotestar*
|
||||
quote~ change.txt /*quote~*
|
||||
r change.txt /*r*
|
||||
r.vim syntax.txt /*r.vim*
|
||||
range() eval.txt /*range()*
|
||||
raw-terminal-mode term.txt /*raw-terminal-mode*
|
||||
rcp pi_netrw.txt /*rcp*
|
||||
@ -8260,8 +8300,10 @@ right-justify change.txt /*right-justify*
|
||||
rileft rileft.txt /*rileft*
|
||||
rileft.txt rileft.txt /*rileft.txt*
|
||||
riscos os_risc.txt /*riscos*
|
||||
rmd.vim syntax.txt /*rmd.vim*
|
||||
rot13 change.txt /*rot13*
|
||||
round() eval.txt /*round()*
|
||||
rrst.vim syntax.txt /*rrst.vim*
|
||||
rst.vim syntax.txt /*rst.vim*
|
||||
rsync pi_netrw.txt /*rsync*
|
||||
ruby if_ruby.txt /*ruby*
|
||||
@ -8647,6 +8689,8 @@ swap-file recover.txt /*swap-file*
|
||||
swapchoice-variable eval.txt /*swapchoice-variable*
|
||||
swapcommand-variable eval.txt /*swapcommand-variable*
|
||||
swapfile-changed version4.txt /*swapfile-changed*
|
||||
swapinfo() eval.txt /*swapinfo()*
|
||||
swapname() eval.txt /*swapname()*
|
||||
swapname-variable eval.txt /*swapname-variable*
|
||||
sybase ft_sql.txt /*sybase*
|
||||
syn-sync-grouphere syntax.txt /*syn-sync-grouphere*
|
||||
@ -8744,13 +8788,17 @@ t_RC term.txt /*t_RC*
|
||||
t_RF term.txt /*t_RF*
|
||||
t_RI term.txt /*t_RI*
|
||||
t_RS term.txt /*t_RS*
|
||||
t_RT term.txt /*t_RT*
|
||||
t_RV term.txt /*t_RV*
|
||||
t_Ri term.txt /*t_Ri*
|
||||
t_SC term.txt /*t_SC*
|
||||
t_SH term.txt /*t_SH*
|
||||
t_SI term.txt /*t_SI*
|
||||
t_SR term.txt /*t_SR*
|
||||
t_ST term.txt /*t_ST*
|
||||
t_Sb term.txt /*t_Sb*
|
||||
t_Sf term.txt /*t_Sf*
|
||||
t_Si term.txt /*t_Si*
|
||||
t_Te term.txt /*t_Te*
|
||||
t_Ts term.txt /*t_Ts*
|
||||
t_VS term.txt /*t_VS*
|
||||
@ -9056,7 +9104,9 @@ test_null_job() eval.txt /*test_null_job()*
|
||||
test_null_list() eval.txt /*test_null_list()*
|
||||
test_null_partial() eval.txt /*test_null_partial()*
|
||||
test_null_string() eval.txt /*test_null_string()*
|
||||
test_option_not_set() eval.txt /*test_option_not_set()*
|
||||
test_override() eval.txt /*test_override()*
|
||||
test_scrollbar() eval.txt /*test_scrollbar()*
|
||||
test_settime() eval.txt /*test_settime()*
|
||||
testing eval.txt /*testing*
|
||||
testing-variable eval.txt /*testing-variable*
|
||||
@ -9623,6 +9673,7 @@ windows98 os_win32.txt /*windows98*
|
||||
windowsme os_win32.txt /*windowsme*
|
||||
winheight() eval.txt /*winheight()*
|
||||
winid windows.txt /*winid*
|
||||
winlayout() eval.txt /*winlayout()*
|
||||
winline() eval.txt /*winline()*
|
||||
winnr() eval.txt /*winnr()*
|
||||
winrestcmd() eval.txt /*winrestcmd()*
|
||||
|
@ -352,6 +352,10 @@ Added by Vim (there are no standard codes for these):
|
||||
t_SH set cursor shape *t_SH* *'t_SH'*
|
||||
t_RC request terminal cursor blinking *t_RC* *'t_RC'*
|
||||
t_RS request terminal cursor style *t_RS* *'t_RS'*
|
||||
t_ST save window title to stack *t_ST* *'t_ST'*
|
||||
t_RT restore window title from stack *t_RT* *'t_RT'*
|
||||
t_Si save icon text to stack *t_Si* *'t_Si'*
|
||||
t_Ri restore icon text from stack *t_Ri* *'t_Ri'*
|
||||
|
||||
Some codes have a start, middle and end part. The start and end are defined
|
||||
by the termcap option, the middle part is text.
|
||||
|
@ -114,6 +114,9 @@ break: >
|
||||
tnoremap <Esc> <C-W>N
|
||||
set notimeout ttimeout timeoutlen=100
|
||||
|
||||
You can also create menus similar to terminal mode mappings, but you have to
|
||||
use |:tlmenu| instead of |:tmenu|.
|
||||
|
||||
< *options-in-terminal*
|
||||
After opening the terminal window and setting 'buftype' to "terminal" the
|
||||
TerminalOpen autocommand event is triggered. This makes it possible to set
|
||||
@ -228,6 +231,10 @@ Syntax ~
|
||||
|
||||
If you want to use more options use the |term_start()|
|
||||
function.
|
||||
If you want to split the window vertically, use: >
|
||||
:vertical terminal
|
||||
< Or short: >
|
||||
:vert ter
|
||||
|
||||
When the buffer associated with the terminal is forcibly unloaded or wiped out
|
||||
the job is killed, similar to calling `job_stop(job, "kill")` .
|
||||
@ -613,7 +620,18 @@ This will open a window consisting of three parts:
|
||||
3. The contents of the second dump
|
||||
|
||||
You can usually see what differs in the second part. Use the 'ruler' to
|
||||
relate it to the position in the first or second dump.
|
||||
relate it to the position in the first or second dump. Letters indicate the
|
||||
kind of difference:
|
||||
X different character
|
||||
> cursor in first but not in second
|
||||
< cursor in second but not in first
|
||||
w character width differs (single vs double width)
|
||||
f foreground color differs
|
||||
b background color differs
|
||||
a attribute differs (bold, underline, reverse, etc.)
|
||||
? character missing in both
|
||||
+ character missing in first
|
||||
- character missing in second
|
||||
|
||||
Alternatively, press "s" to swap the first and second dump. Do this several
|
||||
times so that you can spot the difference in the context of the text.
|
||||
@ -635,7 +653,7 @@ Starting ~
|
||||
Load the plugin with this command: >
|
||||
packadd termdebug
|
||||
< *:Termdebug*
|
||||
To start debugging use `:Termdebug` or `:TermdebugCommand`` followed by the
|
||||
To start debugging use `:Termdebug` or `:TermdebugCommand` followed by the
|
||||
command name, for example: >
|
||||
:Termdebug vim
|
||||
|
||||
|
@ -34,11 +34,21 @@ entered there will not be repeated below, unless there is extra information.
|
||||
|
||||
The #1234 numbers refer to an issue or pull request on github. To see it in a
|
||||
browser use: https://github.com/vim/vim/issues/1234
|
||||
|
||||
(replace 1234 with the issue/pull number)
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Graduate FEAT_VREPLACE, it's not much code and a lot of #ifdefs
|
||||
Using freed memory in quickfix. (Dominique Pelle, Yegappan is looking into a
|
||||
fix).
|
||||
|
||||
'incsearch' with :s: (#3321)
|
||||
- :s/foo using CTRL-G moves to another line, should not happen, or use the
|
||||
correct line (it uses the last but one line) (Lifepillar, Aug 18, #3345)
|
||||
- Also support range: :/foo/,/bar/delete
|
||||
- Also support for user command, e.g. Cfilter
|
||||
- :%s/foo should take the first match below the cursor line, unless there
|
||||
isn't one?
|
||||
Then :%s?foo should take the first match above the cursor line.
|
||||
|
||||
Prompt buffer:
|
||||
- Add a command line history.
|
||||
@ -52,11 +62,17 @@ Terminal debugger:
|
||||
initializing mzscheme avoid the problem, thus it's not some #ifdef.
|
||||
|
||||
Terminal emulator window:
|
||||
- GUI: When using ":set go+=!" a system() call causes the hit-enter prompt.
|
||||
(#3327)
|
||||
- GUI: hang until key typed. (#3530)
|
||||
- When the job in the terminal doesn't use mouse events, let the scroll wheel
|
||||
scroll the scrollback, like a terminal does at the shell prompt. #2490
|
||||
And use modeless selection. #2962
|
||||
- Allow for specifying the directory, with ++cwd={dir}.
|
||||
- With a vertical split only one window is updated. (Linwei, 2018 Jun 2,
|
||||
#2977)
|
||||
- Add a way to make ":term cmd" run "cmd" in a shell, instead of executing it
|
||||
directly. Perhaps ":term ++shell cmd". (#3340)
|
||||
- When pasting should call vterm_keyboard_start_paste(), e.g. when using
|
||||
K_MIDDLEMOUSE, calling insert_reg().
|
||||
- Users expect parsing the :term argument like a shell does, also support
|
||||
@ -76,67 +92,87 @@ Terminal emulator window:
|
||||
- When 'encoding' is not utf-8, or the job is using another encoding, setup
|
||||
conversions.
|
||||
|
||||
Key mapping times out when using a timer in Gvim. (Michael Henry, 2018 Sep 9,
|
||||
#3417)
|
||||
|
||||
Does not build with MinGW out of the box:
|
||||
- _stat64 is not defined, need to use "struct stat" in vim.h
|
||||
- WINVER conflict, should use 0x0600 by default?
|
||||
|
||||
Patches for Python: #3162, #3263 (Ozaki Kiichi)
|
||||
Needs update.
|
||||
|
||||
Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
|
||||
13, #2910) Can't reproduce?
|
||||
|
||||
On Win32 when not in the console and t_Co >= 256, allow using 'tgc'.
|
||||
(Nobuhiro Takasaki, #2833) Also check t_Co.
|
||||
|
||||
Errors found with random data:
|
||||
heap-buffer-overflow in alist_add (#2472)
|
||||
|
||||
Win32 key codes are messy. Mike Williams tried to fix that, but now old
|
||||
mappings no longer work. Create a new terminal for the better solution?
|
||||
|
||||
Improve fallback for menu translations, to avoid having to create lots of
|
||||
files that source the actual file. E.g. menu_da_de -> menu_da
|
||||
Include part of #3242?
|
||||
|
||||
Inlcude Chinese-Taiwan translations. (bystar, #3261)
|
||||
When a terminal exit_cb closes the window, a following typed key is lost, if
|
||||
it's in a mapping. (2018 Oct 6, #2302, #3522)
|
||||
|
||||
Using mouse for inputlist() doesn't work after patch 8.0.1756. (Dominique
|
||||
Pelle, 2018 Jul 22, #3239) Also see 8.0.0722. Check both console and GUI.
|
||||
Completion mixes results from the current buffer with tags and other files.
|
||||
Happens when typing CTRL-N while still search for results. E.g., type "b_" in
|
||||
terminal.c and then CTRL-N twice.
|
||||
Should do current file first and not split it up when more results are found.
|
||||
(Also #1890)
|
||||
|
||||
C syntax: {} inside () causes following {} to be highlighted as error.
|
||||
(Michalis Giannakidis, 2006 Jun 1)
|
||||
|
||||
More warnings from static analysis:
|
||||
https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
|
||||
|
||||
Quickfix accessing free memory. (Dominique, 2018 Oct 13, #3538)
|
||||
Yegappan will look into it.
|
||||
|
||||
Patch for this: (Aron Widforss, 2018 Oct 13, #3539)
|
||||
missing a test.
|
||||
7 Make 'scrolloff' a global-local option, so that it can be different in the
|
||||
quickfix window, for example. (Gary Holloway)
|
||||
Also do 'sidescrolloff'.
|
||||
|
||||
Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
|
||||
Related to bracketed paste. I cannot reproduce it.
|
||||
|
||||
Using ":file" in quickfix window during an autocommand doesn't work.
|
||||
(Jason Franklin, 2018 May 23) Allow for using it when there is no argument.
|
||||
":mksession" cannot handle a very long 'runtimepath'. (Timothy Madden, 21 Sep
|
||||
2018, #3466) Christian is working on a patch.
|
||||
|
||||
Patch in pull request #2967: Allow white space in sign text. (Ben Jackson)
|
||||
Test fails in AppVeyor.
|
||||
|
||||
Patch to simplify nsis installer. (Ken Takata, 2018 Sep 24, was #3479)
|
||||
Now included in #3501, using MUI2. Use the zip file to get the binary files:
|
||||
https://github.com/vim/vim/files/2475621/nsis-icons.zip
|
||||
Still being worked on.
|
||||
|
||||
ml_get error: (Israel Chauca Fuentes, 2018 Oct 17, #3550).
|
||||
|
||||
Patch to convert temp file name. (Yasuhiro Matsumoto, #3520)
|
||||
Not ready to include yet.
|
||||
|
||||
Removing flags from 'cpoptions' breaks the Winbar buttons in termdebug.
|
||||
(Dominique Pelle, 2018 Jul 16)
|
||||
|
||||
Problem with two buffers with the same name a/b, if it didn't exist before and
|
||||
is created outside of Vim. (dskloetg, 2018 Jul 16, #3219)
|
||||
|
||||
Memory leak in test_assert:
|
||||
==19127== by 0x2640D7: alloc (misc2.c:874)
|
||||
==19127== by 0x2646D6: vim_strsave (misc2.c:1315)
|
||||
==19127== by 0x1B68D2: f_getcwd (evalfunc.c:4950)
|
||||
And:
|
||||
==19127== by 0x2640D7: alloc (misc2.c:874)
|
||||
==19127== by 0x1A9477: set_var (eval.c:7601)
|
||||
==19127== by 0x19F96F: set_var_lval (eval.c:2233)
|
||||
==19127== by 0x19EA3A: ex_let_one (eval.c:1810)
|
||||
==19127== by 0x19D737: ex_let_vars (eval.c:1294)
|
||||
==19127== by 0x19D6B4: ex_let (eval.c:1259)
|
||||
Invalid memory access with old regexp engine. (Dominique Pelle, 2018 Sep 3,
|
||||
#3405) Introduced by 8.0.1517, which was fixing another memory access error.
|
||||
(Sep 8)
|
||||
|
||||
Add function to make use of internal diff, working on two lists and returning
|
||||
unified diff (list of lines).
|
||||
|
||||
Patch to implement 'diffref' option. (#3535)
|
||||
Easier to use a 'diffmaster' option, is the extra complexity needed?
|
||||
|
||||
Memory leaks in test_channel? (or is it because of fork())
|
||||
Using uninitialized value in test_crypt.
|
||||
Memory leaks in test_escaped_glob
|
||||
==20651== by 0x2640D7: alloc (misc2.c:874)
|
||||
==20651== by 0x2646D6: vim_strsave (misc2.c:1315)
|
||||
==20651== by 0x3741EA: get_function_args (userfunc.c:131)
|
||||
==20651== by 0x378779: ex_function (userfunc.c:2036)
|
||||
Memory leak in test_terminal:
|
||||
==23530== by 0x2640D7: alloc (misc2.c:874)
|
||||
==23530== by 0x2646D6: vim_strsave (misc2.c:1315)
|
||||
@ -153,6 +189,60 @@ gethostbyname() is old, use getaddrinfo() if available. (#3227)
|
||||
matchaddpos() gets slow with many matches. Proposal by Rick Howe, 2018 Jul
|
||||
19.
|
||||
|
||||
Patch to support ":tag <tagkind> <tagname>". (emmrk, 2018 May 7, #2871)
|
||||
Use something like ":tag {kind}/{tagname}".
|
||||
Not ready to include.
|
||||
|
||||
:pedit resets the 'buflisted' option unexpectedly. (Wang Shidong, 2018 Oct 12,
|
||||
#3536)
|
||||
|
||||
home_replace() uses $HOME instead of "homedir". (Cesar Martins, 2018 Aug 9)
|
||||
|
||||
When the status line uses term_gettitle(), it does not get updated when the
|
||||
terminal title changes. (Josh Triplett, 2018 Sep 9, #3418)
|
||||
How would we know that the status line needs to be updated?
|
||||
|
||||
Adjust windows installer explanation of behavior. (scootergrisen, #3310)
|
||||
|
||||
Set g:actual_curbuf when evaluating 'statusline', not just with an expression.
|
||||
(Daniel Hahler, 2018 Aug 8, #3299)
|
||||
|
||||
ml_get error. (Dominique Pelle, 2018 Sep 14, #3434)
|
||||
|
||||
Only output t_Cs when t_Ce is also set. do not use Cs and Ce termcap entries. (Daniel Hahler, 2018 Sep 25)
|
||||
Add t_cS and t_cR for cursor color select and reset. Use Cs and Cr terminfo
|
||||
values.
|
||||
|
||||
Furthere xdiff changes:
|
||||
- More options, e.g. different kind of whitespace diff.
|
||||
- when editing text, update the surrounding diff blocks.
|
||||
- omit diff.exe from distribution
|
||||
- Can we make this show differences within a line?
|
||||
- add option to use external diff above a certain size.
|
||||
|
||||
Difference between two regexp engines: #3373
|
||||
|
||||
Patch to handle missin glibwinpthread-1.dll. (Ken Takata, 2018 Sep 23, #2827)
|
||||
|
||||
Patch to add arguments to argc() and argv(). (Yegappan Lakshmanan, 2016 Jan
|
||||
24, #832) Also need a way to get the global arg list? Update later on Jan 24
|
||||
Update Mar 5. Update Apr 7. Update Jun 5.
|
||||
|
||||
When the last line wraps, selecting with the mouse below that line only
|
||||
includes the first screen line. (2018 Aug 23, #3368)
|
||||
|
||||
Add `:filter` support for various commands (Marcin Szamotulski, 2017 Nov 12
|
||||
#2322) Patch now in #2856.
|
||||
|
||||
Refactored HTML indent file. (Michael Lee, #1821)
|
||||
|
||||
Patch to add getregpoint() and setreg() with an option to set "".
|
||||
(Andy Massimino, 2018 Aug 24, #3370)
|
||||
Better name?
|
||||
|
||||
MS-Windows: .lnk file not resolved properly when 'encoding' is set.
|
||||
(lkintact, 2018 Sep 22, #3473)
|
||||
|
||||
Script generated by :mksession does not work well if there are windows with
|
||||
modified buffers
|
||||
change "silent only" into "silent only!"
|
||||
@ -160,16 +250,6 @@ modified buffers
|
||||
skip "badd fname" if "fname" is already in the buffer list
|
||||
remove remark about unloading buffers from documentation
|
||||
|
||||
Patch to make :help work for tags with a ?. (Hirohito Higashi, 2018 May 28)
|
||||
|
||||
Patch to have a stack trace in Ruby. (Masataka Pocke Kuwabara, 2018 Jul 30,
|
||||
#3267)
|
||||
|
||||
Patch to adjust to DPI setting for GTK. (Roel van de Kraats, 2017 Nov 20,
|
||||
#2357)
|
||||
|
||||
Patch to fix window size when using VTP. (Nobuhiro Takasaki, #3164)
|
||||
|
||||
Compiler warnings (geeknik, 2017 Oct 26):
|
||||
- signed integer overflow in do_sub() (#2249)
|
||||
- signed integer overflow in get_address() (#2248)
|
||||
@ -179,7 +259,18 @@ Compiler warnings (geeknik, 2017 Oct 26):
|
||||
Win32 console: <F11> and <F12> typed in Insert mode don't result in normal
|
||||
characters. (#3246)
|
||||
|
||||
Patch for more quickfix refactoring. (Yegappan Lakshmanan, #2950)
|
||||
'foldtext' is evaluated too often. (Daniel Hahler, #2773)
|
||||
|
||||
ml_get error when using a Python script. (Yggdroot, 2017 Jun 1, #1737)
|
||||
Lemonboy can reproduce (2017 Jun 5)
|
||||
Also reproduced by Benjamin Doherty, 2018 Oct 4.
|
||||
Simpler way: Ken Takata, Oct 6.
|
||||
|
||||
Height of quickfix window is not retained with vertical splits. (Lifepillar,
|
||||
2018 Aug 24, #2998)
|
||||
|
||||
Window size is wrong when using quickfix window. (Lifepillar, 2018 Aug 24,
|
||||
#2999)
|
||||
|
||||
Tests failing for "make testgui" with GTK:
|
||||
- Test_setbufvar_options()
|
||||
@ -190,16 +281,11 @@ is cleared, to avoid going back to the list of errors buffer (would have two
|
||||
windows with it). Can we just remove the jump list entries for the quickfix
|
||||
buffer?
|
||||
|
||||
Patch to stack and pop the window title and icon. (IWAMOTO Kouichi, 2018 Jun
|
||||
22, #3059)
|
||||
8 For xterm need to open a connection to the X server to get the window
|
||||
title, which can be slow. Can also get the title with "<Esc>[21t", no
|
||||
need to use X11 calls. This returns "<Esc>]l{title}<Esc>\".
|
||||
Using title stack probably works better.
|
||||
Patch to fix that executable() may fail on very long filename in MS-Windows.
|
||||
(Ken Takata, 2016 Feb 1, update 2018 Oct 7)
|
||||
|
||||
When a function is defined in the sandbox (with :function or as a lambda)
|
||||
always execute it in the sandbox. (#3182)
|
||||
Remove "safe" argument from call_vim_function(), it's always FALSE.
|
||||
Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
|
||||
Update Sep 7. Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1.
|
||||
|
||||
Make balloon_show() work outside of 'balloonexpr'? Users expect it to work:
|
||||
#2948. (related to #1512?)
|
||||
@ -207,6 +293,13 @@ On Win32 it stops showing, because showState is already ShS_SHOWING.
|
||||
balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec
|
||||
20, #2481)
|
||||
Also see #2352, want better control over balloon, perhaps set the position.
|
||||
Should also be possible to add highlighting, like in the status line?
|
||||
balloonexpr() on MS-Windows GUI doesn't handle accented chars? (nivaemail,
|
||||
2018 Sep 14)
|
||||
|
||||
Add v:motion_force. (Kana Natsuno, 2008 Dec 6)
|
||||
Maybe call it v:motiontype. Update in #3490)
|
||||
Alternaitve: add the force flag to mode(), after "no".
|
||||
|
||||
Try out background make plugin:
|
||||
https://github.com/AndrewVos/vim-make-background
|
||||
@ -222,19 +315,24 @@ used for git temp files.
|
||||
|
||||
Cursor in wrong position when line wraps. (#2540)
|
||||
|
||||
Patch for Lua support. (Kazunobu Kuriyama, 2018 May 26)
|
||||
Patch to parse ":line" in tags file and use it for search. (Daniel Hahler,
|
||||
#2546) Fixes #1057. Missing a test.
|
||||
|
||||
Setting 'columns' in a BufEnter autocommand causes a second tab width to
|
||||
behave strangely, as if there is a gap and a vertical window separator.
|
||||
(Michael Soyka, 2018 Sep 23, #3477)
|
||||
|
||||
Make {skip} argument of searchpair() consistent with other places where we
|
||||
pass an expression to evaluate. Allow passing zero for "never skip".
|
||||
|
||||
The 'scrolloff' option is global, make it global-local. #3195
|
||||
|
||||
Add an option similar to 'lazyredraw' to skip redrawing while executing a
|
||||
script or function.
|
||||
|
||||
Universal solution to detect if t_RS is working, using cursor position.
|
||||
Koichi Iwamoto, #2126
|
||||
|
||||
Patch to fix profiling condition lines. (Ozaki Kiichi,, 2017 Dec 26, #2499)
|
||||
|
||||
When using a menu item while the "more" prompt is displayed doesn't work well.
|
||||
E.g. after using help->version. Have a key that ends the "more" prompt and
|
||||
does nothing otherwise?
|
||||
@ -244,6 +342,11 @@ If 'readonly' is not set but the file appears to be readonly later, try again
|
||||
(wait a little while).
|
||||
CreateFile() returns ERROR_SHARING_VIOLATION (Linwei, 2018 May 5)
|
||||
|
||||
Using --remote to open a file in which a # appears does not work on
|
||||
MS-Windows. Perhaps in \# the \ is seen as a path separator. (Axel Bender,
|
||||
2017 Feb 9) Can we expand wildcards first and send the path literally to the
|
||||
receiving Vim? Or make an exception for #, it's not useful remotely.
|
||||
|
||||
Should add a test for every command line argument. Check coverage for what is
|
||||
missing: --nofork, -A , -b, -h, etc.
|
||||
|
||||
@ -254,6 +357,7 @@ Quickfix window height is not kept with a vertical split. (Lifepillar, 2018
|
||||
Jun 10, #2998)
|
||||
|
||||
Improve the installer for MS-Windows. There are a few alternatives:
|
||||
- mui2 installer improved by Ken Takata (2018 Sep 29)
|
||||
- Add silent install option. (Shane Lee, #751)
|
||||
- Installer from Cream (Steve Hall).
|
||||
- Modern UI 2.0 for the Nsis installer. (Guopeng Wen)
|
||||
@ -268,12 +372,8 @@ How to test that it works well for all Vim users?
|
||||
|
||||
Alternative manpager.vim. (Enno, 2018 Jan 5, #2529)
|
||||
|
||||
Patch to use NGETTEXT() in many more places. (Sergey Alyoshin, 2018 May 25)
|
||||
Updated ptach May 27.
|
||||
|
||||
Does setting 'cursorline' cause syntax highlighting to slow down? Perhaps is
|
||||
mess up the cache? (Mike Lee Williams, 2018 Jan 27, #2539)
|
||||
Also: 'foldtext' is evaluated too often. (Daniel Hahler, #2773)
|
||||
Delete all the speficic stuff for the Borland compiler? (#3374)
|
||||
Patch in #3377 (Thomas Dziedzic)
|
||||
|
||||
With 'foldmethod' "indent" and appending an empty line, what follows isn't
|
||||
included in the existing fold. Deleting the empty line and undo fixes it.
|
||||
@ -304,19 +404,9 @@ confusing error message. (Wang Shidong, 2018 Jan 2, #2519)
|
||||
|
||||
Add the debug command line history to viminfo.
|
||||
|
||||
Issue #686: apply 'F' in 'shortmess' to more messages. Also #3221.
|
||||
|
||||
Avoid that "sign unplace id" does a redraw right away, esp. when there is a
|
||||
sequence of these commands. (Andy Stewart, 2018 Mar 16)
|
||||
|
||||
ch_sendraw() with long string does not try to read in between, which may cause
|
||||
a deadlock if the reading side is waiting for the write to finish. (Nate
|
||||
Bosch, 2018 Jan 13, #2548)
|
||||
Perhaps just make chunks of 1024 bytes?
|
||||
|
||||
Patch to include a cfilter plugin to filter quickfix/location lists.
|
||||
(Yegappan Lakshmanan, 2018 May 12)
|
||||
|
||||
Add Makefiles to the runtime/spell directory tree, since nobody uses Aap.
|
||||
Will have to explain the manual steps (downloading the .aff and .dic files,
|
||||
applying the diff, etc.
|
||||
@ -335,8 +425,6 @@ With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
|
||||
Using 'wildignore' also applies to literally entered file name. Also with
|
||||
:drop (remote commands).
|
||||
|
||||
Patch to support ":tag <tagkind> <tagname". (emmrk, 2018 May 7, #2871)
|
||||
|
||||
Inserting a line in a CompleteDone autocommand may confuse undo. (micbou,
|
||||
2018 Jun 18, #3027)
|
||||
|
||||
@ -368,45 +456,32 @@ option_save({list}) *option_save()*
|
||||
directory (Paulo Marcel Coelho Arabic, 2017 Oct 30, #2266)
|
||||
Also see #1689.
|
||||
|
||||
ml_get error when using a Python script. (Yggdroot, 2017 Jun 1, #1737)
|
||||
Lemonboy can reproduce (2017 Jun 5)
|
||||
|
||||
crash when removing an element while inside map(). (Nikolai Pavlov, 2018 Feb
|
||||
17, #2652)
|
||||
|
||||
When 'virtualedit' is "all" and 'cursorcolumn' is set, the wrong column may be
|
||||
highlighted. (van-de-bugger, 2018 Jan 23, #2576)
|
||||
|
||||
Patch to parse ":line" in tags file and use it for search. (Daniel Hahler,
|
||||
#2546) Fixes #1057. Missing a test.
|
||||
|
||||
":file" does not show anything when 'shortmess' contains 'F'. (#3070)
|
||||
|
||||
Patch to add winlayout() function. (Yegappan Lakshmanan, 2018 Jan 4)
|
||||
|
||||
No profile information for function that executes ":quit". (Daniel Hahler,
|
||||
2017 Dec 26, #2501)
|
||||
|
||||
A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)
|
||||
|
||||
Add script number to profile? (#3330 breaks tests).
|
||||
|
||||
A function defined locally and lambda's are not easily recognized.
|
||||
Mention where they were defined somewhere.
|
||||
|
||||
Get a "No Name" buffer when 'hidden' is set and opening a new window from the
|
||||
quickfix list. (bfrg, 2018 Jan 22, #2574)
|
||||
|
||||
CTRL-X on zero gets stuck on 0xfffffffffffffffe. (Hengyang Zhao, #2746)
|
||||
|
||||
A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)
|
||||
|
||||
Invalid range error when using BufWinLeave for closing terminal.
|
||||
(Gabriel Barta, 2017 Nov 15, #2339)
|
||||
|
||||
Using an external diff is inefficient. Not all systems have a good diff
|
||||
program available (esp. MS-Windows). Would be nice to have in internal diff
|
||||
implementation. Can then also use this for displaying changes within a line.
|
||||
Olaf Dabrunz is working on this. (10 Jan 2016)
|
||||
9 Instead invoking an external diff program, use builtin code. One can be
|
||||
found here: http://www.ioplex.com/~miallen/libmba/dl/src/diff.c
|
||||
It's complicated and badly documented.
|
||||
Alternative: use the xdiff library. Patch from Christian Brabandt, 2018 Mar
|
||||
20, #2732)
|
||||
|
||||
ml_get errors with buggy script. (Dominique, 2017 Apr 30)
|
||||
|
||||
Error in emsg with buggy script. (Dominique, 2017 Apr 30)
|
||||
@ -450,14 +525,14 @@ always nested.
|
||||
|
||||
matchit hasn't been maintained for a long time. #955.
|
||||
|
||||
Patch to add variable name after "scope add". (Eddie Lebow, 2018 Feb 7, #2620)
|
||||
Maybe not needed?
|
||||
|
||||
Problem with 'delcombine'. (agguser, 2017 Nov 10, #2313)
|
||||
|
||||
MS-Windows: buffer completion doesn't work when using backslash (or slash)
|
||||
for a path separator. (xtal8, #2201)
|
||||
|
||||
Would be nice for insert mode completion to highlight the text that was added
|
||||
(and may change when picking another compltion).
|
||||
|
||||
Test runtime files.
|
||||
Start with filetype detection: testdir/test_filetype.vim
|
||||
|
||||
@ -487,8 +562,6 @@ It can replace the BeOS code, which is likely not used anymore.
|
||||
Now on github: #1856. Updated Oct 2017
|
||||
Got permission to include this under the Vim license.
|
||||
|
||||
Refactored HTML indent file. (Michael Lee, #1821)
|
||||
|
||||
Test_writefile_fails_conversion failure on Solaris because if different iconv
|
||||
behavior. Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)
|
||||
|
||||
@ -554,12 +627,6 @@ that optiona? (Bjorn Linse, 2017 Aug 5)
|
||||
Cindent: returning a structure has more indent for the second item.
|
||||
(Sam Pagenkopf, 2017 Sep 14, #2090)
|
||||
|
||||
Completion mixes results from the current buffer with tags and other files.
|
||||
Happens when typing CTRL-N while still search for results. E.g., type "b_" in
|
||||
terminal.c and then CTRL-N twice.
|
||||
Should do current file first and not split it up when more results are found.
|
||||
(Also #1890)
|
||||
|
||||
Patch from Christian Brabandt to preserve upper case marks when wiping out a
|
||||
buffer. (2013 Dec 9)
|
||||
Also fixes #2166?
|
||||
@ -572,9 +639,6 @@ stack trace. (Yggdroot, 2017 Jul 28, #1887)
|
||||
Profile of a dict function is lost when the dict is deleted. Would it be
|
||||
possible to collect this? (Daniel Hahler, #2350)
|
||||
|
||||
Add `:filter` support for various commands (Marcin Szamotulski, 2017 Nov 12
|
||||
#2322) Now in #2327?
|
||||
|
||||
When checking if a bufref is valid, also check the buffer number, to catch the
|
||||
case of :bwipe followed by :new.
|
||||
|
||||
@ -749,15 +813,11 @@ Or point to nightly builds: https://github.com/vim/vim-win32-installer/releases
|
||||
Problem passing non-UTF-8 strings to Python 3. (Björn Linse, 2016 Sep 11,
|
||||
#1053) With patch, does it work?
|
||||
|
||||
Using --remote to open a file in which a # appears does not work on
|
||||
MS-Windows. Perhaps in \# the \ is seen as a path separator. (Axel Bender,
|
||||
2017 Feb 9) Can we expand wildcards first and send the path literally to the
|
||||
receiving Vim? Or make an exception for #, it's not useful remotely.
|
||||
|
||||
":sbr" docs state it respects 'switchbuf', but "vsplit" does not cause a
|
||||
vertical split. (Haldean Brown, 2017 Mar 1)
|
||||
|
||||
Use ADDR_OTHER instead of ADDR_LINES for many more commands.
|
||||
E.g. all the location list commands use a count.
|
||||
Add tests for using number larger than number of lines in buffer.
|
||||
|
||||
Might be useful to have isreadonly(), like we have islocked().
|
||||
@ -1088,9 +1148,6 @@ Patch to avoid redrawing tabline when the popup menu is visible.
|
||||
Patch to add {skip} argument to search(). (Christian Brabandt, 2016 Feb 24)
|
||||
Update 2016 Jun 10, #861
|
||||
|
||||
Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
|
||||
Update Sep 7. Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1.
|
||||
|
||||
Patch to show search statistics. (Christian Brabandt, 2016 Jul 22)
|
||||
|
||||
When the CursorMovedI event triggers, and CTRL-X was typed, a script cannot
|
||||
@ -1105,9 +1162,6 @@ Patch to add <restore> to :windo, :bufdo, etc. (Christian Brabandt, 2015 Jan
|
||||
6, 2nd message)
|
||||
Alternative: ":keeppos" command modifier: ":keeppos windo {cmd}".
|
||||
|
||||
Patch to fix that executable() may fail on very long filename in MS-Windows.
|
||||
(Ken Takata, 2016 Feb 1)
|
||||
|
||||
Patch to fix display of listchars on the cursorline. (Nayuri Aohime, 2013)
|
||||
Update suggested by Yasuhiro Matsumoto, 2014 Nov 25:
|
||||
https://gist.github.com/presuku/d3d6b230b9b6dcfc0477
|
||||
@ -1169,10 +1223,6 @@ I can't recommend it though.
|
||||
Build with Python on Mac does not always use the right library.
|
||||
(Kazunobu Kuriyama, 2015 Mar 28)
|
||||
|
||||
Patch to add arguments to argc() and argv(). (Yegappan Lakshmanan, 2016 Jan
|
||||
24) Also need a way to get the global arg list? Update later on Jan 24
|
||||
Update Mar 5. Update Apr 7. Update Jun 5.
|
||||
|
||||
To support Thai (and other languages) word boundaries, include the ICU
|
||||
library: http://userguide.icu-project.org/boundaryanalysis
|
||||
|
||||
@ -1277,12 +1327,6 @@ Syntax highlighting slow (hangs) in SASS file. (Niek Bosch, 2013 Aug 21)
|
||||
|
||||
Adding "~" to 'cdpath' doesn't work for completion? (Davido, 2013 Aug 19)
|
||||
|
||||
Should be easy to highlight all matches with 'incsearch'. Idea by Itchyny,
|
||||
2015 Feb 6.
|
||||
|
||||
Wrong scrolling when using incsearch. Patch by Christian Brabandt, 2014 Dec 4.
|
||||
Is this a good solution?
|
||||
|
||||
Patch: Let rare word highlighting overrule good word highlighting.
|
||||
(Jakson A. Aquino, 2010 Jul 30, again 2011 Jul 2)
|
||||
|
||||
@ -1300,8 +1344,6 @@ Remark from Roland Eggner: does it cause crashes? (2014 Dec 12)
|
||||
Updated patch by Roland Eggner, Dec 16
|
||||
Updated patch from Charles, 2016 Jul 2
|
||||
|
||||
Patch to open folds for 'incsearch'. (Christian Brabandt, 2015 Jan 6)
|
||||
|
||||
Patch for building a 32bit Vim with 64bit MingW compiler.
|
||||
(Michael Soyka, 2014 Oct 15)
|
||||
|
||||
@ -1872,13 +1914,6 @@ Ruby: ":ruby print $buffer.number" returns zero.
|
||||
|
||||
setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)
|
||||
|
||||
7 The 'directory' option supports changing path separators to "%" to make
|
||||
file names unique, also support this for 'backupdir'. (Mikolaj Machowski)
|
||||
Patch by Christian Brabandt, 2010 Oct 21.
|
||||
Is this an update: related to: #179
|
||||
https://github.com/chrisbra/vim-mq-patches/blob/master/backupdir
|
||||
Fixed patch 2017 Jul 1.
|
||||
|
||||
With "tw=55 fo+=a" typing space before ) doesn't work well. (Scott Mcdermott,
|
||||
2010 Oct 24)
|
||||
|
||||
@ -1974,9 +2009,6 @@ Patch to support :undo absolute jump to file save number. (Christian Brabandt,
|
||||
Patch to use 'foldnestmax' also for "marker" foldmethod. (Arnaud Lacombe, 2011
|
||||
Jan 7)
|
||||
|
||||
Bug with 'incsearch' going to wrong line. (Wolfram Kresse, 2009 Aug 17)
|
||||
Only with "vim -u NONE".
|
||||
|
||||
Problem with editing file in binary mode. (Ingo Krabbe, 2009 Oct 8)
|
||||
|
||||
With 'wildmode' set to "longest:full,full" and pressing Tab once the first
|
||||
@ -2184,16 +2216,11 @@ still delete them. Also convert all buffer file names?
|
||||
"gqip" in Insert mode has an off-by-one error, causing it to reflow text.
|
||||
(Raul Coronado, 2009 Nov 2)
|
||||
|
||||
Update src/testdir/main.aap.
|
||||
|
||||
Something wrong with session that has "cd" commands and "badd", in such a way
|
||||
that Vim doesn't find the edited file in the buffer list, causing the
|
||||
ATTENTION message? (Tony Mechelynck, 2008 Dec 1)
|
||||
Also: swap files are in ~/tmp/ One has relative file name ".mozilla/...".
|
||||
|
||||
Add v:motion_force. (Kana Natsuno, 2008 Dec 6)
|
||||
Maybe call it v:motiontype.
|
||||
|
||||
MS-Windows: editing the first, empty buffer, 'ffs' set to "unix,dos", ":enew"
|
||||
doesn't set 'ff' to "unix". (Ben Fritz, 2008 Dec 5) Reusing the old buffer
|
||||
probably causes this.
|
||||
@ -2383,9 +2410,6 @@ Syntax highlighting wrong for transparent region. (Doug Kearns, 2007 Feb 26)
|
||||
Bug in using a transparent syntax region. (Hanlen in vim-dev maillist, 2007
|
||||
Jul 31)
|
||||
|
||||
C syntax: {} inside () causes following {} to be highlighted as error.
|
||||
(Michalis Giannakidis, 2006 Jun 1)
|
||||
|
||||
When 'diffopt' has "context:0" a single deleted line causes two folds to merge
|
||||
and mess up syncing. (Austin Jennings, 2008 Jan 31)
|
||||
|
||||
@ -2848,8 +2872,6 @@ More patches:
|
||||
- Another patch for Javascript indenting. (Hari Kumar, 2010 Jul 11)
|
||||
Needs a few tests.
|
||||
- Add 'cscopeignorecase' option. (Liang Wenzhi, 2006 Sept 3)
|
||||
- Load intl.dll too, not only libintl.dll. (Mike Williams, 2006 May 9, docs
|
||||
patch May 10)
|
||||
- Extra argument to strtrans() to translate special keys to their name (Eric
|
||||
Arnold, 2006 May 22)
|
||||
- 'threglookexp' option: only match with first word in thesaurus file.
|
||||
@ -3452,8 +3474,6 @@ Macintosh:
|
||||
'magic' in history. (Margo)
|
||||
9 optwin.vim: Restoring a mapping for <Space> or <CR> is not correct for
|
||||
":noremap". Add "mapcmd({string}, {mode})? Use code from ":mkexrc".
|
||||
9 incsearch is incorrect for "/that/<Return>/this/;//" (last search pattern
|
||||
isn't updated).
|
||||
9 term_console is used before it is set (msdos, Amiga).
|
||||
9 Get out-of-memory for ":g/^/,$s//@/" on 1000 lines, this is not handled
|
||||
correctly. Get many error messages while redrawing the screen, which
|
||||
@ -5229,16 +5249,22 @@ Mappings and Abbreviations:
|
||||
|
||||
|
||||
Incsearch:
|
||||
- Add a limit to the number of lines that are searched for 'incsearch'?
|
||||
- Wrong scrolling when using incsearch. Patch by Christian Brabandt, 2014
|
||||
Dec 4. Is this a good solution?
|
||||
- Temporarily open folds to show where the search ends up. Restore the
|
||||
folds when going to another line.
|
||||
Patch to open folds for 'incsearch'. (Christian Brabandt, 2015 Jan 6)
|
||||
- Bug with 'incsearch' going to wrong line. (Wolfram Kresse, 2009 Aug 17)
|
||||
Only with "vim -u NONE".
|
||||
- When no match is found and the user types more, the screen is redrawn
|
||||
anyway. Could skip that. Esp. if the line wraps and the text is scrolled
|
||||
up every time.
|
||||
- Temporarily open folds to show where the search ends up. Restore the
|
||||
folds when going to another line.
|
||||
- When incsearch used and hitting return, no need to search again in many
|
||||
cases, saves a lot of time in big files. (Slootman wants to work on this?)
|
||||
When not using special characters, can continue search from the last match
|
||||
(or not at all, when there was no match). See oldmail/webb/in.872.
|
||||
9 incsearch is incorrect for "/that/<Return>/this/;//" (last search pattern
|
||||
isn't updated).
|
||||
|
||||
|
||||
Searching:
|
||||
@ -5541,9 +5567,6 @@ Options:
|
||||
that marks if the option was set. Useful to keep the effect of setting
|
||||
'compatible' after ":syntax on" has been used.
|
||||
7 There is 'titleold', why is there no 'iconold'? (Chazelas)
|
||||
7 Make 'scrolloff' a global-local option, so that it can be different in the
|
||||
quickfix window, for example. (Gary Holloway)
|
||||
Also do 'sidescrolloff'.
|
||||
|
||||
|
||||
External commands:
|
||||
@ -6152,5 +6175,5 @@ Far future and "big" extensions:
|
||||
are reflected in each Vim immediately. Could work with local files but
|
||||
also over the internet. See http://www.codingmonkeys.de/subethaedit/.
|
||||
|
||||
vim:tw=78:sw=4:sts=4:ts=8:ft=help:norl:
|
||||
vim:tw=78:sw=4:sts=4:ts=8:noet:ft=help:norl:
|
||||
vim: set fo+=n :
|
||||
|
@ -285,4 +285,4 @@ Address to send checks to:
|
||||
|
||||
This address is expected to be valid for a long time.
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -403,4 +403,4 @@ if it is not what you want do 'u.'. This will remove the contents of the
|
||||
first put, and repeat the put command for the second register. Repeat the
|
||||
'u.' until you got what you want.
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -189,4 +189,4 @@ donate part of the profit to help AIDS victims in Uganda. See |iccf|.
|
||||
|
||||
Next chapter: |usr_02.txt| The first steps in Vim
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -698,4 +698,4 @@ Summary: *help-summary* >
|
||||
|
||||
Next chapter: |usr_03.txt| Moving around
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -654,4 +654,4 @@ You will notice a few special marks. These include:
|
||||
|
||||
Next chapter: |usr_04.txt| Making small changes
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -511,4 +511,4 @@ else:
|
||||
|
||||
Next chapter: |usr_05.txt| Set your settings
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -664,4 +664,4 @@ This does mean there is less room to edit text, thus it's a compromise.
|
||||
|
||||
Next chapter: |usr_06.txt| Using syntax highlighting
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -277,4 +277,4 @@ others look at the colored text.
|
||||
|
||||
Next chapter: |usr_07.txt| Editing more than one file
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -476,4 +476,4 @@ This protects you from accidentally overwriting another file.
|
||||
|
||||
Next chapter: |usr_08.txt| Splitting windows
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -598,4 +598,4 @@ For more information about tab pages see |tab-page|.
|
||||
|
||||
Next chapter: |usr_09.txt| Using the GUI
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -287,4 +287,4 @@ You can tune the way Select mode works with the 'selectmode' option.
|
||||
|
||||
Next chapter: |usr_10.txt| Making big changes
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -821,4 +821,4 @@ has written. To tell Vim to redraw the screen: >
|
||||
|
||||
Next chapter: |usr_11.txt| Recovering from a crash
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -284,6 +284,7 @@ If you really don't want to see this message, you can add the 'A' flag to the
|
||||
'shortmess' option. But it's very unusual that you need this.
|
||||
|
||||
For remarks about encryption and the swap file, see |:recover-crypt|.
|
||||
For programatic access to the swap file, see |swapinfo()|.
|
||||
|
||||
==============================================================================
|
||||
*11.4* Further reading
|
||||
@ -304,4 +305,4 @@ For remarks about encryption and the swap file, see |:recover-crypt|.
|
||||
|
||||
Next chapter: |usr_12.txt| Clever tricks
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -355,4 +355,4 @@ matches and where they are.
|
||||
|
||||
Next chapter: |usr_20.txt| Typing command-line commands quickly
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -381,4 +381,4 @@ there can be only one.
|
||||
|
||||
Next chapter: |usr_21.txt| Go away and come back
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -496,4 +496,4 @@ For more details see |modeline|.
|
||||
|
||||
Next chapter: |usr_22.txt| Finding the file to edit
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -397,4 +397,4 @@ can't be editing nothing!
|
||||
|
||||
Next chapter: |usr_23.txt| Editing other files
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -340,4 +340,4 @@ decompression. You might need to install the programs first.
|
||||
|
||||
Next chapter: |usr_24.txt| Inserting quickly
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -603,4 +603,4 @@ This deletes up to the third word into register g.
|
||||
|
||||
Next chapter: |usr_25.txt| Editing formatted text
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -579,4 +579,4 @@ The "gR" command uses Virtual Replace mode. This preserves the layout:
|
||||
|
||||
Next chapter: |usr_26.txt| Repeating
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -218,4 +218,4 @@ start all over, use the "-W" argument. It overwrites any existing file.
|
||||
|
||||
Next chapter: |usr_27.txt| Search commands and patterns
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -560,4 +560,4 @@ and "\w" for "[0-9A-Za-z_]".
|
||||
|
||||
Next chapter: |usr_28.txt| Folding
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -423,4 +423,4 @@ the defined folds. Then you can delete or add folds manually.
|
||||
|
||||
Next chapter: |usr_29.txt| Moving through programs
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -608,4 +608,4 @@ for the identifier. Example (cursor on "idx"):
|
||||
|
||||
Next chapter: |usr_30.txt| Editing programs
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -640,4 +640,4 @@ For more details see |format-comments|.
|
||||
|
||||
Next chapter: |usr_31.txt| Exploiting the GUI
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -269,4 +269,4 @@ another font size, for example.
|
||||
|
||||
Next chapter: |usr_32.txt| The undo tree
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -177,4 +177,4 @@ use the |undotree()| function. To see what it returns: >
|
||||
|
||||
Next chapter: |usr_40.txt| Make new commands
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -654,4 +654,4 @@ To set it back to the normal behavior, make 'eventignore' empty: >
|
||||
|
||||
Next chapter: |usr_41.txt| Write a Vim script
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -809,6 +809,7 @@ Buffers, windows and the argument list:
|
||||
getwininfo() get a list with window information
|
||||
getchangelist() get a list of change list entries
|
||||
getjumplist() get a list of jump list entries
|
||||
swapinfo() information about a swap file
|
||||
|
||||
Command line: *command-line-functions*
|
||||
getcmdline() get the current command line
|
||||
@ -2592,4 +2593,4 @@ It's good if you add a line to allow automatic updating. See |glvs-plugins|.
|
||||
|
||||
Next chapter: |usr_42.txt| Add new menus
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -150,7 +150,8 @@ like the variations on the ":map" command:
|
||||
:menu! Insert and Command-line mode
|
||||
:imenu Insert mode
|
||||
:cmenu Command-line mode
|
||||
:amenu All modes
|
||||
:tlmenu Terminal mode
|
||||
:amenu All modes (except for Terminal mode)
|
||||
|
||||
To avoid that the commands of a menu item are being mapped, use the command
|
||||
":noremenu", ":nnoremenu", ":anoremenu", etc.
|
||||
@ -362,4 +363,4 @@ is...
|
||||
|
||||
Next chapter: |usr_43.txt| Using filetypes
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -176,4 +176,4 @@ and sources a script or executes a function to check the contents of the file.
|
||||
|
||||
Next chapter: |usr_44.txt| Your own syntax highlighted
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -716,4 +716,4 @@ up scrolling backwards and CTRL-L.
|
||||
|
||||
Next chapter: |usr_45.txt| Select your language
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -416,4 +416,4 @@ Don't type the spaces. See |i_CTRL-V_digit| for the details.
|
||||
|
||||
Next chapter: |usr_90.txt| Installing Vim
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -495,4 +495,4 @@ files that you created. You might want to keep that.
|
||||
|
||||
Table of contents: |usr_toc.txt|
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -352,4 +352,4 @@ Before you can use Vim.
|
||||
|
||||
==============================================================================
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -352,4 +352,4 @@ this and accidentally hit CTRL-B, it is very difficult to find out how to undo
|
||||
it. Since hardly anybody uses this feature, it is disabled by default. If
|
||||
you want to use it, define RIGHTLEFT in feature.h before compiling. |'revins'|
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -7810,4 +7810,4 @@ Solution: Allocate the buffer for the shell command.
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -14527,4 +14527,4 @@ Solution: Don't advance the cursor to include a line break when it's already
|
||||
Files: src/search.c
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -18309,4 +18309,4 @@ Files: src/os_win32.c
|
||||
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -25792,4 +25792,4 @@ Solution: Move the todo items to the help file.
|
||||
Files: src/terminal.c
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -1021,4 +1021,4 @@ These are remarks about running the POSIX test suite:
|
||||
- ex test 534 fails because .exrc isn't read in silent mode.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -538,4 +538,4 @@ g CTRL-H Start Select mode, blockwise. This is like CTRL-V,
|
||||
but starts Select mode instead of Visual mode.
|
||||
Mnemonic: "get Highlighted".
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -1311,4 +1311,4 @@ unlisted The buffer is not in the buffer list. It is not used for
|
||||
:setlocal nobuflisted
|
||||
<
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -95,4 +95,4 @@ 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:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -586,7 +586,7 @@ au BufNewFile,BufRead auto.master setf conf
|
||||
au BufNewFile,BufRead *.mas,*.master setf master
|
||||
|
||||
" Forth
|
||||
au BufNewFile,BufRead *.fs,*.ft setf forth
|
||||
au BufNewFile,BufRead *.fs,*.ft,*.fth setf forth
|
||||
|
||||
" Reva Forth
|
||||
au BufNewFile,BufRead *.frt setf reva
|
||||
@ -1263,9 +1263,9 @@ au BufNewFile,BufRead */etc/protocols setf protocols
|
||||
" Pyrex
|
||||
au BufNewFile,BufRead *.pyx,*.pxd setf pyrex
|
||||
|
||||
" Python, Python Shell Startup Files
|
||||
" Python, Python Shell Startup and Python Stub Files
|
||||
" Quixote (Python-based web framework)
|
||||
au BufNewFile,BufRead *.py,*.pyw,.pythonstartup,.pythonrc,*.ptl setf python
|
||||
au BufNewFile,BufRead *.py,*.pyw,.pythonstartup,.pythonrc,*.ptl,*.pyi setf python
|
||||
|
||||
" Radiance
|
||||
au BufNewFile,BufRead *.rad,*.mat setf radiance
|
||||
@ -1414,8 +1414,8 @@ au BufNewFile,BufRead *.sdl,*.pr setf sdl
|
||||
" sed
|
||||
au BufNewFile,BufRead *.sed setf sed
|
||||
|
||||
" Sieve (RFC 3028)
|
||||
au BufNewFile,BufRead *.siv setf sieve
|
||||
" Sieve (RFC 3028, 5228)
|
||||
au BufNewFile,BufRead *.siv,*.sieve setf sieve
|
||||
|
||||
" Sendmail
|
||||
au BufNewFile,BufRead sendmail.cf setf sm
|
||||
@ -1865,6 +1865,9 @@ au BufNewFile,BufRead */etc/xdg/menus/*.menu setf xml
|
||||
" ATI graphics driver configuration
|
||||
au BufNewFile,BufRead fglrxrc setf xml
|
||||
|
||||
" Web Services Description Language (WSDL)
|
||||
au BufNewFile,BufRead *.wsdl setf xml
|
||||
|
||||
" XLIFF (XML Localisation Interchange File Format) is also XML
|
||||
au BufNewFile,BufRead *.xlf setf xml
|
||||
au BufNewFile,BufRead *.xliff setf xml
|
||||
|
@ -1,16 +1,34 @@
|
||||
" Vim filetype plugin
|
||||
" Language: CMake
|
||||
" Maintainer: Keith Smiley <keithbsmiley@gmail.com>
|
||||
" Last Change: 2017 Dec 24
|
||||
" Last Change: 2018 Aug 30
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" save 'cpo' for restoration at the end of this file
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = "setl commentstring<"
|
||||
|
||||
if exists('loaded_matchit')
|
||||
let b:match_words = '\<if\>:\<elseif\>\|\<else\>:\<endif\>'
|
||||
\ . ',\<foreach\>\|\<while\>:\<break\>:\<endforeach\>\|\<endwhile\>'
|
||||
\ . ',\<macro\>:\<endmacro\>'
|
||||
\ . ',\<function\>:\<endfunction\>'
|
||||
let b:match_ignorecase = 1
|
||||
|
||||
let b:undo_ftplugin .= "| unlet b:match_words"
|
||||
endif
|
||||
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
" restore 'cpo' and clean up buffer variable
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
@ -1,7 +1,8 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Haskell
|
||||
" Maintainer: Daniel Campoverde <alx@sillybytes.net>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
" Latest Revision: 2018-08-27
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@ -15,6 +16,7 @@ let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=s1fl:{-,mb:-,ex:-},:-- commentstring=--\ %s
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
setlocal omnifunc=haskellcomplete#Complete
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
@ -1,164 +1,262 @@
|
||||
encoding
|
||||
abolish
|
||||
abolish_category
|
||||
abolish_events
|
||||
abolish_object
|
||||
abolish_protocol
|
||||
abs
|
||||
acos
|
||||
acyclic_term
|
||||
after
|
||||
alias
|
||||
always_true_or_false_goals
|
||||
arg
|
||||
asin
|
||||
asserta
|
||||
assertz
|
||||
atan
|
||||
atan2
|
||||
atom
|
||||
atomic
|
||||
atom_chars
|
||||
atom_chars
|
||||
atom_codes
|
||||
atom_codes
|
||||
atom_concat
|
||||
atom_concat
|
||||
atom_length
|
||||
at_end_of_stream
|
||||
bagof
|
||||
before
|
||||
built_in
|
||||
call
|
||||
callable
|
||||
calls
|
||||
catch
|
||||
category
|
||||
category_property
|
||||
ceiling
|
||||
char_code
|
||||
char_conversion
|
||||
clause
|
||||
clean
|
||||
close
|
||||
code_prefix
|
||||
coinduction
|
||||
coinductive
|
||||
compare
|
||||
complements
|
||||
complements
|
||||
complements_object
|
||||
compound
|
||||
conforms_to_protocol
|
||||
context
|
||||
context_switching_calls
|
||||
copy_term
|
||||
cos
|
||||
create_category
|
||||
create_logtalk_flag
|
||||
create_object
|
||||
create_protocol
|
||||
current_category
|
||||
current_char_conversion
|
||||
current_event
|
||||
current_input
|
||||
current_logtalk_flag
|
||||
current_object
|
||||
current_op
|
||||
current_output
|
||||
current_predicate
|
||||
current_prolog_flag
|
||||
current_protocol
|
||||
debug
|
||||
define_events
|
||||
deprecated
|
||||
discontiguous
|
||||
div
|
||||
domain_error
|
||||
duplicated_directives
|
||||
dynamic
|
||||
dynamic_declarations
|
||||
elif
|
||||
else
|
||||
encoding
|
||||
encoding_directive
|
||||
endif
|
||||
end_category
|
||||
end_object
|
||||
end_protocol
|
||||
info
|
||||
initialization
|
||||
object
|
||||
protocol
|
||||
synchronized
|
||||
threaded
|
||||
uses
|
||||
alias
|
||||
discontiguous
|
||||
meta_predicate
|
||||
mode
|
||||
op
|
||||
private
|
||||
protected
|
||||
public
|
||||
current_object
|
||||
current_protocol
|
||||
current_category
|
||||
object_property
|
||||
protocol_property
|
||||
category_property
|
||||
create_object
|
||||
create_protocol
|
||||
create_category
|
||||
abolish_object
|
||||
abolish_protocol
|
||||
abolish_category
|
||||
complements
|
||||
complements_object
|
||||
engines
|
||||
ensure_loaded
|
||||
evaluation_error
|
||||
events
|
||||
existence_error
|
||||
exp
|
||||
expand_goal
|
||||
expand_term
|
||||
export
|
||||
extends
|
||||
extends_category
|
||||
extends_object
|
||||
extends_protocol
|
||||
extends_category
|
||||
fail
|
||||
false
|
||||
findall
|
||||
float
|
||||
float_fractional_part
|
||||
float_integer_part
|
||||
floor
|
||||
flush_output
|
||||
forall
|
||||
forward
|
||||
functor
|
||||
get_byte
|
||||
get_char
|
||||
get_code
|
||||
goal_expansion
|
||||
ground
|
||||
halt
|
||||
hook
|
||||
if
|
||||
ignore
|
||||
implements
|
||||
implements_protocol
|
||||
imports
|
||||
imports_category
|
||||
include
|
||||
info
|
||||
initialization
|
||||
instantiates
|
||||
instantiates_class
|
||||
specializes
|
||||
specializes_class
|
||||
abolish_events
|
||||
current_event
|
||||
define_events
|
||||
logtalk_load
|
||||
instantiation_error
|
||||
integer
|
||||
keysort
|
||||
lambda_variables
|
||||
log
|
||||
logtalk_compile
|
||||
logtalk_library_path
|
||||
current_logtalk_flag
|
||||
set_logtalk_flag
|
||||
threaded_call
|
||||
threaded_once
|
||||
threaded_ignore
|
||||
threaded_exit
|
||||
threaded_peek
|
||||
threaded_wait
|
||||
threaded_notify
|
||||
self
|
||||
this
|
||||
sender
|
||||
parameter
|
||||
before
|
||||
after
|
||||
phrase
|
||||
expand_term
|
||||
goal_expansion
|
||||
term_expansion
|
||||
true
|
||||
fail
|
||||
call
|
||||
catch
|
||||
throw
|
||||
unify_with_occurs_check
|
||||
var
|
||||
atom
|
||||
integer
|
||||
float
|
||||
atomic
|
||||
compound
|
||||
logtalk_load
|
||||
logtalk_load_context
|
||||
logtalk_make
|
||||
logtalk_make_target_action
|
||||
max
|
||||
meta_non_terminal
|
||||
meta_predicate
|
||||
min
|
||||
missing_directives
|
||||
mod
|
||||
mode
|
||||
modules
|
||||
multifile
|
||||
nl
|
||||
nonvar
|
||||
number
|
||||
arg
|
||||
copy_term
|
||||
functor
|
||||
current_predicate
|
||||
predicate_property
|
||||
abolish
|
||||
assertz
|
||||
asserta
|
||||
clause
|
||||
retract
|
||||
retractall
|
||||
bagof
|
||||
findall
|
||||
forall
|
||||
setof
|
||||
current_input
|
||||
current_output
|
||||
set_input
|
||||
set_output
|
||||
numbervars
|
||||
number_chars
|
||||
number_chars
|
||||
number_codes
|
||||
number_codes
|
||||
object
|
||||
object_property
|
||||
once
|
||||
op
|
||||
open
|
||||
close
|
||||
flush_output
|
||||
stream_property
|
||||
at_end_of_stream
|
||||
set_stream_position
|
||||
get_char
|
||||
get_code
|
||||
optimize
|
||||
parameter
|
||||
peek_byte
|
||||
peek_char
|
||||
peek_code
|
||||
permission_error
|
||||
phrase
|
||||
portability
|
||||
predicate_property
|
||||
private
|
||||
prolog_compatible_version
|
||||
prolog_compiler
|
||||
prolog_dialect
|
||||
prolog_loader
|
||||
prolog_version
|
||||
protected
|
||||
protocol
|
||||
protocol_property
|
||||
public
|
||||
put_byte
|
||||
put_char
|
||||
put_code
|
||||
nl
|
||||
get_byte
|
||||
peek_byte
|
||||
put_byte
|
||||
read
|
||||
read_term
|
||||
redefined_built_ins
|
||||
reexport
|
||||
reload
|
||||
rem
|
||||
repeat
|
||||
report
|
||||
representation_error
|
||||
resource_error
|
||||
retract
|
||||
retractall
|
||||
round
|
||||
scratch_directory
|
||||
self
|
||||
sender
|
||||
setof
|
||||
set_input
|
||||
set_logtalk_flag
|
||||
set_output
|
||||
set_prolog_flag
|
||||
set_stream_position
|
||||
sign
|
||||
sin
|
||||
singleton_variables
|
||||
sort
|
||||
source_data
|
||||
specializes
|
||||
specializes_class
|
||||
sqrt
|
||||
stream_property
|
||||
subsumes_term
|
||||
sub_atom
|
||||
suspicious_calls
|
||||
synchronized
|
||||
syntax_error
|
||||
system_error
|
||||
tabling
|
||||
tan
|
||||
term_expansion
|
||||
term_variables
|
||||
this
|
||||
threaded
|
||||
threaded_call
|
||||
threaded_engine
|
||||
threaded_engine_create
|
||||
threaded_engine_destroy
|
||||
threaded_engine_fetch
|
||||
threaded_engine_next
|
||||
threaded_engine_next_reified
|
||||
threaded_engine_post
|
||||
threaded_engine_self
|
||||
threaded_engine_yield
|
||||
threaded_exit
|
||||
threaded_ignore
|
||||
threaded_notify
|
||||
threaded_once
|
||||
threaded_peek
|
||||
threaded_wait
|
||||
threads
|
||||
throw
|
||||
trivial_goal_fails
|
||||
true
|
||||
truncate
|
||||
type_error
|
||||
undefined_predicates
|
||||
underscore_variables
|
||||
unify_with_occurs_check
|
||||
unknown_entities
|
||||
unknown_predicates
|
||||
uses
|
||||
use_module
|
||||
var
|
||||
version
|
||||
write
|
||||
writeq
|
||||
write_canonical
|
||||
atom_chars
|
||||
atom_codes
|
||||
atom_concat
|
||||
number_chars
|
||||
number_codes
|
||||
current_op
|
||||
char_conversion
|
||||
current_char_conversion
|
||||
once
|
||||
repeat
|
||||
atom_length
|
||||
atom_concat
|
||||
sub_atom
|
||||
atom_chars
|
||||
atom_codes
|
||||
char_code
|
||||
number_chars
|
||||
number_codes
|
||||
set_prolog_flag
|
||||
current_prolog_flag
|
||||
halt
|
||||
abs
|
||||
atan
|
||||
ceiling
|
||||
cos
|
||||
exp
|
||||
float_fractional_part
|
||||
float_integer_part
|
||||
floor
|
||||
log
|
||||
mod
|
||||
rem
|
||||
round
|
||||
sign
|
||||
sin
|
||||
sqrt
|
||||
truncate
|
||||
xor
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Logtalk filetype plugin file
|
||||
" Language: Logtalk
|
||||
" Maintainer: Paulo Moura <pmoura@logtalk.org>
|
||||
" Latest Revision: 2007-07-06
|
||||
" Latest Revision: 2018-08-03
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@ -10,9 +10,10 @@ let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = "setl ts< sw< fdm< fdc< ai< dict<"
|
||||
|
||||
"setlocal ts=4
|
||||
setlocal ts=4
|
||||
setlocal sw=4
|
||||
setlocal fdm=syntax
|
||||
setlocal fdn=10
|
||||
setlocal fdc=2
|
||||
setlocal autoindent
|
||||
setlocal dict=$VIMRUNTIME/ftplugin/logtalk.dict
|
||||
|
@ -2,7 +2,7 @@
|
||||
" Language: R Markdown file
|
||||
" Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Homepage: https://github.com/jalvesaq/R-Vim-runtime
|
||||
" Last Change: Mon Jun 06, 2016 09:41PM
|
||||
" Last Change: Sun Jul 22, 2018 06:51PM
|
||||
" Original work by Alex Zvoleff (adjusted from R help for rmd by Michel Kuhlmann)
|
||||
|
||||
" Only do this when not yet done for this buffer
|
||||
@ -10,19 +10,12 @@ if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
|
||||
|
||||
" Nvim-R plugin needs this
|
||||
if exists("*CompleteR")
|
||||
if &omnifunc == "CompleteR"
|
||||
let b:rplugin_nonr_omnifunc = ""
|
||||
else
|
||||
let b:rplugin_nonr_omnifunc = &omnifunc
|
||||
endif
|
||||
set omnifunc=CompleteR
|
||||
if exists('g:rmd_include_html') && g:rmd_include_html
|
||||
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
|
||||
endif
|
||||
|
||||
setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s
|
||||
setlocal comments=fb:*,fb:-,fb:+,n:>
|
||||
setlocal commentstring=#\ %s
|
||||
setlocal formatoptions+=tcqln
|
||||
setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+
|
||||
setlocal iskeyword=@,48-57,_,.
|
||||
@ -30,6 +23,22 @@ setlocal iskeyword=@,48-57,_,.
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! FormatRmd()
|
||||
if search("^[ \t]*```[ ]*{r", "bncW") > search("^[ \t]*```$", "bncW")
|
||||
setlocal comments=:#',:###,:##,:#
|
||||
else
|
||||
setlocal comments=fb:*,fb:-,fb:+,n:>
|
||||
endif
|
||||
return 1
|
||||
endfunction
|
||||
|
||||
" If you do not want 'comments' dynamically defined, put in your vimrc:
|
||||
" let g:rmd_dynamic_comments = 0
|
||||
if !exists("g:rmd_dynamic_comments") || (exists("g:rmd_dynamic_comments") && g:rmd_dynamic_comments == 1)
|
||||
setlocal formatexpr=FormatRmd()
|
||||
endif
|
||||
|
||||
|
||||
" Enables pandoc if it is installed
|
||||
unlet! b:did_ftplugin
|
||||
runtime ftplugin/pandoc.vim
|
||||
|
@ -2,7 +2,7 @@
|
||||
" Language: reStructuredText documentation format with R code
|
||||
" Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Homepage: https://github.com/jalvesaq/R-Vim-runtime
|
||||
" Last Change: Tue Apr 07, 2015 04:38PM
|
||||
" Last Change: Wed Nov 01, 2017 10:47PM
|
||||
" Original work by Alex Zvoleff
|
||||
|
||||
" Only do this when not yet done for this buffer
|
||||
@ -16,11 +16,27 @@ let b:did_ftplugin = 1
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s
|
||||
setlocal comments=fb:*,fb:-,fb:+,n:>
|
||||
setlocal commentstring=#\ %s
|
||||
setlocal formatoptions+=tcqln
|
||||
setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+
|
||||
setlocal iskeyword=@,48-57,_,.
|
||||
|
||||
function! FormatRrst()
|
||||
if search('^\.\. {r', "bncW") > search('^\.\. \.\.$', "bncW")
|
||||
setlocal comments=:#',:###,:##,:#
|
||||
else
|
||||
setlocal comments=fb:*,fb:-,fb:+,n:>
|
||||
endif
|
||||
return 1
|
||||
endfunction
|
||||
|
||||
" If you do not want 'comments' dynamically defined, put in your vimrc:
|
||||
" let g:rrst_dynamic_comments = 0
|
||||
if !exists("g:rrst_dynamic_comments") || (exists("g:rrst_dynamic_comments") && g:rrst_dynamic_comments == 1)
|
||||
setlocal formatexpr=FormatRrst()
|
||||
endif
|
||||
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Vim
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2017 Dec 05
|
||||
" Last Change: 2018 Aug 07
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@ -17,19 +17,19 @@ set cpo-=C
|
||||
if !exists('*VimFtpluginUndo')
|
||||
func VimFtpluginUndo()
|
||||
setl fo< isk< com< tw< commentstring<
|
||||
if exists(b:did_add_maps)
|
||||
silent! nunmap <buffer> [['
|
||||
silent! vunmap <buffer> [['
|
||||
silent! nunmap <buffer> ]]'
|
||||
silent! vunmap <buffer> ]]'
|
||||
silent! nunmap <buffer> []'
|
||||
silent! vunmap <buffer> []'
|
||||
silent! nunmap <buffer> ]['
|
||||
silent! vunmap <buffer> ]['
|
||||
silent! nunmap <buffer> ]"'
|
||||
silent! vunmap <buffer> ]"'
|
||||
silent! nunmap <buffer> ["'
|
||||
silent! vunmap <buffer> ["'
|
||||
if exists('b:did_add_maps')
|
||||
silent! nunmap <buffer> [[
|
||||
silent! vunmap <buffer> [[
|
||||
silent! nunmap <buffer> ]]
|
||||
silent! vunmap <buffer> ]]
|
||||
silent! nunmap <buffer> []
|
||||
silent! vunmap <buffer> []
|
||||
silent! nunmap <buffer> ][
|
||||
silent! vunmap <buffer> ][
|
||||
silent! nunmap <buffer> ]"
|
||||
silent! vunmap <buffer> ]"
|
||||
silent! nunmap <buffer> ["
|
||||
silent! vunmap <buffer> ["
|
||||
endif
|
||||
unlet! b:match_ignorecase b:match_words b:match_skip b:did_add_maps
|
||||
endfunc
|
||||
@ -67,10 +67,10 @@ if !exists("no_plugin_maps") && !exists("no_vim_maps")
|
||||
vnoremap <silent><buffer> [[ m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "bW")<CR>
|
||||
nnoremap <silent><buffer> ]] m':call search('^\s*fu\%[nction]\>', "W")<CR>
|
||||
vnoremap <silent><buffer> ]] m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "W")<CR>
|
||||
nnoremap <silent><buffer> [] m':call search('^\s*endf*\%[unction]\>', "bW")<CR>
|
||||
vnoremap <silent><buffer> [] m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf*\%[unction]\>', "bW")<CR>
|
||||
nnoremap <silent><buffer> ][ m':call search('^\s*endf*\%[unction]\>', "W")<CR>
|
||||
vnoremap <silent><buffer> ][ m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf*\%[unction]\>', "W")<CR>
|
||||
nnoremap <silent><buffer> [] m':call search('^\s*endf\%[unction]\>', "bW")<CR>
|
||||
vnoremap <silent><buffer> [] m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf\%[unction]\>', "bW")<CR>
|
||||
nnoremap <silent><buffer> ][ m':call search('^\s*endf\%[unction]\>', "W")<CR>
|
||||
vnoremap <silent><buffer> ][ m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf\%[unction]\>', "W")<CR>
|
||||
|
||||
" Move around comments
|
||||
nnoremap <silent><buffer> ]" :call search('^\(\s*".*\n\)\@<!\(\s*"\)', "W")<CR>
|
||||
@ -87,8 +87,7 @@ if exists("loaded_matchit")
|
||||
\ '\<\(wh\%[ile]\|for\)\>:\<brea\%[k]\>:\<con\%[tinue]\>:\<end\(w\%[hile]\|fo\%[r]\)\>,' .
|
||||
\ '\<if\>:\<el\%[seif]\>:\<en\%[dif]\>,' .
|
||||
\ '\<try\>:\<cat\%[ch]\>:\<fina\%[lly]\>:\<endt\%[ry]\>,' .
|
||||
\ '\<aug\%[roup]\s\+\%(END\>\)\@!\S:\<aug\%[roup]\s\+END\>,' .
|
||||
\ '(:)'
|
||||
\ '\<aug\%[roup]\s\+\%(END\>\)\@!\S:\<aug\%[roup]\s\+END\>,'
|
||||
" Ignore syntax region commands and settings, any 'en*' would clobber
|
||||
" if-endif.
|
||||
" - set spl=de,en
|
||||
|
59
runtime/indent/dosbatch.vim
Normal file
59
runtime/indent/dosbatch.vim
Normal file
@ -0,0 +1,59 @@
|
||||
" Vim indent file
|
||||
" Language: MSDOS batch file (with NT command extensions)
|
||||
" Maintainer: Ken Takata
|
||||
" URL: https://github.com/k-takata/vim-dosbatch-indent
|
||||
" Last Change: 2017 May 10
|
||||
" Filenames: *.bat
|
||||
" License: VIM License
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal nosmartindent
|
||||
setlocal noautoindent
|
||||
setlocal indentexpr=GetDosBatchIndent(v:lnum)
|
||||
setlocal indentkeys=!^F,o,O
|
||||
setlocal indentkeys+=0=)
|
||||
|
||||
if exists("*GetDosBatchIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! GetDosBatchIndent(lnum)
|
||||
let l:prevlnum = prevnonblank(a:lnum-1)
|
||||
if l:prevlnum == 0
|
||||
" top of file
|
||||
return 0
|
||||
endif
|
||||
|
||||
" grab the previous and current line, stripping comments.
|
||||
let l:prevl = substitute(getline(l:prevlnum), '\c^\s*\%(@\s*\)\?rem\>.*$', '', '')
|
||||
let l:thisl = getline(a:lnum)
|
||||
let l:previ = indent(l:prevlnum)
|
||||
|
||||
let l:ind = l:previ
|
||||
|
||||
if l:prevl =~? '^\s*@\=if\>.*(\s*$' ||
|
||||
\ l:prevl =~? '\<do\>\s*(\s*$' ||
|
||||
\ l:prevl =~? '\<else\>\s*\%(if\>.*\)\?(\s*$' ||
|
||||
\ l:prevl =~? '^.*\(&&\|||\)\s*(\s*$'
|
||||
" previous line opened a block
|
||||
let l:ind += shiftwidth()
|
||||
endif
|
||||
if l:thisl =~ '^\s*)'
|
||||
" this line closed a block
|
||||
let l:ind -= shiftwidth()
|
||||
endif
|
||||
|
||||
return l:ind
|
||||
endfunction
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: ts=8 sw=2 sts=2
|
@ -3,9 +3,6 @@
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2011-07-08
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal indentexpr=GetDTDIndent()
|
||||
setlocal indentkeys=!^F,o,O,>
|
||||
setlocal nosmartindent
|
||||
@ -14,6 +11,9 @@ if exists("*GetDTDIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" TODO: Needs to be adjusted to stop at [, <, and ].
|
||||
let s:token_pattern = '^[^[:space:]]\+'
|
||||
|
||||
|
@ -663,7 +663,7 @@ func! s:CSSIndent()
|
||||
else
|
||||
let cur_hasfield = curtext =~ '^\s*[a-zA-Z0-9-]\+:'
|
||||
let prev_unfinished = s:CssUnfinished(prev_text)
|
||||
if !cur_hasfield && (prev_hasfield || prev_unfinished)
|
||||
if prev_unfinished
|
||||
" Continuation line has extra indent if the previous line was not a
|
||||
" continuation line.
|
||||
let extra = shiftwidth()
|
||||
@ -716,9 +716,13 @@ func! s:CSSIndent()
|
||||
endfunc "}}}
|
||||
|
||||
" Inside <style>: Whether a line is unfinished.
|
||||
" tag:
|
||||
" tag: blah
|
||||
" tag: blah &&
|
||||
" tag: blah ||
|
||||
func! s:CssUnfinished(text)
|
||||
"{{{
|
||||
return a:text =~ '\s\(||\|&&\|:\)\s*$'
|
||||
return a:text =~ '\(||\|&&\|:\|\k\)\s*$'
|
||||
endfunc "}}}
|
||||
|
||||
" Search back for the first unfinished line above "lnum".
|
||||
|
@ -1,5 +1,5 @@
|
||||
" Maintainer: Paulo Moura <pmoura@logtalk.org>
|
||||
" Revised on: 2008.06.02
|
||||
" Revised on: 2018.08.04
|
||||
" Language: Logtalk
|
||||
|
||||
" This Logtalk indent file is a modified version of the Prolog
|
||||
@ -42,6 +42,9 @@ function! GetLogtalkIndent()
|
||||
" Check for clause head on previous line
|
||||
elseif pline =~ ':-\s*\(%.*\)\?$'
|
||||
let ind = ind + shiftwidth()
|
||||
" Check for grammar rule head on previous line
|
||||
elseif pline =~ '-->\s*\(%.*\)\?$'
|
||||
let ind = ind + shiftwidth()
|
||||
" Check for entity closing directive on previous line
|
||||
elseif pline =~ '^\s*:-\send_\(object\|protocol\|category\)\.\(%.*\)\?$'
|
||||
let ind = ind - shiftwidth()
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user