mirror of
https://github.com/zoriya/vim.git
synced 2026-01-06 06:18:14 +00:00
Compare commits
258 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2be795084f | ||
|
|
5a669b9481 | ||
|
|
07cf382e22 | ||
|
|
d21e8b3a17 | ||
|
|
8f4ac01544 | ||
|
|
0106b4b891 | ||
|
|
e98cfe1cc9 | ||
|
|
6b1ee34aa0 | ||
|
|
04d17ae167 | ||
|
|
9b352c46f0 | ||
|
|
b5a7a8b545 | ||
|
|
8c1329cb59 | ||
|
|
e0f148270a | ||
|
|
ece29e8013 | ||
|
|
4e067c898e | ||
|
|
b81c85d8f3 | ||
|
|
4f5ce33d41 | ||
|
|
23fb7a9955 | ||
|
|
278eb5820d | ||
|
|
932e632de3 | ||
|
|
dbc2802251 | ||
|
|
2bace3e2fb | ||
|
|
20c3892e54 | ||
|
|
17529ae026 | ||
|
|
12a28d4b29 | ||
|
|
158a1b0748 | ||
|
|
fb60409a3f | ||
|
|
54368f2742 | ||
|
|
674fffe855 | ||
|
|
a1fae80371 | ||
|
|
4f88062c55 | ||
|
|
07d87790f1 | ||
|
|
a04854932e | ||
|
|
1f538355db | ||
|
|
5524aebf16 | ||
|
|
b5647f71c2 | ||
|
|
4e036c9e6f | ||
|
|
b643e77782 | ||
|
|
f1924a9d8c | ||
|
|
310e2dbaee | ||
|
|
b4d2135518 | ||
|
|
db6ea06335 | ||
|
|
3ed8b1332f | ||
|
|
455009122a | ||
|
|
1e1aca3784 | ||
|
|
c804515003 | ||
|
|
ff65ac84fd | ||
|
|
0d1e8c1203 | ||
|
|
6bf5548df2 | ||
|
|
0bed10a813 | ||
|
|
cc57bb2f85 | ||
|
|
8bb1c3e53e | ||
|
|
9f4fe7c4c3 | ||
|
|
b8b57460f0 | ||
|
|
86b17e914f | ||
|
|
ee739b42c0 | ||
|
|
c35e3de8cc | ||
|
|
81439a6d1b | ||
|
|
dab70c63e1 | ||
|
|
e7eb789ef0 | ||
|
|
b7d929a86f | ||
|
|
9d7a592c80 | ||
|
|
a40aa760a1 | ||
|
|
946e27ab65 | ||
|
|
b6da44ae82 | ||
|
|
41d7523986 | ||
|
|
db5ffaab5a | ||
|
|
e8a3492548 | ||
|
|
72e8f0bcc1 | ||
|
|
8dc907d7d3 | ||
|
|
597a422416 | ||
|
|
15a35c4f4a | ||
|
|
78159bbf9e | ||
|
|
e8d1f20cbd | ||
|
|
deae0f2566 | ||
|
|
de993ea629 | ||
|
|
58cbc914ea | ||
|
|
7ec83432b7 | ||
|
|
b3414595c7 | ||
|
|
ec1561cac5 | ||
|
|
7a54a90744 | ||
|
|
8502c704ba | ||
|
|
f0224c9f08 | ||
|
|
0ae36a5c85 | ||
|
|
822ff866bd | ||
|
|
2d54ec92d4 | ||
|
|
8e7048ca4b | ||
|
|
e639eb44e9 | ||
|
|
0e6c5ef7ef | ||
|
|
3be8585661 | ||
|
|
980e58f7b3 | ||
|
|
e3a8bab630 | ||
|
|
06e4a6df0a | ||
|
|
7116aa0f7d | ||
|
|
c35b0fb181 | ||
|
|
ea389e9103 | ||
|
|
6f6c0f8085 | ||
|
|
2d1fe05fc0 | ||
|
|
82c2585eb8 | ||
|
|
493c178a28 | ||
|
|
dd0402a759 | ||
|
|
846a2ff5f3 | ||
|
|
cbc17d66be | ||
|
|
9a665ba296 | ||
|
|
13600303c5 | ||
|
|
90013c6a75 | ||
|
|
b777618d11 | ||
|
|
e4c21e6899 | ||
|
|
bc6cf6c511 | ||
|
|
b42970535c | ||
|
|
7b129a5ac4 | ||
|
|
cf1b057939 | ||
|
|
cbc67723bd | ||
|
|
050fe7ebad | ||
|
|
1c5a2134db | ||
|
|
e968e36a00 | ||
|
|
715c286355 | ||
|
|
24dc230871 | ||
|
|
caca646bf0 | ||
|
|
8df5acfda9 | ||
|
|
6082bea6ac | ||
|
|
6e13207d82 | ||
|
|
9c235069b2 | ||
|
|
ee4825331a | ||
|
|
be578edae3 | ||
|
|
46ae3cedeb | ||
|
|
59838520c7 | ||
|
|
fd859c9878 | ||
|
|
ed7547da43 | ||
|
|
d442ec7fe2 | ||
|
|
b7547420a4 | ||
|
|
04ad7fe05c | ||
|
|
56b3bf89aa | ||
|
|
1b1063af58 | ||
|
|
3ec7f4e402 | ||
|
|
0d3d5e0483 | ||
|
|
75a8d74cc2 | ||
|
|
f4d7f167f3 | ||
|
|
a7611f60cd | ||
|
|
bcb9898eba | ||
|
|
b96c69d80e | ||
|
|
e512c8c049 | ||
|
|
121f9bdde4 | ||
|
|
1ff32c5c2c | ||
|
|
3d1956bcc9 | ||
|
|
355a95a079 | ||
|
|
d69bd9af3c | ||
|
|
33e87789a7 | ||
|
|
a4f317df89 | ||
|
|
eccb7fc315 | ||
|
|
163d0da508 | ||
|
|
2af78a1408 | ||
|
|
93fc481b57 | ||
|
|
9bdfb0025c | ||
|
|
62f167f716 | ||
|
|
c8836f7025 | ||
|
|
0eac828ab0 | ||
|
|
b21a29be56 | ||
|
|
e29b1feead | ||
|
|
c09551ab79 | ||
|
|
5a4e160ce4 | ||
|
|
7bcdb7d166 | ||
|
|
4c7ab1bb57 | ||
|
|
75b8156a44 | ||
|
|
7e38ea2fb6 | ||
|
|
e9a54227f9 | ||
|
|
7d647820ed | ||
|
|
39c29ed511 | ||
|
|
57ebe6e2f9 | ||
|
|
4ed89cdf41 | ||
|
|
21e854e5ce | ||
|
|
57a728d1df | ||
|
|
5a50c2255c | ||
|
|
b7cb42bc38 | ||
|
|
41571769c9 | ||
|
|
fe5aab63fe | ||
|
|
3e45159ceb | ||
|
|
5bd32f47ec | ||
|
|
6716d9af11 | ||
|
|
7f3be402ce | ||
|
|
c7f025536e | ||
|
|
a1706c958e | ||
|
|
31b7d38611 | ||
|
|
fd3fe98b78 | ||
|
|
efa304d760 | ||
|
|
e7a88a8d4e | ||
|
|
a392038db5 | ||
|
|
922a4664fe | ||
|
|
498af70e06 | ||
|
|
3d6db1467b | ||
|
|
76f3b1ad77 | ||
|
|
73b044dca9 | ||
|
|
2bcaec320a | ||
|
|
7db7784103 | ||
|
|
a6fd37be4f | ||
|
|
158864120d | ||
|
|
c666b5b467 | ||
|
|
b679875b29 | ||
|
|
327aa02dda | ||
|
|
1a3eb8e1b5 | ||
|
|
c410530637 | ||
|
|
7b44934037 | ||
|
|
03305f396f | ||
|
|
5803ae6c07 | ||
|
|
f7ff6e85e8 | ||
|
|
a687837516 | ||
|
|
ed287f9a4e | ||
|
|
4c9a949d00 | ||
|
|
529d2d6369 | ||
|
|
2fb9fa19e2 | ||
|
|
9c8c8c5d30 | ||
|
|
a0844a1170 | ||
|
|
f0bdd2f28d | ||
|
|
1d9ff43f58 | ||
|
|
8eded09bf7 | ||
|
|
b1692e2b8f | ||
|
|
af6c131bf7 | ||
|
|
24ff9e33a9 | ||
|
|
27bed20452 | ||
|
|
d8619997c4 | ||
|
|
206f011829 | ||
|
|
f7dc2b5517 | ||
|
|
038e5d4766 | ||
|
|
4064e24a0f | ||
|
|
0858917e43 | ||
|
|
4de6a212f9 | ||
|
|
47b8342abd | ||
|
|
251835e14f | ||
|
|
26df092843 | ||
|
|
581966e832 | ||
|
|
f30caaf08d | ||
|
|
a2aa31a926 | ||
|
|
7d311c52ce | ||
|
|
b1d90a3d77 | ||
|
|
631abc35df | ||
|
|
9feaf6206f | ||
|
|
c86438205b | ||
|
|
45e2bcc275 | ||
|
|
06811f33ce | ||
|
|
403b3cf0a1 | ||
|
|
0e4eebd425 | ||
|
|
f92d8a254a | ||
|
|
92dff1827a | ||
|
|
b8e2305656 | ||
|
|
2d5f38ff10 | ||
|
|
cd981f2e0f | ||
|
|
3b5226121d | ||
|
|
12a0f22340 | ||
|
|
4d504a3e11 | ||
|
|
0a36fece92 | ||
|
|
c467d9b274 | ||
|
|
10395d8d6c | ||
|
|
a1a118b159 | ||
|
|
4f943c09a5 | ||
|
|
f31ecce97e | ||
|
|
767568846b | ||
|
|
dd415a6c5a | ||
|
|
f50eb7882e |
17
.gitignore
vendored
17
.gitignore
vendored
@@ -45,6 +45,9 @@ bcc.cfg
|
||||
*.map
|
||||
*.tds
|
||||
|
||||
# NetBeans
|
||||
nbproject/*
|
||||
|
||||
# Mac OSX
|
||||
src/xxd/xxd.dSYM
|
||||
|
||||
@@ -55,14 +58,16 @@ src/xxd/xxd.dSYM
|
||||
*.swp
|
||||
*~
|
||||
*.pyc
|
||||
*.log
|
||||
src/po/vim.pot
|
||||
|
||||
# Generated by "make test"
|
||||
src/po/*.ck
|
||||
src/testdir/mbyte.vim
|
||||
src/testdir/mzscheme.vim
|
||||
src/testdir/lua.vim
|
||||
src/testdir/small.vim
|
||||
src/testdir/tiny.vim
|
||||
src/po/*.ck
|
||||
src/testdir/mbyte.vim
|
||||
src/testdir/mzscheme.vim
|
||||
src/testdir/lua.vim
|
||||
src/testdir/small.vim
|
||||
src/testdir/tiny.vim
|
||||
src/testdir/test*.out
|
||||
src/testdir/test.log
|
||||
src/memfile_test
|
||||
|
||||
11
Filelist
11
Filelist
@@ -3,6 +3,7 @@
|
||||
|
||||
# source files for all source archives
|
||||
SRC_ALL = \
|
||||
.hgignore \
|
||||
src/README.txt \
|
||||
src/arabic.c \
|
||||
src/arabic.h \
|
||||
@@ -10,6 +11,8 @@ SRC_ALL = \
|
||||
src/blowfish.c \
|
||||
src/buffer.c \
|
||||
src/charset.c \
|
||||
src/crypt.c \
|
||||
src/crypt_zip.c \
|
||||
src/diff.c \
|
||||
src/digraph.c \
|
||||
src/edit.c \
|
||||
@@ -82,9 +85,13 @@ SRC_ALL = \
|
||||
src/testdir/*.in \
|
||||
src/testdir/sautest/autoload/*.vim \
|
||||
src/testdir/test[0-9]*.ok \
|
||||
src/testdir/test[0-9]*a.ok \
|
||||
src/testdir/test_[a-z]*.ok \
|
||||
src/testdir/test49.vim \
|
||||
src/testdir/test60.vim \
|
||||
src/testdir/test83-tags? \
|
||||
src/testdir/test77a.com \
|
||||
src/testdir/test_*.vim \
|
||||
src/testdir/python2/*.py \
|
||||
src/testdir/python3/*.py \
|
||||
src/testdir/pythonx/*.py \
|
||||
@@ -98,6 +105,8 @@ SRC_ALL = \
|
||||
src/proto/blowfish.pro \
|
||||
src/proto/buffer.pro \
|
||||
src/proto/charset.pro \
|
||||
src/proto/crypt.pro \
|
||||
src/proto/crypt_zip.pro \
|
||||
src/proto/diff.pro \
|
||||
src/proto/digraph.pro \
|
||||
src/proto/edit.pro \
|
||||
@@ -284,6 +293,8 @@ SRC_DOS = \
|
||||
src/dosinst.h \
|
||||
src/glbl_ime.cpp \
|
||||
src/glbl_ime.h \
|
||||
src/gui_dwrite.cpp \
|
||||
src/gui_dwrite.h \
|
||||
src/gui_w16.c \
|
||||
src/gui_w32.c \
|
||||
src/gui_w48.c \
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,7 +1,49 @@
|
||||
" Vim completion script
|
||||
" Language: HTML and XHTML
|
||||
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||
" Last Change: 2011 Apr 28
|
||||
" Last Change: 2014 Jun 20
|
||||
|
||||
" Distinguish between HTML versions.
|
||||
" To use with other HTML versions add another "elseif" condition to match
|
||||
" proper DOCTYPE.
|
||||
function! htmlcomplete#DetectOmniFlavor()
|
||||
if &filetype == 'xhtml'
|
||||
let b:html_omni_flavor = 'xhtml10s'
|
||||
else
|
||||
let b:html_omni_flavor = 'html401t'
|
||||
endif
|
||||
let i = 1
|
||||
let line = ""
|
||||
while i < 10 && i < line("$")
|
||||
let line = getline(i)
|
||||
if line =~ '<!DOCTYPE.*\<DTD '
|
||||
break
|
||||
endif
|
||||
let i += 1
|
||||
endwhile
|
||||
if line =~ '<!DOCTYPE.*\<DTD ' " doctype line found above
|
||||
if line =~ ' HTML 3\.2'
|
||||
let b:html_omni_flavor = 'html32'
|
||||
elseif line =~ ' XHTML 1\.1'
|
||||
let b:html_omni_flavor = 'xhtml11'
|
||||
else " two-step detection with strict/frameset/transitional
|
||||
if line =~ ' XHTML 1\.0'
|
||||
let b:html_omni_flavor = 'xhtml10'
|
||||
elseif line =~ ' HTML 4\.01'
|
||||
let b:html_omni_flavor = 'html401'
|
||||
elseif line =~ ' HTML 4.0\>'
|
||||
let b:html_omni_flavor = 'html40'
|
||||
endif
|
||||
if line =~ '\<Transitional\>'
|
||||
let b:html_omni_flavor .= 't'
|
||||
elseif line =~ '\<Frameset\>'
|
||||
let b:html_omni_flavor .= 'f'
|
||||
else
|
||||
let b:html_omni_flavor .= 's'
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! htmlcomplete#CompleteTags(findstart, base)
|
||||
if a:findstart
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -1,10 +1,10 @@
|
||||
" Vim color file
|
||||
" Maintainer: David Schweikert <dws@ee.ethz.ch>
|
||||
" Last Change: 2006 Apr 30
|
||||
" Maintainer: David Schweikert <david@schweikert.ch>
|
||||
" Last Change: 2014 Mar 19
|
||||
|
||||
hi clear
|
||||
|
||||
let colors_name = "delek"
|
||||
let g:colors_name = "delek"
|
||||
|
||||
" Normal should come first
|
||||
hi Normal guifg=Black guibg=White
|
||||
@@ -28,7 +28,11 @@ hi NonText ctermfg=Blue gui=bold guifg=gray guibg=white
|
||||
hi Pmenu guibg=LightBlue
|
||||
hi PmenuSel ctermfg=White ctermbg=DarkBlue guifg=White guibg=DarkBlue
|
||||
hi Question ctermfg=DarkGreen gui=bold guifg=SeaGreen
|
||||
hi Search ctermfg=NONE ctermbg=Yellow guibg=Yellow guifg=NONE
|
||||
if &background == "light"
|
||||
hi Search ctermfg=NONE ctermbg=Yellow guibg=Yellow guifg=NONE
|
||||
else
|
||||
hi Search ctermfg=Black ctermbg=Yellow guibg=Yellow guifg=Black
|
||||
endif
|
||||
hi SpecialKey ctermfg=DarkBlue guifg=Blue
|
||||
hi StatusLine cterm=bold ctermbg=blue ctermfg=yellow guibg=gold guifg=blue
|
||||
hi StatusLineNC cterm=bold ctermbg=blue ctermfg=black guibg=gold guifg=blue
|
||||
|
||||
40
runtime/colors/industry.vim
Normal file
40
runtime/colors/industry.vim
Normal file
@@ -0,0 +1,40 @@
|
||||
" Vim color file
|
||||
" Maintainer: Shian Lee
|
||||
" Last Change: 2014 Mar 6 (for vim 7.4)
|
||||
" Remark: "industry" stands for 'industrial' color scheme. In industrial
|
||||
" HMI (Human-Machine-Interface) programming, using a standard color
|
||||
" scheme is mandatory in many cases (in traffic-lights for example):
|
||||
" LIGHT_RED is 'Warning'
|
||||
" LIGHT_YELLOW is 'Attention'
|
||||
" LIGHT_GREEN is 'Normal'
|
||||
" LIGHT_MAGENTA is 'Warning-Attention' (light RED-YELLOW)
|
||||
" LIGHT_CYAN is 'Attention-Normal' (light YELLOW-GREEN).
|
||||
" BLACK is Dark-High-Contrast Background for maximum safety.
|
||||
" BLUE is Shade of BLACK (not supposed to get attention).
|
||||
"
|
||||
" Industrial color scheme is by nature clear, safe and productive.
|
||||
" Yet, depends on the file type's syntax, it might appear incorrect.
|
||||
|
||||
" Reset to dark background, then reset everything to defaults:
|
||||
set background=dark
|
||||
highlight clear
|
||||
if exists("syntax_on")
|
||||
syntax reset
|
||||
endif
|
||||
|
||||
let colors_name = "industry"
|
||||
|
||||
" First set Normal to regular white on black text colors:
|
||||
hi Normal ctermfg=LightGray ctermbg=Black guifg=#dddddd guibg=Black
|
||||
|
||||
" Syntax highlighting (other color-groups using default, see :help group-name):
|
||||
hi Comment cterm=NONE ctermfg=DarkCyan gui=NONE guifg=#00aaaa
|
||||
hi Constant cterm=NONE ctermfg=LightCyan gui=NONE guifg=#00ffff
|
||||
hi Identifier cterm=NONE ctermfg=LightMagenta gui=NONE guifg=#ff00ff
|
||||
hi Function cterm=NONE ctermfg=LightGreen gui=NONE guifg=#00ff00
|
||||
hi Statement cterm=NONE ctermfg=White gui=bold guifg=#ffffff
|
||||
hi PreProc cterm=NONE ctermfg=Yellow gui=NONE guifg=#ffff00
|
||||
hi Type cterm=NONE ctermfg=LightGreen gui=bold guifg=#00ff00
|
||||
hi Special cterm=NONE ctermfg=LightRed gui=NONE guifg=#ff0000
|
||||
hi Delimiter cterm=NONE ctermfg=Yellow gui=NONE guifg=#ffff00
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 7.4. Last change: 2013 Dec 04
|
||||
*autocmd.txt* For Vim version 7.4. Last change: 2014 May 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -562,11 +562,15 @@ FileChangedRO Before making the first change to a read-only
|
||||
It is not allowed to change to another buffer
|
||||
here. You can reload the buffer but not edit
|
||||
another one.
|
||||
*E881*
|
||||
If the number of lines changes saving for undo
|
||||
may fail and the change will be aborted.
|
||||
*FileChangedShell*
|
||||
FileChangedShell When Vim notices that the modification time of
|
||||
a file has changed since editing started.
|
||||
Also when the file attributes of the file
|
||||
change. |timestamp|
|
||||
change or when the size of the file changes.
|
||||
|timestamp|
|
||||
Mostly triggered after executing a shell
|
||||
command, but also with a |:checktime| command
|
||||
or when Gvim regains input focus.
|
||||
@@ -740,7 +744,7 @@ QuickFixCmdPost Like QuickFixCmdPre, but after a quickfix
|
||||
command is run, before jumping to the first
|
||||
location. For |:cfile| and |:lfile| commands
|
||||
it is run after error file is read and before
|
||||
moving to the first error.
|
||||
moving to the first error.
|
||||
See |QuickFixCmdPost-example|.
|
||||
*QuitPre*
|
||||
QuitPre When using `:quit`, `:wq` or `:qall`, before
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 7.4. Last change: 2014 Jan 23
|
||||
*change.txt* For Vim version 7.4. Last change: 2014 Jun 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -156,6 +156,9 @@ only after a '.').
|
||||
The 'B' and 'M' flags in 'formatoptions' change the behavior for inserting
|
||||
spaces before and after a multi-byte character |fo-table|.
|
||||
|
||||
The '[ mark is set at the end of the first line that was joined, '] at the end
|
||||
of the resulting line.
|
||||
|
||||
|
||||
==============================================================================
|
||||
2. Delete and insert *delete-insert* *replacing*
|
||||
@@ -824,7 +827,7 @@ either the first or second pattern in parentheses did not match, so either
|
||||
<
|
||||
|
||||
Substitute with an expression *sub-replace-expression*
|
||||
*sub-replace-\=* *:s/\=*
|
||||
*sub-replace-\=* *s/\=*
|
||||
When the substitute string starts with "\=" the remainder is interpreted as an
|
||||
expression. This does not work recursively: a |substitute()| function inside
|
||||
the expression cannot use "\=" for the substitute string.
|
||||
@@ -1647,7 +1650,7 @@ And a few warnings:
|
||||
7. Sorting text *sorting*
|
||||
|
||||
Vim has a sorting function and a sorting command. The sorting function can be
|
||||
found here: |sort()|.
|
||||
found here: |sort()|, |uniq()|.
|
||||
|
||||
*:sor* *:sort*
|
||||
:[range]sor[t][!] [i][u][r][n][x][o] [/{pattern}/]
|
||||
@@ -1714,8 +1717,8 @@ Note that using `:sort` with `:global` doesn't sort the matching lines, it's
|
||||
quite useless.
|
||||
|
||||
The details about sorting depend on the library function used. There is no
|
||||
guarantee that sorting is "stable" or obeys the current locale. You will have
|
||||
to try it out.
|
||||
guarantee that sorting obeys the current locale. You will have to try it out.
|
||||
Vim does do a "stable" sort.
|
||||
|
||||
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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 7.4. Last change: 2013 Nov 25
|
||||
*cmdline.txt* For Vim version 7.4. Last change: 2014 Feb 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -824,8 +824,8 @@ Note: these are typed literally, they are not special keys!
|
||||
the start of the function.
|
||||
|
||||
*filename-modifiers*
|
||||
*:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs*
|
||||
*%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs*
|
||||
*:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs* *::S*
|
||||
*%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs* *%:S*
|
||||
The file name modifiers can be used after "%", "#", "#n", "<cfile>", "<sfile>",
|
||||
"<afile>" or "<abuf>". They are also used with the |fnamemodify()| function.
|
||||
These are not available when Vim has been compiled without the |+modify_fname|
|
||||
@@ -880,6 +880,10 @@ These modifiers can be given, in this order:
|
||||
:gs?pat?sub?
|
||||
Substitute all occurrences of "pat" with "sub". Otherwise
|
||||
this works like ":s".
|
||||
:S Escape special characters for use with a shell command (see
|
||||
|shellescape()|). Must be the last one. Examples: >
|
||||
:!dir <cfile>:S
|
||||
:call system('chmod +w -- ' . expand('%:S'))
|
||||
|
||||
Examples, when the file name is "src/version.c", current dir
|
||||
"/home/mool/vim": >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 7.4. Last change: 2013 Apr 27
|
||||
*develop.txt* For Vim version 7.4. Last change: 2014 Mar 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -19,7 +19,6 @@ code.
|
||||
|
||||
Vim is open source software. Everybody is encouraged to contribute to help
|
||||
improving Vim. For sending patches a context diff "diff -c" is preferred.
|
||||
Also see http://www.vim.org/tips/tip.php?tip_id=618.
|
||||
Also see http://vim.wikia.com/wiki/How_to_make_and_submit_a_patch.
|
||||
|
||||
==============================================================================
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*diff.txt* For Vim version 7.4. Last change: 2013 Sep 20
|
||||
*diff.txt* For Vim version 7.4. Last change: 2014 May 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -95,7 +95,7 @@ While already in Vim you can start diff mode in three ways.
|
||||
:difft[his] Make the current window part of the diff windows. This sets
|
||||
the options like for "vimdiff".
|
||||
|
||||
:diffp[atch] {patchfile} *E816* *:diffp* *:diffpatch*
|
||||
:diffp[atch] {patchfile} *E816* *:diffp* *:diffpatch*
|
||||
Use the current buffer, patch it with the diff found in
|
||||
{patchfile} and open a buffer on the result. The options are
|
||||
set as for "vimdiff".
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*digraph.txt* For Vim version 7.4. Last change: 2013 Dec 12
|
||||
*digraph.txt* For Vim version 7.4. Last change: 2014 Jun 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -170,6 +170,11 @@ used for the currency sign, and latin9 (iso-8859-15), where the digraph =e is
|
||||
used for the euro sign, while both of them are the character 164, 0xa4. For
|
||||
compatibility with zsh Eu can also be used for the euro sign.
|
||||
|
||||
ROUBLE
|
||||
|
||||
The rouble sign was added in 2014 as 0x20bd. Vim supports the digraphs =R and
|
||||
=P for this. Note that R= and P= are other characters.
|
||||
|
||||
*digraph-table*
|
||||
char digraph hex dec official name ~
|
||||
^@ NU 0x00 0 NULL (NUL)
|
||||
@@ -966,6 +971,8 @@ char digraph hex dec official name ~
|
||||
₧ Pt 20A7 8359 PESETA SIGN
|
||||
₩ W= 20A9 8361 WON SIGN
|
||||
€ Eu 20AC 8364 EURO SIGN
|
||||
₽ =R 20BD 8381 ROUBLE SIGN
|
||||
₽ =P 20BD 8381 ROUBLE SIGN
|
||||
℃ oC 2103 8451 DEGREE CELSIUS
|
||||
℅ co 2105 8453 CARE OF
|
||||
℉ oF 2109 8457 DEGREE FAHRENHEIT
|
||||
@@ -1077,7 +1084,7 @@ char digraph hex dec official name ~
|
||||
⊥ -T 22A5 8869 UP TACK
|
||||
⋅ .P 22C5 8901 DOT OPERATOR
|
||||
⋮ :3 22EE 8942 VERTICAL ELLIPSIS
|
||||
⋯ .3 22EF 8943 MIDLINE HORIZONTAL ELLIPSIS
|
||||
⋯ .3 22EF 8943 MIDLINE HORIZONTAL ELLIPSIS
|
||||
⌂ Eh 2302 8962 HOUSE
|
||||
⌈ <7 2308 8968 LEFT CEILING
|
||||
⌉ >7 2309 8969 RIGHT CEILING
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 7.4. Last change: 2013 Nov 25
|
||||
*editing.txt* For Vim version 7.4. Last change: 2014 Aug 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1362,11 +1362,21 @@ cannot be read without the right key.
|
||||
{only available when compiled with the |+cryptv| feature} *E833*
|
||||
|
||||
The text in the swap file and the undo file is also encrypted. *E843*
|
||||
However, this is done block-by-block and may reduce the time needed to crack a
|
||||
password. You can disable the swap file, but then a crash will cause you to
|
||||
lose your work. The undo file can be disabled without much disadvantage. >
|
||||
:set noundofile
|
||||
:noswapfile edit secrets
|
||||
|
||||
Note: The text in memory is not encrypted. A system administrator may be able
|
||||
to see your text while you are editing it. When filtering text with
|
||||
":!filter" or using ":w !command" the text is not encrypted, this may reveal
|
||||
it to others. The 'viminfo' file is not encrypted.
|
||||
":!filter" or using ":w !command" the text is also not encrypted, this may
|
||||
reveal it to others. The 'viminfo' file is not encrypted.
|
||||
|
||||
You could do this to edit very secret text: >
|
||||
:set noundofile viminfo=
|
||||
:noswapfile edit secrets.txt
|
||||
Keep in mind that without a swap file you risk loosing your work in a crash.
|
||||
|
||||
WARNING: If you make a typo when entering the key and then write the file and
|
||||
exit, the text will be lost!
|
||||
@@ -1393,18 +1403,25 @@ To disable the encryption, reset the 'key' option to an empty value: >
|
||||
:set key=
|
||||
|
||||
You can use the 'cryptmethod' option to select the type of encryption, use one
|
||||
of these two: >
|
||||
:setlocal cm=zip " weak method, backwards compatible
|
||||
:setlocal cm=blowfish " strong method
|
||||
of these: >
|
||||
:setlocal cm=zip " weak method, backwards compatible
|
||||
:setlocal cm=blowfish " method with flaws
|
||||
:setlocal cm=blowfish2 " medium strong method
|
||||
|
||||
Do this before writing the file. When reading an encrypted file it will be
|
||||
set automatically to the method used when that file was written. You can
|
||||
change 'cryptmethod' before writing that file to change the method.
|
||||
|
||||
To set the default method, used for new files, use one of these in your
|
||||
|vimrc| file: >
|
||||
set cm=zip
|
||||
set cm=blowfish
|
||||
set cm=blowfish2
|
||||
Use the first one if you need to be compatible with Vim 7.2 and older. Using
|
||||
"blowfish2" is highly recommended if you can use a Vim version that supports
|
||||
it.
|
||||
|
||||
The message given for reading and writing a file will show "[crypted]" when
|
||||
using zip, "[blowfish]" when using blowfish.
|
||||
using zip, "[blowfish]" when using blowfish, etc.
|
||||
|
||||
When writing an undo file, the same key and method will be used for the text
|
||||
in the undo file. |persistent-undo|.
|
||||
@@ -1439,7 +1456,7 @@ lines to "/etc/magic", "/usr/share/misc/magic" or wherever your system has the
|
||||
0 string VimCrypt~ Vim encrypted file
|
||||
>9 string 01 - "zip" cryptmethod
|
||||
>9 string 02 - "blowfish" cryptmethod
|
||||
|
||||
>9 string 03 - "blowfish2" cryptmethod
|
||||
|
||||
Notes:
|
||||
- Encryption is not possible when doing conversion with 'charconvert'.
|
||||
@@ -1463,20 +1480,25 @@ Notes:
|
||||
- Pkzip uses the same encryption as 'cryptmethod' "zip", and US Govt has no
|
||||
objection to its export. Pkzip's public file APPNOTE.TXT describes this
|
||||
algorithm in detail.
|
||||
- The implmentation of 'cryptmethod' "blowfish" has a flaw. It is possible to
|
||||
crack the first 64 bytes of a file and in some circumstances more of the
|
||||
file. Use of it is not recommended, but it's still the strongest method
|
||||
supported by Vim 7.3 and 7.4. The "zip" method is even weaker.
|
||||
- Vim originates from the Netherlands. That is where the sources come from.
|
||||
Thus the encryption code is not exported from the USA.
|
||||
|
||||
==============================================================================
|
||||
10. Timestamps *timestamp* *timestamps*
|
||||
|
||||
Vim remembers the modification timestamp of a file when you begin editing it.
|
||||
This is used to avoid that you have two different versions of the same file
|
||||
(without you knowing this).
|
||||
Vim remembers the modification timestamp, mode and size of a file when you
|
||||
begin editing it. This is used to avoid that you have two different versions
|
||||
of the same file (without you knowing this).
|
||||
|
||||
After a shell command is run (|:!cmd| |suspend| |:read!| |K|) timestamps are
|
||||
compared for all buffers in a window. Vim will run any associated
|
||||
|FileChangedShell| autocommands or display a warning for any files that have
|
||||
changed. In the GUI this happens when Vim regains input focus.
|
||||
After a shell command is run (|:!cmd| |suspend| |:read!| |K|) timestamps,
|
||||
file modes and file sizes are compared for all buffers in a window. Vim will
|
||||
run any associated |FileChangedShell| autocommands or display a warning for
|
||||
any files that have changed. In the GUI this happens when Vim regains input
|
||||
focus.
|
||||
|
||||
*E321* *E462*
|
||||
If you want to automatically reload a file when it has been changed outside of
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.4. Last change: 2014 Jan 14
|
||||
*eval.txt* For Vim version 7.4. Last change: 2014 Jul 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -148,7 +148,7 @@ arguments: >
|
||||
|
||||
|
||||
1.3 Lists ~
|
||||
*List* *Lists* *E686*
|
||||
*list* *List* *Lists* *E686*
|
||||
A List is an ordered sequence of items. An item can be of any type. Items
|
||||
can be accessed by their index number. Items can be added and removed at any
|
||||
position in the sequence.
|
||||
@@ -327,6 +327,7 @@ examples: >
|
||||
Changing the order of items in a list: >
|
||||
:call sort(list) " sort a list alphabetically
|
||||
:call reverse(list) " reverse the order of items
|
||||
:call uniq(sort(list)) " sort and remove duplicates
|
||||
|
||||
|
||||
For loop ~
|
||||
@@ -393,7 +394,7 @@ example, to add up all the numbers in a list: >
|
||||
|
||||
|
||||
1.4 Dictionaries ~
|
||||
*Dictionaries* *Dictionary*
|
||||
*dict* *Dictionaries* *Dictionary*
|
||||
A Dictionary is an associative array: Each entry has a key and a value. The
|
||||
entry can be located with the key. The entries are stored without a specific
|
||||
ordering.
|
||||
@@ -1004,7 +1005,7 @@ function. Example: >
|
||||
|
||||
|
||||
|
||||
string *expr-string* *E114*
|
||||
string *string* *expr-string* *E114*
|
||||
------
|
||||
"string" string constant *expr-quote*
|
||||
|
||||
@@ -1143,7 +1144,7 @@ specified by what is prepended:
|
||||
|local-variable| l: Local to a function.
|
||||
|script-variable| s: Local to a |:source|'ed Vim script.
|
||||
|function-argument| a: Function argument (only inside a function).
|
||||
|vim-variable| v: Global, predefined by Vim.
|
||||
|vim-variable| v: Global, predefined by Vim.
|
||||
|
||||
The scope name by itself can be used as a |Dictionary|. For example, to
|
||||
delete all script-local variables: >
|
||||
@@ -1555,6 +1556,16 @@ v:profiling Normally zero. Set to one after using ":profile start".
|
||||
v:progname Contains the name (with path removed) with which Vim was
|
||||
invoked. Allows you to do special initialisations for |view|,
|
||||
|evim| etc., or any other name you might symlink to Vim.
|
||||
Read-only.
|
||||
|
||||
*v:progpath* *progpath-variable*
|
||||
v:progpath Contains the command with which Vim was invoked, including the
|
||||
path. Useful if you want to message a Vim server using a
|
||||
|--remote-expr|.
|
||||
To get the full path use: >
|
||||
echo exepath(v:progpath)
|
||||
< NOTE: This does not work when the command is a relative path
|
||||
and the current directory has changed.
|
||||
Read-only.
|
||||
|
||||
*v:register* *register-variable*
|
||||
@@ -1671,7 +1682,7 @@ v:version Version number of Vim: Major version number times 100 plus
|
||||
is 501. Read-only. "version" also works, for backwards
|
||||
compatibility.
|
||||
Use |has()| to check if a certain patch was included, e.g.: >
|
||||
if has("patch123")
|
||||
if has("patch-7.4.123")
|
||||
< Note that patch numbers are specific to the version, thus both
|
||||
version 5.0 and 5.1 may have a patch 123, but these are
|
||||
completely different.
|
||||
@@ -1705,6 +1716,8 @@ append( {lnum}, {string}) Number append {string} below line {lnum}
|
||||
append( {lnum}, {list}) Number append lines {list} below line {lnum}
|
||||
argc() Number number of files in the argument list
|
||||
argidx() Number current index in the argument list
|
||||
arglistid( [{winnr}, [ {tabnr}]])
|
||||
Number argument list id
|
||||
argv( {nr}) String {nr} entry of the argument list
|
||||
argv( ) List the argument list
|
||||
asin( {expr}) Float arc sine of {expr}
|
||||
@@ -1745,7 +1758,7 @@ cscope_connection( [{num} , {dbpath} [, {prepend}]])
|
||||
cursor( {lnum}, {col} [, {coladd}])
|
||||
Number move cursor to {lnum}, {col}, {coladd}
|
||||
cursor( {list}) Number move cursor to position in {list}
|
||||
deepcopy( {expr}) any make a full copy of {expr}
|
||||
deepcopy( {expr} [, {noref}]) any make a full copy of {expr}
|
||||
delete( {fname}) Number delete file {fname}
|
||||
did_filetype() Number TRUE if FileType autocommand event used
|
||||
diff_filler( {lnum}) Number diff filler lines about {lnum}
|
||||
@@ -1755,6 +1768,7 @@ escape( {string}, {chars}) String escape {chars} in {string} with '\'
|
||||
eval( {string}) any evaluate {string} into its value
|
||||
eventhandler( ) Number TRUE if inside an event handler
|
||||
executable( {expr}) Number 1 if executable {expr} exists
|
||||
exepath( {expr}) String full path of the command {expr}
|
||||
exists( {expr}) Number TRUE if {expr} exists
|
||||
extend( {expr1}, {expr2} [, {expr3}])
|
||||
List/Dict insert items of {expr2} into {expr1}
|
||||
@@ -1794,10 +1808,11 @@ getcharmod( ) Number modifiers for the last typed character
|
||||
getcmdline() String return the current command-line
|
||||
getcmdpos() Number return cursor position in command-line
|
||||
getcmdtype() String return the current command-line type
|
||||
getcurpos() List position of the cursor
|
||||
getcwd() String the current working directory
|
||||
getfontname( [{name}]) String name of font being used
|
||||
getfperm( {fname}) String file permissions of file {fname}
|
||||
getfsize( {fname}) Number size in bytes of file {fname}
|
||||
getfontname( [{name}]) String name of font being used
|
||||
getftime( {fname}) Number last modification time of file
|
||||
getftype( {fname}) String description of type of file {fname}
|
||||
getline( {lnum}) String line {lnum} of current buffer
|
||||
@@ -1807,7 +1822,8 @@ getmatches() List list of current matches
|
||||
getpid() Number process ID of Vim
|
||||
getpos( {expr}) List position of cursor, mark, etc.
|
||||
getqflist() List list of quickfix items
|
||||
getreg( [{regname} [, 1]]) String contents of register
|
||||
getreg( [{regname} [, 1 [, {list}]]])
|
||||
String or List contents of register
|
||||
getregtype( [{regname}]) String type of register
|
||||
gettabvar( {nr}, {varname} [, {def}])
|
||||
any variable {varname} in tab {nr} or {def}
|
||||
@@ -1819,7 +1835,7 @@ getwinvar( {nr}, {varname} [, {def}])
|
||||
any variable {varname} in window {nr}
|
||||
glob( {expr} [, {nosuf} [, {list}]])
|
||||
any expand file wildcards in {expr}
|
||||
globpath( {path}, {expr} [, {flag}])
|
||||
globpath( {path}, {expr} [, {nosuf} [, {list}]])
|
||||
String do glob({expr}) for all dirs in {path}
|
||||
has( {feature}) Number TRUE if feature {feature} supported
|
||||
has_key( {dict}, {key}) Number TRUE if {dict} has entry {key}
|
||||
@@ -1871,6 +1887,8 @@ match( {expr}, {pat}[, {start}[, {count}]])
|
||||
Number position where {pat} matches in {expr}
|
||||
matchadd( {group}, {pattern}[, {priority}[, {id}]])
|
||||
Number highlight {pattern} with {group}
|
||||
matchaddpos( {group}, {list}[, {priority}[, {id}]])
|
||||
Number highlight positions with {group}
|
||||
matcharg( {nr}) List arguments of |:match|
|
||||
matchdelete( {id}) Number delete match identified by {id}
|
||||
matchend( {expr}, {pat}[, {start}[, {count}]])
|
||||
@@ -1978,7 +1996,8 @@ strridx( {haystack}, {needle} [, {start}])
|
||||
Number last index of {needle} in {haystack}
|
||||
strtrans( {expr}) String translate string to make it printable
|
||||
strwidth( {expr}) Number display cell length of the String {expr}
|
||||
submatch( {nr}) String specific match in ":s" or substitute()
|
||||
submatch( {nr}[, {list}]) String or List
|
||||
specific match in ":s" or substitute()
|
||||
substitute( {expr}, {pat}, {sub}, {flags})
|
||||
String all {pat} in {expr} replaced with {sub}
|
||||
synID( {lnum}, {col}, {trans}) Number syntax ID at {lnum} and {col}
|
||||
@@ -1988,6 +2007,7 @@ synIDtrans( {synID}) Number translated syntax ID of {synID}
|
||||
synconcealed( {lnum}, {col}) List info about concealing
|
||||
synstack( {lnum}, {col}) List stack of syntax IDs at {lnum} and {col}
|
||||
system( {expr} [, {input}]) String output of shell command/filter {expr}
|
||||
systemlist( {expr} [, {input}]) List output of shell command/filter {expr}
|
||||
tabpagebuflist( [{arg}]) List list of buffer numbers in tab page
|
||||
tabpagenr( [{arg}]) Number number of current or last tab page
|
||||
tabpagewinnr( {tabarg}[, {arg}])
|
||||
@@ -2005,6 +2025,8 @@ trunc( {expr}) Float truncate Float {expr}
|
||||
type( {name}) Number type of variable {name}
|
||||
undofile( {name}) String undo file name for {name}
|
||||
undotree() List undo file tree
|
||||
uniq( {list} [, {func} [, {dict}]])
|
||||
List remove adjacent duplicates from a list
|
||||
values( {dict}) List values in {dict}
|
||||
virtcol( {expr}) Number screen column of cursor or mark
|
||||
visualmode( [expr]) String last visual mode used
|
||||
@@ -2086,6 +2108,18 @@ argc() The result is the number of files in the argument list of the
|
||||
argidx() The result is the current index in the argument list. 0 is
|
||||
the first file. argc() - 1 is the last one. See |arglist|.
|
||||
|
||||
*arglistid()*
|
||||
arglistid([{winnr}, [ {tabnr} ]])
|
||||
Return the argument list ID. This is a number which
|
||||
identifies the argument list being used. Zero is used for the
|
||||
global argument list.
|
||||
Return zero if the arguments are invalid.
|
||||
|
||||
Without arguments use the current window.
|
||||
With {winnr} only use this window in the current tab page.
|
||||
With {winnr} and {tabnr} use the window in the specified tab
|
||||
page.
|
||||
|
||||
*argv()*
|
||||
argv([{nr}]) The result is the {nr}th file in the argument list of the
|
||||
current window. See |arglist|. "argv(0)" is the first one.
|
||||
@@ -2570,9 +2604,14 @@ cursor({lnum}, {col} [, {off}]) *cursor()*
|
||||
cursor({list})
|
||||
Positions the cursor at the column (byte count) {col} in the
|
||||
line {lnum}. The first column is one.
|
||||
|
||||
When there is one argument {list} this is used as a |List|
|
||||
with two or three items {lnum}, {col} and {off}. This is like
|
||||
the return value of |getpos()|, but without the first item.
|
||||
with two, three or four item:
|
||||
[{lnum}, {col}, {off}]
|
||||
[{lnum}, {col}, {off}, {curswant}]
|
||||
This is like the return value of |getpos()| or |getcurpos()|,
|
||||
but without the first item.
|
||||
|
||||
Does not change the jumplist.
|
||||
If {lnum} is greater than the number of lines in the buffer,
|
||||
the cursor will be positioned at the last line in the buffer.
|
||||
@@ -2581,6 +2620,8 @@ cursor({list})
|
||||
the cursor will be positioned at the last character in the
|
||||
line.
|
||||
If {col} is zero, the cursor will stay in the current column.
|
||||
If {curswant} is given it is used to set the preferred column
|
||||
for vertical movment. Otherwise {col} is used.
|
||||
When 'virtualedit' is used {off} specifies the offset in
|
||||
screen columns from the start of the character. E.g., a
|
||||
position within a <Tab> or after the last character.
|
||||
@@ -2697,6 +2738,15 @@ executable({expr}) *executable()*
|
||||
0 does not exist
|
||||
-1 not implemented on this system
|
||||
|
||||
exepath({expr}) *exepath()*
|
||||
If {expr} is an executable and is either an absolute path, a
|
||||
relative path or found in $PATH, return the full path.
|
||||
Note that the current directory is used when {expr} starts
|
||||
with "./", which may be a problem for Vim: >
|
||||
echo exepath(v:progpath)
|
||||
< If {expr} cannot be found in $PATH or is not executable then
|
||||
an empty string is returned.
|
||||
|
||||
*exists()*
|
||||
exists({expr}) The result is a Number, which is non-zero if {expr} is
|
||||
defined, zero otherwise. The {expr} argument is a string,
|
||||
@@ -2709,7 +2759,8 @@ exists({expr}) The result is a Number, which is non-zero if {expr} is
|
||||
string)
|
||||
*funcname built-in function (see |functions|)
|
||||
or user defined function (see
|
||||
|user-functions|).
|
||||
|user-functions|). Also works for a
|
||||
variable that is a Funcref.
|
||||
varname internal variable (see
|
||||
|internal-variables|). Also works
|
||||
for |curly-braces-names|, |Dictionary|
|
||||
@@ -2815,7 +2866,7 @@ expand({expr} [, {nosuf} [, {list}]]) *expand()*
|
||||
<afile> autocmd file name
|
||||
<abuf> autocmd buffer number (as a String!)
|
||||
<amatch> autocmd matched name
|
||||
<sfile> sourced script file name
|
||||
<sfile> sourced script file or function name
|
||||
<slnum> sourced script file line number
|
||||
<cword> word under the cursor
|
||||
<cWORD> WORD under the cursor
|
||||
@@ -3211,6 +3262,10 @@ getchar([expr]) *getchar()*
|
||||
String when a modifier (shift, control, alt) was used that is
|
||||
not included in the character.
|
||||
|
||||
When [expr] is 0 and Esc is typed, there will be a short delay
|
||||
while Vim waits to see if this is the start of an escape
|
||||
sequence.
|
||||
|
||||
When [expr] is 1 only the first byte is returned. For a
|
||||
one-byte character it is the character itself as a number.
|
||||
Use nr2char() to convert it to a String.
|
||||
@@ -3294,6 +3349,17 @@ getcmdtype() *getcmdtype()*
|
||||
Returns an empty string otherwise.
|
||||
Also see |getcmdpos()|, |setcmdpos()| and |getcmdline()|.
|
||||
|
||||
*getcurpos()*
|
||||
getcurpos() Get the position of the cursor. This is like getpos('.'), but
|
||||
includes an extra item in the list:
|
||||
[bufnum, lnum, col, off, curswant]
|
||||
The "curswant" number is the preferred column when moving the
|
||||
cursor vertically.
|
||||
This can be used to save and restore the cursor position: >
|
||||
let save_cursor = getcurpos()
|
||||
MoveTheCursorAround
|
||||
call setpos('.', save_cursor)
|
||||
|
||||
*getcwd()*
|
||||
getcwd() The result is a String, which is the name of the current
|
||||
working directory.
|
||||
@@ -3415,6 +3481,34 @@ getmatches() *getmatches()*
|
||||
'pattern': 'FIXME', 'priority': 10, 'id': 2}] >
|
||||
:unlet m
|
||||
<
|
||||
*getpid()*
|
||||
getpid() Return a Number which is the process ID of the Vim process.
|
||||
On Unix and MS-Windows this is a unique number, until Vim
|
||||
exits. On MS-DOS it's always zero.
|
||||
|
||||
*getpos()*
|
||||
getpos({expr}) Get the position for {expr}. For possible values of {expr}
|
||||
see |line()|. For getting the cursor position see
|
||||
|getcurpos()|.
|
||||
The result is a |List| with four numbers:
|
||||
[bufnum, lnum, col, off]
|
||||
"bufnum" is zero, unless a mark like '0 or 'A is used, then it
|
||||
is the buffer number of the mark.
|
||||
"lnum" and "col" are the position in the buffer. The first
|
||||
column is 1.
|
||||
The "off" number is zero, unless 'virtualedit' is used. Then
|
||||
it is the offset in screen columns from the start of the
|
||||
character. E.g., a position within a <Tab> or after the last
|
||||
character.
|
||||
Note that for '< and '> Visual mode matters: when it is "V"
|
||||
(visual line mode) the column of '< is zero and the column of
|
||||
'> is a large number.
|
||||
This can be used to save and restore the position of a mark: >
|
||||
let save_a_mark = getpos("'a")
|
||||
...
|
||||
call setpos(''a', save_a_mark
|
||||
< Also see |getcurpos()| and |setpos()|.
|
||||
|
||||
|
||||
getqflist() *getqflist()*
|
||||
Returns a list with all the current quickfix errors. Each
|
||||
@@ -3443,7 +3537,7 @@ getqflist() *getqflist()*
|
||||
:endfor
|
||||
|
||||
|
||||
getreg([{regname} [, 1]]) *getreg()*
|
||||
getreg([{regname} [, 1 [, {list}]]]) *getreg()*
|
||||
The result is a String, which is the contents of register
|
||||
{regname}. Example: >
|
||||
:let cliptext = getreg('*')
|
||||
@@ -3452,6 +3546,11 @@ getreg([{regname} [, 1]]) *getreg()*
|
||||
getreg('=', 1) returns the expression itself, so that it can
|
||||
be restored with |setreg()|. For other registers the extra
|
||||
argument is ignored, thus you can always give it.
|
||||
If {list} is present and non-zero result type is changed to
|
||||
|List|. Each list item is one text line. Use it if you care
|
||||
about zero bytes possibly present inside register: without
|
||||
third argument both NLs and zero bytes are represented as NLs
|
||||
(see |NL-used-for-Nul|).
|
||||
If {regname} is not specified, |v:register| is used.
|
||||
|
||||
|
||||
@@ -3539,11 +3638,12 @@ glob({expr} [, {nosuf} [, {list}]]) *glob()*
|
||||
See |expand()| for expanding special Vim variables. See
|
||||
|system()| for getting the raw output of an external command.
|
||||
|
||||
globpath({path}, {expr} [, {flag}]) *globpath()*
|
||||
globpath({path}, {expr} [, {nosuf} [, {list}]]) *globpath()*
|
||||
Perform glob() on all directories in {path} and concatenate
|
||||
the results. Example: >
|
||||
:echo globpath(&rtp, "syntax/c.vim")
|
||||
< {path} is a comma-separated list of directory names. Each
|
||||
<
|
||||
{path} is a comma-separated list of directory names. Each
|
||||
directory name is prepended to {expr} and expanded like with
|
||||
|glob()|. A path separator is inserted when needed.
|
||||
To add a comma inside a directory name escape it with a
|
||||
@@ -3551,11 +3651,19 @@ globpath({path}, {expr} [, {flag}]) *globpath()*
|
||||
trailing backslash, remove it if you put a comma after it.
|
||||
If the expansion fails for one of the directories, there is no
|
||||
error message.
|
||||
Unless the optional {flag} argument is given and is non-zero,
|
||||
|
||||
Unless the optional {nosuf} argument is given and is non-zero,
|
||||
the 'suffixes' and 'wildignore' options apply: Names matching
|
||||
one of the patterns in 'wildignore' will be skipped and
|
||||
'suffixes' affect the ordering of matches.
|
||||
|
||||
When {list} is present and it is non-zero the result is a List
|
||||
with all matching files. The advantage of using a List is, you
|
||||
also get filenames containing newlines correctly. Otherwise
|
||||
the result is a String and when there are several matches,
|
||||
they are separated by <NL> characters. Example: >
|
||||
:echo globpath(&rtp, "syntax/c.vim", 0, 1)
|
||||
<
|
||||
The "**" item can be used to search in a directory tree.
|
||||
For example, to find all "README.txt" files in the directories
|
||||
in 'runtimepath' and below: >
|
||||
@@ -4274,6 +4382,41 @@ matchadd({group}, {pattern}[, {priority}[, {id}]])
|
||||
available from |getmatches()|. All matches can be deleted in
|
||||
one operation by |clearmatches()|.
|
||||
|
||||
matchaddpos({group}, {pos}[, {priority}[, {id}]]) *matchaddpos()*
|
||||
Same as |matchadd()|, but requires a list of positions {pos}
|
||||
instead of a pattern. This command is faster than |matchadd()|
|
||||
because it does not require to handle regular expressions and
|
||||
sets buffer line boundaries to redraw screen. It is supposed
|
||||
to be used when fast match additions and deletions are
|
||||
required, for example to highlight matching parentheses.
|
||||
|
||||
The list {pos} can contain one of these items:
|
||||
- A number. This whole line will be highlighted. The first
|
||||
line has number 1.
|
||||
- A list with one number, e.g., [23]. The whole line with this
|
||||
number will be highlighted.
|
||||
- A list with two numbers, e.g., [23, 11]. The first number is
|
||||
the line number, the second one is the column number (first
|
||||
column is 1, the value must correspond to the byte index as
|
||||
|col()| would return). The character at this position will
|
||||
be highlighted.
|
||||
- A list with three numbers, e.g., [23, 11, 3]. As above, but
|
||||
the third number gives the length of the highlight in bytes.
|
||||
|
||||
The maximum number of positions is 8.
|
||||
|
||||
Example: >
|
||||
:highlight MyGroup ctermbg=green guibg=green
|
||||
:let m = matchaddpos("MyGroup", [[23, 24], 34])
|
||||
< Deletion of the pattern: >
|
||||
:call matchdelete(m)
|
||||
|
||||
< 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|,
|
||||
|:2match| or |:3match| command.
|
||||
@@ -4432,33 +4575,6 @@ nr2char({expr}[, {utf8}]) *nr2char()*
|
||||
characters. nr2char(0) is a real NUL and terminates the
|
||||
string, thus results in an empty string.
|
||||
|
||||
*getpid()*
|
||||
getpid() Return a Number which is the process ID of the Vim process.
|
||||
On Unix and MS-Windows this is a unique number, until Vim
|
||||
exits. On MS-DOS it's always zero.
|
||||
|
||||
*getpos()*
|
||||
getpos({expr}) Get the position for {expr}. For possible values of {expr}
|
||||
see |line()|.
|
||||
The result is a |List| with four numbers:
|
||||
[bufnum, lnum, col, off]
|
||||
"bufnum" is zero, unless a mark like '0 or 'A is used, then it
|
||||
is the buffer number of the mark.
|
||||
"lnum" and "col" are the position in the buffer. The first
|
||||
column is 1.
|
||||
The "off" number is zero, unless 'virtualedit' is used. Then
|
||||
it is the offset in screen columns from the start of the
|
||||
character. E.g., a position within a <Tab> or after the last
|
||||
character.
|
||||
Note that for '< and '> Visual mode matters: when it is "V"
|
||||
(visual line mode) the column of '< is zero and the column of
|
||||
'> is a large number.
|
||||
This can be used to save and restore the cursor position: >
|
||||
let save_cursor = getpos(".")
|
||||
MoveTheCursorAround
|
||||
call setpos('.', save_cursor)
|
||||
< Also see |setpos()|.
|
||||
|
||||
or({expr}, {expr}) *or()*
|
||||
Bitwise OR on the two arguments. The arguments are converted
|
||||
to a number. A List, Dict or Float argument causes an error.
|
||||
@@ -5257,8 +5373,9 @@ setpos({expr}, {list})
|
||||
. the cursor
|
||||
'x mark x
|
||||
|
||||
{list} must be a |List| with four numbers:
|
||||
{list} must be a |List| with four or five numbers:
|
||||
[bufnum, lnum, col, off]
|
||||
[bufnum, lnum, col, off, curswant]
|
||||
|
||||
"bufnum" is the buffer number. Zero can be used for the
|
||||
current buffer. Setting the cursor is only possible for
|
||||
@@ -5276,6 +5393,12 @@ setpos({expr}, {list})
|
||||
character. E.g., a position within a <Tab> or after the last
|
||||
character.
|
||||
|
||||
The "curswant" number is only used when setting the cursor
|
||||
position. It sets the preferred column for when moving the
|
||||
cursor vertically. When the "curswant" number is missing the
|
||||
preferred column is not set. When it is present and setting a
|
||||
mark position it is not used.
|
||||
|
||||
Note that for '< and '> changing the line number may result in
|
||||
the marks to be effectively be swapped, so that '< is always
|
||||
before '>.
|
||||
@@ -5283,10 +5406,13 @@ setpos({expr}, {list})
|
||||
Returns 0 when the position could be set, -1 otherwise.
|
||||
An error message is given if {expr} is invalid.
|
||||
|
||||
Also see |getpos()|
|
||||
Also see |getpos()| and |getcurpos()|.
|
||||
|
||||
This does not restore the preferred column for moving
|
||||
vertically. See |winrestview()| for that.
|
||||
vertically; if you set the cursor position with this, |j| and
|
||||
|k| motions will jump to previous columns! Use |cursor()| to
|
||||
also set the preferred column. Also see the "curswant" key in
|
||||
|winrestview()|.
|
||||
|
||||
|
||||
setqflist({list} [, {action}]) *setqflist()*
|
||||
@@ -5338,6 +5464,8 @@ setqflist({list} [, {action}]) *setqflist()*
|
||||
*setreg()*
|
||||
setreg({regname}, {value} [,{options}])
|
||||
Set the register {regname} to {value}.
|
||||
{value} may be any value returned by |getreg()|, including
|
||||
a |List|.
|
||||
If {options} contains "a" or {regname} is upper case,
|
||||
then the value is appended.
|
||||
{options} can also contain a register type specification:
|
||||
@@ -5350,10 +5478,15 @@ setreg({regname}, {value} [,{options}])
|
||||
in the longest line (counting a <Tab> as 1 character).
|
||||
|
||||
If {options} contains no register settings, then the default
|
||||
is to use character mode unless {value} ends in a <NL>.
|
||||
Setting the '=' register is not possible, but you can use >
|
||||
:let @= = var_expr
|
||||
< Returns zero for success, non-zero for failure.
|
||||
is to use character mode unless {value} ends in a <NL> for
|
||||
string {value} and linewise mode for list {value}. Blockwise
|
||||
mode is never selected automatically.
|
||||
Returns zero for success, non-zero for failure.
|
||||
|
||||
*E883*
|
||||
Note: you may not use |List| containing more then one item to
|
||||
set search and expression registers. Lists containing no
|
||||
items act like empty strings.
|
||||
|
||||
Examples: >
|
||||
:call setreg(v:register, @*)
|
||||
@@ -5361,8 +5494,11 @@ setreg({regname}, {value} [,{options}])
|
||||
:call setreg('a', "1\n2\n3", 'b5')
|
||||
|
||||
< This example shows using the functions to save and restore a
|
||||
register. >
|
||||
:let var_a = getreg('a', 1)
|
||||
register (note: you may not reliably restore register value
|
||||
without using the third argument to |getreg()| as without it
|
||||
newlines are represented as newlines AND Nul bytes are
|
||||
represented as newlines as well, see |NL-used-for-Nul|). >
|
||||
:let var_a = getreg('a', 1, 1)
|
||||
:let var_amode = getregtype('a')
|
||||
....
|
||||
:call setreg('a', var_a, var_amode)
|
||||
@@ -5428,6 +5564,7 @@ shellescape({string} [, {special}]) *shellescape()*
|
||||
< This results in a directory listing for the file under the
|
||||
cursor. Example of use with |system()|: >
|
||||
:call system("chmod +w -- " . shellescape(expand("%")))
|
||||
< See also |::S|.
|
||||
|
||||
|
||||
shiftwidth() *shiftwidth()*
|
||||
@@ -5487,20 +5624,40 @@ sinh({expr}) *sinh()*
|
||||
|
||||
|
||||
sort({list} [, {func} [, {dict}]]) *sort()* *E702*
|
||||
Sort the items in {list} in-place. Returns {list}. If you
|
||||
want a list to remain unmodified make a copy first: >
|
||||
Sort the items in {list} in-place. Returns {list}.
|
||||
|
||||
If you want a list to remain unmodified make a copy first: >
|
||||
:let sortedlist = sort(copy(mylist))
|
||||
< Uses the string representation of each item to sort on.
|
||||
Numbers sort after Strings, |Lists| after Numbers.
|
||||
For sorting text in the current buffer use |:sort|.
|
||||
When {func} is given and it is one then case is ignored.
|
||||
{dict} is for functions with the "dict" attribute. It will be
|
||||
used to set the local variable "self". |Dictionary-function|
|
||||
|
||||
< When {func} is omitted, is empty or zero, then sort() uses the
|
||||
string representation of each item to sort on. Numbers sort
|
||||
after Strings, |Lists| after Numbers. For sorting text in the
|
||||
current buffer use |:sort|.
|
||||
|
||||
When {func} is given and it is is '1' or 'i' then case is
|
||||
ignored.
|
||||
|
||||
When {func} is given and it is 'n' then all items will be
|
||||
sorted numerical (Implementation detail: This uses the
|
||||
strtod() function to parse numbers, Strings, Lists, Dicts and
|
||||
Funcrefs will be considered as being 0).
|
||||
|
||||
When {func} is a |Funcref| or a function name, this function
|
||||
is called to compare items. The function is invoked with two
|
||||
items as argument and must return zero if they are equal, 1 or
|
||||
bigger if the first one sorts after the second one, -1 or
|
||||
smaller if the first one sorts before the second one.
|
||||
|
||||
{dict} is for functions with the "dict" attribute. It will be
|
||||
used to set the local variable "self". |Dictionary-function|
|
||||
|
||||
The sort is stable, items which compare equal (as number or as
|
||||
string) will keep their relative position. E.g., when sorting
|
||||
on numbers, text strings will sort next to each other, in the
|
||||
same order as they were originally.
|
||||
|
||||
Also see |uniq()|.
|
||||
|
||||
Example: >
|
||||
func MyCompare(i1, i2)
|
||||
return a:i1 == a:i2 ? 0 : a:i1 > a:i2 ? 1 : -1
|
||||
@@ -5642,7 +5799,7 @@ strchars({expr}) *strchars()*
|
||||
|
||||
strdisplaywidth({expr}[, {col}]) *strdisplaywidth()*
|
||||
The result is a Number, which is the number of display cells
|
||||
String {expr} occupies on the screen.
|
||||
String {expr} occupies on the screen when it starts a {col}.
|
||||
When {col} is omitted zero is used. Otherwise it is the
|
||||
screen column where to start. This matters for Tab
|
||||
characters.
|
||||
@@ -5767,12 +5924,23 @@ strwidth({expr}) *strwidth()*
|
||||
Ambiguous, this function's return value depends on 'ambiwidth'.
|
||||
Also see |strlen()|, |strdisplaywidth()| and |strchars()|.
|
||||
|
||||
submatch({nr}) *submatch()*
|
||||
submatch({nr}[, {list}]) *submatch()*
|
||||
Only for an expression in a |:substitute| command or
|
||||
substitute() function.
|
||||
Returns the {nr}'th submatch of the matched text. When {nr}
|
||||
is 0 the whole matched text is returned.
|
||||
Note that a NL in the string can stand for a line break of a
|
||||
multi-line match or a NUL character in the text.
|
||||
Also see |sub-replace-expression|.
|
||||
|
||||
If {list} is present and non-zero then submatch() returns
|
||||
a list of strings, similar to |getline()| with two arguments.
|
||||
NL characters in the text represent NUL characters in the
|
||||
text.
|
||||
Only returns more than one item for |:substitute|, inside
|
||||
|substitute()| this list will always contain one or zero
|
||||
items, since there are no real line breaks.
|
||||
|
||||
Example: >
|
||||
:s/\d\+/\=submatch(0) + 1/
|
||||
< This finds the first number in the line and adds one to it.
|
||||
@@ -5905,19 +6073,29 @@ synstack({lnum}, {col}) *synstack()*
|
||||
valid positions.
|
||||
|
||||
system({expr} [, {input}]) *system()* *E677*
|
||||
Get the output of the shell command {expr}.
|
||||
When {input} is given, this string is written to a file and
|
||||
passed as stdin to the command. The string is written as-is,
|
||||
you need to take care of using the correct line separators
|
||||
yourself. Pipes are not used.
|
||||
Note: Use |shellescape()| to escape special characters in a
|
||||
command argument. Newlines in {expr} may cause the command to
|
||||
fail. The characters in 'shellquote' and 'shellxquote' may
|
||||
also cause trouble.
|
||||
Get the output of the shell command {expr} as a string. See
|
||||
|systemlist()| to get the output as a List.
|
||||
|
||||
When {input} is given and is a string this string is written
|
||||
to a file and passed as stdin to the command. The string is
|
||||
written as-is, you need to take care of using the correct line
|
||||
separators yourself.
|
||||
If {input} is given and is a |List| it is written to the file
|
||||
in a way |writefile()| does with {binary} set to "b" (i.e.
|
||||
with a newline between each list item with newlines inside
|
||||
list items converted to NULs).
|
||||
Pipes are not used.
|
||||
|
||||
Note: Use |shellescape()| or |::S| with |expand()| or
|
||||
|fnamemodify()| to escape special characters in a command
|
||||
argument. Newlines in {expr} may cause the command to fail.
|
||||
The characters in 'shellquote' and 'shellxquote' may also
|
||||
cause trouble.
|
||||
This is not to be used for interactive commands.
|
||||
|
||||
The result is a String. Example: >
|
||||
:let files = system("ls " . shellescape(expand('%:h')))
|
||||
:let files = system('ls ' . expand('%:h:S'))
|
||||
|
||||
< To make the result more system-independent, the shell output
|
||||
is filtered to replace <CR> with <NL> for Macintosh, and
|
||||
@@ -5944,6 +6122,16 @@ system({expr} [, {input}]) *system()* *E677*
|
||||
Use |:checktime| to force a check.
|
||||
|
||||
|
||||
systemlist({expr} [, {input}]) *systemlist()*
|
||||
Same as |system()|, but returns a |List| with lines (parts of
|
||||
output separated by NL) with NULs transformed into NLs. Output
|
||||
is the same as |readfile()| will output with {binary} argument
|
||||
set to "b".
|
||||
|
||||
Returns an empty string on error, so be careful not to run
|
||||
into |E706|.
|
||||
|
||||
|
||||
tabpagebuflist([{arg}]) *tabpagebuflist()*
|
||||
The result is a |List|, where each item is the number of the
|
||||
buffer associated with each window in the current tab page.
|
||||
@@ -5966,7 +6154,7 @@ tabpagenr([{arg}]) *tabpagenr()*
|
||||
The number can be used with the |:tab| command.
|
||||
|
||||
|
||||
tabpagewinnr({tabarg}, [{arg}]) *tabpagewinnr()*
|
||||
tabpagewinnr({tabarg} [, {arg}]) *tabpagewinnr()*
|
||||
Like |winnr()| but for tab page {tabarg}.
|
||||
{tabarg} specifies the number of tab page to be used.
|
||||
{arg} is used like with |winnr()|:
|
||||
@@ -6166,6 +6354,14 @@ undotree() *undotree()*
|
||||
blocks. Each item may again have an "alt"
|
||||
item.
|
||||
|
||||
uniq({list} [, {func} [, {dict}]]) *uniq()* *E882*
|
||||
Remove second and succeeding copies of repeated adjacent
|
||||
{list} items in-place. Returns {list}. If you want a list
|
||||
to remain unmodified make a copy first: >
|
||||
:let newlist = uniq(copy(mylist))
|
||||
< The default compare function uses the string representation of
|
||||
each item. For the use of {func} and {dict} see |sort()|.
|
||||
|
||||
values({dict}) *values()*
|
||||
Return a |List| with all the values of {dict}. The |List| is
|
||||
in arbitrary order.
|
||||
@@ -6295,6 +6491,16 @@ winrestcmd() Returns a sequence of |:resize| commands that should restore
|
||||
winrestview({dict})
|
||||
Uses the |Dictionary| returned by |winsaveview()| to restore
|
||||
the view of the current window.
|
||||
Note: The {dict} does not have to contain all values, that are
|
||||
returned by |winsaveview()|. If values are missing, those
|
||||
settings won't be restored. So you can use: >
|
||||
:call winrestview({'curswant': 4})
|
||||
<
|
||||
This will only set the curswant value (the column the cursor
|
||||
wants to move on vertical movements) of the cursor to column 5
|
||||
(yes, that is 5), while all other settings will remain the
|
||||
same. This is useful, if you set the cursor position manually.
|
||||
|
||||
If you have changed the values the result is unpredictable.
|
||||
If the window size changed the result won't be the same.
|
||||
|
||||
@@ -6306,10 +6512,12 @@ winsaveview() Returns a |Dictionary| that contains information to restore
|
||||
buffer and you want to go back to the original view.
|
||||
This does not save fold information. Use the 'foldenable'
|
||||
option to temporarily switch off folding, so that folds are
|
||||
not opened when moving around.
|
||||
not opened when moving around. This may have side effects.
|
||||
The return value includes:
|
||||
lnum cursor line number
|
||||
col cursor column
|
||||
col cursor column (Note: the first column
|
||||
zero, as opposed to what getpos()
|
||||
returns)
|
||||
coladd cursor column offset for 'virtualedit'
|
||||
curswant column for vertical movement
|
||||
topline first line in the window
|
||||
@@ -6360,7 +6568,7 @@ xor({expr}, {expr}) *xor()*
|
||||
|
||||
|
||||
*feature-list*
|
||||
There are three types of features:
|
||||
There are four types of features:
|
||||
1. Features that are only supported when they have been enabled when Vim
|
||||
was compiled |+feature-list|. Example: >
|
||||
:if has("cindent")
|
||||
@@ -6368,11 +6576,21 @@ There are three types of features:
|
||||
Example: >
|
||||
:if has("gui_running")
|
||||
< *has-patch*
|
||||
3. Included patches. First check |v:version| for the version of Vim.
|
||||
Then the "patch123" feature means that patch 123 has been included for
|
||||
this version. Example (checking version 6.2.148 or later): >
|
||||
3. Included patches. The "patch123" feature means that patch 123 has been
|
||||
included. Note that this form does not check the version of Vim, you need
|
||||
to inspect |v:version| for that.
|
||||
Example (checking version 6.2.148 or later): >
|
||||
:if v:version > 602 || v:version == 602 && has("patch148")
|
||||
< Note that it's possible for patch 147 to be omitted even though 148 is
|
||||
< Note that it's possible for patch 147 to be omitted even though 148 is
|
||||
included.
|
||||
|
||||
4. Beyond a certain version or at a certain version and including a specific
|
||||
patch. The "patch-7.4.237" feature means that the Vim version is 7.5 or
|
||||
later, or it is version 7.4 and patch 237 was included.
|
||||
Note that this only works for patch 7.4.237 and later, before that you
|
||||
need to use the example above that checks v:version. Example: >
|
||||
:if has("patch-7.4.248")
|
||||
< Note that it's possible for patch 147 to be omitted even though 148 is
|
||||
included.
|
||||
|
||||
acl Compiled with |ACL| support.
|
||||
@@ -6404,6 +6622,7 @@ dialog_con Compiled with console dialog support.
|
||||
dialog_gui Compiled with GUI dialog support.
|
||||
diff Compiled with |vimdiff| and 'diff' support.
|
||||
digraphs Compiled with support for digraphs.
|
||||
directx Compiled with support for Direct-X and 'renderoptions'.
|
||||
dnd Compiled with support for the "~ register |quote_~|.
|
||||
dos16 16 bits DOS version of Vim.
|
||||
dos32 32 bits DOS (DJGPP) version of Vim.
|
||||
@@ -6446,8 +6665,8 @@ jumplist Compiled with |jumplist| support.
|
||||
keymap Compiled with 'keymap' support.
|
||||
langmap Compiled with 'langmap' support.
|
||||
libcall Compiled with |libcall()| support.
|
||||
linebreak Compiled with 'linebreak', 'breakat' and 'showbreak'
|
||||
support.
|
||||
linebreak Compiled with 'linebreak', 'breakat', 'showbreak' and
|
||||
'breakindent' support.
|
||||
lispindent Compiled with support for lisp indenting.
|
||||
listcmds Compiled with commands for the buffer list |:files|
|
||||
and the argument list |arglist|.
|
||||
@@ -6594,6 +6813,8 @@ can only be called from within the script and from functions, user commands
|
||||
and autocommands defined in the script. It is also possible to call the
|
||||
function from a mapping defined in the script, but then |<SID>| must be used
|
||||
instead of "s:" when the mapping is expanded outside of the script.
|
||||
There are only script-local functions, no buffer-local or window-local
|
||||
functions.
|
||||
|
||||
*:fu* *:function* *E128* *E129* *E123*
|
||||
:fu[nction] List all functions and their arguments.
|
||||
@@ -6617,11 +6838,15 @@ last defined. Example: >
|
||||
<
|
||||
See |:verbose-cmd| for more information.
|
||||
|
||||
*E124* *E125* *E853*
|
||||
*E124* *E125* *E853* *E884*
|
||||
:fu[nction][!] {name}([arguments]) [range] [abort] [dict]
|
||||
Define a new function by the name {name}. The name
|
||||
must be made of alphanumeric characters and '_', and
|
||||
must start with a capital or "s:" (see above).
|
||||
must start with a capital or "s:" (see above). Note
|
||||
that using "b:" or "g:" is not allowed. (since patch
|
||||
7.4.260 E884 is given if the function name has a colon
|
||||
in the name, e.g. for "foo:bar()". Before that patch
|
||||
no error was given).
|
||||
|
||||
{name} can also be a |Dictionary| entry that is a
|
||||
|Funcref|: >
|
||||
@@ -7314,6 +7539,8 @@ This does NOT work: >
|
||||
{pattern}, so long as it does not have a special
|
||||
meaning (e.g., '|' or '"') and doesn't occur inside
|
||||
{pattern}.
|
||||
Information about the exception is available in
|
||||
|v:exception|. Also see |throw-variables|.
|
||||
NOTE: It is not reliable to ":catch" the TEXT of
|
||||
an error message because it may vary in different
|
||||
locales.
|
||||
@@ -7457,13 +7684,22 @@ This does NOT work: >
|
||||
for Vim commands, |shellescape()| for |:!| commands.
|
||||
Examples: >
|
||||
:execute "e " . fnameescape(filename)
|
||||
:execute "!ls " . shellescape(expand('%:h'), 1)
|
||||
:execute "!ls " . shellescape(filename, 1)
|
||||
<
|
||||
Note: The executed string may be any command-line, but
|
||||
you cannot start or end a "while", "for" or "if"
|
||||
command. Thus this is illegal: >
|
||||
:execute 'while i > 5'
|
||||
:execute 'echo "test" | break'
|
||||
starting or ending "if", "while" and "for" does not
|
||||
always work, because when commands are skipped the
|
||||
":execute" is not evaluated and Vim loses track of
|
||||
where blocks start and end. Also "break" and
|
||||
"continue" should not be inside ":execute".
|
||||
This example does not work, because the ":execute" is
|
||||
not evaluated and Vim does not see the "while", and
|
||||
gives an error for finding an ":endwhile": >
|
||||
:if 0
|
||||
: execute 'while i > 5'
|
||||
: echo "test"
|
||||
: endwhile
|
||||
:endif
|
||||
<
|
||||
It is allowed to have a "while" or "if" command
|
||||
completely in the executed string: >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui.txt* For Vim version 7.4. Last change: 2013 Jun 12
|
||||
*gui.txt* For Vim version 7.4. Last change: 2014 Mar 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -133,6 +133,7 @@ task bar with the 'guiheadroom' option.
|
||||
: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()|.
|
||||
|
||||
:winp[os] {X} {Y} *E466*
|
||||
Put the GUI vim window at the given {X} and {Y} coordinates.
|
||||
@@ -151,8 +152,11 @@ task bar with the 'guiheadroom' option.
|
||||
option.
|
||||
|
||||
If you are running the X Window System, you can get information about the
|
||||
window Vim is running in with this command: >
|
||||
window Vim is running in with these commands: >
|
||||
:!xwininfo -id $WINDOWID
|
||||
:!xprop -id $WINDOWID
|
||||
:execute '!xwininfo -id ' . v:windowid
|
||||
:execute '!xprop -id ' . v:windowid
|
||||
<
|
||||
*gui-IME* *iBus*
|
||||
Input methods for international characters in X that rely on the XIM
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui_x11.txt* For Vim version 7.4. Last change: 2011 Sep 14
|
||||
*gui_x11.txt* For Vim version 7.4. Last change: 2014 Mar 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -442,7 +442,7 @@ command line argument).
|
||||
*gui-x11-kde*
|
||||
There is no KDE version of Vim. There has been some work on a port using the
|
||||
Qt toolkit, but it never worked properly and it has been abandoned. Work
|
||||
continues on Yzis: www.yzis.org.
|
||||
continues on Yzis: https://github.com/chrizel/Yzis.
|
||||
|
||||
==============================================================================
|
||||
8. Compiling *gui-x11-compiling*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_pyth.txt* For Vim version 7.4. Last change: 2013 Jul 10
|
||||
*if_pyth.txt* For Vim version 7.4. Last change: 2014 Jul 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -28,7 +28,7 @@ Both can be available at the same time, but read |python-2-and-3|.
|
||||
==============================================================================
|
||||
1. Commands *python-commands*
|
||||
|
||||
*:python* *:py* *E205* *E263* *E264*
|
||||
*:python* *:py* *E263* *E264* *E887*
|
||||
:[range]py[thon] {stmt}
|
||||
Execute Python statement {stmt}. A simple check if
|
||||
the `:python` command is working: >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*indent.txt* For Vim version 7.4. Last change: 2013 Nov 05
|
||||
*indent.txt* For Vim version 7.4. Last change: 2014 Apr 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -686,7 +686,7 @@ two spaces relative to the opening paren:
|
||||
baz)
|
||||
<
|
||||
Setting this option changes this behavior so that all subforms are aligned to
|
||||
the same column:
|
||||
the same column, emulating the default behavior of clojure-mode.el:
|
||||
>
|
||||
(foo
|
||||
bar
|
||||
@@ -698,7 +698,6 @@ This option is off by default.
|
||||
let g:clojure_align_subforms = 0
|
||||
<
|
||||
|
||||
|
||||
FORTRAN *ft-fortran-indent*
|
||||
|
||||
Block if, select case, where, and forall constructs are indented. So are
|
||||
@@ -813,7 +812,7 @@ OPTIONS: ~
|
||||
PHP indenting can be altered in several ways by modifying the values of some
|
||||
global variables:
|
||||
|
||||
*php-comment*
|
||||
*php-comment* *PHP_autoformatcomment*
|
||||
To not enable auto-formating of comments by default (if you want to use your
|
||||
own 'formatoptions'): >
|
||||
:let g:PHP_autoformatcomment = 0
|
||||
@@ -822,6 +821,7 @@ Else, 't' will be removed from the 'formatoptions' string and "qrowcb" will be
|
||||
added, see |fo-table| for more information.
|
||||
-------------
|
||||
|
||||
*PHP_outdentSLComments*
|
||||
To add extra indentation to single-line comments: >
|
||||
:let g:PHP_outdentSLComments = N
|
||||
|
||||
@@ -833,6 +833,7 @@ Only single-line comments will be affected such as: >
|
||||
/* Comment */
|
||||
-------------
|
||||
|
||||
*PHP_default_indenting*
|
||||
To add extra indentation to every PHP lines with N being the number of
|
||||
'shiftwidth' to add: >
|
||||
:let g:PHP_default_indenting = N
|
||||
@@ -852,14 +853,18 @@ For example, with N = 1, this will give:
|
||||
(Notice the extra indentation between the PHP container markers and the code)
|
||||
-------------
|
||||
|
||||
To indent PHP tags as the surrounding code: >
|
||||
:let g:PHP_outdentphpescape = 0
|
||||
*PHP_outdentphpescape*
|
||||
To indent PHP escape tags as the surrounding non-PHP code (only affects the
|
||||
PHP escape tags): >
|
||||
:let g:PHP_outdentphpescape = 0
|
||||
-------------
|
||||
|
||||
*PHP_removeCRwhenUnix*
|
||||
To automatically remove '\r' characters when the 'fileformat' is set to Unix: >
|
||||
:let g:PHP_removeCRwhenUnix = 1
|
||||
-------------
|
||||
|
||||
*PHP_BracesAtCodeLevel*
|
||||
To indent braces at the same level than the code they contain: >
|
||||
:let g:PHP_BracesAtCodeLevel = 1
|
||||
|
||||
@@ -878,6 +883,7 @@ NOTE: Indenting will be a bit slower if this option is used because some
|
||||
optimizations won't be available.
|
||||
-------------
|
||||
|
||||
*PHP_vintage_case_default_indent*
|
||||
To indent 'case:' and 'default:' statements in switch() blocks: >
|
||||
:let g:PHP_vintage_case_default_indent = 1
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 7.4. Last change: 2013 Nov 14
|
||||
*index.txt* For Vim version 7.4. Last change: 2014 Mar 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1124,8 +1124,8 @@ tag command action ~
|
||||
|:cNfile| :cNf[ile] go to last error in previous file
|
||||
|:cabbrev| :ca[bbrev] like ":abbreviate" but for Command-line mode
|
||||
|:cabclear| :cabc[lear] clear all abbreviations for Command-line mode
|
||||
|:caddbuffer| :caddb[uffer] add errors from buffer
|
||||
|:caddexpr| :cad[dexpr] add errors from expr
|
||||
|:caddbuffer| :cad[dbuffer] add errors from buffer
|
||||
|:caddexpr| :cadde[xpr] add errors from expr
|
||||
|:caddfile| :caddf[ile] add error message to current quickfix list
|
||||
|:call| :cal[l] call a function
|
||||
|:catch| :cat[ch] part of a :try command
|
||||
@@ -1361,13 +1361,14 @@ tag command action ~
|
||||
|:nmenu| :nme[nu] add menu for Normal mode
|
||||
|:nnoremap| :nn[oremap] like ":noremap" but for Normal mode
|
||||
|:nnoremenu| :nnoreme[nu] like ":noremenu" but for Normal mode
|
||||
|:noautocmd| :noa[utocmd] following command don't trigger autocommands
|
||||
|:noautocmd| :noa[utocmd] following commands don't trigger autocommands
|
||||
|:noremap| :no[remap] enter a mapping that will not be remapped
|
||||
|:nohlsearch| :noh[lsearch] suspend 'hlsearch' highlighting
|
||||
|:noreabbrev| :norea[bbrev] enter an abbreviation that will not be
|
||||
remapped
|
||||
|:noremenu| :noreme[nu] enter a menu that will not be remapped
|
||||
|:normal| :norm[al] execute Normal mode commands
|
||||
|:noswapfile| :nos[wapfile] following commands don't create a swap file
|
||||
|:number| :nu[mber] print lines with line number
|
||||
|:nunmap| :nun[map] like ":unmap" but for Normal mode
|
||||
|:nunmenu| :nunme[nu] remove menu for Normal mode
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 7.4. Last change: 2013 Jul 12
|
||||
*insert.txt* For Vim version 7.4. Last change: 2014 Jul 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1302,7 +1302,7 @@ HTML *ft-html-omni*
|
||||
XHTML *ft-xhtml-omni*
|
||||
|
||||
CTRL-X CTRL-O provides completion of various elements of (X)HTML files. It is
|
||||
designed to support writing of XHTML 1.0 Strict files but will also works for
|
||||
designed to support writing of XHTML 1.0 Strict files but will also work for
|
||||
other versions of HTML. Features:
|
||||
|
||||
- after "<" complete tag name depending on context (no div suggestion inside
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*intro.txt* For Vim version 7.4. Last change: 2013 Jun 17
|
||||
*intro.txt* For Vim version 7.4. Last change: 2014 May 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -136,9 +136,10 @@ http://www.vim.org/maillist.php
|
||||
Bug reports: *bugs* *bug-reports* *bugreport.vim*
|
||||
|
||||
Send bug reports to: Vim Developers <vim_dev@vim.org>
|
||||
This is a maillist, many people will see the message. If you don't want that,
|
||||
e.g. because it is a security issue, send it to <bugs@vim.org>, this only goes
|
||||
to the Vim maintainer (that's Bram).
|
||||
This is a maillist, you need to become a member first and many people will see
|
||||
the message. If you don't want that, e.g. because it is a security issue,
|
||||
send it to <bugs@vim.org>, this only goes to the Vim maintainer (that's Bram).
|
||||
|
||||
Please be brief; all the time that is spent on answering mail is subtracted
|
||||
from the time that is spent on improving Vim! Always give a reproducible
|
||||
example and try to find out which settings or other things influence the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 7.4. Last change: 2013 Aug 22
|
||||
*map.txt* For Vim version 7.4. Last change: 2014 Jun 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -60,17 +60,17 @@ modes.
|
||||
{rhs}, is then further scanned for mappings. This
|
||||
allows for nested and recursive use of mappings.
|
||||
|
||||
|
||||
:no[remap] {lhs} {rhs} |mapmode-nvo| *:no* *:noremap*
|
||||
:nn[oremap] {lhs} {rhs} |mapmode-n| *:nn* *:nnoremap*
|
||||
:vn[oremap] {lhs} {rhs} |mapmode-v| *:vn* *:vnoremap*
|
||||
:xn[oremap] {lhs} {rhs} |mapmode-x| *:xn* *:xnoremap*
|
||||
:snor[emap] {lhs} {rhs} |mapmode-s| *:snor* *:snoremap*
|
||||
:ono[remap] {lhs} {rhs} |mapmode-o| *:ono* *:onoremap*
|
||||
:no[remap]! {lhs} {rhs} |mapmode-ic| *:no!* *:noremap!*
|
||||
:ino[remap] {lhs} {rhs} |mapmode-i| *:ino* *:inoremap*
|
||||
:ln[oremap] {lhs} {rhs} |mapmode-l| *:ln* *:lnoremap*
|
||||
:cno[remap] {lhs} {rhs} |mapmode-c| *:cno* *:cnoremap*
|
||||
*:nore* *:norem*
|
||||
:no[remap] {lhs} {rhs} |mapmode-nvo| *:no* *:noremap* *:nor*
|
||||
:nn[oremap] {lhs} {rhs} |mapmode-n| *:nn* *:nnoremap*
|
||||
:vn[oremap] {lhs} {rhs} |mapmode-v| *:vn* *:vnoremap*
|
||||
:xn[oremap] {lhs} {rhs} |mapmode-x| *:xn* *:xnoremap*
|
||||
:snor[emap] {lhs} {rhs} |mapmode-s| *:snor* *:snoremap*
|
||||
:ono[remap] {lhs} {rhs} |mapmode-o| *:ono* *:onoremap*
|
||||
:no[remap]! {lhs} {rhs} |mapmode-ic| *:no!* *:noremap!*
|
||||
:ino[remap] {lhs} {rhs} |mapmode-i| *:ino* *:inoremap*
|
||||
:ln[oremap] {lhs} {rhs} |mapmode-l| *:ln* *:lnoremap*
|
||||
:cno[remap] {lhs} {rhs} |mapmode-c| *:cno* *:cnoremap*
|
||||
Map the key sequence {lhs} to {rhs} for the modes
|
||||
where the map command applies. Disallow mapping of
|
||||
{rhs}, to avoid nested and recursive mappings. Often
|
||||
@@ -306,9 +306,21 @@ is disabled. This makes it possible to map zero without making it impossible
|
||||
to type a count with a zero.
|
||||
|
||||
*map-overview* *map-modes*
|
||||
Overview of which map command works in which mode:
|
||||
Overview of which map command works in which mode. More details below.
|
||||
COMMANDS MODES ~
|
||||
:map :noremap :unmap Normal, Visual, Select, Operator-pending
|
||||
:nmap :nnoremap :nunmap Normal
|
||||
:vmap :vnoremap :vunmap Visual and Select
|
||||
:smap :snoremap :sunmap Select
|
||||
:xmap :xnoremap :xunmap Visual
|
||||
:omap :onoremap :ounmap Operator-pending
|
||||
:map! :noremap! :unmap! Insert and Command-line
|
||||
:imap :inoremap :iunmap Insert
|
||||
:lmap :lnoremap :lunmap Insert, Command-line, Lang-Arg
|
||||
:cmap :cnoremap :cunmap Command-line
|
||||
|
||||
commands: modes: ~
|
||||
|
||||
COMMANDS MODES ~
|
||||
Normal Visual+Select Operator-pending ~
|
||||
:map :noremap :unmap :mapclear yes yes yes
|
||||
:nmap :nnoremap :nunmap :nmapclear yes - -
|
||||
@@ -324,7 +336,7 @@ NOTE: Mapping a printable character in Select mode may confuse the user. It's
|
||||
better to explicitly use :xmap and :smap for printable characters. Or use
|
||||
:sunmap after defining the mapping.
|
||||
|
||||
commands: modes: ~
|
||||
COMMANDS MODES ~
|
||||
Visual Select ~
|
||||
:vmap :vnoremap :vunmap :vmapclear yes yes
|
||||
:xmap :xnoremap :xunmap :xmapclear yes -
|
||||
@@ -333,7 +345,7 @@ better to explicitly use :xmap and :smap for printable characters. Or use
|
||||
*mapmode-ic* *mapmode-i* *mapmode-c* *mapmode-l*
|
||||
Some commands work both in Insert mode and Command-line mode, some not:
|
||||
|
||||
commands: modes: ~
|
||||
COMMANDS MODES ~
|
||||
Insert Command-line Lang-Arg ~
|
||||
:map! :noremap! :unmap! :mapclear! yes yes -
|
||||
:imap :inoremap :iunmap :imapclear yes - -
|
||||
@@ -593,7 +605,7 @@ illogical when compared to other commands.
|
||||
When you have a mapping that contains an Ex command, you need to put a line
|
||||
terminator after it to have it executed. The use of <CR> is recommended for
|
||||
this (see |<>|). Example: >
|
||||
:map _ls :!ls -l %<CR>:echo "the end"<CR>
|
||||
:map _ls :!ls -l %:S<CR>:echo "the end"<CR>
|
||||
|
||||
To avoid mapping of the characters you type in insert or Command-line mode,
|
||||
type a CTRL-V first. The mapping in Insert mode is disabled if the 'paste'
|
||||
@@ -816,12 +828,10 @@ Here is an example that counts the number of spaces with <F4>: >
|
||||
let &selection = "inclusive"
|
||||
let reg_save = @@
|
||||
|
||||
if a:0 " Invoked from Visual mode, use '< and '> marks.
|
||||
silent exe "normal! `<" . a:type . "`>y"
|
||||
if a:0 " Invoked from Visual mode, use gv command.
|
||||
silent exe "normal! gvy"
|
||||
elseif a:type == 'line'
|
||||
silent exe "normal! '[V']y"
|
||||
elseif a:type == 'block'
|
||||
silent exe "normal! `[\<C-V>`]y"
|
||||
else
|
||||
silent exe "normal! `[v`]y"
|
||||
endif
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*motion.txt* For Vim version 7.4. Last change: 2013 Jul 17
|
||||
*motion.txt* For Vim version 7.4. Last change: 2014 Feb 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -343,7 +343,7 @@ gg Goto line [count], default first line, on the first
|
||||
See also 'startofline' option. {not in Vi}
|
||||
|
||||
:[range]go[to] [count] *:go* *:goto* *go*
|
||||
[count]go Go to {count} byte in the buffer. Default [count] is
|
||||
[count]go Go to [count] byte in the buffer. Default [count] is
|
||||
one, start of the file. When giving [range], the
|
||||
last number in it used as the byte count. End-of-line
|
||||
characters are counted depending on the current
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 7.4. Last change: 2013 Dec 04
|
||||
*options.txt* For Vim version 7.4. Last change: 2014 Jul 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1200,6 +1200,38 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
break if 'linebreak' is on. Only works for ASCII and also for 8-bit
|
||||
characters when 'encoding' is an 8-bit encoding.
|
||||
|
||||
*'breakindent'* *'bri'*
|
||||
'breakindent' 'bri' boolean (default off)
|
||||
local to window
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+linebreak|
|
||||
feature}
|
||||
Every wrapped line will continue visually indented (same amount of
|
||||
space as the beginning of that line), thus preserving horizontal blocks
|
||||
of text.
|
||||
|
||||
*'breakindentopt'* *'briopt'*
|
||||
'breakindentopt' 'briopt' string (default empty)
|
||||
local to window
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+linebreak|
|
||||
feature}
|
||||
Settings for 'breakindent'. It can consist of the following optional
|
||||
items and must be separated by a comma:
|
||||
min:{n} Minimum text width that will be kept after
|
||||
applying 'breakindent', even if the resulting
|
||||
text should normally be narrower. This prevents
|
||||
text indented almost to the right window border
|
||||
occupying lot of vertical space when broken.
|
||||
shift:{n} After applying 'breakindent', the wrapped line's
|
||||
beginning will be shifted by the given number of
|
||||
characters. It permits dynamic French paragraph
|
||||
indentation (negative) or emphasizing the line
|
||||
continuation (positive).
|
||||
sbr Display the 'showbreak' value before applying the
|
||||
additional indent.
|
||||
The default value for min is 20 and shift is 0.
|
||||
|
||||
*'browsedir'* *'bsdir'*
|
||||
'browsedir' 'bsdir' string (default: "last")
|
||||
global
|
||||
@@ -2197,10 +2229,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
zip PkZip compatible method. A weak kind of encryption.
|
||||
Backwards compatible with Vim 7.2 and older.
|
||||
*blowfish*
|
||||
blowfish Blowfish method. Strong encryption. Requires Vim 7.3
|
||||
or later, files can NOT be read by Vim 7.2 and older.
|
||||
This adds a "seed" to the file, every time you write
|
||||
the file the encrypted bytes will be different.
|
||||
blowfish Blowfish method. Medium strong encryption but it has
|
||||
an implementation flaw. Requires Vim 7.3 or later,
|
||||
files can NOT be read by Vim 7.2 and older. This adds
|
||||
a "seed" to the file, every time you write the file
|
||||
the encrypted bytes will be different.
|
||||
*blowfish2*
|
||||
blowfish2 Blowfish method. Medium strong encryption. Requires
|
||||
Vim 7.4.399 or later, files can NOT be read by Vim 7.3
|
||||
and older. This adds a "seed" to the file, every time
|
||||
you write the file the encrypted bytes will be
|
||||
different. The whole undo file is encrypted, not just
|
||||
the pieces of text.
|
||||
|
||||
When reading an encrypted file 'cryptmethod' will be set automatically
|
||||
to the detected method of the file being read. Thus if you write it
|
||||
@@ -3920,12 +3960,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
NOTE: This option is reset when 'compatible' is set.
|
||||
|
||||
*'history'* *'hi'*
|
||||
'history' 'hi' number (Vim default: 20, Vi default: 0)
|
||||
'history' 'hi' number (Vim default: 50, Vi default: 0)
|
||||
global
|
||||
{not in Vi}
|
||||
A history of ":" commands, and a history of previous search patterns
|
||||
are remembered. This option decides how many entries may be stored in
|
||||
is remembered. This option decides how many entries may be stored in
|
||||
each of these histories (see |cmdline-editing|).
|
||||
The maximum value is 10000.
|
||||
NOTE: This option is set to the Vi default value when 'compatible' is
|
||||
set and to the Vim default value when 'compatible' is reset.
|
||||
|
||||
@@ -4492,6 +4533,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
be able to execute Normal mode commands.
|
||||
This is the opposite of the 'keymap' option, where characters are
|
||||
mapped in Insert mode.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
Example (for Greek, in UTF-8): *greek* >
|
||||
:set langmap=ΑA,ΒB,ΨC,ΔD,ΕE,ΦF,ΓG,ΗH,ΙI,ΞJ,ΚK,ΛL,ΜM,ΝN,ΟO,ΠP,QQ,ΡR,ΣS,ΤT,ΘU,ΩV,WW,ΧX,ΥY,ΖZ,αa,βb,ψc,δd,εe,φf,γg,ηh,ιi,ξj,κk,λl,μm,νn,οo,πp,qq,ρr,σs,τt,θu,ωv,ςw,χx,υy,ζz
|
||||
@@ -4572,12 +4615,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+linebreak|
|
||||
feature}
|
||||
If on Vim will wrap long lines at a character in 'breakat' rather
|
||||
If on, Vim will wrap long lines at a character in 'breakat' rather
|
||||
than at the last character that fits on the screen. Unlike
|
||||
'wrapmargin' and 'textwidth', this does not insert <EOL>s in the file,
|
||||
it only affects the way the file is displayed, not its contents. The
|
||||
value of 'showbreak' is used to put in front of wrapped lines.
|
||||
This option is not used when the 'wrap' option is off or 'list' is on.
|
||||
it only affects the way the file is displayed, not its contents.
|
||||
If 'breakindent' is set, line is visually indented. Then, the value
|
||||
of 'showbreak' is used to put in front of wrapped lines. This option
|
||||
is not used when the 'wrap' option is off.
|
||||
Note that <Tab> characters after an <EOL> are mostly not displayed
|
||||
with the right amount of white space.
|
||||
|
||||
@@ -4629,7 +4673,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
*'lispwords'* *'lw'*
|
||||
'lispwords' 'lw' string (default is very long)
|
||||
global
|
||||
global or local to buffer |global-local|
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+lispindent|
|
||||
feature}
|
||||
@@ -4757,8 +4801,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
global or local to buffer |global-local|
|
||||
{not in Vi}
|
||||
Program to use for the ":make" command. See |:make_makeprg|.
|
||||
This option may contain '%' and '#' characters, which are expanded to
|
||||
the current and alternate file name. |:_%| |:_#|
|
||||
This option may contain '%' and '#' characters (see |:_%| and |:_#|),
|
||||
which are expanded to the current and alternate file name. Use |::S|
|
||||
to escape file names in case they contain special characters.
|
||||
Environment variables are expanded |:set_env|. See |option-backslash|
|
||||
about including spaces and backslashes.
|
||||
Note that a '|' must be escaped twice: once for ":set" and once for
|
||||
@@ -5332,7 +5377,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Expression which is evaluated to apply a patch to a file and generate
|
||||
the resulting new version of the file. See |diff-patchexpr|.
|
||||
|
||||
*'patchmode'* *'pm'* *E206*
|
||||
*'patchmode'* *'pm'* *E205* *E206*
|
||||
'patchmode' 'pm' string (default "")
|
||||
global
|
||||
{not in Vi}
|
||||
@@ -5613,6 +5658,77 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
this option at the default "on". Only switch it off when working with
|
||||
old Vi scripts.
|
||||
|
||||
*'renderoptions'* *'rop'*
|
||||
'renderoptions' 'rop' string (default: empty)
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with GUI and DIRECTX on
|
||||
MS-Windows}
|
||||
Select a text renderer and set its options. The options depend on the
|
||||
renderer.
|
||||
|
||||
Syntax: >
|
||||
set rop=type:{renderer}(,{name}:{value})*
|
||||
<
|
||||
Currently, only one optional renderer is available.
|
||||
|
||||
render behavior ~
|
||||
directx Vim will draw text using DirectX (DirectWrite). It makes
|
||||
drawn glyphs more beautiful than default GDI.
|
||||
It requires 'encoding' is "utf-8", and only works on
|
||||
MS-Windows Vista or newer version.
|
||||
|
||||
Options:
|
||||
name meaning type value ~
|
||||
gamma gamma float 1.0 - 2.2 (maybe)
|
||||
contrast enhancedContrast float (unknown)
|
||||
level clearTypeLevel float (unknown)
|
||||
geom pixelGeometry int 0 - 2 (see below)
|
||||
renmode renderingMode int 0 - 6 (see below)
|
||||
taamode textAntialiasMode int 0 - 3 (see below)
|
||||
|
||||
See this URL for detail:
|
||||
http://msdn.microsoft.com/en-us/library/dd368190.aspx
|
||||
|
||||
For geom: structure of a device pixel.
|
||||
0 - DWRITE_PIXEL_GEOMETRY_FLAT
|
||||
1 - DWRITE_PIXEL_GEOMETRY_RGB
|
||||
2 - DWRITE_PIXEL_GEOMETRY_BGR
|
||||
|
||||
See this URL for detail:
|
||||
http://msdn.microsoft.com/en-us/library/dd368114.aspx
|
||||
|
||||
For renmode: method of rendering glyphs.
|
||||
0 - DWRITE_RENDERING_MODE_DEFAULT
|
||||
1 - DWRITE_RENDERING_MODE_ALIASED
|
||||
2 - DWRITE_RENDERING_MODE_GDI_CLASSIC
|
||||
3 - DWRITE_RENDERING_MODE_GDI_NATURAL
|
||||
4 - DWRITE_RENDERING_MODE_NATURAL
|
||||
5 - DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC
|
||||
6 - DWRITE_RENDERING_MODE_OUTLINE
|
||||
|
||||
See this URL for detail:
|
||||
http://msdn.microsoft.com/en-us/library/dd368118.aspx
|
||||
|
||||
For taamode: antialiasing mode used for drawing text.
|
||||
0 - D2D1_TEXT_ANTIALIAS_MODE_DEFAULT
|
||||
1 - D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE
|
||||
2 - D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE
|
||||
3 - D2D1_TEXT_ANTIALIAS_MODE_ALIASED
|
||||
|
||||
See this URL for detail:
|
||||
http://msdn.microsoft.com/en-us/library/dd368170.aspx
|
||||
|
||||
Example: >
|
||||
set encoding=utf-8
|
||||
set gfn=Ricty_Diminished:h12:cSHIFTJIS
|
||||
set rop=type:directx
|
||||
<
|
||||
If select a raster font (Courier, Terminal or FixedSys) to
|
||||
'guifont', it fallbacks to be drawn by GDI automatically.
|
||||
|
||||
Other render types are currently not supported.
|
||||
|
||||
*'report'*
|
||||
'report' number (default 2)
|
||||
global
|
||||
@@ -6251,6 +6367,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
A don't give the "ATTENTION" message when an existing swap file
|
||||
is found.
|
||||
I don't give the intro message when starting Vim |:intro|.
|
||||
c don't give |ins-completion-menu| messages. For example,
|
||||
"-- XXX completion (YYY)", "match 1 of 2", "The only match",
|
||||
"Pattern not found", "Back at original", etc.
|
||||
|
||||
This gives you the opportunity to avoid that a change between buffers
|
||||
requires you to hit <Enter>, but still gives as useful a message as
|
||||
@@ -6618,6 +6737,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
top of the suggestion list with the internal methods.
|
||||
Lines without a slash are ignored, use this for
|
||||
comments.
|
||||
The word in the second column must be correct,
|
||||
otherwise it will not be used. Add the word to an
|
||||
".add" file if it is currently flagged as a spelling
|
||||
mistake.
|
||||
The file is used for all languages.
|
||||
|
||||
expr:{expr} Evaluate expression {expr}. Use a function to avoid
|
||||
@@ -6881,6 +7004,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
immediately deleted. When 'swapfile' is set, and 'updatecount' is
|
||||
non-zero, a swap file is immediately created.
|
||||
Also see |swap-file| and |'swapsync'|.
|
||||
If you want to open a new buffer without creating a swap file for it,
|
||||
use the |:noswapfile| modifier.
|
||||
|
||||
This option is used together with 'bufhidden' and 'buftype' to
|
||||
specify special kinds of buffers. See |special-buffers|.
|
||||
@@ -7501,8 +7626,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
"s" = button state
|
||||
"c" = column plus 33
|
||||
"r" = row plus 33
|
||||
This only works up to 223 columns! See "dec" for a
|
||||
solution.
|
||||
This only works up to 223 columns! See "dec",
|
||||
"urxvt", and "sgr" for solutions.
|
||||
xterm2 Works like "xterm", but with the xterm reporting the
|
||||
mouse position while the mouse is dragged. This works
|
||||
much faster and more precise. Your xterm must at
|
||||
@@ -7524,29 +7649,35 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
pterm QNX pterm mouse handling.
|
||||
*urxvt-mouse*
|
||||
urxvt Mouse handling for the urxvt (rxvt-unicode) terminal.
|
||||
The mouse works only if the terminal supports this
|
||||
encoding style, but it does not have 223 columns limit
|
||||
unlike "xterm" or "xterm2".
|
||||
*sgr-mouse*
|
||||
sgr Mouse handling for the terminal that emits SGR-styled
|
||||
mouse reporting. Works with xterm version 277 or
|
||||
later.
|
||||
mouse reporting. The mouse works even in columns
|
||||
beyond 223. This option is backward compatible with
|
||||
"xterm2" because it can also decode "xterm2" style
|
||||
mouse codes.
|
||||
|
||||
The mouse handling must be enabled at compile time |+mouse_xterm|
|
||||
|+mouse_dec| |+mouse_netterm|.
|
||||
|+mouse_dec| |+mouse_netterm| |+mouse_jsbterm| |+mouse_urxvt|
|
||||
|+mouse_sgr|.
|
||||
Only "xterm"(2) is really recognized. NetTerm mouse codes are always
|
||||
recognized, if enabled at compile time. DEC terminal mouse codes
|
||||
are recognized if enabled at compile time, and 'ttymouse' is not
|
||||
"xterm" (because the xterm and dec mouse codes conflict).
|
||||
"xterm", "xterm2", "urxvt" or "sgr" (because dec mouse codes conflict
|
||||
with them).
|
||||
This option is automatically set to "xterm", when the 'term' option is
|
||||
set to a name that starts with "xterm", and 'ttymouse' is not "xterm"
|
||||
or "xterm2" already. The main use of this option is to set it to
|
||||
"xterm", when the terminal name doesn't start with "xterm", but it can
|
||||
handle xterm mouse codes.
|
||||
The "sgr" value will be set if the xterm version is 277 or later.
|
||||
set to a name that starts with "xterm", "mlterm", or "screen", and
|
||||
'ttymouse' is not set already.
|
||||
Additionally, if vim is compiled with the |+termresponse| feature and
|
||||
|t_RV| is set to the escape sequence to request the xterm version
|
||||
number, more intelligent detection process runs.
|
||||
The "xterm2" value will be set if the xterm version is reported to be
|
||||
95 or higher. This only works when compiled with the |+termresponse|
|
||||
feature and if |t_RV| is set to the escape sequence to request the
|
||||
xterm version number. Otherwise "xterm2" must be set explicitly.
|
||||
If you do not want 'ttymouse' to be set to "xterm2" automatically, set
|
||||
t_RV to an empty string: >
|
||||
from 95 to 276. The "sgr" value will be set if the xterm version is
|
||||
277 or highter.
|
||||
If you do not want 'ttymouse' to be set to "xterm2" or "sgr"
|
||||
automatically, set t_RV to an empty string: >
|
||||
:set t_RV=
|
||||
<
|
||||
*'ttyscroll'* *'tsl'*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_vms.txt* For Vim version 7.4. Last change: 2013 Aug 22
|
||||
*os_vms.txt* For Vim version 7.4. Last change: 2014 Feb 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL
|
||||
@@ -764,6 +764,22 @@ GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
|
||||
|
||||
9. VMS related changes *vms-changes*
|
||||
|
||||
Version 7.4
|
||||
- Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name"
|
||||
add _un_ at the beginning to keep the extension
|
||||
- correct swap file name wildcard handling
|
||||
- handle iconv usage correctly
|
||||
- do not optimize on vax - otherwise it hangs compiling crypto files
|
||||
- fileio.c fix the comment
|
||||
- correct RealWaitForChar
|
||||
- after 7.4-119 use different functions lib$cvtf_to_internal_time because Alpha and VAX have
|
||||
G_FLOAT but IA64 uses IEEE float otherwise Vim crashes
|
||||
- guard agains crashes that are caused by mixed filenames
|
||||
- [TESTDIR]make_vms.mms changed to see the output files
|
||||
- Improve tests, update known issues
|
||||
- minor compiler warnings fixed
|
||||
- CTAGS 5.8 +regex included
|
||||
|
||||
Version 7.3
|
||||
- CTAGS 5.8 included
|
||||
- VMS compile warnings fixed - floating-point overflow warning corrected on VAX
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 7.4. Last change: 2013 Nov 09
|
||||
*pattern.txt* For Vim version 7.4. Last change: 2014 May 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -192,10 +192,10 @@ affected.
|
||||
An example of how to search for matches with a pattern and change the match
|
||||
with another word: >
|
||||
/foo<CR> find "foo"
|
||||
c//e change until end of match
|
||||
c//e<CR> change until end of match
|
||||
bar<Esc> type replacement
|
||||
//<CR> go to start of next match
|
||||
c//e change until end of match
|
||||
c//e<CR> change until end of match
|
||||
beep<Esc> type another replacement
|
||||
etc.
|
||||
<
|
||||
@@ -545,6 +545,7 @@ Character classes {not in Vi}: */character-classes*
|
||||
|/\%u| \%u \%u match specified multibyte character (eg \%u20ac)
|
||||
|/\%U| \%U \%U match specified large multibyte character (eg
|
||||
\%U12345678)
|
||||
|/\%C| \%C \%C match any composing characters
|
||||
|
||||
Example matches ~
|
||||
\<\I\i* or
|
||||
@@ -1207,12 +1208,18 @@ will probably never match.
|
||||
8. Composing characters *patterns-composing*
|
||||
|
||||
*/\Z*
|
||||
When "\Z" appears anywhere in the pattern, composing characters are ignored.
|
||||
Thus only the base characters need to match, the composing characters may be
|
||||
different and the number of composing characters may differ. Only relevant
|
||||
when 'encoding' is "utf-8".
|
||||
When "\Z" appears anywhere in the pattern, all composing characters are
|
||||
ignored. Thus only the base characters need to match, the composing
|
||||
characters may be different and the number of composing characters may differ.
|
||||
Only relevant when 'encoding' is "utf-8".
|
||||
Exception: If the pattern starts with one or more composing characters, these
|
||||
must match.
|
||||
*/\%C*
|
||||
Use "\%C" to skip any composing characters. For example, the pattern "a" does
|
||||
not match in "càt" (where the a has the composing character 0x0300), but
|
||||
"a\%C" does. Note that this does not match "cát" (where the á is character
|
||||
0xe1, it does not have a compositing character). It does match "cat" (where
|
||||
the a is just an a).
|
||||
|
||||
When a composing character appears at the start of the pattern of after an
|
||||
item that doesn't include the composing character, a match is found at any
|
||||
@@ -1325,7 +1332,7 @@ Finally, these constructs are unique to Perl:
|
||||
patterns defined by both |matchadd()| and |:match|.
|
||||
|
||||
Highlighting matches using |:match| are limited to three
|
||||
matches (aside from |:match|, |:2match| and |:3match|are
|
||||
matches (aside from |:match|, |:2match| and |:3match| are
|
||||
available). |matchadd()| does not have this limitation and in
|
||||
addition makes it possible to prioritize matches.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_netrw.txt* For Vim version 7.4. Last change: 2014 Jan 21
|
||||
*pi_netrw.txt* For Vim version 7.4. Last change: 2014 May 13
|
||||
|
||||
------------------------------------------------
|
||||
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||
@@ -49,6 +49,7 @@ Copyright: Copyright (C) 1999-2014 Charles E Campbell *netrw-copyright*
|
||||
Quick Reference: Commands...........................|netrw-browse-cmds|
|
||||
Bookmarking A Directory.............................|netrw-mb|
|
||||
Browsing............................................|netrw-cr|
|
||||
Squeezing the Current Tree-Listing Directory......|:netrw-s-cr|
|
||||
Browsing With A Horizontally Split Window...........|netrw-o|
|
||||
Browsing With A New Tab.............................|netrw-t|
|
||||
Browsing With A Vertically Split Window.............|netrw-v|
|
||||
@@ -172,7 +173,7 @@ There are more protocols supported by netrw than just scp and ftp, too: see the
|
||||
next section, |netrw-externapp|, on how to use these external applications with
|
||||
netrw and vim.
|
||||
|
||||
PREVENTING LOADING *netrw-noload*
|
||||
PREVENTING LOADING *netrw-noload*
|
||||
|
||||
If you want to use plugins, but for some reason don't wish to use netrw, then
|
||||
you need to avoid loading both the plugin and the autoload portions of netrw.
|
||||
@@ -183,7 +184,7 @@ You may do so by placing the following two lines in your <.vimrc>: >
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
3. Netrw Reference *netrw-ref* {{{1
|
||||
3. Netrw Reference *netrw-ref* {{{1
|
||||
|
||||
Netrw supports several protocols in addition to scp and ftp as mentioned
|
||||
in |netrw-start|. These include dav, fetch, http,... well, just look
|
||||
@@ -290,7 +291,7 @@ SOURCING *netrw-source* {{{2
|
||||
:Nsource "scp://[user@]machine[[:#]port]/path" uses scp
|
||||
:Nsource "sftp://[user@]machine/path" uses sftp
|
||||
|
||||
DIRECTORY LISTING *netrw-trailingslash* *netrw-dirlist* {{{2
|
||||
DIRECTORY LISTING *netrw-trailingslash* *netrw-dirlist* {{{2
|
||||
|
||||
One may browse a directory to get a listing by simply attempting to
|
||||
edit the directory: >
|
||||
@@ -347,9 +348,9 @@ settings are described below, in |netrw-browser-options|, and in
|
||||
*g:netrw_bufsettings* the settings that netrw buffers have
|
||||
(default) noma nomod nonu nowrap ro nobl
|
||||
|
||||
*g:netrw_chgwin* specifies a window number where file edits will take
|
||||
place. (also see |netrw-C|)
|
||||
(default) not defined
|
||||
*g:netrw_chgwin* specifies a window number where subsequent file edits
|
||||
will take place. (also see |netrw-C|)
|
||||
(default) -1
|
||||
|
||||
*g:Netrw_funcref* specifies a function (or functions) to be called when
|
||||
netrw edits a file. The file is first edited, and
|
||||
@@ -370,9 +371,9 @@ settings are described below, in |netrw-browser-options|, and in
|
||||
value of this variable to see if the alternate ftp
|
||||
method works for your setup.
|
||||
|
||||
*g:netrw_ftp_options* Chosen by default, these options are supposed to turn
|
||||
interactive prompting off and to restrain ftp from
|
||||
attempting auto-login upon initial connection.
|
||||
*g:netrw_ftp_options* Chosen by default, these options are supposed to
|
||||
turn interactive prompting off and to restrain ftp
|
||||
from attempting auto-login upon initial connection.
|
||||
However, it appears that not all ftp implementations
|
||||
support this (ex. ncftp).
|
||||
="-i -n"
|
||||
@@ -403,8 +404,8 @@ settings are described below, in |netrw-browser-options|, and in
|
||||
*g:netrw_preview* =0 (default) preview window shown in a horizontally
|
||||
split window
|
||||
=1 preview window shown in a vertically split window.
|
||||
Also affects the "previous window" (see |netrw-P|) in
|
||||
the same way.
|
||||
Also affects the "previous window" (see |netrw-P|)
|
||||
in the same way.
|
||||
|
||||
*g:netrw_scpport* = "-P" : option to use to set port for scp
|
||||
*g:netrw_sshport* = "-p" : option to use to set port for ssh
|
||||
@@ -542,15 +543,17 @@ which contains ftp commands which will be automatically run whenever ftp
|
||||
starts. You may use this feature to enter a user and password for one site: >
|
||||
userid
|
||||
password
|
||||
< *netrw-windows-netrc* *netrw-windows-s*
|
||||
If |g:netrw_ftp_cmd| contains -s:[path/]MACHINE, then (on Windows machines only)
|
||||
netrw will substitute the current machine name requested for ftp connections
|
||||
for MACHINE. Hence one can have multiple machine.ftp files containing login
|
||||
and password for ftp. Example: >
|
||||
< *netrw-windows-netrc* *netrw-windows-s*
|
||||
If |g:netrw_ftp_cmd| contains -s:[path/]MACHINE, then (on Windows machines
|
||||
only) netrw will substitute the current machine name requested for ftp
|
||||
connections for MACHINE. Hence one can have multiple machine.ftp files
|
||||
containing login and password for ftp. Example: >
|
||||
|
||||
let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\Myself\MACHINE'
|
||||
vim ftp://myhost.somewhere.net/
|
||||
|
||||
will use a file >
|
||||
|
||||
C:\Users\Myself\myhost.ftp
|
||||
<
|
||||
Often, ftp will need to query the user for the userid and password.
|
||||
@@ -680,7 +683,7 @@ your <.vimrc> customization file: >
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
6. Transparent Remote File Editing *netrw-transparent* {{{1
|
||||
6. Transparent Remote File Editing *netrw-transparent* {{{1
|
||||
|
||||
Transparent file transfers occur whenever a regular file read or write
|
||||
(invoked via an |:autocmd| for |BufReadCmd|, |BufWriteCmd|, or |SourceCmd|
|
||||
@@ -754,7 +757,7 @@ below, a {netfile} is an url to a remote file.
|
||||
|
||||
|
||||
==============================================================================
|
||||
8. Variables and Options *netrw-var* *netrw-settings* {{{1
|
||||
8. Variables and Options *netrw-var* *netrw-settings* {{{1
|
||||
|
||||
(also see: |netrw-options| |netrw-variables| |netrw-protocol|
|
||||
|netrw-browser-settings| |netrw-browser-options| )
|
||||
@@ -794,7 +797,7 @@ set in the user's <.vimrc> file: (see also |netrw-settings| |netrw-protocol|)
|
||||
=1 use default method to do ftp >
|
||||
-----------------------------------------------------------------------
|
||||
<
|
||||
*netrw-internal-variables*
|
||||
*netrw-internal-variables*
|
||||
The script will also make use of the following variables internally, albeit
|
||||
temporarily.
|
||||
>
|
||||
@@ -1041,8 +1044,8 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
||||
<del> Netrw will attempt to remove the file/directory |netrw-del|
|
||||
- Makes Netrw go up one directory |netrw--|
|
||||
a Toggles between normal display, |netrw-a|
|
||||
hiding (suppress display of files matching g:netrw_list_hide)
|
||||
showing (display only files which match g:netrw_list_hide)
|
||||
hiding (suppress display of files matching g:netrw_list_hide)
|
||||
showing (display only files which match g:netrw_list_hide)
|
||||
c Make browsing directory the current directory |netrw-c|
|
||||
C Setting the editing window |netrw-C|
|
||||
d Make a directory |netrw-d|
|
||||
@@ -1067,7 +1070,7 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
||||
mx Apply arbitrary shell command to marked files |netrw-mx|
|
||||
mz Compress/decompress marked files |netrw-mz|
|
||||
o Enter the file/directory under the cursor in a new |netrw-o|
|
||||
browser window. A horizontal split is used.
|
||||
browser window. A horizontal split is used.
|
||||
O Obtain a file specified by cursor |netrw-O|
|
||||
p Preview the file |netrw-p|
|
||||
P Browse in the previously used window |netrw-P|
|
||||
@@ -1081,7 +1084,7 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
||||
u Change to recently-visited directory |netrw-u|
|
||||
U Change to subsequently-visited directory |netrw-U|
|
||||
v Enter the file/directory under the cursor in a new |netrw-v|
|
||||
browser window. A vertical split is used.
|
||||
browser window. A vertical split is used.
|
||||
x View file with an associated program |netrw-x|
|
||||
X Execute filename under cursor via |system()| |netrw-X|
|
||||
|
||||
@@ -1095,9 +1098,9 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
||||
<rightmouse> (gvim only) delete file/directory using word under
|
||||
mouse
|
||||
<2-leftmouse> (gvim only) when:
|
||||
* in a netrw-selected file, AND
|
||||
* |g:netrw_retmap| == 1 AND
|
||||
* the user doesn't already have a <2-leftmouse>
|
||||
* in a netrw-selected file, AND
|
||||
* |g:netrw_retmap| == 1 AND
|
||||
* the user doesn't already have a <2-leftmouse>
|
||||
mapping defined before netrw is autoloaded,
|
||||
then a double clicked leftmouse button will return
|
||||
to the netrw browser window. See |g:netrw_retmap|.
|
||||
@@ -1179,6 +1182,12 @@ are introduced into a directory), the listing may become out-of-date. One may
|
||||
always refresh directory listing buffers by pressing ctrl-L (see
|
||||
|netrw-ctrl-l|).
|
||||
|
||||
*:netrw-s-cr*
|
||||
Squeezing the Current Tree-Listing Directory~
|
||||
When the tree listing style is enabled (see |netrw-i|) and one is using
|
||||
gvim, then the <s-cr> mapping may be used to squeeze (close) the
|
||||
directory currently containing the cursor.
|
||||
|
||||
|
||||
Related topics: |netrw-o| |netrw-p| |netrw-P| |netrw-t| |netrw-v|
|
||||
Associated setting variables: |g:netrw_browse_split| |g:netrw_fastbrowse|
|
||||
@@ -1227,9 +1236,7 @@ cursor at the left.
|
||||
There is only one tree listing buffer; using "v" on a displayed subdirectory
|
||||
will split the screen, but the same buffer will be shown twice.
|
||||
|
||||
Associated setting variable: |g:netrw_altv| |g:netrw_winsize|
|
||||
|
||||
Related Actions |netrw-cr| |netrw-o| |netrw-t| |netrw-v|
|
||||
Related Actions: |netrw-cr| |netrw-o| |netrw-t| |netrw-v|
|
||||
Associated setting variables:
|
||||
|g:netrw_altv| control right/left splitting
|
||||
|g:netrw_winsize| control initial sizing
|
||||
@@ -1251,11 +1258,12 @@ The wide listing format uses two or more contiguous spaces to delineate
|
||||
filenames; when using that format, netrw won't be able to recognize or use
|
||||
filenames which have two or more contiguous spaces embedded in the name or any
|
||||
trailing spaces. The thin listing format will, however, work with such files.
|
||||
This listing format is the most compact.
|
||||
The wide listing format is the most compact.
|
||||
|
||||
The tree listing format has a top directory followed by files and directories
|
||||
preceded by a "|". One may open and close directories by pressing the <cr>
|
||||
key while atop the directory name.
|
||||
preceded by one or more "|"s, which indicate the directory depth. One may
|
||||
open and close directories by pressing the <cr> key while atop the directory
|
||||
name.
|
||||
|
||||
One may make a preferred listing style your default; see |g:netrw_liststyle|.
|
||||
As an example, by putting the following line in your .vimrc, >
|
||||
@@ -1455,8 +1463,16 @@ If files have been marked with |netrw-mf|: (local marked file list)
|
||||
Marked files (and empty directories) will be deleted; again, you'll be
|
||||
asked to confirm the deletion before it actually takes place.
|
||||
|
||||
A further approach is to delete files which match a pattern.
|
||||
|
||||
* use :MF pattern (see |netrw-:MF|); then press "D".
|
||||
|
||||
* use mr (see |netrw-mr|) which will prompt you for pattern.
|
||||
This will cause the matching files to be marked. Then,
|
||||
press "D".
|
||||
|
||||
The |g:netrw_rm_cmd|, |g:netrw_rmf_cmd|, and |g:netrw_rmdir_cmd| variables are
|
||||
used to control the attempts to remove files and directories. The
|
||||
used to control the attempts to remove remote files and directories. The
|
||||
g:netrw_rm_cmd is used with files, and its default value is:
|
||||
|
||||
g:netrw_rm_cmd: ssh HOSTNAME rm
|
||||
@@ -1464,12 +1480,12 @@ g:netrw_rm_cmd is used with files, and its default value is:
|
||||
The g:netrw_rmdir_cmd variable is used to support the removal of directories.
|
||||
Its default value is:
|
||||
|
||||
g:netrw_rmdir_cmd: ssh HOSTNAME rmdir
|
||||
|g:netrw_rmdir_cmd|: ssh HOSTNAME rmdir
|
||||
|
||||
If removing a directory fails with g:netrw_rmdir_cmd, netrw then will attempt
|
||||
to remove it again using the g:netrw_rmf_cmd variable. Its default value is:
|
||||
|
||||
g:netrw_rmf_cmd: ssh HOSTNAME rm -f
|
||||
|g:netrw_rmf_cmd|: ssh HOSTNAME rm -f
|
||||
|
||||
Related topics: |netrw-d|
|
||||
Associated setting variable: |g:netrw_localrmdir| |g:netrw_rm_cmd|
|
||||
@@ -1482,7 +1498,7 @@ DIRECTORY EXPLORATION COMMANDS {{{2
|
||||
|
||||
:[N]Explore[!] [dir]... Explore directory of current file *:Explore*
|
||||
:[N]Hexplore[!] [dir]... Horizontal Split & Explore *:Hexplore*
|
||||
:Rexplore ... Return to Explorer *:Rexplore*
|
||||
:Rexplore ... Return to/from Explorer *:Rexplore*
|
||||
:[N]Sexplore[!] [dir]... Split&Explore current file's directory *:Sexplore*
|
||||
:Texplore [dir]... Tab & Explore *:Texplore*
|
||||
:[N]Vexplore[!] [dir]... Vertical Split & Explore *:Vexplore*
|
||||
@@ -1492,23 +1508,36 @@ DIRECTORY EXPLORATION COMMANDS {{{2
|
||||
:Nexplore............. go to next matching file *:Nexplore*
|
||||
:Pexplore............. go to previous matching file *:Pexplore*
|
||||
|
||||
*netrw-:Explore*
|
||||
:Explore will open the local-directory browser on the current file's
|
||||
directory (or on directory [dir] if specified). The window will be
|
||||
split only if the file has been modified, otherwise the browsing
|
||||
window will take over that window. Normally the splitting is taken
|
||||
horizontally.
|
||||
Also see: |netrw-:Rexplore|
|
||||
:Explore! is like :Explore, but will use vertical splitting.
|
||||
*netrw-:Lexplore*
|
||||
:Lexplore [dir] toggles an Explorer window on the left hand side
|
||||
of the current tab It will open a netrw window on the current
|
||||
directory if [dir] is omitted.
|
||||
directory if [dir] is omitted; a :Lexplore [dir] will show
|
||||
the specified directory in the left-hand side browser display
|
||||
no matter from which window the command is issued. By default,
|
||||
:Lexplore will change an uninitialized |g:netrw_chgwin| to 2;
|
||||
edits will thus be preferentially made in window#2.
|
||||
Also see: |netrw-C|| |g:netrw_chgwin| |g:netrw_winsize|
|
||||
|netrw-p| |netrw-P|| |g:netrw_browse_split|
|
||||
*netrw-:Sexplore*
|
||||
:Sexplore will always split the window before invoking the local-directory
|
||||
browser. As with Explore, the splitting is normally done
|
||||
horizontally.
|
||||
:Sexplore! [dir] is like :Sexplore, but the splitting will be done vertically.
|
||||
*netrw-:Hexplore*
|
||||
:Hexplore [dir] does an :Explore with |:belowright| horizontal splitting.
|
||||
:Hexplore! [dir] does an :Explore with |:aboveleft| horizontal splitting.
|
||||
*netrw-:Vexplore*
|
||||
:Vexplore [dir] does an :Explore with |:leftabove| vertical splitting.
|
||||
:Vexplore! [dir] does an :Explore with |:rightbelow| vertical splitting.
|
||||
*netrw-:Texplore*
|
||||
:Texplore [dir] does a |:tabnew| before generating the browser window
|
||||
|
||||
By default, these commands use the current file's directory. However, one may
|
||||
@@ -1521,12 +1550,23 @@ Otherwise, the |g:netrw_winsize| variable, if it has been specified by the
|
||||
user, is used to control the quantity of rows and/or columns new explorer
|
||||
windows should have.
|
||||
|
||||
:Rexplore This command is a little different from the others. When one
|
||||
edits a file, for example by pressing <cr> when atop a file in
|
||||
a netrw browser window, :Rexplore will return the display to
|
||||
that of the last netrw browser window. It is a command version
|
||||
of the <2-leftmouse> map (which is only available under gvim and
|
||||
cooperative terms).
|
||||
*netrw-:Rexplore*
|
||||
:Rexplore This command is a little different from the others as it doesn't
|
||||
necessarily open an Explorer window.
|
||||
|
||||
Return to Explorer~
|
||||
When one edits a file, for example by pressing <cr> when the
|
||||
cursor is atop a file in a netrw browser window, :Rexplore will
|
||||
return the display to that of the last netrw browser display
|
||||
in that window.
|
||||
|
||||
Return from Explorer~
|
||||
Conversely, when one is editing a directory, issuing a :Rexplore
|
||||
will return to editing the file that was last edited in that
|
||||
window.
|
||||
|
||||
The <2-leftmouse> map (which is only available under gvim and
|
||||
cooperative terms) does the same as :Rexplore.
|
||||
|
||||
Also see: |g:netrw_alto| |g:netrw_altv| |g:netrw_winsize|
|
||||
|
||||
@@ -1572,11 +1612,12 @@ As an example, consider
|
||||
The status line will show, on the right hand side of the status line, a
|
||||
message like "Match 3 of 20".
|
||||
|
||||
Associated setting variables: |g:netrw_keepdir| |g:netrw_browse_split|
|
||||
|g:netrw_fastbrowse| |g:netrw_ftp_browse_reject|
|
||||
|g:netrw_ftp_list_cmd| |g:netrw_ftp_sizelist_cmd|
|
||||
|g:netrw_ftp_timelist_cmd| |g:netrw_list_cmd|
|
||||
|g:netrw_liststyle|
|
||||
Associated setting variables:
|
||||
|g:netrw_keepdir| |g:netrw_browse_split|
|
||||
|g:netrw_fastbrowse| |g:netrw_ftp_browse_reject|
|
||||
|g:netrw_ftp_list_cmd| |g:netrw_ftp_sizelist_cmd|
|
||||
|g:netrw_ftp_timelist_cmd| |g:netrw_list_cmd|
|
||||
|g:netrw_liststyle|
|
||||
|
||||
|
||||
DISPLAYING INFORMATION ABOUT FILE *netrw-qf* {{{2
|
||||
@@ -1666,10 +1707,10 @@ entry in the listing.
|
||||
|
||||
Netrw will use the command in |g:netrw_list_cmd| to perform the directory
|
||||
listing operation after changing HOSTNAME to the host specified by the
|
||||
user-provided url. By default netrw provides the command as:
|
||||
user-prpvided url. By default netrw provides the command as: >
|
||||
|
||||
ssh HOSTNAME ls -FLa
|
||||
|
||||
<
|
||||
where the HOSTNAME becomes the [user@]hostname as requested by the attempt to
|
||||
read. Naturally, the user may override this command with whatever is
|
||||
preferred. The NetList function which implements remote browsing
|
||||
@@ -1882,12 +1923,29 @@ directory.
|
||||
|
||||
Associated setting variable: |g:netrw_keepdir|
|
||||
|
||||
MARKING FILES *netrw-mf* {{{2
|
||||
MARKING FILES *netrw-:MF* *netrw-mf* {{{2
|
||||
(also see |netrw-mr|)
|
||||
|
||||
One may mark files with the cursor atop a filename and then pressing "mf".
|
||||
With gvim, one may also mark files with <s-leftmouse>. The following netrw
|
||||
maps make use of marked files:
|
||||
Netrw has several ways of marking files:
|
||||
|
||||
* One may mark files with the cursor atop a filename and
|
||||
then pressing "mf".
|
||||
|
||||
* With gvim, in addition one may mark files with
|
||||
<s-leftmouse>. (see |netrw-mouse|)
|
||||
|
||||
* One may use the :MF command, which takes a list of
|
||||
files (for local directories, the list may include
|
||||
wildcards -- see |glob()|) >
|
||||
|
||||
:MF *.c
|
||||
<
|
||||
* Note that :MF uses |<f-args>| to break the line
|
||||
at spaces.
|
||||
|
||||
* Mark files based upon the quickfix list (|netrw-qF|)
|
||||
|
||||
The following netrw maps make use of marked files:
|
||||
|
||||
|netrw-a| Hide marked files/directories
|
||||
|netrw-D| Delete marked files/directories
|
||||
@@ -1896,13 +1954,12 @@ maps make use of marked files:
|
||||
|netrw-me| Edit marked files
|
||||
|netrw-mF| Unmark marked files
|
||||
|netrw-mg| Apply vimgrep to marked files
|
||||
|netrw-mm| Move marked files
|
||||
|netrw-mm| Move marked files to target
|
||||
|netrw-mp| Print marked files
|
||||
|netrw-mt| Set target for |netrw-mm| and |netrw-mc|
|
||||
|netrw-mT| Generate tags using marked files
|
||||
|netrw-mx| Apply shell command to marked files
|
||||
|netrw-mz| Compress/Decompress marked files
|
||||
|netrw-qF| Mark files using quickfix list
|
||||
|netrw-O| Obtain marked files
|
||||
|netrw-R| Rename marked files
|
||||
|
||||
@@ -1933,6 +1990,12 @@ means that each directory has its own local marked file list. The various
|
||||
commands which operate on marked files use one or the other of the marked file
|
||||
lists.
|
||||
|
||||
Known Problem: if one is using tree mode (|g:netrw_liststyle|) and several
|
||||
directories have files with the same name, then marking such a file will
|
||||
result in all such files being highlighted as if they were all marked. The
|
||||
|markfilelist|, however, will only have the selected file in it. This problem
|
||||
is unlikely to be fixed.
|
||||
|
||||
|
||||
UNMARKING FILES *netrw-mF* {{{2
|
||||
(also see |netrw-mf|)
|
||||
@@ -2090,6 +2153,10 @@ Set the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|):
|
||||
* However, if the cursor is atop a directory name, then that directory is
|
||||
used for the copy/move-to target
|
||||
|
||||
* One may use the :MT [directory] command to set the target *netrw-:MT*
|
||||
This command uses |<q-args>|, so spaces in the directory name are
|
||||
permitted without escaping.
|
||||
|
||||
There is only one copy/move-to target per vim session; ie. the target is a
|
||||
script variable (see |s:var|) and is shared between all netrw windows (in an
|
||||
instance of vim).
|
||||
@@ -2120,9 +2187,9 @@ http://www.drchip.org/astronaut/src/index.html , and have >
|
||||
in my <.vimrc>.
|
||||
|
||||
When a remote set of files are tagged, the resulting tags file is "obtained";
|
||||
ie. a copy is transferred to the local system's directory. The local tags
|
||||
ie. a copy is transferred to the local system's directory. The now local tags
|
||||
file is then modified so that one may use it through the network. The
|
||||
modification is concerns the names of the files in the tags; each filename is
|
||||
modification made concerns the names of the files in the tags; each filename is
|
||||
preceded by the netrw-compatible url used to obtain it. When one subsequently
|
||||
uses one of the go to tag actions (|tags|), the url will be used by netrw to
|
||||
edit the desired file and go to the tag.
|
||||
@@ -2131,34 +2198,38 @@ Associated setting variables: |g:netrw_ctags| |g:netrw_ssh_cmd|
|
||||
|
||||
MARKED FILES: TARGET DIRECTORY USING BOOKMARKS *netrw-Tb* {{{2
|
||||
|
||||
Sets the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|).
|
||||
Sets the marked file copy/move-to target.
|
||||
|
||||
The |netrw-qb| map will give you a list of bookmarks (and history).
|
||||
One may choose one of the bookmarks to become your marked file
|
||||
target by using [count]Tb (default count: 1).
|
||||
|
||||
Related topics:
|
||||
Copying files to target............................|netrw-mc|
|
||||
Listing Bookmarks and History......................|netrw-qb|
|
||||
Marked Files: Setting The Target Directory.........|netrw-mt|
|
||||
Marked Files: Target Directory Using History.......|netrw-Th|
|
||||
Marking Files......................................|netrw-mf|
|
||||
Marking Files by Regular Expression................|netrw-mr|
|
||||
Moving files to target.............................|netrw-mm|
|
||||
|
||||
|
||||
MARKED FILES: TARGET DIRECTORY USING HISTORY *netrw-Th* {{{2
|
||||
|
||||
Sets the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|).
|
||||
Sets the marked file copy/move-to target.
|
||||
|
||||
The |netrw-qb| map will give you a list of history (and bookmarks).
|
||||
One may choose one of the history entries to become your marked file
|
||||
target by using [count]Th (default count: 0; ie. the current directory).
|
||||
|
||||
Related topics:
|
||||
Copying files to target............................|netrw-mc|
|
||||
Listing Bookmarks and History......................|netrw-qb|
|
||||
Marked Files: Setting The Target Directory.........|netrw-mt|
|
||||
Marked Files: Target Directory Using Bookmarks.....|netrw-Tb|
|
||||
Marking Files......................................|netrw-mf|
|
||||
Marking Files by Regular Expression................|netrw-mr|
|
||||
Moving files to target.............................|netrw-mm|
|
||||
|
||||
|
||||
MARKED FILES: UNMARKING *netrw-mu* {{{2
|
||||
@@ -2282,6 +2353,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
*g:netrw_dynamic_maxfilenamelen* =32: enables dynamic determination of
|
||||
|g:netrw_maxfilenamelen|, which affects
|
||||
local file long listing.
|
||||
|
||||
*g:netrw_errorlvl* =0: error levels greater than or equal to
|
||||
this are permitted to be displayed
|
||||
0: notes
|
||||
@@ -2289,7 +2361,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
2: errors
|
||||
|
||||
*g:netrw_fastbrowse* =0: slow speed directory browsing;
|
||||
never re-uses directory listings,
|
||||
never re-uses directory listings;
|
||||
always obtains directory listings.
|
||||
=1: medium speed directory browsing;
|
||||
re-use directory listings only
|
||||
@@ -2312,6 +2384,11 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
trading off accuracy (ie. up-to-date listing)
|
||||
versus speed.
|
||||
|
||||
*g:netrw_ffkeep* (default: doesn't exist)
|
||||
If this variable exists and is zero, then
|
||||
netrw will not do a save and restore for
|
||||
|'fileformat'|.
|
||||
|
||||
*g:netrw_fname_escape* =' ?&;%'
|
||||
Used on filenames before remote reading/writing
|
||||
|
||||
@@ -2434,7 +2511,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
evaluation will be suppressed
|
||||
(see |'ballooneval'|)
|
||||
|
||||
*g:netrw_remote_mkdir* command for making a local directory
|
||||
*g:netrw_remote_mkdir* command for making a remote directory
|
||||
via ftp (also see |g:netrw_mkdir_cmd|)
|
||||
default: "mkdir"
|
||||
|
||||
@@ -2457,13 +2534,13 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
|
||||
default: =0
|
||||
|
||||
*g:netrw_rm_cmd* command for removing files
|
||||
*g:netrw_rm_cmd* command for removing remote files
|
||||
default: "ssh USEPORT HOSTNAME rm"
|
||||
|
||||
*g:netrw_rmdir_cmd* command for removing directories
|
||||
*g:netrw_rmdir_cmd* command for removing remote directories
|
||||
default: "ssh USEPORT HOSTNAME rmdir"
|
||||
|
||||
*g:netrw_rmf_cmd* command for removing softlinks
|
||||
*g:netrw_rmf_cmd* command for removing remote softlinks
|
||||
default: "ssh USEPORT HOSTNAME rm -f"
|
||||
|
||||
*g:netrw_sort_by* sort by "name", "time", or "size"
|
||||
@@ -2482,7 +2559,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
|
||||
*g:netrw_sort_sequence* when sorting by name, first sort by the
|
||||
comma-separated pattern sequence. Note that
|
||||
the filigree added to indicate filetypes
|
||||
any filigree added to indicate filetypes
|
||||
should be accounted for in your pattern.
|
||||
default: '[\/]$,*,\.bak$,\.o$,\.h$,
|
||||
\.info$,\.swp$,\.obj$'
|
||||
@@ -2498,7 +2575,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
netrwMakefile: [mM]akefile *.mak
|
||||
netrwObj : *.o *.obj
|
||||
netrwTags : tags ANmenu ANtags
|
||||
netrwTilde : *~
|
||||
netrwTilde : *
|
||||
netrwTmp : tmp* *tmp
|
||||
|
||||
These syntax highlighting groups are linked
|
||||
@@ -2507,8 +2584,27 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
one may put lines like >
|
||||
hi link netrwCompress Visual
|
||||
< into one's <.vimrc> to use one's own
|
||||
preferences.
|
||||
preferences. Alternatively, one may
|
||||
put such specifications into
|
||||
.vim/after/syntax/netrw.vim.
|
||||
|
||||
As an example, I myself use a dark-background
|
||||
colorscheme with the following in
|
||||
.vim/after/syntax/netrw.vim: >
|
||||
|
||||
hi netrwCompress term=NONE cterm=NONE gui=NONE ctermfg=10 guifg=green ctermbg=0 guibg=black
|
||||
hi netrwData term=NONE cterm=NONE gui=NONE ctermfg=9 guifg=blue ctermbg=0 guibg=black
|
||||
hi netrwHdr term=NONE cterm=NONE,italic gui=NONE guifg=SeaGreen1
|
||||
hi netrwLex term=NONE cterm=NONE,italic gui=NONE guifg=SeaGreen1
|
||||
hi netrwYacc term=NONE cterm=NONE,italic gui=NONE guifg=SeaGreen1
|
||||
hi netrwLib term=NONE cterm=NONE gui=NONE ctermfg=14 guifg=yellow
|
||||
hi netrwObj term=NONE cterm=NONE gui=NONE ctermfg=12 guifg=red
|
||||
hi netrwTilde term=NONE cterm=NONE gui=NONE ctermfg=12 guifg=red
|
||||
hi netrwTmp term=NONE cterm=NONE gui=NONE ctermfg=12 guifg=red
|
||||
hi netrwTags term=NONE cterm=NONE gui=NONE ctermfg=12 guifg=red
|
||||
hi netrwDoc term=NONE cterm=NONE gui=NONE ctermfg=220 ctermbg=27 guifg=yellow2 guibg=Blue3
|
||||
hi netrwSymLink term=NONE cterm=NONE gui=NONE ctermfg=220 ctermbg=27 guifg=grey60
|
||||
<
|
||||
*g:netrw_ssh_browse_reject* ssh can sometimes produce unwanted lines,
|
||||
messages, banners, and whatnot that one doesn't
|
||||
want masquerading as "directories" and "files".
|
||||
@@ -2543,6 +2639,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
ml_get errors, try putting
|
||||
let g:netrw_use_noswf= 0
|
||||
in your .vimrc.
|
||||
default: 1
|
||||
|
||||
*g:netrw_winsize* specify initial size of new windows made with
|
||||
"o" (see |netrw-o|), "v" (see |netrw-v|),
|
||||
@@ -2553,6 +2650,9 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
If g:netrw_winsize is less than zero, then
|
||||
the absolute value of g:netrw_winsize lines
|
||||
or columns will be used for the new window.
|
||||
If g:netrw_winsize is zero, then a normal
|
||||
split will be made (ie. |'equalalways'| will
|
||||
take effect, for example).
|
||||
default: 50 (for 50%)
|
||||
|
||||
*g:netrw_xstrlen* Controls how netrw computes string lengths,
|
||||
@@ -2582,7 +2682,7 @@ Netrw has been designed to handle user options by saving them, setting the
|
||||
options to something that's compatible with netrw's needs, and then restoring
|
||||
them. However, the autochdir option: >
|
||||
:set acd
|
||||
is problematical. Autochdir sets the current directory to that containing the
|
||||
is problematic. Autochdir sets the current directory to that containing the
|
||||
file you edit; this apparently also applies to directories. In other words,
|
||||
autochdir sets the current directory to that containing the "file" (even if
|
||||
that "file" is itself a directory).
|
||||
@@ -2633,9 +2733,9 @@ Related topics:
|
||||
*netrw-createfile*
|
||||
OPEN A NEW FILE IN NETRW'S CURRENT DIRECTORY *netrw-%*
|
||||
|
||||
To open a file in netrw's current directory, press "%". This map will
|
||||
query the user for a new filename; an empty file by that name will be
|
||||
placed in the netrw's current directory (ie. b:netrw_curdir).
|
||||
To open a new file in netrw's current directory, press "%". This map
|
||||
will query the user for a new filename; an empty file by that name will
|
||||
be placed in the netrw's current directory (ie. b:netrw_curdir).
|
||||
|
||||
Related topics: |netrw-d|
|
||||
|
||||
@@ -2661,6 +2761,9 @@ These will:
|
||||
will use only 30% of the columns available; the rest of the window
|
||||
is used for the preview window.
|
||||
|
||||
Also see: |g:netrw_chgwin| |netrw-P|
|
||||
|
||||
|
||||
PREVIOUS WINDOW *netrw-P* *netrw-prvwin* {{{2
|
||||
|
||||
To edit a file or directory in the previously used (last accessed) window (see
|
||||
@@ -2680,6 +2783,8 @@ Associated setting variables:
|
||||
|g:netrw_preview| control horizontal vs vertical splitting
|
||||
|g:netrw_winsize| control initial sizing
|
||||
|
||||
Also see: |g:netrw_chgwin| |netrw-p|
|
||||
|
||||
|
||||
REFRESHING THE LISTING *netrw-ctrl-l* *netrw-ctrl_l* {{{2
|
||||
|
||||
@@ -2717,6 +2822,7 @@ If there are marked files: (see |netrw-mf|)
|
||||
Note that moving files is a dangerous operation; copies are safer. That's
|
||||
because a "move" for remote files is actually a copy + delete -- and if
|
||||
the copy fails and the delete does not, you may lose the file.
|
||||
Use at your own risk.
|
||||
|
||||
The g:netrw_rename_cmd variable is used to implement renaming. By default its
|
||||
value is:
|
||||
@@ -2743,6 +2849,15 @@ One may select a netrw window for editing with the "C" mapping, or by setting
|
||||
g:netrw_chgwin to the selected window number. Subsequent selection of a file
|
||||
to edit (|netrw-cr|) will use that window.
|
||||
|
||||
* C by itself, will select the current window for editing via
|
||||
|netrw-cr|
|
||||
|
||||
* [count]C the count will be used as the window number to be used
|
||||
for editing via |netrw-cr|.
|
||||
Using >
|
||||
let g:netrw_chgwin= -1
|
||||
will restore the default editing behavior (ie. use the current window).
|
||||
|
||||
Related topics: |netrw-cr| |g:netrw_browse_split|
|
||||
Associated setting variables: |g:netrw_chgwin|
|
||||
|
||||
@@ -2830,7 +2945,7 @@ Associated setting variables: |g:netrw_chgwin|
|
||||
|
||||
(taken from an answer provided by Wu Yongwei on the vim
|
||||
mailing list)
|
||||
I now see the problem. You code page is not 936, right? Vim
|
||||
I now see the problem. Your code page is not 936, right? Vim
|
||||
seems only able to open files with names that are valid in the
|
||||
current code page, as are many other applications that do not
|
||||
use the Unicode version of Windows APIs. This is an OS-related
|
||||
@@ -3031,6 +3146,15 @@ Associated setting variables: |g:netrw_chgwin|
|
||||
all netrw's mouse mappings, not just the <leftmouse> one.
|
||||
(see |g:netrw_mousemaps|)
|
||||
|
||||
*netrw-p16*
|
||||
P16. When editing remote files (ex. :e ftp://hostname/path/file),
|
||||
under Windows I get an |E303| message complaining that its unable
|
||||
to open a swap file.
|
||||
|
||||
(romainl) It looks like you are starting Vim from a protected
|
||||
directory. Start if from your $HOME or another writable
|
||||
directory.
|
||||
|
||||
==============================================================================
|
||||
11. Debugging Netrw Itself *netrw-debug* {{{1
|
||||
|
||||
@@ -3038,9 +3162,6 @@ The <netrw.vim> script is typically available as something like:
|
||||
>
|
||||
/usr/local/share/vim/vim7x/plugin/netrwPlugin.vim
|
||||
/usr/local/share/vim/vim7x/autoload/netrw.vim
|
||||
< -or- >
|
||||
/usr/local/share/vim/vim6x/plugin/netrwPlugin.vim
|
||||
/usr/local/share/vim/vim6x/autoload/netrw.vim
|
||||
<
|
||||
which is loaded automatically at startup (assuming :set nocp).
|
||||
|
||||
@@ -3050,9 +3171,7 @@ which is loaded automatically at startup (assuming :set nocp).
|
||||
or
|
||||
http://vim.sourceforge.net/scripts/script.php?script_id=120
|
||||
|
||||
It now comes as a "vimball"; if you're using vim 7.0 or earlier,
|
||||
you'll need to update vimball, too. See
|
||||
http://www.drchip.org/astronaut/vim/index.html#VIMBALL
|
||||
Decho.vim is provided as a "vimball"; see |vimball-intro|.
|
||||
|
||||
2. Edit the <netrw.vim> file by typing: >
|
||||
|
||||
@@ -3082,24 +3201,99 @@ which is loaded automatically at startup (assuming :set nocp).
|
||||
:w! DBG
|
||||
|
||||
< Furthermore, it'd be helpful if you would type >
|
||||
:Dsep
|
||||
< after each command you issue, thereby making it easier to
|
||||
associate which part of the debugging trace is due to which
|
||||
command.
|
||||
:Dsep <command>
|
||||
< where <command> is the command you're about to type next,
|
||||
thereby making it easier to associate which part of the
|
||||
debugging trace is due to which command.
|
||||
|
||||
Please send that information to <netrw.vim>'s maintainer, >
|
||||
Please send that information to <netrw.vim>'s maintainer along
|
||||
with the o/s you're using and vim version you're using
|
||||
(see |:version|) >
|
||||
NdrOchip at ScampbellPfamily.AbizM - NOSPAM
|
||||
<
|
||||
==============================================================================
|
||||
12. History *netrw-history* {{{1
|
||||
|
||||
v152: Apr 08, 2014 * uses the |'noswapfile'| option (requires
|
||||
vim 7.4 with patch 213)
|
||||
* (Enno Nagel) turn |'rnu'| off in netrw
|
||||
buffers.
|
||||
* (Quinn Strahl) suggested that netrw
|
||||
allow regular window splitting to occur,
|
||||
thereby allowing |'equalalways'| to take
|
||||
effect.
|
||||
* (qingtian zhao) normally, netrw will
|
||||
save and restore the |'fileformat'|;
|
||||
however, sometimes that isn't wanted
|
||||
Apr 14, 2014 * whenever netrw marks a buffer as ro,
|
||||
it will also mark it as nomod.
|
||||
Apr 16, 2014 * sftp protocol now supported by
|
||||
netrw#Obtain(); this means that one
|
||||
may use "mc" to copy a remote file
|
||||
to a local file using sftp, and that
|
||||
the |netrw-O| command can obtain remote
|
||||
files via sftp.
|
||||
* added [count]C support (see |netrw-C|)
|
||||
Apr 18, 2014 * when |g:netrw_chgwin| is one more than
|
||||
the last window, then vertically split
|
||||
the last window and use it as the
|
||||
chgwin window.
|
||||
May 09, 2014 * SavePosn was "saving filename under cursor"
|
||||
from a non-netrw window when using :Rex.
|
||||
v151: Jan 22, 2014 * extended :Rexplore to return to buffer
|
||||
prior to Explore or editing a directory
|
||||
* (Ken Takata) netrw gave error when
|
||||
clipboard was disabled. Sol'n: Placed
|
||||
several if has("clipboard") tests in.
|
||||
* Fixed ftp://X@Y@Z// problem; X@Y now
|
||||
part of user id, and only Z is part of
|
||||
hostname.
|
||||
* (A Loumiotis) reported that completion
|
||||
using a directory name containing spaces
|
||||
did not work. Fixed with a retry in
|
||||
netrw#Explore() which removes the
|
||||
backslashes vim inserted.
|
||||
Feb 26, 2014 * :Rexplore now records the current file
|
||||
using w:netrw_rexfile when returning via
|
||||
|:Rexplore|
|
||||
Mar 08, 2014 * (David Kotchan) provided some patches
|
||||
allowing netrw to work properly with
|
||||
windows shares.
|
||||
* Multiple one-liner help messages available
|
||||
by pressing <cr> while atop the "Quick
|
||||
Help" line
|
||||
* worked on ShellCmdPost, FocusGained event
|
||||
handling.
|
||||
* |:Lexplore| path: will be used to update
|
||||
a left-side netrw browsing directory.
|
||||
Mar 12, 2014 * |:netrw-s-cr|: use <s-cr> to close
|
||||
tree directory implemented
|
||||
Mar 13, 2014 * (Tony Mechylynck) reported that using
|
||||
the browser with ftp on a directory,
|
||||
and selecting a gzipped txt file, that
|
||||
an E19 occurred (which was issued by
|
||||
gzip.vim). Fixed.
|
||||
Mar 14, 2014 * Implemented :MF and :MT (see |netrw-:MF|
|
||||
and |netrw-:MT|, respectively)
|
||||
Mar 17, 2014 * |:Ntree| [dir] wasn't working properly; fixed
|
||||
Mar 18, 2014 * Changed all uses of set to setl
|
||||
Mar 18, 2014 * Commented the netrw_btkeep line in
|
||||
s:NetrwOptionSave(); the effect is that
|
||||
netrw buffers will remain as |'bt'|=nofile.
|
||||
This should prevent swapfiles being created
|
||||
for netrw buffers.
|
||||
Mar 20, 2014 * Changed all uses of lcd to use s:NetrwLcd()
|
||||
instead. Consistent error handling results
|
||||
and it also handles Window's shares
|
||||
* Fixed |netrw-d| command when applied with ftp
|
||||
* https: support included for netrw#NetRead()
|
||||
v150: Jul 12, 2013 * removed a "keepalt" to allow ":e #" to
|
||||
return to the netrw directory listing
|
||||
Jul 13, 2013 * (Jonas Diemer) suggested changing
|
||||
a <cWORD> to <cfile>.
|
||||
Jul 21, 2013 * (Yuri Kanivetsky) reported that netrw's
|
||||
use of mkdir did not produce directories
|
||||
following umask.
|
||||
following the user's umask.
|
||||
Aug 27, 2013 * introduced |g:netrw_altfile| option
|
||||
Sep 05, 2013 * s:Strlen() now uses |strdisplaywidth()|
|
||||
when available, by default
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 7.4. Last change: 2013 Aug 03
|
||||
*quickfix.txt* For Vim version 7.4. Last change: 2014 Mar 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -202,8 +202,8 @@ command with 'l'.
|
||||
the current window is used instead of the quickfix
|
||||
list.
|
||||
|
||||
*:caddb* *:caddbuffer*
|
||||
:caddb[uffer] [bufnr] Read the error list from the current buffer and add
|
||||
*:cad* *:caddbuffer*
|
||||
:cad[dbuffer] [bufnr] Read the error list from the current buffer and add
|
||||
the errors to the current quickfix list. If a
|
||||
quickfix list is not present, then a new list is
|
||||
created. Otherwise, same as ":cbuffer".
|
||||
@@ -240,8 +240,8 @@ command with 'l'.
|
||||
:lgete[xpr] {expr} Same as |:cgetexpr|, except the location list for the
|
||||
current window is used instead of the quickfix list.
|
||||
|
||||
*:cad* *:caddexpr*
|
||||
:cad[dexpr] {expr} Evaluate {expr} and add the resulting lines to the
|
||||
*:cadde* *:caddexpr*
|
||||
:cadde[xpr] {expr} Evaluate {expr} and add the resulting lines to the
|
||||
current quickfix list. If a quickfix list is not
|
||||
present, then a new list is created. The current
|
||||
cursor position will not be changed. See |:cexpr| for
|
||||
@@ -304,18 +304,23 @@ use this code: >
|
||||
|
||||
*:cope* *:copen* *w:quickfix_title*
|
||||
:cope[n] [height] Open a window to show the current list of errors.
|
||||
|
||||
When [height] is given, the window becomes that high
|
||||
(if there is room). Otherwise the window is made ten
|
||||
lines high.
|
||||
The window will contain a special buffer, with
|
||||
'buftype' equal to "quickfix". Don't change this!
|
||||
(if there is room). When [height] is omitted the
|
||||
window is made ten lines high.
|
||||
|
||||
If there already is a quickfix window, it will be made
|
||||
the current window. It is not possible to open a
|
||||
second quickfix window. The window will have the
|
||||
w:quickfix_title variable set which will indicate the
|
||||
command that produced the quickfix list. This can be
|
||||
used to compose a custom status line if the value of
|
||||
'statusline' is adjusted properly.
|
||||
second quickfix window. If [height] is given the
|
||||
existing window will be resized to it.
|
||||
|
||||
The window will contain a special buffer, with
|
||||
'buftype' equal to "quickfix". Don't change this!
|
||||
The window will have the w:quickfix_title variable set
|
||||
which will indicate the command that produced the
|
||||
quickfix list. This can be used to compose a custom
|
||||
status line if the value of 'statusline' is adjusted
|
||||
properly.
|
||||
|
||||
*:lop* *:lopen*
|
||||
:lop[en] [height] Open a window to show the location list for the
|
||||
@@ -838,7 +843,7 @@ Unfortunately, there is no standard way to run the tests.
|
||||
The alltests.py script seems to be used quite often, that's all.
|
||||
Useful values for the 'makeprg' options therefore are:
|
||||
setlocal makeprg=./alltests.py " Run a testsuite
|
||||
setlocal makeprg=python % " Run a single testcase
|
||||
setlocal makeprg=python\ %:S " Run a single testcase
|
||||
|
||||
Also see http://vim.sourceforge.net/tip_view.php?tip_id=280.
|
||||
|
||||
@@ -1332,7 +1337,7 @@ or: >
|
||||
Here is an alternative from Michael F. Lamb for Unix that filters the errors
|
||||
first: >
|
||||
:setl errorformat=%Z%f:%l:\ %m,%A%p^,%-G%*[^sl]%.%#
|
||||
:setl makeprg=javac\ %\ 2>&1\ \\\|\ vim-javac-filter
|
||||
:setl makeprg=javac\ %:S\ 2>&1\ \\\|\ vim-javac-filter
|
||||
|
||||
You need to put the following in "vim-javac-filter" somewhere in your path
|
||||
(e.g., in ~/bin) and make it executable: >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 7.4. Last change: 2013 Jun 29
|
||||
*quickref.txt* For Vim version 7.4. Last change: 2014 Jun 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -624,6 +624,8 @@ Short explanation of each option: *option-list*
|
||||
'bioskey' 'biosk' MS-DOS: use bios calls for input characters
|
||||
'bomb' prepend a Byte Order Mark to the file
|
||||
'breakat' 'brk' characters that may cause a line break
|
||||
'breakindent' 'bri' wrapped line repeats indent
|
||||
'breakindentopt' 'briopt' settings for 'breakindent'
|
||||
'browsedir' 'bsdir' which directory to start browsing in
|
||||
'bufhidden' 'bh' what to do when buffer is no longer in window
|
||||
'buflisted' 'bl' whether the buffer shows up in the buffer list
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*recover.txt* For Vim version 7.4. Last change: 2010 Jul 20
|
||||
*recover.txt* For Vim version 7.4. Last change: 2014 Mar 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -81,7 +81,14 @@ the amount of memory used to be higher than given with 'maxmem' or
|
||||
'maxmemtot'. And when making a change to a read-only file, the swap file is
|
||||
created anyway.
|
||||
|
||||
The 'swapfile' option can be reset to avoid creating a swapfile.
|
||||
The 'swapfile' option can be reset to avoid creating a swapfile. And the
|
||||
|:noswapfile| modifier can be used to not create a swapfile for a new buffer.
|
||||
|
||||
:nos[wapfile] {command} *:nos* *:noswapfile*
|
||||
Execute {command}. If it contains a command that loads a new
|
||||
buffer, it will be loaded without creating a swapfile and the
|
||||
'swapfile' option will be reset. If a buffer already had a
|
||||
swapfile it is not removed and 'swapfile' is not reset.
|
||||
|
||||
|
||||
Detecting an existing swap file ~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*repeat.txt* For Vim version 7.4. Last change: 2013 Jul 25
|
||||
*repeat.txt* For Vim version 7.4. Last change: 2014 Mar 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -26,10 +26,14 @@ Chapter 26 of the user manual introduces repeating |usr_26.txt|.
|
||||
|
||||
Simple changes can be repeated with the "." command. Without a count, the
|
||||
count of the last change is used. If you enter a count, it will replace the
|
||||
last one. If the last change included a specification of a numbered register,
|
||||
the register number will be incremented. See |redo-register| for an example
|
||||
how to use this. Note that when repeating a command that used a Visual
|
||||
selection, the same SIZE of area is used, see |visual-repeat|.
|
||||
last one. |v:count| and |v:count1| will be set.
|
||||
|
||||
If the last change included a specification of a numbered register, the
|
||||
register number will be incremented. See |redo-register| for an example how
|
||||
to use this.
|
||||
|
||||
Note that when repeating a command that used a Visual selection, the same SIZE
|
||||
of area is used, see |visual-repeat|.
|
||||
|
||||
*@:*
|
||||
@: Repeat last command-line [count] times.
|
||||
@@ -584,6 +588,12 @@ the |+reltime| feature, which is present more often.
|
||||
|
||||
For profiling syntax highlighting see |:syntime|.
|
||||
|
||||
For example, to profile the one_script.vim script file: >
|
||||
:profile start /tmp/one_script_profile
|
||||
:profile file one_script.vim
|
||||
:source one_script.vim
|
||||
:exit
|
||||
|
||||
|
||||
:prof[ile] start {fname} *:prof* *:profile* *E750*
|
||||
Start profiling, write the output in {fname} upon exit.
|
||||
@@ -608,8 +618,10 @@ For profiling syntax highlighting see |:syntime|.
|
||||
This only profiles the script itself, not the functions
|
||||
defined in it.
|
||||
When the [!] is added then all functions defined in the script
|
||||
will also be profiled. But only if the script is loaded after
|
||||
this command.
|
||||
will also be profiled.
|
||||
Note that profiling only starts when the script is loaded
|
||||
after this command. A :profile command in the script itself
|
||||
won't work.
|
||||
|
||||
|
||||
:profd[el] ... *:profd* *:profdel*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*sign.txt* For Vim version 7.4. Last change: 2013 Nov 17
|
||||
*sign.txt* For Vim version 7.4. Last change: 2014 May 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur
|
||||
@@ -137,6 +137,7 @@ PLACING SIGNS *:sign-place* *E158*
|
||||
:sign place {id} line={lnum} name={name} buffer={nr}
|
||||
Same, but use buffer {nr}.
|
||||
|
||||
*E885*
|
||||
:sign place {id} name={name} file={fname}
|
||||
Change the placed sign {id} in file {fname} to use the defined
|
||||
sign {name}. See remark above about {fname} |:sign-fname|.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*spell.txt* For Vim version 7.4. Last change: 2013 Nov 12
|
||||
*spell.txt* For Vim version 7.4. Last change: 2014 Jul 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -939,9 +939,10 @@ be combined without errors.
|
||||
|
||||
If you get an E763 warning that the word tables differ you need to update your
|
||||
".spl" spell files. If you downloaded the files, get the latest version of
|
||||
all spell files you use. Otherwise generate the .spl file again with
|
||||
|:mkspell|. If you still get errors check the FOL, LOW and UPP lines in the
|
||||
used .aff files.
|
||||
all spell files you use. If you are only using one, e.g., German, then also
|
||||
download the recent English spell files. Otherwise generate the .spl file
|
||||
again with |:mkspell|. If you still get errors check the FOL, LOW and UPP
|
||||
lines in the used .aff files.
|
||||
|
||||
The XX.ascii.spl spell file generated with the "-ascii" argument will not
|
||||
contain the table with characters, so that it can be combine with spell files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*starting.txt* For Vim version 7.4. Last change: 2013 Jul 20
|
||||
*starting.txt* For Vim version 7.4. Last change: 2014 Jul 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -167,7 +167,10 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
*-+/*
|
||||
+/{pat} The cursor will be positioned on the first line containing
|
||||
"pat" in the first file being edited (see |pattern| for the
|
||||
available search patterns).
|
||||
available search patterns). The search starts at the cursor
|
||||
position, which can be the first line or the cursor position
|
||||
last used from |viminfo|. To force a search from the first
|
||||
line use "+1 +/pat".
|
||||
|
||||
+{command} *-+c* *-c*
|
||||
-c {command} {command} will be executed after the first file has been
|
||||
@@ -1276,8 +1279,10 @@ triggered.
|
||||
When [!] is included an existing file is overwritten.
|
||||
When [file] is omitted or is a number from 1 to 9, a
|
||||
name is generated and 'viewdir' prepended. When the
|
||||
last directory name in 'viewdir' does not exist, this
|
||||
directory is created.
|
||||
last path part of 'viewdir' does not exist, this
|
||||
directory is created. E.g., when 'viewdir' is
|
||||
"$VIM/vimfiles/view" then "view" is created in
|
||||
"$VIM/vimfiles".
|
||||
An existing file is always overwritten then. Use
|
||||
|:loadview| to load this view again.
|
||||
When [file] is the name of a file ('viewdir' is not
|
||||
@@ -1501,7 +1506,7 @@ most of the information will be restored).
|
||||
already set (registers, marks, |v:oldfiles|, etc.)
|
||||
will be overwritten {not in Vi}
|
||||
|
||||
*:wv* *:wviminfo* *E137* *E138* *E574*
|
||||
*:wv* *:wviminfo* *E137* *E138* *E574* *E886*
|
||||
:wv[iminfo][!] [file] Write to viminfo file [file] (default: see above).
|
||||
The information in the file is first read in to make
|
||||
a merge between old and new info. When [!] is used,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 7.4. Last change: 2013 Aug 22
|
||||
*syntax.txt* For Vim version 7.4. Last change: 2014 Jun 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1022,6 +1022,21 @@ Or to avoid the highlighting: >
|
||||
This works immediately.
|
||||
|
||||
|
||||
CLOJURE *ft-clojure-syntax*
|
||||
|
||||
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
|
||||
using the standard Vim |fold-commands|.
|
||||
|
||||
Please note that this option does not work with scripts that redefine the
|
||||
bracket syntax regions, such as rainbow-parentheses plugins.
|
||||
|
||||
This option is off by default.
|
||||
>
|
||||
" Default
|
||||
let g:clojure_fold = 0
|
||||
<
|
||||
|
||||
COBOL *cobol.vim* *ft-cobol-syntax*
|
||||
|
||||
COBOL highlighting has different needs for legacy code than it does for fresh
|
||||
@@ -1281,6 +1296,32 @@ Finally, some vendors support hexadecimal constants. To handle them, add >
|
||||
to your startup file.
|
||||
|
||||
|
||||
EUPHORIA *euphoria3.vim* *euphoria4.vim* *ft-euphoria-syntax*
|
||||
|
||||
Two syntax highlighting files exists for Euphoria. One for Euphoria
|
||||
version 3.1.1, which is the default syntax highlighting file, and one for
|
||||
Euphoria version 4.0.5 or later.
|
||||
|
||||
Euphoria version 3.1.1 (http://www.rapideuphoria.com/) is still necessary
|
||||
for developing applications for the DOS platform, which Euphoria version 4
|
||||
(http://www.openeuphoria.org/) does not support.
|
||||
|
||||
The following file extensions are auto-detected as Euphoria file type:
|
||||
|
||||
*.e, *.eu, *.ew, *.ex, *.exu, *.exw
|
||||
*.E, *.EU, *.EW, *.EX, *.EXU, *.EXW
|
||||
|
||||
To select syntax highlighting file for Euphoria, as well as for
|
||||
auto-detecting the *.e and *.E file extensions as Euphoria file type,
|
||||
add the following line to your startup file: >
|
||||
|
||||
:let filetype_euphoria="euphoria3"
|
||||
|
||||
or
|
||||
|
||||
:let filetype_euphoria="euphoria4"
|
||||
|
||||
|
||||
ERLANG *erlang.vim* *ft-erlang-syntax*
|
||||
|
||||
Erlang is a functional programming language developed by Ericsson. Files with
|
||||
@@ -1647,7 +1688,7 @@ vimrc file: >
|
||||
HTML comments are rather special (see an HTML reference document for the
|
||||
details), and the syntax coloring scheme will highlight all errors.
|
||||
However, if you prefer to use the wrong style (starts with <!-- and
|
||||
ends with --!>) you can define >
|
||||
ends with -->) you can define >
|
||||
:let html_wrong_comments=1
|
||||
|
||||
JavaScript and Visual Basic embedded inside HTML documents are highlighted as
|
||||
@@ -1918,7 +1959,7 @@ If you don't want to set the variable, use the modeline in EVERY LPC file.
|
||||
There are several implementations for LPC, we intend to support most widely
|
||||
used ones. Here the default LPC syntax is for MudOS series, for MudOS v22
|
||||
and before, you should turn off the sensible modifiers, and this will also
|
||||
asserts the new efuns after v22 to be invalid, don't set this variable when
|
||||
assert the new efuns after v22 to be invalid, don't set this variable when
|
||||
you are using the latest version of MudOS: >
|
||||
|
||||
:let lpc_pre_v22 = 1
|
||||
@@ -2238,7 +2279,7 @@ files, you may set the 'perl_include_pod' option to 0: >
|
||||
|
||||
:let perl_include_pod = 0
|
||||
|
||||
The reduce the complexity of parsing (and increase performance) you can switch
|
||||
To reduce the complexity of parsing (and increase performance) you can switch
|
||||
off two elements in the parsing of variable names and contents. >
|
||||
|
||||
To handle package references in variable and function names not differently
|
||||
|
||||
@@ -12,6 +12,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
% motion.txt /*%*
|
||||
%:. cmdline.txt /*%:.*
|
||||
%:8 cmdline.txt /*%:8*
|
||||
%:S cmdline.txt /*%:S*
|
||||
%:e cmdline.txt /*%:e*
|
||||
%:gs cmdline.txt /*%:gs*
|
||||
%:h cmdline.txt /*%:h*
|
||||
@@ -90,6 +91,10 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'bl' options.txt /*'bl'*
|
||||
'bomb' options.txt /*'bomb'*
|
||||
'breakat' options.txt /*'breakat'*
|
||||
'breakindent' options.txt /*'breakindent'*
|
||||
'breakindentopt' options.txt /*'breakindentopt'*
|
||||
'bri' options.txt /*'bri'*
|
||||
'briopt' options.txt /*'briopt'*
|
||||
'brk' options.txt /*'brk'*
|
||||
'browsedir' options.txt /*'browsedir'*
|
||||
'bs' options.txt /*'bs'*
|
||||
@@ -1200,6 +1205,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
+mouse various.txt /*+mouse*
|
||||
+mouse_dec various.txt /*+mouse_dec*
|
||||
+mouse_gpm various.txt /*+mouse_gpm*
|
||||
+mouse_jsbterm various.txt /*+mouse_jsbterm*
|
||||
+mouse_netterm various.txt /*+mouse_netterm*
|
||||
+mouse_pterm various.txt /*+mouse_pterm*
|
||||
+mouse_sgr various.txt /*+mouse_sgr*
|
||||
@@ -1414,6 +1420,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
/\%>c pattern.txt /*\/\\%>c*
|
||||
/\%>l pattern.txt /*\/\\%>l*
|
||||
/\%>v pattern.txt /*\/\\%>v*
|
||||
/\%C pattern.txt /*\/\\%C*
|
||||
/\%U pattern.txt /*\/\\%U*
|
||||
/\%V pattern.txt /*\/\\%V*
|
||||
/\%[] pattern.txt /*\/\\%[]*
|
||||
@@ -1788,6 +1795,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:3match pattern.txt /*:3match*
|
||||
::. cmdline.txt /*::.*
|
||||
::8 cmdline.txt /*::8*
|
||||
::S cmdline.txt /*::S*
|
||||
::e cmdline.txt /*::e*
|
||||
::gs cmdline.txt /*::gs*
|
||||
::h cmdline.txt /*::h*
|
||||
@@ -1971,8 +1979,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:cabc map.txt /*:cabc*
|
||||
:cabclear map.txt /*:cabclear*
|
||||
:cad quickfix.txt /*:cad*
|
||||
:caddb quickfix.txt /*:caddb*
|
||||
:caddbuffer quickfix.txt /*:caddbuffer*
|
||||
:cadde quickfix.txt /*:cadde*
|
||||
:caddexpr quickfix.txt /*:caddexpr*
|
||||
:caddf quickfix.txt /*:caddf*
|
||||
:caddfile quickfix.txt /*:caddfile*
|
||||
@@ -2498,6 +2506,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:nbkey netbeans.txt /*:nbkey*
|
||||
:nbstart netbeans.txt /*:nbstart*
|
||||
:ne editing.txt /*:ne*
|
||||
:netrw-s-cr pi_netrw.txt /*:netrw-s-cr*
|
||||
:new windows.txt /*:new*
|
||||
:next editing.txt /*:next*
|
||||
:next_f editing.txt /*:next_f*
|
||||
@@ -2518,8 +2527,11 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:noautocmd autocmd.txt /*:noautocmd*
|
||||
:noh pattern.txt /*:noh*
|
||||
:nohlsearch pattern.txt /*:nohlsearch*
|
||||
:nor map.txt /*:nor*
|
||||
:nore map.txt /*:nore*
|
||||
:norea map.txt /*:norea*
|
||||
:noreabbrev map.txt /*:noreabbrev*
|
||||
:norem map.txt /*:norem*
|
||||
:noremap map.txt /*:noremap*
|
||||
:noremap! map.txt /*:noremap!*
|
||||
:noreme gui.txt /*:noreme*
|
||||
@@ -2527,6 +2539,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:norm various.txt /*:norm*
|
||||
:normal various.txt /*:normal*
|
||||
:normal-range various.txt /*:normal-range*
|
||||
:nos recover.txt /*:nos*
|
||||
:noswapfile recover.txt /*:noswapfile*
|
||||
:nu various.txt /*:nu*
|
||||
:number various.txt /*:number*
|
||||
:nun map.txt /*:nun*
|
||||
@@ -2673,7 +2687,6 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:rviminfo starting.txt /*:rviminfo*
|
||||
:s change.txt /*:s*
|
||||
:s% change.txt /*:s%*
|
||||
:s/\= change.txt /*:s\/\\=*
|
||||
:sN windows.txt /*:sN*
|
||||
:sNext windows.txt /*:sNext*
|
||||
:s\= change.txt /*:s\\=*
|
||||
@@ -3579,7 +3592,7 @@ E201 autocmd.txt /*E201*
|
||||
E202 options.txt /*E202*
|
||||
E203 autocmd.txt /*E203*
|
||||
E204 autocmd.txt /*E204*
|
||||
E205 if_pyth.txt /*E205*
|
||||
E205 options.txt /*E205*
|
||||
E206 options.txt /*E206*
|
||||
E207 editing.txt /*E207*
|
||||
E208 message.txt /*E208*
|
||||
@@ -4305,6 +4318,13 @@ E878 pattern.txt /*E878*
|
||||
E879 syntax.txt /*E879*
|
||||
E88 windows.txt /*E88*
|
||||
E880 if_pyth.txt /*E880*
|
||||
E881 autocmd.txt /*E881*
|
||||
E882 eval.txt /*E882*
|
||||
E883 eval.txt /*E883*
|
||||
E884 eval.txt /*E884*
|
||||
E885 sign.txt /*E885*
|
||||
E886 starting.txt /*E886*
|
||||
E887 if_pyth.txt /*E887*
|
||||
E89 message.txt /*E89*
|
||||
E90 message.txt /*E90*
|
||||
E91 options.txt /*E91*
|
||||
@@ -4434,6 +4454,13 @@ Operator-pending-mode intro.txt /*Operator-pending-mode*
|
||||
OverTheSpot mbyte.txt /*OverTheSpot*
|
||||
P change.txt /*P*
|
||||
PATHEXT eval.txt /*PATHEXT*
|
||||
PHP_BracesAtCodeLevel indent.txt /*PHP_BracesAtCodeLevel*
|
||||
PHP_autoformatcomment indent.txt /*PHP_autoformatcomment*
|
||||
PHP_default_indenting indent.txt /*PHP_default_indenting*
|
||||
PHP_outdentSLComments indent.txt /*PHP_outdentSLComments*
|
||||
PHP_outdentphpescape indent.txt /*PHP_outdentphpescape*
|
||||
PHP_removeCRwhenUnix indent.txt /*PHP_removeCRwhenUnix*
|
||||
PHP_vintage_case_default_indent indent.txt /*PHP_vintage_case_default_indent*
|
||||
Pattern pattern.txt /*Pattern*
|
||||
Perl if_perl.txt /*Perl*
|
||||
Posix intro.txt /*Posix*
|
||||
@@ -4777,6 +4804,7 @@ argidx() eval.txt /*argidx()*
|
||||
arglist editing.txt /*arglist*
|
||||
arglist-position editing.txt /*arglist-position*
|
||||
arglist-quit usr_07.txt /*arglist-quit*
|
||||
arglistid() eval.txt /*arglistid()*
|
||||
argument-list editing.txt /*argument-list*
|
||||
argv() eval.txt /*argv()*
|
||||
as motion.txt /*as*
|
||||
@@ -5362,6 +5390,7 @@ diW motion.txt /*diW*
|
||||
dialog gui_w32.txt /*dialog*
|
||||
dialogs-added version5.txt /*dialogs-added*
|
||||
dib motion.txt /*dib*
|
||||
dict eval.txt /*dict*
|
||||
dict-functions usr_41.txt /*dict-functions*
|
||||
dict-identity eval.txt /*dict-identity*
|
||||
dict-modification eval.txt /*dict-modification*
|
||||
@@ -5470,6 +5499,8 @@ errors message.txt /*errors*
|
||||
escape intro.txt /*escape*
|
||||
escape() eval.txt /*escape()*
|
||||
escape-bar version4.txt /*escape-bar*
|
||||
euphoria3.vim syntax.txt /*euphoria3.vim*
|
||||
euphoria4.vim syntax.txt /*euphoria4.vim*
|
||||
eval eval.txt /*eval*
|
||||
eval() eval.txt /*eval()*
|
||||
eval-examples eval.txt /*eval-examples*
|
||||
@@ -5504,6 +5535,7 @@ exclusive motion.txt /*exclusive*
|
||||
exclusive-linewise motion.txt /*exclusive-linewise*
|
||||
executable() eval.txt /*executable()*
|
||||
execute-menus gui.txt /*execute-menus*
|
||||
exepath() eval.txt /*exepath()*
|
||||
exim starting.txt /*exim*
|
||||
exists() eval.txt /*exists()*
|
||||
exp() eval.txt /*exp()*
|
||||
@@ -5720,6 +5752,7 @@ ft-changelog-plugin filetype.txt /*ft-changelog-plugin*
|
||||
ft-changelog-syntax syntax.txt /*ft-changelog-syntax*
|
||||
ft-chill-syntax syntax.txt /*ft-chill-syntax*
|
||||
ft-clojure-indent indent.txt /*ft-clojure-indent*
|
||||
ft-clojure-syntax syntax.txt /*ft-clojure-syntax*
|
||||
ft-cobol-syntax syntax.txt /*ft-cobol-syntax*
|
||||
ft-coldfusion-syntax syntax.txt /*ft-coldfusion-syntax*
|
||||
ft-cpp-syntax syntax.txt /*ft-cpp-syntax*
|
||||
@@ -5736,6 +5769,7 @@ ft-dosbatch-syntax syntax.txt /*ft-dosbatch-syntax*
|
||||
ft-dtd-syntax syntax.txt /*ft-dtd-syntax*
|
||||
ft-eiffel-syntax syntax.txt /*ft-eiffel-syntax*
|
||||
ft-erlang-syntax syntax.txt /*ft-erlang-syntax*
|
||||
ft-euphoria-syntax syntax.txt /*ft-euphoria-syntax*
|
||||
ft-flexwiki-syntax syntax.txt /*ft-flexwiki-syntax*
|
||||
ft-form-syntax syntax.txt /*ft-form-syntax*
|
||||
ft-fortran-indent indent.txt /*ft-fortran-indent*
|
||||
@@ -5889,6 +5923,7 @@ g:ada_with_gnat_project_files ft_ada.txt /*g:ada_with_gnat_project_files*
|
||||
g:ada_withuse_ordinary ft_ada.txt /*g:ada_withuse_ordinary*
|
||||
g:clojure_align_multiline_strings indent.txt /*g:clojure_align_multiline_strings*
|
||||
g:clojure_align_subforms indent.txt /*g:clojure_align_subforms*
|
||||
g:clojure_fold syntax.txt /*g:clojure_fold*
|
||||
g:clojure_fuzzy_indent indent.txt /*g:clojure_fuzzy_indent*
|
||||
g:clojure_fuzzy_indent_blacklist indent.txt /*g:clojure_fuzzy_indent_blacklist*
|
||||
g:clojure_fuzzy_indent_patterns indent.txt /*g:clojure_fuzzy_indent_patterns*
|
||||
@@ -5958,6 +5993,7 @@ g:netrw_dynamic_maxfilenamelen pi_netrw.txt /*g:netrw_dynamic_maxfilenamelen*
|
||||
g:netrw_errorlvl pi_netrw.txt /*g:netrw_errorlvl*
|
||||
g:netrw_fastbrowse pi_netrw.txt /*g:netrw_fastbrowse*
|
||||
g:netrw_fetch_cmd pi_netrw.txt /*g:netrw_fetch_cmd*
|
||||
g:netrw_ffkeep pi_netrw.txt /*g:netrw_ffkeep*
|
||||
g:netrw_fname_escape pi_netrw.txt /*g:netrw_fname_escape*
|
||||
g:netrw_ftp pi_netrw.txt /*g:netrw_ftp*
|
||||
g:netrw_ftp_browse_reject pi_netrw.txt /*g:netrw_ftp_browse_reject*
|
||||
@@ -6102,6 +6138,7 @@ getcharmod() eval.txt /*getcharmod()*
|
||||
getcmdline() eval.txt /*getcmdline()*
|
||||
getcmdpos() eval.txt /*getcmdpos()*
|
||||
getcmdtype() eval.txt /*getcmdtype()*
|
||||
getcurpos() eval.txt /*getcurpos()*
|
||||
getcwd() eval.txt /*getcwd()*
|
||||
getfontname() eval.txt /*getfontname()*
|
||||
getfperm() eval.txt /*getfperm()*
|
||||
@@ -6685,6 +6722,7 @@ linewise-register change.txt /*linewise-register*
|
||||
linewise-visual visual.txt /*linewise-visual*
|
||||
lisp.vim syntax.txt /*lisp.vim*
|
||||
lispindent() eval.txt /*lispindent()*
|
||||
list eval.txt /*list*
|
||||
list-functions usr_41.txt /*list-functions*
|
||||
list-identity eval.txt /*list-identity*
|
||||
list-index eval.txt /*list-index*
|
||||
@@ -6796,6 +6834,7 @@ match() eval.txt /*match()*
|
||||
match-highlight pattern.txt /*match-highlight*
|
||||
match-parens tips.txt /*match-parens*
|
||||
matchadd() eval.txt /*matchadd()*
|
||||
matchaddpos() eval.txt /*matchaddpos()*
|
||||
matcharg() eval.txt /*matcharg()*
|
||||
matchdelete() eval.txt /*matchdelete()*
|
||||
matchend() eval.txt /*matchend()*
|
||||
@@ -6937,6 +6976,15 @@ netreadfixup pi_netrw.txt /*netreadfixup*
|
||||
netrw pi_netrw.txt /*netrw*
|
||||
netrw-% pi_netrw.txt /*netrw-%*
|
||||
netrw-- pi_netrw.txt /*netrw--*
|
||||
netrw-:Explore pi_netrw.txt /*netrw-:Explore*
|
||||
netrw-:Hexplore pi_netrw.txt /*netrw-:Hexplore*
|
||||
netrw-:Lexplore pi_netrw.txt /*netrw-:Lexplore*
|
||||
netrw-:MF pi_netrw.txt /*netrw-:MF*
|
||||
netrw-:MT pi_netrw.txt /*netrw-:MT*
|
||||
netrw-:Rexplore pi_netrw.txt /*netrw-:Rexplore*
|
||||
netrw-:Sexplore pi_netrw.txt /*netrw-:Sexplore*
|
||||
netrw-:Texplore pi_netrw.txt /*netrw-:Texplore*
|
||||
netrw-:Vexplore pi_netrw.txt /*netrw-:Vexplore*
|
||||
netrw-C pi_netrw.txt /*netrw-C*
|
||||
netrw-D pi_netrw.txt /*netrw-D*
|
||||
netrw-O pi_netrw.txt /*netrw-O*
|
||||
@@ -7052,6 +7100,7 @@ netrw-p12 pi_netrw.txt /*netrw-p12*
|
||||
netrw-p13 pi_netrw.txt /*netrw-p13*
|
||||
netrw-p14 pi_netrw.txt /*netrw-p14*
|
||||
netrw-p15 pi_netrw.txt /*netrw-p15*
|
||||
netrw-p16 pi_netrw.txt /*netrw-p16*
|
||||
netrw-p2 pi_netrw.txt /*netrw-p2*
|
||||
netrw-p3 pi_netrw.txt /*netrw-p3*
|
||||
netrw-p4 pi_netrw.txt /*netrw-p4*
|
||||
@@ -7393,6 +7442,7 @@ profile repeat.txt /*profile*
|
||||
profiling repeat.txt /*profiling*
|
||||
profiling-variable eval.txt /*profiling-variable*
|
||||
progname-variable eval.txt /*progname-variable*
|
||||
progpath-variable eval.txt /*progpath-variable*
|
||||
progress.vim syntax.txt /*progress.vim*
|
||||
pronounce intro.txt /*pronounce*
|
||||
psql ft_sql.txt /*psql*
|
||||
@@ -7596,6 +7646,7 @@ s/\2 change.txt /*s\/\\2*
|
||||
s/\3 change.txt /*s\/\\3*
|
||||
s/\9 change.txt /*s\/\\9*
|
||||
s/\<CR> change.txt /*s\/\\<CR>*
|
||||
s/\= change.txt /*s\/\\=*
|
||||
s/\E change.txt /*s\/\\E*
|
||||
s/\L change.txt /*s\/\\L*
|
||||
s/\U change.txt /*s\/\\U*
|
||||
@@ -7892,6 +7943,7 @@ strcspn() eval.txt /*strcspn()*
|
||||
strdisplaywidth() eval.txt /*strdisplaywidth()*
|
||||
strftime() eval.txt /*strftime()*
|
||||
stridx() eval.txt /*stridx()*
|
||||
string eval.txt /*string*
|
||||
string() eval.txt /*string()*
|
||||
string-functions usr_41.txt /*string-functions*
|
||||
string-match eval.txt /*string-match*
|
||||
@@ -7956,6 +8008,7 @@ sysmouse term.txt /*sysmouse*
|
||||
system() eval.txt /*system()*
|
||||
system-functions usr_41.txt /*system-functions*
|
||||
system-vimrc starting.txt /*system-vimrc*
|
||||
systemlist() eval.txt /*systemlist()*
|
||||
s~ change.txt /*s~*
|
||||
t motion.txt /*t*
|
||||
t: eval.txt /*t:*
|
||||
@@ -8300,6 +8353,7 @@ undo_ftplugin usr_41.txt /*undo_ftplugin*
|
||||
undofile() eval.txt /*undofile()*
|
||||
undotree() eval.txt /*undotree()*
|
||||
unicode mbyte.txt /*unicode*
|
||||
uniq() eval.txt /*uniq()*
|
||||
unix os_unix.txt /*unix*
|
||||
unlisted-buffer windows.txt /*unlisted-buffer*
|
||||
up-down-motions motion.txt /*up-down-motions*
|
||||
@@ -8398,6 +8452,7 @@ v:operator eval.txt /*v:operator*
|
||||
v:prevcount eval.txt /*v:prevcount*
|
||||
v:profiling eval.txt /*v:profiling*
|
||||
v:progname eval.txt /*v:progname*
|
||||
v:progpath eval.txt /*v:progpath*
|
||||
v:register eval.txt /*v:register*
|
||||
v:scrollstart eval.txt /*v:scrollstart*
|
||||
v:searchforward eval.txt /*v:searchforward*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*term.txt* For Vim version 7.4. Last change: 2013 Mar 13
|
||||
*term.txt* For Vim version 7.4. Last change: 2014 May 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -666,8 +666,8 @@ When the X-server clipboard is available, the command server described in
|
||||
|
||||
*xterm-copy-paste*
|
||||
NOTE: In some (older) xterms, it's not possible to move the cursor past column
|
||||
95. This is an xterm problem, not Vim's. Get a newer xterm |color-xterm|.
|
||||
Now the limit is 223 columns.
|
||||
95 or 223. This is an xterm problem, not Vim's. Get a newer xterm
|
||||
|color-xterm|. Also see |'ttymouse'|.
|
||||
|
||||
Copy/paste in xterm with (current mode NOT included in 'mouse'):
|
||||
1. Press left mouse button on first letter of text, move mouse pointer to last
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 7.4. Last change: 2014 Jan 23
|
||||
*todo.txt* For Vim version 7.4. Last change: 2014 Jul 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -35,106 +35,183 @@ not be repeated below, unless there is extra information.
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Regexp problems:
|
||||
- After patch 7.4.045 pattern with \zs isn't handled correctly. (Yukihiro
|
||||
Nakadaira, 2013 Dec 23) Patch 2014 Jan 15, update Jan 16.
|
||||
- NFA regexp doesn't count tab matches correctly. (Urtica Dioica / gaultheria
|
||||
Shallon, 2013 Nov 18)
|
||||
- After patch 7.4.100 there is still a difference between NFA and old engine.
|
||||
25 a's with pattern \v^(aa+)\1+$ (Urtica Dioica, 2013 Nov 21) Also: 9 a's
|
||||
with pattern \v^(a{-2,})\1+$ (Nov 23)
|
||||
- NFA engine combining character mismatch. (glts, 2013 Aug 27)
|
||||
Remark from Dominique, Aug 27
|
||||
- Bug with pattern: '\vblock (\d+)\.\n.*\d+%(\1)@<!\.$'
|
||||
(Lech Lorens, 2014 Feb 3)
|
||||
- Issue 164: freeze on regexp search.
|
||||
- NFA problem with non-greedy match and branches. (Ingo Karkat, 2013 Nov 29)
|
||||
- Ignorecase not handled properly for multi-byte characters. (Axel Bender,
|
||||
2013 Dec 11)
|
||||
- Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin Szamotulski
|
||||
Remark from Brett 2014 Jan 6 and 7.
|
||||
- Bug when using \>. (Ramel, 2014 Feb 2) (Aaron Bohannon, 2014 Feb 13)
|
||||
- NFA regexp doesn't handle \%<v correctly. (Ingo Karkat, 2014 May 12)
|
||||
- Does not work with NFA regexp engine:
|
||||
\%u, \%x, \%o, \%d followed by a composing character
|
||||
- Bug relating to back references. (Ingo Karkat, 2014 Jul 24)
|
||||
|
||||
Patch to fix endless loop in completion. (Christian Brabandt, 2014 Jan 15)
|
||||
Still using freed memory after using setloclist(). (lcd, 2014 Jul 23)
|
||||
|
||||
Patch after 7.4.154: no autoload when not evaluating. (Yasuhiro Matsumoto,
|
||||
2014 Jan 14)
|
||||
|
||||
Test for patch 7.4.149. (Yukihiro Nakadaira, 2014 Jan 15)
|
||||
Patch to make getregtype() return the right size for non-linux systems.
|
||||
(Yasuhiro Matsumoto, 2014 Jul 8)
|
||||
Breaks test_eval. Inefficient, can we only compute y_width when needed?
|
||||
|
||||
Problem that a previous silent ":throw" causes a following try/catch not to
|
||||
work. (ZyX, 2013 Sep 28)
|
||||
|
||||
DiffChange highlighting doesn't combine with 'cursurline'. (Benjamin Fritz)
|
||||
Patch by Christian (2014 Jul 12)
|
||||
|
||||
BufWinLeave autocommand executed in the wrong buffer? (Davit Samvelyan, 2014
|
||||
Jul 14)
|
||||
|
||||
When 'clipboard' is "unnamed", :g/pat/d is very slow. Only set the clipboard
|
||||
after the last delete? (Praful, 2014 May 28)
|
||||
Patch by Christian Brabandt, 2014 Jun 18. Update Jun 25.
|
||||
|
||||
Completion for :buf does not use 'wildignorecase'. (Akshay H, 2014 May 31)
|
||||
|
||||
":cd C:\Windows\System32\drivers\etc*" does not work, even though the
|
||||
directory exists. (Sergio Gallelli, 2013 Dec 29)
|
||||
|
||||
Blowfish is actually using CFB instead of OFB. Adjust names in blowfish.c.
|
||||
|
||||
More compiler warnings for Python. (Tony Mechelynck, 2014 Jan 14)
|
||||
|
||||
Patch to fix that when wide functions fail the non-wide function may do
|
||||
something wrong. (Ken Takata, 2014 Jan 18)
|
||||
|
||||
Patch 7.4.085 breaks Visual insert in some situations. (Issue 193)
|
||||
Patch by Christian Brabandt, 2014 Jan 16.
|
||||
The entries added by matchaddpos() are returned by getmatches() but can't be
|
||||
set with setmatches(). (lcd47, 2014 Jun 29)
|
||||
|
||||
Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
|
||||
|
||||
Update for Clojure ftplugin. (Sung Pae). Await discussion about formatting in
|
||||
ftplugins.
|
||||
|
||||
Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
|
||||
|
||||
Patch to make Dictionary.update() work without arguments.
|
||||
(ZyX, 2013 Oct 19)
|
||||
When using an undo file, also restore the changelist, so that "g;" works.
|
||||
|
||||
Include systemverilog file? Two votes yes.
|
||||
Value returned by virtcol() changes depending on how lines wrap. This is
|
||||
inconsistant with the documentation.
|
||||
|
||||
Patch to make "J" set '[ and '] marks. (Christian Brabandt, 2013 Dec 11)
|
||||
Any compatibility problems?
|
||||
|
||||
Patch to add :S modifier for excaping the current file name.
|
||||
(ZyX, 2013 Nov 30) Update Dec 5.
|
||||
|
||||
Problem with 'spellsuggest' file, only works for some words.
|
||||
(Cesar Romani, 2013 Aug 20) Depends on file name? (Aug 24)
|
||||
Additional remark by glts: the suggested words are marked bad?
|
||||
|
||||
8 non-ASCII font names don't work. Need to convert from 'encoding' and use
|
||||
the wide functions. Patch by Ken Takata, 2013 Dec 22.
|
||||
Update 2014 Jan 6.
|
||||
MS-Windows: Crash opening very long file name starting with "\\".
|
||||
(Christian Brock, 2012 Jun 29)
|
||||
|
||||
Syntax highlighting slow (hangs) in SASS file. (Niek Bosch, 2013 Aug 21)
|
||||
|
||||
Adding "~" to 'cdpath' doesn't work for completion? (Davido, 2013 Aug 19)
|
||||
|
||||
Error number E834 is used twice. (Yukihiro Nakadaira. 2014 Jan 18)
|
||||
"hi link" does not respect groups with GUI settings only. (Mark Lodato, 2014
|
||||
Jun 8)
|
||||
|
||||
Crash with ":%s/\n//g" on long file. (Aidan Marlin, 2014 Jan 15)
|
||||
Christian Brabandt: patch to run this into a join. (2014 Jan 18)
|
||||
|
||||
Add digraph for Rouble: =P. What's the Unicode?
|
||||
Syntax file for gnuplot. Existing one is very old. (Andrew Rasmussen, 2014
|
||||
Feb 24)
|
||||
|
||||
Issue 174: Detect Mason files.
|
||||
|
||||
No error for missing endwhile. (ZyX, 2014 Mar 20)
|
||||
|
||||
Phpcomplete.vim update. (Complex, 2014 Jan 15)
|
||||
|
||||
PHP syntax is extremely slow. (Anhad Jai Singh, 2014 Jan 19)
|
||||
|
||||
Patch to make has() check for Vim version and patch at the same time.
|
||||
(Marc Weber, 2013 Jun 7)
|
||||
Patch for matchparen. (James McCoy, 2014 Jul 11)
|
||||
|
||||
Regression on pach 7.4.034. (Ingo Karkat, 2013 Nov 20)
|
||||
Spell files use a latin single quote. Unicode also has another single quote:
|
||||
0x2019. (Ron Aaron, 2014 Apr 4)
|
||||
New OpenOffice spell files support this with ICONV. But they are not
|
||||
compatible with Vim spell files. The old files can no longer be downloaded.
|
||||
|
||||
Patch to include smack support (Linux security library). (Jose Bollo, 2014 Jan
|
||||
14) Update Jan 15.
|
||||
Win32: use different args for SearchPath()? (Yasuhiro Matsumoto, 2009 Jan 30)
|
||||
Also fixes wrong result from executable().
|
||||
Update from Ken Takata, 2014 Jan 10. Newer 2014 Apr 3.
|
||||
|
||||
Tag list, as used for :tjump, does not unescape regexp. (Gary Johnson, 2014 Jan
|
||||
6) With patch in another message.
|
||||
Win32: use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
|
||||
More tests May 14. Update May 29.
|
||||
|
||||
The garbage collector may use too much stack. Make set_ref_in_item()
|
||||
iterative instead of recursive. Test program by Marc Weber (2013 Dec 10)
|
||||
Patch by Ben Fritz, 2014 Jun 22.
|
||||
|
||||
Idea: For a window in the middle (has window above and below it), use
|
||||
right-mouse-drag on the status line to move a window up/down without changing
|
||||
it's height? It's like dragging the status bar above it at the same time.
|
||||
|
||||
Can we make ":unlet $VAR" use unsetenv() to delete the env var?
|
||||
What for systems that don't have unsetenv()?
|
||||
|
||||
This does not give an error: (Andre Sihera, 2014 Mar 21)
|
||||
vim -u NONE 1 2 3 -c 'bufdo if 1 | echo 1'
|
||||
This neither: (ZyX)
|
||||
vim -u NONE 1 2 3 -c 'bufdo while 1 | echo 1'
|
||||
|
||||
'viewdir' default on MS-Windows is not a good choice, it's a system directory.
|
||||
Change 'viewdir' to "$HOME/vimfiles/view" and use 'viewdiralt' to also read
|
||||
from?
|
||||
|
||||
Problem with upwards search on Windows (works OK on Linux). (Brett Stahlman,
|
||||
2014 Jun 8)
|
||||
|
||||
Include a plugin manager with Vim? Neobundle seems to be the best currently.
|
||||
Long message about this from ZyX, 2014 Mar 23. And following replies.
|
||||
Also see http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html
|
||||
User view:
|
||||
- Support multiple sources, basically any http:// URL. Be able to look into
|
||||
the files before deciding to install.
|
||||
- Be able to try out a plugin and remove it again with (almost) no traces.
|
||||
- Each plugin needs a "manifest" file that has the version, dependencies
|
||||
(including Vim version and features), conflicts, list of files, etc.
|
||||
Updater uses that to decide what/how to update.
|
||||
Dependencies can use a URL for specific versions, or short name for scripts
|
||||
on vim.org.
|
||||
- Once a plugin is installed it remembers where it came from, updater checks
|
||||
there. Can manually update when really needed.
|
||||
- Must be possible to install for one user. Also system wide?
|
||||
- Can edit plugin config with Vim. Can temporarily disable a plugin.
|
||||
- Run the update manually, find latest version and install.
|
||||
- Be able to download without special tools, must work for 95% of users.
|
||||
Implementation:
|
||||
- Avoid the 'runtimepath' getting long. Need some other way to keep each
|
||||
plugin separate.
|
||||
- When installing or updating, first figure out what needs to be done. This
|
||||
may involve recursively fetching manifest files for dependencies. Then show
|
||||
the user what's going to change and ask for OK.
|
||||
- Scripts on Vim.org must be able to consist of several files. Is zip format
|
||||
sufficient? Upload the manifest? Or refer to a site that has the manifest?
|
||||
- Best is to fetch individual files or use a Vimball. Reduces dependency on
|
||||
tools that might be missing and allows inspection of the files before
|
||||
installing.
|
||||
Out of scope:
|
||||
- Overview of plugins, ratings, comments, etc. That's another world.
|
||||
- Development work on plugins (although diff with distributed version would be
|
||||
useful).
|
||||
|
||||
Setting the spell file in a session only reads the local additions, not the
|
||||
normal spell file. (Enno Nagel, 2014 Mar 29)
|
||||
|
||||
CTRL-] in Visual mode uses the selected text as a tag. This does not work
|
||||
when preceded with CTRL-W. (Patrick Hemmer, 2014 Jun 28)
|
||||
|
||||
When typing the first character of a command, e.g. "f", then using a menu, the
|
||||
menu item doesn't work. Clear typeahead when using a menu?
|
||||
|
||||
Editing an ascii file as ucs-2 or ucs-4 causes display errors.
|
||||
(ZyX, 2014 Mar 30)
|
||||
|
||||
":Next 1 some-arg" does not complain about trailing argument. Also for
|
||||
various other commands. (ZyX, 2014 Mar 30)
|
||||
|
||||
patch to skip sort if no line matches the expression.
|
||||
(Christian Brabandt, 2014 Jun 25)
|
||||
|
||||
Patch to add sortuniq(). (Cade Forester, 2014 Mar 19)
|
||||
Or add uniq() instead? Patch by lcd47, but it has problems.
|
||||
|
||||
Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct
|
||||
30)
|
||||
|
||||
Patch to support expression argument to sort() instead of a function name.
|
||||
Yasuhiro Matsumoto, 2013 May 31.
|
||||
Or should we add a more general mechanism, like lambda functions?
|
||||
|
||||
VMS: Select() doesn't work properly, typing ESC may hang Vim. Use sys$qiow
|
||||
instead. (Samuel Ferencik, 2013 Sep 28)
|
||||
|
||||
Series of patches for NL vs NUL handling. (ZyX, 2013 Nov 3, Nov 9)
|
||||
Patch for XDG base directory support. (Jean François Bignolles, 2014 Mar 4)
|
||||
Remark on the docs. Should not be a compile time feature. But then what?
|
||||
|
||||
Patch to add flag to shortmess to avoid giving completion messages.
|
||||
(Shougo Matsu, 2014 Jan 6, update Jan 11)
|
||||
Completion of ":e" is ":earlier", whould be ":edit". Complete to the matching
|
||||
command instead of doing this alphabetically. (Mikel Jorgensen)
|
||||
|
||||
Patch to add v:completed_item. (Shougo Matsu, 2013 Nov 29).
|
||||
|
||||
@@ -152,10 +229,16 @@ Issue 28.
|
||||
|
||||
Go through more coverity reports.
|
||||
|
||||
Patch to add ":undorecover", get as much text out of the undo file as
|
||||
possible. (Christian Brabandt, 2014 Mar 12)
|
||||
|
||||
Include Haiku port? (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
|
||||
|
||||
Updated spec ftplugin. (Matěj Cepl, 2013 Oct 16)
|
||||
|
||||
Some quickfix messages appear twice. (Gary Johnson, 2014 Feb 16)
|
||||
Patch by Christian Brabandt, 2014 Feb 17.
|
||||
|
||||
Patch to right-align signs. (James Kolb (email james), 2013 Sep 23)
|
||||
|
||||
Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12)
|
||||
@@ -163,8 +246,8 @@ Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12)
|
||||
With "$" in 'cpoptions' the popup menu isn't fully drawn. (Matti Niemenmaa,
|
||||
2013 Sep 5)
|
||||
|
||||
Patch to add item in 'listchars' to repeat first character. (Nathaniel Braun,
|
||||
pragm, 2013 Oct 13)
|
||||
Patch to add "ntab" item in 'listchars' to repeat first character. (Nathaniel
|
||||
Braun, pragm, 2013 Oct 13) A better solution 2014 Mar 5.
|
||||
|
||||
Undo message is not always properly displayed. Patch by Ken Takata, 2013 oct
|
||||
3. Doesn't work properly according to Yukihiro Nakadaira.
|
||||
@@ -217,10 +300,6 @@ GTK: problem with 'L' in 'guioptions' changing the window width.
|
||||
Patch to add option that tells whether small deletes go into the numbered
|
||||
registers. (Aryeh Leib Taurog, 2013 Nov 18)
|
||||
|
||||
Win32: use different args for SearchPath()? (Yasuhiro Matsumoto, 2009 Jan 30)
|
||||
Also fixes wrong result from executable().
|
||||
Update from Ken Takata, 2014 Jan 10.
|
||||
|
||||
Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.
|
||||
|
||||
The BufUnload event is triggered when re-using the empty buffer.
|
||||
@@ -242,19 +321,12 @@ Works OK for echo, just not for ":call" and ":call call()". (Ted, 2011 Mar
|
||||
Patch by Christian Brabandt, 2013 Mar 23.
|
||||
Not 100% sure this is the right solution.
|
||||
|
||||
Patch to support expression argument to sort() instead of a function name.
|
||||
Yasuhiro Matsumoto, 2013 May 31.
|
||||
Or should we add a more general mechanism, like lambda functions?
|
||||
|
||||
Problem caused by patch 7.3.638: window->open does not update window
|
||||
correctly. Issue 91.
|
||||
|
||||
Patch to add {lhs} to :mapclear: clear all maps starting with {lhs}.
|
||||
(Christian Brabandt, 2013 Dec 9)
|
||||
|
||||
The garbage collector may use too much stack. Make set_ref_in_item()
|
||||
iterative instead of recursive. Test program by Marc Weber (2013 Dec 10)
|
||||
|
||||
Exception caused by argument of return is not caught by try/catch.
|
||||
(David Barnett, 2013 Nov 19)
|
||||
|
||||
@@ -295,6 +367,7 @@ Patch to allow setting w:quickfix_title via setqflist() and setloclist()
|
||||
functions. (Christian Brabandt, 2013 May 8, update May 21)
|
||||
Patch to add getlocstack() / setlocstack(). (Christian Brabandt, 2013 May 14)
|
||||
Second one. Update May 22.
|
||||
Update by Daniel Hahler, 2014 Jul 4.
|
||||
|
||||
Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)
|
||||
|
||||
@@ -309,9 +382,6 @@ Patch by Christian Brabandt, 2013 Apr 20, unfinished.
|
||||
|
||||
Bug: findfile("any", "file:///tmp;") does not work.
|
||||
|
||||
v:register is not directly reset to " after a delete command that specifies a
|
||||
register. It is reset after the next command. (Steve Vermeulen, 2013 Mar 16)
|
||||
|
||||
'ff' is wrong for one-line file without EOL. (Issue 77)
|
||||
|
||||
Patch to set antialiasing style on Windows. (Ondrej Balaz, 2013 Mar 14)
|
||||
@@ -321,11 +391,10 @@ In the ATTENTION message about an existing swap file, mention the name of the
|
||||
process that is running. It might actually be some other program, e.g. after
|
||||
a reboot.
|
||||
|
||||
MS-Windows: Crash opening very long file name starting with "\\".
|
||||
(Christian Brock, 2012 Jun 29)
|
||||
|
||||
Patch to have text objects defined by arbitrary single characters. (Daniel
|
||||
Thau, 2013 Nov 20)
|
||||
Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
|
||||
Ben Fritz: problem with 'selection' set to "exclusive".
|
||||
Updated to current Vim, not quite right yet. (Ben Fritz, 2014 Mar 27)
|
||||
|
||||
Patch to select the next or previous text object if there isn't one under the
|
||||
cursor. (Daniel Thau, 2013 Nov 20)
|
||||
@@ -392,9 +461,6 @@ Should be possible to enable/disable matchparen per window or buffer.
|
||||
Add a check for b:no_match_paren in Highlight_matching_Pair() (Marcin
|
||||
Szamotulski, 2012 Nov 8)
|
||||
|
||||
Crash in autocmd that unloads buffers in a BufUnload event. (Andrew Pimlott,
|
||||
2012 Aug 11) Disallow :new when BufUnload is being handled?
|
||||
|
||||
Issue 72: 'autochdir' causes problems for :vimgrep.
|
||||
|
||||
Session file creation: 'autochdir' causes trouble. Keep it off until after
|
||||
@@ -427,10 +493,6 @@ Patch to add tagfunc(). Cleaned up by Christian Brabandt, 2013 Jun 22.
|
||||
Help for 'b:undo_indent'. (Thilo Six, 2012 May 28)
|
||||
Also question if examples are correct.
|
||||
|
||||
It should be possible to make globpath() return a list instead of a string,
|
||||
like with glob(). (Greg Novack, 2012 Nov 2)
|
||||
Patch by Adnan Zafar, 2013 Jul 15.
|
||||
|
||||
The input map for CTRL-O in mswin.vim causes problems after CTRL-X CTRL-O.
|
||||
Suggestion for another map. (Philip Mat, 2012 Jun 18)
|
||||
But use "gi" instead of "a". Or use CTRL-\ CTRL-O.
|
||||
@@ -441,6 +503,9 @@ Aug 16)
|
||||
When there are no command line arguments ":next" and ":argu" give E163, which
|
||||
is confusing. Should say "the argument list is empty".
|
||||
|
||||
xterm supports escape sequences to mark a paste operation. Need to be
|
||||
enabled. (Bruno Sutic, 2014 Jul 11) How to know the terminal supports this?
|
||||
|
||||
URXVT:
|
||||
- will get stuck if byte sequence does not contain the expected semicolon.
|
||||
- Use urxvt mouse support also in xterm. Explanations:
|
||||
@@ -468,14 +533,6 @@ Apr 18)
|
||||
Patch for has('unnamedplus') docs. (Tony Mechelynck, 2011 Sep 27)
|
||||
And one for gui_x11.txt.
|
||||
|
||||
- Patch for 'breakindent' option: repeat indent for wrapped line. (Vaclav
|
||||
Smilauer, 2004 Sep 13, fix Oct 31, update 2007 May 30)
|
||||
Version for latest MacVim: Tobia Conforto, 2009 Nov 23
|
||||
More recent version: https://retracile.net/wiki/VimBreakIndent
|
||||
Posted to vim-dev by Taylor Hedberg, 2011 Nov 25
|
||||
Update by Taylor Hedberg, 2013 May 30.
|
||||
Updated for Vim 7.4 by Ken Takata, 2013 Oct 5.
|
||||
|
||||
":cd" doesn't work when current directory path contains "**".
|
||||
finddir() has the same problem. (Yukihiro Nakadaira, 2012 Jan 10)
|
||||
Requires a rewrite of the file_file_in_path code.
|
||||
@@ -584,7 +641,7 @@ Patch to make "z=" work when 'spell' is off. Does this have nasty side
|
||||
effects? (Christian Brabandt, 2012 Aug 5, Update 2013 Aug 12)
|
||||
Would also need to do this for spellbadword() and spellsuggest().
|
||||
|
||||
Patch for variable tabstops.
|
||||
Patch for variable tabstops. On github (Christian Brabandt, 2014 May 15)
|
||||
|
||||
On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a
|
||||
64 bits value. Change all number options to use nropt_T and define it to the
|
||||
@@ -626,9 +683,6 @@ Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24)
|
||||
|
||||
"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
|
||||
|
||||
Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct
|
||||
30)
|
||||
|
||||
Patch to addd TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011
|
||||
May 24) Update May 26.
|
||||
|
||||
@@ -714,9 +768,6 @@ crash? (Raiwil, 2010 Nov 17)
|
||||
Patch to add FoldedLineNr highlighting: different highlighting for the line
|
||||
number of a closed fold. (eXerigumo Clanjor, 2013 Jul 15)
|
||||
|
||||
Does not work with NFA regexp engine:
|
||||
- \%u, \%x, \%o, \%d followed by a composing character
|
||||
|
||||
Regexp engine performance:
|
||||
- Profiling:
|
||||
./vim -u NONE -s ~/vim/test/ruby.vim
|
||||
@@ -761,10 +812,6 @@ setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)
|
||||
file names unique, also support this for 'backupdir'. (Mikolaj Machowski)
|
||||
Patch by Christian Brabandt, 2010 Oct 21.
|
||||
|
||||
getpos()/setpos() don't include curswant. getpos() could return a fifth
|
||||
element. setpos() could accept an optional fifth element.
|
||||
Patch by Christian Brabandt, 2010 Sep 6. Again 2013 Aug 22.
|
||||
|
||||
With "tw=55 fo+=a" typing space before ) doesn't work well. (Scott Mcdermott,
|
||||
2010 Oct 24)
|
||||
|
||||
@@ -784,9 +831,6 @@ C-indenting: A matching { in a comment is ignored, but intermediate { are not
|
||||
checked to be in a comment. Implement FM_SKIPCOMM flag of findmatchlimit().
|
||||
Issue 46.
|
||||
|
||||
When 'paste' is changed with 'pastetoggle', the ruler doesn't reflect this
|
||||
right away. (Samuel Ferencik, 2010 Dec 7)
|
||||
|
||||
Mac with X11: clipboard doesn't work properly. (Raf, 2010 Aug 16)
|
||||
|
||||
Using CompilerSet doesn't record where an option was set from. E.g., in the
|
||||
@@ -809,8 +853,6 @@ Patch: Let rare word highlighting overrule good word highlighting.
|
||||
When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
|
||||
instead of one. (Constantin Pan, 2010 Sep 10)
|
||||
|
||||
Crash in setqflist(). (Benoit Mortgat, 2010 Nov 18)
|
||||
|
||||
Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
|
||||
Winckler, 2011 May 11)
|
||||
Requires a map mode for Insert mode started from blockwise Visual mode.
|
||||
@@ -1040,6 +1082,11 @@ Session file generates error upon loading, cause by --remote-silent-tab.
|
||||
Using ~ works OK on 'a' with composing char, but not on 0x0418 with composing
|
||||
char 0x0301. (Tony Mechelynck, 2009 Mar 4)
|
||||
|
||||
Searching for composing char works, but not when inside []. (ZyX, Benjamin R.
|
||||
Haskell, 2010 Aug 24)
|
||||
|
||||
This does not work yet: "a\(%C\)" (get composing characters into a submatch).
|
||||
|
||||
A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)
|
||||
|
||||
Inconsistent: starting with $LANG set to es_ES.utf-8 gives Spanish
|
||||
@@ -1124,6 +1171,7 @@ is executed.
|
||||
|
||||
":pedit %" with a BufReadPre autocommand causes the cursor to move to the
|
||||
first line. (Ingo Karkat, 2008 Jul 1) Ian Kelling is working on this.
|
||||
Similar problem with ":e". (Marc Montu, 2014 Apr 22)
|
||||
|
||||
Wildmenu not deleted: "gvim -u NONE", ":set nocp wildmenu cmdheight=3
|
||||
laststatus=2", CTRL-D CTRL-H CTRL-H CTRL-H. (A.Politz, 2008 April 1)
|
||||
@@ -1267,9 +1315,6 @@ When 'smartcase' is set and using CTRL-L to add to the search pattern it may
|
||||
result in no matches. Convert chars to lower case? (Erik Wognsen, 2009 Apr
|
||||
16)
|
||||
|
||||
Searching for composing char works, but not when inside []. (ZyX, Benjamin R.
|
||||
Haskell, 2010 Aug 24)
|
||||
|
||||
Fail to edit file after failed register access. Error flag remains set?
|
||||
(Lech Lorens, 2010 Aug 30)
|
||||
|
||||
@@ -1471,6 +1516,7 @@ Engelke, 2007 Dec 20 - 2008 Jan 17)
|
||||
|
||||
Win64: Seek error in swap file for a very big file (3 Gbyte). Check storing
|
||||
pointer in long and seek offset in 64 bit var.
|
||||
Patches from Ken Takata might help (2014 Apr 17)
|
||||
|
||||
Win32: patch for fullscreen mode. (Liushaolin, 2008 April 17)
|
||||
|
||||
@@ -1478,9 +1524,6 @@ Win32: When 'shell' is bash shellescape() doesn't always do the right thing.
|
||||
Depends on 'shellslash', 'shellquote' and 'shellxquote', but shellescape()
|
||||
only takes 'shellslash' into account.
|
||||
|
||||
Pressing the 'pastetoggle' key doesn't update the statusline. (Jan Christoph
|
||||
Ebersbach, 2008 Feb 1)
|
||||
|
||||
Menu item that does "xxd -r" doesn't work when 'fileencoding' is utf-16.
|
||||
Check for this and use iconv? (Edward L. Fox, 2007 Sep 12)
|
||||
Does the conversion in the other direction work when 'fileencodings' is set
|
||||
@@ -2747,8 +2790,6 @@ Problems that will (probably) not be solved:
|
||||
input method called from GDK code. Without Perl it doesn't crash.
|
||||
- VMS: Vimdiff doesn't work with the VMS diff, because the output looks
|
||||
different. This makes test 47 fail. Install a Unix-compatible diff.
|
||||
- VMS v7.1 and older: Tests 21 and 32 fail. From VMS v7.1-2 and newer Vim
|
||||
does not have this behavior. (Zoltan Arpadffy)
|
||||
- Win32 GUI: mouse wheel always scrolls rightmost window. The events arrive
|
||||
in Vim as if the rightmost scrollbar was used.
|
||||
- GTK with Gnome: Produces an error message when starting up:
|
||||
@@ -3102,12 +3143,8 @@ Multi-byte characters:
|
||||
8 toupper() function doesn't handle byte count changes.
|
||||
7 Searching and composing characters:
|
||||
When searching, should order of composing characters be ignored?
|
||||
Add special item to match with a composing character, zero-width, so that
|
||||
one can replace a base character and keep the composing characters.
|
||||
Add a special item to match with a composing character, so that composing
|
||||
characters can be manipulated.
|
||||
Add a modifier to ignore composing characters, only compare base
|
||||
characters. Useful for Hebrew (Ron Aaron)
|
||||
8 Should implement 'delcombine' for command line editing.
|
||||
8 Detect overlong UTF-8 sequences and handle them like illegal bytes.
|
||||
8 ":s/x/\u\1/" doesn't work, making uppercase isn't done for multi-byte
|
||||
@@ -4213,8 +4250,7 @@ Insert mode:
|
||||
7 Use Tabs for the indent of starting lines, pad with spaces for
|
||||
continuation lines. Allows changing 'tabstop' without messing up the
|
||||
indents.
|
||||
'keeptabs': when set don't change the tabs and spaces used for indent,
|
||||
when the indent remains the same or increases.
|
||||
Patch by Lech Lorens, 2010 Mar. Update by James McCoy, 2014 Mar 15.
|
||||
|
||||
|
||||
Java:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*undo.txt* For Vim version 7.4. Last change: 2013 Sep 08
|
||||
*undo.txt* For Vim version 7.4. Last change: 2014 May 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -97,9 +97,9 @@ change but joins in with the previous change use this command:
|
||||
or redo.
|
||||
{not in Vi}
|
||||
|
||||
This is most useful when you need to prompt the user halfway a change. For
|
||||
example in a function that calls |getchar()|. Do make sure that there was a
|
||||
related change before this that you must join with.
|
||||
This is most useful when you need to prompt the user halfway through a change.
|
||||
For example in a function that calls |getchar()|. Do make sure that there was
|
||||
a related change before this that you must join with.
|
||||
|
||||
This doesn't work by itself, because the next key press will start a new
|
||||
change again. But you can do something like this: >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_08.txt* For Vim version 7.4. Last change: 2006 Jul 18
|
||||
*usr_08.txt* For Vim version 7.4. Last change: 2014 Jul 06
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -532,7 +532,7 @@ window. And you will notice a bar at the top with the two file names:
|
||||
|
||||
You now have two tab pages. The first one has a window for "thisfile" and the
|
||||
second one a window for "thatfile". It's like two pages that are on top of
|
||||
eachother, with a tab sticking out of each page showing the file name.
|
||||
each other, with a tab sticking out of each page showing the file name.
|
||||
|
||||
Now use the mouse to click on "thisfile" in the top line. The result is
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@ be escaped with a backslash. Example: >
|
||||
You can include special Vim keywords in the command specification. The %
|
||||
character expands to the name of the current file. So if you execute the
|
||||
command: >
|
||||
:set makeprg=make\ %
|
||||
:set makeprg=make\ %:S
|
||||
|
||||
When you are editing main.c, then ":make" executes the following command: >
|
||||
|
||||
@@ -137,7 +137,7 @@ When you are editing main.c, then ":make" executes the following command: >
|
||||
This is not too useful, so you will refine the command a little and use the :r
|
||||
(root) modifier: >
|
||||
|
||||
:set makeprg=make\ %:r.o
|
||||
:set makeprg=make\ %:r:S.o
|
||||
|
||||
Now the command executed is as follows: >
|
||||
|
||||
|
||||
@@ -209,7 +209,7 @@ The ":map" command can be followed by another command. A | character
|
||||
separates the two commands. This also means that a | character can't be used
|
||||
inside a map command. To include one, use <Bar> (five characters). Example:
|
||||
>
|
||||
:map <F8> :write <Bar> !checkin %<CR>
|
||||
:map <F8> :write <Bar> !checkin %:S<CR>
|
||||
|
||||
The same problem applies to the ":unmap" command, with the addition that you
|
||||
have to watch out for trailing white space. These two commands are different:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 7.4. Last change: 2014 Jan 10
|
||||
*usr_41.txt* For Vim version 7.4. Last change: 2014 May 28
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -623,6 +623,7 @@ List manipulation: *list-functions*
|
||||
map() change each List item
|
||||
sort() sort a List
|
||||
reverse() reverse the order of a List
|
||||
uniq() remove copies of repeated adjacent items
|
||||
split() split a String into a List
|
||||
join() join List items into a String
|
||||
range() return a List with a sequence of numbers
|
||||
@@ -707,6 +708,7 @@ Cursor and mark position: *cursor-functions* *mark-functions*
|
||||
cursor() position the cursor at a line/column
|
||||
screencol() get screen column of the cursor
|
||||
screenrow() get screen row of the cursor
|
||||
getcurpos() get position of the cursor
|
||||
getpos() get position of cursor, mark, etc.
|
||||
setpos() set position of cursor, mark, etc.
|
||||
byte2line() get line number at a specific byte count
|
||||
@@ -741,6 +743,7 @@ System functions and manipulation of files:
|
||||
pathshorten() shorten directory names in a path
|
||||
simplify() simplify a path without changing its meaning
|
||||
executable() check if an executable program exists
|
||||
exepath() full path of an executable program
|
||||
filereadable() check if a file can be read
|
||||
filewritable() check if a file can be written to
|
||||
getfperm() get the permissions of a file
|
||||
@@ -753,7 +756,8 @@ System functions and manipulation of files:
|
||||
mkdir() create a new directory
|
||||
delete() delete a file
|
||||
rename() rename a file
|
||||
system() get the result of a shell command
|
||||
system() get the result of a shell command as a string
|
||||
systemlist() get the result of a shell command as a list
|
||||
hostname() name of the system
|
||||
readfile() read a file into a List of lines
|
||||
writefile() write a List of lines into a file
|
||||
@@ -769,6 +773,7 @@ Date and Time: *date-functions* *time-functions*
|
||||
Buffers, windows and the argument list:
|
||||
argc() number of entries in the argument list
|
||||
argidx() current position in the argument list
|
||||
arglistid() get id of the argument list
|
||||
argv() get one entry from the argument list
|
||||
bufexists() check if a buffer exists
|
||||
buflisted() check if a buffer exists and is listed
|
||||
@@ -822,6 +827,7 @@ Syntax and highlighting: *syntax-functions* *highlighting-functions*
|
||||
synconcealed() get info about concealing
|
||||
diff_hlID() get highlight ID for diff mode at a position
|
||||
matchadd() define a pattern to highlight (a "match")
|
||||
matchaddpos() define a list of positions to highlight
|
||||
matcharg() get info about |:match| arguments
|
||||
matchdelete() delete a match defined by |matchadd()| or a
|
||||
|:match| command
|
||||
|
||||
@@ -311,7 +311,7 @@ redefine what these items do (after the default menus are setup).
|
||||
item with a bitmap. For example, define a new toolbar item with: >
|
||||
|
||||
:tmenu ToolBar.Compile Compile the current file
|
||||
:amenu ToolBar.Compile :!cc % -o %:r<CR>
|
||||
:amenu ToolBar.Compile :!cc %:S -o %:r:S<CR>
|
||||
|
||||
Now you need to create the icon. For MS-Windows it must be in bitmap format,
|
||||
with the name "Compile.bmp". For Unix XPM format is used, the file name is
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 7.4. Last change: 2013 May 18
|
||||
*various.txt* For Vim version 7.4. Last change: 2014 May 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -234,25 +234,41 @@ g8 Print the hex values of the bytes used in the
|
||||
*:!cmd* *:!* *E34*
|
||||
:!{cmd} Execute {cmd} with the shell. See also the 'shell'
|
||||
and 'shelltype' option.
|
||||
|
||||
Any '!' in {cmd} is replaced with the previous
|
||||
external command (see also 'cpoptions'). But not when
|
||||
there is a backslash before the '!', then that
|
||||
backslash is removed. Example: ":!ls" followed by
|
||||
":!echo ! \! \\!" executes "echo ls ! \!".
|
||||
After the command has been executed, the timestamp of
|
||||
the current file is checked |timestamp|.
|
||||
|
||||
A '|' in {cmd} is passed to the shell, you cannot use
|
||||
it to append a Vim command. See |:bar|.
|
||||
|
||||
If {cmd} contains "%" it is expanded to the current
|
||||
file name. Special characters are not escaped, use
|
||||
quotes to avoid their special meaning: >
|
||||
:!ls "%"
|
||||
< If the file name contains a "$" single quotes might
|
||||
work better (but a single quote causes trouble): >
|
||||
:!ls '%'
|
||||
< This should always work, but it's more typing: >
|
||||
:exe "!ls " . shellescape(expand("%"))
|
||||
<
|
||||
A newline character ends {cmd}, what follows is
|
||||
interpreted as a following ":" command. However, if
|
||||
there is a backslash before the newline it is removed
|
||||
and {cmd} continues. It doesn't matter how many
|
||||
backslashes are before the newline, only one is
|
||||
removed.
|
||||
|
||||
On Unix the command normally runs in a non-interactive
|
||||
shell. If you want an interactive shell to be used
|
||||
(to use aliases) set 'shellcmdflag' to "-ic".
|
||||
For Win32 also see |:!start|.
|
||||
|
||||
After the command has been executed, the timestamp and
|
||||
size of the current file is checked |timestamp|.
|
||||
|
||||
Vim redraws the screen after the command is finished,
|
||||
because it may have printed any text. This requires a
|
||||
hit-enter prompt, so that you can read any messages.
|
||||
@@ -321,6 +337,7 @@ N *+dialog_con* Support for |:confirm| with console dialog.
|
||||
N *+dialog_con_gui* Support for |:confirm| with GUI and console dialog.
|
||||
N *+diff* |vimdiff| and 'diff'
|
||||
N *+digraphs* |digraphs| *E196*
|
||||
m *+directx* Win32 GUI only: DirectX and |'renderoptions'|
|
||||
*+dnd* Support for DnD into the "~ register |quote_~|.
|
||||
B *+emacs_tags* |emacs-tags| files
|
||||
N *+eval* expression evaluation |eval.txt|
|
||||
@@ -363,6 +380,7 @@ N *+mouse* Mouse handling |mouse-using|
|
||||
N *+mouseshape* |'mouseshape'|
|
||||
B *+mouse_dec* Unix only: Dec terminal mouse handling |dec-mouse|
|
||||
N *+mouse_gpm* Unix only: Linux console mouse handling |gpm-mouse|
|
||||
N *+mouse_jsbterm* JSB mouse handling |jsbterm-mouse|
|
||||
B *+mouse_netterm* Unix only: netterm mouse handling |netterm-mouse|
|
||||
N *+mouse_pterm* QNX only: pterm mouse handling |qnx-terminal|
|
||||
N *+mouse_sysmouse* Unix only: *BSD console mouse handling |sysmouse|
|
||||
@@ -418,7 +436,7 @@ N *+user_commands* User-defined commands. |user-commands|
|
||||
N *+viminfo* |'viminfo'|
|
||||
N *+vertsplit* Vertically split windows |:vsplit|
|
||||
N *+virtualedit* |'virtualedit'|
|
||||
S *+visual* Visual mode |Visual-mode|
|
||||
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|
|
||||
N *+wildignore* |'wildignore'|
|
||||
|
||||
@@ -942,6 +942,7 @@ New and extended functions: ~
|
||||
|tagfiles()| List with tags file names
|
||||
|taglist()| get list of matching tags (Yegappan Lakshmanan)
|
||||
|tr()| translate characters (Ron Aaron)
|
||||
|uniq()| remove copies of repeated adjacent list items
|
||||
|values()| get List of Dictionary values
|
||||
|winnr()| takes an argument: what window to use
|
||||
|winrestview()| restore the view of the current window
|
||||
|
||||
@@ -540,7 +540,7 @@ character (and shows it immediately).
|
||||
Added :wnext command. Same as ":write" followed by ":next".
|
||||
|
||||
The ":w!" command always writes, also when the file is write protected. In Vi
|
||||
you would have to do ":!chmod +w %" and ":set noro".
|
||||
you would have to do ":!chmod +w %:S" and ":set noro".
|
||||
|
||||
When 'tildeop' has been set, "~" is an operator (must be followed by a
|
||||
movement command).
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*visual.txt* For Vim version 7.4. Last change: 2013 Nov 02
|
||||
*visual.txt* For Vim version 7.4. Last change: 2014 Mar 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -22,7 +22,7 @@ This is introduced in section |04.4| of the user manual.
|
||||
|
||||
{Vi has no Visual mode, the name "visual" is used for Normal mode, to
|
||||
distinguish it from Ex mode}
|
||||
{not available when the |+visual| feature was disabled when compiling}
|
||||
{Since Vim 7.4.200 the |+visual| feature is always included}
|
||||
|
||||
==============================================================================
|
||||
1. Using Visual mode *visual-use*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 7.4. Last change: 2012 Nov 15
|
||||
*windows.txt* For Vim version 7.4. Last change: 2014 Mar 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -132,13 +132,20 @@ that have termcap codes for italics.
|
||||
CTRL-W s *CTRL-W_s*
|
||||
CTRL-W S *CTRL-W_S*
|
||||
CTRL-W CTRL-S *CTRL-W_CTRL-S*
|
||||
:[N]sp[lit] [++opt] [+cmd] *:sp* *:split*
|
||||
:[N]sp[lit] [++opt] [+cmd] [file] *:sp* *:split*
|
||||
Split current window in two. The result is two viewports on
|
||||
the same file. Make new window N high (default is to use half
|
||||
the height of the current window). Reduces the current window
|
||||
height to create room (and others, if the 'equalalways' option
|
||||
is set, 'eadirection' isn't "hor", and one of them is higher
|
||||
than the current or the new window).
|
||||
the same file.
|
||||
|
||||
Make the new window N high (default is to use half the height
|
||||
of the current window). Reduces the current window height to
|
||||
create room (and others, if the 'equalalways' option is set,
|
||||
'eadirection' isn't "hor", and one of them is higher than the
|
||||
current or the new window).
|
||||
|
||||
If [file] is given it will be edited in the new window. If it
|
||||
is not loaded in any buffer, it will be read. Else the new
|
||||
window will use the already loaded buffer.
|
||||
|
||||
Note: CTRL-S does not work on all terminals and might block
|
||||
further input, use CTRL-Q to get going again.
|
||||
Also see |++opt| and |+cmd|.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2014 Jan 06
|
||||
" Last Change: 2014 Jul 23
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -539,6 +539,20 @@ au BufNewFile,BufRead *enlightenment/*.cfg setf c
|
||||
" Eterm
|
||||
au BufNewFile,BufRead *Eterm/*.cfg setf eterm
|
||||
|
||||
" Euphoria 3 or 4
|
||||
au BufNewFile,BufRead *.eu,*.ew,*.ex,*.exu,*.exw call s:EuphoriaCheck()
|
||||
if has("fname_case")
|
||||
au BufNewFile,BufRead *.EU,*.EW,*.EX,*.EXU,*.EXW call s:EuphoriaCheck()
|
||||
endif
|
||||
|
||||
func! s:EuphoriaCheck()
|
||||
if exists('g:filetype_euphoria')
|
||||
exe 'setf ' . g:filetype_euphoria
|
||||
else
|
||||
setf euphoria3
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" Lynx config files
|
||||
au BufNewFile,BufRead lynx.cfg setf lynx
|
||||
|
||||
@@ -659,22 +673,26 @@ au BufNewFile,BufRead *.ed\(f\|if\|n\|o\) setf edif
|
||||
" Embedix Component Description
|
||||
au BufNewFile,BufRead *.ecd setf ecd
|
||||
|
||||
" Eiffel or Specman
|
||||
" Eiffel or Specman or Euphoria
|
||||
au BufNewFile,BufRead *.e,*.E call s:FTe()
|
||||
|
||||
" Elinks configuration
|
||||
au BufNewFile,BufRead */etc/elinks.conf,*/.elinks/elinks.conf setf elinks
|
||||
|
||||
func! s:FTe()
|
||||
let n = 1
|
||||
while n < 100 && n < line("$")
|
||||
if getline(n) =~ "^\\s*\\(<'\\|'>\\)\\s*$"
|
||||
setf specman
|
||||
return
|
||||
endif
|
||||
let n = n + 1
|
||||
endwhile
|
||||
setf eiffel
|
||||
if exists('g:filetype_euphoria')
|
||||
exe 'setf ' . g:filetype_euphoria
|
||||
else
|
||||
let n = 1
|
||||
while n < 100 && n < line("$")
|
||||
if getline(n) =~ "^\\s*\\(<'\\|'>\\)\\s*$"
|
||||
setf specman
|
||||
return
|
||||
endif
|
||||
let n = n + 1
|
||||
endwhile
|
||||
setf eiffel
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" ERicsson LANGuage; Yaws is erlang too
|
||||
@@ -846,7 +864,7 @@ func! s:FThtml()
|
||||
setf xhtml
|
||||
return
|
||||
endif
|
||||
if getline(n) =~ '{%\s*\(extends\|block\)\>'
|
||||
if getline(n) =~ '{%\s*\(extends\|block\|load\)\>'
|
||||
setf htmldjango
|
||||
return
|
||||
endif
|
||||
@@ -971,7 +989,7 @@ au BufNewFile,BufRead *.java,*.jav setf java
|
||||
au BufNewFile,BufRead *.jj,*.jjt setf javacc
|
||||
|
||||
" JavaScript, ECMAScript
|
||||
au BufNewFile,BufRead *.js,*.javascript,*.es,*.jsx,*.json setf javascript
|
||||
au BufNewFile,BufRead *.js,*.javascript,*.es,*.jsx setf javascript
|
||||
|
||||
" Java Server Pages
|
||||
au BufNewFile,BufRead *.jsp setf jsp
|
||||
@@ -989,12 +1007,18 @@ au BufNewFile,BufRead *.jgr setf jgraph
|
||||
" Jovial
|
||||
au BufNewFile,BufRead *.jov,*.j73,*.jovial setf jovial
|
||||
|
||||
" JSON
|
||||
au BufNewFile,BufRead *.json setf json
|
||||
|
||||
" Kixtart
|
||||
au BufNewFile,BufRead *.kix setf kix
|
||||
|
||||
" Kimwitu[++]
|
||||
au BufNewFile,BufRead *.k setf kwt
|
||||
|
||||
" Kivy
|
||||
au BufNewFile,BufRead *.kv setf kivy
|
||||
|
||||
" KDE script
|
||||
au BufNewFile,BufRead *.ks setf kscript
|
||||
|
||||
@@ -1020,7 +1044,7 @@ au BufNewFile,BufRead *.ldif setf ldif
|
||||
au BufNewFile,BufRead *.ld setf ld
|
||||
|
||||
" Lex
|
||||
au BufNewFile,BufRead *.lex,*.l setf lex
|
||||
au BufNewFile,BufRead *.lex,*.l,*.lxx,*.l++ setf lex
|
||||
|
||||
" Libao
|
||||
au BufNewFile,BufRead */etc/libao.conf,*/.libao setf libao
|
||||
@@ -1628,6 +1652,20 @@ else
|
||||
au BufNewFile,BufRead *.rnw,*.snw setf rnoweb
|
||||
endif
|
||||
|
||||
" R Markdown file
|
||||
if has("fname_case")
|
||||
au BufNewFile,BufRead *.Rmd,*.rmd,*.Smd,*.smd setf rmd
|
||||
else
|
||||
au BufNewFile,BufRead *.rmd,*.smd setf rmd
|
||||
endif
|
||||
|
||||
" R reStructuredText file
|
||||
if has("fname_case")
|
||||
au BufNewFile,BufRead *.Rrst,*.rrst,*.Srst,*.srst setf rrst
|
||||
else
|
||||
au BufNewFile,BufRead *.rrst,*.srst setf rrst
|
||||
endif
|
||||
|
||||
" Rexx, Rebol or R
|
||||
au BufNewFile,BufRead *.r,*.R call s:FTr()
|
||||
|
||||
@@ -2243,6 +2281,9 @@ au BufNewFile,BufRead *.v setf verilog
|
||||
" Verilog-AMS HDL
|
||||
au BufNewFile,BufRead *.va,*.vams setf verilogams
|
||||
|
||||
" SystemVerilog
|
||||
au BufNewFile,BufRead *.sv,*.svh setf systemverilog
|
||||
|
||||
" VHDL
|
||||
au BufNewFile,BufRead *.hdl,*.vhd,*.vhdl,*.vbe,*.vst setf vhdl
|
||||
au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl')
|
||||
@@ -2273,6 +2314,9 @@ au BufNewFile,BufRead vgrindefs setf vgrindefs
|
||||
" VRML V1.0c
|
||||
au BufNewFile,BufRead *.wrl setf vrml
|
||||
|
||||
" Vroom (vim testing and executable documentation)
|
||||
au BufNewFile,BufRead *.vroom setf vroom
|
||||
|
||||
" Webmacro
|
||||
au BufNewFile,BufRead *.wm setf webmacro
|
||||
|
||||
@@ -2415,7 +2459,7 @@ au BufNewFile,BufRead *.xsd setf xsd
|
||||
au BufNewFile,BufRead *.xsl,*.xslt setf xslt
|
||||
|
||||
" Yacc
|
||||
au BufNewFile,BufRead *.yy setf yacc
|
||||
au BufNewFile,BufRead *.yy,*.yxx,*.y++ setf yacc
|
||||
|
||||
" Yacc or racc
|
||||
au BufNewFile,BufRead *.y call s:FTy()
|
||||
@@ -2640,7 +2684,7 @@ au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh')
|
||||
|
||||
" Plain text files, needs to be far down to not override others. This avoids
|
||||
" the "conf" type being used if there is a line starting with '#'.
|
||||
au BufNewFile,BufRead *.txt,*.text setf text
|
||||
au BufNewFile,BufRead *.txt,*.text,README setf text
|
||||
|
||||
|
||||
" Use the filetype detect plugins. They may overrule any of the previously
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
" Maintainer: Sung Pae <self@sungpae.com>
|
||||
" URL: https://github.com/guns/vim-clojure-static
|
||||
" License: Same as Vim
|
||||
" Last Change: 08 September 2013
|
||||
" Last Change: 27 March 2014
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -15,7 +15,7 @@ let b:did_ftplugin = 1
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = 'setlocal iskeyword< define< formatoptions< comments< commentstring<'
|
||||
let b:undo_ftplugin = 'setlocal iskeyword< define< formatoptions< comments< commentstring< lispwords<'
|
||||
|
||||
setlocal iskeyword+=?,-,*,!,+,/,=,<,>,.,:,$
|
||||
|
||||
@@ -23,14 +23,29 @@ setlocal iskeyword+=?,-,*,!,+,/,=,<,>,.,:,$
|
||||
" of user-defined def* definitions.
|
||||
setlocal define=\\v[(/]def(ault)@!\\S*
|
||||
|
||||
" Remove 't' from 'formatoptions' to avoid auto-wrapping code. The '+=croql'
|
||||
" is standard ftplugin boilerplate, although it is arguably intrusive.
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
" Remove 't' from 'formatoptions' to avoid auto-wrapping code.
|
||||
setlocal formatoptions-=t
|
||||
|
||||
" Lisp comments are routinely nested (e.g. ;;; SECTION HEADING)
|
||||
setlocal comments=n:;
|
||||
setlocal commentstring=;\ %s
|
||||
|
||||
" Specially indented symbols from clojure.core and clojure.test.
|
||||
"
|
||||
" Clojure symbols are indented in the defn style when they:
|
||||
"
|
||||
" * Define vars and anonymous functions
|
||||
" * Create new lexical scopes or scopes with altered environments
|
||||
" * Create conditional branches from a predicate function or value
|
||||
"
|
||||
" The arglists for these functions are generally in the form of [x & body];
|
||||
" Functions that accept a flat list of forms do not treat the first argument
|
||||
" specially and hence are not indented specially.
|
||||
"
|
||||
" -*- LISPWORDS -*-
|
||||
" Generated from https://github.com/guns/vim-clojure-static/blob/vim-release-010/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
|
||||
|
||||
" Provide insert mode completions for special forms and clojure.core. As
|
||||
" 'omnifunc' is set by popular Clojure REPL client plugins, we also set
|
||||
" 'completefunc' so that the user has some form of completion available when
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainers: Michael Piefel <piefel@informatik.hu-berlin.de>
|
||||
" Stefano Zacchiroli <zack@debian.org>
|
||||
" Last Change: 2012-01-31
|
||||
" Last Change: 2014-01-31
|
||||
" License: Vim License
|
||||
" URL: http://hg.debian.org/hg/pkg-vim/vim/file/unstable/runtime/ftplugin/debchangelog.vim
|
||||
|
||||
@@ -152,7 +152,7 @@ function CloseBug()
|
||||
endfunction
|
||||
|
||||
function Distribution(dist)
|
||||
call setline(1, substitute(getline(1), ") [[:lower:] ]*;", ") " . a:dist . ";", ""))
|
||||
call setline(1, substitute(getline(1), ') *\%(UNRELEASED\|\l\+\);', ") " . a:dist . ";", ""))
|
||||
endfunction
|
||||
|
||||
function Urgency(urg)
|
||||
|
||||
@@ -20,49 +20,9 @@ if exists("g:ft_html_autocomment") && (g:ft_html_autocomment == 1)
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
endif
|
||||
|
||||
|
||||
if exists('&omnifunc')
|
||||
" Distinguish between HTML versions
|
||||
" To use with other HTML versions add another
|
||||
" elseif condition to match proper DOCTYPE
|
||||
setlocal omnifunc=htmlcomplete#CompleteTags
|
||||
|
||||
if &filetype == 'xhtml'
|
||||
let b:html_omni_flavor = 'xhtml10s'
|
||||
else
|
||||
let b:html_omni_flavor = 'html401t'
|
||||
endif
|
||||
let i = 1
|
||||
let line = ""
|
||||
while i < 10 && i < line("$")
|
||||
let line = getline(i)
|
||||
if line =~ '<!DOCTYPE.*\<DTD '
|
||||
break
|
||||
endif
|
||||
let i += 1
|
||||
endwhile
|
||||
if line =~ '<!DOCTYPE.*\<DTD ' " doctype line found above
|
||||
if line =~ ' HTML 3\.2'
|
||||
let b:html_omni_flavor = 'html32'
|
||||
elseif line =~ ' XHTML 1\.1'
|
||||
let b:html_omni_flavor = 'xhtml11'
|
||||
else " two-step detection with strict/frameset/transitional
|
||||
if line =~ ' XHTML 1\.0'
|
||||
let b:html_omni_flavor = 'xhtml10'
|
||||
elseif line =~ ' HTML 4\.01'
|
||||
let b:html_omni_flavor = 'html401'
|
||||
elseif line =~ ' HTML 4.0\>'
|
||||
let b:html_omni_flavor = 'html40'
|
||||
endif
|
||||
if line =~ '\<Transitional\>'
|
||||
let b:html_omni_flavor .= 't'
|
||||
elseif line =~ '\<Frameset\>'
|
||||
let b:html_omni_flavor .= 'f'
|
||||
else
|
||||
let b:html_omni_flavor .= 's'
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
setlocal omnifunc=htmlcomplete#CompleteTags
|
||||
call htmlcomplete#DetectOmniFlavor()
|
||||
endif
|
||||
|
||||
" HTML: thanks to Johannes Zellner and Benji Fisher.
|
||||
|
||||
@@ -1,18 +1,75 @@
|
||||
" Vim filetype plugin
|
||||
" Language: J
|
||||
" Maintainer: David Bürgin <676c7473@gmail.com>
|
||||
" Last Change: 2013-10-06
|
||||
" URL: https://github.com/glts/vim-j
|
||||
" Last Change: 2014-04-05
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal iskeyword=48-57,65-90,_,97-122
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal iskeyword=48-57,A-Z,_,a-z
|
||||
setlocal comments=:NB.
|
||||
setlocal commentstring=NB.\ %s
|
||||
setlocal formatoptions-=t
|
||||
setlocal shiftwidth=2 softtabstop=2 expandtab
|
||||
setlocal matchpairs=(:)
|
||||
|
||||
let b:undo_ftplugin = "setl mps< et< sts< sw< fo< cms< com< isk<"
|
||||
let b:undo_ftplugin = 'setlocal matchpairs< expandtab< softtabstop< shiftwidth< formatoptions< commentstring< comments< iskeyword<'
|
||||
|
||||
" Section movement with ]] ][ [[ []. The start/end patterns below are amended
|
||||
" inside the function in order to avoid matching on the current cursor line.
|
||||
let s:sectionstart = '.\{-}\<\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\>.*'
|
||||
let s:sectionend = '\s*)\s*'
|
||||
|
||||
function! s:SearchSection(end, backwards, visualmode) abort
|
||||
if a:visualmode !=# ''
|
||||
normal! gv
|
||||
endif
|
||||
let flags = a:backwards ? 'bsW' : 'sW'
|
||||
if a:end
|
||||
call search('^' . s:sectionend . (a:backwards ? '\n\_.\{-}\%#' : '$'), flags)
|
||||
else
|
||||
call search('^' . s:sectionstart . (a:backwards ? '\n\_.\{-}\%#' : '$'), flags)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
noremap <script> <buffer> <silent> ]] :<C-U>call <SID>SearchSection(0, 0, '')<CR>
|
||||
xnoremap <script> <buffer> <silent> ]] :<C-U>call <SID>SearchSection(0, 0, visualmode())<CR>
|
||||
sunmap <buffer> ]]
|
||||
noremap <script> <buffer> <silent> ][ :<C-U>call <SID>SearchSection(1, 0, '')<CR>
|
||||
xnoremap <script> <buffer> <silent> ][ :<C-U>call <SID>SearchSection(1, 0, visualmode())<CR>
|
||||
sunmap <buffer> ][
|
||||
noremap <script> <buffer> <silent> [[ :<C-U>call <SID>SearchSection(0, 1, '')<CR>
|
||||
xnoremap <script> <buffer> <silent> [[ :<C-U>call <SID>SearchSection(0, 1, visualmode())<CR>
|
||||
sunmap <buffer> [[
|
||||
noremap <script> <buffer> <silent> [] :<C-U>call <SID>SearchSection(1, 1, '')<CR>
|
||||
xnoremap <script> <buffer> <silent> [] :<C-U>call <SID>SearchSection(1, 1, visualmode())<CR>
|
||||
sunmap <buffer> []
|
||||
|
||||
let b:undo_ftplugin .= ' | silent! execute "unmap <buffer> ]]"'
|
||||
\ . ' | silent! execute "unmap <buffer> ]["'
|
||||
\ . ' | silent! execute "unmap <buffer> [["'
|
||||
\ . ' | silent! execute "unmap <buffer> []"'
|
||||
|
||||
" Browse dialog filter on Windows (see ":help browsefilter")
|
||||
if has('gui_win32') && !exists('b:browsefilter')
|
||||
let b:browsefilter = "J Script Files (*.ijs)\t*.ijs\n"
|
||||
\ . "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin .= ' | unlet! b:browsefilter'
|
||||
endif
|
||||
|
||||
" Enhanced "%" matching (see ":help matchit")
|
||||
if exists('loaded_matchit') && !exists('b:match_words')
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_words = '^.\{-}\<\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(\:\s*0\|def\s\+0\|define\)\>:^\s*\:\s*$:^\s*)\s*$'
|
||||
\ . ',\<\%(for\%(_\a\k*\)\=\|if\|select\|try\|whil\%(e\|st\)\)\.:\<\%(case\|catch[dt]\=\|else\%(if\)\=\|fcase\)\.:\<end\.'
|
||||
let b:undo_ftplugin .= ' | unlet! b:match_ignorecase b:match_words'
|
||||
endif
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
17
runtime/ftplugin/json.vim
Normal file
17
runtime/ftplugin/json.vim
Normal file
@@ -0,0 +1,17 @@
|
||||
" Vim filetype plugin
|
||||
" Language: JSON
|
||||
" Maintainer: David Barnett <daviebdawg+vim@gmail.com>
|
||||
" Last Change: 2014 Jul 16
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = 'setlocal formatoptions< comments< commentstring<'
|
||||
|
||||
setlocal formatoptions-=t
|
||||
|
||||
" JSON has no comments.
|
||||
setlocal comments=
|
||||
setlocal commentstring=
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: python
|
||||
" Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" Last Change: 2013 Nov 28
|
||||
" Last Change: 2014 Feb 09
|
||||
" Last Change By Johannes: Wed, 21 Apr 2004 13:13:08 CEST
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
@@ -11,7 +11,7 @@ set cpo&vim
|
||||
|
||||
setlocal cinkeys-=0#
|
||||
setlocal indentkeys-=0#
|
||||
setlocal include=\s*\\(from\\\|import\\)
|
||||
setlocal include=^\\s*\\(from\\\|import\\)
|
||||
setlocal includeexpr=substitute(v:fname,'\\.','/','g')
|
||||
setlocal suffixesadd=.py
|
||||
setlocal comments=b:#,fb:-
|
||||
|
||||
31
runtime/ftplugin/r.vim
Normal file
31
runtime/ftplugin/r.vim
Normal file
@@ -0,0 +1,31 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: R
|
||||
" Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Sun Feb 23, 2014 04:07PM
|
||||
|
||||
" Only do this when not yet done for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal iskeyword=@,48-57,_,.
|
||||
setlocal formatoptions-=t
|
||||
setlocal commentstring=#\ %s
|
||||
setlocal comments=:#',:###,:##,:#
|
||||
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "R Source Files (*.R)\t*.R\n" .
|
||||
\ "Files that include R (*.Rnw *.Rd *.Rmd *.Rrst)\t*.Rnw;*.Rd;*.Rmd;*.Rrst\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl cms< com< fo< isk< | unlet! b:browsefilter"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
29
runtime/ftplugin/rhelp.vim
Normal file
29
runtime/ftplugin/rhelp.vim
Normal file
@@ -0,0 +1,29 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: R help file
|
||||
" Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Wed Jul 09, 2014 06:23PM
|
||||
|
||||
" Only do this when not yet done for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal iskeyword=@,48-57,_,.
|
||||
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl isk< | unlet! b:browsefilter"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: sw=2
|
||||
43
runtime/ftplugin/rmd.vim
Normal file
43
runtime/ftplugin/rmd.vim
Normal file
@@ -0,0 +1,43 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: R help file
|
||||
" Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Wed Jul 09, 2014 06:23PM
|
||||
" Original work by Alex Zvoleff (adjusted for rmd by Michel Kuhlmann)
|
||||
|
||||
" Only do this when not yet done for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
|
||||
|
||||
setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s
|
||||
setlocal formatoptions+=tcqln
|
||||
setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+
|
||||
setlocal iskeyword=@,48-57,_,.
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Enables pandoc if it is installed
|
||||
unlet! b:did_ftplugin
|
||||
runtime ftplugin/pandoc.vim
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
if exists('b:undo_ftplugin')
|
||||
let b:undo_ftplugin .= " | setl cms< com< fo< flp< isk< | unlet! b:browsefilter"
|
||||
else
|
||||
let b:undo_ftplugin = "setl cms< com< fo< flp< isk< | unlet! b:browsefilter"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: sw=2
|
||||
40
runtime/ftplugin/rnoweb.vim
Normal file
40
runtime/ftplugin/rnoweb.vim
Normal file
@@ -0,0 +1,40 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Rnoweb
|
||||
" Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Wed Jul 09, 2014 06:23PM
|
||||
|
||||
" Only do this when not yet done for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
runtime! ftplugin/tex.vim
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
" Enables Vim-Latex-Suite, LaTeX-Box if installed
|
||||
runtime ftplugin/tex_*.vim
|
||||
|
||||
setlocal iskeyword=@,48-57,_,.
|
||||
setlocal suffixesadd=.bib,.tex
|
||||
setlocal comments=b:%,b:#,b:##,b:###,b:#'
|
||||
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
if exists('b:undo_ftplugin')
|
||||
let b:undo_ftplugin .= " | setl isk< sua< com< | unlet! b:browsefilter"
|
||||
else
|
||||
let b:undo_ftplugin = "setl isk< sua< com< | unlet! b:browsefilter"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: sw=2
|
||||
37
runtime/ftplugin/rrst.vim
Normal file
37
runtime/ftplugin/rrst.vim
Normal file
@@ -0,0 +1,37 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: reStructuredText documentation format with R code
|
||||
" Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Wed Jul 09, 2014 06:23PM
|
||||
" Original work by Alex Zvoleff
|
||||
|
||||
" Only do this when not yet done for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s
|
||||
setlocal formatoptions+=tcqln
|
||||
setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+
|
||||
setlocal iskeyword=@,48-57,_,.
|
||||
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
if exists('b:undo_ftplugin')
|
||||
let b:undo_ftplugin .= " | setl cms< com< fo< flp< isk< | unlet! b:browsefilter"
|
||||
else
|
||||
let b:undo_ftplugin = "setl cms< com< fo< flp< isk< | unlet! b:browsefilter"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: sw=2
|
||||
@@ -1,7 +1,8 @@
|
||||
" Plugin to update the %changelog section of RPM spec files
|
||||
" Filename: spec.vim
|
||||
" Maintainer: Gustavo Niemeyer <niemeyer@conectiva.com>
|
||||
" Last Change: 2012 Mar 07
|
||||
" Maintainer: Igor Gnatenko i.gnatenko.brain@gmail.com
|
||||
" Former Maintainer: Gustavo Niemeyer <niemeyer@conectiva.com> (until March 2014)
|
||||
" Last Change: Sun Mar 2 11:24 MSK 2014 Igor Gnatenko
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -150,6 +151,10 @@ if !exists("*s:ParseRpmVars")
|
||||
execute a:strline
|
||||
let definestr = "^[ \t]*%define[ \t]\\+" . varname . "[ \t]\\+\\(.*\\)$"
|
||||
let linenum = search(definestr, "bW")
|
||||
if (linenum == 0)
|
||||
let definestr = substitute(definestr, "%define", "%global", "")
|
||||
let linenum = search(definestr, "bW")
|
||||
endif
|
||||
if (linenum != -1)
|
||||
let ret = ret . substitute(getline(linenum), definestr, "\\1", "")
|
||||
else
|
||||
|
||||
11
runtime/ftplugin/systemverilog.vim
Normal file
11
runtime/ftplugin/systemverilog.vim
Normal file
@@ -0,0 +1,11 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: SystemVerilog
|
||||
" Maintainer: kocha <kocha.lsifrontend@gmail.com>
|
||||
" Last Change: 12-Aug-2013.
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Behaves just like Verilog
|
||||
runtime! ftplugin/verilog.vim
|
||||
17
runtime/ftplugin/text.vim
Normal file
17
runtime/ftplugin/text.vim
Normal file
@@ -0,0 +1,17 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Text
|
||||
" Maintainer: David Barnett <daviebdawg+vim@gmail.com>
|
||||
" Last Change: 2014 Jul 09
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = 'setlocal comments< commentstring<'
|
||||
|
||||
" We intentionally don't set formatoptions-=t since text should wrap as text.
|
||||
|
||||
" Pseudo comment leaders to indent bulleted lists.
|
||||
setlocal comments=fb:-,fb:*
|
||||
setlocal commentstring=
|
||||
35
runtime/ftplugin/vroom.vim
Normal file
35
runtime/ftplugin/vroom.vim
Normal file
@@ -0,0 +1,35 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Vroom (vim testing and executable documentation)
|
||||
" Maintainer: David Barnett (https://github.com/google/vim-ft.vroom)
|
||||
" Last Change: 2014 Jul 23
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
|
||||
let b:undo_ftplugin = 'setlocal formatoptions< shiftwidth< softtabstop<' .
|
||||
\ ' expandtab< iskeyword< comments< commentstring<'
|
||||
|
||||
setlocal formatoptions-=t
|
||||
|
||||
" The vroom interpreter doesn't accept anything but 2-space indent.
|
||||
setlocal shiftwidth=2
|
||||
setlocal softtabstop=2
|
||||
setlocal expandtab
|
||||
|
||||
" To allow tag lookup and autocomplete for whole autoload functions, '#' must be
|
||||
" a keyword character. This also conforms to the behavior of ftplugin/vim.vim.
|
||||
setlocal iskeyword+=#
|
||||
|
||||
" Vroom files have no comments (text is inert documentation unless indented).
|
||||
setlocal comments=
|
||||
setlocal commentstring=
|
||||
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -6,7 +6,7 @@
|
||||
" Maintainer: Sung Pae <self@sungpae.com>
|
||||
" URL: https://github.com/guns/vim-clojure-static
|
||||
" License: Same as Vim
|
||||
" Last Change: 16 December 2013
|
||||
" Last Change: 27 March 2014
|
||||
|
||||
" TODO: Indenting after multibyte characters is broken:
|
||||
" (let [Δ (if foo
|
||||
@@ -21,7 +21,7 @@ let b:did_indent = 1
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_indent = 'setlocal autoindent< smartindent< lispwords< expandtab< softtabstop< shiftwidth< indentexpr< indentkeys<'
|
||||
let b:undo_indent = 'setlocal autoindent< smartindent< expandtab< softtabstop< shiftwidth< indentexpr< indentkeys<'
|
||||
|
||||
setlocal noautoindent nosmartindent
|
||||
setlocal softtabstop=2 shiftwidth=2 expandtab
|
||||
@@ -70,7 +70,7 @@ if exists("*searchpairpos")
|
||||
endfunction
|
||||
|
||||
function! s:IsParen()
|
||||
return s:CurrentChar() =~ '\v[\(\)\[\]\{\}]' &&
|
||||
return s:CurrentChar() =~# '\v[\(\)\[\]\{\}]' &&
|
||||
\ s:SynIdName() !~? '\vstring|regex|comment|character'
|
||||
endfunction
|
||||
|
||||
@@ -82,7 +82,7 @@ if exists("*searchpairpos")
|
||||
\ ? a:patterns
|
||||
\ : map(split(a:patterns, ','), '"^" . v:val . "$"')
|
||||
for pat in list
|
||||
if a:string =~ pat | return 1 | endif
|
||||
if a:string =~# pat | return 1 | endif
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
@@ -148,6 +148,10 @@ if exists("*searchpairpos")
|
||||
return val
|
||||
endfunction
|
||||
|
||||
function! s:StripNamespaceAndMacroChars(word)
|
||||
return substitute(a:word, "\\v%(.*/|[#'`~@^,]*)(.*)", '\1', '')
|
||||
endfunction
|
||||
|
||||
function! s:ClojureIsMethodSpecialCaseWorker(position)
|
||||
" Find the next enclosing form.
|
||||
call search('\S', 'Wb')
|
||||
@@ -167,7 +171,8 @@ if exists("*searchpairpos")
|
||||
call cursor(nextParen)
|
||||
|
||||
call search('\S', 'W')
|
||||
if g:clojure_special_indent_words =~ '\<' . s:CurrentWord() . '\>'
|
||||
let w = s:StripNamespaceAndMacroChars(s:CurrentWord())
|
||||
if g:clojure_special_indent_words =~# '\V\<' . w . '\>'
|
||||
return 1
|
||||
endif
|
||||
|
||||
@@ -273,9 +278,9 @@ if exists("*searchpairpos")
|
||||
" metacharacters.
|
||||
"
|
||||
" e.g. clojure.core/defn and #'defn should both indent like defn.
|
||||
let ww = substitute(w, "\\v%(.*/|[#'`~@^,]*)(.*)", '\1', '')
|
||||
let ww = s:StripNamespaceAndMacroChars(w)
|
||||
|
||||
if &lispwords =~ '\V\<' . ww . '\>'
|
||||
if &lispwords =~# '\V\<' . ww . '\>'
|
||||
return paren[1] + &shiftwidth - 1
|
||||
endif
|
||||
|
||||
@@ -307,85 +312,6 @@ else
|
||||
|
||||
endif
|
||||
|
||||
" Specially indented symbols from clojure.core and clojure.test.
|
||||
"
|
||||
" Clojure symbols are indented in the defn style when they:
|
||||
"
|
||||
" * Define vars and anonymous functions
|
||||
" * Create new lexical scopes or scopes with altered environments
|
||||
" * Create conditional branches from a predicate function or value
|
||||
"
|
||||
" The arglists for these functions are generally in the form of [x & body];
|
||||
" Functions that accept a flat list of forms do not treat the first argument
|
||||
" specially and hence are not indented specially.
|
||||
|
||||
" Definitions
|
||||
setlocal lispwords=
|
||||
setlocal lispwords+=bound-fn
|
||||
setlocal lispwords+=def
|
||||
setlocal lispwords+=definline
|
||||
setlocal lispwords+=definterface
|
||||
setlocal lispwords+=defmacro
|
||||
setlocal lispwords+=defmethod
|
||||
setlocal lispwords+=defmulti
|
||||
setlocal lispwords+=defn
|
||||
setlocal lispwords+=defn-
|
||||
setlocal lispwords+=defonce
|
||||
setlocal lispwords+=defprotocol
|
||||
setlocal lispwords+=defrecord
|
||||
setlocal lispwords+=defstruct
|
||||
setlocal lispwords+=deftest " clojure.test
|
||||
setlocal lispwords+=deftest- " clojure.test
|
||||
setlocal lispwords+=deftype
|
||||
setlocal lispwords+=extend
|
||||
setlocal lispwords+=extend-protocol
|
||||
setlocal lispwords+=extend-type
|
||||
setlocal lispwords+=fn
|
||||
setlocal lispwords+=ns
|
||||
setlocal lispwords+=proxy
|
||||
setlocal lispwords+=reify
|
||||
setlocal lispwords+=set-test " clojure.test
|
||||
|
||||
" Binding forms
|
||||
setlocal lispwords+=as->
|
||||
setlocal lispwords+=binding
|
||||
setlocal lispwords+=doall
|
||||
setlocal lispwords+=dorun
|
||||
setlocal lispwords+=doseq
|
||||
setlocal lispwords+=dotimes
|
||||
setlocal lispwords+=doto
|
||||
setlocal lispwords+=for
|
||||
setlocal lispwords+=if-let
|
||||
setlocal lispwords+=let
|
||||
setlocal lispwords+=letfn
|
||||
setlocal lispwords+=locking
|
||||
setlocal lispwords+=loop
|
||||
setlocal lispwords+=testing " clojure.test
|
||||
setlocal lispwords+=when-first
|
||||
setlocal lispwords+=when-let
|
||||
setlocal lispwords+=with-bindings
|
||||
setlocal lispwords+=with-in-str
|
||||
setlocal lispwords+=with-local-vars
|
||||
setlocal lispwords+=with-open
|
||||
setlocal lispwords+=with-precision
|
||||
setlocal lispwords+=with-redefs
|
||||
setlocal lispwords+=with-redefs-fn
|
||||
setlocal lispwords+=with-test " clojure.test
|
||||
|
||||
" Conditional branching
|
||||
setlocal lispwords+=case
|
||||
setlocal lispwords+=cond->
|
||||
setlocal lispwords+=cond->>
|
||||
setlocal lispwords+=condp
|
||||
setlocal lispwords+=if
|
||||
setlocal lispwords+=if-not
|
||||
setlocal lispwords+=when
|
||||
setlocal lispwords+=when-not
|
||||
setlocal lispwords+=while
|
||||
|
||||
" Exception handling
|
||||
setlocal lispwords+=catch
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet! s:save_cpo
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,37 +1,50 @@
|
||||
" Vim indent file
|
||||
" Language: J
|
||||
" Maintainer: David Bürgin <676c7473@gmail.com>
|
||||
" Last Change: 2013-09-21
|
||||
" URL: https://github.com/glts/vim-j
|
||||
" Last Change: 2014-04-05
|
||||
|
||||
if exists("b:did_indent")
|
||||
if exists('b:did_indent')
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentexpr=GetJIndent()
|
||||
setlocal indentkeys-=0{,0},\:,0#
|
||||
setlocal indentkeys+=0),=case.,=catch.,=catchd.,=catcht.,=do.,=else.,=elseif.,=end.,=fcase.
|
||||
setlocal indentkeys-=0{,0},:,0#
|
||||
setlocal indentkeys+=0),0<:>,=case.,=catch.,=catchd.,=catcht.,=do.,=else.,=elseif.,=end.,=fcase.
|
||||
|
||||
let b:undo_indent = "setl indk< inde<"
|
||||
let b:undo_indent = 'setlocal indentkeys< indentexpr<'
|
||||
|
||||
if exists("*GetJIndent")
|
||||
if exists('*GetJIndent')
|
||||
finish
|
||||
endif
|
||||
|
||||
function GetJIndent()
|
||||
" If g:j_indent_definitions is true, the bodies of explicit definitions of
|
||||
" adverbs, conjunctions, and verbs will be indented. Default is false (0).
|
||||
if !exists('g:j_indent_definitions')
|
||||
let g:j_indent_definitions = 0
|
||||
endif
|
||||
|
||||
function GetJIndent() abort
|
||||
let prevlnum = prevnonblank(v:lnum-1)
|
||||
if prevlnum == 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
let indent = indent(prevlnum)
|
||||
if getline(prevlnum) =~# '^\s*\%(case\|catch[dt]\=\|do\|else\%(if\)\=\|fcase\|for\%(_\a\k*\)\=\|if\|select\|try\|whil\%(e\|st\)\)\.'
|
||||
if getline(prevlnum) !~# '\<end\.'
|
||||
let indent += &shiftwidth
|
||||
endif
|
||||
let prevline = getline(prevlnum)
|
||||
if prevline =~# '^\s*\%(case\|catch[dt]\=\|do\|else\%(if\)\=\|fcase\|for\%(_\a\k*\)\=\|if\|select\|try\|whil\%(e\|st\)\)\.\%(\%(\<end\.\)\@!.\)*$'
|
||||
" Increase indentation after an initial control word that starts or
|
||||
" continues a block and is not terminated by "end."
|
||||
let indent += shiftwidth()
|
||||
elseif g:j_indent_definitions && (prevline =~# '\<\%([1-4]\|13\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\>' || prevline =~# '^\s*:\s*$')
|
||||
" Increase indentation in explicit definitions of adverbs, conjunctions,
|
||||
" and verbs
|
||||
let indent += shiftwidth()
|
||||
endif
|
||||
if getline(v:lnum) =~# '^\s*\%(case\|catch[dt]\=\|do\|else\%(if\)\=\|end\|fcase\)\.'
|
||||
let indent -= &shiftwidth
|
||||
" Decrease indentation in lines that start with either control words that
|
||||
" continue or end a block, or the special items ")" and ":"
|
||||
if getline(v:lnum) =~# '^\s*\%()\|:\|\%(case\|catch[dt]\=\|do\|else\%(if\)\=\|end\|fcase\)\.\)'
|
||||
let indent -= shiftwidth()
|
||||
endif
|
||||
return indent
|
||||
endfunction
|
||||
|
||||
13
runtime/indent/json.vim
Normal file
13
runtime/indent/json.vim
Normal file
@@ -0,0 +1,13 @@
|
||||
" Vim indent file
|
||||
" Language: JSON
|
||||
" Maintainer: David Barnett <daviebdawg+vim@gmail.com>
|
||||
" Last Change: 2014 Jul 16
|
||||
|
||||
if exists('b:did_indent')
|
||||
finish
|
||||
endif
|
||||
|
||||
" JSON is a subset of JavaScript. JavaScript indenting should work fine.
|
||||
runtime! indent/javascript.vim
|
||||
|
||||
let b:did_indent = 1
|
||||
@@ -3,8 +3,8 @@
|
||||
" Author: John Wellesz <John.wellesz (AT) teaser (DOT) fr>
|
||||
" URL: http://www.2072productions.com/vim/indent/php.vim
|
||||
" Home: https://github.com/2072/PHP-Indenting-for-VIm
|
||||
" Last Change: 2014 Jan 21
|
||||
" Version: 1.39
|
||||
" Last Change: 2014 April 3rd
|
||||
" Version: 1.49
|
||||
"
|
||||
"
|
||||
" Type :help php-indent for available options
|
||||
@@ -39,7 +39,8 @@
|
||||
"
|
||||
" or simply 'let' the option PHP_removeCRwhenUnix to 1 and the script will
|
||||
" silently remove them when VIM load this script (at each bufread).
|
||||
"
|
||||
|
||||
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
@@ -126,14 +127,26 @@ if exists("*GetPhpIndent")
|
||||
finish " XXX -- comment this line for easy dev
|
||||
endif
|
||||
|
||||
|
||||
let s:notPhpHereDoc = '\%(break\|return\|continue\|exit\|die\|else\)'
|
||||
let s:blockstart = '\%(\%(\%(}\s*\)\=else\%(\s\+\)\=\)\=if\>\|\%(}\s*\)\?else\>\|do\>\|while\>\|switch\>\|case\>\|default\>\|for\%(each\)\=\>\|declare\>\|class\>\|trait\>\|use\>\|interface\>\|abstract\>\|final\>\|try\>\|\%(}\s*\)\=catch\>\|\%(}\s*\)\=finally\>\)'
|
||||
let s:functionDecl = '\<function\>\%(\s\+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*\)\=\s*(.*'
|
||||
let s:endline= '\s*\%(//.*\|#.*\|/\*.*\*/\s*\)\=$'
|
||||
let s:terminated = '\%(\%(;\%(\s*\%(?>\|}\)\)\=\|<<<''\=\a\w*''\=$\|^\s*}\)'.s:endline.'\)\|^[^''"`]*[''"`]$'
|
||||
let s:PHP_startindenttag = '<?\%(.*?>\)\@!\|<script[^>]*>\%(.*<\/script>\)\@!'
|
||||
|
||||
|
||||
|
||||
let s:escapeDebugStops = 0
|
||||
function! DebugPrintReturn(scriptLine)
|
||||
|
||||
echo "debug:" . a:scriptLine
|
||||
call getchar()
|
||||
if ! s:escapeDebugStops
|
||||
echo "debug:" . a:scriptLine
|
||||
let c = getchar()
|
||||
if c == "\<Del>"
|
||||
let s:escapeDebugStops = 1
|
||||
end
|
||||
endif
|
||||
|
||||
endfunction
|
||||
|
||||
@@ -190,6 +203,11 @@ function! GetLastRealCodeLNum(startline) " {{{
|
||||
while getline(lnum) !~? tofind && lnum > 1
|
||||
let lnum = lnum - 1
|
||||
endwhile
|
||||
elseif lastline =~ '^[^''"`]*[''"`][;,]'.s:endline
|
||||
let tofind=substitute( lastline, '^.*\([''"`]\)[;,].*$', '^[^\1]\\+[\1]$', '')
|
||||
while getline(lnum) !~? tofind && lnum > 1
|
||||
let lnum = lnum - 1
|
||||
endwhile
|
||||
else
|
||||
break
|
||||
endif
|
||||
@@ -211,9 +229,9 @@ function! Skippmatch2()
|
||||
let line = getline(".")
|
||||
|
||||
if line =~ "\\([\"']\\).*/\\*.*\\1" || line =~ '\%(//\|#\).*/\*'
|
||||
return 1
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
return 0
|
||||
endif
|
||||
endfun
|
||||
|
||||
@@ -226,9 +244,23 @@ function! Skippmatch() " {{{
|
||||
endif
|
||||
endfun " }}}
|
||||
|
||||
function! FindOpenBracket(lnum) " {{{
|
||||
function! FindOpenBracket(lnum, blockStarter) " {{{
|
||||
call cursor(a:lnum, 1)
|
||||
return searchpair('{', '', '}', 'bW', 'Skippmatch()')
|
||||
let line = searchpair('{', '', '}', 'bW', 'Skippmatch()')
|
||||
|
||||
if a:blockStarter == 1
|
||||
while line > 1
|
||||
let linec = getline(line)
|
||||
|
||||
if linec =~ s:terminated || linec =~ '^\s*\%(' . s:blockstart . '\)\|'. s:functionDecl . s:endline
|
||||
break
|
||||
endif
|
||||
|
||||
let line = GetLastRealCodeLNum(line - 1)
|
||||
endwhile
|
||||
endif
|
||||
|
||||
return line
|
||||
endfun " }}}
|
||||
|
||||
function! FindTheIfOfAnElse (lnum, StopAfterFirstPrevElse) " {{{
|
||||
@@ -248,7 +280,7 @@ function! FindTheIfOfAnElse (lnum, StopAfterFirstPrevElse) " {{{
|
||||
endif
|
||||
|
||||
if getline(beforeelse) =~ '^\s*}'
|
||||
let beforeelse = FindOpenBracket(beforeelse)
|
||||
let beforeelse = FindOpenBracket(beforeelse, 0)
|
||||
|
||||
if getline(beforeelse) =~ '^\s*{'
|
||||
let beforeelse = GetLastRealCodeLNum(beforeelse - 1)
|
||||
@@ -285,13 +317,13 @@ function! FindTheSwitchIndent (lnum) " {{{
|
||||
return indent(1) - &sw * b:PHP_vintage_case_default_indent
|
||||
end
|
||||
|
||||
if getline(test) =~ '^\s*}'
|
||||
let test = FindOpenBracket(test)
|
||||
while getline(test) =~ '^\s*}' && test > 1
|
||||
let test = GetLastRealCodeLNum(FindOpenBracket(test, 0) - 1)
|
||||
|
||||
if getline(test) =~ '^\s*{'
|
||||
let test = GetLastRealCodeLNum(GetLastRealCodeLNum(test - 1) - 1)
|
||||
if getline(test) =~ '^\s*switch\>'
|
||||
let test = GetLastRealCodeLNum(test - 1)
|
||||
endif
|
||||
endif
|
||||
endwhile
|
||||
|
||||
if getline(test) =~# '^\s*switch\>'
|
||||
return indent(test)
|
||||
@@ -308,7 +340,7 @@ function! IslinePHP (lnum, tofind) " {{{
|
||||
let cline = getline(a:lnum)
|
||||
|
||||
if a:tofind==""
|
||||
let tofind = "^\\s*[\"']*\\s*\\zs\\S"
|
||||
let tofind = "^\\s*[\"'`]*\\s*\\zs\\S"
|
||||
else
|
||||
let tofind = a:tofind
|
||||
endif
|
||||
@@ -319,6 +351,14 @@ function! IslinePHP (lnum, tofind) " {{{
|
||||
|
||||
let synname = synIDattr(synID(a:lnum, coltotest, 0), "name")
|
||||
|
||||
if synname == 'phpStringSingle' || synname == 'phpStringDouble' || synname == 'phpBacktick'
|
||||
if cline !~ '^\s*[''"`]'
|
||||
return ""
|
||||
else
|
||||
return synname
|
||||
end
|
||||
end
|
||||
|
||||
if get(s:SynPHPMatchGroups, synname) || synname =~ '^php' || synname =~? '^javaScript'
|
||||
return synname
|
||||
else
|
||||
@@ -326,9 +366,6 @@ function! IslinePHP (lnum, tofind) " {{{
|
||||
endif
|
||||
endfunction " }}}
|
||||
|
||||
let s:notPhpHereDoc = '\%(break\|return\|continue\|exit\|die\|else\)'
|
||||
let s:blockstart = '\%(\%(\%(}\s*\)\=else\%(\s\+\)\=\)\=if\>\|else\>\|while\>\|switch\>\|case\>\|default\>\|for\%(each\)\=\>\|declare\>\|class\>\|interface\>\|abstract\>\|try\>\|catch\>\)'
|
||||
|
||||
let s:autoresetoptions = 0
|
||||
if ! s:autoresetoptions
|
||||
let s:autoresetoptions = 1
|
||||
@@ -344,7 +381,6 @@ function! ResetPhpOptions()
|
||||
setlocal formatoptions+=q
|
||||
setlocal formatoptions+=r
|
||||
setlocal formatoptions+=o
|
||||
setlocal formatoptions+=w
|
||||
setlocal formatoptions+=c
|
||||
setlocal formatoptions+=b
|
||||
endif
|
||||
@@ -443,6 +479,7 @@ function! GetPhpIndent()
|
||||
" Test if we are indenting PHP code {{{
|
||||
let lnum = prevnonblank(v:lnum - 1)
|
||||
let last_line = getline(lnum)
|
||||
let endline= s:endline
|
||||
|
||||
if b:InPHPcode_tofind!=""
|
||||
if cline =~? b:InPHPcode_tofind
|
||||
@@ -483,6 +520,9 @@ function! GetPhpIndent()
|
||||
let b:InPHPcode_and_script = 1
|
||||
endif
|
||||
|
||||
elseif last_line =~ '^[^''"`]\+[''"`]$' " a string identifier with nothing after it and no other string identifier before
|
||||
let b:InPHPcode = 0
|
||||
let b:InPHPcode_tofind = substitute( last_line, '^.*\([''"`]\).*$', '^[^\1]*\1[;,]$', '')
|
||||
elseif last_line =~? '<<<''\=\a\w*''\=$'
|
||||
let b:InPHPcode = 0
|
||||
let b:InPHPcode_tofind = substitute( last_line, '^.*<<<''\=\(\a\w*\)''\=$', '^\\s*\1;\\=$', '')
|
||||
@@ -545,7 +585,7 @@ function! GetPhpIndent()
|
||||
return 0
|
||||
endif
|
||||
|
||||
if cline =~? '^\s*\a\w*;$\|^\a\w*$' && cline !~? s:notPhpHereDoc
|
||||
if cline =~? '^\s*\a\w*;$\|^\a\w*$\|^\s*[''"`][;,]' && cline !~? s:notPhpHereDoc
|
||||
return 0
|
||||
endif " }}}
|
||||
|
||||
@@ -555,7 +595,6 @@ function! GetPhpIndent()
|
||||
|
||||
let last_line = getline(lnum)
|
||||
let ind = indent(lnum)
|
||||
let endline= s:endline
|
||||
|
||||
if ind==0 && b:PHP_default_indenting
|
||||
let ind = b:PHP_default_indenting
|
||||
@@ -567,7 +606,7 @@ function! GetPhpIndent()
|
||||
|
||||
|
||||
if cline =~ '^\s*}\%(}}\)\@!'
|
||||
let ind = indent(FindOpenBracket(v:lnum))
|
||||
let ind = indent(FindOpenBracket(v:lnum, 1))
|
||||
let b:PHP_CurrentIndentLevel = b:PHP_default_indenting
|
||||
return ind
|
||||
endif
|
||||
@@ -599,7 +638,7 @@ function! GetPhpIndent()
|
||||
|
||||
let LastLineClosed = 0
|
||||
|
||||
let terminated = '\%(;\%(\s*\%(?>\|}\)\)\=\|<<<''\=\a\w*''\=$\|^\s*}\)'.endline
|
||||
let terminated = s:terminated
|
||||
|
||||
let unstated = '\%(^\s*'.s:blockstart.'.*)\|\%(//.*\)\@<!\<e'.'lse\>\)'.endline
|
||||
|
||||
@@ -614,7 +653,7 @@ function! GetPhpIndent()
|
||||
|
||||
while last_line_num > 1
|
||||
|
||||
if previous_line =~ '^\s*\%(' . s:blockstart . '\|\%([a-zA-Z]\s*\)*function\)'
|
||||
if previous_line =~ terminated || previous_line =~ '^\s*\%(' . s:blockstart . '\)\|'. s:functionDecl . endline
|
||||
|
||||
let ind = indent(last_line_num)
|
||||
|
||||
@@ -625,7 +664,7 @@ function! GetPhpIndent()
|
||||
return ind
|
||||
endif
|
||||
|
||||
let last_line_num = last_line_num - 1
|
||||
let last_line_num = GetLastRealCodeLNum(last_line_num - 1)
|
||||
let previous_line = getline(last_line_num)
|
||||
endwhile
|
||||
|
||||
@@ -638,22 +677,29 @@ function! GetPhpIndent()
|
||||
let last_line_num = lnum
|
||||
let LastLineClosed = 1
|
||||
|
||||
let isSingleLineBlock = 0
|
||||
while 1
|
||||
if previous_line =~ '^\s*}\|;\s*}'.endline " XXX
|
||||
if ! isSingleLineBlock && previous_line =~ '^\s*}\|;\s*}'.endline " XXX
|
||||
|
||||
call cursor(last_line_num, 1)
|
||||
call search('}\|;\s*}'.endline, 'cW')
|
||||
if previous_line !~ '^}'
|
||||
call search('}\|;\s*}'.endline, 'W')
|
||||
end
|
||||
let oldLastLine = last_line_num
|
||||
let last_line_num = searchpair('{', '', '}', 'bW', 'Skippmatch()')
|
||||
|
||||
if oldLastLine == last_line_num || getline(last_line_num) =~ '^\s*{'
|
||||
if getline(last_line_num) =~ '^\s*{'
|
||||
let last_line_num = GetLastRealCodeLNum(last_line_num - 1)
|
||||
elseif oldLastLine == last_line_num
|
||||
let isSingleLineBlock = 1
|
||||
continue
|
||||
endif
|
||||
|
||||
let previous_line = getline(last_line_num)
|
||||
|
||||
continue
|
||||
else
|
||||
let isSingleLineBlock = 0
|
||||
|
||||
if getline(last_line_num) =~# '^\s*else\%(if\)\=\>'
|
||||
let last_line_num = FindTheIfOfAnElse(last_line_num, 0)
|
||||
@@ -711,7 +757,12 @@ function! GetPhpIndent()
|
||||
|
||||
if last_line =~# '[{(\[]'.endline || last_line =~? '\h\w*\s*(.*,$' && AntepenultimateLine !~ '[,(]'.endline
|
||||
|
||||
if !b:PHP_BracesAtCodeLevel || last_line !~# '^\s*{'
|
||||
let dontIndent = 0
|
||||
if last_line =~ '\S\+\s*{'.endline && last_line !~ '^\s*\%(' . s:blockstart . '\)\|'. s:functionDecl . s:endline
|
||||
let dontIndent = 1
|
||||
endif
|
||||
|
||||
if !dontIndent && (!b:PHP_BracesAtCodeLevel || last_line !~# '^\s*{')
|
||||
let ind = ind + &sw
|
||||
endif
|
||||
|
||||
@@ -723,7 +774,7 @@ function! GetPhpIndent()
|
||||
|
||||
elseif last_line =~ '\S\+\s*),'.endline
|
||||
call cursor(lnum, 1)
|
||||
call search('),'.endline, 'W')
|
||||
call search('),'.endline, 'W') " line never begins with ) so no need for 'c' flag
|
||||
let openedparent = searchpair('(', '', ')', 'bW', 'Skippmatch()')
|
||||
if openedparent != lnum
|
||||
let ind = indent(openedparent)
|
||||
|
||||
111
runtime/indent/rhelp.vim
Normal file
111
runtime/indent/rhelp.vim
Normal file
@@ -0,0 +1,111 @@
|
||||
" Vim indent file
|
||||
" Language: R Documentation (Help), *.Rd
|
||||
" Author: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Wed Jul 09, 2014 07:34PM
|
||||
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
runtime indent/r.vim
|
||||
let s:RIndent = function(substitute(&indentexpr, "()", "", ""))
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentkeys=0{,0},:,!^F,o,O,e
|
||||
setlocal indentexpr=GetRHelpIndent()
|
||||
|
||||
" Only define the function once.
|
||||
if exists("*GetRHelpIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
setlocal noautoindent
|
||||
setlocal nocindent
|
||||
setlocal nosmartindent
|
||||
setlocal nolisp
|
||||
|
||||
setlocal indentkeys=0{,0},:,!^F,o,O,e
|
||||
setlocal indentexpr=GetCorrectRHelpIndent()
|
||||
|
||||
function s:SanitizeRHelpLine(line)
|
||||
let newline = substitute(a:line, '\\\\', "x", "g")
|
||||
let newline = substitute(newline, '\\{', "x", "g")
|
||||
let newline = substitute(newline, '\\}', "x", "g")
|
||||
let newline = substitute(newline, '\\%', "x", "g")
|
||||
let newline = substitute(newline, '%.*', "", "")
|
||||
let newline = substitute(newline, '\s*$', "", "")
|
||||
return newline
|
||||
endfunction
|
||||
|
||||
function GetRHelpIndent()
|
||||
|
||||
let clnum = line(".") " current line
|
||||
if clnum == 1
|
||||
return 0
|
||||
endif
|
||||
let cline = getline(clnum)
|
||||
|
||||
if cline =~ '^\s*}\s*$'
|
||||
let i = clnum
|
||||
let bb = -1
|
||||
while bb != 0 && i > 1
|
||||
let i -= 1
|
||||
let line = s:SanitizeRHelpLine(getline(i))
|
||||
let line2 = substitute(line, "{", "", "g")
|
||||
let openb = strlen(line) - strlen(line2)
|
||||
let line3 = substitute(line2, "}", "", "g")
|
||||
let closeb = strlen(line2) - strlen(line3)
|
||||
let bb += openb - closeb
|
||||
endwhile
|
||||
return indent(i)
|
||||
endif
|
||||
|
||||
if cline =~ '^\s*#ifdef\>' || cline =~ '^\s*#endif\>'
|
||||
return 0
|
||||
endif
|
||||
|
||||
let lnum = clnum - 1
|
||||
let line = getline(lnum)
|
||||
if line =~ '^\s*#ifdef\>' || line =~ '^\s*#endif\>'
|
||||
let lnum -= 1
|
||||
let line = getline(lnum)
|
||||
endif
|
||||
while lnum > 1 && (line =~ '^\s*$' || line =~ '^#ifdef' || line =~ '^#endif')
|
||||
let lnum -= 1
|
||||
let line = getline(lnum)
|
||||
endwhile
|
||||
if lnum == 1
|
||||
return 0
|
||||
endif
|
||||
let line = s:SanitizeRHelpLine(line)
|
||||
let line2 = substitute(line, "{", "", "g")
|
||||
let openb = strlen(line) - strlen(line2)
|
||||
let line3 = substitute(line2, "}", "", "g")
|
||||
let closeb = strlen(line2) - strlen(line3)
|
||||
let bb = openb - closeb
|
||||
|
||||
let ind = indent(lnum) + (bb * &sw)
|
||||
|
||||
if line =~ '^\s*}\s*$'
|
||||
let ind = indent(lnum)
|
||||
endif
|
||||
|
||||
if ind < 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
return ind
|
||||
endfunction
|
||||
|
||||
function GetCorrectRHelpIndent()
|
||||
let lastsection = search('^\\[a-z]*{', "bncW")
|
||||
let secname = getline(lastsection)
|
||||
if secname =~ '^\\usage{' || secname =~ '^\\examples{' || secname =~ '^\\dontshow{' || secname =~ '^\\dontrun{' || secname =~ '^\\donttest{' || secname =~ '^\\testonly{' || secname =~ '^\\method{.*}{.*}('
|
||||
return s:RIndent()
|
||||
else
|
||||
return GetRHelpIndent()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" vim: sw=2
|
||||
46
runtime/indent/rmd.vim
Normal file
46
runtime/indent/rmd.vim
Normal file
@@ -0,0 +1,46 @@
|
||||
" Vim indent file
|
||||
" Language: Rmd
|
||||
" Author: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Wed Jul 09, 2014 07:33PM
|
||||
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
runtime indent/r.vim
|
||||
let s:RIndent = function(substitute(&indentexpr, "()", "", ""))
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentkeys=0{,0},:,!^F,o,O,e
|
||||
setlocal indentexpr=GetRmdIndent()
|
||||
|
||||
if exists("*GetRmdIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
function GetMdIndent()
|
||||
let pline = getline(v:lnum - 1)
|
||||
let cline = getline(v:lnum)
|
||||
if prevnonblank(v:lnum - 1) < v:lnum - 1 || cline =~ '^\s*[-\+\*]\s' || cline =~ '^\s*\d\+\.\s\+'
|
||||
return indent(v:lnum)
|
||||
elseif pline =~ '^\s*[-\+\*]\s'
|
||||
return indent(v:lnum - 1) + 2
|
||||
elseif pline =~ '^\s*\d\+\.\s\+'
|
||||
return indent(v:lnum - 1) + 3
|
||||
endif
|
||||
return indent(prevnonblank(v:lnum - 1))
|
||||
endfunction
|
||||
|
||||
function GetRmdIndent()
|
||||
if getline(".") =~ '^```{r .*}$' || getline(".") =~ '^```$'
|
||||
return 0
|
||||
endif
|
||||
if search('^```{r', "bncW") > search('^```$', "bncW")
|
||||
return s:RIndent()
|
||||
else
|
||||
return GetMdIndent()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" vim: sw=2
|
||||
35
runtime/indent/rnoweb.vim
Normal file
35
runtime/indent/rnoweb.vim
Normal file
@@ -0,0 +1,35 @@
|
||||
" Vim indent file
|
||||
" Language: Rnoweb
|
||||
" Author: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Wed Jul 09, 2014 07:28PM
|
||||
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
runtime indent/tex.vim
|
||||
let s:TeXIndent = function(substitute(&indentexpr, "()", "", ""))
|
||||
unlet b:did_indent
|
||||
runtime indent/r.vim
|
||||
let s:RIndent = function(substitute(&indentexpr, "()", "", ""))
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentkeys=0{,0},!^F,o,O,e,},=\bibitem,=\item
|
||||
setlocal indentexpr=GetRnowebIndent()
|
||||
|
||||
if exists("*GetRnowebIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
function GetRnowebIndent()
|
||||
if getline(".") =~ "^<<.*>>=$"
|
||||
return 0
|
||||
endif
|
||||
if search("^<<", "bncW") > search("^@", "bncW")
|
||||
return s:RIndent()
|
||||
endif
|
||||
return s:TeXIndent()
|
||||
endfunction
|
||||
|
||||
" vim: sw=2
|
||||
46
runtime/indent/rrst.vim
Normal file
46
runtime/indent/rrst.vim
Normal file
@@ -0,0 +1,46 @@
|
||||
" Vim indent file
|
||||
" Language: Rrst
|
||||
" Author: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Wed Jul 09, 2014 07:33PM
|
||||
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
runtime indent/r.vim
|
||||
let s:RIndent = function(substitute(&indentexpr, "()", "", ""))
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentkeys=0{,0},:,!^F,o,O,e
|
||||
setlocal indentexpr=GetRrstIndent()
|
||||
|
||||
if exists("*GetRrstIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
function GetRstIndent()
|
||||
let pline = getline(v:lnum - 1)
|
||||
let cline = getline(v:lnum)
|
||||
if prevnonblank(v:lnum - 1) < v:lnum - 1 || cline =~ '^\s*[-\+\*]\s' || cline =~ '^\s*\d\+\.\s\+'
|
||||
return indent(v:lnum)
|
||||
elseif pline =~ '^\s*[-\+\*]\s'
|
||||
return indent(v:lnum - 1) + 2
|
||||
elseif pline =~ '^\s*\d\+\.\s\+'
|
||||
return indent(v:lnum - 1) + 3
|
||||
endif
|
||||
return indent(prevnonblank(v:lnum - 1))
|
||||
endfunction
|
||||
|
||||
function GetRrstIndent()
|
||||
if getline(".") =~ '^\.\. {r .*}$' || getline(".") =~ '^\.\. \.\.$'
|
||||
return 0
|
||||
endif
|
||||
if search('^\.\. {r', "bncW") > search('^\.\. \.\.$', "bncW")
|
||||
return s:RIndent()
|
||||
else
|
||||
return GetRstIndent()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" vim: sw=2
|
||||
230
runtime/indent/systemverilog.vim
Normal file
230
runtime/indent/systemverilog.vim
Normal file
@@ -0,0 +1,230 @@
|
||||
" Vim indent file
|
||||
" Language: SystemVerilog
|
||||
" Maintainer: kocha <kocha.lsifrontend@gmail.com>
|
||||
" Last Change: 12-Aug-2013.
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentexpr=SystemVerilogIndent()
|
||||
setlocal indentkeys=!^F,o,O,0),0},=begin,=end,=join,=endcase,=join_any,=join_none
|
||||
setlocal indentkeys+==endmodule,=endfunction,=endtask,=endspecify
|
||||
setlocal indentkeys+==endclass,=endpackage,=endsequence,=endclocking
|
||||
setlocal indentkeys+==endinterface,=endgroup,=endprogram,=endproperty,=endchecker
|
||||
setlocal indentkeys+==`else,=`endif
|
||||
|
||||
" Only define the function once.
|
||||
if exists("*SystemVerilogIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function SystemVerilogIndent()
|
||||
|
||||
if exists('b:systemverilog_indent_width')
|
||||
let offset = b:systemverilog_indent_width
|
||||
else
|
||||
let offset = &sw
|
||||
endif
|
||||
if exists('b:systemverilog_indent_modules')
|
||||
let indent_modules = offset
|
||||
else
|
||||
let indent_modules = 0
|
||||
endif
|
||||
|
||||
" Find a non-blank line above the current line.
|
||||
let lnum = prevnonblank(v:lnum - 1)
|
||||
|
||||
" At the start of the file use zero indent.
|
||||
if lnum == 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
let lnum2 = prevnonblank(lnum - 1)
|
||||
let curr_line = getline(v:lnum)
|
||||
let last_line = getline(lnum)
|
||||
let last_line2 = getline(lnum2)
|
||||
let ind = indent(lnum)
|
||||
let ind2 = indent(lnum - 1)
|
||||
let offset_comment1 = 1
|
||||
" Define the condition of an open statement
|
||||
" Exclude the match of //, /* or */
|
||||
let sv_openstat = '\(\<or\>\|\([*/]\)\@<![*(,{><+-/%^&|!=?:]\([*/]\)\@!\)'
|
||||
" Define the condition when the statement ends with a one-line comment
|
||||
let sv_comment = '\(//.*\|/\*.*\*/\s*\)'
|
||||
if exists('b:verilog_indent_verbose')
|
||||
let vverb_str = 'INDENT VERBOSE:'
|
||||
let vverb = 1
|
||||
else
|
||||
let vverb = 0
|
||||
endif
|
||||
|
||||
" Indent accoding to last line
|
||||
" End of multiple-line comment
|
||||
if last_line =~ '\*/\s*$' && last_line !~ '/\*.\{-}\*/'
|
||||
let ind = ind - offset_comment1
|
||||
if vverb
|
||||
echo vverb_str "De-indent after a multiple-line comment."
|
||||
endif
|
||||
|
||||
" Indent after if/else/for/case/always/initial/specify/fork blocks
|
||||
elseif last_line =~ '`\@<!\<\(if\|else\)\>' ||
|
||||
\ last_line =~ '^\s*\<\(for\|case\%[[zx]]\|do\|foreach\|randcase\)\>' ||
|
||||
\ last_line =~ '^\s*\<\(always\|always_comb\|always_ff\|always_latch\)\>' ||
|
||||
\ last_line =~ '^\s*\<\(initial\|specify\|fork\|final\)\>'
|
||||
if last_line !~ '\(;\|\<end\>\)\s*' . sv_comment . '*$' ||
|
||||
\ last_line =~ '\(//\|/\*\).*\(;\|\<end\>\)\s*' . sv_comment . '*$'
|
||||
let ind = ind + offset
|
||||
if vverb | echo vverb_str "Indent after a block statement." | endif
|
||||
endif
|
||||
" Indent after function/task/class/package/sequence/clocking/
|
||||
" interface/covergroup/property/checkerprogram blocks
|
||||
elseif last_line =~ '^\s*\<\(function\|task\|class\|package\)\>' ||
|
||||
\ last_line =~ '^\s*\<\(sequence\|clocking\|interface\)\>' ||
|
||||
\ last_line =~ '^\s*\(\w\+\s*:\)\=\s*\<covergroup\>' ||
|
||||
\ last_line =~ '^\s*\<\(property\|checker\|program\)\>'
|
||||
if last_line !~ '\<end\>\s*' . sv_comment . '*$' ||
|
||||
\ last_line =~ '\(//\|/\*\).*\(;\|\<end\>\)\s*' . sv_comment . '*$'
|
||||
let ind = ind + offset
|
||||
if vverb
|
||||
echo vverb_str "Indent after function/task/class block statement."
|
||||
endif
|
||||
endif
|
||||
|
||||
" Indent after module/function/task/specify/fork blocks
|
||||
elseif last_line =~ '^\s*\(\<extern\>\s*\)\=\<module\>'
|
||||
let ind = ind + indent_modules
|
||||
if vverb && indent_modules
|
||||
echo vverb_str "Indent after module statement."
|
||||
endif
|
||||
if last_line =~ '[(,]\s*' . sv_comment . '*$' &&
|
||||
\ last_line !~ '\(//\|/\*\).*[(,]\s*' . sv_comment . '*$'
|
||||
let ind = ind + offset
|
||||
if vverb
|
||||
echo vverb_str "Indent after a multiple-line module statement."
|
||||
endif
|
||||
endif
|
||||
|
||||
" Indent after a 'begin' statement
|
||||
elseif last_line =~ '\(\<begin\>\)\(\s*:\s*\w\+\)*' . sv_comment . '*$' &&
|
||||
\ last_line !~ '\(//\|/\*\).*\(\<begin\>\)' &&
|
||||
\ ( last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$' ||
|
||||
\ last_line2 =~ '^\s*[^=!]\+\s*:\s*' . sv_comment . '*$' )
|
||||
let ind = ind + offset
|
||||
if vverb | echo vverb_str "Indent after begin statement." | endif
|
||||
|
||||
" Indent after a '{' or a '('
|
||||
elseif last_line =~ '[{(]' . sv_comment . '*$' &&
|
||||
\ last_line !~ '\(//\|/\*\).*[{(]' &&
|
||||
\ ( last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$' ||
|
||||
\ last_line2 =~ '^\s*[^=!]\+\s*:\s*' . sv_comment . '*$' )
|
||||
let ind = ind + offset
|
||||
if vverb | echo vverb_str "Indent after begin statement." | endif
|
||||
|
||||
" De-indent for the end of one-line block
|
||||
elseif ( last_line !~ '\<begin\>' ||
|
||||
\ last_line =~ '\(//\|/\*\).*\<begin\>' ) &&
|
||||
\ last_line2 =~ '\<\(`\@<!if\|`\@<!else\|for\|always\|initial\|do\|foreach\|final\)\>.*' .
|
||||
\ sv_comment . '*$' &&
|
||||
\ last_line2 !~ '\(//\|/\*\).*\<\(`\@<!if\|`\@<!else\|for\|always\|initial\|do\|foreach\|final\)\>' &&
|
||||
\ last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$' &&
|
||||
\ ( last_line2 !~ '\<begin\>' ||
|
||||
\ last_line2 =~ '\(//\|/\*\).*\<begin\>' )
|
||||
let ind = ind - offset
|
||||
if vverb
|
||||
echo vverb_str "De-indent after the end of one-line statement."
|
||||
endif
|
||||
|
||||
" Multiple-line statement (including case statement)
|
||||
" Open statement
|
||||
" Ident the first open line
|
||||
elseif last_line =~ sv_openstat . '\s*' . sv_comment . '*$' &&
|
||||
\ last_line !~ '\(//\|/\*\).*' . sv_openstat . '\s*$' &&
|
||||
\ last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$'
|
||||
let ind = ind + offset
|
||||
if vverb | echo vverb_str "Indent after an open statement." | endif
|
||||
|
||||
" Close statement
|
||||
" De-indent for an optional close parenthesis and a semicolon, and only
|
||||
" if there exists precedent non-whitespace char
|
||||
elseif last_line =~ ')*\s*;\s*' . sv_comment . '*$' &&
|
||||
\ last_line !~ '^\s*)*\s*;\s*' . sv_comment . '*$' &&
|
||||
\ last_line !~ '\(//\|/\*\).*\S)*\s*;\s*' . sv_comment . '*$' &&
|
||||
\ ( last_line2 =~ sv_openstat . '\s*' . sv_comment . '*$' &&
|
||||
\ last_line2 !~ ';\s*//.*$') &&
|
||||
\ last_line2 !~ '^\s*' . sv_comment . '$'
|
||||
let ind = ind - offset
|
||||
if vverb | echo vverb_str "De-indent after a close statement." | endif
|
||||
|
||||
" `ifdef and `else
|
||||
elseif last_line =~ '^\s*`\<\(ifdef\|else\)\>'
|
||||
let ind = ind + offset
|
||||
if vverb
|
||||
echo vverb_str "Indent after a `ifdef or `else statement."
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
" Re-indent current line
|
||||
|
||||
" De-indent on the end of the block
|
||||
" join/end/endcase/endfunction/endtask/endspecify
|
||||
if curr_line =~ '^\s*\<\(join\|join_any\|join_none\|\|end\|endcase\|while\)\>' ||
|
||||
\ curr_line =~ '^\s*\<\(endfunction\|endtask\|endspecify\|endclass\)\>' ||
|
||||
\ curr_line =~ '^\s*\<\(endpackage\|endsequence\|endclocking\|endinterface\)\>' ||
|
||||
\ curr_line =~ '^\s*\<\(endgroup\|endproperty\|endchecker\|endprogram\)\>' ||
|
||||
\ curr_line =~ '^\s*}'
|
||||
let ind = ind - offset
|
||||
if vverb | echo vverb_str "De-indent the end of a block." | endif
|
||||
elseif curr_line =~ '^\s*\<endmodule\>'
|
||||
let ind = ind - indent_modules
|
||||
if vverb && indent_modules
|
||||
echo vverb_str "De-indent the end of a module."
|
||||
endif
|
||||
|
||||
" De-indent on a stand-alone 'begin'
|
||||
elseif curr_line =~ '^\s*\<begin\>'
|
||||
if last_line !~ '^\s*\<\(function\|task\|specify\|module\|class\|package\)\>' ||
|
||||
\ last_line !~ '^\s*\<\(sequence\|clocking\|interface\|covergroup\)\>' ||
|
||||
\ last_line !~ '^\s*\<\(property\|checker\|program\)\>' &&
|
||||
\ last_line !~ '^\s*\()*\s*;\|)\+\)\s*' . sv_comment . '*$' &&
|
||||
\ ( last_line =~
|
||||
\ '\<\(`\@<!if\|`\@<!else\|for\|case\%[[zx]]\|always\|initial\|do\|foreach\|randcase\|final\)\>' ||
|
||||
\ last_line =~ ')\s*' . sv_comment . '*$' ||
|
||||
\ last_line =~ sv_openstat . '\s*' . sv_comment . '*$' )
|
||||
let ind = ind - offset
|
||||
if vverb
|
||||
echo vverb_str "De-indent a stand alone begin statement."
|
||||
endif
|
||||
endif
|
||||
|
||||
" De-indent after the end of multiple-line statement
|
||||
elseif curr_line =~ '^\s*)' &&
|
||||
\ ( last_line =~ sv_openstat . '\s*' . sv_comment . '*$' ||
|
||||
\ last_line !~ sv_openstat . '\s*' . sv_comment . '*$' &&
|
||||
\ last_line2 =~ sv_openstat . '\s*' . sv_comment . '*$' )
|
||||
let ind = ind - offset
|
||||
if vverb
|
||||
echo vverb_str "De-indent the end of a multiple statement."
|
||||
endif
|
||||
|
||||
" De-indent `else and `endif
|
||||
elseif curr_line =~ '^\s*`\<\(else\|endif\)\>'
|
||||
let ind = ind - offset
|
||||
if vverb | echo vverb_str "De-indent `else and `endif statement." | endif
|
||||
|
||||
endif
|
||||
|
||||
" Return the indention
|
||||
return ind
|
||||
endfunction
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim:sw=2
|
||||
21
runtime/indent/vroom.vim
Normal file
21
runtime/indent/vroom.vim
Normal file
@@ -0,0 +1,21 @@
|
||||
" Vim indent file
|
||||
" Language: Vroom (vim testing and executable documentation)
|
||||
" Maintainer: David Barnett (https://github.com/google/vim-ft.vroom)
|
||||
" Last Change: 2014 Jul 23
|
||||
|
||||
if exists('b:did_indent')
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
|
||||
let b:undo_indent = 'setlocal autoindent<'
|
||||
|
||||
setlocal autoindent
|
||||
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim script to work like "less"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2012 May 18
|
||||
" Last Change: 2014 May 13
|
||||
|
||||
" Avoid loading this file twice, allow the user to define his own script.
|
||||
if exists("loaded_less")
|
||||
@@ -87,6 +87,9 @@ noremap <script> <Space> :call <SID>NextPage()<CR><SID>L
|
||||
map <C-V> <Space>
|
||||
map f <Space>
|
||||
map <C-F> <Space>
|
||||
map <PageDown> <Space>
|
||||
map <kPageDown> <Space>
|
||||
map <S-Down> <Space>
|
||||
map z <Space>
|
||||
map <Esc><Space> <Space>
|
||||
fun! s:NextPage()
|
||||
@@ -116,10 +119,14 @@ map e <CR>
|
||||
map <C-E> <CR>
|
||||
map j <CR>
|
||||
map <C-J> <CR>
|
||||
map <Down> <CR>
|
||||
|
||||
" Scroll one page backward
|
||||
noremap <script> b <C-B><SID>L
|
||||
map <C-B> b
|
||||
map <PageUp> b
|
||||
map <kPageUp> b
|
||||
map <S-Up> b
|
||||
map w b
|
||||
map <Esc>v b
|
||||
|
||||
@@ -133,6 +140,7 @@ map y k
|
||||
map <C-Y> k
|
||||
map <C-P> k
|
||||
map <C-K> k
|
||||
map <Up> k
|
||||
|
||||
" Redraw
|
||||
noremap <script> r <C-L><SID>L
|
||||
@@ -143,11 +151,15 @@ noremap <script> R <C-L><SID>L
|
||||
noremap <script> g gg<SID>L
|
||||
map < g
|
||||
map <Esc>< g
|
||||
map <Home> g
|
||||
map <kHome> g
|
||||
|
||||
" End of file
|
||||
noremap <script> G G<SID>L
|
||||
map > G
|
||||
map <Esc>> G
|
||||
map <End> G
|
||||
map <kEnd> G
|
||||
|
||||
" Go to percentage
|
||||
noremap <script> % %<SID>L
|
||||
@@ -184,6 +196,7 @@ fun! s:Backward()
|
||||
endfun
|
||||
|
||||
call s:Forward()
|
||||
cunmap <CR>
|
||||
|
||||
" Quitting
|
||||
noremap q :q<CR>
|
||||
@@ -240,6 +253,18 @@ fun! s:End()
|
||||
unmap v
|
||||
unmap /
|
||||
unmap ?
|
||||
unmap <Up>
|
||||
unmap <Down>
|
||||
unmap <PageDown>
|
||||
unmap <kPageDown>
|
||||
unmap <PageUp>
|
||||
unmap <kPageUp>
|
||||
unmap <S-Down>
|
||||
unmap <S-Up>
|
||||
unmap <Home>
|
||||
unmap <kHome>
|
||||
unmap <End>
|
||||
unmap <kEnd>
|
||||
endfun
|
||||
|
||||
" vim: sw=2
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" You can also use this as a start for your own set of menus.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2013 May 17
|
||||
" Last Change: 2014 May 22
|
||||
|
||||
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
|
||||
" in all modes and avoid side effects from mappings defined by the user.
|
||||
@@ -477,6 +477,7 @@ if has("folding")
|
||||
an 40.340.110 &Tools.&Folding.&Enable/Disable\ folds<Tab>zi zi
|
||||
an 40.340.120 &Tools.&Folding.&View\ Cursor\ Line<Tab>zv zv
|
||||
an 40.340.120 &Tools.&Folding.Vie&w\ Cursor\ Line\ only<Tab>zMzx zMzx
|
||||
inoremenu 40.340.120 &Tools.&Folding.Vie&w\ Cursor\ Line\ only<Tab>zMzx <C-O>zM<C-O>zx
|
||||
an 40.340.130 &Tools.&Folding.C&lose\ more\ folds<Tab>zm zm
|
||||
an 40.340.140 &Tools.&Folding.&Close\ all\ folds<Tab>zM zM
|
||||
an 40.340.150 &Tools.&Folding.O&pen\ more\ folds<Tab>zr zr
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" These commands create the option window.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2013 Jun 29
|
||||
" Last Change: 2014 Apr 01
|
||||
|
||||
" If there already is an option window, jump to that one.
|
||||
if bufwinnr("option-window") > 0
|
||||
@@ -324,6 +324,12 @@ call <SID>BinOptionG("wrap", &wrap)
|
||||
call append("$", "linebreak\twrap long lines at a character in 'breakat'")
|
||||
call append("$", "\t(local to window)")
|
||||
call <SID>BinOptionL("lbr")
|
||||
call append("$", "breakindent\tpreserve indentation in wrapped text")
|
||||
call append("$", "\t(local to window)")
|
||||
call <SID>BinOptionL("bri")
|
||||
call append("$", "breakindentopt\tadjust breakindent behaviour")
|
||||
call append("$", "\t(local to window)")
|
||||
call <SID>OptionL("briopt")
|
||||
call append("$", "breakat\twhich characters might cause a line break")
|
||||
call <SID>OptionG("brk", &brk)
|
||||
call append("$", "showbreak\tstring to put before wrapped screen lines")
|
||||
@@ -855,7 +861,7 @@ if has("lispindent")
|
||||
call append("$", "\t(local to buffer)")
|
||||
call <SID>BinOptionL("lisp")
|
||||
call append("$", "lispwords\twords that change how lisp indenting works")
|
||||
call <SID>OptionG("lw", &lw)
|
||||
call <SID>OptionL("lw")
|
||||
endif
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim plugin for showing matching parens
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2013 May 08
|
||||
" Last Change: 2014 Jul 19
|
||||
|
||||
" Exit quickly when:
|
||||
" - this plugin was already loaded (or disabled)
|
||||
@@ -39,7 +39,7 @@ set cpo-=C
|
||||
function! s:Highlight_Matching_Pair()
|
||||
" Remove any previous match.
|
||||
if exists('w:paren_hl_on') && w:paren_hl_on
|
||||
3match none
|
||||
silent! call matchdelete(3)
|
||||
let w:paren_hl_on = 0
|
||||
endif
|
||||
|
||||
@@ -54,14 +54,15 @@ function! s:Highlight_Matching_Pair()
|
||||
let c_col = col('.')
|
||||
let before = 0
|
||||
|
||||
let c = getline(c_lnum)[c_col - 1]
|
||||
let text = getline(c_lnum)
|
||||
let c = text[c_col - 1]
|
||||
let plist = split(&matchpairs, '.\zs[:,]')
|
||||
let i = index(plist, c)
|
||||
if i < 0
|
||||
" not found, in Insert mode try character before the cursor
|
||||
if c_col > 1 && (mode() == 'i' || mode() == 'R')
|
||||
let before = 1
|
||||
let c = getline(c_lnum)[c_col - 2]
|
||||
let c = text[c_col - 2]
|
||||
let i = index(plist, c)
|
||||
endif
|
||||
if i < 0
|
||||
@@ -87,14 +88,27 @@ function! s:Highlight_Matching_Pair()
|
||||
" Find the match. When it was just before the cursor move it there for a
|
||||
" moment.
|
||||
if before > 0
|
||||
let save_cursor = winsaveview()
|
||||
let has_getcurpos = exists("*getcurpos")
|
||||
if has_getcurpos
|
||||
" getcurpos() is more efficient but doesn't exist before 7.4.313.
|
||||
let save_cursor = getcurpos()
|
||||
else
|
||||
let save_cursor = winsaveview()
|
||||
endif
|
||||
call cursor(c_lnum, c_col - before)
|
||||
endif
|
||||
|
||||
" When not in a string or comment ignore matches inside them.
|
||||
" Build an expression that detects whether the current cursor position is in
|
||||
" certain syntax types (string, comment, etc.), for use as searchpairpos()'s
|
||||
" skip argument.
|
||||
" We match "escape" for special items, such as lispEscapeSpecial.
|
||||
let s_skip ='synIDattr(synID(line("."), col("."), 0), "name") ' .
|
||||
\ '=~? "string\\|character\\|singlequote\\|escape\\|comment"'
|
||||
let s_skip = '!empty(filter(map(synstack(line("."), col(".")), ''synIDattr(v:val, "name")''), ' .
|
||||
\ '''v:val =~? "string\\|character\\|singlequote\\|escape\\|comment"''))'
|
||||
" If executing the expression determines that the cursor is currently in
|
||||
" one of the syntax types, then we want searchpairpos() to find the pair
|
||||
" within those syntax types (i.e., not skip). Otherwise, the cursor is
|
||||
" outside of the syntax types and s_skip should keep its value so we skip any
|
||||
" matching pair inside the syntax types.
|
||||
execute 'if' s_skip '| let s_skip = 0 | endif'
|
||||
|
||||
" Limit the search to lines visible in the window.
|
||||
@@ -147,19 +161,27 @@ function! s:Highlight_Matching_Pair()
|
||||
endtry
|
||||
|
||||
if before > 0
|
||||
call winrestview(save_cursor)
|
||||
if has_getcurpos
|
||||
call setpos('.', save_cursor)
|
||||
else
|
||||
call winrestview(save_cursor)
|
||||
endif
|
||||
endif
|
||||
|
||||
" If a match is found setup match highlighting.
|
||||
if m_lnum > 0 && m_lnum >= stoplinetop && m_lnum <= stoplinebottom
|
||||
exe '3match MatchParen /\(\%' . c_lnum . 'l\%' . (c_col - before) .
|
||||
\ 'c\)\|\(\%' . m_lnum . 'l\%' . m_col . 'c\)/'
|
||||
if exists('*matchaddpos')
|
||||
call matchaddpos('MatchParen', [[c_lnum, c_col - before], [m_lnum, m_col]], 10, 3)
|
||||
else
|
||||
exe '3match MatchParen /\(\%' . c_lnum . 'l\%' . (c_col - before) .
|
||||
\ 'c\)\|\(\%' . m_lnum . 'l\%' . m_col . 'c\)/'
|
||||
endif
|
||||
let w:paren_hl_on = 1
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Define commands that will disable and enable the plugin.
|
||||
command! NoMatchParen windo 3match none | unlet! g:loaded_matchparen |
|
||||
command! NoMatchParen windo silent! call matchdelete(3) | unlet! g:loaded_matchparen |
|
||||
\ au! matchparen
|
||||
command! DoMatchParen runtime plugin/matchparen.vim | windo doau CursorMoved
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" netrwPlugin.vim: Handles file transfer and remote directory listing across a network
|
||||
" PLUGIN SECTION
|
||||
" Date: Dec 31, 2013
|
||||
" Date: Jan 22, 2014
|
||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
||||
" Copyright: Copyright (C) 1999-2013 Charles E. Campbell {{{1
|
||||
@@ -20,7 +20,7 @@
|
||||
if &cp || exists("g:loaded_netrwPlugin")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwPlugin = "v150"
|
||||
let g:loaded_netrwPlugin = "v152"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** you need vim version 7.2 for this version of netrw"
|
||||
@@ -43,6 +43,7 @@ set cpo&vim
|
||||
" Local Browsing Autocmds: {{{2
|
||||
augroup FileExplorer
|
||||
au!
|
||||
au BufLeave * if &ft != "netrw"|let w:netrw_prvfile= expand("%:p")|endif
|
||||
au BufEnter * sil call s:LocalBrowse(expand("<amatch>"))
|
||||
au VimEnter * sil call s:VimEnter(expand("<amatch>"))
|
||||
if has("win32") || has("win95") || has("win64") || has("win16")
|
||||
@@ -66,11 +67,11 @@ augroup Network
|
||||
augroup END
|
||||
|
||||
" Commands: :Nread, :Nwrite, :NetUserPass {{{2
|
||||
com! -count=1 -nargs=* Nread call netrw#NetrwSavePosn()<bar>call netrw#NetRead(<count>,<f-args>)<bar>call netrw#NetrwRestorePosn()
|
||||
com! -range=% -nargs=* Nwrite call netrw#NetrwSavePosn()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call netrw#NetrwRestorePosn()
|
||||
com! -count=1 -nargs=* Nread call netrw#SavePosn()<bar>call netrw#NetRead(<count>,<f-args>)<bar>call netrw#RestorePosn()
|
||||
com! -range=% -nargs=* Nwrite call netrw#SavePosn()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call netrw#RestorePosn()
|
||||
com! -nargs=* NetUserPass call NetUserPass(<f-args>)
|
||||
com! -nargs=* Nsource call netrw#NetrwSavePosn()<bar>call netrw#NetSource(<f-args>)<bar>call netrw#NetrwRestorePosn()
|
||||
com! -nargs=? Ntree call netrw#NetrwSetTreetop(<q-args>)
|
||||
com! -nargs=* Nsource call netrw#SavePosn()<bar>call netrw#NetSource(<f-args>)<bar>call netrw#RestorePosn()
|
||||
com! -nargs=? Ntree call netrw#SetTreetop(<q-args>)
|
||||
|
||||
" Commands: :Explore, :Sexplore, Hexplore, Vexplore, Lexplore {{{2
|
||||
com! -nargs=* -bar -bang -count=0 -complete=dir Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>)
|
||||
@@ -84,7 +85,7 @@ com! -nargs=* -bar -complete=dir Lexplore call netrw#Lexplore(<q-args>)
|
||||
|
||||
" Commands: NetrwSettings {{{2
|
||||
com! -nargs=0 NetrwSettings call netrwSettings#NetrwSettings()
|
||||
com! -bang NetrwClean call netrw#NetrwClean(<bang>0)
|
||||
com! -bang NetrwClean call netrw#Clean(<bang>0)
|
||||
|
||||
" Maps:
|
||||
if !exists("g:netrw_nogx") && maparg('gx','n') == ""
|
||||
@@ -118,11 +119,18 @@ fun! s:LocalBrowse(dirname)
|
||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> (isdirectory, amiga)")
|
||||
if a:dirname != '' && isdirectory(a:dirname)
|
||||
sil! call netrw#LocalBrowseCheck(a:dirname)
|
||||
if exists("w:netrw_bannercnt")
|
||||
exe w:netrw_bannercnt
|
||||
endif
|
||||
endif
|
||||
|
||||
elseif isdirectory(a:dirname)
|
||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> (isdirectory, not amiga)")
|
||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> ft=".&ft." (isdirectory, not amiga)")
|
||||
" call Dredir("LocalBrowse ft last set: ","verbose set ft")
|
||||
sil! call netrw#LocalBrowseCheck(a:dirname)
|
||||
if exists("w:netrw_bannercnt")
|
||||
exe w:netrw_bannercnt
|
||||
endif
|
||||
|
||||
else
|
||||
" not a directory, ignore it
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
|
||||
" License: This file can be redistribued and/or modified under the same terms
|
||||
" as Vim itself.
|
||||
" Last Change: 2013-09-16
|
||||
" Last Change: 2014-03-04
|
||||
" Notes: Last synced with apache-2.2.3, version 1.x is no longer supported
|
||||
" TODO: see particular FIXME's scattered through the file
|
||||
" make it really linewise?
|
||||
@@ -157,7 +157,7 @@ syn keyword apacheDeclaration PerlRestartHandler PerlDispatchHandler
|
||||
syn keyword apacheDeclaration PerlFreshRestart PerlSendHeader
|
||||
syn keyword apacheDeclaration php_value php_flag php_admin_value php_admin_flag
|
||||
syn match apacheSection "<\/\=\(Proxy\|ProxyMatch\)[^>]*>" contains=apacheAnything
|
||||
syn keyword apacheDeclaration AllowCONNECT NoProxy ProxyBadHeader ProxyBlock ProxyDomain ProxyErrorOverride ProxyIOBufferSize ProxyMaxForwards ProxyPass ProxyPassReverse ProxyPassReverseCookieDomain ProxyPassReverseCookiePath ProxyPreserveHost ProxyReceiveBufferSize ProxyRemote ProxyRemoteMatch ProxyRequests ProxyTimeout ProxyVia
|
||||
syn keyword apacheDeclaration AllowCONNECT NoProxy ProxyBadHeader ProxyBlock ProxyDomain ProxyErrorOverride ProxyIOBufferSize ProxyMaxForwards ProxyPass ProxyPassMatch ProxyPassReverse ProxyPassReverseCookieDomain ProxyPassReverseCookiePath ProxyPreserveHost ProxyReceiveBufferSize ProxyRemote ProxyRemoteMatch ProxyRequests ProxyTimeout ProxyVia
|
||||
syn keyword apacheDeclaration RewriteBase RewriteCond RewriteEngine RewriteLock RewriteLog RewriteLogLevel RewriteMap RewriteOptions RewriteRule
|
||||
syn keyword apacheOption inherit
|
||||
syn keyword apacheDeclaration BrowserMatch BrowserMatchNoCase SetEnvIf SetEnvIfNoCase
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Erik Wognsen <erik.wognsen@gmail.com>
|
||||
" Previous maintainer:
|
||||
" Kevin Dahlhausen <kdahlhaus@yahoo.com>
|
||||
" Last Change: 2012 Apr 09
|
||||
" Last Change: 2014 Feb 04
|
||||
|
||||
" Thanks to Ori Avtalion for feedback on the comment markers!
|
||||
|
||||
@@ -93,7 +93,11 @@ syn match asmCond "\.endif"
|
||||
syn match asmMacro "\.macro"
|
||||
syn match asmMacro "\.endm"
|
||||
|
||||
syn match asmDirective "\.[a-z][a-z]\+"
|
||||
" Assembler directives start with a '.' and may contain upper case (e.g.,
|
||||
" .ABORT), numbers (e.g., .p2align), dash (e.g., .app-file) and underscore in
|
||||
" CFI directives (e.g., .cfi_startproc). This will also match labels starting
|
||||
" with '.', including the GCC auto-generated '.L' labels.
|
||||
syn match asmDirective "\.[A-Za-z][0-9A-Za-z-_]*"
|
||||
|
||||
|
||||
syn case match
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: BibTeX (bibliographic database format for (La)TeX)
|
||||
" Maintainer: Bernd Feige <Bernd.Feige@gmx.net>
|
||||
" Filenames: *.bib
|
||||
" Last Change: 2011 Dec 25
|
||||
" Last Change: 2014 Mar 26
|
||||
|
||||
" Thanks to those who pointed out problems with this file or supplied fixes!
|
||||
|
||||
@@ -28,7 +28,7 @@ syn keyword bibType contained article book booklet conference inbook
|
||||
syn keyword bibType contained incollection inproceedings manual
|
||||
syn keyword bibType contained mastersthesis misc phdthesis
|
||||
syn keyword bibType contained proceedings techreport unpublished
|
||||
syn keyword bibType contained string
|
||||
syn keyword bibType contained string preamble
|
||||
|
||||
syn keyword bibEntryKw contained address annote author booktitle chapter
|
||||
syn keyword bibEntryKw contained crossref edition editor howpublished
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: C
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2013 Jul 05
|
||||
" Last Change: 2014 May 26
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -322,6 +322,9 @@ if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")
|
||||
syn keyword cConstant SEEK_CUR SEEK_END SEEK_SET
|
||||
syn keyword cConstant TMP_MAX stderr stdin stdout
|
||||
syn keyword cConstant EXIT_FAILURE EXIT_SUCCESS RAND_MAX
|
||||
" POSIX 2001
|
||||
syn keyword cConstant SIGBUS SIGPOLL SIGPROF SIGSYS SIGURG
|
||||
syn keyword cConstant SIGVTALRM SIGXCPU SIGXFSZ
|
||||
" Add POSIX errors as well
|
||||
syn keyword cConstant E2BIG EACCES EAGAIN EBADF EBADMSG EBUSY
|
||||
syn keyword cConstant ECANCELED ECHILD EDEADLK EDOM EEXIST EFAULT
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -2,7 +2,7 @@
|
||||
" Language: C++
|
||||
" Current Maintainer: vim-jp (https://github.com/vim-jp/cpp-vim)
|
||||
" Previous Maintainer: Ken Shan <ccshan@post.harvard.edu>
|
||||
" Last Change: 2012 Jun 14
|
||||
" Last Change: 2014 May 14
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -39,6 +39,7 @@ if !exists("cpp_no_cpp11")
|
||||
syn keyword cppExceptions noexcept
|
||||
syn keyword cppStorageClass constexpr decltype
|
||||
syn keyword cppConstant nullptr
|
||||
syn region cppRawString matchgroup=cppRawDelimiter start=+\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(+ end=+)\z1"+ contains=@Spell
|
||||
endif
|
||||
|
||||
" The minimum and maximum operators in GNU C++
|
||||
@@ -62,6 +63,8 @@ if version >= 508 || !exists("did_cpp_syntax_inits")
|
||||
HiLink cppStructure Structure
|
||||
HiLink cppBoolean Boolean
|
||||
HiLink cppConstant Constant
|
||||
HiLink cppRawDelimiter Delimiter
|
||||
HiLink cppRawString String
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Datascript
|
||||
" Maintainer: Dominique Pelle <dominique.pelle@gmail.com>
|
||||
" Last Change: 2012 Apr 30
|
||||
" Last Change: 2014 Feb 26
|
||||
"
|
||||
" DataScript is a formal language for modelling binary datatypes,
|
||||
" bitstreams or file formats. For more information, see:
|
||||
@@ -16,8 +16,8 @@ let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
syn keyword dsPackage import package
|
||||
syn keyword dsType bit string
|
||||
syn keyword dsType int8 int16 int32 int64
|
||||
syn keyword dsType bit bool string
|
||||
syn keyword dsType int int8 int16 int32 int64
|
||||
syn keyword dsType uint8 uint16 uint32 uint64
|
||||
syn keyword dsType leint16 leint32 leint64
|
||||
syn keyword dsType leuint16 leuint32 leuint64
|
||||
@@ -25,13 +25,14 @@ syn keyword dsEndian little big
|
||||
syn keyword dsAlign align
|
||||
syn keyword dsLabel case default
|
||||
syn keyword dsConditional if condition
|
||||
syn keyword dsCompound union choice on enum bitmask subtype
|
||||
syn keyword dsBoolean true false
|
||||
syn keyword dsCompound union choice on enum bitmask subtype explicit
|
||||
syn keyword dsKeyword function return
|
||||
syn keyword dsOperator sizeof bitsizeof lengthof is sum forall in
|
||||
syn keyword dsStorageClass const
|
||||
syn keyword dsTodo contained TODO FIXME XXX
|
||||
syn keyword dsSql sql sql_table sql_database sql_pragma
|
||||
syn keyword dsSql sql_integer sql_metadata sql_key
|
||||
syn keyword dsSql sql sql_table sql_database sql_pragma sql_index
|
||||
syn keyword dsSql sql_integer sql_metadata sql_key foreign_key
|
||||
|
||||
" dsCommentGroup allows adding matches for special things in comments.
|
||||
syn cluster dsCommentGroup contains=dsTodo
|
||||
@@ -70,6 +71,7 @@ hi def link dsOffset Label
|
||||
hi def link dsSql PreProc
|
||||
hi def link dsCompound Structure
|
||||
hi def link dsConditional Conditional
|
||||
hi def link dsBoolean Boolean
|
||||
hi def link dsKeyword Statement
|
||||
hi def link dsString String
|
||||
hi def link dsNumber Number
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||
" Wichert Akkerman <wakkerma@debian.org>
|
||||
" Last Change: 2013 May 05
|
||||
" Last Change: 2014 Jul 11
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -19,7 +19,7 @@ syn case ignore
|
||||
" Define some common expressions we can use later on
|
||||
syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
|
||||
syn match debchangelogUrgency contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\="
|
||||
syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile)|wheezy-backports|%(lucid|precise|quantal|raring|saucy)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
|
||||
syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile)|wheezy-backports|%(devel|lucid|precise|trusty|utopic)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
|
||||
syn match debchangelogVersion contained "(.\{-})"
|
||||
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
|
||||
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||
" Wichert Akkerman <wakkerma@debian.org>
|
||||
" Last Change: 2013 May 05
|
||||
" Last Change: 2014 May 01
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -13,6 +13,9 @@ elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Should match case except for the keys of each field
|
||||
syn case match
|
||||
|
||||
@@ -23,8 +26,17 @@ syn match debcontrolElse "^.*$"
|
||||
syn match debControlComma ", *"
|
||||
syn match debControlSpace " "
|
||||
|
||||
let s:kernels = '\%(linux\|hurd\|kfreebsd\|knetbsd\|kopensolaris\|netbsd\)'
|
||||
let s:archs = '\%(alpha\|amd64\|armeb\|armel\|armhf\|arm64\|avr32\|hppa\|i386'
|
||||
\ . '\|ia64\|lpia\|m32r\|m68k\|mipsel\|mips\|powerpcspe\|powerpc\|ppc64el'
|
||||
\ . '\|ppc64\|s390x\|s390\|sh3eb\|sh3\|sh4eb\|sh4\|sh\|sparc64\|sparc\|x32\)'
|
||||
let s:pairs = 'hurd-i386\|kfreebsd-i386\|kfreebsd-amd64\|knetbsd-i386\|kopensolaris-i386\|netbsd-alpha\|netbsd-i386'
|
||||
|
||||
" Define some common expressions we can use later on
|
||||
syn match debcontrolArchitecture contained "\%(all\|linux-any\|\%(any-\)\=\%(alpha\|amd64\|arm\%(e[bl]\|hf\)\=\|avr32\|hppa\|i386\|ia64\|lpia\|m32r\|m68k\|mips\%(el\)\=\|powerpc\|ppc64\|s390x\=\|sh[34]\(eb\)\=\|sh\|sparc\%(64\)\=\)\|hurd-\%(i386\|any\)\|kfreebsd-\%(i386\|amd64\|any\)\|knetbsd-\%(i386\|any\)\|kopensolaris-\%(i386\|any\)\|netbsd-\%(alpha\|i386\|any\)\|any\)"
|
||||
exe 'syn match debcontrolArchitecture contained "\%(all\|'. s:kernels .'-any\|\%(any-\)\='. s:archs .'\|'. s:pairs .'\|any\)"'
|
||||
|
||||
unlet s:kernels s:archs s:pairs
|
||||
|
||||
syn match debcontrolMultiArch contained "\%(no\|foreign\|allowed\|same\)"
|
||||
syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+"
|
||||
syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)"
|
||||
@@ -108,4 +120,7 @@ endif
|
||||
|
||||
let b:current_syntax = "debcontrol"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: ts=8 sw=2
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Debian sources.list
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
|
||||
" Last Change: 2013 May 05
|
||||
" Last Change: 2014 Jul 11
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debsources.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -23,7 +23,7 @@ syn match debsourcesComment /#.*/ contains=@Spell
|
||||
|
||||
" Match uri's
|
||||
syn match debsourcesUri +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++
|
||||
syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(squeeze\|wheezy\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|lucid\|precise\|quantal\|raring\|saucy\)\([-[:alnum:]_./]*\)+
|
||||
syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(squeeze\|wheezy\|jessie\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|devel\|lucid\|precise\|trusty\|utopic\)\([-[:alnum:]_./]*\)+
|
||||
|
||||
" Associate our matches and regions with pretty colours
|
||||
hi def link debsourcesLine Error
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Django template
|
||||
" Maintainer: Dave Hodder <dmh@dmh.org.uk>
|
||||
" Last Change: 2012 Apr 09
|
||||
" Last Change: 2014 Jul 13
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -64,7 +64,7 @@ syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFil
|
||||
syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument,djangoVarError display
|
||||
|
||||
" Django template 'comment' tag and comment block
|
||||
syn region djangoComment start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}" contains=djangoTodo
|
||||
syn region djangoComment start="{%\s*comment\(\s\+.\{-}\)\?%}" end="{%\s*endcomment\s*%}" contains=djangoTodo
|
||||
syn region djangoComBlock start="{#" end="#}" contains=djangoTodo
|
||||
|
||||
" Define the default highlighting.
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
" :3s+-foo++g
|
||||
" Description: highlight dnsmasq configuration files
|
||||
" File: runtime/syntax/dnsmasq.vim
|
||||
" Version: 2.67
|
||||
" Last Change: 2013 Nov 03
|
||||
" Version: 2.70
|
||||
" Last Change: 2014 Apr 30
|
||||
" Modeline: vim: ts=8:sw=2:sts=2:
|
||||
"
|
||||
" License: VIM License
|
||||
@@ -132,6 +132,9 @@ syn match DnsmasqKeyword "^\s*dhcp-subscrid\>"
|
||||
syn match DnsmasqKeyword "^\s*dhcp-userclass\>"
|
||||
syn match DnsmasqKeyword "^\s*dhcp-vendorclass\>"
|
||||
syn match DnsmasqKeyword "^\s*dns-rr\>"
|
||||
syn match DnsmasqKeyword "^\s*dnssec\>"
|
||||
syn match DnsmasqKeyword "^\s*dnssec-check-unsigned\>"
|
||||
syn match DnsmasqKeyword "^\s*dnssec-no-timecheck\>"
|
||||
syn match DnsmasqKeyword "^\s*dns-forward-max\>"
|
||||
syn match DnsmasqKeyword "^\s*domain\>"
|
||||
syn match DnsmasqKeyword "^\s*domain-needed\>"
|
||||
@@ -153,6 +156,7 @@ syn match DnsmasqKeyword "^\s*listen-address\>"
|
||||
syn match DnsmasqKeyword "^\s*local\>"
|
||||
syn match DnsmasqKeyword "^\s*localmx\>"
|
||||
syn match DnsmasqKeyword "^\s*local-ttl\>"
|
||||
syn match DnsmasqKeyword "^\s*local-service\>"
|
||||
syn match DnsmasqKeyword "^\s*localise-queries\>"
|
||||
syn match DnsmasqKeyword "^\s*log-async\>"
|
||||
syn match DnsmasqKeyword "^\s*log-dhcp\>"
|
||||
@@ -187,8 +191,10 @@ syn match DnsmasqKeyword "^\s*read-ethers\>"
|
||||
syn match DnsmasqKeyword "^\s*rebind-domain-ok\>"
|
||||
syn match DnsmasqKeyword "^\s*rebind-localhost-ok\>"
|
||||
syn match DnsmasqKeyword "^\s*resolv-file\>"
|
||||
syn match DnsmasqKeyword "^\s*rev-server\>"
|
||||
syn match DnsmasqKeyword "^\s*selfmx\>"
|
||||
syn match DnsmasqKeyword "^\s*server\>"
|
||||
syn match DnsmasqKeyword "^\s*servers-file\>"
|
||||
syn match DnsmasqKeyword "^\s*srv-host\>"
|
||||
syn match DnsmasqKeyword "^\s*stop-dns-rebind\>"
|
||||
syn match DnsmasqKeyword "^\s*strict-order\>"
|
||||
|
||||
135
runtime/syntax/euphoria3.vim
Normal file
135
runtime/syntax/euphoria3.vim
Normal file
@@ -0,0 +1,135 @@
|
||||
" Vim syntax file
|
||||
" Language: Euphoria 3.1.1 - supports DOS - (http://www.rapideuphoria.com/)
|
||||
" Maintainer: Shian Lee
|
||||
" Last Change: 2014 Feb 24 (for Vim 7.4)
|
||||
" Remark: Euphoria has two syntax files, euphoria3.vim and euphoria4.vim;
|
||||
" For details see :help ft-euphoria-syntax
|
||||
|
||||
" Quit if a (custom) syntax file was already loaded (compatible with Vim 5.8):
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Reset compatible-options to Vim default value, just in case:
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Should suffice for very long expressions:
|
||||
syn sync lines=40
|
||||
|
||||
" Euphoria is a case-sensitive language (with only 4 builtin types):
|
||||
syntax case match
|
||||
|
||||
" Keywords/Builtins for Debug - from $EUDIR/bin/keywords.e:
|
||||
syn keyword euphoria3Debug with without trace profile
|
||||
syn keyword euphoria3Debug profile_time warning type_check
|
||||
|
||||
" Keywords (Statments) - from $EUDIR/bin/keywords.e:
|
||||
syn keyword euphoria3Keyword if end then procedure else for return
|
||||
syn keyword euphoria3Keyword do elsif while type constant to and or
|
||||
syn keyword euphoria3Keyword exit function global by not include
|
||||
syn keyword euphoria3Keyword xor
|
||||
|
||||
" Builtins (Identifiers) - from $EUDIR/bin/keywords.e:
|
||||
syn keyword euphoria3Builtin length puts integer sequence position object
|
||||
syn keyword euphoria3Builtin append prepend print printf
|
||||
syn keyword euphoria3Builtin clear_screen floor getc gets get_key
|
||||
syn keyword euphoria3Builtin rand repeat atom compare find match
|
||||
syn keyword euphoria3Builtin time command_line open close getenv
|
||||
syn keyword euphoria3Builtin sqrt sin cos tan log system date remainder
|
||||
syn keyword euphoria3Builtin power machine_func machine_proc abort peek poke
|
||||
syn keyword euphoria3Builtin call sprintf arctan and_bits or_bits xor_bits
|
||||
syn keyword euphoria3Builtin not_bits pixel get_pixel mem_copy mem_set
|
||||
syn keyword euphoria3Builtin c_proc c_func routine_id call_proc call_func
|
||||
syn keyword euphoria3Builtin poke4 peek4s peek4u equal system_exec
|
||||
syn keyword euphoria3Builtin platform task_create task_schedule task_yield
|
||||
syn keyword euphoria3Builtin task_self task_suspend task_list
|
||||
syn keyword euphoria3Builtin task_status task_clock_stop task_clock_start
|
||||
syn keyword euphoria3Builtin find_from match_from
|
||||
" Builtins (Identifiers) shortcuts for length() and print():
|
||||
syn match euphoria3Builtin "\$"
|
||||
syn match euphoria3Builtin "?"
|
||||
|
||||
" Library Identifiers (Function) - from $EUDIR/doc/library.doc:
|
||||
syn keyword euphoria3Library reverse sort custom_sort lower upper
|
||||
syn keyword euphoria3Library wildcard_match wildcard_file arcsin
|
||||
syn keyword euphoria3Library arccos PI flush lock_file unlock_file
|
||||
syn keyword euphoria3Library pretty_print sprint get_bytes prompt_string
|
||||
syn keyword euphoria3Library wait_key get prompt_number value seek where
|
||||
syn keyword euphoria3Library current_dir chdir dir walk_dir allow_break
|
||||
syn keyword euphoria3Library check_break get_mouse mouse_events mouse_pointer
|
||||
syn keyword euphoria3Library tick_rate sleep get_position graphics_mode
|
||||
syn keyword euphoria3Library video_config scroll wrap text_color bk_color
|
||||
syn keyword euphoria3Library palette all_palette get_all_palette read_bitmap
|
||||
syn keyword euphoria3Library save_bitmap get_active_page set_active_page
|
||||
syn keyword euphoria3Library get_display_page set_display_page sound
|
||||
syn keyword euphoria3Library cursor text_rows get_screen_char put_screen_char
|
||||
syn keyword euphoria3Library save_text_image display_text_image draw_line
|
||||
syn keyword euphoria3Library polygon ellipse save_screen save_image display_image
|
||||
syn keyword euphoria3Library dos_interrupt allocate free allocate_low free_low
|
||||
syn keyword euphoria3Library allocate_string register_block unregister_block
|
||||
syn keyword euphoria3Library get_vector set_vector lock_memory int_to_bytes
|
||||
syn keyword euphoria3Library bytes_to_int int_to_bits bits_to_int atom_to_float64
|
||||
syn keyword euphoria3Library atom_to_float32 float64_to_atom float32_to_atom
|
||||
syn keyword euphoria3Library set_rand use_vesa crash_file crash_message
|
||||
syn keyword euphoria3Library crash_routine open_dll define_c_proc define_c_func
|
||||
syn keyword euphoria3Library define_c_var call_back message_box free_console
|
||||
syn keyword euphoria3Library instance
|
||||
|
||||
" Library Identifiers (Function) - from $EUDIR/doc/database.doc:
|
||||
syn keyword euphoria3Library db_create db_open db_select db_close db_create_table
|
||||
syn keyword euphoria3Library db_select_table db_rename_table db_delete_table
|
||||
syn keyword euphoria3Library db_table_list db_table_size db_find_key db_record_key
|
||||
syn keyword euphoria3Library db_record_data db_insert db_delete_record
|
||||
syn keyword euphoria3Library db_replace_data db_compress db_dump db_fatal_id
|
||||
|
||||
" Linux shell comment (#!...):
|
||||
syn match euphoria3Comment "\%^#!.*$"
|
||||
" Comment on one line:
|
||||
syn region euphoria3Comment start=/--/ end=/$/
|
||||
|
||||
" Delimiters and brackets:
|
||||
syn match euphoria3Delimit "[([\])]"
|
||||
syn match euphoria3Delimit "\.\."
|
||||
syn match euphoria3Operator "[{}]"
|
||||
|
||||
" Character constant:
|
||||
syn region euphoria3Char start=/'/ skip=/\\'\|\\\\/ end=/'/ oneline
|
||||
|
||||
" String constant:
|
||||
syn region euphoria3String start=/"/ skip=/\\"\|\\\\/ end=/"/ oneline
|
||||
|
||||
" Hexadecimal integer:
|
||||
syn match euphoria3Number "#[0-9A-F]\+\>"
|
||||
|
||||
" Integer/Floating point without a dot:
|
||||
syn match euphoria3Number "\<\d\+\>"
|
||||
" Floating point with dot:
|
||||
syn match euphoria3Number "\<\d\+\.\d*\>"
|
||||
" Floating point starting with a dot:
|
||||
syn match euphoria3Number "\.\d\+\>"
|
||||
" Boolean constants:
|
||||
syn keyword euphoria3Boolean true TRUE false FALSE
|
||||
|
||||
" Define the default highlighting.
|
||||
" Only used when an item doesn't have highlighting yet:
|
||||
hi def link euphoria3Comment Comment
|
||||
hi def link euphoria3String String
|
||||
hi def link euphoria3Char Character
|
||||
hi def link euphoria3Number Number
|
||||
hi def link euphoria3Boolean Boolean
|
||||
hi def link euphoria3Builtin Identifier
|
||||
hi def link euphoria3Library Function
|
||||
hi def link euphoria3Keyword Statement
|
||||
hi def link euphoria3Operator Statement
|
||||
hi def link euphoria3Debug Debug
|
||||
hi def link euphoria3Delimit Delimiter
|
||||
|
||||
let b:current_syntax = "euphoria3"
|
||||
|
||||
" Restore current compatible-options:
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
247
runtime/syntax/euphoria4.vim
Normal file
247
runtime/syntax/euphoria4.vim
Normal file
@@ -0,0 +1,247 @@
|
||||
" Vim syntax file
|
||||
" Language: Euphoria 4.0.5 (http://www.openeuphoria.org/)
|
||||
" Maintainer: Shian Lee
|
||||
" Last Change: 2014 Feb 26 (for Vim 7.4)
|
||||
" Remark: Euphoria has two syntax files, euphoria3.vim and euphoria4.vim;
|
||||
" For details see :help ft-euphoria-syntax
|
||||
|
||||
" Quit if a (custom) syntax file was already loaded (compatible with Vim 5.8):
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Reset compatible-options to Vim default value, just in case:
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Should suffice for very long strings and expressions:
|
||||
syn sync lines=40
|
||||
|
||||
" Euphoria is a case-sensitive language (with only 4 builtin types):
|
||||
syntax case match
|
||||
|
||||
" Some keywords/Builtins for Debug - from $EUDIR/include/euphoria/keywords.e:
|
||||
syn keyword euphoria4Debug with without trace profile batch check indirect
|
||||
syn keyword euphoria4Debug includes inline warning define
|
||||
|
||||
" Keywords for conditional compilation - from $EUDIR/include/euphoria/keywords.e:
|
||||
syn keyword euphoria4PreProc elsedef elsifdef ifdef
|
||||
|
||||
" Keywords (Statments) - from $EUDIR/include/euphoria/keywords.e:
|
||||
syn keyword euphoria4Keyword and as break by case constant continue do else
|
||||
syn keyword euphoria4Keyword elsif end entry enum exit export
|
||||
syn keyword euphoria4Keyword fallthru for function global goto if include
|
||||
syn keyword euphoria4Keyword label loop namespace not or override procedure
|
||||
syn keyword euphoria4Keyword public retry return routine switch then to type
|
||||
syn keyword euphoria4Keyword until while xor
|
||||
|
||||
" Builtins (Identifiers) - from $EUDIR/include/euphoria/keywords.e:
|
||||
syn keyword euphoria4Builtin abort and_bits append arctan atom c_func c_proc
|
||||
syn keyword euphoria4Builtin call call_func call_proc clear_screen close
|
||||
syn keyword euphoria4Builtin command_line compare cos date delete delete_routine
|
||||
syn keyword euphoria4Builtin equal find floor get_key getc getenv gets hash
|
||||
syn keyword euphoria4Builtin head include_paths insert integer length log
|
||||
syn keyword euphoria4Builtin machine_func machine_proc match mem_copy mem_set
|
||||
syn keyword euphoria4Builtin not_bits object open option_switches or_bits peek
|
||||
syn keyword euphoria4Builtin peek2s peek2u peek4s peek4u peek_string peeks pixel
|
||||
syn keyword euphoria4Builtin platform poke poke2 poke4 position power prepend
|
||||
syn keyword euphoria4Builtin print printf puts rand remainder remove repeat
|
||||
syn keyword euphoria4Builtin replace routine_id sequence sin splice sprintf
|
||||
syn keyword euphoria4Builtin sqrt system system_exec tail tan task_clock_start
|
||||
syn keyword euphoria4Builtin task_clock_stop task_create task_list task_schedule
|
||||
syn keyword euphoria4Builtin task_self task_status task_suspend task_yield time
|
||||
syn keyword euphoria4Builtin xor_bits
|
||||
" Builtins (Identifiers) shortcuts for length() and print():
|
||||
syn match euphoria4Builtin "\$"
|
||||
syn match euphoria4Builtin "?"
|
||||
|
||||
" Library Identifiers (Function) - grep from $EUDIR/include/*:
|
||||
syn keyword euphoria4Library DEP_on SyntaxColor abbreviate_path abs absolute_path
|
||||
syn keyword euphoria4Library accept add add_item all_copyrights all_matches
|
||||
syn keyword euphoria4Library allocate allocate_code allocate_data allocate_low
|
||||
syn keyword euphoria4Library allocate_pointer_array allocate_protect
|
||||
syn keyword euphoria4Library allocate_string allocate_string_pointer_array
|
||||
syn keyword euphoria4Library allocate_wstring allocations allow_break any_key
|
||||
syn keyword euphoria4Library append_lines apply approx arccos arccosh arcsin
|
||||
syn keyword euphoria4Library arcsinh arctanh assert at atan2 atom_to_float32
|
||||
syn keyword euphoria4Library atom_to_float64 attr_to_colors avedev average
|
||||
syn keyword euphoria4Library begins binary_search bind binop_ok bits_to_int
|
||||
syn keyword euphoria4Library bk_color breakup build_commandline build_list
|
||||
syn keyword euphoria4Library bytes_to_int calc_hash calc_primes call_back
|
||||
syn keyword euphoria4Library canon2win canonical canonical_path ceil
|
||||
syn keyword euphoria4Library central_moment chance char_test chdir
|
||||
syn keyword euphoria4Library check_all_blocks check_break check_free_list
|
||||
syn keyword euphoria4Library checksum clear clear_directory cmd_parse
|
||||
syn keyword euphoria4Library colors_to_attr columnize combine connect
|
||||
syn keyword euphoria4Library console_colors copy copy_file cosh count crash
|
||||
syn keyword euphoria4Library crash_file crash_message crash_routine create
|
||||
syn keyword euphoria4Library create_directory create_file curdir current_dir
|
||||
syn keyword euphoria4Library cursor custom_sort datetime days_in_month
|
||||
syn keyword euphoria4Library days_in_year db_cache_clear db_clear_table db_close
|
||||
syn keyword euphoria4Library db_compress db_connect db_create db_create_table
|
||||
syn keyword euphoria4Library db_current db_current_table db_delete_record
|
||||
syn keyword euphoria4Library db_delete_table db_dump db_fetch_record db_find_key
|
||||
syn keyword euphoria4Library db_get_errors db_get_recid db_insert db_open
|
||||
syn keyword euphoria4Library db_record_data db_record_key db_record_recid
|
||||
syn keyword euphoria4Library db_rename_table db_replace_data db_replace_recid
|
||||
syn keyword euphoria4Library db_select db_select_table db_set_caching
|
||||
syn keyword euphoria4Library db_table_list db_table_size deallocate decanonical
|
||||
syn keyword euphoria4Library decode defaulted_value defaultext define_c_func
|
||||
syn keyword euphoria4Library define_c_proc define_c_var deg2rad delete_file
|
||||
syn keyword euphoria4Library dep_works dequote deserialize diff dir dir_size
|
||||
syn keyword euphoria4Library dirname disk_metrics disk_size display
|
||||
syn keyword euphoria4Library display_text_image dnsquery driveid dump dup emovavg
|
||||
syn keyword euphoria4Library encode ends ensure_in_list ensure_in_range
|
||||
syn keyword euphoria4Library error_code error_message error_no error_string
|
||||
syn keyword euphoria4Library error_to_string escape euphoria_copyright exec
|
||||
syn keyword euphoria4Library exp extract fetch fib file_exists file_length
|
||||
syn keyword euphoria4Library file_timestamp file_type filebase fileext filename
|
||||
syn keyword euphoria4Library filter find_all find_all_but find_any find_each
|
||||
syn keyword euphoria4Library find_nested find_replace find_replace_callback
|
||||
syn keyword euphoria4Library find_replace_limit flags_to_string flatten
|
||||
syn keyword euphoria4Library float32_to_atom float64_to_atom flush for_each
|
||||
syn keyword euphoria4Library format frac free free_code free_console free_low
|
||||
syn keyword euphoria4Library free_pointer_array from_date from_unix gcd geomean
|
||||
syn keyword euphoria4Library get get_bytes get_charsets get_def_lang
|
||||
syn keyword euphoria4Library get_display_page get_dstring get_encoding_properties
|
||||
syn keyword euphoria4Library get_integer16 get_integer32 get_lang_path get_lcid
|
||||
syn keyword euphoria4Library get_mouse get_option get_ovector_size get_pid
|
||||
syn keyword euphoria4Library get_position get_rand get_screen_char get_text
|
||||
syn keyword euphoria4Library get_vector getaddrinfo getmxrr getnsrr graphics_mode
|
||||
syn keyword euphoria4Library harmean has has_console has_match hex_text
|
||||
syn keyword euphoria4Library host_by_addr host_by_name http_get http_post iff
|
||||
syn keyword euphoria4Library iif info init_class init_curdir insertion_sort
|
||||
syn keyword euphoria4Library instance int_to_bits int_to_bytes intdiv
|
||||
syn keyword euphoria4Library is_DEP_supported is_empty is_even is_even_obj
|
||||
syn keyword euphoria4Library is_in_list is_in_range is_inetaddr is_leap_year
|
||||
syn keyword euphoria4Library is_match is_using_DEP is_win_nt join join_path
|
||||
syn keyword euphoria4Library keep_comments keep_newlines key_codes keys keyvalues
|
||||
syn keyword euphoria4Library kill kurtosis lang_load larger_of largest last
|
||||
syn keyword euphoria4Library listen load load_map locate_file lock_file
|
||||
syn keyword euphoria4Library lock_memory log10 lookup lower malloc mapping
|
||||
syn keyword euphoria4Library match_all match_any match_replace matches max
|
||||
syn keyword euphoria4Library maybe_any_key median memory_used merge message_box
|
||||
syn keyword euphoria4Library mid min minsize mod mode money mouse_events
|
||||
syn keyword euphoria4Library mouse_pointer movavg move_file nested_get
|
||||
syn keyword euphoria4Library nested_put new new_extra new_from_kvpairs
|
||||
syn keyword euphoria4Library new_from_string new_time next_prime now now_gmt
|
||||
syn keyword euphoria4Library number open_dll optimize option_spec_to_string
|
||||
syn keyword euphoria4Library or_all pad_head pad_tail pairs parse
|
||||
syn keyword euphoria4Library parse_commandline parse_ip_address parse_querystring
|
||||
syn keyword euphoria4Library parse_url patch pathinfo pathname pcre_copyright
|
||||
syn keyword euphoria4Library peek_end peek_top peek_wstring pivot platform_name
|
||||
syn keyword euphoria4Library poke_string poke_wstring pop powof2 prepare_block
|
||||
syn keyword euphoria4Library pretty_print pretty_sprint prime_list process_lines
|
||||
syn keyword euphoria4Library product project prompt_number prompt_string proper
|
||||
syn keyword euphoria4Library push put put_integer16 put_integer32 put_screen_char
|
||||
syn keyword euphoria4Library quote rad2deg rand_range range raw_frequency read
|
||||
syn keyword euphoria4Library read_bitmap read_file read_lines receive receive_from
|
||||
syn keyword euphoria4Library register_block rehash remove_all remove_directory
|
||||
syn keyword euphoria4Library remove_dups remove_item remove_subseq rename_file
|
||||
syn keyword euphoria4Library repeat_pattern reset retain_all reverse rfind rmatch
|
||||
syn keyword euphoria4Library rnd rnd_1 roll rotate rotate_bits round safe_address
|
||||
syn keyword euphoria4Library sample save_bitmap save_map save_text_image scroll
|
||||
syn keyword euphoria4Library seek select send send_to serialize series
|
||||
syn keyword euphoria4Library service_by_name service_by_port set
|
||||
syn keyword euphoria4Library set_accumulate_summary set_charsets set_colors
|
||||
syn keyword euphoria4Library set_decimal_mark set_def_lang set_default_charsets
|
||||
syn keyword euphoria4Library set_encoding_properties set_keycodes set_lang_path
|
||||
syn keyword euphoria4Library set_option set_rand set_test_abort set_test_verbosity
|
||||
syn keyword euphoria4Library set_vector set_wait_on_summary setenv shift_bits
|
||||
syn keyword euphoria4Library show_block show_help show_tokens shuffle shutdown
|
||||
syn keyword euphoria4Library sign sim_index sinh size skewness sleep slice small
|
||||
syn keyword euphoria4Library smaller_of smallest sort sort_columns sound split
|
||||
syn keyword euphoria4Library split_any split_limit split_path sprint start_time
|
||||
syn keyword euphoria4Library statistics stdev store string_numbers subtract sum
|
||||
syn keyword euphoria4Library sum_central_moments swap tanh task_delay temp_file
|
||||
syn keyword euphoria4Library test_equal test_exec test_fail test_false
|
||||
syn keyword euphoria4Library test_not_equal test_pass test_read test_report
|
||||
syn keyword euphoria4Library test_true test_write text_color text_rows threshold
|
||||
syn keyword euphoria4Library tick_rate to_integer to_number to_string to_unix
|
||||
syn keyword euphoria4Library tokenize_file tokenize_string top transform translate
|
||||
syn keyword euphoria4Library transmute trim trim_head trim_tail trsprintf trunc
|
||||
syn keyword euphoria4Library type_of uname unlock_file unregister_block unsetenv
|
||||
syn keyword euphoria4Library upper use_vesa valid valid_index value values version
|
||||
syn keyword euphoria4Library version_date version_major version_minor version_node
|
||||
syn keyword euphoria4Library version_patch version_revision version_string
|
||||
syn keyword euphoria4Library version_string_long version_string_short version_type
|
||||
syn keyword euphoria4Library video_config vlookup vslice wait_key walk_dir
|
||||
syn keyword euphoria4Library warning_file weeks_day where which_bit wildcard_file
|
||||
syn keyword euphoria4Library wildcard_match wrap write write_file write_lines
|
||||
syn keyword euphoria4Library writef writefln years_day
|
||||
|
||||
" Library Identifiers (Type) - grep from $EUDIR/include/*:
|
||||
syn keyword euphoria4Type ascii_string boolean bordered_address byte_range
|
||||
syn keyword euphoria4Type case_flagset_type color cstring
|
||||
syn keyword euphoria4Type file_number file_position graphics_point
|
||||
syn keyword euphoria4Type integer_array lcid lock_type machine_addr map
|
||||
syn keyword euphoria4Type mixture number_array option_spec
|
||||
syn keyword euphoria4Type page_aligned_address positive_int process regex
|
||||
syn keyword euphoria4Type sequence_array socket stack std_library_address
|
||||
syn keyword euphoria4Type string t_alnum t_alpha t_ascii t_boolean
|
||||
syn keyword euphoria4Type t_bytearray t_cntrl t_consonant t_digit t_display
|
||||
syn keyword euphoria4Type t_graph t_identifier t_lower t_print t_punct
|
||||
syn keyword euphoria4Type t_space t_specword t_text t_upper t_vowel t_xdigit
|
||||
syn keyword euphoria4Type valid_memory_protection_constant valid_wordsize
|
||||
|
||||
" Linux shell comment (#!...):
|
||||
syn match euphoria4Comment "\%^#!.*$"
|
||||
" Single and multilines comments:
|
||||
syn region euphoria4Comment start=/--/ end=/$/
|
||||
syn region euphoria4Comment start="/\*" end="\*/"
|
||||
|
||||
" Delimiters and brackets:
|
||||
syn match euphoria4Delimit "[([\])]"
|
||||
syn match euphoria4Delimit "\.\."
|
||||
syn match euphoria4Delimit ":"
|
||||
syn match euphoria4Operator "[{}]"
|
||||
|
||||
" Character constant:
|
||||
syn region euphoria4Char start=/'/ skip=/\\'\|\\\\/ end=/'/ oneline
|
||||
|
||||
" String constant (""" must be *after* "):
|
||||
syn region euphoria4String start=/"/ skip=/\\"\|\\\\/ end=/"/ oneline
|
||||
syn region euphoria4String start=/b"\|x"/ end=/"/
|
||||
syn region euphoria4String start=/`/ end=/`/
|
||||
syn region euphoria4String start=/"""/ end=/"""/
|
||||
|
||||
" Binary/Octal/Decimal/Hexadecimal integer:
|
||||
syn match euphoria4Number "\<0b[01_]\+\>"
|
||||
syn match euphoria4Number "\<0t[0-7_]\+\>"
|
||||
syn match euphoria4Number "\<0d[0-9_]\+\>"
|
||||
syn match euphoria4Number "\<0x[0-9A-Fa-f_]\+\>"
|
||||
syn match euphoria4Number "#[0-9A-Fa-f_]\+\>"
|
||||
|
||||
" Integer/Floating point without a dot:
|
||||
syn match euphoria4Number "\<\d\+\>"
|
||||
" Floating point with dot:
|
||||
syn match euphoria4Number "\<\d\+\.\d*\>"
|
||||
" Floating point starting with a dot:
|
||||
syn match euphoria4Number "\.\d\+\>"
|
||||
" Boolean constants:
|
||||
syn keyword euphoria4Boolean true TRUE false FALSE
|
||||
|
||||
" Define the default highlighting.
|
||||
" Only used when an item doesn't have highlighting yet:
|
||||
hi def link euphoria4Comment Comment
|
||||
hi def link euphoria4String String
|
||||
hi def link euphoria4Char Character
|
||||
hi def link euphoria4Number Number
|
||||
hi def link euphoria4Boolean Boolean
|
||||
hi def link euphoria4Builtin Identifier
|
||||
hi def link euphoria4Library Function
|
||||
hi def link euphoria4Type Type
|
||||
hi def link euphoria4Keyword Statement
|
||||
hi def link euphoria4Operator Statement
|
||||
hi def link euphoria4Debug Debug
|
||||
hi def link euphoria4Delimit Delimiter
|
||||
hi def link euphoria4PreProc PreProc
|
||||
|
||||
let b:current_syntax = "euphoria4"
|
||||
|
||||
" Restore current compatible-options:
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Vim help file
|
||||
" Maintainer: Bram Moolenaar (Bram@vim.org)
|
||||
" Last Change: 2013 Nov 17
|
||||
" Last Change: 2014 Feb 12
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -40,7 +40,7 @@ endif
|
||||
syn match helpNormal "|.*====*|"
|
||||
syn match helpNormal "|||"
|
||||
syn match helpNormal ":|vim:|" " for :help modeline
|
||||
syn match helpVim "Vim version [0-9.a-z]\+"
|
||||
syn match helpVim "\<Vim version [0-9][0-9.a-z]*"
|
||||
syn match helpVim "VIM REFERENCE.*"
|
||||
syn match helpOption "'[a-z]\{2,\}'"
|
||||
syn match helpOption "'t_..'"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Django HTML template
|
||||
" Maintainer: Dave Hodder <dmh@dmh.org.uk>
|
||||
" Last Change: 2007 Jan 26
|
||||
" Last Change: 2014 Jul 13
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -28,7 +28,7 @@ syn cluster djangoBlocks add=djangoTagBlock,djangoVarBlock,djangoComment,djangoC
|
||||
|
||||
syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument,djangoTagError display containedin=ALLBUT,@djangoBlocks
|
||||
syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument,djangoVarError display containedin=ALLBUT,@djangoBlocks
|
||||
syn region djangoComment start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}" contains=djangoTodo containedin=ALLBUT,@djangoBlocks
|
||||
syn region djangoComment start="{%\s*comment\(\s\+.\{-}\)\?%}" end="{%\s*endcomment\s*%}" contains=djangoTodo containedin=ALLBUT,@djangoBlocks
|
||||
syn region djangoComBlock start="{#" end="#}" contains=djangoTodo containedin=ALLBUT,@djangoBlocks
|
||||
|
||||
let b:current_syntax = "htmldjango"
|
||||
|
||||
@@ -1,45 +1,140 @@
|
||||
" Vim syntax file
|
||||
" Language: J
|
||||
" Maintainer: David Bürgin <676c7473@gmail.com>
|
||||
" Last Change: 2013-10-06
|
||||
" URL: https://github.com/glts/vim-j
|
||||
" Last Change: 2014-05-25
|
||||
|
||||
if exists("b:current_syntax")
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
syntax case match
|
||||
syntax sync minlines=50
|
||||
|
||||
syn match jControl /\<\%(assert\|break\|case\|catch[dt]\=\|continue\|do\|else\%(if\)\=\|end\|fcase\|for\|if\|return\|select\|throw\|try\|whil\%(e\|st\)\)\./
|
||||
syn match jControl /\<\%(for\|goto\|label\)_\a\k*\./
|
||||
syntax cluster jStdlibItems contains=jStdlibNoun,jStdlibAdverb,jStdlibConjunction,jStdlibVerb
|
||||
syntax cluster jPrimitiveItems contains=jNoun,jAdverb,jConjunction,jVerb,jCopula
|
||||
|
||||
syn region jString oneline start=/'/ skip=/''/ end=/'/
|
||||
syntax match jControl /\<\%(assert\|break\|case\|catch[dt]\=\|continue\|do\|else\%(if\)\=\|end\|fcase\|for\|if\|return\|select\|throw\|try\|whil\%(e\|st\)\)\./
|
||||
syntax match jControl /\<\%(for\|goto\|label\)_\a\k*\./
|
||||
|
||||
" Patterns for numbers in general, rational numbers, numbers with explicit
|
||||
" base, infinities, and numbers with extended precision.
|
||||
" Standard library names. A few names need to be defined with ":syntax match"
|
||||
" because they would otherwise take precedence over the corresponding jControl
|
||||
" and jDefineExpression items.
|
||||
syntax keyword jStdlibNoun ARGV BINPATH CR CRLF DEL Debug EAV EMPTY FF FHS IF64 IFIOS IFJCDROID IFJHS IFQT IFRASPI IFUNIX IFWIN IFWINCE IFWINE IFWOW64 JB01 JBOXED JCHAR JCMPX JFL JINT JPTR JSIZES JSTR JTYPES JVERSION LF LF2 TAB UNAME UNXLIB andurl dbhelp libjqt
|
||||
syntax keyword jStdlibAdverb define each every fapplylines inv inverse items leaf rows table
|
||||
syntax keyword jStdlibConjunction bind cuts def on
|
||||
syntax keyword jStdlibVerb AND Endian IFDEF Note OR XOR alpha17 alpha27 anddf android_exec_host andunzip apply boxopen boxxopen bx calendar cd cdcb cder cderx cdf charsub chopstring clear coclass cocreate cocurrent codestroy coerase cofind cofindv cofullname coinfo coinsert coname conames conew conl conouns conounsx copath copathnl copathnlx coreset costate cut cutLF cutopen cutpara datatype dbctx dberm dberr dbg dbjmp dblocals dblxq dblxs dbnxt dbq dbr dbret dbrr dbrrx dbrun dbs dbsig dbsq dbss dbst dbstack dbstk dbstop dbstopme dbstopnext dbstops dbtrace dbview deb debc delstring detab dfh dir dircompare dircompares dirfind dirpath dirss dirssrplc dirtree dirused dlb dltb dltbs dquote drop dropafter dropto dtb dtbs echo empty endian erase evtloop exit expand f2utf8 fappend fappends fboxname fc fcopynew fdir ferase fetch fexist fexists fgets file2url fixdotdot fliprgb fmakex foldpara foldtext fpathcreate fpathname fputs fread freadblock freadr freads frename freplace fsize fss fssrplc fstamp fstringreplace ftype fview fwrite fwritenew fwrites getargs getdate getenv getqtbin hfd hostpathsep ic install iospath isatty isotimestamp isutf8 jcwdpath joinstring jpathsep jsystemdefs list ljust load loadd mema memf memr memw nameclass namelist names nc nl pick quote require rjust rplc script scriptd setbreak show sign sminfo smoutput sort split splitnostring splitstring ss startupandroid startupconsole startupide stderr stdin stdout stringreplace symdat symget symset take takeafter taketo timespacex timestamp timex tmoutput toCRLF toHOST toJ todate todayno tolower topara toupper tsdiff tsrep tstamp type ucp ucpcount unxlib usleep utf8 uucp valdate wcsize weekday weeknumber weeksinyear winpathsep
|
||||
syntax match jStdlibNoun /\<\%(adverb\|conjunction\|dyad\|monad\|noun\|verb\)\>/
|
||||
syntax match jStdlibVerb /\<\%(assert\|break\|do\)\>\.\@!/
|
||||
|
||||
" Numbers. Matching J numbers is difficult. The regular expression used for
|
||||
" the general case roughly embodies this grammar sketch:
|
||||
"
|
||||
" Matching J numbers is difficult. The regular expression used for the general
|
||||
" case roughly embodies this grammar sketch:
|
||||
" BASE := /_?\d+(\.\d*)?([eE]_?\d+)?/
|
||||
" RATIONAL := BASE | BASE r BASE
|
||||
" COMPLEX := BASE | BASE (j|a[dr]) BASE
|
||||
" JNUMBER := RATIONAL | RATIONAL [px] RATIONAL | COMPLEX | COMPLEX [px] COMPLEX
|
||||
"
|
||||
" EXP := /_?\d+(\.\d*)?([eE]_?\d+)?/
|
||||
" COMP := EXP | EXP (j|a[dr]) EXP
|
||||
" PIEU := COMP | COMP [px] COMP
|
||||
" The grammar is implemented as shown in this pseudo-regexp:
|
||||
"
|
||||
" For the rest, a compromise between correctness and practicality was made.
|
||||
" See http://www.jsoftware.com/help/dictionary/dcons.htm for reference.
|
||||
syn match jNumber /\<_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\%(\%(j\|a[dr]\)_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\)\=\%([px]_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\%(\%(j\|a[dr]\)_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\)\=\)\=/
|
||||
syn match jNumber /\<_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=r_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=/
|
||||
syn match jNumber /\<_\=\d\+\%([eE]\d\+\)\=b_\=[0-9a-z]\+/
|
||||
syn match jNumber /\<__\=\>/
|
||||
syn match jNumber /\<_\=\d\+x\>/
|
||||
" base rational complex remainder
|
||||
" /\< B ( [r]B ([px]B([r]B)?)? | (j|a[dr])B ([px]B((j|a[dr])B)?)? | [px]B ((j|a[dr]|r)B)? )?/
|
||||
"
|
||||
" All in all, a compromise between correctness and practicality had to be
|
||||
" made. See http://www.jsoftware.com/help/dictionary/dcons.htm for reference.
|
||||
syntax match jNumber /\<_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\%(\%(r_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\%([px]_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\%(r_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\)\=\)\=\)\|\%(\%(j\|a[dr]\)_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\%([px]_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\%(\%(j\|a[dr]\)_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\)\=\)\=\)\|\%([px]_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\%(\%(j\|a[dr]\|r\)_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\)\=\)\)\=/
|
||||
syntax match jNumber /\<_\=\d\+\%([eE]\d\+\)\=b_\=[0-9a-z]\+\%(\.[0-9a-z]\+\)\=/
|
||||
syntax match jNumber /\<__\=\>/
|
||||
syntax match jNumber /\<_\./
|
||||
syntax match jNumber /\<_\=\d\+x\>/
|
||||
|
||||
syn match jComment /NB\..*$/ contains=jTodo,@Spell
|
||||
syn keyword jTodo TODO FIXME XXX contained
|
||||
syntax region jString oneline start=/'/ skip=/''/ end=/'/
|
||||
|
||||
hi def link jControl Statement
|
||||
hi def link jString String
|
||||
hi def link jNumber Number
|
||||
hi def link jComment Comment
|
||||
hi def link jTodo Todo
|
||||
syntax keyword jArgument contained x y u v m n
|
||||
|
||||
let b:current_syntax = "j"
|
||||
" Primitives. Order is significant both within the patterns and among
|
||||
" ":syntax match" statements. Refer to "Parts of speech" in the J dictionary.
|
||||
syntax match jNoun /\<a[.:]/
|
||||
syntax match jAdverb /[}~]\|[/\\]\.\=\|\<\%([Mbft]\.\|t:\)/
|
||||
syntax match jConjunction /"\|`:\=\|[.:@&][.:]\=\|&\.:\|\<\%([dDHT]\.\|[DLS]:\)/
|
||||
syntax match jVerb /[=!\]]\|[\^?]\.\=\|[;[]:\=\|{\.\|[_/\\]:\|[<>+*\-%$|,#][.:]\=\|[~}"][.:]\|{\%[::]\|\<\%([ACeEiIjLor]\.\|p\.\.\=\|[ipqsux]:\|0:\|_\=[1-9]:\)/
|
||||
syntax match jCopula /=[.:]/
|
||||
syntax match jConjunction /;\.\|\^:\|![.:]/
|
||||
|
||||
" Explicit noun definition. The difficulty is that the define expression can
|
||||
" occur in the middle of a line but the jNounDefine region must only start on
|
||||
" the next line. The trick is to split the problem into two regions and link
|
||||
" them with "nextgroup=". The fold wrapper provides syntax folding.
|
||||
syntax region jNounDefineFold
|
||||
\ matchgroup=NONE start=/\<\%(\%(0\|noun\)\s\+\%(\:\s*0\|def\s\+0\|define\)\>\)\@=/
|
||||
\ keepend matchgroup=NONE end=/^\s*)\s*$/
|
||||
\ contains=jNounDefineStart
|
||||
\ fold
|
||||
syntax region jNounDefineStart
|
||||
\ matchgroup=jDefineExpression start=/\<\%(0\|noun\)\s\+\%(\:\s*0\|def\s\+0\|define\)\>/
|
||||
\ keepend matchgroup=NONE end=/$/
|
||||
\ contains=@jStdlibItems,@jPrimitiveItems,jNumber,jString,jParenGroup,jParen,jComment
|
||||
\ contained oneline skipempty nextgroup=jDefineEnd,jNounDefine
|
||||
" These two items must have "contained", which allows them to match only after
|
||||
" jNounDefineStart thanks to the "nextgroup=" above.
|
||||
syntax region jNounDefine
|
||||
\ matchgroup=NONE start=/^/
|
||||
\ matchgroup=jDefineEnd end=/^\s*)\s*$/
|
||||
\ contained
|
||||
" This match is necessary in case of an empty noun definition
|
||||
syntax match jDefineEnd contained /^\s*)\s*$/
|
||||
|
||||
" Explicit verb, adverb, and conjunction definition
|
||||
syntax region jDefine
|
||||
\ matchgroup=jDefineExpression start=/\<\%([1-4]\|13\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\>/
|
||||
\ matchgroup=jDefineEnd end=/^\s*)\s*$/
|
||||
\ contains=jControl,@jStdlibItems,@jPrimitiveItems,jNumber,jString,jArgument,jParenGroup,jParen,jComment,jDefineMonadDyad
|
||||
\ fold
|
||||
syntax match jDefineMonadDyad contained /^\s*:\s*$/
|
||||
|
||||
" Paired parentheses. When a jDefineExpression such as "3 : 0" is
|
||||
" parenthesised it will erroneously extend jParenGroup to span over the whole
|
||||
" definition body. This situation receives a special treatment here.
|
||||
syntax match jParen /(\%(\s*\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\s*)\)\@=/
|
||||
syntax match jParen contained /\%((\s*\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\s*\)\@<=)/
|
||||
syntax region jParenGroup
|
||||
\ matchgroup=jParen start=/(\%(\s*\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\>\)\@!/
|
||||
\ matchgroup=jParen end=/)/
|
||||
\ oneline transparent
|
||||
|
||||
syntax keyword jTodo contained TODO FIXME XXX
|
||||
syntax match jComment /NB\..*$/ contains=jTodo,@Spell
|
||||
|
||||
syntax match jSharpBang /\%^#!.*$/
|
||||
|
||||
highlight default link jControl Statement
|
||||
highlight default link jStdlibNoun Identifier
|
||||
highlight default link jStdlibAdverb Function
|
||||
highlight default link jStdlibConjunction Function
|
||||
highlight default link jStdlibVerb Function
|
||||
highlight default link jString String
|
||||
highlight default link jNumber Number
|
||||
highlight default link jNoun Constant
|
||||
highlight default link jAdverb Normal
|
||||
highlight default link jConjunction Normal
|
||||
highlight default link jVerb Normal
|
||||
highlight default link jCopula Normal
|
||||
highlight default link jArgument Identifier
|
||||
highlight default link jParen Delimiter
|
||||
|
||||
highlight default link jDefineExpression Define
|
||||
highlight default link jDefineMonadDyad Delimiter
|
||||
highlight default link jDefineEnd Delimiter
|
||||
highlight default link jNounDefine Normal
|
||||
|
||||
highlight default link jTodo Todo
|
||||
highlight default link jComment Comment
|
||||
highlight default link jSharpBang PreProc
|
||||
|
||||
let b:current_syntax = 'j'
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user