mirror of
https://github.com/neovim/neovim.git
synced 2025-12-15 19:05:40 +00:00
48
runtime/autoload/RstFold.vim
Normal file
48
runtime/autoload/RstFold.vim
Normal file
@@ -0,0 +1,48 @@
|
||||
" Author: Antony Lee <anntzer.lee@gmail.com>
|
||||
" Description: Helper functions for reStructuredText syntax folding
|
||||
" Last Modified: 2018-01-07
|
||||
|
||||
function s:CacheRstFold()
|
||||
let closure = {'header_types': {}, 'max_level': 0, 'levels': {}}
|
||||
function closure.Process(match) dict
|
||||
let curline = getcurpos()[1]
|
||||
if has_key(self.levels, curline - 1)
|
||||
" For over+under-lined headers, the regex will match both at the
|
||||
" overline and at the title itself; in that case, skip the second match.
|
||||
return
|
||||
endif
|
||||
let lines = split(a:match, '\n')
|
||||
let key = repeat(lines[-1][0], len(lines))
|
||||
if !has_key(self.header_types, key)
|
||||
let self.max_level += 1
|
||||
let self.header_types[key] = self.max_level
|
||||
endif
|
||||
let self.levels[curline] = self.header_types[key]
|
||||
endfunction
|
||||
let save_cursor = getcurpos()
|
||||
silent keeppatterns %s/\v^%(%(([=`:.'"~^_*+#-])\1+\n)?.{1,2}\n([=`:.'"~^_*+#-])\2+)|%(%(([=`:.''"~^_*+#-])\3{2,}\n)?.{3,}\n([=`:.''"~^_*+#-])\4{2,})$/\=closure.Process(submatch(0))/gn
|
||||
call setpos('.', save_cursor)
|
||||
let b:RstFoldCache = closure.levels
|
||||
endfunction
|
||||
|
||||
function RstFold#GetRstFold()
|
||||
if !has_key(b:, 'RstFoldCache')
|
||||
call s:CacheRstFold()
|
||||
endif
|
||||
if has_key(b:RstFoldCache, v:lnum)
|
||||
return '>' . b:RstFoldCache[v:lnum]
|
||||
else
|
||||
return '='
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function RstFold#GetRstFoldText()
|
||||
if !has_key(b:, 'RstFoldCache')
|
||||
call s:CacheRstFold()
|
||||
endif
|
||||
let indent = repeat(' ', b:RstFoldCache[v:foldstart] - 1)
|
||||
let thisline = getline(v:foldstart)
|
||||
" For over+under-lined headers, skip the overline.
|
||||
let text = thisline =~ '^\([=`:.''"~^_*+#-]\)\1\+$' ? getline(v:foldstart + 1) : thisline
|
||||
return indent . text
|
||||
endfunction
|
||||
@@ -4,7 +4,7 @@
|
||||
" plus CSS Speech Module <http://www.w3.org/TR/css3-speech/>
|
||||
" Maintainer: Kao, Wei-Ko(othree) ( othree AT gmail DOT com )
|
||||
" Original Author: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||
" Last Change: 2016 Jan 11
|
||||
" Last Change: 2018 Jul 02
|
||||
|
||||
let s:values = split("all additive-symbols align-content align-items align-self animation animation-delay animation-direction animation-duration animation-fill-mode animation-iteration-count animation-name animation-play-state animation-timing-function backface-visibility background background-attachment background-blend-mode background-clip background-color background-image background-origin background-position background-repeat background-size block-size border border-block-end border-block-end-color border-block-end-style border-block-end-width border-block-start border-block-start-color border-block-start-style border-block-start-width border-bottom border-bottom-color border-bottom-left-radius border-bottom-right-radius border-bottom-style border-bottom-width border-collapse border-color border-image border-image-outset border-image-repeat border-image-slice border-image-source border-image-width border-inline-end border-inline-end-color border-inline-end-style border-inline-end-width border-inline-start border-inline-start-color border-inline-start-style border-inline-start-width border-left border-left-color border-left-style border-left-width border-radius border-right border-right-color border-right-style border-right-width border-spacing border-style border-top border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width border-width bottom box-decoration-break box-shadow box-sizing break-after break-before break-inside caption-side clear clip clip-path color columns column-count column-fill column-gap column-rule column-rule-color column-rule-style column-rule-width column-span column-width content counter-increment counter-reset cue cue-before cue-after cursor direction display empty-cells fallback filter flex flex-basis flex-direction flex-flow flex-grow flex-shrink flex-wrap float font font-family font-feature-settings font-kerning font-language-override font-size font-size-adjust font-stretch font-style font-synthesis font-variant font-variant-alternates font-variant-caps font-variant-east-asian font-variant-ligatures font-variant-numeric font-variant-position font-weight grid grid-area grid-auto-columns grid-auto-flow grid-auto-position grid-auto-rows grid-column grid-column-start grid-column-end grid-row grid-row-start grid-row-end grid-template grid-template-areas grid-template-rows grid-template-columns height hyphens image-rendering image-resolution image-orientation ime-mode inline-size isolation justify-content left letter-spacing line-break line-height list-style list-style-image list-style-position list-style-type margin margin-block-end margin-block-start margin-bottom margin-inline-end margin-inline-start margin-left margin-right margin-top marks mask mask-type max-block-size max-height max-inline-size max-width max-zoom min-block-size min-height min-inline-size min-width min-zoom mix-blend-mode negative object-fit object-position offset-block-end offset-block-start offset-inline-end offset-inline-start opacity order orientation orphans outline outline-color outline-offset outline-style outline-width overflow overflow-wrap overflow-x overflow-y pad padding padding-block-end padding-block-start padding-bottom padding-inline-end padding-inline-start padding-left padding-right padding-top page-break-after page-break-before page-break-inside pause-before pause-after pause perspective perspective-origin pointer-events position prefix quotes range resize rest rest-before rest-after right ruby-align ruby-merge ruby-position scroll-behavior scroll-snap-coordinate scroll-snap-destination scroll-snap-points-x scroll-snap-points-y scroll-snap-type scroll-snap-type-x scroll-snap-type-y shape-image-threshold shape-margin shape-outside speak speak-as suffix symbols system table-layout tab-size text-align text-align-last text-combine-upright text-decoration text-decoration-color text-decoration-line text-emphasis text-emphasis-color text-emphasis-position text-emphasis-style text-indent text-orientation text-overflow text-rendering text-shadow text-transform text-underline-position top touch-action transform transform-box transform-origin transform-style transition transition-delay transition-duration transition-property transition-timing-function unicode-bidi unicode-range user-zoom vertical-align visibility voice-balance voice-duration voice-family voice-pitch voice-rate voice-range voice-stress voice-volume white-space widows width will-change word-break word-spacing word-wrap writing-mode z-index zoom")
|
||||
|
||||
@@ -19,7 +19,6 @@ function! csscomplete#CompleteCSS(findstart, base)
|
||||
while start >= 0 && line[start - 1] =~ '\%(\k\|-\)'
|
||||
let start -= 1
|
||||
endwhile
|
||||
let b:after = line[compl_begin :]
|
||||
let b:compl_context = line[0:compl_begin]
|
||||
return start
|
||||
endif
|
||||
@@ -37,11 +36,14 @@ function! csscomplete#CompleteCSS(findstart, base)
|
||||
" 5. if @ complete at-rule
|
||||
" 6. if ! complete important
|
||||
if exists("b:compl_context")
|
||||
let line = getline('.')
|
||||
let compl_begin = col('.') - 2
|
||||
let after = line[compl_begin:]
|
||||
let line = b:compl_context
|
||||
let after = b:after
|
||||
unlet! b:compl_context
|
||||
else
|
||||
let line = a:base
|
||||
let after = ''
|
||||
endif
|
||||
|
||||
let res = []
|
||||
|
||||
8
runtime/autoload/dist/ft.vim
vendored
8
runtime/autoload/dist/ft.vim
vendored
@@ -1,7 +1,7 @@
|
||||
" Vim functions for file type detection
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2017 Nov 11
|
||||
" Last Change: 2017 Dec 05
|
||||
|
||||
" These functions are moved here from runtime/filetype.vim to make startup
|
||||
" faster.
|
||||
@@ -618,7 +618,11 @@ func dist#ft#FTperl()
|
||||
setf perl
|
||||
return 1
|
||||
endif
|
||||
if search('^use\s\s*\k', 'nc', 30)
|
||||
let save_cursor = getpos('.')
|
||||
call cursor(1,1)
|
||||
let has_use = search('^use\s\s*\k', 'c', 30)
|
||||
call setpos('.', save_cursor)
|
||||
if has_use
|
||||
setf perl
|
||||
return 1
|
||||
endif
|
||||
|
||||
@@ -20,6 +20,7 @@ function! spellfile#LoadFile(lang)
|
||||
endif
|
||||
return
|
||||
endif
|
||||
let lang = tolower(a:lang)
|
||||
|
||||
" If the URL changes we try all files again.
|
||||
if s:spellfile_URL != g:spellfile_URL
|
||||
@@ -28,13 +29,13 @@ function! spellfile#LoadFile(lang)
|
||||
endif
|
||||
|
||||
" I will say this only once!
|
||||
if has_key(s:donedict, a:lang . &enc)
|
||||
if has_key(s:donedict, lang . &enc)
|
||||
if &verbose
|
||||
echomsg 'spellfile#LoadFile(): Tried this language/encoding before.'
|
||||
endif
|
||||
return
|
||||
endif
|
||||
let s:donedict[a:lang . &enc] = 1
|
||||
let s:donedict[lang . &enc] = 1
|
||||
|
||||
" Find spell directories we can write in.
|
||||
let [dirlist, dirchoices] = spellfile#GetDirChoices()
|
||||
@@ -94,7 +95,7 @@ function! spellfile#LoadFile(lang)
|
||||
let newbufnr = winbufnr(0)
|
||||
endif
|
||||
|
||||
let fname = a:lang . '.ascii.spl'
|
||||
let fname = lang . '.ascii.spl'
|
||||
echo 'Could not find it, trying ' . fname . '...'
|
||||
call spellfile#Nread(fname)
|
||||
if getline(2) !~ 'VIMspell'
|
||||
|
||||
111
runtime/autoload/xmlformat.vim
Normal file
111
runtime/autoload/xmlformat.vim
Normal file
@@ -0,0 +1,111 @@
|
||||
" Vim plugin for formatting XML
|
||||
" Last Change: Thu, 22 May 2018 21:26:55 +0100
|
||||
" Version: 0.1
|
||||
" Author: Christian Brabandt <cb@256bit.org>
|
||||
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
|
||||
" License: VIM License
|
||||
" Documentation: see :h xmlformat.txt (TODO!)
|
||||
" ---------------------------------------------------------------------
|
||||
" Load Once: {{{1
|
||||
if exists("g:loaded_xmlformat") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_xmlformat = 1
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Main function: Format the input {{{1
|
||||
func! xmlformat#Format()
|
||||
" only allow reformatting through the gq command
|
||||
" (e.g. Vim is in normal mode)
|
||||
if mode() != 'n'
|
||||
" do not fall back to internal formatting
|
||||
return 0
|
||||
endif
|
||||
let sw = shiftwidth()
|
||||
let prev = prevnonblank(v:lnum-1)
|
||||
let s:indent = indent(prev)/sw
|
||||
let result = []
|
||||
let lastitem = prev ? getline(prev) : ''
|
||||
let is_xml_decl = 0
|
||||
" split on `<`, but don't split on very first opening <
|
||||
for item in split(join(getline(v:lnum, (v:lnum + v:count - 1))), '.\@<=[>]\zs')
|
||||
if s:EndTag(item)
|
||||
let s:indent = s:DecreaseIndent()
|
||||
call add(result, s:Indent(item))
|
||||
elseif s:EmptyTag(lastitem)
|
||||
call add(result, s:Indent(item))
|
||||
elseif s:StartTag(lastitem) && s:IsTag(item)
|
||||
let s:indent += 1
|
||||
call add(result, s:Indent(item))
|
||||
else
|
||||
if !s:IsTag(item)
|
||||
" Simply split on '<'
|
||||
let t=split(item, '.<\@=\zs')
|
||||
let s:indent+=1
|
||||
call add(result, s:Indent(t[0]))
|
||||
let s:indent = s:DecreaseIndent()
|
||||
call add(result, s:Indent(t[1]))
|
||||
else
|
||||
call add(result, s:Indent(item))
|
||||
endif
|
||||
endif
|
||||
let lastitem = item
|
||||
endfor
|
||||
|
||||
if !empty(result)
|
||||
exe v:lnum. ",". (v:lnum + v:count - 1). 'd'
|
||||
call append(v:lnum - 1, result)
|
||||
" Might need to remove the last line, if it became empty because of the
|
||||
" append() call
|
||||
let last = v:lnum + len(result)
|
||||
if getline(last) is ''
|
||||
exe last. 'd'
|
||||
endif
|
||||
endif
|
||||
|
||||
" do not run internal formatter!
|
||||
return 0
|
||||
endfunc
|
||||
" Check if given tag is XML Declaration header {{{1
|
||||
func! s:IsXMLDecl(tag)
|
||||
return a:tag =~? '^\s*<?xml\s\?\%(version="[^"]*"\)\?\s\?\%(encoding="[^"]*"\)\? ?>\s*$'
|
||||
endfunc
|
||||
" Return tag indented by current level {{{1
|
||||
func! s:Indent(item)
|
||||
return repeat(' ', shiftwidth()*s:indent). s:Trim(a:item)
|
||||
endfu
|
||||
" Return item trimmed from leading whitespace {{{1
|
||||
func! s:Trim(item)
|
||||
if exists('*trim')
|
||||
return trim(a:item)
|
||||
else
|
||||
return matchstr(a:item, '\S\+.*')
|
||||
endif
|
||||
endfunc
|
||||
" Check if tag is a new opening tag <tag> {{{1
|
||||
func! s:StartTag(tag)
|
||||
return a:tag =~? '^\s*<[^/?]'
|
||||
endfunc
|
||||
" Remove one level of indentation {{{1
|
||||
func! s:DecreaseIndent()
|
||||
return (s:indent > 0 ? s:indent - 1 : 0)
|
||||
endfunc
|
||||
" Check if tag is a closing tag </tag> {{{1
|
||||
func! s:EndTag(tag)
|
||||
return a:tag =~? '^\s*</'
|
||||
endfunc
|
||||
" Check that the tag is actually a tag and not {{{1
|
||||
" something like "foobar</foobar>"
|
||||
func! s:IsTag(tag)
|
||||
return s:Trim(a:tag)[0] == '<'
|
||||
endfunc
|
||||
" Check if tag is empty <tag/> {{{1
|
||||
func! s:EmptyTag(tag)
|
||||
return a:tag =~ '/>\s*$'
|
||||
endfunc
|
||||
" Restoration And Modelines: {{{1
|
||||
let &cpo= s:keepcpo
|
||||
unlet s:keepcpo
|
||||
" Modeline {{{1
|
||||
" vim: fdm=marker fdl=0 ts=2 et sw=0 sts=-1
|
||||
@@ -313,4 +313,4 @@ There is one known minor bug,
|
||||
|
||||
No other bugs are known to exist.
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -20,7 +20,7 @@ files matching *.c. You can also use autocommands to implement advanced
|
||||
features, such as editing compressed files (see |gzip-example|). The usual
|
||||
place to put autocommands is in your vimrc file.
|
||||
|
||||
*E203* *E204* *E143* *E855* *E937*
|
||||
*E203* *E204* *E143* *E855* *E937* *E952*
|
||||
WARNING: Using autocommands is very powerful, and may lead to unexpected side
|
||||
effects. Be careful not to destroy your text.
|
||||
- It's a good idea to do some testing on an expendable copy of a file first.
|
||||
@@ -44,6 +44,8 @@ effects. Be careful not to destroy your text.
|
||||
Add {cmd} to the list of commands that Vim will
|
||||
execute automatically on {event} for a file matching
|
||||
{pat} |autocmd-patterns|.
|
||||
Note: A quote character is seen as argument to the
|
||||
:autocmd and won't start a comment.
|
||||
Vim always adds the {cmd} after existing autocommands,
|
||||
so that the autocommands execute in the order in which
|
||||
they were given. See |autocmd-nested| for [nested].
|
||||
@@ -79,7 +81,8 @@ will appear twice. To avoid this, define your autocommands in a group, so
|
||||
that you can easily clear them: >
|
||||
|
||||
augroup vimrc
|
||||
autocmd! " Remove all vimrc autocommands
|
||||
" Remove all vimrc autocommands
|
||||
autocmd!
|
||||
au BufNewFile,BufRead *.html so <sfile>:h/html.vim
|
||||
augroup END
|
||||
|
||||
@@ -133,6 +136,8 @@ prompt. When one command outputs two messages this can happen anyway.
|
||||
plugins, syntax highlighting, etc.
|
||||
|
||||
:au[tocmd]! [group] Remove ALL autocommands.
|
||||
Note: a quote will be seen as argument to the :autocmd
|
||||
and won't start a comment.
|
||||
Warning: You should normally not do this without a
|
||||
group, it breaks plugins, syntax highlighting, etc.
|
||||
|
||||
@@ -313,6 +318,7 @@ Name triggered by ~
|
||||
|TabNew| when creating a new tab page
|
||||
|TabNewEntered| after entering a new tab page
|
||||
|TabClosed| after closing a tab page
|
||||
|CmdlineChanged| after a change was made to the command-line text
|
||||
|CmdlineEnter| after entering cmdline mode
|
||||
|CmdlineLeave| before leaving cmdline mode
|
||||
|CmdwinEnter| after entering the command-line window
|
||||
@@ -332,6 +338,7 @@ Name triggered by ~
|
||||
|TextChangedP| after a change was made to the text in Insert mode
|
||||
when popup menu visible
|
||||
|
||||
|ColorSchemePre| before loading a color scheme
|
||||
|ColorScheme| after loading a color scheme
|
||||
|
||||
|RemoteReply| a reply from a server Vim was received
|
||||
@@ -513,6 +520,10 @@ CmdUndefined When a user command is used but it isn't
|
||||
command is defined. An alternative is to
|
||||
always define the user command and have it
|
||||
invoke an autoloaded function. See |autoload|.
|
||||
*CmdlineChanged*
|
||||
CmdlineChanged After a change was made to the text in the
|
||||
command line. Be careful not to mess up
|
||||
the command line, it may cause Vim to lock up.
|
||||
*CmdlineEnter*
|
||||
CmdlineEnter After moving the cursor to the command line,
|
||||
where the user can type a command or search
|
||||
@@ -559,6 +570,10 @@ ColorScheme After loading a color scheme. |:colorscheme|
|
||||
set, and <amatch> for the new colorscheme
|
||||
name.
|
||||
|
||||
*ColorSchemePre*
|
||||
ColorSchemePre Before loading a color scheme. |:colorscheme|
|
||||
Useful to setup removing things added by a
|
||||
color scheme, before another one is loaded.
|
||||
|
||||
*CompleteDone*
|
||||
CompleteDone After Insert mode completion is done. Either
|
||||
@@ -651,7 +666,10 @@ FileChangedRO Before making the first change to a read-only
|
||||
ExitPre When using `:quit`, `:wq` in a way it makes
|
||||
Vim exit, or using `:qall`, just after
|
||||
|QuitPre|. Can be used to close any
|
||||
non-essential window.
|
||||
non-essential window. Exiting may still be
|
||||
cancelled if there is a modified buffer that
|
||||
isn't automatically saved, use |VimLeavePre|
|
||||
for really exiting.
|
||||
*FileChangedShell*
|
||||
FileChangedShell When Vim notices that the modification time of
|
||||
a file has changed since editing started.
|
||||
@@ -936,6 +954,7 @@ SwapExists Detected an existing swap file when starting
|
||||
It is not allowed to change to another buffer,
|
||||
change a buffer name or change directory
|
||||
here.
|
||||
{only available with the +eval feature}
|
||||
*Syntax*
|
||||
Syntax When the 'syntax' option has been set. The
|
||||
pattern is matched against the syntax name.
|
||||
@@ -996,6 +1015,10 @@ TextChangedP After a change was made to the text in the
|
||||
User Never executed automatically. To be used for
|
||||
autocommands that are only executed with
|
||||
":doautocmd".
|
||||
Note that when `:doautocmd User MyEvent` is
|
||||
used while there are no matching autocommands,
|
||||
you will get an error. If you don't want
|
||||
that, define a dummy autocommand yourself.
|
||||
*UserGettingBored*
|
||||
UserGettingBored When the user presses the same key 42 times.
|
||||
Just kidding! :-)
|
||||
@@ -1044,9 +1067,10 @@ WinEnter After entering another window. Not done for
|
||||
If the window is for another buffer, Vim
|
||||
executes the BufEnter autocommands after the
|
||||
WinEnter autocommands.
|
||||
Note: When using ":split fname" the WinEnter
|
||||
event is triggered after the split but before
|
||||
the file "fname" is loaded.
|
||||
Note: For split and tabpage commands the
|
||||
WinEnter event is triggered after the split
|
||||
or tab command but before the file is loaded.
|
||||
|
||||
*WinLeave*
|
||||
WinLeave Before leaving a window. If the window to be
|
||||
entered next is for a different buffer, Vim
|
||||
@@ -1356,7 +1380,7 @@ Careful: '[ and '] change when using commands that change the buffer.
|
||||
In commands which expect a file name, you can use "<afile>" for the file name
|
||||
that is being read |:<afile>| (you can also use "%" for the current file
|
||||
name). "<abuf>" can be used for the buffer number of the currently effective
|
||||
buffer. This also works for buffers that doesn't have a name. But it doesn't
|
||||
buffer. This also works for buffers that don't have a name. But it doesn't
|
||||
work for files without a buffer (e.g., with ":r file").
|
||||
|
||||
*gzip-example*
|
||||
|
||||
@@ -99,7 +99,7 @@ is an error when 'cpoptions' includes the 'E' flag.
|
||||
J Join [count] lines, with a minimum of two lines.
|
||||
Remove the indent and insert up to two spaces (see
|
||||
below). Fails when on the last line of the buffer.
|
||||
If [count] is too big it is reduce to the number of
|
||||
If [count] is too big it is reduced to the number of
|
||||
lines available.
|
||||
|
||||
*v_J*
|
||||
@@ -416,7 +416,7 @@ This depends on the 'nrformats' option:
|
||||
|
||||
For decimals a leading negative sign is considered for incrementing or
|
||||
decrementing, for binary, octal and hex values, it won't be considered. To
|
||||
ignore the sign Visually select the number before using CTRL-A or CTRL-X.
|
||||
ignore the sign Visually select the number before using CTRL-A or CTRL-X.
|
||||
|
||||
For numbers with leading zeros (including all octal and hexadecimal numbers),
|
||||
Vim preserves the number of characters in the number when possible. CTRL-A on
|
||||
@@ -501,6 +501,7 @@ If the 'shiftround' option is on, the indent is rounded to a multiple of
|
||||
If the 'smartindent' option is on, or 'cindent' is on and 'cinkeys' contains
|
||||
'#' with a zero value, shift right does not affect lines starting with '#'
|
||||
(these are supposed to be C preprocessor lines that must stay in column 1).
|
||||
This can be changed with the 'cino' option, see |cino-#|.
|
||||
|
||||
When the 'expandtab' option is off (this is the default) Vim uses <Tab>s as
|
||||
much as possible to make the indent. You can use ">><<" to replace an indent
|
||||
@@ -1371,6 +1372,55 @@ to the name of an external program for Vim to use for text formatting. The
|
||||
'textwidth' and other options have no effect on formatting by an external
|
||||
program.
|
||||
|
||||
*format-formatexpr*
|
||||
The 'formatexpr' option can be set to a Vim script function that performs
|
||||
reformatting of the buffer. This should usually happen in an |ftplugin|,
|
||||
since formatting is highly dependent on the type of file. It makes
|
||||
sense to use an |autoload| script, so the corresponding script is only loaded
|
||||
when actually needed and the script should be called <filetype>format.vim.
|
||||
|
||||
For example, the XML filetype plugin distributed with Vim in the $VIMRUNTIME
|
||||
directory, sets the 'formatexpr' option to: >
|
||||
|
||||
setlocal formatexpr=xmlformat#Format()
|
||||
|
||||
That means, you will find the corresponding script, defining the
|
||||
xmlformat#Format() function, in the directory:
|
||||
`$VIMRUNTIME/autoload/xmlformat.vim`
|
||||
|
||||
Here is an example script that removes trailing whitespace from the selected
|
||||
text. Put it in your autoload directory, e.g. ~/.vim/autoload/format.vim: >
|
||||
|
||||
func! format#Format()
|
||||
" only reformat on explicit gq command
|
||||
if mode() != 'n'
|
||||
" fall back to Vims internal reformatting
|
||||
return 1
|
||||
endif
|
||||
let lines = getline(v:lnum, v:lnum + v:count - 1)
|
||||
call map(lines, {key, val -> substitute(val, '\s\+$', '', 'g')})
|
||||
call setline('.', lines)
|
||||
|
||||
" do not run internal formatter!
|
||||
return 0
|
||||
endfunc
|
||||
|
||||
You can then enable the formatting by executing: >
|
||||
setlocal formatexpr=format#Format()
|
||||
|
||||
Note: this function explicitly returns non-zero when called from insert mode
|
||||
(which basically means, text is inserted beyond the 'textwidth' limit). This
|
||||
causes Vim to fall back to reformat the text by using the internal formatter.
|
||||
|
||||
However, if the |gq| command is used to reformat the text, the function
|
||||
will receive the selected lines, trim trailing whitespace from those lines and
|
||||
put them back in place. If you are going to split single lines into multiple
|
||||
lines, be careful not to overwrite anything.
|
||||
|
||||
If you want to allow reformatting of text from insert or replace mode, one has
|
||||
to be very careful, because the function might be called recursively. For
|
||||
debugging it helps to set the 'debug' option.
|
||||
|
||||
*right-justify*
|
||||
There is no command in Vim to right justify text. You can do it with
|
||||
an external command, like "par" (e.g.: "!}par" to format until the end of the
|
||||
@@ -1753,4 +1803,4 @@ The sorting can be interrupted, but if you interrupt it too late in the
|
||||
process you may end up with duplicated lines. This also depends on the system
|
||||
library function used.
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -378,10 +378,13 @@ CTRL-D List names that match the pattern in front of the cursor.
|
||||
match is inserted. After the last match, the first is used
|
||||
again (wrap around).
|
||||
The behavior can be changed with the 'wildmode' option.
|
||||
*c_<S-Tab>*
|
||||
<S-Tab> Like 'wildchar' or <Tab>, but begin with the last match and
|
||||
then go to the previous match.
|
||||
*c_CTRL-N*
|
||||
CTRL-N After using 'wildchar' which got multiple matches, go to next
|
||||
match. Otherwise recall more recent command-line from history.
|
||||
<S-Tab> *c_CTRL-P* *c_<S-Tab>*
|
||||
*c_CTRL-P*
|
||||
CTRL-P After using 'wildchar' which got multiple matches, go to
|
||||
previous match. Otherwise recall older command-line from
|
||||
history.
|
||||
@@ -841,7 +844,8 @@ These modifiers can be given, in this order:
|
||||
directory.
|
||||
:. Reduce file name to be relative to current directory, if
|
||||
possible. File name is unmodified if it is not below the
|
||||
current directory.
|
||||
current directory, but on MS-Windows the drive is removed if
|
||||
it is the current drive.
|
||||
For maximum shortness, use ":~:.".
|
||||
:h Head of the file name (the last component and any separators
|
||||
removed). Cannot be used with :e, :r or :t.
|
||||
@@ -1105,4 +1109,4 @@ The character used for the pattern indicates the type of command-line:
|
||||
@ string for |input()|
|
||||
- text for |:insert| or |:append|
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -170,4 +170,4 @@ Visual C++ 2005 Express Edition can be downloaded for free from:
|
||||
http://msdn.microsoft.com/vstudio/express/visualC/default.aspx
|
||||
|
||||
=========================================================================
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -265,4 +265,4 @@ External UIs are expected to implement these common features:
|
||||
this event.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -372,12 +372,16 @@ Example (this does almost the same as 'diffexpr' being empty): >
|
||||
endif
|
||||
silent execute "!diff -a --binary " . opt . v:fname_in . " " . v:fname_new .
|
||||
\ " > " . v:fname_out
|
||||
redraw!
|
||||
endfunction
|
||||
|
||||
The "-a" argument is used to force comparing the files as text, comparing as
|
||||
binaries isn't useful. The "--binary" argument makes the files read in binary
|
||||
mode, so that a CTRL-Z doesn't end the text on DOS.
|
||||
|
||||
The `redraw!` command may not be needed, depending on whether executing a
|
||||
shell command shows something on the display or not.
|
||||
|
||||
*E810* *E97*
|
||||
Vim will do a test if the diff output looks alright. If it doesn't, you will
|
||||
get an error message. Possible causes:
|
||||
@@ -429,4 +433,4 @@ evaluating 'patchexpr'. This hopefully avoids that files in the current
|
||||
directory are accidentally patched. Vim will also delete files starting with
|
||||
v:fname_in and ending in ".rej" and ".orig".
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -1484,4 +1484,4 @@ char digraph hex dec official name ~
|
||||
ſt ft FB05 64261 LATIN SMALL LIGATURE LONG S T
|
||||
st st FB06 64262 LATIN SMALL LIGATURE ST
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -376,6 +376,15 @@ On Unix and a few other systems you can also use backticks for the file name
|
||||
argument, for example: >
|
||||
:next `find . -name ver\\*.c -print`
|
||||
:view `ls -t *.patch \| head -n1`
|
||||
Vim will run the command in backticks using the 'shell' and use the standard
|
||||
output as argument for the given Vim command (error messages from the shell
|
||||
command will be discarded).
|
||||
To see what shell command Vim is running, set the 'verbose' option to 4. When
|
||||
the shell command returns a non-zero exit code, an error message will be
|
||||
displayed and the Vim command will be aborted. To avoid this make the shell
|
||||
always return zero like so: >
|
||||
:next `find . -name ver\\*.c -print \|\| true`
|
||||
|
||||
The backslashes before the star are required to prevent the shell from
|
||||
expanding "ver*.c" prior to execution of the find program. The backslash
|
||||
before the shell pipe symbol "|" prevents Vim from parsing it as command
|
||||
@@ -824,8 +833,8 @@ flag is used for the ":substitute" command to avoid an error for files where
|
||||
Note: When the 'write' option is off, you are not able to write any file.
|
||||
|
||||
*:w* *:write*
|
||||
*E502* *E503* *E504* *E505*
|
||||
*E512* *E514* *E667* *E796*
|
||||
*E502* *E503* *E504* *E505*
|
||||
*E512* *E514* *E667* *E796* *E949*
|
||||
:w[rite] [++opt] Write the whole buffer to the current file. This is
|
||||
the normal way to save changes to a file. It fails
|
||||
when the 'readonly' option is set or when there is
|
||||
@@ -881,6 +890,9 @@ used, for example, when the write fails and you want to try again later with
|
||||
":w #". This can be switched off by removing the 'A' flag from the
|
||||
'cpoptions' option.
|
||||
|
||||
Note that the 'fsync' option matters here. If it's set it may make writes
|
||||
slower (but safer).
|
||||
|
||||
*:sav* *:saveas*
|
||||
:sav[eas][!] [++opt] {file}
|
||||
Save the current buffer under the name {file} and set
|
||||
@@ -1542,4 +1554,4 @@ There are three different types of searching:
|
||||
currently work with 'path' items that contain a URL or use the double star
|
||||
with depth limiter (/usr/**2) or upward search (;) notations.
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -2101,6 +2101,7 @@ gettabvar({nr}, {varname} [, {def}])
|
||||
gettabwinvar({tabnr}, {winnr}, {name} [, {def}])
|
||||
any {name} in {winnr} in tab page {tabnr}
|
||||
getwininfo([{winid}]) List list of windows
|
||||
getwinpos([{timeout}]) List X and Y coord in pixels of the Vim window
|
||||
getwinposx() Number X coord in pixels of GUI Vim window
|
||||
getwinposy() Number Y coord in pixels of GUI Vim window
|
||||
getwinvar({nr}, {varname} [, {def}])
|
||||
@@ -2194,6 +2195,8 @@ msgpackdump({list}) List dump a list of objects to msgpack
|
||||
msgpackparse({list}) List parse msgpack to a list of objects
|
||||
nextnonblank({lnum}) Number line nr of non-blank line >= {lnum}
|
||||
nr2char({expr}[, {utf8}]) String single char with ASCII/UTF8 value {expr}
|
||||
option_restore({list}) none restore options saved by option_save()
|
||||
option_save({list}) List save options values
|
||||
nvim_...({args}...) any call nvim |api| functions
|
||||
or({expr}, {expr}) Number bitwise OR
|
||||
pathshorten({expr}) String shorten directory names in a path
|
||||
@@ -2336,7 +2339,7 @@ tolower({expr}) String the String {expr} switched to lowercase
|
||||
toupper({expr}) String the String {expr} switched to uppercase
|
||||
tr({src}, {fromstr}, {tostr}) String translate chars of {src} in {fromstr}
|
||||
to chars in {tostr}
|
||||
trim({text}[, {mask}]) String trim characters in {mask} from {text}
|
||||
trim({text} [, {mask}]) String trim characters in {mask} from {text}
|
||||
trunc({expr}) Float truncate Float {expr}
|
||||
type({name}) Number type of variable {name}
|
||||
undofile({name}) String undo file name for {name}
|
||||
@@ -2611,6 +2614,8 @@ bufexists({expr}) *bufexists()*
|
||||
The result is a Number, which is |TRUE| if a buffer called
|
||||
{expr} exists.
|
||||
If the {expr} argument is a number, buffer numbers are used.
|
||||
Number zero is the alternate buffer for the current window.
|
||||
|
||||
If the {expr} argument is a string it must match a buffer name
|
||||
exactly. The name can be:
|
||||
- Relative to the current directory.
|
||||
@@ -3235,6 +3240,7 @@ executable({expr}) *executable()*
|
||||
1 exists
|
||||
0 does not exist
|
||||
-1 not implemented on this system
|
||||
|exepath()| can be used to get the full path of an executable.
|
||||
|
||||
execute({command} [, {silent}]) *execute()*
|
||||
Execute {command} and capture its output.
|
||||
@@ -3884,7 +3890,7 @@ getbufinfo([{dict}])
|
||||
endfor
|
||||
<
|
||||
To get buffer-local options use: >
|
||||
getbufvar({bufnr}, '&')
|
||||
getbufvar({bufnr}, '&option_name')
|
||||
|
||||
<
|
||||
*getbufline()*
|
||||
@@ -4310,6 +4316,7 @@ getqflist([{what}]) *getqflist()*
|
||||
list item is a dictionary with these entries:
|
||||
bufnr number of buffer that has the file name, use
|
||||
bufname() to get the name
|
||||
module module name
|
||||
lnum line number in the buffer (first line is 1)
|
||||
col column number (first column is 1)
|
||||
vcol |TRUE|: "col" is visual column
|
||||
@@ -4334,51 +4341,63 @@ getqflist([{what}]) *getqflist()*
|
||||
If the optional {what} dictionary argument is supplied, then
|
||||
returns only the items listed in {what} as a dictionary. The
|
||||
following string items are supported in {what}:
|
||||
context get the context stored with |setqflist()|
|
||||
changedtick get the total number of changes made
|
||||
to the list |quickfix-changedtick|
|
||||
context get the |quickfix-context|
|
||||
efm errorformat to use when parsing "lines". If
|
||||
not present, then the 'errorformat' option
|
||||
value is used.
|
||||
id get information for the quickfix list with
|
||||
|quickfix-ID|; zero means the id for the
|
||||
current list or the list specified by "nr"
|
||||
idx index of the current entry in the list
|
||||
items quickfix list entries
|
||||
lines use 'errorformat' to extract items from a list
|
||||
of lines and return the resulting entries.
|
||||
Only a |List| type is accepted. The current
|
||||
quickfix list is not modified.
|
||||
lines parse a list of lines using 'efm' and return
|
||||
the resulting entries. Only a |List| type is
|
||||
accepted. The current quickfix list is not
|
||||
modified. See |quickfix-parse|.
|
||||
nr get information for this quickfix list; zero
|
||||
means the current quickfix list and "$" means
|
||||
the last quickfix list
|
||||
title get the list title
|
||||
winid get the |window-ID| (if opened)
|
||||
size number of entries in the quickfix list
|
||||
title get the list title |quickfix-title|
|
||||
winid get the quickfix |window-ID|
|
||||
all all of the above quickfix properties
|
||||
Non-string items in {what} are ignored.
|
||||
Non-string items in {what} are ignored. To get the value of a
|
||||
particular item, set it to zero.
|
||||
If "nr" is not present then the current quickfix list is used.
|
||||
If both "nr" and a non-zero "id" are specified, then the list
|
||||
specified by "id" is used.
|
||||
To get the number of lists in the quickfix stack, set 'nr' to
|
||||
'$' in {what}. The 'nr' value in the returned dictionary
|
||||
To get the number of lists in the quickfix stack, set "nr" to
|
||||
"$" in {what}. The "nr" value in the returned dictionary
|
||||
contains the quickfix stack size.
|
||||
When 'text' is specified, all the other items are ignored. The
|
||||
returned dictionary contains the entry 'items' with the list
|
||||
of entries.
|
||||
In case of error processing {what}, an empty dictionary is
|
||||
returned.
|
||||
When "lines" is specified, all the other items except "efm"
|
||||
are ignored. The returned dictionary contains the entry
|
||||
"items" with the list of entries.
|
||||
|
||||
The returned dictionary contains the following entries:
|
||||
context context information stored with |setqflist()|
|
||||
id quickfix list ID |quickfix-ID|
|
||||
items quickfix list entries
|
||||
nr quickfix list number
|
||||
title quickfix list title text
|
||||
winid quickfix |window-ID| (if opened)
|
||||
changedtick total number of changes made to the
|
||||
list |quickfix-changedtick|
|
||||
context quickfix list context. See |quickfix-context|
|
||||
If not present, set to "".
|
||||
id quickfix list ID |quickfix-ID|. If not
|
||||
present, set to 0.
|
||||
idx index of the current entry in the list. If not
|
||||
present, set to 0.
|
||||
items quickfix list entries. If not present, set to
|
||||
an empty list.
|
||||
nr quickfix list number. If not present, set to 0
|
||||
size number of entries in the quickfix list. If not
|
||||
present, set to 0.
|
||||
title quickfix list title text. If not present, set
|
||||
to "".
|
||||
winid quickfix |window-ID|. If not present, set to 0
|
||||
|
||||
Examples: >
|
||||
Examples (See also |getqflist-examples|): >
|
||||
:echo getqflist({'all': 1})
|
||||
:echo getqflist({'nr': 2, 'title': 1})
|
||||
:echo getqflist({'lines' : ["F1:10:L10"]})
|
||||
<
|
||||
|
||||
getreg([{regname} [, 1 [, {list}]]]) *getreg()*
|
||||
The result is a String, which is the contents of register
|
||||
{regname}. Example: >
|
||||
@@ -4457,6 +4476,9 @@ gettabwinvar({tabnr}, {winnr}, {varname} [, {def}]) *gettabwinvar()*
|
||||
:let list_is_on = gettabwinvar(1, 2, '&list')
|
||||
:echo "myvar = " . gettabwinvar(3, 1, 'myvar')
|
||||
<
|
||||
To obtain all window-local variables use: >
|
||||
gettabwinvar({tabnr}, {winnr}, '&')
|
||||
|
||||
*getwinposx()*
|
||||
getwinposx() The result is a Number, which is the X coordinate in pixels of
|
||||
the left hand side of the GUI Vim window. The result will be
|
||||
@@ -4482,22 +4504,19 @@ getwininfo([{winid}]) *getwininfo()*
|
||||
Each List item is a Dictionary with the following entries:
|
||||
bufnr number of buffer in the window
|
||||
height window height (excluding winbar)
|
||||
winbar 1 if the window has a toolbar, 0
|
||||
otherwise
|
||||
loclist 1 if showing a location list
|
||||
quickfix 1 if quickfix or location list window
|
||||
tabnr tab page number
|
||||
variables a reference to the dictionary with
|
||||
window-local variables
|
||||
width window width
|
||||
winbar 1 if the window has a toolbar, 0
|
||||
otherwise
|
||||
wincol leftmost screen column of the window
|
||||
winid |window-ID|
|
||||
winnr window number
|
||||
winrow topmost screen column of the window
|
||||
|
||||
To obtain all window-local variables use: >
|
||||
gettabwinvar({tabnr}, {winnr}, '&')
|
||||
|
||||
getwinvar({winnr}, {varname} [, {def}]) *getwinvar()*
|
||||
Like |gettabwinvar()| for the current tabpage.
|
||||
Examples: >
|
||||
@@ -5340,7 +5359,8 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
|
||||
listing.
|
||||
|
||||
When there is no mapping for {name}, an empty String is
|
||||
returned.
|
||||
returned. When the mapping for {name} is empty, then "<Nop>"
|
||||
is returned.
|
||||
|
||||
The {name} can have special key names, like in the ":map"
|
||||
command.
|
||||
@@ -5407,9 +5427,10 @@ mapcheck({name} [, {mode} [, {abbr}]]) *mapcheck()*
|
||||
mapping that matches with {name}, while maparg() only finds a
|
||||
mapping for {name} exactly.
|
||||
When there is no mapping that starts with {name}, an empty
|
||||
String is returned. If there is one, the rhs of that mapping
|
||||
String is returned. If there is one, the RHS of that mapping
|
||||
is returned. If there are several mappings that start with
|
||||
{name}, the rhs of one of them is returned.
|
||||
{name}, the RHS of one of them is returned. This will be
|
||||
"<Nop>" if the RHS is empty.
|
||||
The mappings local to the current buffer are checked first,
|
||||
then the global mappings.
|
||||
This function can be used to check if a mapping can be added
|
||||
@@ -5565,8 +5586,6 @@ matchaddpos({group}, {pos} [, {priority} [, {id} [, {dict}]]])
|
||||
< Matches added by |matchaddpos()| are returned by
|
||||
|getmatches()| with an entry "pos1", "pos2", etc., with the
|
||||
value a list like the {pos} item.
|
||||
These matches cannot be set via |setmatches()|, however they
|
||||
can still be deleted by |clearmatches()|.
|
||||
|
||||
matcharg({nr}) *matcharg()*
|
||||
Selects the {nr} match item, as set with a |:match|,
|
||||
@@ -6594,6 +6613,8 @@ searchpair({start}, {middle}, {end} [, {flags} [, {skip}
|
||||
When {skip} is omitted or empty, every match is accepted.
|
||||
When evaluating {skip} causes an error the search is aborted
|
||||
and -1 returned.
|
||||
{skip} can be a string, a lambda, a funcref or a partial.
|
||||
Anything else makes the function fail.
|
||||
|
||||
For {stopline} and {timeout} see |search()|.
|
||||
|
||||
@@ -6935,7 +6956,7 @@ setqflist({list} [, {action}[, {what}]]) *setqflist()*
|
||||
only the items listed in {what} are set. The first {list}
|
||||
argument is ignored. The following items can be specified in
|
||||
{what}:
|
||||
context any Vim type can be stored as a context
|
||||
context quickfix list context. See |quickfix-context|
|
||||
efm errorformat to use when parsing text from
|
||||
"lines". If this is not present, then the
|
||||
'errorformat' option value is used.
|
||||
@@ -6957,10 +6978,10 @@ setqflist({list} [, {action}[, {what}]]) *setqflist()*
|
||||
list is modified, "id" should be used instead of "nr" to
|
||||
specify the list.
|
||||
|
||||
Examples: >
|
||||
Examples (See also |setqflist-examples|): >
|
||||
:call setqflist([], 'r', {'title': 'My search'})
|
||||
:call setqflist([], 'r', {'nr': 2, 'title': 'Errors'})
|
||||
:call setqflist([], 'a', {'id':myid, 'lines':["F1:10:L10"]})
|
||||
:call setqflist([], 'a', {'id':qfid, 'lines':["F1:10:L10"]})
|
||||
<
|
||||
Returns zero for success, -1 for failure.
|
||||
|
||||
@@ -8007,7 +8028,7 @@ tr({src}, {fromstr}, {tostr}) *tr()*
|
||||
echo tr("<blob>", "<>", "{}")
|
||||
< returns "{blob}"
|
||||
|
||||
trim({text}[, {mask}]) *trim()*
|
||||
trim({text} [, {mask}]) *trim()*
|
||||
Return {text} as a String where any character in {mask} is
|
||||
removed from the beginning and end of {text}.
|
||||
If {mask} is not given, {mask} is all characters up to 0x20,
|
||||
@@ -8016,12 +8037,12 @@ trim({text}[, {mask}]) *trim()*
|
||||
This code deals with multibyte characters properly.
|
||||
|
||||
Examples: >
|
||||
echo trim(" \r\t\t\r RESERVE \t \t\n\x0B\x0B")."_TAIL"
|
||||
echo trim(" some text ")
|
||||
< returns "some text" >
|
||||
echo trim(" \r\t\t\r RESERVE \t\n\x0B\xA0") . "_TAIL"
|
||||
< returns "RESERVE_TAIL" >
|
||||
echo trim("needrmvRESERVEnnneeedddrrmmmmvv", "ednmrv")
|
||||
< returns "RESERVE" >
|
||||
echo trim("rm<blob1><blob2><any_chars>rrmm<blob1><blob2><blob2>", "rm<blob1><blob2>")
|
||||
< returns "any_chas"
|
||||
echo trim("rm<Xrm<>X>rrm", "rm<>")
|
||||
< returns "Xrm<>X" (characters in the middle are not removed)
|
||||
|
||||
trunc({expr}) *trunc()*
|
||||
Return the largest integral value with magnitude less than or
|
||||
@@ -8545,6 +8566,8 @@ visual Compiled with Visual mode.
|
||||
visualextra Compiled with extra Visual mode commands.
|
||||
|blockwise-operators|.
|
||||
vreplace Compiled with |gR| and |gr| commands.
|
||||
vtp Compiled for vcon support |+vtp| (check vcon to find
|
||||
out if it works in the current console)).
|
||||
wildignore Compiled with 'wildignore' option.
|
||||
wildmenu Compiled with 'wildmenu' option.
|
||||
win32 Windows version of Vim (32 or 64 bit).
|
||||
@@ -8769,8 +8792,7 @@ may be larger.
|
||||
It is also possible to define a function without any arguments. You must
|
||||
still supply the () then.
|
||||
|
||||
It is allowed to define another function inside a function
|
||||
body.
|
||||
It is allowed to define another function inside a function body.
|
||||
|
||||
*local-variables*
|
||||
Inside a function local variables can be used. These will disappear when the
|
||||
@@ -10691,7 +10713,7 @@ The sandbox is also used for the |:sandbox| command.
|
||||
|
||||
These items are not allowed in the sandbox:
|
||||
- changing the buffer text
|
||||
- defining or changing mapping, autocommands, functions, user commands
|
||||
- defining or changing mapping, autocommands, user commands
|
||||
- setting certain options (see |option-summary|)
|
||||
- setting certain v: variables (see |v:var|) *E794*
|
||||
- executing a shell command
|
||||
@@ -10713,6 +10735,7 @@ location. Insecure in this context are:
|
||||
- sourcing a .nvimrc or .exrc in the current directory
|
||||
- while executing in the sandbox
|
||||
- value coming from a modeline
|
||||
- executing a function that was defined in the sandbox
|
||||
|
||||
Note that when in the sandbox and saving an option value and restoring it, the
|
||||
option will still be marked as it was set in the sandbox.
|
||||
|
||||
@@ -205,4 +205,4 @@ changes made in the current line.
|
||||
|
||||
For more information about the bugs refer to rileft.txt.
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -273,6 +273,10 @@ then Vim will load all plugins in these directories and below:
|
||||
|
||||
Note that the last one is the value of $VIMRUNTIME which has been expanded.
|
||||
|
||||
Note that when using a plugin manager or |packages| many directories will be
|
||||
added to 'runtimepath'. These plugins each require their own directory, don't
|
||||
put them directly in ~/.vim/plugin.
|
||||
|
||||
What if it looks like your plugin is not being loaded? You can find out what
|
||||
happens when Vim starts up by using the |-V| argument: >
|
||||
|
||||
@@ -570,7 +574,7 @@ By default the following options are set, in accordance with PEP8: >
|
||||
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
|
||||
|
||||
To disable this behaviour, set the following variable in your vimrc: >
|
||||
|
||||
|
||||
let g:python_recommended_style = 0
|
||||
|
||||
|
||||
@@ -750,4 +754,23 @@ You can change the default by defining the variable g:tex_flavor to the format
|
||||
Currently no other formats are recognized.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
VIM *ft-vim-plugin*
|
||||
|
||||
The Vim filetype plugin defines mappings to move to the start and end of
|
||||
functions with [[ and ]]. Move around comments with ]" and [".
|
||||
|
||||
The mappings can be disabled with: >
|
||||
let g:no_vim_maps = 1
|
||||
|
||||
|
||||
ZIMBU *ft-zimbu-plugin*
|
||||
|
||||
The Zimbu filetype plugin defines mappings to move to the start and end of
|
||||
functions with [[ and ]].
|
||||
|
||||
The mappings can be disabled with: >
|
||||
let g:no_zimbu_maps = 1
|
||||
<
|
||||
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -595,4 +595,4 @@ used. Otherwise the values from the window where the buffer was edited last
|
||||
are used.
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -249,7 +249,7 @@ g:decada.Make_Command string
|
||||
External command used for |g:decada.Make()| (|'makeprg'|).
|
||||
|
||||
*g:decada.Error_Format*
|
||||
g:decada.Error_Format| string
|
||||
g:decada.Error_Format string
|
||||
Error format (|'errorformat'|).
|
||||
|
||||
==============================================================================
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
*ft_rust.txt* Filetype plugin for Rust
|
||||
*ft_rust.txt* For Vim version 8.1. Last change: 2017 Nov 02
|
||||
|
||||
This is documentation for the Rust filetype plugin.
|
||||
|
||||
==============================================================================
|
||||
CONTENTS *rust*
|
||||
@@ -234,4 +236,4 @@ It also has a few other mappings:
|
||||
Note: This binding is only available in MacVim.
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:sw=4:noet:ts=8:ft=help:norl:
|
||||
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -773,4 +773,4 @@ Setting the filetype back to Perl sets all the usual "perl" related items back
|
||||
as they were.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -71,7 +71,7 @@ and only the first one that is found is read.
|
||||
:winp[os]
|
||||
Display current position of the top left corner of the GUI vim
|
||||
window in pixels. Does not work in all versions.
|
||||
Also see |getwinposx()| and |getwinposy()|.
|
||||
Also see |getwinpos()|, |getwinposx()| and |getwinposy()|.
|
||||
|
||||
:winp[os] {X} {Y} *E466*
|
||||
Put the GUI vim window at the given {X} and {Y} coordinates.
|
||||
@@ -639,4 +639,4 @@ This creates a popup menu that doesn't exist on the main menu-bar.
|
||||
Note that a menu that starts with ']' will not be displayed.
|
||||
|
||||
|
||||
vim:tw=78:sw=4:ts=8:ft=help:norl:
|
||||
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -134,4 +134,4 @@ The result is that all Hebrew characters are displayed as ~x. To solve this
|
||||
problem, set isprint=@,128-255.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -182,4 +182,4 @@ will try to find help for it. Especially for options in single quotes, e.g.
|
||||
'hlsearch'.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
vim:tw=78:fo=tcq2:isk=!-~,^*,^\|,^\":ts=8:ft=help:norl:
|
||||
vim:tw=78:fo=tcq2:isk=!-~,^*,^\|,^\":ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -364,4 +364,4 @@ highlighting. So do these:
|
||||
|
||||
You can find the details in $VIMRUNTIME/syntax/help.vim
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -371,4 +371,4 @@ Cscope Home Page (http://cscope.sourceforge.net/): >
|
||||
\:vert scs find a <C-R>=expand("<cword>")<CR><CR>
|
||||
<
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -705,12 +705,31 @@ Raising SystemExit exception in python isn't endorsed way to quit vim, use: >
|
||||
You can test what Python version is available with: >
|
||||
if has('python')
|
||||
echo 'there is Python 2.x'
|
||||
elseif has('python3')
|
||||
endif
|
||||
if has('python3')
|
||||
echo 'there is Python 3.x'
|
||||
endif
|
||||
|
||||
Note however, that if Python 2 and 3 are both available, but not loaded,
|
||||
these has() calls will try to load them.
|
||||
|
||||
To avoid loading the dynamic library, only check if Vim was compiled with
|
||||
python support: >
|
||||
if has('python_compiled')
|
||||
echo 'compiled with Python 2.x support'
|
||||
if has('python_dynamic')
|
||||
echo 'Python 2.x dynamically loaded'
|
||||
endif
|
||||
endif
|
||||
if has('python3_compiled')
|
||||
echo 'compiled with Python 3.x support'
|
||||
if has('python3_dynamic')
|
||||
echo 'Python 3.x dynamically loaded'
|
||||
endif
|
||||
endif
|
||||
|
||||
This also tells you whether Python is dynamically loaded, which will fail if
|
||||
the runtime library cannot be found.
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -180,4 +180,4 @@ $curwin The current window object.
|
||||
$curbuf The current buffer object.
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -410,10 +410,10 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
*cino-(*
|
||||
(N When in unclosed parentheses, indent N characters from the line
|
||||
with the unclosed parentheses. Add a 'shiftwidth' for every
|
||||
unclosed parentheses. When N is 0 or the unclosed parentheses
|
||||
is the first non-white character in its line, line up with the
|
||||
next non-white character after the unclosed parentheses.
|
||||
(default 'shiftwidth' * 2).
|
||||
extra unclosed parentheses. When N is 0 or the unclosed
|
||||
parentheses is the first non-white character in its line, line
|
||||
up with the next non-white character after the unclosed
|
||||
parentheses. (default 'shiftwidth' * 2).
|
||||
|
||||
cino= cino=(0 >
|
||||
if (c1 && (c2 || if (c1 && (c2 ||
|
||||
@@ -424,7 +424,8 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
{ {
|
||||
<
|
||||
*cino-u*
|
||||
uN Same as (N, but for one level deeper. (default 'shiftwidth').
|
||||
uN Same as (N, but for one nesting level deeper.
|
||||
(default 'shiftwidth').
|
||||
|
||||
cino= cino=u2 >
|
||||
if (c123456789 if (c123456789
|
||||
@@ -902,6 +903,25 @@ In PHP braces are not required inside 'case/default' blocks therefore 'case:'
|
||||
and 'default:' are indented at the same level than the 'switch()' to avoid
|
||||
meaningless indentation. You can use the above option to return to the
|
||||
traditional way.
|
||||
-------------
|
||||
|
||||
*PHP_noArrowMatching*
|
||||
By default the indent script will indent multi-line chained calls by matching
|
||||
the position of the '->': >
|
||||
|
||||
$user_name_very_long->name()
|
||||
->age()
|
||||
->info();
|
||||
|
||||
You can revert to the classic way of indenting by setting this option to 1: >
|
||||
:let g:PHP_noArrowMatching = 1
|
||||
|
||||
You will obtain the following result: >
|
||||
|
||||
$user_name_very_long->name()
|
||||
->age()
|
||||
->info();
|
||||
|
||||
|
||||
|
||||
PYTHON *ft-python-indent*
|
||||
@@ -1132,4 +1152,4 @@ indent for a continuation line, a line that starts with a backslash: >
|
||||
Three times shiftwidth is the default value.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -944,7 +944,7 @@ tag command note action in Visual mode ~
|
||||
|v_i{| i{ same as iB
|
||||
|v_i}| i} same as iB
|
||||
|v_o| o move cursor to other corner of area
|
||||
|v_r| r 2 delete highlighted area and start insert
|
||||
|v_r| r 2 replace highlighted area with a character
|
||||
|v_s| s 2 delete highlighted area and start insert
|
||||
|v_u| u 2 make highlighted area lowercase
|
||||
|v_v| v make Visual mode characterwise or stop
|
||||
@@ -1615,4 +1615,4 @@ tag command action ~
|
||||
|:~| :~ repeat last ":substitute"
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -410,12 +410,12 @@ An example for using CTRL-G U: >
|
||||
inoremap ( ()<C-G>U<Left>
|
||||
|
||||
This makes it possible to use the cursor keys in Insert mode, without breaking
|
||||
the undo sequence and therefore using |.| (redo) will work as expected.
|
||||
Also entering a text like (with the "(" mapping from above): >
|
||||
the undo sequence and therefore using |.| (redo) will work as expected.
|
||||
Also entering a text like (with the "(" mapping from above):
|
||||
|
||||
Lorem ipsum (dolor
|
||||
|
||||
will be repeatable by the |.|to the expected
|
||||
will be repeatable by using |.| to the expected
|
||||
|
||||
Lorem ipsum (dolor)
|
||||
|
||||
@@ -1508,15 +1508,15 @@ that begin with the filetype, "php", in this case. For example these syntax
|
||||
groups are included by default with the PHP: phpEnvVar, phpIntVar,
|
||||
phpFunctions.
|
||||
|
||||
If you wish non-filetype syntax items to also be included, you can use a
|
||||
regular expression syntax (added in version 13.0 of autoload\syntaxcomplete.vim)
|
||||
to add items. Looking at the output from ":syntax list" while editing a PHP file
|
||||
I can see some of these entries: >
|
||||
If you wish non-filetype syntax items to also be included, you can use a
|
||||
regular expression syntax (added in version 13.0 of
|
||||
autoload/syntaxcomplete.vim) to add items. Looking at the output from
|
||||
":syntax list" while editing a PHP file I can see some of these entries: >
|
||||
htmlArg,htmlTag,htmlTagName,javaScriptStatement,javaScriptGlobalObjects
|
||||
|
||||
To pick up any JavaScript and HTML keyword syntax groups while editing a PHP
|
||||
file, you can use 3 different regexs, one for each language. Or you can
|
||||
simply restrict the include groups to a particular value, without using
|
||||
file, you can use 3 different regexs, one for each language. Or you can
|
||||
simply restrict the include groups to a particular value, without using
|
||||
a regex string: >
|
||||
let g:omni_syntax_group_include_php = 'php\w\+,javaScript\w\+,html\w\+'
|
||||
let g:omni_syntax_group_include_php = 'phpFunctions,phpMethods'
|
||||
@@ -1529,9 +1529,9 @@ highlight. These items will be available within the omni completion list.
|
||||
|
||||
Some people may find this list unwieldy or are only interested in certain
|
||||
items. There are two ways to prune this list (if necessary). If you find
|
||||
certain syntax groups you do not wish displayed you can use two different
|
||||
methods to identify these groups. The first specifically lists the syntax
|
||||
groups by name. The second uses a regular expression to identify both
|
||||
certain syntax groups you do not wish displayed you can use two different
|
||||
methods to identify these groups. The first specifically lists the syntax
|
||||
groups by name. The second uses a regular expression to identify both
|
||||
syntax groups. Simply add one the following to your vimrc: >
|
||||
let g:omni_syntax_group_exclude_php = 'phpCoreConstant,phpConstant'
|
||||
let g:omni_syntax_group_exclude_php = 'php\w*Constant'
|
||||
@@ -1554,22 +1554,22 @@ vimrc: >
|
||||
|
||||
For plugin developers, the plugin exposes a public function OmniSyntaxList.
|
||||
This function can be used to request a List of syntax items. When editing a
|
||||
SQL file (:e syntax.sql) you can use the ":syntax list" command to see the
|
||||
SQL file (:e syntax.sql) you can use the ":syntax list" command to see the
|
||||
various groups and syntax items. For example: >
|
||||
syntax list
|
||||
syntax list
|
||||
|
||||
Yields data similar to this: >
|
||||
sqlOperator xxx some prior all like and any escape exists in is not
|
||||
or intersect minus between distinct
|
||||
links to Operator
|
||||
sqlType xxx varbit varchar nvarchar bigint int uniqueidentifier
|
||||
date money long tinyint unsigned xml text smalldate
|
||||
double datetime nchar smallint numeric time bit char
|
||||
varbinary binary smallmoney
|
||||
image float integer timestamp real decimal
|
||||
Yields data similar to this:
|
||||
sqlOperator xxx some prior all like and any escape exists in is not ~
|
||||
or intersect minus between distinct ~
|
||||
links to Operator ~
|
||||
sqlType xxx varbit varchar nvarchar bigint int uniqueidentifier ~
|
||||
date money long tinyint unsigned xml text smalldate ~
|
||||
double datetime nchar smallint numeric time bit char ~
|
||||
varbinary binary smallmoney ~
|
||||
image float integer timestamp real decimal ~
|
||||
|
||||
There are two syntax groups listed here: sqlOperator and sqlType. To retrieve
|
||||
a List of syntax items you can call OmniSyntaxList a number of different
|
||||
a List of syntax items you can call OmniSyntaxList a number of different
|
||||
ways. To retrieve all syntax items regardless of syntax group: >
|
||||
echo OmniSyntaxList( [] )
|
||||
|
||||
@@ -1586,7 +1586,6 @@ From within a plugin, you would typically assign the output to a List: >
|
||||
let myKeywords = []
|
||||
let myKeywords = OmniSyntaxList( ['sqlKeyword'] )
|
||||
|
||||
|
||||
|
||||
SQL *ft-sql-omni*
|
||||
|
||||
@@ -1973,4 +1972,4 @@ self explanatory. Using the long or the short version depends on the
|
||||
[READ ERRORS] not all of the file could be read
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -559,9 +559,9 @@ Virtual Replace mode Virtual Replace mode is similar to Replace mode, but
|
||||
If the 'showmode' option is on "-- VREPLACE --" is
|
||||
shown at the bottom of the window.
|
||||
|
||||
Insert Normal mode Entered when CTRL-O given in Insert mode. This is
|
||||
like Normal mode, but after executing one command Vim
|
||||
returns to Insert mode.
|
||||
Insert Normal mode Entered when CTRL-O is typed in Insert mode (see
|
||||
|i_CTRL-O|). This is like Normal mode, but after
|
||||
executing one command Vim returns to Insert mode.
|
||||
If the 'showmode' option is on "-- (insert) --" is
|
||||
shown at the bottom of the window.
|
||||
|
||||
@@ -838,4 +838,4 @@ buffer lines logical lines window lines screen lines ~
|
||||
6. ~
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -866,7 +866,9 @@ an additional rule:
|
||||
full-id In front of the match is a non-keyword character, or this is where
|
||||
the line or insertion starts. Exception: When the abbreviation is
|
||||
only one character, it is not recognized if there is a non-keyword
|
||||
character in front of it, other than a space or a tab.
|
||||
character in front of it, other than a space or a tab. However, for
|
||||
the command line "'<,'>" (or any other marks) is ignored, as if the
|
||||
command line starts after it.
|
||||
|
||||
end-id In front of the match is a keyword character, or a space or a tab,
|
||||
or this is where the line or insertion starts.
|
||||
@@ -1487,4 +1489,4 @@ local to the script and use mappings local to the script. When the user
|
||||
invokes the user command, it will run in the context of the script it was
|
||||
defined in. This matters if |<SID>| is used in a command.
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -1185,4 +1185,4 @@ Contributions specifically for the multi-byte features by:
|
||||
Taro Muraoka <koron@tka.att.ne.jp>
|
||||
Yasuhiro Matsumoto <mattn@mail.goo.ne.jp>
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -69,7 +69,7 @@ See `:messages` above.
|
||||
LIST OF MESSAGES
|
||||
*E222* *E228* *E232* *E256* *E293* *E298* *E304* *E317*
|
||||
*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*
|
||||
*E323* *E341* *E473* *E570* *E685* >
|
||||
*E323* *E341* *E473* *E570* *E685* *E950* >
|
||||
Add to read buffer
|
||||
makemap: Illegal mode
|
||||
Cannot create BalloonEval with both message and callback
|
||||
@@ -90,6 +90,7 @@ LIST OF MESSAGES
|
||||
Internal error
|
||||
Internal error: {function}
|
||||
fatal error in cs_manage_matches
|
||||
Invalid count for del_bytes(): {N}
|
||||
|
||||
This is an internal error. If you can reproduce it, please send in a bug
|
||||
report. |bugs|
|
||||
@@ -843,4 +844,4 @@ The |g<| command can be used to see the last page of previous command output.
|
||||
This is especially useful if you accidentally typed <Space> at the hit-enter
|
||||
prompt.
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -203,4 +203,4 @@ a message adapt to language preferences of the user, >
|
||||
:endif
|
||||
<
|
||||
|
||||
vim:tw=78:sw=4:ts=8:ft=help:norl:
|
||||
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -986,12 +986,13 @@ These commands are not marks themselves, but jump to a mark:
|
||||
==============================================================================
|
||||
8. Jumps *jump-motions*
|
||||
|
||||
A "jump" is one of the following commands: "'", "`", "G", "/", "?", "n",
|
||||
"N", "%", "(", ")", "[[", "]]", "{", "}", ":s", ":tag", "L", "M", "H" and
|
||||
the commands that start editing a new file. If you make the cursor "jump"
|
||||
with one of these commands, the position of the cursor before the jump is
|
||||
A "jump" is a command that normally moves the cursor several lines away. If
|
||||
you make the cursor "jump" the position of the cursor before the jump is
|
||||
remembered. You can return to that position with the "''" and "``" command,
|
||||
unless the line containing that position was changed or deleted.
|
||||
unless the line containing that position was changed or deleted. The
|
||||
following commands are "jump" commands: "'", "`", "G", "/", "?", "n", "N",
|
||||
"%", "(", ")", "[[", "]]", "{", "}", ":s", ":tag", "L", "M", "H" and the
|
||||
commands that start editing a new file.
|
||||
|
||||
*CTRL-O*
|
||||
CTRL-O Go to [count] Older cursor position in jump list
|
||||
@@ -1117,7 +1118,7 @@ remembered.
|
||||
*:changes*
|
||||
:changes Print the change list. A ">" character indicates the
|
||||
current position. Just after a change it is below the
|
||||
newest entry, indicating that "g;" takes you to the
|
||||
newest entry, indicating that `g;` takes you to the
|
||||
newest entry position. The first column indicates the
|
||||
count needed to take you to this position. Example:
|
||||
|
||||
@@ -1127,8 +1128,8 @@ remembered.
|
||||
1 14 54 the latest changed line
|
||||
>
|
||||
|
||||
The "3g;" command takes you to line 9. Then the
|
||||
output of ":changes is:
|
||||
The `3g;` command takes you to line 9. Then the
|
||||
output of `:changes` is:
|
||||
|
||||
change line col text ~
|
||||
> 0 9 8 bla bla bla
|
||||
@@ -1294,4 +1295,4 @@ L To line [count] from bottom of window (default: Last
|
||||
position is in a status line, that window is made the
|
||||
active window and the cursor is not moved.
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -282,6 +282,14 @@ the "#" is under your left hand middle finger (search to the left and up) and
|
||||
the "*" is under your right hand middle finger (search to the right and down).
|
||||
(this depends on your keyboard layout though).
|
||||
|
||||
*E956*
|
||||
In very rare cases a regular expression is used recursively. This can happen
|
||||
when executing a pattern takes a long time and when checkig for messages on
|
||||
channels a callback is invoked that also uses a pattern or an autocommand is
|
||||
triggered. In most cases this should be fine, but if a pattern is in use when
|
||||
it's used again it fails. Usually this means there is something wrong with
|
||||
the pattern.
|
||||
|
||||
==============================================================================
|
||||
2. The definition of a pattern *search-pattern* *pattern* *[pattern]*
|
||||
*regular-expression* *regexp* *Pattern*
|
||||
@@ -888,7 +896,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
becomes invalid. Vim doesn't automatically update the matches.
|
||||
Similar to moving the cursor for "\%#" |/\%#|.
|
||||
|
||||
*/\%l* */\%>l* */\%<l*
|
||||
*/\%l* */\%>l* */\%<l* *E951*
|
||||
\%23l Matches in a specific line.
|
||||
\%<23l Matches above a specific line (lower line number).
|
||||
\%>23l Matches below a specific line (higher line number).
|
||||
@@ -1148,7 +1156,8 @@ x A single character, with no special meaning, matches itself
|
||||
- Matching with a collection can be slow, because each character in
|
||||
the text has to be compared with each character in the collection.
|
||||
Use one of the other atoms above when possible. Example: "\d" is
|
||||
much faster than "[0-9]" and matches the same characters.
|
||||
much faster than "[0-9]" and matches the same characters. However,
|
||||
the new |NFA| regexp engine deals with this better than the old one.
|
||||
|
||||
*/\%[]* *E69* *E70* *E369*
|
||||
\%[] A sequence of optionally matched atoms. This always matches.
|
||||
@@ -1390,4 +1399,4 @@ Finally, these constructs are unique to Perl:
|
||||
":2match" for another plugin.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -38,4 +38,4 @@ compression. Thus editing the patchmode file will not give you the automatic
|
||||
decompression. You have to rename the file if you want this.
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -4098,4 +4098,4 @@ netrw:
|
||||
|
||||
==============================================================================
|
||||
Modelines: {{{1
|
||||
vim:tw=78:ts=8:ft=help:norl:fdm=marker
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:fdm=marker
|
||||
|
||||
@@ -56,4 +56,4 @@ used. This plugin also helps to skip matches in comments. This is unrelated
|
||||
to the matchparen highlighting, they use a different mechanism.
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -108,4 +108,4 @@ If you don't like the release updating feature and don't want to answer
|
||||
|
||||
Good luck!!
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -148,4 +148,4 @@ Copyright 2005-2012: *tar-copyright*
|
||||
v1 (original) * Michael Toren (see http://michael.toren.net/code/)
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help
|
||||
vim:tw=78:ts=8:noet:ft=help
|
||||
|
||||
@@ -149,4 +149,4 @@ Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
|
||||
v1 Sep 15, 2005 * Initial release, had browsing, reading, and writing
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help:fdm=marker
|
||||
vim:tw=78:ts=8:noet:ft=help:fdm=marker
|
||||
|
||||
@@ -36,6 +36,8 @@ Note: If you have problems printing with |:hardcopy|, an alternative is to use
|
||||
'printexpr' through |v:cmdarg|. Otherwise [arguments]
|
||||
is ignored. 'printoptions' can be used to specify
|
||||
paper size, duplex, etc.
|
||||
Note: If you want PDF, there are tools such as
|
||||
"ps2pdf" that can convert the PostScript to PDF.
|
||||
|
||||
:[range]ha[rdcopy][!] >{filename}
|
||||
As above, but write the resulting PostScript in file
|
||||
@@ -729,4 +731,4 @@ to adjust the number of lines before a formfeed character to prevent
|
||||
accidental blank pages.
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -33,7 +33,7 @@ compiler (see |errorformat| below).
|
||||
|
||||
*quickfix-ID*
|
||||
Each quickfix list has a unique identifier called the quickfix ID and this
|
||||
number will not change within a Vim session. The getqflist() function can be
|
||||
number will not change within a Vim session. The |getqflist()| function can be
|
||||
used to get the identifier assigned to a list. There is also a quickfix list
|
||||
number which may change whenever more than ten lists are added to a quickfix
|
||||
stack.
|
||||
@@ -51,6 +51,14 @@ When a window with a location list is split, the new window gets a copy of the
|
||||
location list. When there are no longer any references to a location list,
|
||||
the location list is destroyed.
|
||||
|
||||
*quickfix-changedtick*
|
||||
Every quickfix and location list has a read-only changedtick variable that
|
||||
tracks the total number of changes made to the list. Every time the quickfix
|
||||
list is modified, this count is incremented. This can be used to perform an
|
||||
action only when the list has changed. The |getqflist()| and |getloclist()|
|
||||
functions can be used to query the current value of changedtick. You cannot
|
||||
change the changedtick variable.
|
||||
|
||||
The following quickfix commands can be used. The location list commands are
|
||||
similar to the quickfix commands, replacing the 'c' prefix in the quickfix
|
||||
command with 'l'.
|
||||
@@ -281,6 +289,10 @@ processing a quickfix or location list command, it will be aborted.
|
||||
from the last error backwards, -1 being the last error.
|
||||
The 'switchbuf' settings are respected when jumping
|
||||
to a buffer.
|
||||
The |:filter| command can be used to display only the
|
||||
quickfix entries matching a supplied pattern. The
|
||||
pattern is matched against the filename, module name,
|
||||
pattern and text of the entry.
|
||||
|
||||
:cl[ist] +{count} List the current and next {count} valid errors. This
|
||||
is similar to ":clist from from+count", where "from"
|
||||
@@ -299,8 +311,7 @@ processing a quickfix or location list command, it will be aborted.
|
||||
8386: ^ ~
|
||||
8387: symbol: method Fmainx() ~
|
||||
|
||||
*:lli* *:llist*
|
||||
:lli[st] [from] [, [to]]
|
||||
:lli[st] [from] [, [to]] *:lli* *:llist*
|
||||
Same as ":clist", except the location list for the
|
||||
current window is used instead of the quickfix list.
|
||||
|
||||
@@ -333,6 +344,51 @@ use this code: >
|
||||
au QuickfixCmdPost make call QfMakeConv()
|
||||
Another option is using 'makeencoding'.
|
||||
|
||||
*quickfix-title*
|
||||
Every quickfix and location list has a title. By default the title is set to
|
||||
the command that created the list. The |getqflist()| and |getloclist()|
|
||||
functions can be used to get the title of a quickfix and a location list
|
||||
respectively. The |setqflist()| and |setloclist()| functions can be used to
|
||||
modify the title of a quickfix and location list respectively. Examples: >
|
||||
call setqflist([], 'a', {'title' : 'Cmd output'})
|
||||
echo getqflist({'title' : 1})
|
||||
call setloclist(3, [], 'a', {'title' : 'Cmd output'})
|
||||
echo getloclist(3, {'title' : 1})
|
||||
<
|
||||
*quickfix-size*
|
||||
You can get the number of entries (size) in a quickfix and a location list
|
||||
using the |getqflist()| and |getloclist()| functions respectively. Examples: >
|
||||
echo getqflist({'size' : 1})
|
||||
echo getloclist(5, {'size' : 1})
|
||||
<
|
||||
*quickfix-context*
|
||||
Any Vim type can be associated as a context with a quickfix or location list.
|
||||
The |setqflist()| and the |setloclist()| functions can be used to associate a
|
||||
context with a quickfix and a location list respectively. The |getqflist()|
|
||||
and the |getloclist()| functions can be used to retrieve the context of a
|
||||
quickfix and a location list respectively. This is useful for a Vim plugin
|
||||
dealing with multiple quickfix/location lists.
|
||||
Examples: >
|
||||
|
||||
let somectx = {'name' : 'Vim', 'type' : 'Editor'}
|
||||
call setqflist([], 'a', {'context' : somectx})
|
||||
echo getqflist({'context' : 1})
|
||||
|
||||
let newctx = ['red', 'green', 'blue']
|
||||
call setloclist(2, [], 'a', {'id' : qfid, 'context' : newctx})
|
||||
echo getloclist(2, {'id' : qfid, 'context' : 1})
|
||||
<
|
||||
*quickfix-parse*
|
||||
You can parse a list of lines using 'errorformat' without creating or
|
||||
modifying a quickfix list using the |getqflist()| function. Examples: >
|
||||
echo getqflist({'lines' : ["F1:10:Line10", "F2:20:Line20"]})
|
||||
echo getqflist({'lines' : systemlist('grep -Hn quickfix *')})
|
||||
This returns a dictionary where the 'items' key contains the list of quickfix
|
||||
entries parsed from lines. The following shows how to use a custom
|
||||
'errorformat' to parse the lines without modifying the 'errorformat' option: >
|
||||
echo getqflist({'efm' : '%f#%l#%m', 'lines' : ['F1#10#Line']})
|
||||
<
|
||||
|
||||
EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
||||
*:cdo*
|
||||
:cdo[!] {cmd} Execute {cmd} in each valid entry in the quickfix list.
|
||||
@@ -358,8 +414,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
||||
autocommand event is disabled by adding it to
|
||||
'eventignore'. This considerably speeds up editing
|
||||
each buffer.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
{not in Vi}
|
||||
Also see |:bufdo|, |:tabdo|, |:argdo|, |:windo|,
|
||||
|:ldo|, |:cfdo| and |:lfdo|.
|
||||
|
||||
@@ -372,8 +427,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
||||
:{cmd}
|
||||
etc.
|
||||
< Otherwise it works the same as `:cdo`.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
{not in Vi}
|
||||
|
||||
*:ldo*
|
||||
:ld[o][!] {cmd} Execute {cmd} in each valid entry in the location list
|
||||
@@ -386,8 +440,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
||||
etc.
|
||||
< Only valid entries in the location list are used.
|
||||
Otherwise it works the same as `:cdo`.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
{not in Vi}
|
||||
|
||||
*:lfdo*
|
||||
:lfdo[!] {cmd} Execute {cmd} in each file in the location list for
|
||||
@@ -399,8 +452,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
||||
:{cmd}
|
||||
etc.
|
||||
< Otherwise it works the same as `:ldo`.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
{not in Vi}
|
||||
|
||||
=============================================================================
|
||||
2. The error window *quickfix-window*
|
||||
@@ -533,6 +585,117 @@ In all of the above cases, if the location list for the selected window is not
|
||||
yet set, then it is set to the location list displayed in the location list
|
||||
window.
|
||||
|
||||
*quickfix-window-ID*
|
||||
You can use the |getqflist()| and |getloclist()| functions to obtain the
|
||||
window ID of the quickfix window and location list window respectively (if
|
||||
present). Examples: >
|
||||
echo getqflist({'winid' : 1}).winid
|
||||
echo getloclist(2, {'winid' : 1}).winid
|
||||
<
|
||||
*getqflist-examples*
|
||||
The |getqflist()| and |getloclist()| functions can be used to get the various
|
||||
attributes of a quickfix and location list respectively. Some examples for
|
||||
using these functions are below:
|
||||
>
|
||||
" get the title of the current quickfix list
|
||||
:echo getqflist({'title' : 0}).title
|
||||
|
||||
" get the identifier of the current quickfix list
|
||||
:let qfid = getqflist({'id' : 0}).id
|
||||
|
||||
" get the identifier of the fourth quickfix list in the stack
|
||||
:let qfid = getqflist({'nr' : 4, 'id' : 0}).id
|
||||
|
||||
" check whether a quickfix list with a specific identifier exists
|
||||
:if getqflist({'id' : qfid}).id == qfid
|
||||
|
||||
" get the index of the current quickfix list in the stack
|
||||
:let qfnum = getqflist({'nr' : 0}).nr
|
||||
|
||||
" get the items of a quickfix list specified by an identifier
|
||||
:echo getqflist({'id' : qfid, 'items' : 0}).items
|
||||
|
||||
" get the number of entries in a quickfix list specified by an id
|
||||
:echo getqflist({'id' : qfid, 'size' : 0}).size
|
||||
|
||||
" get the context of the third quickfix list in the stack
|
||||
:echo getqflist({'nr' : 3, 'context' : 0}).context
|
||||
|
||||
" get the number of quickfix lists in the stack
|
||||
:echo getqflist({'nr' : '$'}).nr
|
||||
|
||||
" get the number of times the current quickfix list is changed
|
||||
:echo getqflist({'changedtick' : 0}).changedtick
|
||||
|
||||
" get the current entry in a quickfix list specified by an identifier
|
||||
:echo getqflist({'id' : qfid, 'idx' : 0}).idx
|
||||
|
||||
" get all the quickfix list attributes using an identifier
|
||||
:echo getqflist({'id' : qfid, 'all' : 0})
|
||||
|
||||
" parse text from a List of lines and return a quickfix list
|
||||
:let myList = ["a.java:10:L10", "b.java:20:L20"]
|
||||
:echo getqflist({'lines' : myList}).items
|
||||
|
||||
" parse text using a custom 'efm' and return a quickfix list
|
||||
:echo getqflist({'lines' : ['a.c#10#Line 10'], 'efm':'%f#%l#%m'}).items
|
||||
|
||||
" get the quickfix list window id
|
||||
:echo getqflist({'winid' : 0}).winid
|
||||
|
||||
" get the context of the current location list
|
||||
:echo getloclist(0, {'context' : 0}).context
|
||||
|
||||
" get the location list window id of the third window
|
||||
:echo getloclist(3, {'winid' : 0}).winid
|
||||
<
|
||||
*setqflist-examples*
|
||||
The |setqflist()| and |setloclist()| functions can be used to set the various
|
||||
attributes of a quickfix and location list respectively. Some examples for
|
||||
using these functions are below:
|
||||
>
|
||||
" create an empty quickfix list with a title and a context
|
||||
:let t = 'Search results'
|
||||
:let c = {'cmd' : 'grep'}
|
||||
:call setqflist([], ' ', {'title' : t, 'context' : c})
|
||||
|
||||
" set the title of the current quickfix list
|
||||
:call setqflist([], 'a', {'title' : 'Mytitle'})
|
||||
|
||||
" set the context of a quickfix list specified by an identifier
|
||||
:call setqflist([], 'a', {'id' : qfid, 'context' : {'val' : 100}})
|
||||
|
||||
" create a new quickfix list from a command output
|
||||
:call setqflist([], ' ', {'lines' : systemlist('grep -Hn main *.c')})
|
||||
|
||||
" parse text using a custom efm and add to a particular quickfix list
|
||||
:call setqflist([], 'a', {'id' : qfid,
|
||||
\ 'lines' : ["a.c#10#L10", "b.c#20#L20"], 'efm':'%f#%l#%m'})
|
||||
|
||||
" add items to the quickfix list specified by an identifier
|
||||
:let newItems = [{'filename' : 'a.txt', 'lnum' : 10, 'text' : "Apple"},
|
||||
\ {'filename' : 'b.txt', 'lnum' : 20, 'text' : "Orange"}]
|
||||
:call setqflist([], 'a', {'id' : qfid, 'items' : newItems})
|
||||
|
||||
" empty a quickfix list specified by an identifier
|
||||
:call setqflist([], 'r', {'id' : qfid, 'items' : []})
|
||||
|
||||
" free all the quickfix lists in the stack
|
||||
:call setqflist([], 'f')
|
||||
|
||||
" set the title of the fourth quickfix list
|
||||
:call setqflist([], 'a', {'nr' : 4, 'title' : 'SomeTitle'})
|
||||
|
||||
" create a new quickfix list at the end of the stack
|
||||
:call setqflist([], ' ', {'nr' : '$',
|
||||
\ 'lines' : systemlist('grep -Hn class *.java')})
|
||||
|
||||
" create a new location list from a command output
|
||||
:call setloclist(0, [], ' ', {'lines' : systemlist('grep -Hn main *.c')})
|
||||
|
||||
" replace the location list entries for the third window
|
||||
:call setloclist(3, [], 'r', {'items' : newItems})
|
||||
<
|
||||
=============================================================================
|
||||
3. Using more than one list of errors *quickfix-error-lists*
|
||||
|
||||
@@ -577,6 +740,14 @@ list, one newer list is overwritten. This is especially useful if you are
|
||||
browsing with ":grep" |grep|. If you want to keep the more recent error
|
||||
lists, use ":cnewer 99" first.
|
||||
|
||||
To get the number of lists in the quickfix and location list stack, you can
|
||||
use the |getqflist()| and |getloclist()| functions respectively with the list
|
||||
number set to the special value '$'. Examples: >
|
||||
echo getqflist({'nr' : '$'}).nr
|
||||
echo getloclist(3, {'nr' : '$'}).nr
|
||||
To get the number of the current list in the stack: >
|
||||
echo getqflist({'nr' : 0}).nr
|
||||
<
|
||||
=============================================================================
|
||||
4. Using :make *:make_makeprg*
|
||||
|
||||
@@ -1069,7 +1240,7 @@ or >
|
||||
to indicate the column of the error. This is to be used in a multi-line error
|
||||
message. See |errorformat-javac| for a useful example.
|
||||
|
||||
The "%s" conversion specifies the text to search for to locate the error line.
|
||||
The "%s" conversion specifies the text to search for, to locate the error line.
|
||||
The text is used as a literal string. The anchors "^" and "$" are added to
|
||||
the text to locate the error line exactly matching the search text and the
|
||||
text is prefixed with the "\V" atom to make it "very nomagic". The "%s"
|
||||
@@ -1338,6 +1509,22 @@ The backslashes before the pipe character are required to avoid it to be
|
||||
recognized as a command separator. The backslash before each space is
|
||||
required for the set command.
|
||||
|
||||
*cfilter-plugin* *Cfilter* *Lfilter*
|
||||
If you have too many matching messages, you can use the cfilter plugin to
|
||||
reduce the number of entries. Load the plugin with: >
|
||||
packadd cfilter
|
||||
|
||||
Then you can use these command: >
|
||||
:Cfilter[!] /{pat}/
|
||||
:Lfilter[!] /{pat}/
|
||||
|
||||
:Cfilter creates a new quickfix list from entries matching {pat} in the
|
||||
current quickfix list. Both the file name and the text of the entries are
|
||||
matched against {pat}. If ! is supplied, then entries not matching {pat} are
|
||||
used.
|
||||
|
||||
:Lfilter does the same as :Cfilter but operates on the current location list.
|
||||
|
||||
=============================================================================
|
||||
8. The directory stack *quickfix-directory-stack*
|
||||
|
||||
@@ -1575,4 +1762,4 @@ by Vim.
|
||||
|
||||
|
||||
|
||||
vim:noet:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -614,7 +614,8 @@ Short explanation of each option: *option-list*
|
||||
'backupext' 'bex' extension used for the backup file
|
||||
'backupskip' 'bsk' no backup for files that match these patterns
|
||||
'balloondelay' 'bdlay' delay in mS before a balloon may pop up
|
||||
'ballooneval' 'beval' switch on balloon evaluation
|
||||
'ballooneval' 'beval' switch on balloon evaluation in the GUI
|
||||
'balloonevalterm' 'bevalterm' switch on balloon evaluation in the terminal
|
||||
'balloonexpr' 'bexpr' expression to show in balloon
|
||||
'belloff' 'bo' do not ring the bell for these reasons
|
||||
'binary' 'bin' read/write/edit file in binary mode
|
||||
@@ -809,6 +810,7 @@ Short explanation of each option: *option-list*
|
||||
'printoptions' 'popt' controls the format of :hardcopy output
|
||||
'prompt' 'prompt' enable prompt in Ex mode
|
||||
'pumheight' 'ph' maximum height of the popup menu
|
||||
'pumwidth' 'pw' minimum width of the popup menu
|
||||
'pythondll' name of the Python 2 dynamic library
|
||||
'pythonthreedll' name of the Python 3 dynamic library
|
||||
'quoteescape' 'qe' escape characters used in a string
|
||||
@@ -906,6 +908,8 @@ Short explanation of each option: *option-list*
|
||||
'undoreload' 'ur' max nr of lines to save for undo on a buffer reload
|
||||
'updatecount' 'uc' after this many characters flush swap file
|
||||
'updatetime' 'ut' after this many milliseconds flush swap file
|
||||
'varsofttabstop' 'vsts' a list of number of spaces when typing <Tab>
|
||||
'vartabstop' 'vts' a list of number of spaces for <Tab>s
|
||||
'verbose' 'vbs' give informative messages
|
||||
'verbosefile' 'vfile' file to write messages in
|
||||
'viewdir' 'vdir' directory where to store files with :mkview
|
||||
@@ -1372,4 +1376,4 @@ Context-sensitive completion on the command-line:
|
||||
|zN| zN fold normal set 'foldenable'
|
||||
|zi| zi invert 'foldenable'
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -170,4 +170,4 @@ Once you are sure the recovery is ok delete the swap file. Otherwise, you
|
||||
will continue to get warning messages that the ".swp" file already exists.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -169,7 +169,8 @@ name on the 'VimRegistry' property on the root window.
|
||||
|
||||
A non GUI Vim with access to the X11 display (|xterm-clipboard| enabled), can
|
||||
also act as a command server if a server name is explicitly given with the
|
||||
--servername argument.
|
||||
--servername argument, or when Vim was build with the |+autoservername|
|
||||
feature.
|
||||
|
||||
An empty --servername argument will cause the command server to be disabled.
|
||||
|
||||
@@ -190,4 +191,4 @@ When using gvim, the --remote-wait only works properly this way: >
|
||||
|
||||
start /w gvim --remote-wait file.txt
|
||||
<
|
||||
vim:tw=78:sw=4:ts=8:ft=help:norl:
|
||||
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -226,6 +226,10 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
If the directory pack/*/opt/{name}/after exists it is
|
||||
added at the end of 'runtimepath'.
|
||||
|
||||
If loading packages from "pack/*/start" was skipped,
|
||||
then this directory is searched first:
|
||||
pack/*/start/{name} ~
|
||||
|
||||
Note that {name} is the directory name, not the name
|
||||
of the .vim file. All the files matching the pattern
|
||||
pack/*/opt/{name}/plugin/**/*.vim ~
|
||||
@@ -958,4 +962,4 @@ mind there are various things that may clobber the results:
|
||||
- The "self" time is wrong when a function is used recursively.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -112,4 +112,4 @@ o When both 'rightleft' and 'revins' are on: 'textwidth' does not work.
|
||||
o There is no full bidirectionality (bidi) support.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -68,4 +68,4 @@ In order to use the Russian documentation, make sure you have set the
|
||||
releases of gettext.
|
||||
|
||||
===============================================================================
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -27,6 +27,7 @@ seen):
|
||||
|
||||
*CTRL-E*
|
||||
CTRL-E Scroll window [count] lines downwards in the buffer.
|
||||
The text moves upwards on the screen.
|
||||
Mnemonic: Extra lines.
|
||||
|
||||
*CTRL-D*
|
||||
@@ -65,6 +66,7 @@ seen):
|
||||
|
||||
*CTRL-Y*
|
||||
CTRL-Y Scroll window [count] lines upwards in the buffer.
|
||||
The text moves downwards on the screen.
|
||||
Note: When using the MS-Windows key bindings CTRL-Y is
|
||||
remapped to redo.
|
||||
|
||||
@@ -248,4 +250,4 @@ the scroll wheel move one line or half a page in Normal mode: >
|
||||
:map <S-ScrollWheelDown> <C-D>
|
||||
You can also use Alt and Ctrl modifiers.
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -196,4 +196,4 @@ JUMPING TO A SIGN *:sign-jump* *E157*
|
||||
have a name.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -1733,4 +1733,4 @@ This isn't ideal, because the longer Vim is running the higher the counts
|
||||
become. But in practice it is a noticeable improvement over not using the word
|
||||
count.
|
||||
|
||||
vim:tw=78:sw=4:ts=8:ft=help:norl:
|
||||
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -213,4 +213,4 @@ is done. But a receipt is possible.
|
||||
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -1101,6 +1101,8 @@ SHADA FILE NAME *shada-file-name*
|
||||
- The "-i" Vim argument can be used to set another file name, |-i|. When the
|
||||
file name given is "NONE" (all uppercase), no ShaDa file is ever read or
|
||||
written. Also not for the commands below!
|
||||
- The 'viminfofile' option can be used like the "-i" argument. In fact, the
|
||||
value form the "-i" argument is stored in the 'viminfofile' option.
|
||||
- For the commands below, another file name can be given, overriding the
|
||||
default and the name given with 'shada' or "-i" (unless it's NONE).
|
||||
|
||||
|
||||
@@ -1947,7 +1947,7 @@ set "lite_minlines" to the value you desire. Example: >
|
||||
|
||||
LPC *lpc.vim* *ft-lpc-syntax*
|
||||
|
||||
LPC stands for a simple, memory-efficient language: Lars Pensj| C. The
|
||||
LPC stands for a simple, memory-efficient language: Lars Pensjö C. The
|
||||
file name of LPC is usually *.c. Recognizing these files as LPC would bother
|
||||
users writing only C programs. If you want to use LPC syntax in Vim, you
|
||||
should set a variable in your vimrc file: >
|
||||
@@ -2748,13 +2748,10 @@ Ruby syntax will perform spellchecking of strings if you define
|
||||
|
||||
SCHEME *scheme.vim* *ft-scheme-syntax*
|
||||
|
||||
By default only R5RS keywords are highlighted and properly indented.
|
||||
By default only R7RS keywords are highlighted and properly indented.
|
||||
|
||||
MzScheme-specific stuff will be used if b:is_mzscheme or g:is_mzscheme
|
||||
variables are defined.
|
||||
|
||||
Also scheme.vim supports keywords of the Chicken Scheme->C compiler. Define
|
||||
b:is_chicken or g:is_chicken, if you need them.
|
||||
scheme.vim also supports extensions of the CHICKEN Scheme->C compiler.
|
||||
Define b:is_chicken or g:is_chicken, if you need them.
|
||||
|
||||
|
||||
SDL *sdl.vim* *ft-sdl-syntax*
|
||||
@@ -2848,17 +2845,17 @@ This covers syntax highlighting for the older Unix (Bourne) sh, and newer
|
||||
shells such as bash, dash, posix, and the Korn shells.
|
||||
|
||||
Vim attempts to determine which shell type is in use by specifying that
|
||||
various filenames are of specific types: >
|
||||
various filenames are of specific types, e.g.: >
|
||||
|
||||
ksh : .kshrc* *.ksh
|
||||
bash: .bashrc* bashrc bash.bashrc .bash_profile* *.bash
|
||||
<
|
||||
If none of these cases pertain, then the first line of the file is examined
|
||||
(ex. looking for /bin/sh /bin/ksh /bin/bash). If the first line specifies a
|
||||
shelltype, then that shelltype is used. However some files (ex. .profile) are
|
||||
known to be shell files but the type is not apparent. Furthermore, on many
|
||||
systems sh is symbolically linked to "bash" (Linux, Windows+cygwin) or "ksh"
|
||||
(Posix).
|
||||
See $VIMRUNTIME/filetype.vim for the full list of patterns. If none of these
|
||||
cases pertain, then the first line of the file is examined (ex. looking for
|
||||
/bin/sh /bin/ksh /bin/bash). If the first line specifies a shelltype, then
|
||||
that shelltype is used. However some files (ex. .profile) are known to be
|
||||
shell files but the type is not apparent. Furthermore, on many systems sh is
|
||||
symbolically linked to "bash" (Linux, Windows+cygwin) or "ksh" (Posix).
|
||||
|
||||
One may specify a global default by instantiating one of the following
|
||||
variables in your vimrc:
|
||||
@@ -4585,7 +4582,9 @@ in their own color.
|
||||
runtime colors/evening.vim
|
||||
hi Statement ctermfg=Blue guifg=Blue
|
||||
|
||||
< After the color scheme has been loaded the
|
||||
< Before the color scheme will be loaded the
|
||||
|ColorSchemePre| autocommand event is triggered.
|
||||
After the color scheme has been loaded the
|
||||
|ColorScheme| autocommand event is triggered.
|
||||
For info about writing a colorscheme file: >
|
||||
:edit $VIMRUNTIME/colors/README.txt
|
||||
@@ -4947,6 +4946,11 @@ StatusLine status line of current window
|
||||
StatusLineNC status lines of not-current windows
|
||||
Note: if this is equal to "StatusLine" Vim will use "^^^" in
|
||||
the status line of the current window.
|
||||
*hl-StatusLineTerm*
|
||||
StatusLineTerm status line of current window, if it is a |terminal| window.
|
||||
*hl-StatusLineTermNC*
|
||||
StatusLineTermNC status lines of not-current windows that is a |terminal|
|
||||
window.
|
||||
*hl-TabLine*
|
||||
TabLine tab pages line, not active tab page label
|
||||
*hl-TabLineFill*
|
||||
@@ -5250,4 +5254,4 @@ literal text specify the size of that text (in bytes):
|
||||
"<\@1<=span" Matches the same, but only tries one byte before "span".
|
||||
|
||||
|
||||
vim:tw=78:sw=4:ts=8:ft=help:norl:
|
||||
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -203,7 +203,8 @@ gT Go to the previous tab page. Wraps around from the first one
|
||||
:tabN[ext] {count}
|
||||
{count}<C-PageUp>
|
||||
{count}gT Go {count} tab pages back. Wraps around from the first one
|
||||
to the last one.
|
||||
to the last one. Note that the use of {count} is different
|
||||
from |:tabnext|, where it is used as the tab page number.
|
||||
|
||||
:tabr[ewind] *:tabfir* *:tabfirst* *:tabr* *:tabrewind*
|
||||
:tabfir[st] Go to the first tab page.
|
||||
@@ -230,8 +231,10 @@ REORDERING TAB PAGES:
|
||||
:tabm[ove] [N] *:tabm* *:tabmove*
|
||||
:[N]tabm[ove]
|
||||
Move the current tab page to after tab page N. Use zero to
|
||||
make the current tab page the first one. Without N the tab
|
||||
page is made the last one. >
|
||||
make the current tab page the first one. N is counted before
|
||||
the move, thus if the second tab is the current one,
|
||||
`:tabmove 1` and `:tabmove 2` have no effect.
|
||||
Without N the tab page is made the last one. >
|
||||
:.tabmove " do nothing
|
||||
:-tabmove " move the tab page to the left
|
||||
:+tabmove " move the tab page to the right
|
||||
@@ -463,4 +466,4 @@ If you want to show something specific for a tab page, you might want to use a
|
||||
tab page local variable. |t:var|
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -31,12 +31,12 @@ An easy way back is with the CTRL-T command. Also read about the tag stack
|
||||
below.
|
||||
|
||||
*:ta* *:tag* *E426* *E429*
|
||||
:[count]ta[g][!] {ident}
|
||||
Jump to the definition of {ident}, using the
|
||||
information in the tags file(s). Put {ident} in the
|
||||
:[count]ta[g][!] {name}
|
||||
Jump to the definition of {name}, using the
|
||||
information in the tags file(s). Put {name} in the
|
||||
tag stack. See |tag-!| for [!].
|
||||
{ident} can be a regexp pattern, see |tag-regexp|.
|
||||
When there are several matching tags for {ident}, jump
|
||||
{name} can be a regexp pattern, see |tag-regexp|.
|
||||
When there are several matching tags for {name}, jump
|
||||
to the [count] one. When [count] is omitted the
|
||||
first one is jumped to. See |tag-matchlist| for
|
||||
jumping to other matching tags.
|
||||
@@ -44,15 +44,15 @@ below.
|
||||
g<LeftMouse> *g<LeftMouse>*
|
||||
<C-LeftMouse> *<C-LeftMouse>* *CTRL-]*
|
||||
CTRL-] Jump to the definition of the keyword under the
|
||||
cursor. Same as ":tag {ident}", where {ident} is the
|
||||
cursor. Same as ":tag {name}", where {name} is the
|
||||
keyword under or after cursor.
|
||||
When there are several matching tags for {ident}, jump
|
||||
When there are several matching tags for {name}, jump
|
||||
to the [count] one. When no [count] is given the
|
||||
first one is jumped to. See |tag-matchlist| for
|
||||
jumping to other matching tags.
|
||||
|
||||
*v_CTRL-]*
|
||||
{Visual}CTRL-] Same as ":tag {ident}", where {ident} is the text that
|
||||
{Visual}CTRL-] Same as ":tag {name}", where {name} is the text that
|
||||
is highlighted.
|
||||
|
||||
*telnet-CTRL-]*
|
||||
@@ -76,7 +76,7 @@ When there are multiple matches for a tag, this priority is used:
|
||||
|
||||
Note that when the current file changes, the priority list is mostly not
|
||||
changed, to avoid confusion when using ":tnext". It is changed when using
|
||||
":tag {ident}".
|
||||
":tag {name}".
|
||||
|
||||
The ignore-case matches are not found for a ":tag" command when:
|
||||
- the 'ignorecase' option is off and 'tagcase' is "followic"
|
||||
@@ -161,7 +161,7 @@ You can get from main to FuncA by using CTRL-] on the call to FuncA. Then
|
||||
you can CTRL-] to get to FuncC. If you now want to go back to main you can
|
||||
use CTRL-T twice. Then you can CTRL-] to FuncB.
|
||||
|
||||
If you issue a ":ta {ident}" or CTRL-] command, this tag is inserted at the
|
||||
If you issue a ":ta {name}" or CTRL-] command, this tag is inserted at the
|
||||
current position in the stack. If the stack was full (it can hold up to 20
|
||||
entries), the oldest entry is deleted and the older entries shift one
|
||||
position up (their index number is decremented by one). If the last used
|
||||
@@ -185,14 +185,14 @@ between them. Note that these commands don't change the tag stack, they keep
|
||||
the same entry.
|
||||
|
||||
*:ts* *:tselect*
|
||||
:ts[elect][!] [ident] List the tags that match [ident], using the
|
||||
:ts[elect][!] [name] List the tags that match [name], using the
|
||||
information in the tags file(s).
|
||||
When [ident] is not given, the last tag name from the
|
||||
When [name] is not given, the last tag name from the
|
||||
tag stack is used.
|
||||
See |tag-!| for [!].
|
||||
With a '>' in the first column is indicated which is
|
||||
the current position in the list (if there is one).
|
||||
[ident] can be a regexp pattern, see |tag-regexp|.
|
||||
[name] can be a regexp pattern, see |tag-regexp|.
|
||||
See |tag-priority| for the priorities used in the
|
||||
listing.
|
||||
Example output:
|
||||
@@ -220,7 +220,7 @@ the same entry.
|
||||
type 'q' and enter the number.
|
||||
|
||||
*:sts* *:stselect*
|
||||
:sts[elect][!] [ident] Does ":tselect[!] [ident]" and splits the window for
|
||||
:sts[elect][!] [name] Does ":tselect[!] [name]" and splits the window for
|
||||
the selected tag.
|
||||
|
||||
*g]*
|
||||
@@ -231,11 +231,11 @@ g] Like CTRL-], but use ":tselect" instead of ":tag".
|
||||
identifier.
|
||||
|
||||
*:tj* *:tjump*
|
||||
:tj[ump][!] [ident] Like ":tselect", but jump to the tag directly when
|
||||
:tj[ump][!] [name] Like ":tselect", but jump to the tag directly when
|
||||
there is only one match.
|
||||
|
||||
*:stj* *:stjump*
|
||||
:stj[ump][!] [ident] Does ":tjump[!] [ident]" and splits the window for the
|
||||
:stj[ump][!] [name] Does ":tjump[!] [name]" and splits the window for the
|
||||
selected tag.
|
||||
|
||||
*g_CTRL-]*
|
||||
@@ -267,9 +267,9 @@ g CTRL-] Like CTRL-], but use ":tjump" instead of ":tag".
|
||||
:tl[ast][!] Jump to last matching tag. See |tag-!| for [!].
|
||||
|
||||
*:lt* *:ltag*
|
||||
:lt[ag][!] [ident] Jump to tag [ident] and add the matching tags to a new
|
||||
location list for the current window. [ident] can be
|
||||
a regexp pattern, see |tag-regexp|. When [ident] is
|
||||
:lt[ag][!] [name] Jump to tag [name] and add the matching tags to a new
|
||||
location list for the current window. [name] can be
|
||||
a regexp pattern, see |tag-regexp|. When [name] is
|
||||
not given, the last tag name from the tag stack is
|
||||
used. The search pattern to locate the tag line is
|
||||
prefixed with "\V" to escape all the special
|
||||
@@ -300,11 +300,11 @@ the same as above, with a "p" prepended.
|
||||
{not available when compiled without the |+quickfix| feature}
|
||||
|
||||
*:pts* *:ptselect*
|
||||
:pts[elect][!] [ident] Does ":tselect[!] [ident]" and shows the new tag in a
|
||||
:pts[elect][!] [name] Does ":tselect[!] [name]" and shows the new tag in a
|
||||
"Preview" window. See |:ptag| for more info.
|
||||
|
||||
*:ptj* *:ptjump*
|
||||
:ptj[ump][!] [ident] Does ":tjump[!] [ident]" and shows the new tag in a
|
||||
:ptj[ump][!] [name] Does ":tjump[!] [name]" and shows the new tag in a
|
||||
"Preview" window. See |:ptag| for more info.
|
||||
|
||||
*:ptn* *:ptnext*
|
||||
@@ -819,4 +819,4 @@ Common arguments for the commands above:
|
||||
< For a ":djump", ":dsplit", ":dlist" and ":dsearch" command the pattern
|
||||
is used as a literal string, not as a search pattern.
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -446,4 +446,4 @@ A slightly more advanced version is used in the |matchparen| plugin.
|
||||
autocmd InsertEnter * match none
|
||||
<
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -281,4 +281,4 @@ Address to send checks to:
|
||||
|
||||
This address is expected to be valid for a long time.
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -383,4 +383,4 @@ if it is not what you want do 'u.'. This will remove the contents of the
|
||||
first put, and repeat the put command for the second register. Repeat the
|
||||
'u.' until you got what you want.
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -109,4 +109,4 @@ donate part of the profit to help AIDS victims in Uganda. See |iccf|.
|
||||
|
||||
Next chapter: |usr_02.txt| The first steps in Vim
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -687,4 +687,4 @@ Summary: *help-summary* >
|
||||
|
||||
Next chapter: |usr_03.txt| Moving around
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -650,4 +650,4 @@ You will notice a few special marks. These include:
|
||||
|
||||
Next chapter: |usr_04.txt| Making small changes
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -511,4 +511,4 @@ else:
|
||||
|
||||
Next chapter: |usr_05.txt| Set your settings
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -317,8 +317,9 @@ when you use Vim. There are only two steps for adding a global plugin:
|
||||
GETTING A GLOBAL PLUGIN
|
||||
|
||||
Where can you find plugins?
|
||||
- Some are always loaded, you can see them in the directory $VIMRUNTIME/plugin.
|
||||
- Some come with Vim. You can find them in the directory $VIMRUNTIME/macros
|
||||
and its sub-directories.
|
||||
and its sub-directories and under $VIM/vimfiles/pack/dist/opt/.
|
||||
- Download from the net. There is a large collection on http://www.vim.org.
|
||||
- They are sometimes posted in a Vim |maillist|.
|
||||
- You could write one yourself, see |write-plugin|.
|
||||
@@ -609,4 +610,4 @@ This does mean there is less room to edit text, thus it's a compromise.
|
||||
|
||||
Next chapter: |usr_06.txt| Using syntax highlighting
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -274,4 +274,4 @@ others look at the colored text.
|
||||
|
||||
Next chapter: |usr_07.txt| Editing more than one file
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -476,4 +476,4 @@ This protects you from accidentally overwriting another file.
|
||||
|
||||
Next chapter: |usr_08.txt| Splitting windows
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -597,4 +597,4 @@ For more information about tab pages see |tab-page|.
|
||||
|
||||
Next chapter: |usr_09.txt| Using the GUI
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -5,9 +5,10 @@
|
||||
Using the GUI
|
||||
|
||||
|
||||
Vim works in an ordinary terminal. GVim can do the same things and a few
|
||||
more. The GUI offers menus, a toolbar, scrollbars and other items. This
|
||||
chapter is about these extra things that the GUI offers.
|
||||
Vim works in an ordinary terminal, while gVim has a Graphical User Interface
|
||||
(GUI). It can do the same things and a few more. The GUI offers menus, a
|
||||
toolbar, scrollbars and other items. This chapter is about these extra things
|
||||
that the GUI offers.
|
||||
|
||||
|09.1| Parts of the GUI
|
||||
|09.2| Using the mouse
|
||||
@@ -282,4 +283,4 @@ You can tune the way Select mode works with the 'selectmode' option.
|
||||
|
||||
Next chapter: |usr_10.txt| Making big changes
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -820,4 +820,4 @@ has written. To tell Vim to redraw the screen: >
|
||||
|
||||
Next chapter: |usr_11.txt| Recovering from a crash
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -234,7 +234,7 @@ that file, be prepared to redo your last changes.
|
||||
|
||||
WHAT TO DO? *swap-exists-choices*
|
||||
|
||||
If dialogs are supported you will be asked to select one of five choices:
|
||||
If dialogs are supported you will be asked to select one of six choices:
|
||||
|
||||
Swap file ".main.c.swp" already exists! ~
|
||||
[O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort, (D)elete it: ~
|
||||
@@ -299,4 +299,4 @@ If you really don't want to see this message, you can add the 'A' flag to the
|
||||
|
||||
Next chapter: |usr_12.txt| Clever tricks
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -343,4 +343,4 @@ matches and where they are.
|
||||
|
||||
Next chapter: |usr_20.txt| Typing command-line commands quickly
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -381,4 +381,4 @@ there can be only one.
|
||||
|
||||
Next chapter: |usr_21.txt| Go away and come back
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -488,4 +488,4 @@ For more details see |modeline|.
|
||||
|
||||
Next chapter: |usr_22.txt| Finding the file to edit
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -397,4 +397,4 @@ can't be editing nothing!
|
||||
|
||||
Next chapter: |usr_23.txt| Editing other files
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -256,4 +256,4 @@ decompression. You might need to install the programs first.
|
||||
|
||||
Next chapter: |usr_24.txt| Inserting quickly
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -538,8 +538,8 @@ a 16 bit and a 32 bit number (e.g., for a Unicode character): >
|
||||
*24.9* Digraphs
|
||||
|
||||
Some characters are not on the keyboard. For example, the copyright character
|
||||
(<EFBFBD>). To type these characters in Vim, you use digraphs, where two characters
|
||||
represent one. To enter a <EFBFBD>, for example, you press three keys: >
|
||||
(©). To type these characters in Vim, you use digraphs, where two characters
|
||||
represent one. To enter a ©, for example, you press three keys: >
|
||||
|
||||
CTRL-K Co
|
||||
|
||||
@@ -549,12 +549,12 @@ To find out what digraphs are available, use the following command: >
|
||||
|
||||
Vim will display the digraph table. Here are three lines of it:
|
||||
|
||||
AC ~_ 159 NS | 160 !I <EFBFBD> 161 Ct <EFBFBD> 162 Pd <EFBFBD> 163 Cu <EFBFBD> 164 Ye <EFBFBD> 165 ~
|
||||
BB <EFBFBD> 166 SE <EFBFBD> 167 ': <EFBFBD> 168 Co <EFBFBD> 169 -a <EFBFBD> 170 << <EFBFBD> 171 NO <EFBFBD> 172 ~
|
||||
-- <EFBFBD> 173 Rg <EFBFBD> 174 'm <EFBFBD> 175 DG <EFBFBD> 176 +- <EFBFBD> 177 2S <EFBFBD> 178 3S <EFBFBD> 179 ~
|
||||
AC ~_ 159 NS | 160 !I ¡ 161 Ct ¢ 162 Pd £ 163 Cu ¤ 164 Ye ¥ 165 ~
|
||||
BB ¦ 166 SE § 167 ': ¨ 168 Co © 169 -a ª 170 << « 171 NO ¬ 172 ~
|
||||
-- 173 Rg ® 174 'm ¯ 175 DG ° 176 +- ± 177 2S ² 178 3S ³ 179 ~
|
||||
|
||||
This shows, for example, that the digraph you get by typing CTRL-K Pd is the
|
||||
character (<EFBFBD>). This is character number 163 (decimal).
|
||||
character (£). This is character number 163 (decimal).
|
||||
Pd is short for Pound. Most digraphs are selected to give you a hint about
|
||||
the character they will produce. If you look through the list you will
|
||||
understand the logic.
|
||||
@@ -569,9 +569,9 @@ that combination. Thus CTRL-K dP also works. Since there is no digraph for
|
||||
|
||||
You can define your own digraphs. Example: >
|
||||
|
||||
:digraph a" <EFBFBD>
|
||||
:digraph a" ä
|
||||
|
||||
This defines that CTRL-K a" inserts an <EFBFBD> character. You can also specify the
|
||||
This defines that CTRL-K a" inserts an ä character. You can also specify the
|
||||
character with a decimal number. This defines the same digraph: >
|
||||
|
||||
:digraph a" 228
|
||||
@@ -603,4 +603,4 @@ This deletes up to the third word into register g.
|
||||
|
||||
Next chapter: |usr_25.txt| Editing formatted text
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -579,4 +579,4 @@ The "gR" command uses Virtual Replace mode. This preserves the layout:
|
||||
|
||||
Next chapter: |usr_26.txt| Repeating
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -207,4 +207,4 @@ start all over, use the "-W" argument. It overwrites any existing file.
|
||||
|
||||
Next chapter: |usr_27.txt| Search commands and patterns
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -225,9 +225,9 @@ specify a line offset, this can cause trouble. For example: >
|
||||
/const/-2
|
||||
|
||||
This finds the next word "const" and then moves two lines up. If you
|
||||
use "n" to search again, Vim could start at the current position and find the same
|
||||
"const" match. Then using the offset again, you would be back where you started.
|
||||
You would be stuck!
|
||||
use "n" to search again, Vim could start at the current position and find the
|
||||
same "const" match. Then using the offset again, you would be back where you
|
||||
started. You would be stuck!
|
||||
It could be worse: Suppose there is another match with "const" in the next
|
||||
line. Then repeating the forward search would find this match and move two
|
||||
lines up. Thus you would actually move the cursor back!
|
||||
@@ -560,4 +560,4 @@ and "\w" for "[0-9A-Za-z_]".
|
||||
|
||||
Next chapter: |usr_28.txt| Folding
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -423,4 +423,4 @@ the defined folds. Then you can delete or add folds manually.
|
||||
|
||||
Next chapter: |usr_29.txt| Moving through programs
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -608,4 +608,4 @@ for the identifier. Example (cursor on "idx"):
|
||||
|
||||
Next chapter: |usr_30.txt| Editing programs
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -640,4 +640,4 @@ For more details see |format-comments|.
|
||||
|
||||
Next chapter: |usr_31.txt| Exploiting the GUI
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -269,4 +269,4 @@ another font size, for example.
|
||||
|
||||
Next chapter: |usr_32.txt| The undo tree
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -177,4 +177,4 @@ use the |undotree()| function. To see what it returns: >
|
||||
|
||||
Next chapter: |usr_40.txt| Make new commands
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -654,4 +654,4 @@ To set it back to the normal behavior, make 'eventignore' empty: >
|
||||
|
||||
Next chapter: |usr_41.txt| Write a Vim script
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -882,9 +882,11 @@ Interactive: *interactive-functions*
|
||||
|
||||
GUI: *gui-functions*
|
||||
getfontname() get name of current font being used
|
||||
getwinposx() X position of the GUI Vim window
|
||||
getwinposy() Y position of the GUI Vim window
|
||||
getwinpos() position of the Vim window
|
||||
getwinposx() X position of the Vim window
|
||||
getwinposy() Y position of the Vim window
|
||||
balloon_show() set the balloon content
|
||||
balloon_split() split a message for a balloon
|
||||
|
||||
Vim server: *server-functions*
|
||||
serverlist() return the list of server names
|
||||
@@ -900,6 +902,7 @@ Vim server: *server-functions*
|
||||
Window size and position: *window-size-functions*
|
||||
winheight() get height of a specific window
|
||||
winwidth() get width of a specific window
|
||||
win_screenpos() get screen position of a window
|
||||
winrestcmd() return command to restore window sizes
|
||||
winsaveview() get view of current window
|
||||
winrestview() restore saved view of current window
|
||||
@@ -919,7 +922,8 @@ Testing: *test-functions*
|
||||
assert_false() assert that an expression is false
|
||||
assert_true() assert that an expression is true
|
||||
assert_exception() assert that a command throws an exception
|
||||
assert_fails() assert that a function call fails
|
||||
assert_beeps() assert that a command beeps
|
||||
assert_fails() assert that a command fails
|
||||
|
||||
Timers: *timer-functions*
|
||||
timer_start() create a timer
|
||||
@@ -2510,4 +2514,4 @@ utility is recommended.
|
||||
|
||||
Next chapter: |usr_42.txt| Add new menus
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -355,4 +355,4 @@ is...
|
||||
|
||||
Next chapter: |usr_43.txt| Using filetypes
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -175,4 +175,4 @@ and sources a script or executes a function to check the contents of the file.
|
||||
|
||||
Next chapter: |usr_44.txt| Your own syntax highlighted
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -716,4 +716,4 @@ up scrolling backwards and CTRL-L.
|
||||
|
||||
Next chapter: |usr_45.txt| Select your language
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -392,4 +392,4 @@ Don't type the spaces. See |i_CTRL-V_digit| for the details.
|
||||
|
||||
==============================================================================
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -335,4 +335,4 @@ Make Vim work as you like it.
|
||||
|
||||
==============================================================================
|
||||
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
|
||||
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -381,6 +381,7 @@ N *+virtualedit* |'virtualedit'|
|
||||
S *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
|
||||
N *+visualextra* extra Visual mode commands |blockwise-operators|
|
||||
N *+vreplace* |gR| and |gr|
|
||||
*+vtp* on MS-Windows console: support for 'termguicolors'
|
||||
N *+wildignore* |'wildignore'|
|
||||
N *+wildmenu* |'wildmenu'|
|
||||
*+windows* more than one window
|
||||
|
||||
@@ -363,4 +363,4 @@ Move cursor beyond lines.
|
||||
and figures easily.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -524,4 +524,4 @@ g CTRL-H Start Select mode, blockwise. This is like CTRL-V,
|
||||
but starts Select mode instead of Visual mode.
|
||||
Mnemonic: "get Highlighted".
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -1046,10 +1046,8 @@ list of buffers. |unlisted-buffer|
|
||||
:%bdelete " delete all buffers
|
||||
<
|
||||
:bdelete[!] {bufname} *E93* *E94*
|
||||
Like ":bdelete[!] [N]", but buffer given by name. Note that a
|
||||
buffer whose name is a number cannot be referenced by that
|
||||
name; use the buffer number instead. Insert a backslash
|
||||
before a space in a buffer name.
|
||||
Like ":bdelete[!] [N]", but buffer given by name, see
|
||||
|{bufname}|.
|
||||
|
||||
:bdelete[!] N1 N2 ...
|
||||
Do ":bdelete[!]" for buffer N1, N2, etc. The arguments can be
|
||||
@@ -1085,10 +1083,8 @@ list of buffers. |unlisted-buffer|
|
||||
into a loaded buffer.
|
||||
|
||||
:bunload[!] {bufname}
|
||||
Like ":bunload[!] [N]", but buffer given by name. Note that a
|
||||
buffer whose name is a number cannot be referenced by that
|
||||
name; use the buffer number instead. Insert a backslash
|
||||
before a space in a buffer name.
|
||||
Like ":bunload[!] [N]", but buffer given by name.
|
||||
Also see |{bufname}|.
|
||||
|
||||
:N,Mbunload[!] Do ":bunload[!]" for all buffers in the range N to M
|
||||
|inclusive|.
|
||||
@@ -1106,10 +1102,16 @@ list of buffers. |unlisted-buffer|
|
||||
list, without setting the 'buflisted' flag.
|
||||
Also see |+cmd|.
|
||||
|
||||
:[N]b[uffer][!] [+cmd] {bufname}
|
||||
Edit buffer for {bufname} from the buffer list. See
|
||||
|:buffer-!| for [!]. This will also edit a buffer that is not
|
||||
in the buffer list, without setting the 'buflisted' flag.
|
||||
:[N]b[uffer][!] [+cmd] {bufname} *{bufname}*
|
||||
Edit buffer for {bufname} from the buffer list. A partial
|
||||
name also works, so long as it is unique in the list of
|
||||
buffers.
|
||||
Note that a buffer whose name is a number cannot be referenced
|
||||
by that name; use the buffer number instead.
|
||||
Insert a backslash before a space in a buffer name.
|
||||
See |:buffer-!| for [!].
|
||||
This will also edit a buffer that is not in the buffer list,
|
||||
without setting the 'buflisted' flag.
|
||||
Also see |+cmd|.
|
||||
|
||||
:[N]sb[uffer] [+cmd] [N] *:sb* *:sbuffer*
|
||||
@@ -1121,7 +1123,7 @@ list of buffers. |unlisted-buffer|
|
||||
Also see |+cmd|.
|
||||
|
||||
:[N]sb[uffer] [+cmd] {bufname}
|
||||
Split window and edit buffer for {bufname} from the buffer
|
||||
Split window and edit buffer for |{bufname}| from the buffer
|
||||
list. This will also edit a buffer that is not in the buffer
|
||||
list, without setting the 'buflisted' flag.
|
||||
Note: If what you want to do is split the buffer, make a copy
|
||||
@@ -1271,4 +1273,4 @@ unlisted The buffer is not in the buffer list. It is not used for
|
||||
:setlocal nobuflisted
|
||||
<
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user