mirror of
https://github.com/neovim/neovim.git
synced 2025-09-07 11:58:17 +00:00
File diff suppressed because one or more lines are too long
@@ -2207,6 +2207,7 @@ tagfiles() List tags files used
|
|||||||
tan({expr}) Float tangent of {expr}
|
tan({expr}) Float tangent of {expr}
|
||||||
tanh({expr}) Float hyperbolic tangent of {expr}
|
tanh({expr}) Float hyperbolic tangent of {expr}
|
||||||
tempname() String name for a temporary file
|
tempname() String name for a temporary file
|
||||||
|
test_autochdir() none enable 'autochdir' during startup
|
||||||
timer_start({time}, {callback} [, {options}])
|
timer_start({time}, {callback} [, {options}])
|
||||||
Number create a timer
|
Number create a timer
|
||||||
timer_stop({timer}) none stop a timer
|
timer_stop({timer}) none stop a timer
|
||||||
@@ -7213,6 +7214,10 @@ tempname() *tempname()* *temp-file-name*
|
|||||||
For MS-Windows forward slashes are used when the 'shellslash'
|
For MS-Windows forward slashes are used when the 'shellslash'
|
||||||
option is set or when 'shellcmdflag' starts with '-'.
|
option is set or when 'shellcmdflag' starts with '-'.
|
||||||
|
|
||||||
|
test_autochdir() *test_autochdir()*
|
||||||
|
Set a flag to enable the effect of 'autochdir' before Vim
|
||||||
|
startup has finished.
|
||||||
|
|
||||||
termopen({cmd}[, {opts}]) {Nvim} *termopen()*
|
termopen({cmd}[, {opts}]) {Nvim} *termopen()*
|
||||||
Spawns {cmd} in a new pseudo-terminal session connected
|
Spawns {cmd} in a new pseudo-terminal session connected
|
||||||
to the current buffer. {cmd} is the same as the one passed to
|
to the current buffer. {cmd} is the same as the one passed to
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*mbyte.txt* For Vim version 7.4. Last change: 2013 May 18
|
*mbyte.txt* For Vim version 7.4. Last change: 2016 Jul 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||||
@@ -849,6 +849,7 @@ text, you can use the 'keymap' option. This will translate one or more
|
|||||||
(English) characters to another (non-English) character. This only happens
|
(English) characters to another (non-English) character. This only happens
|
||||||
when typing text, not when typing Vim commands. This avoids having to switch
|
when typing text, not when typing Vim commands. This avoids having to switch
|
||||||
between two keyboard settings.
|
between two keyboard settings.
|
||||||
|
{only available when compiled with the |+keymap| feature}
|
||||||
|
|
||||||
The value of the 'keymap' option specifies a keymap file to use. The name of
|
The value of the 'keymap' option specifies a keymap file to use. The name of
|
||||||
this file is one of these two:
|
this file is one of these two:
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*repeat.txt* For Vim version 7.4. Last change: 2016 Apr 05
|
*repeat.txt* For Vim version 7.4. Last change: 2016 Jul 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -286,7 +286,9 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
|||||||
... not converted ...
|
... not converted ...
|
||||||
|
|
||||||
< When conversion isn't supported by the system, there
|
< When conversion isn't supported by the system, there
|
||||||
is no error message and no conversion is done.
|
is no error message and no conversion is done. When a
|
||||||
|
line can't be converted there is no error and the
|
||||||
|
original line is kept.
|
||||||
|
|
||||||
Don't use "ucs-2" or "ucs-4", scripts cannot be in
|
Don't use "ucs-2" or "ucs-4", scripts cannot be in
|
||||||
these encodings (they would contain NUL bytes).
|
these encodings (they would contain NUL bytes).
|
||||||
|
@@ -1040,6 +1040,21 @@ This works immediately.
|
|||||||
|
|
||||||
CLOJURE *ft-clojure-syntax*
|
CLOJURE *ft-clojure-syntax*
|
||||||
|
|
||||||
|
The default syntax groups can be augmented through the
|
||||||
|
*g:clojure_syntax_keywords* and *b:clojure_syntax_keywords* variables. The
|
||||||
|
value should be a |Dictionary| of syntax group names to a |List| of custom
|
||||||
|
identifiers:
|
||||||
|
>
|
||||||
|
let g:clojure_syntax_keywords = {
|
||||||
|
\ 'clojureMacro': ["defproject", "defcustom"],
|
||||||
|
\ 'clojureFunc': ["string/join", "string/replace"]
|
||||||
|
\ }
|
||||||
|
<
|
||||||
|
Refer to the Clojure syntax script for valid syntax group names.
|
||||||
|
|
||||||
|
If the |buffer-variable| *b:clojure_syntax_without_core_keywords* is set, only
|
||||||
|
language constants and special forms are matched.
|
||||||
|
|
||||||
Setting *g:clojure_fold* enables folding Clojure code via the syntax engine.
|
Setting *g:clojure_fold* enables folding Clojure code via the syntax engine.
|
||||||
Any list, vector, or map that extends over more than one line can be folded
|
Any list, vector, or map that extends over more than one line can be folded
|
||||||
using the standard Vim |fold-commands|.
|
using the standard Vim |fold-commands|.
|
||||||
|
@@ -592,7 +592,7 @@ String manipulation: *string-functions*
|
|||||||
match() position where a pattern matches in a string
|
match() position where a pattern matches in a string
|
||||||
matchend() position where a pattern match ends in a string
|
matchend() position where a pattern match ends in a string
|
||||||
matchstr() match of a pattern in a string
|
matchstr() match of a pattern in a string
|
||||||
matchstrpos() match and postions of a pattern in a string
|
matchstrpos() match and positions of a pattern in a string
|
||||||
matchlist() like matchstr() and also return submatches
|
matchlist() like matchstr() and also return submatches
|
||||||
stridx() first index of a short string in a long string
|
stridx() first index of a short string in a long string
|
||||||
strridx() last index of a short string in a long string
|
strridx() last index of a short string in a long string
|
||||||
@@ -799,6 +799,7 @@ Command line: *command-line-functions*
|
|||||||
setcmdpos() set position of the cursor in the command line
|
setcmdpos() set position of the cursor in the command line
|
||||||
getcmdtype() return the current command-line type
|
getcmdtype() return the current command-line type
|
||||||
getcmdwintype() return the current command-line window type
|
getcmdwintype() return the current command-line window type
|
||||||
|
getcompletion() list of command-line completion matches
|
||||||
|
|
||||||
Quickfix and location lists: *quickfix-functions*
|
Quickfix and location lists: *quickfix-functions*
|
||||||
getqflist() list of quickfix errors
|
getqflist() list of quickfix errors
|
||||||
@@ -896,12 +897,14 @@ Mappings: *mapping-functions*
|
|||||||
Testing: *test-functions*
|
Testing: *test-functions*
|
||||||
assert_equal() assert that two expressions values are equal
|
assert_equal() assert that two expressions values are equal
|
||||||
assert_notequal() assert that two expressions values are not equal
|
assert_notequal() assert that two expressions values are not equal
|
||||||
|
assert_inrange() assert that an expression is inside a range
|
||||||
assert_match() assert that a pattern matches the value
|
assert_match() assert that a pattern matches the value
|
||||||
assert_notmatch() assert that a pattern does not match the value
|
assert_notmatch() assert that a pattern does not match the value
|
||||||
assert_false() assert that an expression is false
|
assert_false() assert that an expression is false
|
||||||
assert_true() assert that an expression is true
|
assert_true() assert that an expression is true
|
||||||
assert_exception() assert that a command throws an exception
|
assert_exception() assert that a command throws an exception
|
||||||
assert_fails() assert that a function call fails
|
assert_fails() assert that a function call fails
|
||||||
|
test_autochdir() enable 'autochdir' during startup
|
||||||
|
|
||||||
Various: *various-functions*
|
Various: *various-functions*
|
||||||
mode() get current editing mode
|
mode() get current editing mode
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
" Vim support file to detect file types
|
" Vim support file to detect file types
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2016 Jul 12
|
" Last Change: 2016 Jul 21
|
||||||
|
|
||||||
" Listen very carefully, I will say this only once
|
" Listen very carefully, I will say this only once
|
||||||
if exists("did_load_filetypes")
|
if exists("did_load_filetypes")
|
||||||
@@ -530,7 +530,7 @@ au BufNewFile,BufRead configure.in,configure.ac setf config
|
|||||||
au BufNewFile,BufRead *.cu setf cuda
|
au BufNewFile,BufRead *.cu setf cuda
|
||||||
|
|
||||||
" Dockerfile
|
" Dockerfile
|
||||||
au BufNewFile,BufRead Dockerfile setf dockerfile
|
au BufNewFile,BufRead Dockerfile,*.Dockerfile setf dockerfile
|
||||||
|
|
||||||
" WildPackets EtherPeek Decoder
|
" WildPackets EtherPeek Decoder
|
||||||
au BufNewFile,BufRead *.dcd setf dcd
|
au BufNewFile,BufRead *.dcd setf dcd
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
" Maintainer: Sung Pae <self@sungpae.com>
|
" Maintainer: Sung Pae <self@sungpae.com>
|
||||||
" URL: https://github.com/guns/vim-clojure-static
|
" URL: https://github.com/guns/vim-clojure-static
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Change: 27 March 2014
|
" Last Change: 18 July 2016
|
||||||
|
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
finish
|
finish
|
||||||
@@ -43,7 +43,7 @@ setlocal commentstring=;\ %s
|
|||||||
" specially and hence are not indented specially.
|
" specially and hence are not indented specially.
|
||||||
"
|
"
|
||||||
" -*- LISPWORDS -*-
|
" -*- LISPWORDS -*-
|
||||||
" Generated from https://github.com/guns/vim-clojure-static/blob/vim-release-010/clj/src/vim_clojure_static/generate.clj
|
" Generated from https://github.com/guns/vim-clojure-static/blob/vim-release-011/clj/src/vim_clojure_static/generate.clj
|
||||||
setlocal lispwords=as->,binding,bound-fn,case,catch,cond->,cond->>,condp,def,definline,definterface,defmacro,defmethod,defmulti,defn,defn-,defonce,defprotocol,defrecord,defstruct,deftest,deftest-,deftype,doseq,dotimes,doto,extend,extend-protocol,extend-type,fn,for,if,if-let,if-not,if-some,let,letfn,locking,loop,ns,proxy,reify,set-test,testing,when,when-first,when-let,when-not,when-some,while,with-bindings,with-in-str,with-local-vars,with-open,with-precision,with-redefs,with-redefs-fn,with-test
|
setlocal lispwords=as->,binding,bound-fn,case,catch,cond->,cond->>,condp,def,definline,definterface,defmacro,defmethod,defmulti,defn,defn-,defonce,defprotocol,defrecord,defstruct,deftest,deftest-,deftype,doseq,dotimes,doto,extend,extend-protocol,extend-type,fn,for,if,if-let,if-not,if-some,let,letfn,locking,loop,ns,proxy,reify,set-test,testing,when,when-first,when-let,when-not,when-some,while,with-bindings,with-in-str,with-local-vars,with-open,with-precision,with-redefs,with-redefs-fn,with-test
|
||||||
|
|
||||||
" Provide insert mode completions for special forms and clojure.core. As
|
" Provide insert mode completions for special forms and clojure.core. As
|
||||||
|
@@ -6,12 +6,7 @@
|
|||||||
" Maintainer: Sung Pae <self@sungpae.com>
|
" Maintainer: Sung Pae <self@sungpae.com>
|
||||||
" URL: https://github.com/guns/vim-clojure-static
|
" URL: https://github.com/guns/vim-clojure-static
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Change: 27 March 2014
|
" Last Change: 18 July 2016
|
||||||
|
|
||||||
" TODO: Indenting after multibyte characters is broken:
|
|
||||||
" (let [Δ (if foo
|
|
||||||
" bar ; Indent error
|
|
||||||
" baz)])
|
|
||||||
|
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
finish
|
finish
|
||||||
@@ -57,27 +52,30 @@ if exists("*searchpairpos")
|
|||||||
let g:clojure_align_subforms = 0
|
let g:clojure_align_subforms = 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
function! s:SynIdName()
|
function! s:syn_id_name()
|
||||||
return synIDattr(synID(line("."), col("."), 0), "name")
|
return synIDattr(synID(line("."), col("."), 0), "name")
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:CurrentChar()
|
function! s:ignored_region()
|
||||||
|
return s:syn_id_name() =~? '\vstring|regex|comment|character'
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:current_char()
|
||||||
return getline('.')[col('.')-1]
|
return getline('.')[col('.')-1]
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:CurrentWord()
|
function! s:current_word()
|
||||||
return getline('.')[col('.')-1 : searchpos('\v>', 'n', line('.'))[1]-2]
|
return getline('.')[col('.')-1 : searchpos('\v>', 'n', line('.'))[1]-2]
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:IsParen()
|
function! s:is_paren()
|
||||||
return s:CurrentChar() =~# '\v[\(\)\[\]\{\}]' &&
|
return s:current_char() =~# '\v[\(\)\[\]\{\}]' && !s:ignored_region()
|
||||||
\ s:SynIdName() !~? '\vstring|regex|comment|character'
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" Returns 1 if string matches a pattern in 'patterns', which may be a
|
" Returns 1 if string matches a pattern in 'patterns', which may be a
|
||||||
" list of patterns, or a comma-delimited string of implicitly anchored
|
" list of patterns, or a comma-delimited string of implicitly anchored
|
||||||
" patterns.
|
" patterns.
|
||||||
function! s:MatchesOne(patterns, string)
|
function! s:match_one(patterns, string)
|
||||||
let list = type(a:patterns) == type([])
|
let list = type(a:patterns) == type([])
|
||||||
\ ? a:patterns
|
\ ? a:patterns
|
||||||
\ : map(split(a:patterns, ','), '"^" . v:val . "$"')
|
\ : map(split(a:patterns, ','), '"^" . v:val . "$"')
|
||||||
@@ -86,7 +84,7 @@ if exists("*searchpairpos")
|
|||||||
endfor
|
endfor
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:MatchPairs(open, close, stopat)
|
function! s:match_pairs(open, close, stopat)
|
||||||
" Stop only on vector and map [ resp. {. Ignore the ones in strings and
|
" Stop only on vector and map [ resp. {. Ignore the ones in strings and
|
||||||
" comments.
|
" comments.
|
||||||
if a:stopat == 0
|
if a:stopat == 0
|
||||||
@@ -95,11 +93,11 @@ if exists("*searchpairpos")
|
|||||||
let stopat = a:stopat
|
let stopat = a:stopat
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let pos = searchpairpos(a:open, '', a:close, 'bWn', "!s:IsParen()", stopat)
|
let pos = searchpairpos(a:open, '', a:close, 'bWn', "!s:is_paren()", stopat)
|
||||||
return [pos[0], virtcol(pos)]
|
return [pos[0], col(pos)]
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:ClojureCheckForStringWorker()
|
function! s:clojure_check_for_string_worker()
|
||||||
" Check whether there is the last character of the previous line is
|
" Check whether there is the last character of the previous line is
|
||||||
" highlighted as a string. If so, we check whether it's a ". In this
|
" highlighted as a string. If so, we check whether it's a ". In this
|
||||||
" case we have to check also the previous character. The " might be the
|
" case we have to check also the previous character. The " might be the
|
||||||
@@ -113,17 +111,17 @@ if exists("*searchpairpos")
|
|||||||
|
|
||||||
call cursor(nb, 0)
|
call cursor(nb, 0)
|
||||||
call cursor(0, col("$") - 1)
|
call cursor(0, col("$") - 1)
|
||||||
if s:SynIdName() !~? "string"
|
if s:syn_id_name() !~? "string"
|
||||||
return -1
|
return -1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" This will not work for a " in the first column...
|
" This will not work for a " in the first column...
|
||||||
if s:CurrentChar() == '"'
|
if s:current_char() == '"'
|
||||||
call cursor(0, col("$") - 2)
|
call cursor(0, col("$") - 2)
|
||||||
if s:SynIdName() !~? "string"
|
if s:syn_id_name() !~? "string"
|
||||||
return -1
|
return -1
|
||||||
endif
|
endif
|
||||||
if s:CurrentChar() != '\\'
|
if s:current_char() != '\\'
|
||||||
return -1
|
return -1
|
||||||
endif
|
endif
|
||||||
call cursor(0, col("$") - 1)
|
call cursor(0, col("$") - 1)
|
||||||
@@ -138,40 +136,40 @@ if exists("*searchpairpos")
|
|||||||
return indent(".")
|
return indent(".")
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:CheckForString()
|
function! s:check_for_string()
|
||||||
let pos = getpos('.')
|
let pos = getpos('.')
|
||||||
try
|
try
|
||||||
let val = s:ClojureCheckForStringWorker()
|
let val = s:clojure_check_for_string_worker()
|
||||||
finally
|
finally
|
||||||
call setpos('.', pos)
|
call setpos('.', pos)
|
||||||
endtry
|
endtry
|
||||||
return val
|
return val
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:StripNamespaceAndMacroChars(word)
|
function! s:strip_namespace_and_macro_chars(word)
|
||||||
return substitute(a:word, "\\v%(.*/|[#'`~@^,]*)(.*)", '\1', '')
|
return substitute(a:word, "\\v%(.*/|[#'`~@^,]*)(.*)", '\1', '')
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:ClojureIsMethodSpecialCaseWorker(position)
|
function! s:clojure_is_method_special_case_worker(position)
|
||||||
" Find the next enclosing form.
|
" Find the next enclosing form.
|
||||||
call search('\S', 'Wb')
|
call search('\S', 'Wb')
|
||||||
|
|
||||||
" Special case: we are at a '(('.
|
" Special case: we are at a '(('.
|
||||||
if s:CurrentChar() == '('
|
if s:current_char() == '('
|
||||||
return 0
|
return 0
|
||||||
endif
|
endif
|
||||||
call cursor(a:position)
|
call cursor(a:position)
|
||||||
|
|
||||||
let nextParen = s:MatchPairs('(', ')', 0)
|
let next_paren = s:match_pairs('(', ')', 0)
|
||||||
|
|
||||||
" Special case: we are now at toplevel.
|
" Special case: we are now at toplevel.
|
||||||
if nextParen == [0, 0]
|
if next_paren == [0, 0]
|
||||||
return 0
|
return 0
|
||||||
endif
|
endif
|
||||||
call cursor(nextParen)
|
call cursor(next_paren)
|
||||||
|
|
||||||
call search('\S', 'W')
|
call search('\S', 'W')
|
||||||
let w = s:StripNamespaceAndMacroChars(s:CurrentWord())
|
let w = s:strip_namespace_and_macro_chars(s:current_word())
|
||||||
if g:clojure_special_indent_words =~# '\V\<' . w . '\>'
|
if g:clojure_special_indent_words =~# '\V\<' . w . '\>'
|
||||||
return 1
|
return 1
|
||||||
endif
|
endif
|
||||||
@@ -179,27 +177,43 @@ if exists("*searchpairpos")
|
|||||||
return 0
|
return 0
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:IsMethodSpecialCase(position)
|
function! s:is_method_special_case(position)
|
||||||
let pos = getpos('.')
|
let pos = getpos('.')
|
||||||
try
|
try
|
||||||
let val = s:ClojureIsMethodSpecialCaseWorker(a:position)
|
let val = s:clojure_is_method_special_case_worker(a:position)
|
||||||
finally
|
finally
|
||||||
call setpos('.', pos)
|
call setpos('.', pos)
|
||||||
endtry
|
endtry
|
||||||
return val
|
return val
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! GetClojureIndent()
|
" Check if form is a reader conditional, that is, it is prefixed by #?
|
||||||
|
" or @#?
|
||||||
|
function! s:is_reader_conditional_special_case(position)
|
||||||
|
if getline(a:position[0])[a:position[1] - 3 : a:position[1] - 2] == "#?"
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
return 0
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Returns 1 for opening brackets, -1 for _anything else_.
|
||||||
|
function! s:bracket_type(char)
|
||||||
|
return stridx('([{', a:char) > -1 ? 1 : -1
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Returns: [opening-bracket-lnum, indent]
|
||||||
|
function! s:clojure_indent_pos()
|
||||||
" Get rid of special case.
|
" Get rid of special case.
|
||||||
if line(".") == 1
|
if line(".") == 1
|
||||||
return 0
|
return [0, 0]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" We have to apply some heuristics here to figure out, whether to use
|
" We have to apply some heuristics here to figure out, whether to use
|
||||||
" normal lisp indenting or not.
|
" normal lisp indenting or not.
|
||||||
let i = s:CheckForString()
|
let i = s:check_for_string()
|
||||||
if i > -1
|
if i > -1
|
||||||
return i + !!g:clojure_align_multiline_strings
|
return [0, i + !!g:clojure_align_multiline_strings]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
call cursor(0, 1)
|
call cursor(0, 1)
|
||||||
@@ -207,28 +221,28 @@ if exists("*searchpairpos")
|
|||||||
" Find the next enclosing [ or {. We can limit the second search
|
" Find the next enclosing [ or {. We can limit the second search
|
||||||
" to the line, where the [ was found. If no [ was there this is
|
" to the line, where the [ was found. If no [ was there this is
|
||||||
" zero and we search for an enclosing {.
|
" zero and we search for an enclosing {.
|
||||||
let paren = s:MatchPairs('(', ')', 0)
|
let paren = s:match_pairs('(', ')', 0)
|
||||||
let bracket = s:MatchPairs('\[', '\]', paren[0])
|
let bracket = s:match_pairs('\[', '\]', paren[0])
|
||||||
let curly = s:MatchPairs('{', '}', bracket[0])
|
let curly = s:match_pairs('{', '}', bracket[0])
|
||||||
|
|
||||||
" In case the curly brace is on a line later then the [ or - in
|
" In case the curly brace is on a line later then the [ or - in
|
||||||
" case they are on the same line - in a higher column, we take the
|
" case they are on the same line - in a higher column, we take the
|
||||||
" curly indent.
|
" curly indent.
|
||||||
if curly[0] > bracket[0] || curly[1] > bracket[1]
|
if curly[0] > bracket[0] || curly[1] > bracket[1]
|
||||||
if curly[0] > paren[0] || curly[1] > paren[1]
|
if curly[0] > paren[0] || curly[1] > paren[1]
|
||||||
return curly[1]
|
return curly
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" If the curly was not chosen, we take the bracket indent - if
|
" If the curly was not chosen, we take the bracket indent - if
|
||||||
" there was one.
|
" there was one.
|
||||||
if bracket[0] > paren[0] || bracket[1] > paren[1]
|
if bracket[0] > paren[0] || bracket[1] > paren[1]
|
||||||
return bracket[1]
|
return bracket
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" There are neither { nor [ nor (, ie. we are at the toplevel.
|
" There are neither { nor [ nor (, ie. we are at the toplevel.
|
||||||
if paren == [0, 0]
|
if paren == [0, 0]
|
||||||
return 0
|
return paren
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Now we have to reimplement lispindent. This is surprisingly easy, as
|
" Now we have to reimplement lispindent. This is surprisingly easy, as
|
||||||
@@ -246,58 +260,120 @@ if exists("*searchpairpos")
|
|||||||
" - In any other case we use the column of the end of the word + 2.
|
" - In any other case we use the column of the end of the word + 2.
|
||||||
call cursor(paren)
|
call cursor(paren)
|
||||||
|
|
||||||
if s:IsMethodSpecialCase(paren)
|
if s:is_method_special_case(paren)
|
||||||
return paren[1] + &shiftwidth - 1
|
return [paren[0], paren[1] + &shiftwidth - 1]
|
||||||
|
endif
|
||||||
|
|
||||||
|
if s:is_reader_conditional_special_case(paren)
|
||||||
|
return paren
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" In case we are at the last character, we use the paren position.
|
" In case we are at the last character, we use the paren position.
|
||||||
if col("$") - 1 == paren[1]
|
if col("$") - 1 == paren[1]
|
||||||
return paren[1]
|
return paren
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" In case after the paren is a whitespace, we search for the next word.
|
" In case after the paren is a whitespace, we search for the next word.
|
||||||
call cursor(0, col('.') + 1)
|
call cursor(0, col('.') + 1)
|
||||||
if s:CurrentChar() == ' '
|
if s:current_char() == ' '
|
||||||
call search('\v\S', 'W')
|
call search('\v\S', 'W')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" If we moved to another line, there is no word after the (. We
|
" If we moved to another line, there is no word after the (. We
|
||||||
" use the ( position for indent.
|
" use the ( position for indent.
|
||||||
if line(".") > paren[0]
|
if line(".") > paren[0]
|
||||||
return paren[1]
|
return paren
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" We still have to check, whether the keyword starts with a (, [ or {.
|
" We still have to check, whether the keyword starts with a (, [ or {.
|
||||||
" In that case we use the ( position for indent.
|
" In that case we use the ( position for indent.
|
||||||
let w = s:CurrentWord()
|
let w = s:current_word()
|
||||||
if stridx('([{', w[0]) > -1
|
if s:bracket_type(w[0]) == 1
|
||||||
return paren[1]
|
return paren
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Test words without namespace qualifiers and leading reader macro
|
" Test words without namespace qualifiers and leading reader macro
|
||||||
" metacharacters.
|
" metacharacters.
|
||||||
"
|
"
|
||||||
" e.g. clojure.core/defn and #'defn should both indent like defn.
|
" e.g. clojure.core/defn and #'defn should both indent like defn.
|
||||||
let ww = s:StripNamespaceAndMacroChars(w)
|
let ww = s:strip_namespace_and_macro_chars(w)
|
||||||
|
|
||||||
if &lispwords =~# '\V\<' . ww . '\>'
|
if &lispwords =~# '\V\<' . ww . '\>'
|
||||||
return paren[1] + &shiftwidth - 1
|
return [paren[0], paren[1] + &shiftwidth - 1]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if g:clojure_fuzzy_indent
|
if g:clojure_fuzzy_indent
|
||||||
\ && !s:MatchesOne(g:clojure_fuzzy_indent_blacklist, ww)
|
\ && !s:match_one(g:clojure_fuzzy_indent_blacklist, ww)
|
||||||
\ && s:MatchesOne(g:clojure_fuzzy_indent_patterns, ww)
|
\ && s:match_one(g:clojure_fuzzy_indent_patterns, ww)
|
||||||
return paren[1] + &shiftwidth - 1
|
return [paren[0], paren[1] + &shiftwidth - 1]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
call search('\v\_s', 'cW')
|
call search('\v\_s', 'cW')
|
||||||
call search('\v\S', 'W')
|
call search('\v\S', 'W')
|
||||||
if paren[0] < line(".")
|
if paren[0] < line(".")
|
||||||
return paren[1] + (g:clojure_align_subforms ? 0 : &shiftwidth - 1)
|
return [paren[0], paren[1] + (g:clojure_align_subforms ? 0 : &shiftwidth - 1)]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
call search('\v\S', 'bW')
|
call search('\v\S', 'bW')
|
||||||
return virtcol(".") + 1
|
return [line('.'), col('.') + 1]
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! GetClojureIndent()
|
||||||
|
let lnum = line('.')
|
||||||
|
let orig_lnum = lnum
|
||||||
|
let orig_col = col('.')
|
||||||
|
let [opening_lnum, indent] = s:clojure_indent_pos()
|
||||||
|
|
||||||
|
" Account for multibyte characters
|
||||||
|
if opening_lnum > 0
|
||||||
|
let indent -= indent - virtcol([opening_lnum, indent])
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Return if there are no previous lines to inherit from
|
||||||
|
if opening_lnum < 1 || opening_lnum >= lnum - 1
|
||||||
|
call cursor(orig_lnum, orig_col)
|
||||||
|
return indent
|
||||||
|
endif
|
||||||
|
|
||||||
|
let bracket_count = 0
|
||||||
|
|
||||||
|
" Take the indent of the first previous non-white line that is
|
||||||
|
" at the same sexp level. cf. src/misc1.c:get_lisp_indent()
|
||||||
|
while 1
|
||||||
|
let lnum = prevnonblank(lnum - 1)
|
||||||
|
let col = 1
|
||||||
|
|
||||||
|
if lnum <= opening_lnum
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
|
||||||
|
call cursor(lnum, col)
|
||||||
|
|
||||||
|
" Handle bracket counting edge case
|
||||||
|
if s:is_paren()
|
||||||
|
let bracket_count += s:bracket_type(s:current_char())
|
||||||
|
endif
|
||||||
|
|
||||||
|
while 1
|
||||||
|
if search('\v[(\[{}\])]', '', lnum) < 1
|
||||||
|
break
|
||||||
|
elseif !s:ignored_region()
|
||||||
|
let bracket_count += s:bracket_type(s:current_char())
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
if bracket_count == 0
|
||||||
|
" Check if this is part of a multiline string
|
||||||
|
call cursor(lnum, 1)
|
||||||
|
if s:syn_id_name() !~? '\vstring|regex'
|
||||||
|
call cursor(orig_lnum, orig_col)
|
||||||
|
return indent(lnum)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
call cursor(orig_lnum, orig_col)
|
||||||
|
return indent
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
setlocal indentexpr=GetClojureIndent()
|
setlocal indentexpr=GetClojureIndent()
|
||||||
|
108
runtime/keymap/armenian-eastern_utf-8.vim
Normal file
108
runtime/keymap/armenian-eastern_utf-8.vim
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
" Maintainer: Benjamin Linskey <vim@benlinskey.com>
|
||||||
|
" Last Changed: 2016 July 20
|
||||||
|
" URL: https://github.com/blinskey/vim-armenian-keymaps
|
||||||
|
|
||||||
|
let b:keymap_name = "hy"
|
||||||
|
|
||||||
|
loadkeymap
|
||||||
|
|
||||||
|
" Capital letters
|
||||||
|
A Ա
|
||||||
|
B Բ
|
||||||
|
C Գ
|
||||||
|
D Դ
|
||||||
|
Y Ե
|
||||||
|
Z Զ
|
||||||
|
E Է
|
||||||
|
U Ը
|
||||||
|
: Թ
|
||||||
|
+ Ժ
|
||||||
|
I Ի
|
||||||
|
L Լ
|
||||||
|
Q Խ
|
||||||
|
? Ծ
|
||||||
|
K Կ
|
||||||
|
H Հ
|
||||||
|
@ Ձ
|
||||||
|
> Ղ
|
||||||
|
J Ճ
|
||||||
|
M Մ
|
||||||
|
# Յ
|
||||||
|
N Ն
|
||||||
|
< Շ
|
||||||
|
O Ո
|
||||||
|
{ Չ
|
||||||
|
P Պ
|
||||||
|
} Ջ
|
||||||
|
_ Ռ
|
||||||
|
S Ս
|
||||||
|
V Վ
|
||||||
|
T Տ
|
||||||
|
R Ր
|
||||||
|
X Ց
|
||||||
|
W Ւ
|
||||||
|
\" Փ
|
||||||
|
G Ք
|
||||||
|
) Օ
|
||||||
|
F Ֆ
|
||||||
|
|
||||||
|
" Lowercase letters
|
||||||
|
a ա
|
||||||
|
b բ
|
||||||
|
c գ
|
||||||
|
d դ
|
||||||
|
y ե
|
||||||
|
z զ
|
||||||
|
e է
|
||||||
|
u ը
|
||||||
|
; թ
|
||||||
|
= ժ
|
||||||
|
i ի
|
||||||
|
l լ
|
||||||
|
q խ
|
||||||
|
/ ծ
|
||||||
|
k կ
|
||||||
|
h հ
|
||||||
|
2 ձ
|
||||||
|
. ղ
|
||||||
|
j ճ
|
||||||
|
m մ
|
||||||
|
3 յ
|
||||||
|
n ն
|
||||||
|
, շ
|
||||||
|
o ո
|
||||||
|
[ չ
|
||||||
|
p պ
|
||||||
|
] ջ
|
||||||
|
- ռ
|
||||||
|
s ս
|
||||||
|
v վ
|
||||||
|
t տ
|
||||||
|
r ր
|
||||||
|
x ց
|
||||||
|
w ւ
|
||||||
|
' փ
|
||||||
|
g ք
|
||||||
|
0 օ
|
||||||
|
f ֆ
|
||||||
|
|
||||||
|
& և
|
||||||
|
|
||||||
|
" Punctuation
|
||||||
|
` ՝
|
||||||
|
~ ՜
|
||||||
|
1 ։
|
||||||
|
4 ՛
|
||||||
|
5 ,
|
||||||
|
6 -
|
||||||
|
7 .
|
||||||
|
8 «
|
||||||
|
9 »
|
||||||
|
\\ '
|
||||||
|
| ՞
|
||||||
|
|
||||||
|
" Numbers
|
||||||
|
! 1
|
||||||
|
$ 3
|
||||||
|
% 4
|
||||||
|
^ 9
|
108
runtime/keymap/armenian-western_utf-8.vim
Normal file
108
runtime/keymap/armenian-western_utf-8.vim
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
" Maintainer: Benjamin Linskey <vim@benlinskey.com>
|
||||||
|
" Last Changed: 2016 July 20
|
||||||
|
" URL: https://github.com/blinskey/vim-armenian-keymaps
|
||||||
|
|
||||||
|
let b:keymap_name = "hy"
|
||||||
|
|
||||||
|
loadkeymap
|
||||||
|
|
||||||
|
" Capital letters
|
||||||
|
A Ա
|
||||||
|
P Բ
|
||||||
|
C Գ
|
||||||
|
T Դ
|
||||||
|
Y Ե
|
||||||
|
Z Զ
|
||||||
|
E Է
|
||||||
|
U Ը
|
||||||
|
: Թ
|
||||||
|
+ Ժ
|
||||||
|
I Ի
|
||||||
|
L Լ
|
||||||
|
Q Խ
|
||||||
|
? Ծ
|
||||||
|
G Կ
|
||||||
|
H Հ
|
||||||
|
@ Ձ
|
||||||
|
> Ղ
|
||||||
|
J Ճ
|
||||||
|
M Մ
|
||||||
|
# Յ
|
||||||
|
N Ն
|
||||||
|
< Շ
|
||||||
|
O Ո
|
||||||
|
{ Չ
|
||||||
|
B Պ
|
||||||
|
} Ջ
|
||||||
|
_ Ռ
|
||||||
|
S Ս
|
||||||
|
W Վ
|
||||||
|
D Տ
|
||||||
|
R Ր
|
||||||
|
X Ց
|
||||||
|
V Ւ
|
||||||
|
\" Փ
|
||||||
|
K Ք
|
||||||
|
) Օ
|
||||||
|
F Ֆ
|
||||||
|
|
||||||
|
" Lowercase letters
|
||||||
|
a ա
|
||||||
|
p բ
|
||||||
|
c գ
|
||||||
|
t դ
|
||||||
|
y ե
|
||||||
|
z զ
|
||||||
|
e է
|
||||||
|
u ը
|
||||||
|
; թ
|
||||||
|
= ժ
|
||||||
|
i ի
|
||||||
|
l լ
|
||||||
|
q խ
|
||||||
|
/ ծ
|
||||||
|
g կ
|
||||||
|
h հ
|
||||||
|
2 ձ
|
||||||
|
. ղ
|
||||||
|
j ճ
|
||||||
|
m մ
|
||||||
|
3 յ
|
||||||
|
n ն
|
||||||
|
, շ
|
||||||
|
o ո
|
||||||
|
[ չ
|
||||||
|
b պ
|
||||||
|
] ջ
|
||||||
|
- ռ
|
||||||
|
s ս
|
||||||
|
w վ
|
||||||
|
d տ
|
||||||
|
r ր
|
||||||
|
x ց
|
||||||
|
v ւ
|
||||||
|
' փ
|
||||||
|
k ք
|
||||||
|
0 օ
|
||||||
|
f ֆ
|
||||||
|
|
||||||
|
& և
|
||||||
|
|
||||||
|
" Punctuation
|
||||||
|
` ՝
|
||||||
|
~ ՜
|
||||||
|
1 ։
|
||||||
|
4 ՛
|
||||||
|
5 ,
|
||||||
|
6 -
|
||||||
|
7 .
|
||||||
|
8 «
|
||||||
|
9 »
|
||||||
|
\\ '
|
||||||
|
| ՞
|
||||||
|
|
||||||
|
" Numbers
|
||||||
|
! 1
|
||||||
|
$ 3
|
||||||
|
% 4
|
||||||
|
^ 9
|
File diff suppressed because one or more lines are too long
@@ -1,7 +1,7 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: Python
|
" Language: Python
|
||||||
" Maintainer: Zvezdan Petkovic <zpetkovic@acm.org>
|
" Maintainer: Zvezdan Petkovic <zpetkovic@acm.org>
|
||||||
" Last Change: 2016 Feb 20
|
" Last Change: 2016 Jul 21
|
||||||
" Credits: Neil Schemenauer <nas@python.ca>
|
" Credits: Neil Schemenauer <nas@python.ca>
|
||||||
" Dmitry Vasiliev
|
" Dmitry Vasiliev
|
||||||
"
|
"
|
||||||
@@ -72,7 +72,7 @@ set cpo&vim
|
|||||||
" built-in below (use 'from __future__ import print_function' in 2)
|
" built-in below (use 'from __future__ import print_function' in 2)
|
||||||
" - async and await were added in Python 3.5 and are soft keywords.
|
" - async and await were added in Python 3.5 and are soft keywords.
|
||||||
"
|
"
|
||||||
syn keyword pythonStatement False, None, True
|
syn keyword pythonStatement False None True
|
||||||
syn keyword pythonStatement as assert break continue del exec global
|
syn keyword pythonStatement as assert break continue del exec global
|
||||||
syn keyword pythonStatement lambda nonlocal pass print return with yield
|
syn keyword pythonStatement lambda nonlocal pass print return with yield
|
||||||
syn keyword pythonStatement class def nextgroup=pythonFunction skipwhite
|
syn keyword pythonStatement class def nextgroup=pythonFunction skipwhite
|
||||||
|
@@ -4,7 +4,12 @@
|
|||||||
" Repository: https://github.com/chrisbra/vim-sqloracle-syntax
|
" Repository: https://github.com/chrisbra/vim-sqloracle-syntax
|
||||||
" License: Vim
|
" License: Vim
|
||||||
" Previous Maintainer: Paul Moore
|
" Previous Maintainer: Paul Moore
|
||||||
" Last Change: 2015 Nov 24
|
" Last Change: 2016 Jul 22
|
||||||
|
|
||||||
|
" Changes:
|
||||||
|
" 02.04.2016: Support for when keyword
|
||||||
|
" 03.04.2016: Support for join related keywords
|
||||||
|
" 22.07.2016: Support Oracle Q-Quote-Syntax
|
||||||
|
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
@@ -24,10 +29,11 @@ syn keyword sqlKeyword index initial initrans into is level link logging loop
|
|||||||
syn keyword sqlKeyword maxextents maxtrans mode modify monitoring
|
syn keyword sqlKeyword maxextents maxtrans mode modify monitoring
|
||||||
syn keyword sqlKeyword nocache nocompress nologging noparallel nowait of offline on online start
|
syn keyword sqlKeyword nocache nocompress nologging noparallel nowait of offline on online start
|
||||||
syn keyword sqlKeyword parallel successful synonym table tablespace then to trigger uid
|
syn keyword sqlKeyword parallel successful synonym table tablespace then to trigger uid
|
||||||
syn keyword sqlKeyword unique user validate values view whenever
|
syn keyword sqlKeyword unique user validate values view when whenever
|
||||||
syn keyword sqlKeyword where with option order pctfree pctused privileges procedure
|
syn keyword sqlKeyword where with option order pctfree pctused privileges procedure
|
||||||
syn keyword sqlKeyword public resource return row rowlabel rownum rows
|
syn keyword sqlKeyword public resource return row rowlabel rownum rows
|
||||||
syn keyword sqlKeyword session share size smallint type using
|
syn keyword sqlKeyword session share size smallint type using
|
||||||
|
syn keyword sqlKeyword join cross inner outer left right
|
||||||
|
|
||||||
syn keyword sqlOperator not and or
|
syn keyword sqlOperator not and or
|
||||||
syn keyword sqlOperator in any some all between exists
|
syn keyword sqlOperator in any some all between exists
|
||||||
@@ -47,8 +53,13 @@ syn keyword sqlType boolean char character date float integer long
|
|||||||
syn keyword sqlType mlslabel number raw rowid varchar varchar2 varray
|
syn keyword sqlType mlslabel number raw rowid varchar varchar2 varray
|
||||||
|
|
||||||
" Strings:
|
" Strings:
|
||||||
syn region sqlString start=+"+ skip=+\\\\\|\\"+ end=+"+
|
syn region sqlString matchgroup=Quote start=+"+ skip=+\\\\\|\\"+ end=+"+
|
||||||
syn region sqlString start=+'+ skip=+\\\\\|\\'+ end=+'+
|
syn region sqlString matchgroup=Quote start=+'+ skip=+\\\\\|\\'+ end=+'+
|
||||||
|
syn region sqlString matchgroup=Quote start=+n\?q'\z([^[(<{]\)+ end=+\z1'+
|
||||||
|
syn region sqlString matchgroup=Quote start=+n\?q'<+ end=+>'+
|
||||||
|
syn region sqlString matchgroup=Quote start=+n\?q'{+ end=+}'+
|
||||||
|
syn region sqlString matchgroup=Quote start=+n\?q'(+ end=+)'+
|
||||||
|
syn region sqlString matchgroup=Quote start=+n\?q'\[+ end=+]'+
|
||||||
|
|
||||||
" Numbers:
|
" Numbers:
|
||||||
syn match sqlNumber "-\=\<\d*\.\=[0-9_]\>"
|
syn match sqlNumber "-\=\<\d*\.\=[0-9_]\>"
|
||||||
@@ -118,6 +129,7 @@ syn keyword sqlTodo TODO FIXME XXX DEBUG NOTE contained
|
|||||||
|
|
||||||
" Define the default highlighting.
|
" Define the default highlighting.
|
||||||
command -nargs=+ HiLink hi def link <args>
|
command -nargs=+ HiLink hi def link <args>
|
||||||
|
HiLink Quote Special
|
||||||
HiLink sqlComment Comment
|
HiLink sqlComment Comment
|
||||||
HiLink sqlFunction Function
|
HiLink sqlFunction Function
|
||||||
HiLink sqlKeyword sqlSpecial
|
HiLink sqlKeyword sqlSpecial
|
||||||
|
@@ -17162,7 +17162,7 @@ static void f_tempname(typval_T *argvars, typval_T *rettv, FunPtr fptr)
|
|||||||
// "test_autochdir()" function
|
// "test_autochdir()" function
|
||||||
static void f_test_autochdir(typval_T *argvars, typval_T *rettv, FunPtr fptr)
|
static void f_test_autochdir(typval_T *argvars, typval_T *rettv, FunPtr fptr)
|
||||||
{
|
{
|
||||||
test_autochdir = TRUE;
|
test_autochdir = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// "termopen(cmd[, cwd])" function
|
// "termopen(cmd[, cwd])" function
|
||||||
|
@@ -641,7 +641,7 @@ EXTERN volatile int full_screen INIT(= FALSE);
|
|||||||
/* TRUE when doing full-screen output
|
/* TRUE when doing full-screen output
|
||||||
* otherwise only writing some messages */
|
* otherwise only writing some messages */
|
||||||
|
|
||||||
EXTERN int test_autochdir INIT(= FALSE);
|
EXTERN int test_autochdir INIT(= false);
|
||||||
|
|
||||||
EXTERN int restricted INIT(= FALSE);
|
EXTERN int restricted INIT(= FALSE);
|
||||||
// TRUE when started in restricted mode (-Z)
|
// TRUE when started in restricted mode (-Z)
|
||||||
|
@@ -30,6 +30,7 @@ SCRIPTS := \
|
|||||||
# Tests using runtest.vim.vim.
|
# Tests using runtest.vim.vim.
|
||||||
# Keep test_alot*.res as the last one, sort the others.
|
# Keep test_alot*.res as the last one, sort the others.
|
||||||
NEW_TESTS = \
|
NEW_TESTS = \
|
||||||
|
test_autochdir.res \
|
||||||
test_bufwintabinfo.res \
|
test_bufwintabinfo.res \
|
||||||
test_cmdline.res \
|
test_cmdline.res \
|
||||||
test_cscope.res \
|
test_cscope.res \
|
||||||
@@ -43,8 +44,8 @@ NEW_TESTS = \
|
|||||||
test_quickfix.res \
|
test_quickfix.res \
|
||||||
test_signs.res \
|
test_signs.res \
|
||||||
test_syntax.res \
|
test_syntax.res \
|
||||||
test_usercommands.res \
|
|
||||||
test_timers.res \
|
test_timers.res \
|
||||||
|
test_usercommands.res \
|
||||||
test_viml.res \
|
test_viml.res \
|
||||||
test_visual.res \
|
test_visual.res \
|
||||||
test_window_id.res \
|
test_window_id.res \
|
||||||
|
@@ -3,7 +3,6 @@
|
|||||||
|
|
||||||
source test_assign.vim
|
source test_assign.vim
|
||||||
source test_autocmd.vim
|
source test_autocmd.vim
|
||||||
source test_autochdir.vim
|
|
||||||
source test_cursor_func.vim
|
source test_cursor_func.vim
|
||||||
source test_ex_undo.vim
|
source test_ex_undo.vim
|
||||||
source test_expr.vim
|
source test_expr.vim
|
||||||
|
Reference in New Issue
Block a user