forked from aniani/vim
Update runtime files.
This commit is contained in:
@@ -1,35 +1,25 @@
|
|||||||
" Vim support file to help with paste mappings and menus
|
" Vim support file to help with paste mappings and menus
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2017 Aug 30
|
" Last Change: 2019 Jan 27
|
||||||
|
|
||||||
" Define the string to use for items that are present both in Edit, Popup and
|
" Define the string to use for items that are present both in Edit, Popup and
|
||||||
" Toolbar menu. Also used in mswin.vim and macmap.vim.
|
" Toolbar menu. Also used in mswin.vim and macmap.vim.
|
||||||
|
|
||||||
" Pasting blockwise and linewise selections is not possible in Insert and
|
let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"}
|
||||||
" Visual mode without the +virtualedit feature. They are pasted as if they
|
let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n']
|
||||||
" were characterwise instead. Add to that some tricks to leave the cursor in
|
let paste#paste_cmd['i'] = "\<c-\>\<c-o>\"+gP"
|
||||||
" the right position, also for "gi".
|
|
||||||
if has("virtualedit")
|
|
||||||
let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"}
|
|
||||||
let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n']
|
|
||||||
let paste#paste_cmd['i'] = "\<c-\>\<c-o>\"+gP"
|
|
||||||
|
|
||||||
func! paste#Paste()
|
func! paste#Paste()
|
||||||
let ove = &ve
|
let ove = &ve
|
||||||
set ve=all
|
set ve=all
|
||||||
normal! `^
|
normal! `^
|
||||||
if @+ != ''
|
if @+ != ''
|
||||||
normal! "+gP
|
normal! "+gP
|
||||||
endif
|
endif
|
||||||
let c = col(".")
|
let c = col(".")
|
||||||
normal! i
|
normal! i
|
||||||
if col(".") < c " compensate for i<ESC> moving the cursor left
|
if col(".") < c " compensate for i<ESC> moving the cursor left
|
||||||
normal! l
|
normal! l
|
||||||
endif
|
endif
|
||||||
let &ve = ove
|
let &ve = ove
|
||||||
endfunc
|
endfunc
|
||||||
else
|
|
||||||
let paste#paste_cmd = {'n': "\"=@+.'xy'<CR>gPFx\"_2x"}
|
|
||||||
let paste#paste_cmd['v'] = '"-c<Esc>gix<Esc>' . paste#paste_cmd['n'] . '"_x'
|
|
||||||
let paste#paste_cmd['i'] = 'x<Esc>' . paste#paste_cmd['n'] . '"_s'
|
|
||||||
endif
|
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
:" information about the environment of a possible bug in Vim.
|
:" information about the environment of a possible bug in Vim.
|
||||||
:"
|
:"
|
||||||
:" Maintainer: Bram Moolenaar <Bram@vim.org>
|
:" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
:" Last change: 2005 Jun 12
|
:" Last change: 2019 Jan 27
|
||||||
:"
|
:"
|
||||||
:" To use inside Vim:
|
:" To use inside Vim:
|
||||||
:" :so $VIMRUNTIME/bugreport.vim
|
:" :so $VIMRUNTIME/bugreport.vim
|
||||||
@@ -54,9 +54,7 @@
|
|||||||
:endif
|
:endif
|
||||||
:set all
|
:set all
|
||||||
:set termcap
|
:set termcap
|
||||||
:if has("autocmd")
|
:au
|
||||||
: au
|
|
||||||
:endif
|
|
||||||
:if 1
|
:if 1
|
||||||
: echo "--- Normal/Visual mode mappings ---"
|
: echo "--- Normal/Visual mode mappings ---"
|
||||||
:endif
|
:endif
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
" The default vimrc file.
|
" The default vimrc file.
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last change: 2017 Jun 13
|
" Last change: 2019 Jan 26
|
||||||
"
|
"
|
||||||
" This is loaded if no vimrc file was found.
|
" This is loaded if no vimrc file was found.
|
||||||
" Except when Vim is run with "-u NONE" or "-C".
|
" Except when Vim is run with "-u NONE" or "-C".
|
||||||
@@ -90,33 +90,28 @@ if &t_Co > 2 || has("gui_running")
|
|||||||
let c_comment_strings=1
|
let c_comment_strings=1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Only do this part when compiled with support for autocommands.
|
" Enable file type detection.
|
||||||
if has("autocmd")
|
" Use the default filetype settings, so that mail gets 'tw' set to 72,
|
||||||
|
" 'cindent' is on in C files, etc.
|
||||||
|
" Also load indent files, to automatically do language-dependent indenting.
|
||||||
|
" Revert with ":filetype off".
|
||||||
|
filetype plugin indent on
|
||||||
|
|
||||||
" Enable file type detection.
|
" Put these in an autocmd group, so that you can revert them with:
|
||||||
" Use the default filetype settings, so that mail gets 'tw' set to 72,
|
" ":augroup vimStartup | au! | augroup END"
|
||||||
" 'cindent' is on in C files, etc.
|
augroup vimStartup
|
||||||
" Also load indent files, to automatically do language-dependent indenting.
|
au!
|
||||||
" Revert with ":filetype off".
|
|
||||||
filetype plugin indent on
|
|
||||||
|
|
||||||
" Put these in an autocmd group, so that you can revert them with:
|
" When editing a file, always jump to the last known cursor position.
|
||||||
" ":augroup vimStartup | au! | augroup END"
|
" Don't do it when the position is invalid, when inside an event handler
|
||||||
augroup vimStartup
|
" (happens when dropping a file on gvim) and for a commit message (it's
|
||||||
au!
|
" likely a different one than last time).
|
||||||
|
autocmd BufReadPost *
|
||||||
|
\ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit'
|
||||||
|
\ | exe "normal! g`\""
|
||||||
|
\ | endif
|
||||||
|
|
||||||
" When editing a file, always jump to the last known cursor position.
|
augroup END
|
||||||
" Don't do it when the position is invalid, when inside an event handler
|
|
||||||
" (happens when dropping a file on gvim) and for a commit message (it's
|
|
||||||
" likely a different one than last time).
|
|
||||||
autocmd BufReadPost *
|
|
||||||
\ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit'
|
|
||||||
\ | exe "normal! g`\""
|
|
||||||
\ | endif
|
|
||||||
|
|
||||||
augroup END
|
|
||||||
|
|
||||||
endif " has("autocmd")
|
|
||||||
|
|
||||||
" Convenient command to see the difference between the current buffer and the
|
" Convenient command to see the difference between the current buffer and the
|
||||||
" file it was loaded from, thus the changes you made.
|
" file it was loaded from, thus the changes you made.
|
||||||
|
@@ -10193,7 +10193,7 @@ compatible Compiled to be very Vi compatible.
|
|||||||
conpty Platform where |ConPTY| can be used.
|
conpty Platform where |ConPTY| can be used.
|
||||||
cryptv Compiled with encryption support |encryption|.
|
cryptv Compiled with encryption support |encryption|.
|
||||||
cscope Compiled with |cscope| support.
|
cscope Compiled with |cscope| support.
|
||||||
cursorbind Compiled with |cursorbind| (always true)
|
cursorbind Compiled with |'cursorbind'| (always true)
|
||||||
debug Compiled with "DEBUG" defined.
|
debug Compiled with "DEBUG" defined.
|
||||||
dialog_con Compiled with console dialog support.
|
dialog_con Compiled with console dialog support.
|
||||||
dialog_gui Compiled with GUI dialog support.
|
dialog_gui Compiled with GUI dialog support.
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*if_perl.txt* For Vim version 8.1. Last change: 2017 Nov 24
|
*if_perl.txt* For Vim version 8.1. Last change: 2019 Jan 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Sven Verdoolaege
|
VIM REFERENCE MANUAL by Sven Verdoolaege
|
||||||
@@ -192,7 +192,7 @@ VIM::Eval({expr}) Evaluates {expr} and returns (success, value) in list
|
|||||||
and inserting line breaks.
|
and inserting line breaks.
|
||||||
|
|
||||||
*perl-Blob*
|
*perl-Blob*
|
||||||
VIM::Blob({expr}) Return Blob literal string 0zXXXX from scalar value.
|
VIM::Blob({expr}) Return |Blob| literal string 0zXXXX from scalar value.
|
||||||
|
|
||||||
*perl-SetHeight*
|
*perl-SetHeight*
|
||||||
Window->SetHeight({height})
|
Window->SetHeight({height})
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*if_ruby.txt* For Vim version 8.1. Last change: 2018 Mar 15
|
*if_ruby.txt* For Vim version 8.1. Last change: 2019 Jan 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Shugo Maeda
|
VIM REFERENCE MANUAL by Shugo Maeda
|
||||||
@@ -112,7 +112,7 @@ Vim::message({msg})
|
|||||||
|
|
||||||
*ruby-blob*
|
*ruby-blob*
|
||||||
Vim::blob({arg})
|
Vim::blob({arg})
|
||||||
Return Blob literal string from {arg}.
|
Return |Blob| literal string from {arg}.
|
||||||
|
|
||||||
*ruby-set_option*
|
*ruby-set_option*
|
||||||
Vim::set_option({arg})
|
Vim::set_option({arg})
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*indent.txt* For Vim version 8.1. Last change: 2018 Apr 04
|
*indent.txt* For Vim version 8.1. Last change: 2019 Jan 31
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*insert.txt* For Vim version 8.1. Last change: 2019 Jan 11
|
*insert.txt* For Vim version 8.1. Last change: 2019 Jan 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -1078,7 +1078,8 @@ that contains the List. The Dict can have these items:
|
|||||||
leading text is changed.
|
leading text is changed.
|
||||||
|
|
||||||
If you want to suppress the warning message for an empty result, return
|
If you want to suppress the warning message for an empty result, return
|
||||||
v:none. This is useful to implement asynchronous completion with complete().
|
|v:none|. This is useful to implement asynchronous completion with
|
||||||
|
|complete()|.
|
||||||
|
|
||||||
Other items are ignored.
|
Other items are ignored.
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*options.txt* For Vim version 8.1. Last change: 2019 Jan 16
|
*options.txt* For Vim version 8.1. Last change: 2019 Feb 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -354,12 +354,12 @@ files. You use this command: >
|
|||||||
:setlocal makeprg=perlmake
|
:setlocal makeprg=perlmake
|
||||||
You can switch back to using the global value by making the local value empty: >
|
You can switch back to using the global value by making the local value empty: >
|
||||||
:setlocal makeprg=
|
:setlocal makeprg=
|
||||||
This only works for a string option. For a boolean option you need to use the
|
This only works for a string option. For a number or boolean option you need
|
||||||
"<" flag, like this: >
|
to use the "<" flag, like this: >
|
||||||
:setlocal autoread<
|
:setlocal autoread<
|
||||||
Note that for non-boolean options using "<" copies the global value to the
|
Note that for non-boolean and non-number options using "<" copies the global
|
||||||
local value, it doesn't switch back to using the global value (that matters
|
value to the local value, it doesn't switch back to using the global value
|
||||||
when the global value changes later). You can also use: >
|
(that matters when the global value changes later). You can also use: >
|
||||||
:set path<
|
:set path<
|
||||||
This will make the local value of 'path' empty, so that the global value is
|
This will make the local value of 'path' empty, so that the global value is
|
||||||
used. Thus it does the same as: >
|
used. Thus it does the same as: >
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*os_vms.txt* For Vim version 8.1. Last change: 2019 Jan 19
|
*os_vms.txt* For Vim version 8.1. Last change: 2019 Jan 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL
|
VIM REFERENCE MANUAL
|
||||||
|
@@ -1092,6 +1092,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'termbidi' options.txt /*'termbidi'*
|
'termbidi' options.txt /*'termbidi'*
|
||||||
'termencoding' options.txt /*'termencoding'*
|
'termencoding' options.txt /*'termencoding'*
|
||||||
'termguicolors' options.txt /*'termguicolors'*
|
'termguicolors' options.txt /*'termguicolors'*
|
||||||
|
'termmode' options.txt /*'termmode'*
|
||||||
'termwinkey' options.txt /*'termwinkey'*
|
'termwinkey' options.txt /*'termwinkey'*
|
||||||
'termwinscroll' options.txt /*'termwinscroll'*
|
'termwinscroll' options.txt /*'termwinscroll'*
|
||||||
'termwinsize' options.txt /*'termwinsize'*
|
'termwinsize' options.txt /*'termwinsize'*
|
||||||
@@ -1112,6 +1113,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'titlestring' options.txt /*'titlestring'*
|
'titlestring' options.txt /*'titlestring'*
|
||||||
'tl' options.txt /*'tl'*
|
'tl' options.txt /*'tl'*
|
||||||
'tm' options.txt /*'tm'*
|
'tm' options.txt /*'tm'*
|
||||||
|
'tmod' options.txt /*'tmod'*
|
||||||
'to' options.txt /*'to'*
|
'to' options.txt /*'to'*
|
||||||
'toolbar' options.txt /*'toolbar'*
|
'toolbar' options.txt /*'toolbar'*
|
||||||
'toolbariconsize' options.txt /*'toolbariconsize'*
|
'toolbariconsize' options.txt /*'toolbariconsize'*
|
||||||
@@ -1717,6 +1719,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
05.6 usr_05.txt /*05.6*
|
05.6 usr_05.txt /*05.6*
|
||||||
05.7 usr_05.txt /*05.7*
|
05.7 usr_05.txt /*05.7*
|
||||||
05.8 usr_05.txt /*05.8*
|
05.8 usr_05.txt /*05.8*
|
||||||
|
05.9 usr_05.txt /*05.9*
|
||||||
06.1 usr_06.txt /*06.1*
|
06.1 usr_06.txt /*06.1*
|
||||||
06.2 usr_06.txt /*06.2*
|
06.2 usr_06.txt /*06.2*
|
||||||
06.3 usr_06.txt /*06.3*
|
06.3 usr_06.txt /*06.3*
|
||||||
@@ -3741,6 +3744,7 @@ ColorSchemePre autocmd.txt /*ColorSchemePre*
|
|||||||
Command-line cmdline.txt /*Command-line*
|
Command-line cmdline.txt /*Command-line*
|
||||||
Command-line-mode cmdline.txt /*Command-line-mode*
|
Command-line-mode cmdline.txt /*Command-line-mode*
|
||||||
CompleteDone autocmd.txt /*CompleteDone*
|
CompleteDone autocmd.txt /*CompleteDone*
|
||||||
|
ConPTY terminal.txt /*ConPTY*
|
||||||
Contents quickref.txt /*Contents*
|
Contents quickref.txt /*Contents*
|
||||||
Cscope if_cscop.txt /*Cscope*
|
Cscope if_cscop.txt /*Cscope*
|
||||||
CursorHold autocmd.txt /*CursorHold*
|
CursorHold autocmd.txt /*CursorHold*
|
||||||
@@ -5012,7 +5016,10 @@ ZZ editing.txt /*ZZ*
|
|||||||
[:cntrl:] pattern.txt /*[:cntrl:]*
|
[:cntrl:] pattern.txt /*[:cntrl:]*
|
||||||
[:digit:] pattern.txt /*[:digit:]*
|
[:digit:] pattern.txt /*[:digit:]*
|
||||||
[:escape:] pattern.txt /*[:escape:]*
|
[:escape:] pattern.txt /*[:escape:]*
|
||||||
|
[:fname:] pattern.txt /*[:fname:]*
|
||||||
[:graph:] pattern.txt /*[:graph:]*
|
[:graph:] pattern.txt /*[:graph:]*
|
||||||
|
[:ident:] pattern.txt /*[:ident:]*
|
||||||
|
[:keyword:] pattern.txt /*[:keyword:]*
|
||||||
[:lower:] pattern.txt /*[:lower:]*
|
[:lower:] pattern.txt /*[:lower:]*
|
||||||
[:print:] pattern.txt /*[:print:]*
|
[:print:] pattern.txt /*[:print:]*
|
||||||
[:punct:] pattern.txt /*[:punct:]*
|
[:punct:] pattern.txt /*[:punct:]*
|
||||||
@@ -5847,6 +5854,7 @@ dec-mouse options.txt /*dec-mouse*
|
|||||||
decada_members ft_ada.txt /*decada_members*
|
decada_members ft_ada.txt /*decada_members*
|
||||||
deepcopy() eval.txt /*deepcopy()*
|
deepcopy() eval.txt /*deepcopy()*
|
||||||
defaults.vim starting.txt /*defaults.vim*
|
defaults.vim starting.txt /*defaults.vim*
|
||||||
|
defaults.vim-explained usr_05.txt /*defaults.vim-explained*
|
||||||
definition-search tagsrch.txt /*definition-search*
|
definition-search tagsrch.txt /*definition-search*
|
||||||
definitions intro.txt /*definitions*
|
definitions intro.txt /*definitions*
|
||||||
delete() eval.txt /*delete()*
|
delete() eval.txt /*delete()*
|
||||||
@@ -7313,7 +7321,7 @@ lambda eval.txt /*lambda*
|
|||||||
lang-variable eval.txt /*lang-variable*
|
lang-variable eval.txt /*lang-variable*
|
||||||
language-mapping map.txt /*language-mapping*
|
language-mapping map.txt /*language-mapping*
|
||||||
last-pattern pattern.txt /*last-pattern*
|
last-pattern pattern.txt /*last-pattern*
|
||||||
last-position-jump eval.txt /*last-position-jump*
|
last-position-jump usr_05.txt /*last-position-jump*
|
||||||
last_buffer_nr() eval.txt /*last_buffer_nr()*
|
last_buffer_nr() eval.txt /*last_buffer_nr()*
|
||||||
latex-syntax syntax.txt /*latex-syntax*
|
latex-syntax syntax.txt /*latex-syntax*
|
||||||
lc_time-variable eval.txt /*lc_time-variable*
|
lc_time-variable eval.txt /*lc_time-variable*
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*terminal.txt* For Vim version 8.1. Last change: 2018 May 17
|
*terminal.txt* For Vim version 8.1. Last change: 2019 Feb 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 8.1. Last change: 2019 Jan 26
|
*todo.txt* For Vim version 8.1. Last change: 2019 Feb 02
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -38,6 +38,8 @@ browser use: https://github.com/vim/vim/issues/1234
|
|||||||
*known-bugs*
|
*known-bugs*
|
||||||
-------------------- Known bugs and current work -----------------------
|
-------------------- Known bugs and current work -----------------------
|
||||||
|
|
||||||
|
Timer test doesn't work on MS-Windows console, any way to make it work?
|
||||||
|
|
||||||
'incsearch' with :s: (#3321)
|
'incsearch' with :s: (#3321)
|
||||||
- Get E20 when using command history to get "'<,'>s/a/b" and no Visual area
|
- Get E20 when using command history to get "'<,'>s/a/b" and no Visual area
|
||||||
was set. (#3837)
|
was set. (#3837)
|
||||||
@@ -61,6 +63,7 @@ Terminal debugger:
|
|||||||
- Add option to not open the program window. It's not used when attaching to
|
- Add option to not open the program window. It's not used when attaching to
|
||||||
an already running program. (M. Kelly)
|
an already running program. (M. Kelly)
|
||||||
- When only gdb window exists, on "quit" edit another buffer.
|
- When only gdb window exists, on "quit" edit another buffer.
|
||||||
|
- Use a sign group
|
||||||
- Termdebug does not work when Vim was build with mzscheme: gdb hangs just
|
- Termdebug does not work when Vim was build with mzscheme: gdb hangs just
|
||||||
after "run". Everything else works, including communication channel. Not
|
after "run". Everything else works, including communication channel. Not
|
||||||
initializing mzscheme avoid the problem, thus it's not some #ifdef.
|
initializing mzscheme avoid the problem, thus it's not some #ifdef.
|
||||||
@@ -107,48 +110,18 @@ Problem with Visual yank when 'linebreak' and 'showbreak' are set.
|
|||||||
Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018
|
Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018
|
||||||
Nov 17) Asked about this, Dec 22. Christian will have a look.
|
Nov 17) Asked about this, Dec 22. Christian will have a look.
|
||||||
|
|
||||||
Key mapping times out when using a timer in Gvim. (Michael Henry, 2018 Sep 9,
|
|
||||||
#3417)
|
|
||||||
Another report, with reproduction steps. (#3799)
|
|
||||||
Is this fixed by 8.1.0761?
|
|
||||||
|
|
||||||
Does not build with MinGW out of the box:
|
Does not build with MinGW out of the box:
|
||||||
- _stat64 is not defined, need to use "struct stat" in vim.h
|
- _stat64 is not defined, need to use "struct stat" in vim.h
|
||||||
- WINVER conflict, should use 0x0600 by default?
|
- WINVER conflict, should use 0x0600 by default?
|
||||||
|
|
||||||
js_decode() does not handle infinity properly. (Dominique Pelle, 2019 Jan 10,
|
|
||||||
#3788)
|
|
||||||
|
|
||||||
Patch to avoid skipping buffers when loading a session. (Jason Franklin, 2019
|
|
||||||
Jan 20)
|
|
||||||
|
|
||||||
Patch to update example of how to restore the cursor. (Ken Takata, 2019 Jan
|
|
||||||
21)
|
|
||||||
|
|
||||||
Patch to fix problems with timer in GUI. (Ozaki Kiichi, #3817)
|
|
||||||
Should also fix #3824.
|
|
||||||
Change the order in which GUI handles events? Make it work like os_unix.c,
|
|
||||||
check timer on lower level, check for pending messages higher up.
|
|
||||||
|
|
||||||
Signs:
|
|
||||||
- screen not redrawn correctly. (Dominique Pelle, 2019 Jan 14, #3803)
|
|
||||||
- Use a sign group in the Termdebug plugin.
|
|
||||||
- Avoid that "sign unplace id" does a redraw right away, esp. when there is
|
|
||||||
a sequence of these commands. (Andy Stewart, 2018 Mar 16)
|
|
||||||
|
|
||||||
Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
|
Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
|
||||||
13, #2910) Can't reproduce?
|
13, #2910) Can't reproduce?
|
||||||
|
|
||||||
Patch to recognize more systems with has(). (Ozaki Kiichi, #3855)
|
|
||||||
|
|
||||||
Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
|
Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
|
||||||
|
|
||||||
Errors found with random data:
|
Errors found with random data:
|
||||||
heap-buffer-overflow in alist_add (#2472)
|
heap-buffer-overflow in alist_add (#2472)
|
||||||
|
|
||||||
Patch for xxd to make it work with 64 bit numbers. (Christer Jense, 2019 Jan
|
|
||||||
11, #3791)
|
|
||||||
|
|
||||||
Win32 key codes are messy. Mike Williams tried to fix that, but now old
|
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?
|
mappings no longer work. Create a new terminal for the better solution?
|
||||||
|
|
||||||
@@ -177,12 +150,6 @@ similar to check_due_timer(). Also see #3809.
|
|||||||
C syntax: {} inside () causes following {} to be highlighted as error.
|
C syntax: {} inside () causes following {} to be highlighted as error.
|
||||||
(Michalis Giannakidis, 2006 Jun 1)
|
(Michalis Giannakidis, 2006 Jun 1)
|
||||||
|
|
||||||
Patch on #3690 to fix that "wincmd p" does not always behave properly.
|
|
||||||
(Christian Brabandt, 2018 Dec 17)
|
|
||||||
|
|
||||||
Patch: When using %v in 'errorformat', assume the number is the screen column
|
|
||||||
not bytes, also handle multi-byte charactes. (Yegappan Lakshmanan, #3700)
|
|
||||||
|
|
||||||
Support setting the character displayed below the last line? Neovim uses
|
Support setting the character displayed below the last line? Neovim uses
|
||||||
"eob:X" in 'fillchars'.
|
"eob:X" in 'fillchars'.
|
||||||
|
|
||||||
@@ -197,37 +164,24 @@ balloonexpr() on MS-Windows GUI doesn't handle accented chars? (nivaemail,
|
|||||||
2018 Sep 14)
|
2018 Sep 14)
|
||||||
Another request: #3811.
|
Another request: #3811.
|
||||||
|
|
||||||
Patch for MinGW build with static libraries. (Ken Takata, 2018 Dec 16)
|
|
||||||
|
|
||||||
Patch to add new regexp classes :ident:, :keyword:, :fname:.
|
|
||||||
(ichizok, 2016 Jan 12, #1373)
|
|
||||||
|
|
||||||
Patch to add "termsig" - signal that caused job to end. (Ozaki Kiichi, 2019
|
|
||||||
Jan 10, #3786)
|
|
||||||
|
|
||||||
More warnings from static analysis:
|
More warnings from static analysis:
|
||||||
https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
|
https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
|
||||||
|
|
||||||
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'.
|
|
||||||
|
|
||||||
Patch for ConPTY support, new one: #3794 Does this work now?
|
|
||||||
(Nobuhiro Takasaki)
|
|
||||||
|
|
||||||
Issue #3649: Retrying the X server connection once may be insufficient.
|
|
||||||
Since patch 8.1.0615 we try reconnecting five times. Does it work?
|
|
||||||
|
|
||||||
nvo-mode mapping works on Windows, not on Linux. (#3678)
|
nvo-mode mapping works on Windows, not on Linux. (#3678)
|
||||||
|
|
||||||
Patch to be able to separately map CTRL-H and BS on Windows.
|
Patch to be able to separately map CTRL-H and BS on Windows.
|
||||||
(Linwei, 2017 Jul 11, #1833)
|
(Linwei, 2017 Jul 11, #1833)
|
||||||
|
|
||||||
|
Patch to improve readability of complicated if(). (ichizok, 2019 Jan 29,
|
||||||
|
#3879)
|
||||||
|
|
||||||
Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
|
Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
|
||||||
Related to bracketed paste. I cannot reproduce it.
|
Related to bracketed paste. I cannot reproduce it.
|
||||||
|
|
||||||
|
When 'confirm' is set a "silent q" doesn't show the prompt. It should in this
|
||||||
|
case. (Nate Peterson, 2019 Jan 31, #3892)
|
||||||
|
For "silent! q" it should not prompt and just fail.
|
||||||
|
|
||||||
Using CTRL-L to add a character to the search string doesn't work for the last
|
Using CTRL-L to add a character to the search string doesn't work for the last
|
||||||
character in the file. (Smylers, 2018 Nov 17, #3620)
|
character in the file. (Smylers, 2018 Nov 17, #3620)
|
||||||
Suggested patch by Hirohito Higashi, 2018 Nov 18.
|
Suggested patch by Hirohito Higashi, 2018 Nov 18.
|
||||||
@@ -250,13 +204,16 @@ When 'sidescrolloff' is set, using "zl" to go to the end of the line, suddenly
|
|||||||
scrolls back. Should allow for this scrolling, like 'scrolloff' does when
|
scrolls back. Should allow for this scrolling, like 'scrolloff' does when
|
||||||
using CTRL-E. (Yee Cheng Chin, #3721)
|
using CTRL-E. (Yee Cheng Chin, #3721)
|
||||||
|
|
||||||
Patch to add ":vsbuffer" - vertical split + :sbuffer. (Rob Pilling, 2019 Jan
|
|
||||||
17, #3816) Do we really need this?
|
|
||||||
|
|
||||||
Invalid memory access with old regexp engine. (Dominique Pelle, 2018 Sep 3,
|
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.
|
#3405) Introduced by 8.0.1517, which was fixing another memory access error.
|
||||||
(Sep 8)
|
(Sep 8)
|
||||||
|
|
||||||
|
Patch to add complete_mode(). Shougo - #3866. Alternate patch by Hirohito
|
||||||
|
Higashi, 2019 Jan 27, included now?
|
||||||
|
|
||||||
|
Patch for ConPTY support, new one: #3794 Does this work now? It should.
|
||||||
|
(Nobuhiro Takasaki)
|
||||||
|
|
||||||
Add function to make use of internal diff, working on two lists and returning
|
Add function to make use of internal diff, working on two lists and returning
|
||||||
unified diff (list of lines).
|
unified diff (list of lines).
|
||||||
|
|
||||||
@@ -272,6 +229,8 @@ cursorline highlighting not removed after yanking in Visual mode.
|
|||||||
(Matéo Zanibelli, 2018 Oct 30, #3578)
|
(Matéo Zanibelli, 2018 Oct 30, #3578)
|
||||||
Patch by Christian, Oct 30.
|
Patch by Christian, Oct 30.
|
||||||
|
|
||||||
|
Patch to clean up CI configs. (Ozaki Kiichi, 2019 Feb 1, #3890)
|
||||||
|
|
||||||
Memory leaks in test_channel? (or is it because of fork())
|
Memory leaks in test_channel? (or is it because of fork())
|
||||||
Using uninitialized value in test_crypt.
|
Using uninitialized value in test_crypt.
|
||||||
Memory leak in test_terminal:
|
Memory leak in test_terminal:
|
||||||
@@ -293,6 +252,11 @@ Patch to add match count and current index "3/44" when using "n" command.
|
|||||||
matchaddpos() gets slow with many matches. Proposal by Rick Howe, 2018 Jul
|
matchaddpos() gets slow with many matches. Proposal by Rick Howe, 2018 Jul
|
||||||
19.
|
19.
|
||||||
|
|
||||||
|
Should make 'listchars' global-local. Local to window or to buffer?
|
||||||
|
Probably window.
|
||||||
|
Add something like 'fillchars' local to window, but allow for specifying a
|
||||||
|
highlight name. Esp. for the statusline.
|
||||||
|
|
||||||
Sourceforge Vim pages still have content, redirect from empty page.
|
Sourceforge Vim pages still have content, redirect from empty page.
|
||||||
Check for PHP errors. (Wayne Davison, 2018 Oct 26)
|
Check for PHP errors. (Wayne Davison, 2018 Oct 26)
|
||||||
|
|
||||||
@@ -335,6 +299,9 @@ Further xdiff changes:
|
|||||||
|
|
||||||
Difference between two regexp engines: #3373
|
Difference between two regexp engines: #3373
|
||||||
|
|
||||||
|
Patch to properly break CJK lines: #3875
|
||||||
|
Requires more tests. dbcs_ functions are not implemented.
|
||||||
|
|
||||||
Patch to add ch_listen() (Yasuhiro Matsumoto, 2018 Nov 26, #3639)
|
Patch to add ch_listen() (Yasuhiro Matsumoto, 2018 Nov 26, #3639)
|
||||||
What is the practical use for this?
|
What is the practical use for this?
|
||||||
|
|
||||||
@@ -424,8 +391,6 @@ behave strangely, as if there is a gap and a vertical window separator.
|
|||||||
Make {skip} argument of searchpair() consistent with other places where we
|
Make {skip} argument of searchpair() consistent with other places where we
|
||||||
pass an expression to evaluate. Allow passing zero for "never skip".
|
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
|
Add an option similar to 'lazyredraw' to skip redrawing while executing a
|
||||||
script or function.
|
script or function.
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*usr_05.txt* For Vim version 8.1. Last change: 2018 Feb 20
|
*usr_05.txt* For Vim version 8.1. Last change: 2019 Jan 26
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -11,12 +11,13 @@ Vim's capabilities. Or define your own macros.
|
|||||||
|
|
||||||
|05.1| The vimrc file
|
|05.1| The vimrc file
|
||||||
|05.2| The example vimrc file explained
|
|05.2| The example vimrc file explained
|
||||||
|05.3| Simple mappings
|
|05.3| The defaults.vim file explained
|
||||||
|05.4| Adding a package
|
|05.4| Simple mappings
|
||||||
|05.5| Adding a plugin
|
|05.5| Adding a package
|
||||||
|05.6| Adding a help file
|
|05.6| Adding a plugin
|
||||||
|05.7| The option window
|
|05.7| Adding a help file
|
||||||
|05.8| Often used options
|
|05.8| The option window
|
||||||
|
|05.9| Often used options
|
||||||
|
|
||||||
Next chapter: |usr_06.txt| Using syntax highlighting
|
Next chapter: |usr_06.txt| Using syntax highlighting
|
||||||
Previous chapter: |usr_04.txt| Making small changes
|
Previous chapter: |usr_04.txt| Making small changes
|
||||||
@@ -81,6 +82,95 @@ In this section we will explain the various commands used in this file. This
|
|||||||
will give you hints about how to set up your own preferences. Not everything
|
will give you hints about how to set up your own preferences. Not everything
|
||||||
will be explained though. Use the ":help" command to find out more.
|
will be explained though. Use the ":help" command to find out more.
|
||||||
|
|
||||||
|
>
|
||||||
|
" Get the defaults that most users want.
|
||||||
|
source $VIMRUNTIME/defaults.vim
|
||||||
|
>
|
||||||
|
This loads the "defaults.vim" file in the $VIMRUNTIME directory. This sets up
|
||||||
|
Vim for how most users like it. If you are one of the few that don't, then
|
||||||
|
comment out this line. The commands are explained below:
|
||||||
|
|defaults.vim-explained|
|
||||||
|
|
||||||
|
>
|
||||||
|
if has("vms")
|
||||||
|
set nobackup
|
||||||
|
else
|
||||||
|
set backup
|
||||||
|
if has('persistent_undo')
|
||||||
|
set undofile
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
This tells Vim to keep a backup copy of a file when overwriting it. But not
|
||||||
|
on the VMS system, since it keeps old versions of files already. The backup
|
||||||
|
file will have the same name as the original file with "~" added. See |07.4|
|
||||||
|
|
||||||
|
This also sets the 'undofile' option, if available. This will store the
|
||||||
|
multi-level undo information in a file. The result is that when you change a
|
||||||
|
file, exit Vim, and then edit the file again, you can undo the changes made
|
||||||
|
previously. It's a very powerful and useful feature, at the cost of storing a
|
||||||
|
file. For more information see |undo-persistence|.
|
||||||
|
|
||||||
|
The "if" command is very useful to set options
|
||||||
|
only when some condition is met. More about that in |usr_41.txt|.
|
||||||
|
|
||||||
|
>
|
||||||
|
if &t_Co > 2 || has("gui_running")
|
||||||
|
set hlsearch
|
||||||
|
endif
|
||||||
|
|
||||||
|
This switches on the 'hlsearch' option, telling Vim to highlight matches with
|
||||||
|
the last used search pattern.
|
||||||
|
|
||||||
|
>
|
||||||
|
augroup vimrcEx
|
||||||
|
au!
|
||||||
|
autocmd FileType text setlocal textwidth=78
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
This makes Vim break text to avoid lines getting longer than 78 characters.
|
||||||
|
But only for files that have been detected to be plain text. There are
|
||||||
|
actually two parts here. "autocmd FileType text" is an autocommand. This
|
||||||
|
defines that when the file type is set to "text" the following command is
|
||||||
|
automatically executed. "setlocal textwidth=78" sets the 'textwidth' option
|
||||||
|
to 78, but only locally in one file.
|
||||||
|
|
||||||
|
The wrapper with "augroup vimrcEx" and "augroup END" makes it possible to
|
||||||
|
delete the autocommand with the "au!" command. See |:augroup|.
|
||||||
|
|
||||||
|
>
|
||||||
|
if has('syntax') && has('eval')
|
||||||
|
packadd! matchit
|
||||||
|
endif
|
||||||
|
|
||||||
|
This loads the "matchit" plugin if the required features are available.
|
||||||
|
It makes the |%| command more powerful. This is explained at
|
||||||
|
|matchit-install|.
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
*05.3* The defaults.vim file explained *defaults.vim-explained*
|
||||||
|
|
||||||
|
The |defaults.vim| file is loaded when the user has no vimrc file. When you
|
||||||
|
create a new vimrc file, add this line near the top to keep using it: >
|
||||||
|
|
||||||
|
source $VIMRUNTIME/defaults.vim
|
||||||
|
|
||||||
|
Or use the vimrc_example.vim file, as explained above.
|
||||||
|
|
||||||
|
The following explains what defaults.vim is doing.
|
||||||
|
|
||||||
|
>
|
||||||
|
if exists('skip_defaults_vim')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
>
|
||||||
|
Loading defaults.vim can be disabled with this command: >
|
||||||
|
let skip_defaults_vim = 1
|
||||||
|
This has to be done in the system vimrc file. See |system-vimrc|. If you
|
||||||
|
have a user vimrc this is not needed, since defaults.vim will not be loaded
|
||||||
|
automatically.
|
||||||
|
>
|
||||||
>
|
>
|
||||||
set nocompatible
|
set nocompatible
|
||||||
|
|
||||||
@@ -94,38 +184,19 @@ option off, thus 'nocompatible' takes care of this.
|
|||||||
This specifies where in Insert mode the <BS> is allowed to delete the
|
This specifies where in Insert mode the <BS> is allowed to delete the
|
||||||
character in front of the cursor. The three items, separated by commas, tell
|
character in front of the cursor. The three items, separated by commas, tell
|
||||||
Vim to delete the white space at the start of the line, a line break and the
|
Vim to delete the white space at the start of the line, a line break and the
|
||||||
character before where Insert mode started.
|
character before where Insert mode started. See 'backspace'.
|
||||||
|
|
||||||
>
|
>
|
||||||
|
set history=200
|
||||||
|
|
||||||
set autoindent
|
Keep 200 commands and 200 search patterns in the history. Use another number
|
||||||
|
if you want to remember fewer or more lines. See 'history'.
|
||||||
This makes Vim use the indent of the previous line for a newly created line.
|
|
||||||
Thus there is the same amount of white space before the new line. For example
|
|
||||||
when pressing <Enter> in Insert mode, and when using the "o" command to open a
|
|
||||||
new line.
|
|
||||||
>
|
|
||||||
|
|
||||||
if has("vms")
|
|
||||||
set nobackup
|
|
||||||
else
|
|
||||||
set backup
|
|
||||||
endif
|
|
||||||
|
|
||||||
This tells Vim to keep a backup copy of a file when overwriting it. But not
|
|
||||||
on the VMS system, since it keeps old versions of files already. The backup
|
|
||||||
file will have the same name as the original file with "~" added. See |07.4|
|
|
||||||
>
|
|
||||||
|
|
||||||
set history=50
|
|
||||||
|
|
||||||
Keep 50 commands and 50 search patterns in the history. Use another number if
|
|
||||||
you want to remember fewer or more lines.
|
|
||||||
>
|
>
|
||||||
|
|
||||||
set ruler
|
set ruler
|
||||||
|
|
||||||
Always display the current cursor position in the lower right corner of the
|
Always display the current cursor position in the lower right corner of the
|
||||||
Vim window.
|
Vim window. See 'ruler'.
|
||||||
|
|
||||||
>
|
>
|
||||||
set showcmd
|
set showcmd
|
||||||
@@ -144,10 +215,37 @@ the "2fw" command is executed and the displayed "2f" is removed.
|
|||||||
^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^
|
^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^
|
||||||
'showmode' 'showcmd' 'ruler'
|
'showmode' 'showcmd' 'ruler'
|
||||||
|
|
||||||
|
|
||||||
|
>
|
||||||
|
set wildmenu
|
||||||
|
|
||||||
|
Display completion matches in a status line. That is when you type <Tab> and
|
||||||
|
there is more than one match. See 'wildmenu'.
|
||||||
|
|
||||||
|
>
|
||||||
|
set ttimeout
|
||||||
|
set ttimeoutlen=100
|
||||||
|
|
||||||
|
This makes typing Esc take effect more quickly. Normally Vim waits a second
|
||||||
|
to see if the Esc is the start of an escape sequence. If you have a very slow
|
||||||
|
remote connection, increase the number. See 'ttimeout'.
|
||||||
|
|
||||||
|
>
|
||||||
|
set display=truncate
|
||||||
|
|
||||||
|
Show @@@ in the last line if it is truncated, instead of hiding the whole
|
||||||
|
like. See 'display'.
|
||||||
|
|
||||||
>
|
>
|
||||||
set incsearch
|
set incsearch
|
||||||
|
|
||||||
Display the match for a search pattern when halfway typing it.
|
Display the match for a search pattern when halfway typing it. See
|
||||||
|
'incsearch'.
|
||||||
|
|
||||||
|
>
|
||||||
|
set nrformats-=octal
|
||||||
|
|
||||||
|
Do not recognize numbers starting with a zero as octal. See 'nrformats'.
|
||||||
|
|
||||||
>
|
>
|
||||||
map Q gq
|
map Q gq
|
||||||
@@ -157,24 +255,31 @@ defines the "Q" command to do formatting with the "gq" operator. This is how
|
|||||||
it worked before Vim 5.0. Otherwise the "Q" command starts Ex mode, but you
|
it worked before Vim 5.0. Otherwise the "Q" command starts Ex mode, but you
|
||||||
will not need it.
|
will not need it.
|
||||||
|
|
||||||
|
>
|
||||||
|
inoremap <C-U> <C-G>u<C-U>
|
||||||
|
>
|
||||||
|
CTRL-U in insert mode deletes all entered text in the current line. Use
|
||||||
|
CTRL-G u to first break undo, so that you can undo CTRL-U after inserting a
|
||||||
|
line break. Revert with ":iunmap <C-U>".
|
||||||
|
|
||||||
|
>
|
||||||
|
if has('mouse')
|
||||||
|
set mouse=a
|
||||||
|
endif
|
||||||
|
|
||||||
|
Enable using the mouse if available. See 'mouse'.
|
||||||
|
|
||||||
>
|
>
|
||||||
vnoremap _g y:exe "grep /" . escape(@", '\\/') . "/ *.c *.h"<CR>
|
vnoremap _g y:exe "grep /" . escape(@", '\\/') . "/ *.c *.h"<CR>
|
||||||
|
|
||||||
This mapping yanks the visually selected text and searches for it in C files.
|
This mapping yanks the visually selected text and searches for it in C files.
|
||||||
This is a complicated mapping. You can see that mappings can be used to do
|
You can see that a mapping can be used to do quite complicated things. Still,
|
||||||
quite complicated things. Still, it is just a sequence of commands that are
|
it is just a sequence of commands that are executed like you typed them.
|
||||||
executed like you typed them.
|
|
||||||
|
|
||||||
>
|
>
|
||||||
if &t_Co > 2 || has("gui_running")
|
syntax on
|
||||||
syntax on
|
|
||||||
set hlsearch
|
|
||||||
endif
|
|
||||||
|
|
||||||
This switches on syntax highlighting, but only if colors are available. And
|
Enable highlighting files in color. See |syntax|.
|
||||||
the 'hlsearch' option tells Vim to highlight matches with the last used search
|
|
||||||
pattern. The "if" command is very useful to set options only when some
|
|
||||||
condition is met. More about that in |usr_41.txt|.
|
|
||||||
|
|
||||||
*vimrc-filetype* >
|
*vimrc-filetype* >
|
||||||
filetype plugin indent on
|
filetype plugin indent on
|
||||||
@@ -201,21 +306,12 @@ This switches on three very clever mechanisms:
|
|||||||
automatically. Vim comes with these indent rules for a number of
|
automatically. Vim comes with these indent rules for a number of
|
||||||
filetypes. See |:filetype-indent-on| and 'indentexpr'.
|
filetypes. See |:filetype-indent-on| and 'indentexpr'.
|
||||||
|
|
||||||
>
|
|
||||||
autocmd FileType text setlocal textwidth=78
|
|
||||||
|
|
||||||
This makes Vim break text to avoid lines getting longer than 78 characters.
|
*restore-cursor* *last-position-jump* >
|
||||||
But only for files that have been detected to be plain text. There are
|
autocmd BufReadPost *
|
||||||
actually two parts here. "autocmd FileType text" is an autocommand. This
|
\ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit'
|
||||||
defines that when the file type is set to "text" the following command is
|
\ | exe "normal! g`\""
|
||||||
automatically executed. "setlocal textwidth=78" sets the 'textwidth' option
|
\ | endif
|
||||||
to 78, but only locally in one file.
|
|
||||||
|
|
||||||
*restore-cursor* >
|
|
||||||
autocmd BufReadPost *
|
|
||||||
\ if line("'\"") > 1 && line("'\"") <= line("$") |
|
|
||||||
\ exe "normal! g`\"" |
|
|
||||||
\ endif
|
|
||||||
|
|
||||||
Another autocommand. This time it is used after reading any file. The
|
Another autocommand. This time it is used after reading any file. The
|
||||||
complicated stuff after it checks if the '" mark is defined, and jumps to it
|
complicated stuff after it checks if the '" mark is defined, and jumps to it
|
||||||
@@ -224,8 +320,22 @@ from the previous line. That avoids a line getting very long.
|
|||||||
See |line-continuation|. This only works in a Vim script file, not when
|
See |line-continuation|. This only works in a Vim script file, not when
|
||||||
typing commands at the command-line.
|
typing commands at the command-line.
|
||||||
|
|
||||||
|
>
|
||||||
|
command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis
|
||||||
|
\ | wincmd p | diffthis
|
||||||
|
|
||||||
|
This adds the ":DiffOrig" command. Use this in a modified buffer to see the
|
||||||
|
differences with the file it was loaded from. See |diff|.
|
||||||
|
|
||||||
|
>
|
||||||
|
set nolangremap
|
||||||
|
|
||||||
|
Prevent that the langmap option applies to characters that result from a
|
||||||
|
mapping. If set (default), this may break plugins (but it's backward
|
||||||
|
compatible). See 'langremap'.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*05.3* Simple mappings
|
*05.4* Simple mappings
|
||||||
|
|
||||||
A mapping enables you to bind a set of Vim commands to a single key. Suppose,
|
A mapping enables you to bind a set of Vim commands to a single key. Suppose,
|
||||||
for example, that you need to surround certain words with curly braces. In
|
for example, that you need to surround certain words with curly braces. In
|
||||||
@@ -272,7 +382,7 @@ The ":map" command (with no arguments) lists your current mappings. At
|
|||||||
least the ones for Normal mode. More about mappings in section |40.1|.
|
least the ones for Normal mode. More about mappings in section |40.1|.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*05.4* Adding a package *add-package* *matchit-install*
|
*05.5* Adding a package *add-package* *matchit-install*
|
||||||
|
|
||||||
A package is a set of files that you can add to Vim. There are two kinds of
|
A package is a set of files that you can add to Vim. There are two kinds of
|
||||||
packages: optional and automatically loaded on startup.
|
packages: optional and automatically loaded on startup.
|
||||||
@@ -310,7 +420,7 @@ an archive or as a repository. For an archive you can follow these steps:
|
|||||||
More information about packages can be found here: |packages|.
|
More information about packages can be found here: |packages|.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*05.5* Adding a plugin *add-plugin* *plugin*
|
*05.6* Adding a plugin *add-plugin* *plugin*
|
||||||
|
|
||||||
Vim's functionality can be extended by adding plugins. A plugin is nothing
|
Vim's functionality can be extended by adding plugins. A plugin is nothing
|
||||||
more than a Vim script file that is loaded automatically when Vim starts. You
|
more than a Vim script file that is loaded automatically when Vim starts. You
|
||||||
@@ -462,7 +572,7 @@ Further reading:
|
|||||||
|new-filetype| How to detect a new file type.
|
|new-filetype| How to detect a new file type.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*05.6* Adding a help file *add-local-help*
|
*05.7* Adding a help file *add-local-help*
|
||||||
|
|
||||||
If you are lucky, the plugin you installed also comes with a help file. We
|
If you are lucky, the plugin you installed also comes with a help file. We
|
||||||
will explain how to install the help file, so that you can easily find help
|
will explain how to install the help file, so that you can easily find help
|
||||||
@@ -507,7 +617,7 @@ them through the tag.
|
|||||||
For writing a local help file, see |write-local-help|.
|
For writing a local help file, see |write-local-help|.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*05.7* The option window
|
*05.8* The option window
|
||||||
|
|
||||||
If you are looking for an option that does what you want, you can search in
|
If you are looking for an option that does what you want, you can search in
|
||||||
the help files here: |options|. Another way is by using this command: >
|
the help files here: |options|. Another way is by using this command: >
|
||||||
@@ -546,7 +656,7 @@ border. This is what the 'scrolloff' option does, it specifies an offset
|
|||||||
from the window border where scrolling starts.
|
from the window border where scrolling starts.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*05.8* Often used options
|
*05.9* Often used options
|
||||||
|
|
||||||
There are an awful lot of options. Most of them you will hardly ever use.
|
There are an awful lot of options. Most of them you will hardly ever use.
|
||||||
Some of the more useful ones will be mentioned here. Don't forget you can
|
Some of the more useful ones will be mentioned here. Don't forget you can
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*usr_11.txt* For Vim version 8.1. Last change: 2018 Apr 13
|
*usr_11.txt* For Vim version 8.1. Last change: 2019 Jan 30
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -120,7 +120,7 @@ the resulting files if they are what you expected.
|
|||||||
USING A SPECIFIC SWAP FILE
|
USING A SPECIFIC SWAP FILE
|
||||||
|
|
||||||
If you know which swap file needs to be used, you can recover by giving the
|
If you know which swap file needs to be used, you can recover by giving the
|
||||||
swap file name. Vim will then finds out the name of the original file from
|
swap file name. Vim will then find out the name of the original file from
|
||||||
the swap file.
|
the swap file.
|
||||||
|
|
||||||
Example: >
|
Example: >
|
||||||
@@ -284,7 +284,6 @@ 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.
|
'shortmess' option. But it's very unusual that you need this.
|
||||||
|
|
||||||
For remarks about encryption and the swap file, see |:recover-crypt|.
|
For remarks about encryption and the swap file, see |:recover-crypt|.
|
||||||
For programatic access to the swap file, see |swapinfo()|.
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*11.4* Further reading
|
*11.4* Further reading
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*usr_41.txt* For Vim version 8.1. Last change: 2019 Jan 12
|
*usr_41.txt* For Vim version 8.1. Last change: 2019 Jan 29
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -771,7 +771,7 @@ System functions and manipulation of files:
|
|||||||
systemlist() get the result of a shell command as a list
|
systemlist() get the result of a shell command as a list
|
||||||
hostname() name of the system
|
hostname() name of the system
|
||||||
readfile() read a file into a List of lines
|
readfile() read a file into a List of lines
|
||||||
writefile() write a List of lines into a file
|
writefile() write a List of lines or Blob into a file
|
||||||
|
|
||||||
Date and Time: *date-functions* *time-functions*
|
Date and Time: *date-functions* *time-functions*
|
||||||
getftime() get last modification time of a file
|
getftime() get last modification time of a file
|
||||||
@@ -941,6 +941,7 @@ Testing: *test-functions*
|
|||||||
test_override() test with Vim internal overrides
|
test_override() test with Vim internal overrides
|
||||||
test_garbagecollect_now() free memory right now
|
test_garbagecollect_now() free memory right now
|
||||||
test_ignore_error() ignore a specific error message
|
test_ignore_error() ignore a specific error message
|
||||||
|
test_null_blob() return a null Blob
|
||||||
test_null_channel() return a null Channel
|
test_null_channel() return a null Channel
|
||||||
test_null_dict() return a null Dict
|
test_null_dict() return a null Dict
|
||||||
test_null_job() return a null Job
|
test_null_job() return a null Job
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
" Vim script for Evim key bindings
|
" Vim script for Evim key bindings
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2017 Sep 20
|
" Last Change: 2019 Jan 27
|
||||||
|
|
||||||
" Don't use Vi-compatible mode.
|
" Don't use Vi-compatible mode.
|
||||||
set nocompatible
|
set nocompatible
|
||||||
@@ -49,19 +49,14 @@ if &t_Co > 2 || has("gui_running")
|
|||||||
nohlsearch
|
nohlsearch
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Only do this part when compiled with support for autocommands.
|
" Enable file type detection.
|
||||||
if has("autocmd")
|
" Use the default filetype settings, so that mail gets 'tw' set to 72,
|
||||||
|
" 'cindent' is on in C files, etc.
|
||||||
|
" Also load indent files, to automatically do language-dependent indenting.
|
||||||
|
filetype plugin indent on
|
||||||
|
|
||||||
" Enable file type detection.
|
" For all text files set 'textwidth' to 78 characters.
|
||||||
" Use the default filetype settings, so that mail gets 'tw' set to 72,
|
au FileType text setlocal tw=78
|
||||||
" 'cindent' is on in C files, etc.
|
|
||||||
" Also load indent files, to automatically do language-dependent indenting.
|
|
||||||
filetype plugin indent on
|
|
||||||
|
|
||||||
" For all text files set 'textwidth' to 78 characters.
|
|
||||||
au FileType text setlocal tw=78
|
|
||||||
|
|
||||||
endif " has("autocmd")
|
|
||||||
|
|
||||||
" Add optional packages.
|
" Add optional packages.
|
||||||
"
|
"
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
" Vim support file to detect file types
|
" Vim support file to detect file types
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2019 Jan 18
|
" Last Change: 2019 Jan 28
|
||||||
|
|
||||||
" Listen very carefully, I will say this only once
|
" Listen very carefully, I will say this only once
|
||||||
if exists("did_load_filetypes")
|
if exists("did_load_filetypes")
|
||||||
@@ -97,6 +97,7 @@ au BufNewFile,BufRead proftpd.conf* call s:StarSetf('apachestyle')
|
|||||||
|
|
||||||
" Apache config file
|
" Apache config file
|
||||||
au BufNewFile,BufRead .htaccess,*/etc/httpd/*.conf setf apache
|
au BufNewFile,BufRead .htaccess,*/etc/httpd/*.conf setf apache
|
||||||
|
au BufNewFile,BufRead */etc/apache2/sites-*/*.com setf apache
|
||||||
|
|
||||||
" XA65 MOS6510 cross assembler
|
" XA65 MOS6510 cross assembler
|
||||||
au BufNewFile,BufRead *.a65 setf a65
|
au BufNewFile,BufRead *.a65 setf a65
|
||||||
|
@@ -3,10 +3,11 @@
|
|||||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||||
" Original Author: Nikolai Weibull <now@bitwi.se>
|
" Original Author: Nikolai Weibull <now@bitwi.se>
|
||||||
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
|
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
|
||||||
" Latest Revision: 2018-03-26
|
" Latest Revision: 2019-02-02
|
||||||
" License: Vim (see :h license)
|
" License: Vim (see :h license)
|
||||||
" Repository: https://github.com/chrisbra/vim-sh-indent
|
" Repository: https://github.com/chrisbra/vim-sh-indent
|
||||||
" Changelog:
|
" Changelog:
|
||||||
|
" 20190201 - Better check for closing if sections
|
||||||
" 20180724 - make check for zsh syntax more rigid (needs word-boundaries)
|
" 20180724 - make check for zsh syntax more rigid (needs word-boundaries)
|
||||||
" 20180326 - better support for line continuation
|
" 20180326 - better support for line continuation
|
||||||
" 20180325 - better detection of function definitions
|
" 20180325 - better detection of function definitions
|
||||||
@@ -59,6 +60,7 @@ function! s:indent_value(option)
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! GetShIndent()
|
function! GetShIndent()
|
||||||
|
let curline = getline(v:lnum)
|
||||||
let lnum = prevnonblank(v:lnum - 1)
|
let lnum = prevnonblank(v:lnum - 1)
|
||||||
if lnum == 0
|
if lnum == 0
|
||||||
return 0
|
return 0
|
||||||
@@ -72,7 +74,7 @@ function! GetShIndent()
|
|||||||
" Check contents of previous lines
|
" Check contents of previous lines
|
||||||
if line =~ '^\s*\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>' ||
|
if line =~ '^\s*\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>' ||
|
||||||
\ (&ft is# 'zsh' && line =~ '\<\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>')
|
\ (&ft is# 'zsh' && line =~ '\<\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>')
|
||||||
if line !~ '\<\%(fi\|esac\|done\|end\)\>\s*\%(#.*\)\=$'
|
if !s:is_end_expression(line)
|
||||||
let ind += s:indent_value('default')
|
let ind += s:indent_value('default')
|
||||||
endif
|
endif
|
||||||
elseif s:is_case_label(line, pnum)
|
elseif s:is_case_label(line, pnum)
|
||||||
@@ -90,7 +92,10 @@ function! GetShIndent()
|
|||||||
endif
|
endif
|
||||||
elseif s:end_block(line) && !s:start_block(line)
|
elseif s:end_block(line) && !s:start_block(line)
|
||||||
let ind -= s:indent_value('default')
|
let ind -= s:indent_value('default')
|
||||||
elseif pnum != 0 && s:is_continuation_line(pline) && !s:end_block(getline(v:lnum))
|
elseif pnum != 0 &&
|
||||||
|
\ s:is_continuation_line(pline) &&
|
||||||
|
\ !s:end_block(curline) &&
|
||||||
|
\ !s:is_end_expression(curline)
|
||||||
" only add indent, if line and pline is in the same block
|
" only add indent, if line and pline is in the same block
|
||||||
let i = v:lnum
|
let i = v:lnum
|
||||||
let ind2 = indent(s:find_continued_lnum(pnum))
|
let ind2 = indent(s:find_continued_lnum(pnum))
|
||||||
@@ -106,8 +111,15 @@ function! GetShIndent()
|
|||||||
|
|
||||||
let pine = line
|
let pine = line
|
||||||
" Check content of current line
|
" Check content of current line
|
||||||
let line = getline(v:lnum)
|
let line = curline
|
||||||
if line =~ '^\s*\%(then\|do\|else\|elif\|fi\|done\|end\)\>' || s:end_block(line)
|
" Current line is a endif line, so get indent from start of "if condition" line
|
||||||
|
" TODO: should we do the same for other "end" lines?
|
||||||
|
if curline =~ '^\s*\%(fi\)\s*\%(#.*\)\=$'
|
||||||
|
let previous_line = search('if.\{-\};\s*then\s*\%(#.*\)\=$', 'bnW')
|
||||||
|
if previous_line > 0
|
||||||
|
let ind = indent(previous_line)
|
||||||
|
endif
|
||||||
|
elseif line =~ '^\s*\%(then\|do\|else\|elif\|done\|end\)\>' || s:end_block(line)
|
||||||
let ind -= s:indent_value('default')
|
let ind -= s:indent_value('default')
|
||||||
elseif line =~ '^\s*esac\>' && s:is_case_empty(getline(v:lnum - 1))
|
elseif line =~ '^\s*esac\>' && s:is_case_empty(getline(v:lnum - 1))
|
||||||
let ind -= s:indent_value('default')
|
let ind -= s:indent_value('default')
|
||||||
@@ -210,8 +222,8 @@ endfunction
|
|||||||
|
|
||||||
function! s:is_here_doc(line)
|
function! s:is_here_doc(line)
|
||||||
if a:line =~ '^\w\+$'
|
if a:line =~ '^\w\+$'
|
||||||
let here_pat = '<<-\?'. s:escape(a:line). '\$'
|
let here_pat = '<<-\?'. s:escape(a:line). '\$'
|
||||||
return search(here_pat, 'bnW') > 0
|
return search(here_pat, 'bnW') > 0
|
||||||
endif
|
endif
|
||||||
return 0
|
return 0
|
||||||
endfunction
|
endfunction
|
||||||
@@ -256,5 +268,9 @@ function! s:is_comment(line)
|
|||||||
return a:line =~ '^\s*#'
|
return a:line =~ '^\s*#'
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function! s:is_end_expression(line)
|
||||||
|
return a:line =~ '\<\%(fi\|esac\|done\|end\)\>\s*\%(#.*\)\=$'
|
||||||
|
endfunction
|
||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
unlet s:cpo_save
|
unlet s:cpo_save
|
||||||
|
@@ -1,9 +1,11 @@
|
|||||||
" Language: xml
|
" Language: xml
|
||||||
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
|
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
|
||||||
" Last Changed: Dec 07th, 2018
|
" Last Changed: Jan 28, 2019
|
||||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||||
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
|
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||||
" Last Change:
|
" Last Change:
|
||||||
|
" 20190128 - Make sure to find previous tag
|
||||||
|
" https://github.com/chrisbra/vim-xml-ftplugin/issues/4
|
||||||
" 20181116 - Fix indentation when tags start with a colon or an underscore
|
" 20181116 - Fix indentation when tags start with a colon or an underscore
|
||||||
" https://github.com/vim/vim/pull/926
|
" https://github.com/vim/vim/pull/926
|
||||||
" 20181022 - Do not overwrite indentkeys setting
|
" 20181022 - Do not overwrite indentkeys setting
|
||||||
@@ -88,15 +90,16 @@ endfun
|
|||||||
fun! XmlIndentGet(lnum, use_syntax_check)
|
fun! XmlIndentGet(lnum, use_syntax_check)
|
||||||
" Find a non-empty line above the current line.
|
" Find a non-empty line above the current line.
|
||||||
let plnum = prevnonblank(a:lnum - 1)
|
let plnum = prevnonblank(a:lnum - 1)
|
||||||
" Find previous line with a tag (regardless whether open or closed)
|
|
||||||
let ptag = search('.\{-}<[/:A-Z_a-z]', 'bnw')
|
|
||||||
|
|
||||||
" Hit the start of the file, use zero indent.
|
" Hit the start of the file, use zero indent.
|
||||||
if plnum == 0
|
if plnum == 0
|
||||||
return 0
|
return 0
|
||||||
endif
|
endif
|
||||||
let syn_name = ''
|
" Find previous line with a tag (regardless whether open or closed,
|
||||||
|
" but always start restrict the match to a line before the current one
|
||||||
|
let ptag_pattern = '\%(.\{-}<[/:A-Z_a-z]\)'. '\%(\&\%<'. line('.').'l\)'
|
||||||
|
let ptag = search(ptag_pattern, 'bnw')
|
||||||
|
|
||||||
|
let syn_name = ''
|
||||||
if a:use_syntax_check
|
if a:use_syntax_check
|
||||||
let check_lnum = <SID>XmlIndentSynCheck(plnum)
|
let check_lnum = <SID>XmlIndentSynCheck(plnum)
|
||||||
let check_alnum = <SID>XmlIndentSynCheck(a:lnum)
|
let check_alnum = <SID>XmlIndentSynCheck(a:lnum)
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
" You can also use this as a start for your own set of menus.
|
" You can also use this as a start for your own set of menus.
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2018 May 17
|
" Last Change: 2019 Jan 27
|
||||||
|
|
||||||
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
|
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
|
||||||
" in all modes and avoid side effects from mappings defined by the user.
|
" in all modes and avoid side effects from mappings defined by the user.
|
||||||
@@ -856,17 +856,15 @@ an 70.300 &Window.&New<Tab>^Wn <C-W>n
|
|||||||
an 70.310 &Window.S&plit<Tab>^Ws <C-W>s
|
an 70.310 &Window.S&plit<Tab>^Ws <C-W>s
|
||||||
an 70.320 &Window.Sp&lit\ To\ #<Tab>^W^^ <C-W><C-^>
|
an 70.320 &Window.Sp&lit\ To\ #<Tab>^W^^ <C-W><C-^>
|
||||||
an 70.330 &Window.Split\ &Vertically<Tab>^Wv <C-W>v
|
an 70.330 &Window.Split\ &Vertically<Tab>^Wv <C-W>v
|
||||||
if has("vertsplit")
|
an <silent> 70.332 &Window.Split\ File\ E&xplorer :call MenuExplOpen()<CR>
|
||||||
an <silent> 70.332 &Window.Split\ File\ E&xplorer :call MenuExplOpen()<CR>
|
if !exists("*MenuExplOpen")
|
||||||
if !exists("*MenuExplOpen")
|
fun MenuExplOpen()
|
||||||
fun MenuExplOpen()
|
if @% == ""
|
||||||
if @% == ""
|
20vsp .
|
||||||
20vsp .
|
else
|
||||||
else
|
exe "20vsp " . s:FnameEscape(expand("%:p:h"))
|
||||||
exe "20vsp " . s:FnameEscape(expand("%:p:h"))
|
endif
|
||||||
endif
|
endfun
|
||||||
endfun
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
an 70.335 &Window.-SEP1- <Nop>
|
an 70.335 &Window.-SEP1- <Nop>
|
||||||
an 70.340 &Window.&Close<Tab>^Wc :confirm close<CR>
|
an 70.340 &Window.&Close<Tab>^Wc :confirm close<CR>
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
" These commands create the option window.
|
" These commands create the option window.
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2018 May 15
|
" Last Change: 2019 Jan 27
|
||||||
|
|
||||||
" If there already is an option window, jump to that one.
|
" If there already is an option window, jump to that one.
|
||||||
let buf = bufnr('option-window')
|
let buf = bufnr('option-window')
|
||||||
@@ -395,11 +395,9 @@ endif
|
|||||||
call <SID>Header("syntax, highlighting and spelling")
|
call <SID>Header("syntax, highlighting and spelling")
|
||||||
call append("$", "background\t\"dark\" or \"light\"; the background color brightness")
|
call append("$", "background\t\"dark\" or \"light\"; the background color brightness")
|
||||||
call <SID>OptionG("bg", &bg)
|
call <SID>OptionG("bg", &bg)
|
||||||
if has("autocmd")
|
call append("$", "filetype\ttype of file; triggers the FileType event when set")
|
||||||
call append("$", "filetype\ttype of file; triggers the FileType event when set")
|
call append("$", "\t(local to buffer)")
|
||||||
call append("$", "\t(local to buffer)")
|
call <SID>OptionL("ft")
|
||||||
call <SID>OptionL("ft")
|
|
||||||
endif
|
|
||||||
if has("syntax")
|
if has("syntax")
|
||||||
call append("$", "syntax\tname of syntax highlighting used")
|
call append("$", "syntax\tname of syntax highlighting used")
|
||||||
call append("$", "\t(local to buffer)")
|
call append("$", "\t(local to buffer)")
|
||||||
@@ -454,10 +452,8 @@ if has("statusline")
|
|||||||
endif
|
endif
|
||||||
call append("$", "equalalways\tmake all windows the same size when adding/removing windows")
|
call append("$", "equalalways\tmake all windows the same size when adding/removing windows")
|
||||||
call <SID>BinOptionG("ea", &ea)
|
call <SID>BinOptionG("ea", &ea)
|
||||||
if has("vertsplit")
|
call append("$", "eadirection\tin which direction 'equalalways' works: \"ver\", \"hor\" or \"both\"")
|
||||||
call append("$", "eadirection\tin which direction 'equalalways' works: \"ver\", \"hor\" or \"both\"")
|
call <SID>OptionG("ead", &ead)
|
||||||
call <SID>OptionG("ead", &ead)
|
|
||||||
endif
|
|
||||||
call append("$", "winheight\tminimal number of lines used for the current window")
|
call append("$", "winheight\tminimal number of lines used for the current window")
|
||||||
call append("$", " \tset wh=" . &wh)
|
call append("$", " \tset wh=" . &wh)
|
||||||
call append("$", "winminheight\tminimal number of lines used for any window")
|
call append("$", "winminheight\tminimal number of lines used for any window")
|
||||||
@@ -465,15 +461,13 @@ call append("$", " \tset wmh=" . &wmh)
|
|||||||
call append("$", "winfixheight\tkeep the height of the window")
|
call append("$", "winfixheight\tkeep the height of the window")
|
||||||
call append("$", "\t(local to window)")
|
call append("$", "\t(local to window)")
|
||||||
call <SID>BinOptionL("wfh")
|
call <SID>BinOptionL("wfh")
|
||||||
if has("vertsplit")
|
|
||||||
call append("$", "winfixwidth\tkeep the width of the window")
|
call append("$", "winfixwidth\tkeep the width of the window")
|
||||||
call append("$", "\t(local to window)")
|
call append("$", "\t(local to window)")
|
||||||
call <SID>BinOptionL("wfw")
|
call <SID>BinOptionL("wfw")
|
||||||
call append("$", "winwidth\tminimal number of columns used for the current window")
|
call append("$", "winwidth\tminimal number of columns used for the current window")
|
||||||
call append("$", " \tset wiw=" . &wiw)
|
call append("$", " \tset wiw=" . &wiw)
|
||||||
call append("$", "winminwidth\tminimal number of columns used for any window")
|
call append("$", "winminwidth\tminimal number of columns used for any window")
|
||||||
call append("$", " \tset wmw=" . &wmw)
|
call append("$", " \tset wmw=" . &wmw)
|
||||||
endif
|
|
||||||
call append("$", "helpheight\tinitial height of the help window")
|
call append("$", "helpheight\tinitial height of the help window")
|
||||||
call append("$", " \tset hh=" . &hh)
|
call append("$", " \tset hh=" . &hh)
|
||||||
if has("quickfix")
|
if has("quickfix")
|
||||||
@@ -490,22 +484,16 @@ call append("$", "\tto a buffer")
|
|||||||
call <SID>OptionG("swb", &swb)
|
call <SID>OptionG("swb", &swb)
|
||||||
call append("$", "splitbelow\ta new window is put below the current one")
|
call append("$", "splitbelow\ta new window is put below the current one")
|
||||||
call <SID>BinOptionG("sb", &sb)
|
call <SID>BinOptionG("sb", &sb)
|
||||||
if has("vertsplit")
|
call append("$", "splitright\ta new window is put right of the current one")
|
||||||
call append("$", "splitright\ta new window is put right of the current one")
|
call <SID>BinOptionG("spr", &spr)
|
||||||
call <SID>BinOptionG("spr", &spr)
|
call append("$", "scrollbind\tthis window scrolls together with other bound windows")
|
||||||
endif
|
call append("$", "\t(local to window)")
|
||||||
if has("scrollbind")
|
call <SID>BinOptionL("scb")
|
||||||
call append("$", "scrollbind\tthis window scrolls together with other bound windows")
|
call append("$", "scrollopt\t\"ver\", \"hor\" and/or \"jump\"; list of options for 'scrollbind'")
|
||||||
call append("$", "\t(local to window)")
|
call <SID>OptionG("sbo", &sbo)
|
||||||
call <SID>BinOptionL("scb")
|
call append("$", "cursorbind\tthis window's cursor moves together with other bound windows")
|
||||||
call append("$", "scrollopt\t\"ver\", \"hor\" and/or \"jump\"; list of options for 'scrollbind'")
|
call append("$", "\t(local to window)")
|
||||||
call <SID>OptionG("sbo", &sbo)
|
call <SID>BinOptionL("crb")
|
||||||
endif
|
|
||||||
if has("cursorbind")
|
|
||||||
call append("$", "cursorbind\tthis window's cursor moves together with other bound windows")
|
|
||||||
call append("$", "\t(local to window)")
|
|
||||||
call <SID>BinOptionL("crb")
|
|
||||||
endif
|
|
||||||
if has("terminal")
|
if has("terminal")
|
||||||
call append("$", "termwinsize\tsize of a terminal window")
|
call append("$", "termwinsize\tsize of a terminal window")
|
||||||
call append("$", "\t(local to window)")
|
call append("$", "\t(local to window)")
|
||||||
@@ -1105,12 +1093,10 @@ if has("wildmenu")
|
|||||||
call append("$", "wildmenu\tcommand-line completion shows a list of matches")
|
call append("$", "wildmenu\tcommand-line completion shows a list of matches")
|
||||||
call <SID>BinOptionG("wmnu", &wmnu)
|
call <SID>BinOptionG("wmnu", &wmnu)
|
||||||
endif
|
endif
|
||||||
if has("vertsplit")
|
call append("$", "cedit\tkey used to open the command-line window")
|
||||||
call append("$", "cedit\tkey used to open the command-line window")
|
call <SID>OptionG("cedit", &cedit)
|
||||||
call <SID>OptionG("cedit", &cedit)
|
call append("$", "cmdwinheight\theight of the command-line window")
|
||||||
call append("$", "cmdwinheight\theight of the command-line window")
|
call <SID>OptionG("cwh", &cwh)
|
||||||
call <SID>OptionG("cwh", &cwh)
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
call <SID>Header("executing external commands")
|
call <SID>Header("executing external commands")
|
||||||
@@ -1292,14 +1278,10 @@ endif
|
|||||||
|
|
||||||
|
|
||||||
call <SID>Header("various")
|
call <SID>Header("various")
|
||||||
if has("virtualedit")
|
call append("$", "virtualedit\twhen to use virtual editing: \"block\", \"insert\" and/or \"all\"")
|
||||||
call append("$", "virtualedit\twhen to use virtual editing: \"block\", \"insert\" and/or \"all\"")
|
call <SID>OptionG("ve", &ve)
|
||||||
call <SID>OptionG("ve", &ve)
|
call append("$", "eventignore\tlist of autocommand events which are to be ignored")
|
||||||
endif
|
call <SID>OptionG("ei", &ei)
|
||||||
if has("autocmd")
|
|
||||||
call append("$", "eventignore\tlist of autocommand events which are to be ignored")
|
|
||||||
call <SID>OptionG("ei", &ei)
|
|
||||||
endif
|
|
||||||
call append("$", "loadplugins\tload plugin scripts when starting up")
|
call append("$", "loadplugins\tload plugin scripts when starting up")
|
||||||
call <SID>BinOptionG("lpl", &lpl)
|
call <SID>BinOptionG("lpl", &lpl)
|
||||||
call append("$", "exrc\tenable reading .vimrc/.exrc/.gvimrc in the current directory")
|
call append("$", "exrc\tenable reading .vimrc/.exrc/.gvimrc in the current directory")
|
||||||
|
22
runtime/pack/dist/opt/matchit/doc/matchit.txt
vendored
22
runtime/pack/dist/opt/matchit/doc/matchit.txt
vendored
@@ -1,13 +1,13 @@
|
|||||||
*matchit.txt* Extended "%" matching
|
*matchit.txt* Extended "%" matching
|
||||||
|
|
||||||
For instructions on installing this file, type
|
For instructions on installing this file, type
|
||||||
:help matchit-install
|
`:help matchit-install`
|
||||||
inside Vim.
|
inside Vim.
|
||||||
|
|
||||||
For Vim version 6.3. Last change: 2018 Dec 31
|
For Vim version 8.1. Last change: 2019 Jan 28
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Benji Fisher
|
VIM REFERENCE MANUAL by Benji Fisher et al
|
||||||
|
|
||||||
*matchit* *matchit.vim*
|
*matchit* *matchit.vim*
|
||||||
|
|
||||||
@@ -69,12 +69,8 @@ for how to specify matching patterns.
|
|||||||
|
|
||||||
MODES: *matchit-modes* *matchit-v_%* *matchit-o_%*
|
MODES: *matchit-modes* *matchit-v_%* *matchit-o_%*
|
||||||
|
|
||||||
Mostly, % and related motions (|g%| and |[%| and |]%|) work just like built-in
|
Mostly, % and related motions (|g%| and |[%| and |]%|) should just work like built-in
|
||||||
|motion| commands in |Operator-pending| and |Visual| modes. However, you
|
|motion| commands in |Operator-pending| and |Visual| modes (as of 8.1.648)
|
||||||
cannot make these motions |linewise| or |characterwise|, since the |:omap|s
|
|
||||||
that define them start with "v" in order to make the default behavior
|
|
||||||
inclusive. (See |o_v|.) In other words, "dV%" will not work. The
|
|
||||||
work-around is to go through Visual mode: "V%d" will work.
|
|
||||||
|
|
||||||
LANGUAGES: *matchit-languages*
|
LANGUAGES: *matchit-languages*
|
||||||
|
|
||||||
@@ -386,16 +382,10 @@ try to respond to reports of bugs that cause real problems. If it does not
|
|||||||
cause serious problems, or if there is a work-around, a bug may sit there for
|
cause serious problems, or if there is a work-around, a bug may sit there for
|
||||||
a while. Moral: if a bug (known or not) bothers you, let me know.
|
a while. Moral: if a bug (known or not) bothers you, let me know.
|
||||||
|
|
||||||
The various |:vmap|s defined in the script (%, |g%|, |[%|, |]%|, |a%|) may
|
|
||||||
have undesired effects in Select mode |Select-mode-mapping|. At least, if you
|
|
||||||
want to replace the selection with any character in "ag%[]" there will be a
|
|
||||||
pause of |'updatetime'| first. E.g., "yV%" would normally work linewise, but
|
|
||||||
the plugin mapping makes it characterwise.
|
|
||||||
|
|
||||||
It would be nice if "\0" were recognized as the entire pattern. That is, it
|
It would be nice if "\0" were recognized as the entire pattern. That is, it
|
||||||
would be nice if "foo:\end\0" had the same effect as "\(foo\):\end\1". I may
|
would be nice if "foo:\end\0" had the same effect as "\(foo\):\end\1". I may
|
||||||
try to implement this in a future version. (This is not so easy to arrange as
|
try to implement this in a future version. (This is not so easy to arrange as
|
||||||
you might think!)
|
you might think!)
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
vim:tw=78:fo=tcq2:
|
vim:tw=78:fo=tcq2:ft=help:
|
||||||
|
812
runtime/pack/dist/opt/matchit/plugin/matchit.vim
vendored
812
runtime/pack/dist/opt/matchit/plugin/matchit.vim
vendored
@@ -1,13 +1,13 @@
|
|||||||
" matchit.vim: (global plugin) Extended "%" matching
|
" matchit.vim: (global plugin) Extended "%" matching
|
||||||
" Last Change: 2018 Dec 31
|
" Maintainer: Christian Brabandt
|
||||||
" Maintainer: Benji Fisher PhD <benji@member.AMS.org>
|
" Version: 1.15
|
||||||
" Version: 1.13.3, for Vim 6.3+
|
" Last Change: 2019 Jan 28
|
||||||
" Fix from Fernando Torres included.
|
" Repository: https://github.com/chrisbra/matchit
|
||||||
" Improvement from Ken Takata included.
|
" Previous URL:http://www.vim.org/script.php?script_id=39
|
||||||
" URL: http://www.vim.org/script.php?script_id=39
|
" Previous Maintainer: Benji Fisher PhD <benji@member.AMS.org>
|
||||||
|
|
||||||
" Documentation:
|
" Documentation:
|
||||||
" The documentation is in a separate file, matchit.txt .
|
" The documentation is in a separate file: ../doc/matchit.txt .
|
||||||
|
|
||||||
" Credits:
|
" Credits:
|
||||||
" Vim editor by Bram Moolenaar (Thanks, Bram!)
|
" Vim editor by Bram Moolenaar (Thanks, Bram!)
|
||||||
@@ -38,789 +38,55 @@
|
|||||||
" work but extend it.
|
" work but extend it.
|
||||||
|
|
||||||
" Allow user to prevent loading and prevent duplicate loading.
|
" Allow user to prevent loading and prevent duplicate loading.
|
||||||
if exists("loaded_matchit") || &cp
|
if exists("g:loaded_matchit") || &cp
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let loaded_matchit = 1
|
let g:loaded_matchit = 1
|
||||||
let s:last_mps = ""
|
|
||||||
let s:last_words = ":"
|
|
||||||
let s:patBR = ""
|
|
||||||
|
|
||||||
let s:save_cpo = &cpo
|
let s:save_cpo = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
nnoremap <silent> % :<C-U>call <SID>Match_wrapper('',1,'n') <CR>
|
nnoremap <silent> <Plug>(MatchitNormalForward) :<C-U>call matchit#Match_wrapper('',1,'n')<CR>
|
||||||
nnoremap <silent> g% :<C-U>call <SID>Match_wrapper('',0,'n') <CR>
|
nnoremap <silent> <Plug>(MatchitNormalBackward) :<C-U>call matchit#Match_wrapper('',0,'n')<CR>
|
||||||
vnoremap <silent> % :<C-U>call <SID>Match_wrapper('',1,'v') <CR>m'gv``
|
vnoremap <silent> <Plug>(MatchitVisualForward) :<C-U>call matchit#Match_wrapper('',1,'v')<CR>m'gv``
|
||||||
vnoremap <silent> g% :<C-U>call <SID>Match_wrapper('',0,'v') <CR>m'gv``
|
vnoremap <silent> <Plug>(MatchitVisualBackward) :<C-U>call matchit#Match_wrapper('',0,'v')<CR>m'gv``
|
||||||
onoremap <silent> % v:<C-U>call <SID>Match_wrapper('',1,'o') <CR>
|
onoremap <silent> <Plug>(MatchitOperationForward) :<C-U>call matchit#Match_wrapper('',1,'o')<CR>
|
||||||
onoremap <silent> g% v:<C-U>call <SID>Match_wrapper('',0,'o') <CR>
|
onoremap <silent> <Plug>(MatchitOperationBackward) :<C-U>call matchit#Match_wrapper('',0,'o')<CR>
|
||||||
|
|
||||||
|
nmap <silent> % <Plug>(MatchitNormalForward)
|
||||||
|
nmap <silent> g% <Plug>(MatchitNormalBackward)
|
||||||
|
xmap <silent> % <Plug>(MatchitVisualForward)
|
||||||
|
xmap <silent> g% <Plug>(MatchitVisualBackward)
|
||||||
|
omap <silent> % <Plug>(MatchitOperationForward)
|
||||||
|
omap <silent> g% <Plug>(MatchitOperationBackward)
|
||||||
|
|
||||||
" Analogues of [{ and ]} using matching patterns:
|
" Analogues of [{ and ]} using matching patterns:
|
||||||
nnoremap <silent> [% :<C-U>call <SID>MultiMatch("bW", "n") <CR>
|
nnoremap <silent> <Plug>(MatchitNormalMultiBackward) :<C-U>call matchit#MultiMatch("bW", "n")<CR>
|
||||||
nnoremap <silent> ]% :<C-U>call <SID>MultiMatch("W", "n") <CR>
|
nnoremap <silent> <Plug>(MatchitNormalMultiForward) :<C-U>call matchit#MultiMatch("W", "n")<CR>
|
||||||
vmap [% <Esc>[%m'gv``
|
vnoremap <silent> <Plug>(MatchitVisualMultiBackward) :<C-U>call matchit#MultiMatch("bW", "n")<CR>m'gv``
|
||||||
vmap ]% <Esc>]%m'gv``
|
vnoremap <silent> <Plug>(MatchitVisualMultiForward) :<C-U>call matchit#MultiMatch("W", "n")<CR>m'gv``
|
||||||
" vnoremap <silent> [% :<C-U>call <SID>MultiMatch("bW", "v") <CR>m'gv``
|
onoremap <silent> <Plug>(MatchitOperationMultiBackward) :<C-U>call matchit#MultiMatch("bW", "o")<CR>
|
||||||
" vnoremap <silent> ]% :<C-U>call <SID>MultiMatch("W", "v") <CR>m'gv``
|
onoremap <silent> <Plug>(MatchitOperationMultiForward) :<C-U>call matchit#MultiMatch("W", "o")<CR>
|
||||||
onoremap <silent> [% v:<C-U>call <SID>MultiMatch("bW", "o") <CR>
|
|
||||||
onoremap <silent> ]% v:<C-U>call <SID>MultiMatch("W", "o") <CR>
|
nmap <silent> [% <Plug>(MatchitNormalMultiBackward)
|
||||||
|
nmap <silent> ]% <Plug>(MatchitNormalMultiForward)
|
||||||
|
xmap <silent> [% <Plug>(MatchitVisualMultiBackward)
|
||||||
|
xmap <silent> ]% <Plug>(MatchitVisualMultiForward)
|
||||||
|
omap <silent> [% <Plug>(MatchitOperationMultiBackward)
|
||||||
|
omap <silent> ]% <Plug>(MatchitOperationMultiForward)
|
||||||
|
|
||||||
" text object:
|
" text object:
|
||||||
vmap a% <Esc>[%v]%
|
vmap <silent> <Plug>(MatchitVisualTextObject) <Plug>(MatchitVisualMultiBackward)o<Plug>(MatchitVisualMultiForward)
|
||||||
|
xmap a% <Plug>(MatchitVisualTextObject)
|
||||||
" Auto-complete mappings: (not yet "ready for prime time")
|
|
||||||
" TODO Read :help write-plugin for the "right" way to let the user
|
|
||||||
" specify a key binding.
|
|
||||||
" let g:match_auto = '<C-]>'
|
|
||||||
" let g:match_autoCR = '<C-CR>'
|
|
||||||
" if exists("g:match_auto")
|
|
||||||
" execute "inoremap " . g:match_auto . ' x<Esc>"=<SID>Autocomplete()<CR>Pls'
|
|
||||||
" endif
|
|
||||||
" if exists("g:match_autoCR")
|
|
||||||
" execute "inoremap " . g:match_autoCR . ' <CR><C-R>=<SID>Autocomplete()<CR>'
|
|
||||||
" endif
|
|
||||||
" if exists("g:match_gthhoh")
|
|
||||||
" execute "inoremap " . g:match_gthhoh . ' <C-O>:call <SID>Gthhoh()<CR>'
|
|
||||||
" endif " gthhoh = "Get the heck out of here!"
|
|
||||||
|
|
||||||
let s:notslash = '\\\@<!\%(\\\\\)*'
|
|
||||||
|
|
||||||
function! s:Match_wrapper(word, forward, mode) range
|
|
||||||
" In s:CleanUp(), :execute "set" restore_options .
|
|
||||||
let restore_options = ""
|
|
||||||
if exists("b:match_ignorecase") && b:match_ignorecase != &ic
|
|
||||||
let restore_options .= (&ic ? " " : " no") . "ignorecase"
|
|
||||||
let &ignorecase = b:match_ignorecase
|
|
||||||
endif
|
|
||||||
if &ve != ''
|
|
||||||
let restore_options = " ve=" . &ve . restore_options
|
|
||||||
set ve=
|
|
||||||
endif
|
|
||||||
" If this function was called from Visual mode, make sure that the cursor
|
|
||||||
" is at the correct end of the Visual range:
|
|
||||||
if a:mode == "v"
|
|
||||||
execute "normal! gv\<Esc>"
|
|
||||||
endif
|
|
||||||
" In s:CleanUp(), we may need to check whether the cursor moved forward.
|
|
||||||
let startline = line(".")
|
|
||||||
let startcol = col(".")
|
|
||||||
" Use default behavior if called with a count.
|
|
||||||
if v:count
|
|
||||||
exe "normal! " . v:count . "%"
|
|
||||||
return s:CleanUp(restore_options, a:mode, startline, startcol)
|
|
||||||
end
|
|
||||||
|
|
||||||
" First step: if not already done, set the script variables
|
|
||||||
" s:do_BR flag for whether there are backrefs
|
|
||||||
" s:pat parsed version of b:match_words
|
|
||||||
" s:all regexp based on s:pat and the default groups
|
|
||||||
"
|
|
||||||
if !exists("b:match_words") || b:match_words == ""
|
|
||||||
let match_words = ""
|
|
||||||
" Allow b:match_words = "GetVimMatchWords()" .
|
|
||||||
elseif b:match_words =~ ":"
|
|
||||||
let match_words = b:match_words
|
|
||||||
else
|
|
||||||
execute "let match_words =" b:match_words
|
|
||||||
endif
|
|
||||||
" Thanks to Preben "Peppe" Guldberg and Bram Moolenaar for this suggestion!
|
|
||||||
if (match_words != s:last_words) || (&mps != s:last_mps)
|
|
||||||
\ || exists("b:match_debug")
|
|
||||||
let s:last_mps = &mps
|
|
||||||
" The next several lines were here before
|
|
||||||
" BF started messing with this script.
|
|
||||||
" quote the special chars in 'matchpairs', replace [,:] with \| and then
|
|
||||||
" append the builtin pairs (/*, */, #if, #ifdef, #else, #elif, #endif)
|
|
||||||
" let default = substitute(escape(&mps, '[$^.*~\\/?]'), '[,:]\+',
|
|
||||||
" \ '\\|', 'g').'\|\/\*\|\*\/\|#if\>\|#ifdef\>\|#else\>\|#elif\>\|#endif\>'
|
|
||||||
let default = escape(&mps, '[$^.*~\\/?]') . (strlen(&mps) ? "," : "") .
|
|
||||||
\ '\/\*:\*\/,#\s*if\%(def\)\=:#\s*else\>:#\s*elif\>:#\s*endif\>'
|
|
||||||
" s:all = pattern with all the keywords
|
|
||||||
let match_words = match_words . (strlen(match_words) ? "," : "") . default
|
|
||||||
let s:last_words = match_words
|
|
||||||
if match_words !~ s:notslash . '\\\d'
|
|
||||||
let s:do_BR = 0
|
|
||||||
let s:pat = match_words
|
|
||||||
else
|
|
||||||
let s:do_BR = 1
|
|
||||||
let s:pat = s:ParseWords(match_words)
|
|
||||||
endif
|
|
||||||
let s:all = substitute(s:pat, s:notslash . '\zs[,:]\+', '\\|', 'g')
|
|
||||||
let s:all = '\%(' . s:all . '\)'
|
|
||||||
" let s:all = '\%(' . substitute(s:all, '\\\ze[,:]', '', 'g') . '\)'
|
|
||||||
if exists("b:match_debug")
|
|
||||||
let b:match_pat = s:pat
|
|
||||||
endif
|
|
||||||
" Reconstruct the version with unresolved backrefs.
|
|
||||||
let s:patBR = substitute(match_words.',',
|
|
||||||
\ s:notslash.'\zs[,:]*,[,:]*', ',', 'g')
|
|
||||||
let s:patBR = substitute(s:patBR, s:notslash.'\zs:\{2,}', ':', 'g')
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Second step: set the following local variables:
|
|
||||||
" matchline = line on which the cursor started
|
|
||||||
" curcol = number of characters before match
|
|
||||||
" prefix = regexp for start of line to start of match
|
|
||||||
" suffix = regexp for end of match to end of line
|
|
||||||
" Require match to end on or after the cursor and prefer it to
|
|
||||||
" start on or before the cursor.
|
|
||||||
let matchline = getline(startline)
|
|
||||||
if a:word != ''
|
|
||||||
" word given
|
|
||||||
if a:word !~ s:all
|
|
||||||
echohl WarningMsg|echo 'Missing rule for word:"'.a:word.'"'|echohl NONE
|
|
||||||
return s:CleanUp(restore_options, a:mode, startline, startcol)
|
|
||||||
endif
|
|
||||||
let matchline = a:word
|
|
||||||
let curcol = 0
|
|
||||||
let prefix = '^\%('
|
|
||||||
let suffix = '\)$'
|
|
||||||
" Now the case when "word" is not given
|
|
||||||
else " Find the match that ends on or after the cursor and set curcol.
|
|
||||||
let regexp = s:Wholematch(matchline, s:all, startcol-1)
|
|
||||||
let curcol = match(matchline, regexp)
|
|
||||||
" If there is no match, give up.
|
|
||||||
if curcol == -1
|
|
||||||
return s:CleanUp(restore_options, a:mode, startline, startcol)
|
|
||||||
endif
|
|
||||||
let endcol = matchend(matchline, regexp)
|
|
||||||
let suf = strlen(matchline) - endcol
|
|
||||||
let prefix = (curcol ? '^.*\%' . (curcol + 1) . 'c\%(' : '^\%(')
|
|
||||||
let suffix = (suf ? '\)\%' . (endcol + 1) . 'c.*$' : '\)$')
|
|
||||||
endif
|
|
||||||
if exists("b:match_debug")
|
|
||||||
let b:match_match = matchstr(matchline, regexp)
|
|
||||||
let b:match_col = curcol+1
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Third step: Find the group and single word that match, and the original
|
|
||||||
" (backref) versions of these. Then, resolve the backrefs.
|
|
||||||
" Set the following local variable:
|
|
||||||
" group = colon-separated list of patterns, one of which matches
|
|
||||||
" = ini:mid:fin or ini:fin
|
|
||||||
"
|
|
||||||
" Now, set group and groupBR to the matching group: 'if:endif' or
|
|
||||||
" 'while:endwhile' or whatever. A bit of a kluge: s:Choose() returns
|
|
||||||
" group . "," . groupBR, and we pick it apart.
|
|
||||||
let group = s:Choose(s:pat, matchline, ",", ":", prefix, suffix, s:patBR)
|
|
||||||
let i = matchend(group, s:notslash . ",")
|
|
||||||
let groupBR = strpart(group, i)
|
|
||||||
let group = strpart(group, 0, i-1)
|
|
||||||
" Now, matchline =~ prefix . substitute(group,':','\|','g') . suffix
|
|
||||||
if s:do_BR " Do the hard part: resolve those backrefs!
|
|
||||||
let group = s:InsertRefs(groupBR, prefix, group, suffix, matchline)
|
|
||||||
endif
|
|
||||||
if exists("b:match_debug")
|
|
||||||
let b:match_wholeBR = groupBR
|
|
||||||
let i = matchend(groupBR, s:notslash . ":")
|
|
||||||
let b:match_iniBR = strpart(groupBR, 0, i-1)
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Fourth step: Set the arguments for searchpair().
|
|
||||||
let i = matchend(group, s:notslash . ":")
|
|
||||||
let j = matchend(group, '.*' . s:notslash . ":")
|
|
||||||
let ini = strpart(group, 0, i-1)
|
|
||||||
let mid = substitute(strpart(group, i,j-i-1), s:notslash.'\zs:', '\\|', 'g')
|
|
||||||
let fin = strpart(group, j)
|
|
||||||
"Un-escape the remaining , and : characters.
|
|
||||||
let ini = substitute(ini, s:notslash . '\zs\\\(:\|,\)', '\1', 'g')
|
|
||||||
let mid = substitute(mid, s:notslash . '\zs\\\(:\|,\)', '\1', 'g')
|
|
||||||
let fin = substitute(fin, s:notslash . '\zs\\\(:\|,\)', '\1', 'g')
|
|
||||||
" searchpair() requires that these patterns avoid \(\) groups.
|
|
||||||
let ini = substitute(ini, s:notslash . '\zs\\(', '\\%(', 'g')
|
|
||||||
let mid = substitute(mid, s:notslash . '\zs\\(', '\\%(', 'g')
|
|
||||||
let fin = substitute(fin, s:notslash . '\zs\\(', '\\%(', 'g')
|
|
||||||
" Set mid. This is optimized for readability, not micro-efficiency!
|
|
||||||
if a:forward && matchline =~ prefix . fin . suffix
|
|
||||||
\ || !a:forward && matchline =~ prefix . ini . suffix
|
|
||||||
let mid = ""
|
|
||||||
endif
|
|
||||||
" Set flag. This is optimized for readability, not micro-efficiency!
|
|
||||||
if a:forward && matchline =~ prefix . fin . suffix
|
|
||||||
\ || !a:forward && matchline !~ prefix . ini . suffix
|
|
||||||
let flag = "bW"
|
|
||||||
else
|
|
||||||
let flag = "W"
|
|
||||||
endif
|
|
||||||
" Set skip.
|
|
||||||
if exists("b:match_skip")
|
|
||||||
let skip = b:match_skip
|
|
||||||
elseif exists("b:match_comment") " backwards compatibility and testing!
|
|
||||||
let skip = "r:" . b:match_comment
|
|
||||||
else
|
|
||||||
let skip = 's:comment\|string'
|
|
||||||
endif
|
|
||||||
let skip = s:ParseSkip(skip)
|
|
||||||
if exists("b:match_debug")
|
|
||||||
let b:match_ini = ini
|
|
||||||
let b:match_tail = (strlen(mid) ? mid.'\|' : '') . fin
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Fifth step: actually start moving the cursor and call searchpair().
|
|
||||||
" Later, :execute restore_cursor to get to the original screen.
|
|
||||||
let restore_cursor = virtcol(".") . "|"
|
|
||||||
normal! g0
|
|
||||||
let restore_cursor = line(".") . "G" . virtcol(".") . "|zs" . restore_cursor
|
|
||||||
normal! H
|
|
||||||
let restore_cursor = "normal!" . line(".") . "Gzt" . restore_cursor
|
|
||||||
execute restore_cursor
|
|
||||||
call cursor(0, curcol + 1)
|
|
||||||
" normal! 0
|
|
||||||
" if curcol
|
|
||||||
" execute "normal!" . curcol . "l"
|
|
||||||
" endif
|
|
||||||
if skip =~ 'synID' && !(has("syntax") && exists("g:syntax_on"))
|
|
||||||
let skip = '0'
|
|
||||||
else
|
|
||||||
execute "if " . skip . "| let skip = '0' | endif"
|
|
||||||
endif
|
|
||||||
let sp_return = searchpair(ini, mid, fin, flag, skip)
|
|
||||||
let final_position = "call cursor(" . line(".") . "," . col(".") . ")"
|
|
||||||
" Restore cursor position and original screen.
|
|
||||||
execute restore_cursor
|
|
||||||
normal! m'
|
|
||||||
if sp_return > 0
|
|
||||||
execute final_position
|
|
||||||
endif
|
|
||||||
return s:CleanUp(restore_options, a:mode, startline, startcol, mid.'\|'.fin)
|
|
||||||
endfun
|
|
||||||
|
|
||||||
" Restore options and do some special handling for Operator-pending mode.
|
|
||||||
" The optional argument is the tail of the matching group.
|
|
||||||
fun! s:CleanUp(options, mode, startline, startcol, ...)
|
|
||||||
if strlen(a:options)
|
|
||||||
execute "set" a:options
|
|
||||||
endif
|
|
||||||
" Open folds, if appropriate.
|
|
||||||
if a:mode != "o"
|
|
||||||
if &foldopen =~ "percent"
|
|
||||||
normal! zv
|
|
||||||
endif
|
|
||||||
" In Operator-pending mode, we want to include the whole match
|
|
||||||
" (for example, d%).
|
|
||||||
" This is only a problem if we end up moving in the forward direction.
|
|
||||||
elseif (a:startline < line(".")) ||
|
|
||||||
\ (a:startline == line(".") && a:startcol < col("."))
|
|
||||||
if a:0
|
|
||||||
" Check whether the match is a single character. If not, move to the
|
|
||||||
" end of the match.
|
|
||||||
let matchline = getline(".")
|
|
||||||
let currcol = col(".")
|
|
||||||
let regexp = s:Wholematch(matchline, a:1, currcol-1)
|
|
||||||
let endcol = matchend(matchline, regexp)
|
|
||||||
if endcol > currcol " This is NOT off by one!
|
|
||||||
call cursor(0, endcol)
|
|
||||||
endif
|
|
||||||
endif " a:0
|
|
||||||
endif " a:mode != "o" && etc.
|
|
||||||
return 0
|
|
||||||
endfun
|
|
||||||
|
|
||||||
" Example (simplified HTML patterns): if
|
|
||||||
" a:groupBR = '<\(\k\+\)>:</\1>'
|
|
||||||
" a:prefix = '^.\{3}\('
|
|
||||||
" a:group = '<\(\k\+\)>:</\(\k\+\)>'
|
|
||||||
" a:suffix = '\).\{2}$'
|
|
||||||
" a:matchline = "123<tag>12" or "123</tag>12"
|
|
||||||
" then extract "tag" from a:matchline and return "<tag>:</tag>" .
|
|
||||||
fun! s:InsertRefs(groupBR, prefix, group, suffix, matchline)
|
|
||||||
if a:matchline !~ a:prefix .
|
|
||||||
\ substitute(a:group, s:notslash . '\zs:', '\\|', 'g') . a:suffix
|
|
||||||
return a:group
|
|
||||||
endif
|
|
||||||
let i = matchend(a:groupBR, s:notslash . ':')
|
|
||||||
let ini = strpart(a:groupBR, 0, i-1)
|
|
||||||
let tailBR = strpart(a:groupBR, i)
|
|
||||||
let word = s:Choose(a:group, a:matchline, ":", "", a:prefix, a:suffix,
|
|
||||||
\ a:groupBR)
|
|
||||||
let i = matchend(word, s:notslash . ":")
|
|
||||||
let wordBR = strpart(word, i)
|
|
||||||
let word = strpart(word, 0, i-1)
|
|
||||||
" Now, a:matchline =~ a:prefix . word . a:suffix
|
|
||||||
if wordBR != ini
|
|
||||||
let table = s:Resolve(ini, wordBR, "table")
|
|
||||||
else
|
|
||||||
" let table = "----------"
|
|
||||||
let table = ""
|
|
||||||
let d = 0
|
|
||||||
while d < 10
|
|
||||||
if tailBR =~ s:notslash . '\\' . d
|
|
||||||
" let table[d] = d
|
|
||||||
let table = table . d
|
|
||||||
else
|
|
||||||
let table = table . "-"
|
|
||||||
endif
|
|
||||||
let d = d + 1
|
|
||||||
endwhile
|
|
||||||
endif
|
|
||||||
let d = 9
|
|
||||||
while d
|
|
||||||
if table[d] != "-"
|
|
||||||
let backref = substitute(a:matchline, a:prefix.word.a:suffix,
|
|
||||||
\ '\'.table[d], "")
|
|
||||||
" Are there any other characters that should be escaped?
|
|
||||||
let backref = escape(backref, '*,:')
|
|
||||||
execute s:Ref(ini, d, "start", "len")
|
|
||||||
let ini = strpart(ini, 0, start) . backref . strpart(ini, start+len)
|
|
||||||
let tailBR = substitute(tailBR, s:notslash . '\zs\\' . d,
|
|
||||||
\ escape(backref, '\\&'), 'g')
|
|
||||||
endif
|
|
||||||
let d = d-1
|
|
||||||
endwhile
|
|
||||||
if exists("b:match_debug")
|
|
||||||
if s:do_BR
|
|
||||||
let b:match_table = table
|
|
||||||
let b:match_word = word
|
|
||||||
else
|
|
||||||
let b:match_table = ""
|
|
||||||
let b:match_word = ""
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
return ini . ":" . tailBR
|
|
||||||
endfun
|
|
||||||
|
|
||||||
" Input a comma-separated list of groups with backrefs, such as
|
|
||||||
" a:groups = '\(foo\):end\1,\(bar\):end\1'
|
|
||||||
" and return a comma-separated list of groups with backrefs replaced:
|
|
||||||
" return '\(foo\):end\(foo\),\(bar\):end\(bar\)'
|
|
||||||
fun! s:ParseWords(groups)
|
|
||||||
let groups = substitute(a:groups.",", s:notslash.'\zs[,:]*,[,:]*', ',', 'g')
|
|
||||||
let groups = substitute(groups, s:notslash . '\zs:\{2,}', ':', 'g')
|
|
||||||
let parsed = ""
|
|
||||||
while groups =~ '[^,:]'
|
|
||||||
let i = matchend(groups, s:notslash . ':')
|
|
||||||
let j = matchend(groups, s:notslash . ',')
|
|
||||||
let ini = strpart(groups, 0, i-1)
|
|
||||||
let tail = strpart(groups, i, j-i-1) . ":"
|
|
||||||
let groups = strpart(groups, j)
|
|
||||||
let parsed = parsed . ini
|
|
||||||
let i = matchend(tail, s:notslash . ':')
|
|
||||||
while i != -1
|
|
||||||
" In 'if:else:endif', ini='if' and word='else' and then word='endif'.
|
|
||||||
let word = strpart(tail, 0, i-1)
|
|
||||||
let tail = strpart(tail, i)
|
|
||||||
let i = matchend(tail, s:notslash . ':')
|
|
||||||
let parsed = parsed . ":" . s:Resolve(ini, word, "word")
|
|
||||||
endwhile " Now, tail has been used up.
|
|
||||||
let parsed = parsed . ","
|
|
||||||
endwhile " groups =~ '[^,:]'
|
|
||||||
let parsed = substitute(parsed, ',$', '', '')
|
|
||||||
return parsed
|
|
||||||
endfun
|
|
||||||
|
|
||||||
" TODO I think this can be simplified and/or made more efficient.
|
|
||||||
" TODO What should I do if a:start is out of range?
|
|
||||||
" Return a regexp that matches all of a:string, such that
|
|
||||||
" matchstr(a:string, regexp) represents the match for a:pat that starts
|
|
||||||
" as close to a:start as possible, before being preferred to after, and
|
|
||||||
" ends after a:start .
|
|
||||||
" Usage:
|
|
||||||
" let regexp = s:Wholematch(getline("."), 'foo\|bar', col(".")-1)
|
|
||||||
" let i = match(getline("."), regexp)
|
|
||||||
" let j = matchend(getline("."), regexp)
|
|
||||||
" let match = matchstr(getline("."), regexp)
|
|
||||||
fun! s:Wholematch(string, pat, start)
|
|
||||||
let group = '\%(' . a:pat . '\)'
|
|
||||||
let prefix = (a:start ? '\(^.*\%<' . (a:start + 2) . 'c\)\zs' : '^')
|
|
||||||
let len = strlen(a:string)
|
|
||||||
let suffix = (a:start+1 < len ? '\(\%>'.(a:start+1).'c.*$\)\@=' : '$')
|
|
||||||
if a:string !~ prefix . group . suffix
|
|
||||||
let prefix = ''
|
|
||||||
endif
|
|
||||||
return prefix . group . suffix
|
|
||||||
endfun
|
|
||||||
|
|
||||||
" No extra arguments: s:Ref(string, d) will
|
|
||||||
" find the d'th occurrence of '\(' and return it, along with everything up
|
|
||||||
" to and including the matching '\)'.
|
|
||||||
" One argument: s:Ref(string, d, "start") returns the index of the start
|
|
||||||
" of the d'th '\(' and any other argument returns the length of the group.
|
|
||||||
" Two arguments: s:Ref(string, d, "foo", "bar") returns a string to be
|
|
||||||
" executed, having the effect of
|
|
||||||
" :let foo = s:Ref(string, d, "start")
|
|
||||||
" :let bar = s:Ref(string, d, "len")
|
|
||||||
fun! s:Ref(string, d, ...)
|
|
||||||
let len = strlen(a:string)
|
|
||||||
if a:d == 0
|
|
||||||
let start = 0
|
|
||||||
else
|
|
||||||
let cnt = a:d
|
|
||||||
let match = a:string
|
|
||||||
while cnt
|
|
||||||
let cnt = cnt - 1
|
|
||||||
let index = matchend(match, s:notslash . '\\(')
|
|
||||||
if index == -1
|
|
||||||
return ""
|
|
||||||
endif
|
|
||||||
let match = strpart(match, index)
|
|
||||||
endwhile
|
|
||||||
let start = len - strlen(match)
|
|
||||||
if a:0 == 1 && a:1 == "start"
|
|
||||||
return start - 2
|
|
||||||
endif
|
|
||||||
let cnt = 1
|
|
||||||
while cnt
|
|
||||||
let index = matchend(match, s:notslash . '\\(\|\\)') - 1
|
|
||||||
if index == -2
|
|
||||||
return ""
|
|
||||||
endif
|
|
||||||
" Increment if an open, decrement if a ')':
|
|
||||||
let cnt = cnt + (match[index]=="(" ? 1 : -1) " ')'
|
|
||||||
" let cnt = stridx('0(', match[index]) + cnt
|
|
||||||
let match = strpart(match, index+1)
|
|
||||||
endwhile
|
|
||||||
let start = start - 2
|
|
||||||
let len = len - start - strlen(match)
|
|
||||||
endif
|
|
||||||
if a:0 == 1
|
|
||||||
return len
|
|
||||||
elseif a:0 == 2
|
|
||||||
return "let " . a:1 . "=" . start . "| let " . a:2 . "=" . len
|
|
||||||
else
|
|
||||||
return strpart(a:string, start, len)
|
|
||||||
endif
|
|
||||||
endfun
|
|
||||||
|
|
||||||
" Count the number of disjoint copies of pattern in string.
|
|
||||||
" If the pattern is a literal string and contains no '0' or '1' characters
|
|
||||||
" then s:Count(string, pattern, '0', '1') should be faster than
|
|
||||||
" s:Count(string, pattern).
|
|
||||||
fun! s:Count(string, pattern, ...)
|
|
||||||
let pat = escape(a:pattern, '\\')
|
|
||||||
if a:0 > 1
|
|
||||||
let foo = substitute(a:string, '[^'.a:pattern.']', "a:1", "g")
|
|
||||||
let foo = substitute(a:string, pat, a:2, "g")
|
|
||||||
let foo = substitute(foo, '[^' . a:2 . ']', "", "g")
|
|
||||||
return strlen(foo)
|
|
||||||
endif
|
|
||||||
let result = 0
|
|
||||||
let foo = a:string
|
|
||||||
let index = matchend(foo, pat)
|
|
||||||
while index != -1
|
|
||||||
let result = result + 1
|
|
||||||
let foo = strpart(foo, index)
|
|
||||||
let index = matchend(foo, pat)
|
|
||||||
endwhile
|
|
||||||
return result
|
|
||||||
endfun
|
|
||||||
|
|
||||||
" s:Resolve('\(a\)\(b\)', '\(c\)\2\1\1\2') should return table.word, where
|
|
||||||
" word = '\(c\)\(b\)\(a\)\3\2' and table = '-32-------'. That is, the first
|
|
||||||
" '\1' in target is replaced by '\(a\)' in word, table[1] = 3, and this
|
|
||||||
" indicates that all other instances of '\1' in target are to be replaced
|
|
||||||
" by '\3'. The hard part is dealing with nesting...
|
|
||||||
" Note that ":" is an illegal character for source and target,
|
|
||||||
" unless it is preceded by "\".
|
|
||||||
fun! s:Resolve(source, target, output)
|
|
||||||
let word = a:target
|
|
||||||
let i = matchend(word, s:notslash . '\\\d') - 1
|
|
||||||
let table = "----------"
|
|
||||||
while i != -2 " There are back references to be replaced.
|
|
||||||
let d = word[i]
|
|
||||||
let backref = s:Ref(a:source, d)
|
|
||||||
" The idea is to replace '\d' with backref. Before we do this,
|
|
||||||
" replace any \(\) groups in backref with :1, :2, ... if they
|
|
||||||
" correspond to the first, second, ... group already inserted
|
|
||||||
" into backref. Later, replace :1 with \1 and so on. The group
|
|
||||||
" number w+b within backref corresponds to the group number
|
|
||||||
" s within a:source.
|
|
||||||
" w = number of '\(' in word before the current one
|
|
||||||
let w = s:Count(
|
|
||||||
\ substitute(strpart(word, 0, i-1), '\\\\', '', 'g'), '\(', '1')
|
|
||||||
let b = 1 " number of the current '\(' in backref
|
|
||||||
let s = d " number of the current '\(' in a:source
|
|
||||||
while b <= s:Count(substitute(backref, '\\\\', '', 'g'), '\(', '1')
|
|
||||||
\ && s < 10
|
|
||||||
if table[s] == "-"
|
|
||||||
if w + b < 10
|
|
||||||
" let table[s] = w + b
|
|
||||||
let table = strpart(table, 0, s) . (w+b) . strpart(table, s+1)
|
|
||||||
endif
|
|
||||||
let b = b + 1
|
|
||||||
let s = s + 1
|
|
||||||
else
|
|
||||||
execute s:Ref(backref, b, "start", "len")
|
|
||||||
let ref = strpart(backref, start, len)
|
|
||||||
let backref = strpart(backref, 0, start) . ":". table[s]
|
|
||||||
\ . strpart(backref, start+len)
|
|
||||||
let s = s + s:Count(substitute(ref, '\\\\', '', 'g'), '\(', '1')
|
|
||||||
endif
|
|
||||||
endwhile
|
|
||||||
let word = strpart(word, 0, i-1) . backref . strpart(word, i+1)
|
|
||||||
let i = matchend(word, s:notslash . '\\\d') - 1
|
|
||||||
endwhile
|
|
||||||
let word = substitute(word, s:notslash . '\zs:', '\\', 'g')
|
|
||||||
if a:output == "table"
|
|
||||||
return table
|
|
||||||
elseif a:output == "word"
|
|
||||||
return word
|
|
||||||
else
|
|
||||||
return table . word
|
|
||||||
endif
|
|
||||||
endfun
|
|
||||||
|
|
||||||
" Assume a:comma = ",". Then the format for a:patterns and a:1 is
|
|
||||||
" a:patterns = "<pat1>,<pat2>,..."
|
|
||||||
" a:1 = "<alt1>,<alt2>,..."
|
|
||||||
" If <patn> is the first pattern that matches a:string then return <patn>
|
|
||||||
" if no optional arguments are given; return <patn>,<altn> if a:1 is given.
|
|
||||||
fun! s:Choose(patterns, string, comma, branch, prefix, suffix, ...)
|
|
||||||
let tail = (a:patterns =~ a:comma."$" ? a:patterns : a:patterns . a:comma)
|
|
||||||
let i = matchend(tail, s:notslash . a:comma)
|
|
||||||
if a:0
|
|
||||||
let alttail = (a:1 =~ a:comma."$" ? a:1 : a:1 . a:comma)
|
|
||||||
let j = matchend(alttail, s:notslash . a:comma)
|
|
||||||
endif
|
|
||||||
let current = strpart(tail, 0, i-1)
|
|
||||||
if a:branch == ""
|
|
||||||
let currpat = current
|
|
||||||
else
|
|
||||||
let currpat = substitute(current, s:notslash . a:branch, '\\|', 'g')
|
|
||||||
endif
|
|
||||||
while a:string !~ a:prefix . currpat . a:suffix
|
|
||||||
let tail = strpart(tail, i)
|
|
||||||
let i = matchend(tail, s:notslash . a:comma)
|
|
||||||
if i == -1
|
|
||||||
return -1
|
|
||||||
endif
|
|
||||||
let current = strpart(tail, 0, i-1)
|
|
||||||
if a:branch == ""
|
|
||||||
let currpat = current
|
|
||||||
else
|
|
||||||
let currpat = substitute(current, s:notslash . a:branch, '\\|', 'g')
|
|
||||||
endif
|
|
||||||
if a:0
|
|
||||||
let alttail = strpart(alttail, j)
|
|
||||||
let j = matchend(alttail, s:notslash . a:comma)
|
|
||||||
endif
|
|
||||||
endwhile
|
|
||||||
if a:0
|
|
||||||
let current = current . a:comma . strpart(alttail, 0, j-1)
|
|
||||||
endif
|
|
||||||
return current
|
|
||||||
endfun
|
|
||||||
|
|
||||||
" Call this function to turn on debugging information. Every time the main
|
" Call this function to turn on debugging information. Every time the main
|
||||||
" script is run, buffer variables will be saved. These can be used directly
|
" script is run, buffer variables will be saved. These can be used directly
|
||||||
" or viewed using the menu items below.
|
" or viewed using the menu items below.
|
||||||
if !exists(":MatchDebug")
|
if !exists(":MatchDebug")
|
||||||
command! -nargs=0 MatchDebug call s:Match_debug()
|
command! -nargs=0 MatchDebug call matchit#Match_debug()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
fun! s:Match_debug()
|
|
||||||
let b:match_debug = 1 " Save debugging information.
|
|
||||||
" pat = all of b:match_words with backrefs parsed
|
|
||||||
amenu &Matchit.&pat :echo b:match_pat<CR>
|
|
||||||
" match = bit of text that is recognized as a match
|
|
||||||
amenu &Matchit.&match :echo b:match_match<CR>
|
|
||||||
" curcol = cursor column of the start of the matching text
|
|
||||||
amenu &Matchit.&curcol :echo b:match_col<CR>
|
|
||||||
" wholeBR = matching group, original version
|
|
||||||
amenu &Matchit.wh&oleBR :echo b:match_wholeBR<CR>
|
|
||||||
" iniBR = 'if' piece, original version
|
|
||||||
amenu &Matchit.ini&BR :echo b:match_iniBR<CR>
|
|
||||||
" ini = 'if' piece, with all backrefs resolved from match
|
|
||||||
amenu &Matchit.&ini :echo b:match_ini<CR>
|
|
||||||
" tail = 'else\|endif' piece, with all backrefs resolved from match
|
|
||||||
amenu &Matchit.&tail :echo b:match_tail<CR>
|
|
||||||
" fin = 'endif' piece, with all backrefs resolved from match
|
|
||||||
amenu &Matchit.&word :echo b:match_word<CR>
|
|
||||||
" '\'.d in ini refers to the same thing as '\'.table[d] in word.
|
|
||||||
amenu &Matchit.t&able :echo '0:' . b:match_table . ':9'<CR>
|
|
||||||
endfun
|
|
||||||
|
|
||||||
" Jump to the nearest unmatched "(" or "if" or "<tag>" if a:spflag == "bW"
|
|
||||||
" or the nearest unmatched "</tag>" or "endif" or ")" if a:spflag == "W".
|
|
||||||
" Return a "mark" for the original position, so that
|
|
||||||
" let m = MultiMatch("bW", "n") ... execute m
|
|
||||||
" will return to the original position. If there is a problem, do not
|
|
||||||
" move the cursor and return "", unless a count is given, in which case
|
|
||||||
" go up or down as many levels as possible and again return "".
|
|
||||||
" TODO This relies on the same patterns as % matching. It might be a good
|
|
||||||
" idea to give it its own matching patterns.
|
|
||||||
fun! s:MultiMatch(spflag, mode)
|
|
||||||
if !exists("b:match_words") || b:match_words == ""
|
|
||||||
return ""
|
|
||||||
end
|
|
||||||
let restore_options = ""
|
|
||||||
if exists("b:match_ignorecase") && b:match_ignorecase != &ic
|
|
||||||
let restore_options .= (&ic ? " " : " no") . "ignorecase"
|
|
||||||
let &ignorecase = b:match_ignorecase
|
|
||||||
endif
|
|
||||||
let startline = line(".")
|
|
||||||
let startcol = col(".")
|
|
||||||
|
|
||||||
" First step: if not already done, set the script variables
|
|
||||||
" s:do_BR flag for whether there are backrefs
|
|
||||||
" s:pat parsed version of b:match_words
|
|
||||||
" s:all regexp based on s:pat and the default groups
|
|
||||||
" This part is copied and slightly modified from s:Match_wrapper().
|
|
||||||
let default = escape(&mps, '[$^.*~\\/?]') . (strlen(&mps) ? "," : "") .
|
|
||||||
\ '\/\*:\*\/,#\s*if\%(def\)\=:#\s*else\>:#\s*elif\>:#\s*endif\>'
|
|
||||||
" Allow b:match_words = "GetVimMatchWords()" .
|
|
||||||
if b:match_words =~ ":"
|
|
||||||
let match_words = b:match_words
|
|
||||||
else
|
|
||||||
execute "let match_words =" b:match_words
|
|
||||||
endif
|
|
||||||
if (match_words != s:last_words) || (&mps != s:last_mps) ||
|
|
||||||
\ exists("b:match_debug")
|
|
||||||
let s:last_words = match_words
|
|
||||||
let s:last_mps = &mps
|
|
||||||
let match_words = match_words . (strlen(match_words) ? "," : "") . default
|
|
||||||
if match_words !~ s:notslash . '\\\d'
|
|
||||||
let s:do_BR = 0
|
|
||||||
let s:pat = match_words
|
|
||||||
else
|
|
||||||
let s:do_BR = 1
|
|
||||||
let s:pat = s:ParseWords(match_words)
|
|
||||||
endif
|
|
||||||
let s:all = '\%(' . substitute(s:pat . (strlen(s:pat) ? "," : "") . default,
|
|
||||||
\ '[,:]\+', '\\|', 'g') . '\)'
|
|
||||||
if exists("b:match_debug")
|
|
||||||
let b:match_pat = s:pat
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Second step: figure out the patterns for searchpair()
|
|
||||||
" and save the screen, cursor position, and 'ignorecase'.
|
|
||||||
" - TODO: A lot of this is copied from s:Match_wrapper().
|
|
||||||
" - maybe even more functionality should be split off
|
|
||||||
" - into separate functions!
|
|
||||||
let cdefault = (s:pat =~ '[^,]$' ? "," : "") . default
|
|
||||||
let open = substitute(s:pat . cdefault,
|
|
||||||
\ s:notslash . '\zs:.\{-}' . s:notslash . ',', '\\),\\(', 'g')
|
|
||||||
let open = '\(' . substitute(open, s:notslash . '\zs:.*$', '\\)', '')
|
|
||||||
let close = substitute(s:pat . cdefault,
|
|
||||||
\ s:notslash . '\zs,.\{-}' . s:notslash . ':', '\\),\\(', 'g')
|
|
||||||
let close = substitute(close, '^.\{-}' . s:notslash . ':', '\\(', '') . '\)'
|
|
||||||
if exists("b:match_skip")
|
|
||||||
let skip = b:match_skip
|
|
||||||
elseif exists("b:match_comment") " backwards compatibility and testing!
|
|
||||||
let skip = "r:" . b:match_comment
|
|
||||||
else
|
|
||||||
let skip = 's:comment\|string'
|
|
||||||
endif
|
|
||||||
let skip = s:ParseSkip(skip)
|
|
||||||
" save v:count1 variable, might be reset from the restore_cursor command
|
|
||||||
let level = v:count1
|
|
||||||
let restore_cursor = virtcol(".") . "|"
|
|
||||||
normal! g0
|
|
||||||
let restore_cursor = line(".") . "G" . virtcol(".") . "|zs" . restore_cursor
|
|
||||||
normal! H
|
|
||||||
let restore_cursor = "normal!" . line(".") . "Gzt" . restore_cursor
|
|
||||||
execute restore_cursor
|
|
||||||
|
|
||||||
" Third step: call searchpair().
|
|
||||||
" Replace '\('--but not '\\('--with '\%(' and ',' with '\|'.
|
|
||||||
let openpat = substitute(open, '\(\\\@<!\(\\\\\)*\)\@<=\\(', '\\%(', 'g')
|
|
||||||
let openpat = substitute(openpat, ',', '\\|', 'g')
|
|
||||||
let closepat = substitute(close, '\(\\\@<!\(\\\\\)*\)\@<=\\(', '\\%(', 'g')
|
|
||||||
let closepat = substitute(closepat, ',', '\\|', 'g')
|
|
||||||
|
|
||||||
if skip =~ 'synID' && !(has("syntax") && exists("g:syntax_on"))
|
|
||||||
let skip = '0'
|
|
||||||
else
|
|
||||||
try
|
|
||||||
execute "if " . skip . "| let skip = '0' | endif"
|
|
||||||
catch /^Vim\%((\a\+)\)\=:E363/
|
|
||||||
" We won't find anything, so skip searching, should keep Vim responsive.
|
|
||||||
return
|
|
||||||
endtry
|
|
||||||
endif
|
|
||||||
mark '
|
|
||||||
while level
|
|
||||||
if searchpair(openpat, '', closepat, a:spflag, skip) < 1
|
|
||||||
call s:CleanUp(restore_options, a:mode, startline, startcol)
|
|
||||||
return ""
|
|
||||||
endif
|
|
||||||
let level = level - 1
|
|
||||||
endwhile
|
|
||||||
|
|
||||||
" Restore options and return a string to restore the original position.
|
|
||||||
call s:CleanUp(restore_options, a:mode, startline, startcol)
|
|
||||||
return restore_cursor
|
|
||||||
endfun
|
|
||||||
|
|
||||||
" Search backwards for "if" or "while" or "<tag>" or ...
|
|
||||||
" and return "endif" or "endwhile" or "</tag>" or ... .
|
|
||||||
" For now, this uses b:match_words and the same script variables
|
|
||||||
" as s:Match_wrapper() . Later, it may get its own patterns,
|
|
||||||
" either from a buffer variable or passed as arguments.
|
|
||||||
" fun! s:Autocomplete()
|
|
||||||
" echo "autocomplete not yet implemented :-("
|
|
||||||
" if !exists("b:match_words") || b:match_words == ""
|
|
||||||
" return ""
|
|
||||||
" end
|
|
||||||
" let startpos = s:MultiMatch("bW")
|
|
||||||
"
|
|
||||||
" if startpos == ""
|
|
||||||
" return ""
|
|
||||||
" endif
|
|
||||||
" " - TODO: figure out whether 'if' or '<tag>' matched, and construct
|
|
||||||
" " - the appropriate closing.
|
|
||||||
" let matchline = getline(".")
|
|
||||||
" let curcol = col(".") - 1
|
|
||||||
" " - TODO: Change the s:all argument if there is a new set of match pats.
|
|
||||||
" let regexp = s:Wholematch(matchline, s:all, curcol)
|
|
||||||
" let suf = strlen(matchline) - matchend(matchline, regexp)
|
|
||||||
" let prefix = (curcol ? '^.\{' . curcol . '}\%(' : '^\%(')
|
|
||||||
" let suffix = (suf ? '\).\{' . suf . '}$' : '\)$')
|
|
||||||
" " Reconstruct the version with unresolved backrefs.
|
|
||||||
" let patBR = substitute(b:match_words.',', '[,:]*,[,:]*', ',', 'g')
|
|
||||||
" let patBR = substitute(patBR, ':\{2,}', ':', "g")
|
|
||||||
" " Now, set group and groupBR to the matching group: 'if:endif' or
|
|
||||||
" " 'while:endwhile' or whatever.
|
|
||||||
" let group = s:Choose(s:pat, matchline, ",", ":", prefix, suffix, patBR)
|
|
||||||
" let i = matchend(group, s:notslash . ",")
|
|
||||||
" let groupBR = strpart(group, i)
|
|
||||||
" let group = strpart(group, 0, i-1)
|
|
||||||
" " Now, matchline =~ prefix . substitute(group,':','\|','g') . suffix
|
|
||||||
" if s:do_BR
|
|
||||||
" let group = s:InsertRefs(groupBR, prefix, group, suffix, matchline)
|
|
||||||
" endif
|
|
||||||
" " let g:group = group
|
|
||||||
"
|
|
||||||
" " - TODO: Construct the closing from group.
|
|
||||||
" let fake = "end" . expand("<cword>")
|
|
||||||
" execute startpos
|
|
||||||
" return fake
|
|
||||||
" endfun
|
|
||||||
|
|
||||||
" Close all open structures. "Get the heck out of here!"
|
|
||||||
" fun! s:Gthhoh()
|
|
||||||
" let close = s:Autocomplete()
|
|
||||||
" while strlen(close)
|
|
||||||
" put=close
|
|
||||||
" let close = s:Autocomplete()
|
|
||||||
" endwhile
|
|
||||||
" endfun
|
|
||||||
|
|
||||||
" Parse special strings as typical skip arguments for searchpair():
|
|
||||||
" s:foo becomes (current syntax item) =~ foo
|
|
||||||
" S:foo becomes (current syntax item) !~ foo
|
|
||||||
" r:foo becomes (line before cursor) =~ foo
|
|
||||||
" R:foo becomes (line before cursor) !~ foo
|
|
||||||
fun! s:ParseSkip(str)
|
|
||||||
let skip = a:str
|
|
||||||
if skip[1] == ":"
|
|
||||||
if skip[0] == "s"
|
|
||||||
let skip = "synIDattr(synID(line('.'),col('.'),1),'name') =~? '" .
|
|
||||||
\ strpart(skip,2) . "'"
|
|
||||||
elseif skip[0] == "S"
|
|
||||||
let skip = "synIDattr(synID(line('.'),col('.'),1),'name') !~? '" .
|
|
||||||
\ strpart(skip,2) . "'"
|
|
||||||
elseif skip[0] == "r"
|
|
||||||
let skip = "strpart(getline('.'),0,col('.'))=~'" . strpart(skip,2). "'"
|
|
||||||
elseif skip[0] == "R"
|
|
||||||
let skip = "strpart(getline('.'),0,col('.'))!~'" . strpart(skip,2). "'"
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
return skip
|
|
||||||
endfun
|
|
||||||
|
|
||||||
let &cpo = s:save_cpo
|
let &cpo = s:save_cpo
|
||||||
unlet s:save_cpo
|
unlet s:save_cpo
|
||||||
|
|
||||||
" vim:sts=2:sw=2:
|
" vim:sts=2:sw=2:et:
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
" Maintainer: Debian Vim Maintainers
|
" Maintainer: Debian Vim Maintainers
|
||||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||||
" Wichert Akkerman <wakkerma@debian.org>
|
" Wichert Akkerman <wakkerma@debian.org>
|
||||||
" Last Change: 2018 Oct 30
|
" Last Change: 2019 Jan 26
|
||||||
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debchangelog.vim
|
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debchangelog.vim
|
||||||
|
|
||||||
" Standard syntax initialization
|
" Standard syntax initialization
|
||||||
@@ -14,7 +14,7 @@ endif
|
|||||||
" Case doesn't matter for us
|
" Case doesn't matter for us
|
||||||
syn case ignore
|
syn case ignore
|
||||||
|
|
||||||
let s:urgency='urgency=\(low\|medium\|high\|critical\)\( [^[:space:],][^,]*\)\='
|
let s:urgency='urgency=\(low\|medium\|high\|emergency\|critical\)\( [^[:space:],][^,]*\)\='
|
||||||
let s:binNMU='binary-only=yes'
|
let s:binNMU='binary-only=yes'
|
||||||
|
|
||||||
" Define some common expressions we can use later on
|
" Define some common expressions we can use later on
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
" An example for a vimrc file.
|
" An example for a vimrc file.
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last change: 2017 Sep 20
|
" Last change: 2019 Jan 26
|
||||||
"
|
"
|
||||||
" To use it, copy it to
|
" To use it, copy it to
|
||||||
" for Unix and OS/2: ~/.vimrc
|
" for Unix and OS/2: ~/.vimrc
|
||||||
@@ -9,7 +9,8 @@
|
|||||||
" for MS-DOS and Win32: $VIM\_vimrc
|
" for MS-DOS and Win32: $VIM\_vimrc
|
||||||
" for OpenVMS: sys$login:.vimrc
|
" for OpenVMS: sys$login:.vimrc
|
||||||
|
|
||||||
" When started as "evim", evim.vim will already have done these settings.
|
" When started as "evim", evim.vim will already have done these settings, bail
|
||||||
|
" out.
|
||||||
if v:progname =~? "evim"
|
if v:progname =~? "evim"
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
@@ -31,23 +32,13 @@ if &t_Co > 2 || has("gui_running")
|
|||||||
set hlsearch
|
set hlsearch
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Only do this part when compiled with support for autocommands.
|
" Put these in an autocmd group, so that we can delete them easily.
|
||||||
if has("autocmd")
|
augroup vimrcEx
|
||||||
|
|
||||||
" Put these in an autocmd group, so that we can delete them easily.
|
|
||||||
augroup vimrcEx
|
|
||||||
au!
|
au!
|
||||||
|
|
||||||
" For all text files set 'textwidth' to 78 characters.
|
" For all text files set 'textwidth' to 78 characters.
|
||||||
autocmd FileType text setlocal textwidth=78
|
autocmd FileType text setlocal textwidth=78
|
||||||
|
augroup END
|
||||||
augroup END
|
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
set autoindent " always set autoindenting on
|
|
||||||
|
|
||||||
endif " has("autocmd")
|
|
||||||
|
|
||||||
" Add optional packages.
|
" Add optional packages.
|
||||||
"
|
"
|
||||||
|
495
src/po/de.po
495
src/po/de.po
@@ -11,7 +11,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Vim\n"
|
"Project-Id-Version: Vim\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-12-12 15:34+0100\n"
|
"POT-Creation-Date: 2019-01-28 19:23+0100\n"
|
||||||
"PO-Revision-Date: 2008-05-24 17:26+0200\n"
|
"PO-Revision-Date: 2008-05-24 17:26+0200\n"
|
||||||
"Last-Translator: Christian Brabandt <cb@256bit.org>\n"
|
"Last-Translator: Christian Brabandt <cb@256bit.org>\n"
|
||||||
"Language-Team: German\n"
|
"Language-Team: German\n"
|
||||||
@@ -21,6 +21,67 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
|
msgid "--Deleted--"
|
||||||
|
msgstr "--gel<65>scht--"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "auto-removing autocommand: %s <buffer=%d>"
|
||||||
|
msgstr "Entferne Autokommando: %s <buffer=%d>"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E367: No such group: \"%s\""
|
||||||
|
msgstr "E367: Keine solche Gruppe: \"%s\""
|
||||||
|
|
||||||
|
msgid "E936: Cannot delete the current group"
|
||||||
|
msgstr "E936: Kann die aktuelle Gruppe nicht l<>schen."
|
||||||
|
|
||||||
|
msgid "W19: Deleting augroup that is still in use"
|
||||||
|
msgstr "W19: L<>sche Autogruppe, die noch in Benutzung ist."
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E215: Illegal character after *: %s"
|
||||||
|
msgstr "E215: Unzul<75>ssiges Zeichen nach *: %s"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E216: No such event: %s"
|
||||||
|
msgstr "E216: Kein derartiges Ereignis: %s"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E216: No such group or event: %s"
|
||||||
|
msgstr "E216: Keine solche Gruppe oder Ereignis: %s"
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"\n"
|
||||||
|
"--- Autocommands ---"
|
||||||
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"--- Autokommandos ---"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E680: <buffer=%d>: invalid buffer number "
|
||||||
|
msgstr "E680: <buffer=%d>: Ung<6E>ltige Puffer Nummer "
|
||||||
|
|
||||||
|
msgid "E217: Can't execute autocommands for ALL events"
|
||||||
|
msgstr "E217: Autokommandos k<>nnen nicht f<>r ALL Ereignisse ausgef<65>hrt werden"
|
||||||
|
|
||||||
|
msgid "No matching autocommands"
|
||||||
|
msgstr "Keine passenden Autokommandos"
|
||||||
|
|
||||||
|
msgid "E218: autocommand nesting too deep"
|
||||||
|
msgstr "E218: Autokommando-Schachtelung zu tief"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "%s Autocommands for \"%s\""
|
||||||
|
msgstr "%s Autokommandos f<>r \"%s\""
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "Executing %s"
|
||||||
|
msgstr "Ausf<73>hrung von %s"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "autocommand %s"
|
||||||
|
msgstr "Autokommando %s"
|
||||||
|
|
||||||
msgid "E831: bf_key_init() called with empty password"
|
msgid "E831: bf_key_init() called with empty password"
|
||||||
msgstr "E831: bf_key_init() mit leerem Passwort aufgerufen."
|
msgstr "E831: bf_key_init() mit leerem Passwort aufgerufen."
|
||||||
|
|
||||||
@@ -100,9 +161,9 @@ msgid "E88: Cannot go before first buffer"
|
|||||||
msgstr "E88: Kann nicht vor den ersten Puffer gehen."
|
msgstr "E88: Kann nicht vor den ersten Puffer gehen."
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E89: No write since last change for buffer %ld (add ! to override)"
|
msgid "E89: No write since last change for buffer %d (add ! to override)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"E89: Puffer %ld seit der letzten <20>nderung nicht gesichert (erzwinge mit !)"
|
"E89: Puffer %d seit der letzten <20>nderung nicht gesichert (erzwinge mit !)"
|
||||||
|
|
||||||
msgid "E948: Job still running (add ! to end the job)"
|
msgid "E948: Job still running (add ! to end the job)"
|
||||||
msgstr "E948: Job l<>uft noch (Beenden mit !)"
|
msgstr "E948: Job l<>uft noch (Beenden mit !)"
|
||||||
@@ -120,8 +181,8 @@ msgid "W14: Warning: List of file names overflow"
|
|||||||
msgstr "W14: Achtung: <20>berlauf der Dateinamensliste."
|
msgstr "W14: Achtung: <20>berlauf der Dateinamensliste."
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E92: Buffer %ld not found"
|
msgid "E92: Buffer %d not found"
|
||||||
msgstr "E92: Puffer %ld nicht gefunden."
|
msgstr "E92: Puffer %d nicht gefunden."
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E93: More than one match for %s"
|
msgid "E93: More than one match for %s"
|
||||||
@@ -203,21 +264,6 @@ msgstr "[Prompt]"
|
|||||||
msgid "[Scratch]"
|
msgid "[Scratch]"
|
||||||
msgstr "[Scratch]"
|
msgstr "[Scratch]"
|
||||||
|
|
||||||
msgid ""
|
|
||||||
"\n"
|
|
||||||
"--- Signs ---"
|
|
||||||
msgstr ""
|
|
||||||
"\n"
|
|
||||||
"--- Zeichen ---"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "Signs for %s:"
|
|
||||||
msgstr "Zeichen f<>r %s:"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid " line=%ld id=%d name=%s"
|
|
||||||
msgstr " Zeile=%ld id=%d Name=%s"
|
|
||||||
|
|
||||||
msgid "E902: Cannot connect to port"
|
msgid "E902: Cannot connect to port"
|
||||||
msgstr "E902: Kann keine Verbindung zu Port herstellen."
|
msgstr "E902: Kann keine Verbindung zu Port herstellen."
|
||||||
|
|
||||||
@@ -312,8 +358,8 @@ msgid "E737: Key already exists: %s"
|
|||||||
msgstr "E737: Schl<68>ssel existiert bereits: %s"
|
msgstr "E737: Schl<68>ssel existiert bereits: %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E96: Cannot diff more than %ld buffers"
|
msgid "E96: Cannot diff more than %d buffers"
|
||||||
msgstr "E96: Kann Diff f<>r mehr als %ld Puffer nicht erstellen."
|
msgstr "E96: Kann Diff f<>r mehr als %d Puffer nicht erstellen."
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Not enough memory to use internal diff for buffer \"%s\""
|
msgid "Not enough memory to use internal diff for buffer \"%s\""
|
||||||
@@ -368,6 +414,81 @@ msgstr "E787: Puffer
|
|||||||
msgid "E104: Escape not allowed in digraph"
|
msgid "E104: Escape not allowed in digraph"
|
||||||
msgstr "E104: <Escape> ist in einem Digraphen nicht erlaubt."
|
msgstr "E104: <Escape> ist in einem Digraphen nicht erlaubt."
|
||||||
|
|
||||||
|
msgid "Custom"
|
||||||
|
msgstr "Benutzerdefinierte Digraphs"
|
||||||
|
|
||||||
|
msgid "Latin supplement"
|
||||||
|
msgstr "Lateinisch Erg<72>nzung"
|
||||||
|
|
||||||
|
msgid "Greek and Coptic"
|
||||||
|
msgstr "Griechisch und Koptisch"
|
||||||
|
|
||||||
|
msgid "Cyrillic"
|
||||||
|
msgstr "Kyrillisch"
|
||||||
|
|
||||||
|
msgid "Hebrew"
|
||||||
|
msgstr "Hebr<62>isch"
|
||||||
|
|
||||||
|
msgid "Arabic"
|
||||||
|
msgstr "Arabisch"
|
||||||
|
|
||||||
|
msgid "Latin extended"
|
||||||
|
msgstr "Lateinisch Zusatz"
|
||||||
|
|
||||||
|
msgid "Greek extended"
|
||||||
|
msgstr "Griechisch Zusatz"
|
||||||
|
|
||||||
|
msgid "Punctuation"
|
||||||
|
msgstr "Interpunktion"
|
||||||
|
|
||||||
|
msgid "Super- and subscripts"
|
||||||
|
msgstr "Hoch- und tiefgestellte Zeichen"
|
||||||
|
|
||||||
|
msgid "Currency"
|
||||||
|
msgstr "W<>hrungszeichen"
|
||||||
|
|
||||||
|
msgid "Other"
|
||||||
|
msgstr "Andere Zeichen"
|
||||||
|
|
||||||
|
msgid "Roman numbers"
|
||||||
|
msgstr "R<>mische Ziffern"
|
||||||
|
|
||||||
|
msgid "Arrows"
|
||||||
|
msgstr "Pfeile"
|
||||||
|
|
||||||
|
msgid "Mathematical operators"
|
||||||
|
msgstr "Mathematische Operatoren"
|
||||||
|
|
||||||
|
msgid "Technical"
|
||||||
|
msgstr "Technische Zeichen"
|
||||||
|
|
||||||
|
msgid "Box drawing"
|
||||||
|
msgstr "Rahmenzeichen"
|
||||||
|
|
||||||
|
msgid "Block elements"
|
||||||
|
msgstr "Blockelemente"
|
||||||
|
|
||||||
|
msgid "Geometric shapes"
|
||||||
|
msgstr "Geometrische Formen"
|
||||||
|
|
||||||
|
msgid "Symbols"
|
||||||
|
msgstr "Verschiedene Symbole"
|
||||||
|
|
||||||
|
msgid "Dingbats"
|
||||||
|
msgstr "Dingbats"
|
||||||
|
|
||||||
|
msgid "CJK symbols and punctuation"
|
||||||
|
msgstr "CJK Symbole und Interpunktion"
|
||||||
|
|
||||||
|
msgid "Hiragana"
|
||||||
|
msgstr "Hiragana"
|
||||||
|
|
||||||
|
msgid "Katakana"
|
||||||
|
msgstr "Katakana"
|
||||||
|
|
||||||
|
msgid "Bopomofo"
|
||||||
|
msgstr "Bopomofo"
|
||||||
|
|
||||||
msgid "E544: Keymap file not found"
|
msgid "E544: Keymap file not found"
|
||||||
msgstr "E544: Keymap-Datei f<>r die Tastaturbelegung nicht gefunden."
|
msgstr "E544: Keymap-Datei f<>r die Tastaturbelegung nicht gefunden."
|
||||||
|
|
||||||
@@ -514,14 +635,17 @@ msgstr "Doppeltes ; in der Liste von Variablen"
|
|||||||
msgid "E738: Can't list variables for %s"
|
msgid "E738: Can't list variables for %s"
|
||||||
msgstr "E738: Kann Variablen nicht auflisten: %s"
|
msgstr "E738: Kann Variablen nicht auflisten: %s"
|
||||||
|
|
||||||
msgid "E689: Can only index a List or Dictionary"
|
msgid "E689: Can only index a List, Dictionary or Blob"
|
||||||
msgstr "E689: Kann nur Listen und Dictionary indizieren"
|
msgstr "E689: Kann nur Listen, Dictionary oder Blob indizieren"
|
||||||
|
|
||||||
msgid "E708: [:] must come last"
|
msgid "E708: [:] must come last"
|
||||||
msgstr "E708: [:] muss am Schluss kommen."
|
msgstr "E708: [:] muss am Schluss kommen."
|
||||||
|
|
||||||
msgid "E709: [:] requires a List value"
|
msgid "E709: [:] requires a List or Blob value"
|
||||||
msgstr "E709: [:] ben<65>tigt einen Listenwert"
|
msgstr "E709: [:] ben<65>tigt einen Listen- oder Blobwert"
|
||||||
|
|
||||||
|
msgid "E972: Blob value does not have the right number of bytes"
|
||||||
|
msgstr "E972: Blobwert hat nicht die richtige Anzahl an Bytes"
|
||||||
|
|
||||||
msgid "E710: List value has more items than target"
|
msgid "E710: List value has more items than target"
|
||||||
msgstr "E710: Listenwert hat mehr Eintr<74>ge als das Ziel."
|
msgstr "E710: Listenwert hat mehr Eintr<74>ge als das Ziel."
|
||||||
@@ -549,6 +673,9 @@ msgstr "E109: Fehlender ':' nach '?'"
|
|||||||
msgid "E804: Cannot use '%' with Float"
|
msgid "E804: Cannot use '%' with Float"
|
||||||
msgstr "E804: Kann '%' mit Floats benutzen."
|
msgstr "E804: Kann '%' mit Floats benutzen."
|
||||||
|
|
||||||
|
msgid "E973: Blob literal should have an even number of hex characters"
|
||||||
|
msgstr "E973: Blob-Literal sollte eine gerade Anzahl von Hex-Zeichen haben"
|
||||||
|
|
||||||
msgid "E110: Missing ')'"
|
msgid "E110: Missing ')'"
|
||||||
msgstr "E110: Fehlendes ')'"
|
msgstr "E110: Fehlendes ')'"
|
||||||
|
|
||||||
@@ -600,6 +727,9 @@ msgstr "E910: Job als Zahl verwendet."
|
|||||||
msgid "E913: Using a Channel as a Number"
|
msgid "E913: Using a Channel as a Number"
|
||||||
msgstr "E913: Channel als Zahl verwendet."
|
msgstr "E913: Channel als Zahl verwendet."
|
||||||
|
|
||||||
|
msgid "E974: Using a Blob as a Number"
|
||||||
|
msgstr "E974: Blob als Zahl verwendet."
|
||||||
|
|
||||||
msgid "E891: Using a Funcref as a Float"
|
msgid "E891: Using a Funcref as a Float"
|
||||||
msgstr "E891: Funktionsreferenz als Float verwendet."
|
msgstr "E891: Funktionsreferenz als Float verwendet."
|
||||||
|
|
||||||
@@ -616,10 +746,13 @@ msgid "E907: Using a special value as a Float"
|
|||||||
msgstr "E907: Benutze Spezialvariable als Float."
|
msgstr "E907: Benutze Spezialvariable als Float."
|
||||||
|
|
||||||
msgid "E911: Using a Job as a Float"
|
msgid "E911: Using a Job as a Float"
|
||||||
msgstr "E911: Benutzte Job als Float."
|
msgstr "E911: Job als Float verwendet"
|
||||||
|
|
||||||
msgid "E914: Using a Channel as a Float"
|
msgid "E914: Using a Channel as a Float"
|
||||||
msgstr "E914: Channel als Float verwendet."
|
msgstr "E914: Channel als Float verwendet"
|
||||||
|
|
||||||
|
msgid "E975: Using a Blob as a Float"
|
||||||
|
msgstr "E975: Blob als Float verwendet"
|
||||||
|
|
||||||
msgid "E729: using Funcref as a String"
|
msgid "E729: using Funcref as a String"
|
||||||
msgstr "E729: Funktionsreferenz als String verwendet"
|
msgstr "E729: Funktionsreferenz als String verwendet"
|
||||||
@@ -630,6 +763,9 @@ msgstr "E730: Liste als String verwendet"
|
|||||||
msgid "E731: using Dictionary as a String"
|
msgid "E731: using Dictionary as a String"
|
||||||
msgstr "E731: Dictionary als String verwendet"
|
msgstr "E731: Dictionary als String verwendet"
|
||||||
|
|
||||||
|
msgid "E976: using Blob as a String"
|
||||||
|
msgstr "E976: Blob als String verwendet"
|
||||||
|
|
||||||
msgid "E908: using an invalid value as a String"
|
msgid "E908: using an invalid value as a String"
|
||||||
msgstr "E908: Ung<6E>ltiger Wert als String verwendet."
|
msgstr "E908: Ung<6E>ltiger Wert als String verwendet."
|
||||||
|
|
||||||
@@ -681,8 +817,11 @@ msgstr ""
|
|||||||
msgid " line "
|
msgid " line "
|
||||||
msgstr " Zeile "
|
msgstr " Zeile "
|
||||||
|
|
||||||
|
msgid "E977: Can only compare Blob with Blob"
|
||||||
|
msgstr "E977: Kann nur einen Blob mit einem Blob vergleichen"
|
||||||
|
|
||||||
msgid "E691: Can only compare List with List"
|
msgid "E691: Can only compare List with List"
|
||||||
msgstr "E691: Kann nur eine Liste mit einer Liste vergleichen."
|
msgstr "E691: Kann nur eine Liste mit einer Liste vergleichen"
|
||||||
|
|
||||||
msgid "E692: Invalid operation for List"
|
msgid "E692: Invalid operation for List"
|
||||||
msgstr "E692: Unzul<75>ssige Operation f<>r Listen"
|
msgstr "E692: Unzul<75>ssige Operation f<>r Listen"
|
||||||
@@ -706,6 +845,10 @@ msgstr "filter() Argument"
|
|||||||
msgid "E686: Argument of %s must be a List"
|
msgid "E686: Argument of %s must be a List"
|
||||||
msgstr "E686: Argument von %s muss eine Liste sein."
|
msgstr "E686: Argument von %s muss eine Liste sein."
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E899: Argument of %s must be a List or Blob"
|
||||||
|
msgstr "E899: Argument von %s muss eine Liste oder ein Blob sein."
|
||||||
|
|
||||||
msgid "E928: String required"
|
msgid "E928: String required"
|
||||||
msgstr "E928: String wird ben<65>tigt."
|
msgstr "E928: String wird ben<65>tigt."
|
||||||
|
|
||||||
@@ -715,12 +858,19 @@ msgstr "E808: Zahl oder Float ben
|
|||||||
msgid "add() argument"
|
msgid "add() argument"
|
||||||
msgstr "add() Argument"
|
msgstr "add() Argument"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E158: Invalid buffer name: %s"
|
||||||
|
msgstr "E158: ung<6E>ltige Puffernummer: %s"
|
||||||
|
|
||||||
msgid "E785: complete() can only be used in Insert mode"
|
msgid "E785: complete() can only be used in Insert mode"
|
||||||
msgstr "E785: complete() kann nur im Einf<6E>ge-Modus verwendet werden."
|
msgstr "E785: complete() kann nur im Einf<6E>ge-Modus verwendet werden."
|
||||||
|
|
||||||
msgid "&Ok"
|
msgid "&Ok"
|
||||||
msgstr "&Ok"
|
msgstr "&Ok"
|
||||||
|
|
||||||
|
msgid "E980: lowlevel input not supported"
|
||||||
|
msgstr "E980: Low-Level Eingabe wird nicht unterst<73>tzt"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "+-%s%3ld line: "
|
msgid "+-%s%3ld line: "
|
||||||
msgid_plural "+-%s%3ld lines: "
|
msgid_plural "+-%s%3ld lines: "
|
||||||
@@ -765,8 +915,8 @@ msgid "E957: Invalid window number"
|
|||||||
msgstr "E957: Ung<6E>ltige Fensternummer"
|
msgstr "E957: Ung<6E>ltige Fensternummer"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E798: ID is reserved for \":match\": %ld"
|
msgid "E798: ID is reserved for \":match\": %d"
|
||||||
msgstr "E798: ID ist f<>r \":match\" reserviert: %ld"
|
msgstr "E798: ID ist f<>r \":match\" reserviert: %d"
|
||||||
|
|
||||||
msgid "E726: Stride is zero"
|
msgid "E726: Stride is zero"
|
||||||
msgstr "E726: Stride ist Null"
|
msgstr "E726: Stride ist Null"
|
||||||
@@ -1111,51 +1261,6 @@ msgstr "E154: Doppelter Tag \"%s\" in der Datei %s/%s"
|
|||||||
msgid "E150: Not a directory: %s"
|
msgid "E150: Not a directory: %s"
|
||||||
msgstr "E150: Kein Verzeichnis: %s"
|
msgstr "E150: Kein Verzeichnis: %s"
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "E160: Unknown sign command: %s"
|
|
||||||
msgstr "E160: Unbekannter \"sign\"-Befehl: %s"
|
|
||||||
|
|
||||||
msgid "E156: Missing sign name"
|
|
||||||
msgstr "E156: Name des Zeichens fehlt"
|
|
||||||
|
|
||||||
msgid "E612: Too many signs defined"
|
|
||||||
msgstr "E612: Zu viele Zeichen definiert"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "E239: Invalid sign text: %s"
|
|
||||||
msgstr "E239: Ung<6E>ltiger Text f<>r ein Zeichen: %s"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "E155: Unknown sign: %s"
|
|
||||||
msgstr "E155: Unbekanntes Zeichen: %s"
|
|
||||||
|
|
||||||
msgid "E159: Missing sign number"
|
|
||||||
msgstr "E159: Fehlende Zeichennummer"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "E158: Invalid buffer name: %s"
|
|
||||||
msgstr "E158: ung<6E>ltige Puffernummer: %s"
|
|
||||||
|
|
||||||
msgid "E934: Cannot jump to a buffer that does not have a name"
|
|
||||||
msgstr "E934: Kann nicht zu einem Puffer ohne Namen springen."
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "E157: Invalid sign ID: %ld"
|
|
||||||
msgstr "E157: Ung<6E>ltige Zeichen-ID: %ld"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "E885: Not possible to change sign %s"
|
|
||||||
msgstr "E885: Nicht m<>glich Zeichen %s zu <20>ndern."
|
|
||||||
|
|
||||||
msgid " (NOT FOUND)"
|
|
||||||
msgstr " (NICHT GEFUNDEN)"
|
|
||||||
|
|
||||||
msgid " (not supported)"
|
|
||||||
msgstr " (nicht unterst<73>tzt)"
|
|
||||||
|
|
||||||
msgid "[Deleted]"
|
|
||||||
msgstr "[Gel<65>scht]"
|
|
||||||
|
|
||||||
msgid "No old files"
|
msgid "No old files"
|
||||||
msgstr "Keine Alt-Dateien"
|
msgstr "Keine Alt-Dateien"
|
||||||
|
|
||||||
@@ -1371,10 +1476,10 @@ msgstr[0] "%d weitere Datei zum Editieren. Trotzdem beenden?"
|
|||||||
msgstr[1] "%d weitere Dateien zum Editieren. Trotzdem beenden?"
|
msgstr[1] "%d weitere Dateien zum Editieren. Trotzdem beenden?"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E173: %ld more file to edit"
|
msgid "E173: %d more file to edit"
|
||||||
msgid_plural "E173: %ld more files to edit"
|
msgid_plural "E173: %d more files to edit"
|
||||||
msgstr[0] "E173: %ld weitere Datei zum Editieren"
|
msgstr[0] "E173: %d weitere Datei zum Editieren"
|
||||||
msgstr[1] "E173: %ld weitere Dateien zum Editieren"
|
msgstr[1] "E173: %d weitere Dateien zum Editieren"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E174: Command already exists: add ! to replace it: %s"
|
msgid "E174: Command already exists: add ! to replace it: %s"
|
||||||
@@ -2042,67 +2147,6 @@ msgstr "E462: Konnte das Neuladen von \"%s\" nicht vorbereiten"
|
|||||||
msgid "E321: Could not reload \"%s\""
|
msgid "E321: Could not reload \"%s\""
|
||||||
msgstr "E321: \"%s\" konnte nicht neu geladen werden"
|
msgstr "E321: \"%s\" konnte nicht neu geladen werden"
|
||||||
|
|
||||||
msgid "--Deleted--"
|
|
||||||
msgstr "--gel<65>scht--"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "auto-removing autocommand: %s <buffer=%d>"
|
|
||||||
msgstr "Entferne Autokommando: %s <buffer=%d>"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "E367: No such group: \"%s\""
|
|
||||||
msgstr "E367: Keine solche Gruppe: \"%s\""
|
|
||||||
|
|
||||||
msgid "E936: Cannot delete the current group"
|
|
||||||
msgstr "E936: Kann die aktuelle Gruppe nicht l<>schen."
|
|
||||||
|
|
||||||
msgid "W19: Deleting augroup that is still in use"
|
|
||||||
msgstr "W19: L<>sche Autogruppe, die noch in Benutzung ist."
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "E215: Illegal character after *: %s"
|
|
||||||
msgstr "E215: Unzul<75>ssiges Zeichen nach *: %s"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "E216: No such event: %s"
|
|
||||||
msgstr "E216: Kein derartiges Ereignis: %s"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "E216: No such group or event: %s"
|
|
||||||
msgstr "E216: Keine solche Gruppe oder Ereignis: %s"
|
|
||||||
|
|
||||||
msgid ""
|
|
||||||
"\n"
|
|
||||||
"--- Autocommands ---"
|
|
||||||
msgstr ""
|
|
||||||
"\n"
|
|
||||||
"--- Autokommandos ---"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "E680: <buffer=%d>: invalid buffer number "
|
|
||||||
msgstr "E680: <buffer=%d>: Ung<6E>ltige Puffer Nummer "
|
|
||||||
|
|
||||||
msgid "E217: Can't execute autocommands for ALL events"
|
|
||||||
msgstr "E217: Autokommandos k<>nnen nicht f<>r ALL Ereignisse ausgef<65>hrt werden"
|
|
||||||
|
|
||||||
msgid "No matching autocommands"
|
|
||||||
msgstr "Keine passenden Autokommandos"
|
|
||||||
|
|
||||||
msgid "E218: autocommand nesting too deep"
|
|
||||||
msgstr "E218: Autokommando-Schachtelung zu tief"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "%s Autocommands for \"%s\""
|
|
||||||
msgstr "%s Autokommandos f<>r \"%s\""
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "Executing %s"
|
|
||||||
msgstr "Ausf<73>hrung von %s"
|
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "autocommand %s"
|
|
||||||
msgstr "Autokommando %s"
|
|
||||||
|
|
||||||
msgid "E219: Missing {."
|
msgid "E219: Missing {."
|
||||||
msgstr "E219: Es fehlt ein {."
|
msgstr "E219: Es fehlt ein {."
|
||||||
|
|
||||||
@@ -2393,20 +2437,20 @@ msgid "Font0: %s"
|
|||||||
msgstr "Schriftart 0: %s"
|
msgstr "Schriftart 0: %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Font1: %s"
|
msgid "Font%d: %s"
|
||||||
msgstr "Schriftart 1: %s"
|
msgstr "Schriftart %d: %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Font%ld width is not twice that of font0"
|
msgid "Font%d width is not twice that of font0"
|
||||||
msgstr "Breite der Schriftart%ld ist nicht doppelt so breit wie Schriftart0"
|
msgstr "Breite der Schriftart%d ist nicht doppelt so breit wie Schriftart0"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Font0 width: %ld"
|
msgid "Font0 width: %d"
|
||||||
msgstr "Schriftart 0 Breite: %ld"
|
msgstr "Schriftart 0 Breite: %d"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Font1 width: %ld"
|
msgid "Font%d width: %d"
|
||||||
msgstr "Schriftart 1 Breite: %ld"
|
msgstr "Schriftart %d Breite: %d"
|
||||||
|
|
||||||
msgid "Invalid font specification"
|
msgid "Invalid font specification"
|
||||||
msgstr "Ung<6E>ltige Spezifikation der Schriftart"
|
msgstr "Ung<6E>ltige Spezifikation der Schriftart"
|
||||||
@@ -2582,8 +2626,8 @@ msgid "Added cscope database %s"
|
|||||||
msgstr "csope Datenbank %s hinzugef<65>gt"
|
msgstr "csope Datenbank %s hinzugef<65>gt"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E262: error reading cscope connection %ld"
|
msgid "E262: error reading cscope connection %d"
|
||||||
msgstr "E262: Fehler beim Lesen der cscope Verbindung %ld"
|
msgstr "E262: Fehler beim Lesen der cscope Verbindung %d"
|
||||||
|
|
||||||
msgid "E561: unknown cscope search type"
|
msgid "E561: unknown cscope search type"
|
||||||
msgstr "E561: Unbekannter cscope Suchtyp"
|
msgstr "E561: Unbekannter cscope Suchtyp"
|
||||||
@@ -3921,9 +3965,6 @@ msgstr "E326: Zu viele Auslagerungsdateien gefunden"
|
|||||||
msgid "E327: Part of menu-item path is not sub-menu"
|
msgid "E327: Part of menu-item path is not sub-menu"
|
||||||
msgstr "E327: Teil des Men<65>punkt-Pfades muss zum Untermen<65> f<>hren"
|
msgstr "E327: Teil des Men<65>punkt-Pfades muss zum Untermen<65> f<>hren"
|
||||||
|
|
||||||
msgid "E328: Menu only exists in another mode"
|
|
||||||
msgstr "E328: Men<65> existiert nur in anderen Modi"
|
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E329: No menu \"%s\""
|
msgid "E329: No menu \"%s\""
|
||||||
msgstr "E329: Kein Men<65> \"%s\""
|
msgstr "E329: Kein Men<65> \"%s\""
|
||||||
@@ -4158,8 +4199,8 @@ msgstr ""
|
|||||||
"\""
|
"\""
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E658: NetBeans connection lost for buffer %ld"
|
msgid "E658: NetBeans connection lost for buffer %d"
|
||||||
msgstr "E658: Verbindung zu NetBeans f<>r Puffer %ld verloren"
|
msgstr "E658: Verbindung zu NetBeans f<>r Puffer %d verloren"
|
||||||
|
|
||||||
msgid "E838: netbeans is not supported with this GUI"
|
msgid "E838: netbeans is not supported with this GUI"
|
||||||
msgstr "E838: netbeans wird nicht unterst<73>tzt mit dieser GUI."
|
msgstr "E838: netbeans wird nicht unterst<73>tzt mit dieser GUI."
|
||||||
@@ -5110,6 +5151,66 @@ msgstr ""
|
|||||||
"# Letztes %sSuchmuster:\n"
|
"# Letztes %sSuchmuster:\n"
|
||||||
"~"
|
"~"
|
||||||
|
|
||||||
|
msgid "[Deleted]"
|
||||||
|
msgstr "[Gel<65>scht]"
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"\n"
|
||||||
|
"--- Signs ---"
|
||||||
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"--- Zeichen ---"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "Signs for %s:"
|
||||||
|
msgstr "Zeichen f<>r %s:"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid " group=%s"
|
||||||
|
msgstr " Gruppe=%s"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid " line=%ld id=%d%s name=%s priority=%d"
|
||||||
|
msgstr " Zeile=%ld id=%d%s Name=%s Priorit<69>t=%d"
|
||||||
|
|
||||||
|
msgid "E612: Too many signs defined"
|
||||||
|
msgstr "E612: Zu viele Zeichen definiert"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E239: Invalid sign text: %s"
|
||||||
|
msgstr "E239: Ung<6E>ltiger Text f<>r ein Zeichen: %s"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E155: Unknown sign: %s"
|
||||||
|
msgstr "E155: Unbekanntes Zeichen: %s"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E885: Not possible to change sign %s"
|
||||||
|
msgstr "E885: Nicht m<>glich Zeichen %s zu <20>ndern."
|
||||||
|
|
||||||
|
msgid "E159: Missing sign number"
|
||||||
|
msgstr "E159: Fehlende Zeichennummer"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E157: Invalid sign ID: %d"
|
||||||
|
msgstr "E157: Ung<6E>ltige Zeichen-ID: %d"
|
||||||
|
|
||||||
|
msgid "E934: Cannot jump to a buffer that does not have a name"
|
||||||
|
msgstr "E934: Kann nicht zu einem Puffer ohne Namen springen."
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E160: Unknown sign command: %s"
|
||||||
|
msgstr "E160: Unbekannter \"sign\"-Befehl: %s"
|
||||||
|
|
||||||
|
msgid "E156: Missing sign name"
|
||||||
|
msgstr "E156: Name des Zeichens fehlt"
|
||||||
|
|
||||||
|
msgid " (NOT FOUND)"
|
||||||
|
msgstr " (NICHT GEFUNDEN)"
|
||||||
|
|
||||||
|
msgid " (not supported)"
|
||||||
|
msgstr " (nicht unterst<73>tzt)"
|
||||||
|
|
||||||
msgid "E756: Spell checking is not enabled"
|
msgid "E756: Spell checking is not enabled"
|
||||||
msgstr "E756: Rechtschreibpr<70>fung ist nicht aktiviert"
|
msgstr "E756: Rechtschreibpr<70>fung ist nicht aktiviert"
|
||||||
|
|
||||||
@@ -5220,10 +5321,6 @@ msgstr "Umwandlungsfehler beim Wort in %s Zeile %d: %s"
|
|||||||
msgid "Conversion in %s not supported: from %s to %s"
|
msgid "Conversion in %s not supported: from %s to %s"
|
||||||
msgstr "Umwandlung in %s nicht unterst<73>tzt: von %s nach %s"
|
msgstr "Umwandlung in %s nicht unterst<73>tzt: von %s nach %s"
|
||||||
|
|
||||||
#, c-format
|
|
||||||
msgid "Conversion in %s not supported"
|
|
||||||
msgstr "Umwandlung in %s nicht unterst<73>tzt"
|
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Invalid value for FLAG in %s line %d: %s"
|
msgid "Invalid value for FLAG in %s line %d: %s"
|
||||||
msgstr "Ung<6E>ltiger Wert von FLAG in %s Zeile %d: %s"
|
msgstr "Ung<6E>ltiger Wert von FLAG in %s Zeile %d: %s"
|
||||||
@@ -5445,8 +5542,8 @@ msgid "E751: Output file name must not have region name"
|
|||||||
msgstr "E751: Ausgabedatei darf keinen Regionsnamen haben"
|
msgstr "E751: Ausgabedatei darf keinen Regionsnamen haben"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E754: Only up to %ld regions supported"
|
msgid "E754: Only up to %d regions supported"
|
||||||
msgstr "E754: Maximal %ld Regionen unterst<73>tzt"
|
msgstr "E754: Maximal %d Regionen unterst<73>tzt"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E755: Invalid region in %s"
|
msgid "E755: Invalid region in %s"
|
||||||
@@ -5463,8 +5560,8 @@ msgid "Done!"
|
|||||||
msgstr "Fertig!"
|
msgstr "Fertig!"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E765: 'spellfile' does not have %ld entries"
|
msgid "E765: 'spellfile' does not have %d entries"
|
||||||
msgstr "E765: 'spellfile' hat keine %ld Eintr<74>ge"
|
msgstr "E765: 'spellfile' hat nicht %d Eintr<74>ge"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Word '%.*s' removed from %s"
|
msgid "Word '%.*s' removed from %s"
|
||||||
@@ -5871,6 +5968,35 @@ msgstr "E953: Datei existiert bereits: %s"
|
|||||||
msgid "E955: Not a terminal buffer"
|
msgid "E955: Not a terminal buffer"
|
||||||
msgstr "E955: Kein Terminal Puffer"
|
msgstr "E955: Kein Terminal Puffer"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E971: Property type %s does not exist"
|
||||||
|
msgstr "E971: Der Eigenschaftstyp %s existiert nicht"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E964: Invalid column number: %ld"
|
||||||
|
msgstr "E964: Ung<6E>ltige Spaltennummer: %ld"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E966: Invalid line number: %ld"
|
||||||
|
msgstr "E966: Ung<6E>ltige Zeilennummer: %ld"
|
||||||
|
|
||||||
|
msgid "E965: missing property type name"
|
||||||
|
msgstr "E965: Fehlender Eigenschaften Typname"
|
||||||
|
|
||||||
|
msgid "E967: text property info corrupted"
|
||||||
|
msgstr "E967: Texteigenschaft-Info besch<63>digt"
|
||||||
|
|
||||||
|
msgid "E968: Need at least one of 'id' or 'type'"
|
||||||
|
msgstr "E968: Ben<65>tige entweder 'id' oder 'type'"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E969: Property type %s already defined"
|
||||||
|
msgstr "E969: Eigenschaftentyp %s bereits definiert"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E970: Unknown highlight group name: '%s'"
|
||||||
|
msgstr "E970: Unbekannter Highlighting-Gruppenname: '%s'"
|
||||||
|
|
||||||
msgid "new shell started\n"
|
msgid "new shell started\n"
|
||||||
msgstr "neue Shell gestartet\n"
|
msgstr "neue Shell gestartet\n"
|
||||||
|
|
||||||
@@ -6434,6 +6560,10 @@ msgstr "Men
|
|||||||
msgid "Already only one window"
|
msgid "Already only one window"
|
||||||
msgstr "Bereits nur ein Fenster"
|
msgstr "Bereits nur ein Fenster"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E92: Buffer %ld not found"
|
||||||
|
msgstr "E92: Puffer %ld nicht gefunden."
|
||||||
|
|
||||||
msgid "E441: There is no preview window"
|
msgid "E441: There is no preview window"
|
||||||
msgstr "E441: Es gibt kein Vorschaufenster"
|
msgstr "E441: Es gibt kein Vorschaufenster"
|
||||||
|
|
||||||
@@ -6467,23 +6597,23 @@ msgid "E447: Can't find file \"%s\" in path"
|
|||||||
msgstr "E447: Kann Datei \"%s\" nicht im Pfad finden"
|
msgstr "E447: Kann Datei \"%s\" nicht im Pfad finden"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E799: Invalid ID: %ld (must be greater than or equal to 1)"
|
msgid "E799: Invalid ID: %d (must be greater than or equal to 1)"
|
||||||
msgstr "E799: Ung<6E>ltige ID: %ld (muss gr<67><72>er gleich 1 sein)"
|
msgstr "E799: Ung<6E>ltige ID: %d (muss gr<67><72>er gleich 1 sein)"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E801: ID already taken: %ld"
|
msgid "E801: ID already taken: %d"
|
||||||
msgstr "E801: ID bereits benutzt: %ld"
|
msgstr "E801: ID bereits benutzt: %d"
|
||||||
|
|
||||||
msgid "List or number required"
|
msgid "List or number required"
|
||||||
msgstr "Liste oder Nummer erforderlich"
|
msgstr "Liste oder Nummer erforderlich"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E802: Invalid ID: %ld (must be greater than or equal to 1)"
|
msgid "E802: Invalid ID: %d (must be greater than or equal to 1)"
|
||||||
msgstr "E802: Ung<6E>ltige ID: %ld (muss gr<67><72>er gleich 1 sein)"
|
msgstr "E802: Ung<6E>ltige ID: %d (muss gr<67><72>er gleich 1 sein)"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E803: ID not found: %ld"
|
msgid "E803: ID not found: %d"
|
||||||
msgstr "E803: ID nicht gefunden: %ld"
|
msgstr "E803: ID nicht gefunden: %d"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E370: Could not load library %s"
|
msgid "E370: Could not load library %s"
|
||||||
@@ -6796,7 +6926,14 @@ msgstr "E715: Dictionary ben
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E684: list index out of range: %ld"
|
msgid "E684: list index out of range: %ld"
|
||||||
msgstr "E684: Index der Liste au<61>erhalb des zul<75>ssigen Bereichs: %ld."
|
msgstr "E684: Index der Liste au<61>erhalb des zul<75>ssigen Bereichs: %ld"
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E979: Blob index out of range: %ld"
|
||||||
|
msgstr "E979: Blobindex au<61>erhalb des Bereichs: %ld"
|
||||||
|
|
||||||
|
msgid "E978: Invalid operation for Blob"
|
||||||
|
msgstr "E978: Unzul<75>ssige Operation f<>r Blob"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E118: Too many arguments for function: %s"
|
msgid "E118: Too many arguments for function: %s"
|
||||||
@@ -6809,9 +6946,16 @@ msgstr "E716: Schl
|
|||||||
msgid "E714: List required"
|
msgid "E714: List required"
|
||||||
msgstr "E714: Liste ben<65>tigt"
|
msgstr "E714: Liste ben<65>tigt"
|
||||||
|
|
||||||
|
msgid "E897: List or Blob required"
|
||||||
|
msgstr "E897: Liste oder Blob ben<65>tigt"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "E712: Argument of %s must be a List or Dictionary"
|
msgid "E712: Argument of %s must be a List or Dictionary"
|
||||||
msgstr "E712: Argument von %s muss eine Liste oder ein W<EFBFBD>rterbuch sein."
|
msgstr "E712: Argument von %s muss eine Liste oder ein Dictionary sein."
|
||||||
|
|
||||||
|
#, c-format
|
||||||
|
msgid "E896: Argument of %s must be a List, Dictionary or Blob"
|
||||||
|
msgstr "E896: Argument von %s muss eine Liste, Dictionary oder ein Blob sein."
|
||||||
|
|
||||||
msgid "E47: Error while reading errorfile"
|
msgid "E47: Error while reading errorfile"
|
||||||
msgstr "E47: Fehler w<>hrend des Lesens der Fehlerdatei"
|
msgstr "E47: Fehler w<>hrend des Lesens der Fehlerdatei"
|
||||||
@@ -6915,6 +7059,9 @@ msgstr "E919: Verzeichnis nicht gefunden in '%s': \"%s\""
|
|||||||
msgid "E952: Autocommand caused recursive behavior"
|
msgid "E952: Autocommand caused recursive behavior"
|
||||||
msgstr "E952: Autokommando verursachten Rekursion"
|
msgstr "E952: Autokommando verursachten Rekursion"
|
||||||
|
|
||||||
|
msgid "E328: Menu only exists in another mode"
|
||||||
|
msgstr "E328: Men<65> existiert nur in anderen Modi"
|
||||||
|
|
||||||
msgid "search hit TOP, continuing at BOTTOM"
|
msgid "search hit TOP, continuing at BOTTOM"
|
||||||
msgstr "Suche erreichte den ANFANG und wurde am ENDE fortgesetzt"
|
msgstr "Suche erreichte den ANFANG und wurde am ENDE fortgesetzt"
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user