mirror of
https://github.com/zoriya/vim.git
synced 2025-12-28 09:58:17 +00:00
Compare commits
148 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a03dbed9e9 | ||
|
|
307d10a2fb | ||
|
|
35b2386a8e | ||
|
|
c96ebe75e5 | ||
|
|
2a0f3d3fb2 | ||
|
|
0b9aecc3a5 | ||
|
|
673af4d304 | ||
|
|
2eec59e30b | ||
|
|
f878bf0da2 | ||
|
|
e6ae6225b4 | ||
|
|
774267bbb9 | ||
|
|
a7b64ce74e | ||
|
|
cac867ad18 | ||
|
|
1dc28783fa | ||
|
|
182dc4f2ab | ||
|
|
e64faa6645 | ||
|
|
d6e391862c | ||
|
|
b52f4c02e6 | ||
|
|
b09d983c78 | ||
|
|
12e4014092 | ||
|
|
66e83d7db0 | ||
|
|
d2470e9fbe | ||
|
|
d7a06b1d71 | ||
|
|
8dd7901a66 | ||
|
|
9bad29decf | ||
|
|
080504921d | ||
|
|
0fabe3fdbe | ||
|
|
09ea9fcf3f | ||
|
|
745fc029ba | ||
|
|
e3c7b86aab | ||
|
|
7fcff1f781 | ||
|
|
ca12d7c004 | ||
|
|
053bb60f44 | ||
|
|
bc0ea8f75e | ||
|
|
10f3a79e89 | ||
|
|
ba40447ab1 | ||
|
|
097c992c46 | ||
|
|
884f6e44e0 | ||
|
|
fbc0d2ea1e | ||
|
|
6fa41fb374 | ||
|
|
7533fddd09 | ||
|
|
9e74e30b5f | ||
|
|
ad3b366c82 | ||
|
|
d620aa9be4 | ||
|
|
cfef5ff23e | ||
|
|
cabf80ff2f | ||
|
|
105bc355a6 | ||
|
|
55b8ad3dab | ||
|
|
c24c1acd82 | ||
|
|
07729b25bf | ||
|
|
54e8f00581 | ||
|
|
2cd7362e30 | ||
|
|
3dab2806fe | ||
|
|
71700b8903 | ||
|
|
a4720019cf | ||
|
|
b983f75d22 | ||
|
|
d5f729cada | ||
|
|
e761459eb6 | ||
|
|
8661b17843 | ||
|
|
4d188da22b | ||
|
|
5e538ecd5e | ||
|
|
03db85b398 | ||
|
|
b6c589a529 | ||
|
|
46a7561f3a | ||
|
|
dfa38d4e45 | ||
|
|
29607acff6 | ||
|
|
bd80f35bc5 | ||
|
|
8f1723de47 | ||
|
|
3d0c52db9c | ||
|
|
4e5dfb5700 | ||
|
|
99add41656 | ||
|
|
6d21645f46 | ||
|
|
971db46799 | ||
|
|
3b9abb6cc2 | ||
|
|
76a86063ca | ||
|
|
82e803b055 | ||
|
|
99685e6a7e | ||
|
|
6800186a03 | ||
|
|
09bb33dde9 | ||
|
|
290424868d | ||
|
|
51ac8a27e5 | ||
|
|
161fb5e302 | ||
|
|
531da5955e | ||
|
|
229f8dbf7a | ||
|
|
49e649fc2e | ||
|
|
84a05acc8c | ||
|
|
84e0f6ca9a | ||
|
|
d1864597a0 | ||
|
|
8fadd8b840 | ||
|
|
29f49ee8d7 | ||
|
|
4e0d974645 | ||
|
|
02938a970c | ||
|
|
ff0341946e | ||
|
|
7afea82f50 | ||
|
|
811fe63f39 | ||
|
|
567199b68f | ||
|
|
e8d9530b0e | ||
|
|
2ab0713279 | ||
|
|
f687cf3f36 | ||
|
|
ec38d6932c | ||
|
|
230bb3f09d | ||
|
|
335e0b6974 | ||
|
|
4d1da49cfe | ||
|
|
7a26dd860a | ||
|
|
af6abb9d93 | ||
|
|
3f99152276 | ||
|
|
b70a473e24 | ||
|
|
3bb28557e1 | ||
|
|
a8565fecc6 | ||
|
|
4c7e9db0d6 | ||
|
|
687a29c5e2 | ||
|
|
f6dcbb245b | ||
|
|
f8de161090 | ||
|
|
54c34fa6f5 | ||
|
|
768baacdc8 | ||
|
|
b376647bb1 | ||
|
|
332ac0621c | ||
|
|
84b0493c34 | ||
|
|
429fa85392 | ||
|
|
07219f911c | ||
|
|
6f852a557d | ||
|
|
7311c6932c | ||
|
|
0bcdd6e709 | ||
|
|
0187ca0bdf | ||
|
|
38ec50bea8 | ||
|
|
e3e6e573d1 | ||
|
|
8185111125 | ||
|
|
644cf03b7e | ||
|
|
126bdeeabe | ||
|
|
2a66a07b29 | ||
|
|
25a6df90df | ||
|
|
bf88493c09 | ||
|
|
68879258d9 | ||
|
|
24b11fb173 | ||
|
|
b3049f4a34 | ||
|
|
d7fbfe107d | ||
|
|
91fc43d3f9 | ||
|
|
7bcb30e913 | ||
|
|
cdffbeae2b | ||
|
|
95a5135118 | ||
|
|
d0e2d94589 | ||
|
|
c2c355df6f | ||
|
|
71afbfe6cd | ||
|
|
db333a5b8d | ||
|
|
af62ff3696 | ||
|
|
0c279bbb9c | ||
|
|
b59494cab1 | ||
|
|
186628f671 |
1
Filelist
1
Filelist
@@ -57,6 +57,7 @@ SRC_ALL = \
|
||||
src/popupmnu.c \
|
||||
src/quickfix.c \
|
||||
src/regexp.c \
|
||||
src/regexp_nfa.c \
|
||||
src/regexp.h \
|
||||
src/screen.c \
|
||||
src/search.c \
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" ---------------------------------------------------------------------
|
||||
" getscript.vim
|
||||
" Author: Charles E. Campbell, Jr.
|
||||
" Date: Jan 17, 2012
|
||||
" Version: 34
|
||||
" Author: Charles E. Campbell
|
||||
" Date: Apr 17, 2013
|
||||
" Version: 35
|
||||
" Installing: :help glvs-install
|
||||
" Usage: :help glvs
|
||||
"
|
||||
@@ -15,7 +15,7 @@
|
||||
if exists("g:loaded_getscript")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_getscript= "v34"
|
||||
let g:loaded_getscript= "v35"
|
||||
if &cp
|
||||
echoerr "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)"
|
||||
finish
|
||||
@@ -74,6 +74,11 @@ if !exists("g:GetLatestVimScripts_allowautoinstall")
|
||||
let g:GetLatestVimScripts_allowautoinstall= 1
|
||||
endif
|
||||
|
||||
" set up default scriptaddr address
|
||||
if !exists("g:GetLatestVimScripts_scriptaddr")
|
||||
let g:GetLatestVimScripts_scriptaddr = 'http://vim.sourceforge.net/script.php?script_id='
|
||||
endif
|
||||
|
||||
"" For debugging:
|
||||
"let g:GetLatestVimScripts_wget = "echo"
|
||||
"let g:GetLatestVimScripts_options = "options"
|
||||
@@ -314,7 +319,7 @@ fun! getscript#GetLatestVimScripts()
|
||||
if &mod
|
||||
silent! w!
|
||||
endif
|
||||
q
|
||||
q!
|
||||
|
||||
" restore events and current directory
|
||||
exe "cd ".fnameescape(substitute(origdir,'\','/','ge'))
|
||||
@@ -415,7 +420,7 @@ fun! s:GetOneScript(...)
|
||||
echo 'considering <'.aicmmnt.'> scriptid='.scriptid.' srcid='.srcid
|
||||
|
||||
" grab a copy of the plugin's vim.sourceforge.net webpage
|
||||
let scriptaddr = 'http://vim.sourceforge.net/script.php?script_id='.scriptid
|
||||
let scriptaddr = g:GetLatestVimScripts_scriptaddr.scriptid
|
||||
let tmpfile = tempname()
|
||||
let v:errmsg = ""
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,9 @@
|
||||
" netrwFileHandlers: contains various extension-based file handlers for
|
||||
" netrw's browsers' x command ("eXecute launcher")
|
||||
" Author: Charles E. Campbell, Jr.
|
||||
" Date: Mar 14, 2012
|
||||
" Version: 11a
|
||||
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell, Jr. {{{1
|
||||
" Author: Charles E. Campbell
|
||||
" Date: May 03, 2013
|
||||
" Version: 11b ASTRO-ONLY
|
||||
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
" notice is copied with it. Like anything else that's free,
|
||||
@@ -20,7 +20,7 @@
|
||||
if exists("g:loaded_netrwFileHandlers") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwFileHandlers= "v11a"
|
||||
let g:loaded_netrwFileHandlers= "v11b"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of netrwFileHandlers needs vim 7.2"
|
||||
@@ -34,10 +34,10 @@ set cpo&vim
|
||||
" netrwFileHandlers#Invoke: {{{1
|
||||
fun! netrwFileHandlers#Invoke(exten,fname)
|
||||
" call Dfunc("netrwFileHandlers#Invoke(exten<".a:exten."> fname<".a:fname.">)")
|
||||
let fname= a:fname
|
||||
let exten= a:exten
|
||||
" list of supported special characters. Consider rcs,v --- that can be
|
||||
" supported with a NFH_rcsCOMMAv() handler
|
||||
if a:fname =~ '[@:,$!=\-+%?;~]'
|
||||
if exten =~ '[@:,$!=\-+%?;~]'
|
||||
let specials= {
|
||||
\ '@' : 'AT',
|
||||
\ ':' : 'COLON',
|
||||
@@ -51,18 +51,18 @@ fun! netrwFileHandlers#Invoke(exten,fname)
|
||||
\ '?' : 'QUESTION',
|
||||
\ ';' : 'SEMICOLON',
|
||||
\ '~' : 'TILDE'}
|
||||
let fname= substitute(a:fname,'[@:,$!=\-+%?;~]','\=specials[submatch(0)]','ge')
|
||||
let exten= substitute(a:exten,'[@:,$!=\-+%?;~]','\=specials[submatch(0)]','ge')
|
||||
" call Decho('fname<'.fname.'> done with dictionary')
|
||||
endif
|
||||
|
||||
if a:exten != "" && exists("*NFH_".a:exten)
|
||||
if a:exten != "" && exists("*NFH_".exten)
|
||||
" support user NFH_*() functions
|
||||
" call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")')
|
||||
exe "let ret= NFH_".a:exten.'("'.fname.'")'
|
||||
elseif a:exten != "" && exists("*s:NFH_".a:exten)
|
||||
exe "let ret= NFH_".exten.'("'.a:fname.'")'
|
||||
elseif a:exten != "" && exists("*s:NFH_".exten)
|
||||
" use builtin-NFH_*() functions
|
||||
" call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")')
|
||||
exe "let ret= s:NFH_".a:exten.'("'.fname.'")'
|
||||
exe "let ret= s:NFH_".a:exten.'("'.a:fname.'")'
|
||||
endif
|
||||
|
||||
" call Dret("netrwFileHandlers#Invoke 0 : ret=".ret)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" netrwSettings.vim: makes netrw settings simpler
|
||||
" Date: Sep 03, 2008
|
||||
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
|
||||
" Version: 13
|
||||
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell, Jr. {{{1
|
||||
" Date: May 03, 2013
|
||||
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
|
||||
" Version: 14a ASTRO-ONLY
|
||||
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
" notice is copied with it. Like anything else that's free,
|
||||
@@ -19,7 +19,7 @@
|
||||
if exists("g:loaded_netrwSettings") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwSettings = "v13"
|
||||
let g:loaded_netrwSettings = "v14a"
|
||||
if v:version < 700
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of netrwSettings needs vim 7.0"
|
||||
@@ -63,7 +63,7 @@ fun! netrwSettings#NetrwSettings()
|
||||
endif
|
||||
|
||||
put ='+ ---------------------------------------------'
|
||||
put ='+ NetrwSettings: by Charles E. Campbell, Jr.'
|
||||
put ='+ NetrwSettings: by Charles E. Campbell'
|
||||
put ='+ Press <F1> with cursor atop any line for help'
|
||||
put ='+ ---------------------------------------------'
|
||||
let s:netrw_settings_stop= line(".")
|
||||
@@ -88,6 +88,7 @@ fun! netrwSettings#NetrwSettings()
|
||||
put = 'let g:netrw_ftpmode = '.g:netrw_ftpmode
|
||||
put = 'let g:netrw_ignorenetrc = '.g:netrw_ignorenetrc
|
||||
put = 'let g:netrw_sshport = '.g:netrw_sshport
|
||||
put = 'let g:netrw_silent = '.g:netrw_silent
|
||||
put = 'let g:netrw_use_nt_rcp = '.g:netrw_use_nt_rcp
|
||||
put = 'let g:netrw_win95ftp = '.g:netrw_win95ftp
|
||||
let s:netrw_xfer_stop= line(".")
|
||||
@@ -99,27 +100,50 @@ fun! netrwSettings#NetrwSettings()
|
||||
put ='+ Netrw Browser Control'
|
||||
put = 'let g:netrw_alto = '.g:netrw_alto
|
||||
put = 'let g:netrw_altv = '.g:netrw_altv
|
||||
put = 'let g:netrw_banner = '.g:netrw_banner
|
||||
if exists("g:netrw_bannerbackslash")
|
||||
put = 'let g:netrw_bannerbackslash = '.g:netrw_bannerbackslash
|
||||
else
|
||||
put = '\" let g:netrw_bannerbackslash = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_browse_split = '.g:netrw_browse_split
|
||||
if exists("g:netrw_browsex_viewer")
|
||||
put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer
|
||||
put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer
|
||||
else
|
||||
put = 'let g:netrw_browsex_viewer = (not defined)'
|
||||
put = '\" let g:netrw_browsex_viewer = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_compress = '.g:netrw_compress
|
||||
if exists("g:Netrw_corehandler")
|
||||
put = 'let g:Netrw_corehandler = '.g:Netrw_corehandler
|
||||
else
|
||||
put = '\" let g:Netrw_corehandler = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_ctags = '.g:netrw_ctags
|
||||
put = 'let g:netrw_cursor = '.g:netrw_cursor
|
||||
let decompressline= line("$")
|
||||
put ='let g:netrw_decompress...'
|
||||
put = 'let g:netrw_decompress = '.string(g:netrw_decompress)
|
||||
if exists("g:netrw_dynamic_maxfilenamelen")
|
||||
put = 'let g:netrw_dynamic_maxfilenamelen='.g:netrw_dynamic_maxfilenamelen
|
||||
else
|
||||
put = '\" let g:netrw_dynamic_maxfilenamelen= (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
|
||||
put = 'let g:netrw_errorlvl = '.g:netrw_errorlvl
|
||||
put = 'let g:netrw_fastbrowse = '.g:netrw_fastbrowse
|
||||
let fnameescline= line("$")
|
||||
put = 'let g:netrw_fname_escape...'
|
||||
put = 'let g:netrw_fname_escape = '.string(g:netrw_fname_escape)
|
||||
put = 'let g:netrw_ftp_browse_reject = '.g:netrw_ftp_browse_reject
|
||||
put = 'let g:netrw_ftp_list_cmd = '.g:netrw_ftp_list_cmd
|
||||
put = 'let g:netrw_ftp_sizelist_cmd = '.g:netrw_ftp_sizelist_cmd
|
||||
put = 'let g:netrw_ftp_timelist_cmd = '.g:netrw_ftp_timelist_cmd
|
||||
let globescline= line("$")
|
||||
put ='let g:netrw_glob_escape...'
|
||||
put = 'let g:netrw_glob_escape = '.string(g:netrw_glob_escape)
|
||||
put = 'let g:netrw_hide = '.g:netrw_hide
|
||||
if exists("g:netrw_home")
|
||||
put = 'let g:netrw_home = '.g:netrw_home
|
||||
else
|
||||
put = '\" let g:netrw_home = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_keepdir = '.g:netrw_keepdir
|
||||
put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd
|
||||
put = 'let g:netrw_list_hide = '.g:netrw_list_hide
|
||||
@@ -127,23 +151,30 @@ fun! netrwSettings#NetrwSettings()
|
||||
put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
|
||||
put = 'let g:netrw_localmkdir = '.g:netrw_localmkdir
|
||||
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
|
||||
put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
|
||||
put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
|
||||
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
|
||||
put = 'let g:netrw_menu = '.g:netrw_menu
|
||||
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps
|
||||
put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd
|
||||
if exists("g:netrw_nobeval")
|
||||
put = 'let g:netrw_nobeval = '.g:netrw_nobeval
|
||||
else
|
||||
put = '\" let g:netrw_nobeval = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_remote_mkdir = '.g:netrw_remote_mkdir
|
||||
put = 'let g:netrw_preview = '.g:netrw_preview
|
||||
put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd
|
||||
put = 'let g:netrw_retmap = '.g:netrw_retmap
|
||||
put = 'let g:netrw_rm_cmd = '.g:netrw_rm_cmd
|
||||
put = 'let g:netrw_rmdir_cmd = '.g:netrw_rmdir_cmd
|
||||
put = 'let g:netrw_rmf_cmd = '.g:netrw_rmf_cmd
|
||||
put = 'let g:netrw_silent = '.g:netrw_silent
|
||||
put = 'let g:netrw_sort_by = '.g:netrw_sort_by
|
||||
put = 'let g:netrw_sort_direction = '.g:netrw_sort_direction
|
||||
put = 'let g:netrw_sort_options = '.g:netrw_sort_options
|
||||
put = 'let g:netrw_sort_sequence = '.g:netrw_sort_sequence
|
||||
put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax
|
||||
put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
|
||||
put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd
|
||||
put = 'let g:netrw_scpport = '.g:netrw_scpport
|
||||
put = 'let g:netrw_sepchr = '.g:netrw_sepchr
|
||||
put = 'let g:netrw_sshport = '.g:netrw_sshport
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim OMNI completion script for SQL
|
||||
" Language: SQL
|
||||
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
||||
" Version: 14.0
|
||||
" Last Change: 2012 Dec 04
|
||||
" Version: 15.0
|
||||
" Last Change: 2013 May 13
|
||||
" Homepage: http://www.vim.org/scripts/script.php?script_id=1572
|
||||
" Usage: For detailed help
|
||||
" ":help sql.txt"
|
||||
@@ -11,6 +11,18 @@
|
||||
|
||||
" History
|
||||
"
|
||||
" TODO
|
||||
" - Jonas Enberg - if no table is found when using column completion
|
||||
" look backwards to a FROM clause and find the first table
|
||||
" and complete it.
|
||||
"
|
||||
" Version 15.0 (May 2013)
|
||||
" - NF: Changed the SQL precached syntax items, omni_sql_precache_syntax_groups,
|
||||
" to use regular expressions to pick up extended syntax group names.
|
||||
" This requires an updated SyntaxComplete plugin version 13.0.
|
||||
" If the required versions have not been installed, previous
|
||||
" behaviour will not be impacted.
|
||||
"
|
||||
" Version 14.0 (Dec 2012)
|
||||
" - BF: Added check for cpo
|
||||
"
|
||||
@@ -91,7 +103,7 @@ endif
|
||||
if exists('g:loaded_sql_completion')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_sql_completion = 130
|
||||
let g:loaded_sql_completion = 150
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
@@ -110,12 +122,14 @@ let s:syn_value = []
|
||||
" Used in conjunction with the syntaxcomplete plugin
|
||||
let s:save_inc = ""
|
||||
let s:save_exc = ""
|
||||
if exists('g:omni_syntax_group_include_sql')
|
||||
let s:save_inc = g:omni_syntax_group_include_sql
|
||||
if !exists('g:omni_syntax_group_include_sql')
|
||||
let g:omni_syntax_group_include_sql = ''
|
||||
endif
|
||||
if exists('g:omni_syntax_group_exclude_sql')
|
||||
let s:save_exc = g:omni_syntax_group_exclude_sql
|
||||
if !exists('g:omni_syntax_group_exclude_sql')
|
||||
let g:omni_syntax_group_exclude_sql = ''
|
||||
endif
|
||||
let s:save_inc = g:omni_syntax_group_include_sql
|
||||
let s:save_exc = g:omni_syntax_group_exclude_sql
|
||||
|
||||
" Used with the column list
|
||||
let s:save_prev_table = ""
|
||||
@@ -127,12 +141,12 @@ endif
|
||||
" Default syntax items to precache
|
||||
if !exists('g:omni_sql_precache_syntax_groups')
|
||||
let g:omni_sql_precache_syntax_groups = [
|
||||
\ 'syntax',
|
||||
\ 'sqlKeyword',
|
||||
\ 'sqlFunction',
|
||||
\ 'sqlOption',
|
||||
\ 'sqlType',
|
||||
\ 'sqlStatement'
|
||||
\ 'syntax\w*',
|
||||
\ 'sqlKeyword\w*',
|
||||
\ 'sqlFunction\w*',
|
||||
\ 'sqlOption\w*',
|
||||
\ 'sqlType\w*',
|
||||
\ 'sqlStatement\w*'
|
||||
\ ]
|
||||
endif
|
||||
" Set ignorecase to the ftplugin standard
|
||||
@@ -621,19 +635,23 @@ function! s:SQLCGetSyntaxList(syn_group)
|
||||
" Return previously cached value
|
||||
let compl_list = s:syn_value[list_idx]
|
||||
else
|
||||
let s:save_inc = g:omni_syntax_group_include_sql
|
||||
let s:save_exc = g:omni_syntax_group_exclude_sql
|
||||
let g:omni_syntax_group_include_sql = ''
|
||||
let g:omni_syntax_group_exclude_sql = ''
|
||||
|
||||
" Request the syntax list items from the
|
||||
" syntax completion plugin
|
||||
if syn_group == 'syntax'
|
||||
" Handle this special case. This allows the user
|
||||
" to indicate they want all the syntax items available,
|
||||
" so do not specify a specific include list.
|
||||
let g:omni_syntax_group_include_sql = ''
|
||||
let syn_value = syntaxcomplete#OmniSyntaxList()
|
||||
else
|
||||
" The user has specified a specific syntax group
|
||||
let g:omni_syntax_group_include_sql = syn_group
|
||||
let syn_value = syntaxcomplete#OmniSyntaxList(syn_group)
|
||||
endif
|
||||
let g:omni_syntax_group_exclude_sql = ''
|
||||
let syn_value = syntaxcomplete#OmniSyntaxList()
|
||||
let g:omni_syntax_group_include_sql = s:save_inc
|
||||
let g:omni_syntax_group_exclude_sql = s:save_exc
|
||||
" Cache these values for later use
|
||||
|
||||
@@ -1,18 +1,34 @@
|
||||
" Vim completion script
|
||||
" Language: All languages, uses existing syntax highlighting rules
|
||||
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
||||
" Version: 11.0
|
||||
" Last Change: 2012 Dec 04
|
||||
" Version: 13.0
|
||||
" Last Change: 2013 May 14
|
||||
" Usage: For detailed help, ":help ft-syntax-omni"
|
||||
|
||||
" History
|
||||
"
|
||||
" Version 13.0
|
||||
" - Extended the option omni_syntax_group_include_{filetype}
|
||||
" to accept a comma separated list of regex's rather than
|
||||
" string. For example, for the javascript filetype you could
|
||||
" use:
|
||||
" let g:omni_syntax_group_include_javascript = 'javascript\w\+,jquery\w\+'
|
||||
" - Some syntax files (perl.vim) use the match // syntax as a mechanism
|
||||
" to identify keywords. This update attempts to parse the
|
||||
" match syntax and pull out syntax items which are at least
|
||||
" 3 words or more.
|
||||
"
|
||||
" Version 12.0
|
||||
" - It is possible to have '-' as part of iskeyword, when
|
||||
" checking for character ranges, tighten up the regex.
|
||||
" E688: More targets than List items.
|
||||
"
|
||||
" Version 11.0
|
||||
" Corrected which characters required escaping during
|
||||
" - Corrected which characters required escaping during
|
||||
" substitution calls.
|
||||
"
|
||||
" Version 10.0
|
||||
" Cycle through all the character ranges specified in the
|
||||
" - Cycle through all the character ranges specified in the
|
||||
" iskeyword option and build a list of valid word separators.
|
||||
" Prior to this change, only actual characters were used,
|
||||
" where for example ASCII "45" == "-". If "45" were used
|
||||
@@ -20,30 +36,30 @@
|
||||
" This introduces a new option, since the character ranges
|
||||
" specified could be multibyte:
|
||||
" let g:omni_syntax_use_single_byte = 1
|
||||
" This by default will only allow single byte ASCII
|
||||
" - This by default will only allow single byte ASCII
|
||||
" characters to be added and an additional check to ensure
|
||||
" the charater is printable (see documentation for isprint).
|
||||
"
|
||||
" Version 9.0
|
||||
" Add the check for cpo.
|
||||
" - Add the check for cpo.
|
||||
"
|
||||
" Version 8.0
|
||||
" Updated SyntaxCSyntaxGroupItems()
|
||||
" - Updated SyntaxCSyntaxGroupItems()
|
||||
" - Some additional syntax items were also allowed
|
||||
" on nextgroup= lines which were ignored by default.
|
||||
" Now these lines are processed independently.
|
||||
"
|
||||
" Version 7.0
|
||||
" Updated syntaxcomplete#OmniSyntaxList()
|
||||
" - Updated syntaxcomplete#OmniSyntaxList()
|
||||
" - Looking up the syntax groups defined from a syntax file
|
||||
" looked for only 1 format of {filetype}GroupName, but some
|
||||
" syntax writers use this format as well:
|
||||
" {b:current_syntax}GroupName
|
||||
" OmniSyntaxList() will now check for both if the first
|
||||
" - OmniSyntaxList() will now check for both if the first
|
||||
" method does not find a match.
|
||||
"
|
||||
" Version 6.0
|
||||
" Added syntaxcomplete#OmniSyntaxList()
|
||||
" - Added syntaxcomplete#OmniSyntaxList()
|
||||
" - Allows other plugins to use this for their own
|
||||
" purposes.
|
||||
" - It will return a List of all syntax items for the
|
||||
@@ -52,7 +68,7 @@
|
||||
" sqlcomplete plugin to populate a Choose box.
|
||||
"
|
||||
" Version 5.0
|
||||
" Updated SyntaxCSyntaxGroupItems()
|
||||
" - Updated SyntaxCSyntaxGroupItems()
|
||||
" - When processing a list of syntax groups, the final group
|
||||
" was missed in function SyntaxCSyntaxGroupItems.
|
||||
"
|
||||
@@ -70,7 +86,7 @@ endif
|
||||
if exists('g:loaded_syntax_completion')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntax_completion = 110
|
||||
let g:loaded_syntax_completion = 130
|
||||
|
||||
" Turn on support for line continuations when creating the script
|
||||
let s:cpo_save = &cpo
|
||||
@@ -113,7 +129,8 @@ endif
|
||||
|
||||
" This script will build a completion list based on the syntax
|
||||
" elements defined by the files in $VIMRUNTIME/syntax.
|
||||
let s:syn_remove_words = 'match,matchgroup=,contains,'.
|
||||
" let s:syn_remove_words = 'match,matchgroup=,contains,'.
|
||||
let s:syn_remove_words = 'matchgroup=,contains,'.
|
||||
\ 'links to,start=,end='
|
||||
" \ 'links to,start=,end=,nextgroup='
|
||||
|
||||
@@ -275,9 +292,19 @@ function! OmniSyntaxList(...)
|
||||
" sqlType
|
||||
" sqlOperators
|
||||
" sqlKeyword ...
|
||||
redir @l
|
||||
silent! exec 'syntax list '.join(list_parms)
|
||||
redir END
|
||||
if !empty(list_parms) && empty(substitute(join(list_parms), '[a-zA-Z ]', '', 'g'))
|
||||
" If list_parms only includes word characters, use it to limit
|
||||
" the syntax elements.
|
||||
" If using regex syntax list will fail to find those items, so
|
||||
" simply grab the who syntax list.
|
||||
redir @l
|
||||
silent! exec 'syntax list '.join(list_parms)
|
||||
redir END
|
||||
else
|
||||
redir @l
|
||||
silent! exec 'syntax list'
|
||||
redir END
|
||||
endif
|
||||
|
||||
let syntax_full = "\n".@l
|
||||
let @l = saveL
|
||||
@@ -311,82 +338,167 @@ function! OmniSyntaxList(...)
|
||||
endif
|
||||
endif
|
||||
|
||||
" Sometimes filetypes can be composite names, like c.doxygen
|
||||
" Loop through each individual part looking for the syntax
|
||||
" items specific to each individual filetype.
|
||||
if empty(list_parms)
|
||||
let list_parms = [&filetype.'\w\+']
|
||||
endif
|
||||
|
||||
let syn_list = ''
|
||||
let ftindex = 0
|
||||
let ftindex = match(&filetype, '\w\+', ftindex)
|
||||
let index = 0
|
||||
for group_regex in list_parms
|
||||
" Sometimes filetypes can be composite names, like c.doxygen
|
||||
" Loop through each individual part looking for the syntax
|
||||
" items specific to each individual filetype.
|
||||
" let ftindex = 0
|
||||
" let ftindex = match(syntax_full, group_regex, ftindex)
|
||||
|
||||
while ftindex > -1
|
||||
let ft_part_name = matchstr( &filetype, '\w\+', ftindex )
|
||||
" while ftindex > -1
|
||||
" let ft_part_name = matchstr( syntax_full, '\w\+', ftindex )
|
||||
|
||||
" Syntax rules can contain items for more than just the current
|
||||
" filetype. They can contain additional items added by the user
|
||||
" via autocmds or their vimrc.
|
||||
" Some syntax files can be combined (html, php, jsp).
|
||||
" We want only items that begin with the filetype we are interested in.
|
||||
let next_group_regex = '\n' .
|
||||
\ '\zs'.ft_part_name.'\w\+\ze'.
|
||||
\ '\s\+xxx\s\+'
|
||||
let index = 0
|
||||
let index = match(syntax_full, next_group_regex, index)
|
||||
|
||||
if index == -1 && exists('b:current_syntax') && ft_part_name != b:current_syntax
|
||||
" There appears to be two standards when writing syntax files.
|
||||
" Either items begin as:
|
||||
" syn keyword {filetype}Keyword values ...
|
||||
" let b:current_syntax = "sql"
|
||||
" let b:current_syntax = "sqlanywhere"
|
||||
" Or
|
||||
" syn keyword {syntax_filename}Keyword values ...
|
||||
" let b:current_syntax = "mysql"
|
||||
" So, we will make the format of finding the syntax group names
|
||||
" a bit more flexible and look for both if the first fails to
|
||||
" find a match.
|
||||
" Syntax rules can contain items for more than just the current
|
||||
" filetype. They can contain additional items added by the user
|
||||
" via autocmds or their vimrc.
|
||||
" Some syntax files can be combined (html, php, jsp).
|
||||
" We want only items that begin with the filetype we are interested in.
|
||||
let next_group_regex = '\n' .
|
||||
\ '\zs'.b:current_syntax.'\w\+\ze'.
|
||||
\ '\zs'.group_regex.'\ze'.
|
||||
\ '\s\+xxx\s\+'
|
||||
let index = 0
|
||||
let index = match(syntax_full, next_group_regex, index)
|
||||
endif
|
||||
|
||||
while index > -1
|
||||
let group_name = matchstr( syntax_full, '\w\+', index )
|
||||
|
||||
let get_syn_list = 1
|
||||
for exclude_group_name in list_exclude_groups
|
||||
if '\<'.exclude_group_name.'\>' =~ '\<'.group_name.'\>'
|
||||
let get_syn_list = 0
|
||||
endif
|
||||
endfor
|
||||
|
||||
" This code is no longer needed in version 6.0 since we have
|
||||
" augmented the syntax list command to only retrieve the syntax
|
||||
" groups we are interested in.
|
||||
"
|
||||
" if get_syn_list == 1
|
||||
" if syntax_group_include_{filetype} != ''
|
||||
" if '\<'.syntax_group_include_{filetype}.'\>' !~ '\<'.group_name.'\>'
|
||||
" let get_syn_list = 0
|
||||
" endif
|
||||
" endif
|
||||
" endif
|
||||
|
||||
if get_syn_list == 1
|
||||
" Pass in the full syntax listing, plus the group name we
|
||||
" are interested in.
|
||||
let extra_syn_list = s:SyntaxCSyntaxGroupItems(group_name, syntax_full)
|
||||
let syn_list = syn_list . extra_syn_list . "\n"
|
||||
" For the matched group name, strip off any of the regex special
|
||||
" characters and see if we get a match with the current syntax
|
||||
if index == -1 && exists('b:current_syntax') && substitute(group_regex, '[^a-zA-Z ]\+.*', '', 'g') !~ '^'.b:current_syntax
|
||||
" There appears to be two standards when writing syntax files.
|
||||
" Either items begin as:
|
||||
" syn keyword {filetype}Keyword values ...
|
||||
" let b:current_syntax = "sql"
|
||||
" let b:current_syntax = "sqlanywhere"
|
||||
" Or
|
||||
" syn keyword {syntax_filename}Keyword values ...
|
||||
" let b:current_syntax = "mysql"
|
||||
" So, we will make the format of finding the syntax group names
|
||||
" a bit more flexible and look for both if the first fails to
|
||||
" find a match.
|
||||
let next_group_regex = '\n' .
|
||||
\ '\zs'.b:current_syntax.'\w\+\ze'.
|
||||
\ '\s\+xxx\s\+'
|
||||
let index = 0
|
||||
let index = match(syntax_full, next_group_regex, index)
|
||||
endif
|
||||
|
||||
let index = index + strlen(group_name)
|
||||
let index = match(syntax_full, next_group_regex, index)
|
||||
endwhile
|
||||
while index > -1
|
||||
let group_name = matchstr( syntax_full, '\w\+', index )
|
||||
|
||||
let ftindex = ftindex + len(ft_part_name)
|
||||
let ftindex = match( &filetype, '\w\+', ftindex )
|
||||
endwhile
|
||||
let get_syn_list = 1
|
||||
for exclude_group_name in list_exclude_groups
|
||||
if '\<'.exclude_group_name.'\>' =~ '\<'.group_name.'\>'
|
||||
let get_syn_list = 0
|
||||
endif
|
||||
endfor
|
||||
|
||||
" This code is no longer needed in version 6.0 since we have
|
||||
" augmented the syntax list command to only retrieve the syntax
|
||||
" groups we are interested in.
|
||||
"
|
||||
" if get_syn_list == 1
|
||||
" if syntax_group_include_{filetype} != ''
|
||||
" if '\<'.syntax_group_include_{filetype}.'\>' !~ '\<'.group_name.'\>'
|
||||
" let get_syn_list = 0
|
||||
" endif
|
||||
" endif
|
||||
" endif
|
||||
|
||||
if get_syn_list == 1
|
||||
" Pass in the full syntax listing, plus the group name we
|
||||
" are interested in.
|
||||
let extra_syn_list = s:SyntaxCSyntaxGroupItems(group_name, syntax_full)
|
||||
let syn_list = syn_list . extra_syn_list . "\n"
|
||||
endif
|
||||
|
||||
let index = index + strlen(group_name)
|
||||
let index = match(syntax_full, next_group_regex, index)
|
||||
endwhile
|
||||
|
||||
" let ftindex = ftindex + len(ft_part_name)
|
||||
" let ftindex = match( syntax_full, group_regex, ftindex )
|
||||
" endwhile
|
||||
endfor
|
||||
|
||||
" " Sometimes filetypes can be composite names, like c.doxygen
|
||||
" " Loop through each individual part looking for the syntax
|
||||
" " items specific to each individual filetype.
|
||||
" let syn_list = ''
|
||||
" let ftindex = 0
|
||||
" let ftindex = match(&filetype, '\w\+', ftindex)
|
||||
|
||||
" while ftindex > -1
|
||||
" let ft_part_name = matchstr( &filetype, '\w\+', ftindex )
|
||||
|
||||
" " Syntax rules can contain items for more than just the current
|
||||
" " filetype. They can contain additional items added by the user
|
||||
" " via autocmds or their vimrc.
|
||||
" " Some syntax files can be combined (html, php, jsp).
|
||||
" " We want only items that begin with the filetype we are interested in.
|
||||
" let next_group_regex = '\n' .
|
||||
" \ '\zs'.ft_part_name.'\w\+\ze'.
|
||||
" \ '\s\+xxx\s\+'
|
||||
" let index = 0
|
||||
" let index = match(syntax_full, next_group_regex, index)
|
||||
|
||||
" if index == -1 && exists('b:current_syntax') && ft_part_name != b:current_syntax
|
||||
" " There appears to be two standards when writing syntax files.
|
||||
" " Either items begin as:
|
||||
" " syn keyword {filetype}Keyword values ...
|
||||
" " let b:current_syntax = "sql"
|
||||
" " let b:current_syntax = "sqlanywhere"
|
||||
" " Or
|
||||
" " syn keyword {syntax_filename}Keyword values ...
|
||||
" " let b:current_syntax = "mysql"
|
||||
" " So, we will make the format of finding the syntax group names
|
||||
" " a bit more flexible and look for both if the first fails to
|
||||
" " find a match.
|
||||
" let next_group_regex = '\n' .
|
||||
" \ '\zs'.b:current_syntax.'\w\+\ze'.
|
||||
" \ '\s\+xxx\s\+'
|
||||
" let index = 0
|
||||
" let index = match(syntax_full, next_group_regex, index)
|
||||
" endif
|
||||
|
||||
" while index > -1
|
||||
" let group_name = matchstr( syntax_full, '\w\+', index )
|
||||
|
||||
" let get_syn_list = 1
|
||||
" for exclude_group_name in list_exclude_groups
|
||||
" if '\<'.exclude_group_name.'\>' =~ '\<'.group_name.'\>'
|
||||
" let get_syn_list = 0
|
||||
" endif
|
||||
" endfor
|
||||
|
||||
" " This code is no longer needed in version 6.0 since we have
|
||||
" " augmented the syntax list command to only retrieve the syntax
|
||||
" " groups we are interested in.
|
||||
" "
|
||||
" " if get_syn_list == 1
|
||||
" " if syntax_group_include_{filetype} != ''
|
||||
" " if '\<'.syntax_group_include_{filetype}.'\>' !~ '\<'.group_name.'\>'
|
||||
" " let get_syn_list = 0
|
||||
" " endif
|
||||
" " endif
|
||||
" " endif
|
||||
|
||||
" if get_syn_list == 1
|
||||
" " Pass in the full syntax listing, plus the group name we
|
||||
" " are interested in.
|
||||
" let extra_syn_list = s:SyntaxCSyntaxGroupItems(group_name, syntax_full)
|
||||
" let syn_list = syn_list . extra_syn_list . "\n"
|
||||
" endif
|
||||
|
||||
" let index = index + strlen(group_name)
|
||||
" let index = match(syntax_full, next_group_regex, index)
|
||||
" endwhile
|
||||
|
||||
" let ftindex = ftindex + len(ft_part_name)
|
||||
" let ftindex = match( &filetype, '\w\+', ftindex )
|
||||
" endwhile
|
||||
|
||||
" Convert the string to a List and sort it.
|
||||
let compl_list = sort(split(syn_list))
|
||||
@@ -454,10 +566,65 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
|
||||
\ , "\n", 'g'
|
||||
\ )
|
||||
|
||||
" Attempt to deal with lines using the match syntax
|
||||
" javaScriptDocTags xxx match /@\(param\|argument\|requires\|file\)\>/
|
||||
" Though it can use any types of regex, so this plugin will attempt
|
||||
" to restrict it
|
||||
" 1. Only use \( or \%( constructs remove all else
|
||||
" 2 Remove and []s
|
||||
" 3. Account for match //constructs
|
||||
" \%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?
|
||||
" 4. Hope for the best
|
||||
"
|
||||
"
|
||||
let syn_list_old = syn_list
|
||||
while syn_list =~ '\<match\>\s\+\/'
|
||||
if syn_list =~ 'perlElseIfError'
|
||||
let syn_list = syn_list
|
||||
endif
|
||||
" Check if the match has words at least 3 characters long
|
||||
if syn_list =~ '\<match \/\zs.\{-}\<\w\{3,}\>.\{-}\ze\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+'
|
||||
" Remove everything after / and before the first \(
|
||||
let syn_list = substitute( syn_list, '\<match \/\zs.\{-}\ze\\%\?(.\{-}\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
|
||||
" Remove everything after \) and up to the ending /
|
||||
let syn_list = substitute( syn_list, '\<match \/.\{-}\\)\zs.\{-}\ze\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
|
||||
|
||||
" Remove any character classes
|
||||
" let syn_list = substitute( syn_list, '\<match /\zs.\{-}\[[^]]*\].\{-}\ze\/ ', '', 'g' )
|
||||
let syn_list = substitute( syn_list, '\%(\<match \/[^/]\{-}\)\@<=\[[^]]*\]\ze.\{-}\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?', '', 'g' )
|
||||
" Remove any words < 3 characters
|
||||
let syn_list = substitute( syn_list, '\%(\<match \/[^/]\{-}\)\@<=\<\w\{1,2}\>\ze.\{-}\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
|
||||
" Remove all non-word characters
|
||||
" let syn_list = substitute( syn_list, '\<match /\zs.\{-}\<\W\+\>.\{-}\ze\/ ', "", 'g' )
|
||||
" let syn_list = substitute( syn_list, '\%(\<match \/[^/]\{-}\)\@<=\W\+\ze.\{-}\/ ', ' ', 'g' )
|
||||
" Do this by using the outer substitue() call to gather all
|
||||
" text between the match /.../ tags.
|
||||
" The inner substitute() call operates on the text selected
|
||||
" and replaces all non-word characters.
|
||||
let syn_list = substitute( syn_list, '\<match \/\zs\(.\{-}\)\ze\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+'
|
||||
\ , '\=substitute(submatch(1), "\\W\\+", " ", "g")'
|
||||
\ , 'g' )
|
||||
" Remove the match / / syntax
|
||||
let syn_list = substitute( syn_list, '\<match \/\(.\{-}\)\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '\1', 'g' )
|
||||
else
|
||||
" No words long enough, remove the match
|
||||
" Remove the match syntax
|
||||
" let syn_list = substitute( syn_list, '\<match \/[^\/]*\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
|
||||
let syn_list = substitute( syn_list, '\<match \/\%(.\{-}\)\?\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
|
||||
endif
|
||||
if syn_list =~ '\<match\>\s\+\/'
|
||||
" Problem removing the match / / tags
|
||||
let syn_list = ''
|
||||
endif
|
||||
endwhile
|
||||
|
||||
|
||||
" Now strip off the newline + blank space + contained.
|
||||
" Also include lines with nextgroup=@someName skip_key_words syntax_element
|
||||
" \ syn_list, '\%(^\|\n\)\@<=\s*\<\(contained\|nextgroup=\)'
|
||||
" \ syn_list, '\%(^\|\n\)\@<=\s*\<\(contained\|nextgroup=[@a-zA-Z,]*\)'
|
||||
let syn_list = substitute(
|
||||
\ syn_list, '\%(^\|\n\)\@<=\s*\<\(contained\|nextgroup=\)'
|
||||
\ syn_list, '\<\(contained\|nextgroup=[@a-zA-Z,]*\)'
|
||||
\ , "", 'g'
|
||||
\ )
|
||||
|
||||
@@ -497,7 +664,7 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
|
||||
" If so, add it to the list.
|
||||
let accepted_chars = ''
|
||||
for item in split(&iskeyword, ',')
|
||||
if item =~ '-'
|
||||
if item =~ '\d-\d'
|
||||
" This is a character range (ie 47-58),
|
||||
" cycle through each character within the range
|
||||
let [b:start, b:end] = split(item, '-')
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
" tar.vim: Handles browsing tarfiles
|
||||
" AUTOLOAD PORTION
|
||||
" Date: Jan 17, 2012
|
||||
" Version: 28
|
||||
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" Date: Apr 17, 2013
|
||||
" Version: 29
|
||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" License: Vim License (see vim's :help license)
|
||||
"
|
||||
" Contains many ideas from Michael Toren's <tar.vim>
|
||||
"
|
||||
" Copyright: Copyright (C) 2005-2011 Charles E. Campbell, Jr. {{{1
|
||||
" Copyright: Copyright (C) 2005-2011 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
" notice is copied with it. Like anything else that's free,
|
||||
@@ -22,7 +22,7 @@
|
||||
if &cp || exists("g:loaded_tar")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_tar= "v28"
|
||||
let g:loaded_tar= "v29"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of tar needs vim 7.2"
|
||||
@@ -31,6 +31,7 @@ if v:version < 702
|
||||
endif
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
"DechoTabOn
|
||||
"call Decho("loading autoload/tar.vim")
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
@@ -80,7 +81,7 @@ endif
|
||||
|
||||
" set up shell quoting character
|
||||
if !exists("g:tar_shq")
|
||||
if exists("&shq") && &shq != ""
|
||||
if exists("+shq") && exists("&shq") && &shq != ""
|
||||
let g:tar_shq= &shq
|
||||
elseif has("win32") || has("win95") || has("win64") || has("win16")
|
||||
if exists("g:netrw_cygwin") && g:netrw_cygwin
|
||||
@@ -147,7 +148,7 @@ fun! tar#Browse(tarfile)
|
||||
keepj $
|
||||
|
||||
let tarfile= a:tarfile
|
||||
if has("win32") && executable("cygpath")
|
||||
if has("win32unix") && executable("cygpath")
|
||||
" assuming cygwin
|
||||
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
|
||||
endif
|
||||
@@ -227,7 +228,7 @@ fun! s:TarBrowseSelect()
|
||||
" about to make a new window, need to use b:tarfile
|
||||
let tarfile= b:tarfile
|
||||
let curfile= expand("%")
|
||||
if has("win32") && executable("cygpath")
|
||||
if has("win32unix") && executable("cygpath")
|
||||
" assuming cygwin
|
||||
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
|
||||
endif
|
||||
@@ -239,6 +240,8 @@ fun! s:TarBrowseSelect()
|
||||
let s:tblfile_{winnr()}= curfile
|
||||
call tar#Read("tarfile:".tarfile.'::'.fname,1)
|
||||
filetype detect
|
||||
set nomod
|
||||
exe 'com! -buffer -nargs=? -complete=file TarDiff :call tar#Diff(<q-args>,"'.fnameescape(fname).'")'
|
||||
|
||||
let &report= repkeep
|
||||
" call Dret("TarBrowseSelect : s:tblfile_".winnr()."<".s:tblfile_{winnr()}.">")
|
||||
@@ -252,7 +255,7 @@ fun! tar#Read(fname,mode)
|
||||
set report=10
|
||||
let tarfile = substitute(a:fname,'tarfile:\(.\{-}\)::.*$','\1','')
|
||||
let fname = substitute(a:fname,'tarfile:.\{-}::\(.*\)$','\1','')
|
||||
if has("win32") && executable("cygpath")
|
||||
if has("win32unix") && executable("cygpath")
|
||||
" assuming cygwin
|
||||
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
|
||||
endif
|
||||
@@ -425,7 +428,7 @@ fun! tar#Write(fname)
|
||||
|
||||
if fname =~ '/'
|
||||
let dirpath = substitute(fname,'/[^/]\+$','','e')
|
||||
if executable("cygpath")
|
||||
if has("win32unix") && executable("cygpath")
|
||||
let dirpath = substitute(system("cygpath ".shellescape(dirpath, 0)),'\n','','e')
|
||||
endif
|
||||
call mkdir(dirpath,"p")
|
||||
@@ -445,7 +448,7 @@ fun! tar#Write(fname)
|
||||
let tar_secure= " "
|
||||
endif
|
||||
exe "w! ".fnameescape(fname)
|
||||
if executable("cygpath")
|
||||
if has("win32unix") && executable("cygpath")
|
||||
let tarfile = substitute(system("cygpath ".shellescape(tarfile,0)),'\n','','e')
|
||||
endif
|
||||
|
||||
@@ -500,6 +503,30 @@ fun! tar#Write(fname)
|
||||
" call Dret("tar#Write")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" tar#Diff: {{{2
|
||||
fun! tar#Diff(userfname,fname)
|
||||
" call Dfunc("tar#Diff(userfname<".a:userfname."> fname<".a:fname.")")
|
||||
let fname= a:fname
|
||||
if a:userfname != ""
|
||||
let fname= a:userfname
|
||||
endif
|
||||
if filereadable(fname)
|
||||
" sets current file (from tarball) for diff'ing
|
||||
" splits window vertically
|
||||
" opens original file, sets it for diff'ing
|
||||
" sets up b:tardiff_otherbuf variables so each buffer knows about the other (for closing purposes)
|
||||
diffthis
|
||||
wincmd v
|
||||
exe "e ".fnameescape(fname)
|
||||
diffthis
|
||||
else
|
||||
redraw!
|
||||
echo "***warning*** unable to read file<".fname.">"
|
||||
endif
|
||||
" call Dret("tar#Diff")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:Rmdir: {{{2
|
||||
fun! s:Rmdir(fname)
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
" zip.vim: Handles browsing zipfiles
|
||||
" AUTOLOAD PORTION
|
||||
" Date: Jan 17, 2012
|
||||
" Version: 25
|
||||
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" Date: Apr 17, 2013
|
||||
" Version: 26
|
||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" License: Vim License (see vim's :help license)
|
||||
" Copyright: Copyright (C) 2005-2012 Charles E. Campbell, Jr. {{{1
|
||||
" Copyright: Copyright (C) 2005-2012 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
" notice is copied with it. Like anything else that's free,
|
||||
@@ -19,7 +19,7 @@
|
||||
if &cp || exists("g:loaded_zip")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_zip= "v25"
|
||||
let g:loaded_zip= "v26"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of zip needs vim 7.2"
|
||||
@@ -188,13 +188,23 @@ fun! zip#Read(fname,mode)
|
||||
else
|
||||
let zipfile = substitute(a:fname,'^.\{-}zipfile:\(.\{-}\)::[^\\].*$','\1','')
|
||||
let fname = substitute(a:fname,'^.\{-}zipfile:.\{-}::\([^\\].*\)$','\1','')
|
||||
let fname = substitute(fname, '[', '[[]', 'g')
|
||||
let fname = substitute(fname, '[', '[[]', 'g')
|
||||
endif
|
||||
" call Decho("zipfile<".zipfile.">")
|
||||
" call Decho("fname <".fname.">")
|
||||
|
||||
" call Decho("exe r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1))
|
||||
exe "keepj sil! r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1)
|
||||
" the following code does much the same thing as
|
||||
" exe "keepj sil! r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1)
|
||||
" but allows zipfile:... entries in quickfix lists
|
||||
let temp = tempname()
|
||||
let fn = expand('%:p')
|
||||
exe "sil! !".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1).' > '.temp
|
||||
" call Decho("exe sil! !".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1).' > '.temp)
|
||||
sil exe 'keepalt file '.temp
|
||||
sil keepj e!
|
||||
sil exe 'keepalt file '.fnameescape(fn)
|
||||
call delete(temp)
|
||||
|
||||
filetype detect
|
||||
|
||||
" cleanup
|
||||
@@ -267,7 +277,7 @@ fun! zip#Write(fname)
|
||||
|
||||
if fname =~ '/'
|
||||
let dirpath = substitute(fname,'/[^/]\+$','','e')
|
||||
if executable("cygpath")
|
||||
if has("win32unix") && executable("cygpath")
|
||||
let dirpath = substitute(system("cygpath ".s:Escape(dirpath,0)),'\n','','e')
|
||||
endif
|
||||
" call Decho("mkdir(dirpath<".dirpath.">,p)")
|
||||
@@ -279,7 +289,7 @@ fun! zip#Write(fname)
|
||||
" call Decho("zipfile<".zipfile."> fname<".fname.">")
|
||||
|
||||
exe "w! ".fnameescape(fname)
|
||||
if executable("cygpath")
|
||||
if has("win32unix") && executable("cygpath")
|
||||
let zipfile = substitute(system("cygpath ".s:Escape(zipfile,0)),'\n','','e')
|
||||
endif
|
||||
|
||||
|
||||
21
runtime/compiler/msbuild.vim
Normal file
21
runtime/compiler/msbuild.vim
Normal file
@@ -0,0 +1,21 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Microsoft Visual Studio C#
|
||||
" Maintainer: Chiel ten Brinke (ctje92@gmail.com)
|
||||
" Last Change: 2013 May 13
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "msbuild"
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet errorformat=\ %#%f(%l\\\,%c):\ %m
|
||||
CompilerSet makeprg=msbuild\ /nologo\ /v:q\ /property:GenerateFullPaths=true
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
22
runtime/compiler/xbuild.vim
Normal file
22
runtime/compiler/xbuild.vim
Normal file
@@ -0,0 +1,22 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Mono C#
|
||||
" Maintainer: Chiel ten Brinke (ctje92@gmail.com)
|
||||
" Last Change: 2013 May 13
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
|
||||
let current_compiler = "xbuild"
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet errorformat=\ %#%f(%l\\\,%c):\ %m
|
||||
CompilerSet makeprg=xbuild\ /nologo\ /v:q\ /property:GenerateFullPaths=true
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 7.3. Last change: 2013 Mar 13
|
||||
*autocmd.txt* For Vim version 7.3. Last change: 2013 May 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -519,8 +519,9 @@ CursorMoved After the cursor was moved in Normal mode.
|
||||
Not triggered when there is typeahead or when
|
||||
an operator is pending.
|
||||
For an example see |match-parens|.
|
||||
Careful: Don't do anything that the user does
|
||||
not expect or that is slow.
|
||||
Careful: This is triggered very often, don't
|
||||
do anything that the user does not expect or
|
||||
that is slow.
|
||||
*CursorMovedI*
|
||||
CursorMovedI After the cursor was moved in Insert mode.
|
||||
Not triggered when the popup menu is visible.
|
||||
@@ -690,8 +691,11 @@ InsertCharPre When a character is typed in Insert mode,
|
||||
InsertEnter Just before starting Insert mode. Also for
|
||||
Replace mode and Virtual Replace mode. The
|
||||
|v:insertmode| variable indicates the mode.
|
||||
Be careful not to move the cursor or do
|
||||
anything else that the user does not expect.
|
||||
Be careful not to do anything else that the
|
||||
user does not expect.
|
||||
The cursor is restored afterwards. If you do
|
||||
not want that set |v:char| to a non-empty
|
||||
string.
|
||||
*InsertLeave*
|
||||
InsertLeave When leaving Insert mode. Also when using
|
||||
CTRL-O |i_CTRL-O|. But not for |i_CTRL-C|.
|
||||
@@ -831,12 +835,27 @@ TermResponse After the response to |t_RV| is received from
|
||||
triggered halfway executing another event,
|
||||
especially if file I/O, a shell command or
|
||||
anything else that takes time is involved.
|
||||
*TextChanged*
|
||||
TextChanged After a change was made to the text in the
|
||||
current buffer in Normal mode. That is when
|
||||
|b:changedtick| has changed.
|
||||
Not triggered when there is typeahead or when
|
||||
an operator is pending.
|
||||
Careful: This is triggered very often, don't
|
||||
do anything that the user does not expect or
|
||||
that is slow.
|
||||
*TextChangedI*
|
||||
TextChangedI After a change was made to the text in the
|
||||
current buffer in Insert mode.
|
||||
Not triggered when the popup menu is visible.
|
||||
Otherwise the same as TextChanged.
|
||||
*User*
|
||||
User Never executed automatically. To be used for
|
||||
autocommands that are only executed with
|
||||
":doautocmd".
|
||||
*UserGettingBored*
|
||||
UserGettingBored When the user hits CTRL-C. Just kidding! :-)
|
||||
UserGettingBored When the user presses the same key 42 times.
|
||||
Just kidding! :-)
|
||||
*VimEnter*
|
||||
VimEnter After doing all the startup stuff, including
|
||||
loading .vimrc files, executing the "-c cmd"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 7.3. Last change: 2012 Nov 02
|
||||
*change.txt* For Vim version 7.3. Last change: 2013 Mar 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -784,6 +784,11 @@ Examples: >
|
||||
:s/abcde/abc^Mde/ modifies "abcde" to "abc", "de" (two lines)
|
||||
:s/$/\^M/ modifies "abcde" to "abcde^M"
|
||||
:s/\w\+/\u\0/g modifies "bla bla" to "Bla Bla"
|
||||
:s/\w\+/\L\u/g modifies "BLA bla" to "Bla Bla"
|
||||
|
||||
Note: "\L\u" can be used to capitalize the first letter of a word. This is
|
||||
not compatible with Vi and older versions of Vim, where the "\u" would cancel
|
||||
out the "\L". Same for "\U\l".
|
||||
|
||||
Note: In previous versions CTRL-V was handled in a special way. Since this is
|
||||
not Vi compatible, this was removed. Use a backslash instead.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 7.3. Last change: 2012 Jan 10
|
||||
*develop.txt* For Vim version 7.3. Last change: 2013 Apr 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -20,6 +20,7 @@ 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. Design goals *design-goals*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.3. Last change: 2013 Mar 10
|
||||
*eval.txt* For Vim version 7.3. Last change: 2013 May 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1150,14 +1150,14 @@ delete all script-local variables: >
|
||||
: unlet s:[k]
|
||||
:endfor
|
||||
<
|
||||
*buffer-variable* *b:var*
|
||||
*buffer-variable* *b:var* *b:*
|
||||
A variable name that is preceded with "b:" is local to the current buffer.
|
||||
Thus you can have several "b:foo" variables, one for each buffer.
|
||||
This kind of variable is deleted when the buffer is wiped out or deleted with
|
||||
|:bdelete|.
|
||||
|
||||
One local buffer variable is predefined:
|
||||
*b:changedtick-variable* *changetick*
|
||||
*b:changedtick* *changetick*
|
||||
b:changedtick The total number of changes to the current buffer. It is
|
||||
incremented for each change. An undo command is also a change
|
||||
in this case. This can be used to perform an action only when
|
||||
@@ -1167,21 +1167,21 @@ b:changedtick The total number of changes to the current buffer. It is
|
||||
: call My_Update()
|
||||
:endif
|
||||
<
|
||||
*window-variable* *w:var*
|
||||
*window-variable* *w:var* *w:*
|
||||
A variable name that is preceded with "w:" is local to the current window. It
|
||||
is deleted when the window is closed.
|
||||
|
||||
*tabpage-variable* *t:var*
|
||||
*tabpage-variable* *t:var* *t:*
|
||||
A variable name that is preceded with "t:" is local to the current tab page,
|
||||
It is deleted when the tab page is closed. {not available when compiled
|
||||
without the |+windows| feature}
|
||||
|
||||
*global-variable* *g:var*
|
||||
*global-variable* *g:var* *g:*
|
||||
Inside functions global variables are accessed with "g:". Omitting this will
|
||||
access a variable local to a function. But "g:" can also be used in any other
|
||||
place if you like.
|
||||
|
||||
*local-variable* *l:var*
|
||||
*local-variable* *l:var* *l:*
|
||||
Inside functions local variables are accessed without prepending anything.
|
||||
But you can also prepend "l:" if you like. However, without prepending "l:"
|
||||
you may run into reserved variable names. For example "count". By itself it
|
||||
@@ -1264,7 +1264,7 @@ Note that this means that filetype plugins don't get a different set of script
|
||||
variables for each buffer. Use local buffer variables instead |b:var|.
|
||||
|
||||
|
||||
Predefined Vim variables: *vim-variable* *v:var*
|
||||
Predefined Vim variables: *vim-variable* *v:var* *v:*
|
||||
|
||||
*v:beval_col* *beval_col-variable*
|
||||
v:beval_col The number of the column, over which the mouse pointer is.
|
||||
@@ -1297,7 +1297,7 @@ v:beval_winnr The number of the window, over which the mouse pointer is. Only
|
||||
*v:char* *char-variable*
|
||||
v:char Argument for evaluating 'formatexpr' and used for the typed
|
||||
character when using <expr> in an abbreviation |:map-<expr>|.
|
||||
It is also used by the |InsertCharPre| event.
|
||||
It is also used by the |InsertCharPre| and |InsertEnter| events.
|
||||
|
||||
*v:charconvert_from* *charconvert_from-variable*
|
||||
v:charconvert_from
|
||||
@@ -4639,7 +4639,7 @@ pumvisible() *pumvisible()*
|
||||
This can be used to avoid some things that would remove the
|
||||
popup menu.
|
||||
|
||||
*E860* *E861*
|
||||
*E860*
|
||||
py3eval({expr}) *py3eval()*
|
||||
Evaluate Python expression {expr} and return its result
|
||||
converted to Vim data structures.
|
||||
@@ -5320,8 +5320,6 @@ settabvar({tabnr}, {varname}, {val}) *settabvar()*
|
||||
|t:var|
|
||||
Note that the variable name without "t:" must be used.
|
||||
Tabs are numbered starting with one.
|
||||
Vim briefly goes to the tab page {tabnr}, this may trigger
|
||||
TabLeave and TabEnter autocommands.
|
||||
This function is not available in the |sandbox|.
|
||||
|
||||
settabwinvar({tabnr}, {winnr}, {varname}, {val}) *settabwinvar()*
|
||||
@@ -5334,8 +5332,6 @@ settabwinvar({tabnr}, {winnr}, {varname}, {val}) *settabwinvar()*
|
||||
doesn't work for a global or local buffer variable.
|
||||
For a local buffer option the global value is unchanged.
|
||||
Note that the variable name without "w:" must be used.
|
||||
Vim briefly goes to the tab page {tabnr}, this may trigger
|
||||
TabLeave and TabEnter autocommands.
|
||||
Examples: >
|
||||
:call settabwinvar(1, 1, "&list", 0)
|
||||
:call settabwinvar(3, 2, "myvar", "foobar")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*ft_sql.txt* For Vim version 7.3. Last change: 2010 Jul 20
|
||||
*ft_sql.txt* For Vim version 7.3. Last change: 2013 May 15
|
||||
|
||||
by David Fishburn
|
||||
|
||||
@@ -349,6 +349,7 @@ may not work properly on all platforms: >
|
||||
The static maps (which are based on the syntax highlight groups) follow this
|
||||
format: >
|
||||
imap <buffer> <C-C>k <C-\><C-O>:call sqlcomplete#Map('sqlKeyword')<CR><C-X><C-O>
|
||||
imap <buffer> <C-C>k <C-\><C-O>:call sqlcomplete#Map('sqlKeyword\w*')<CR><C-X><C-O>
|
||||
|
||||
This command breaks down as: >
|
||||
imap - Create an insert map
|
||||
@@ -369,6 +370,9 @@ This command breaks down as: >
|
||||
command while editing a SQL file.
|
||||
'sqlKeyword' - Display the items for the sqlKeyword highlight
|
||||
group
|
||||
'sqlKeyword\w*' - A second option available with Vim 7.4 which
|
||||
uses a regular expression to determine which
|
||||
syntax groups to use
|
||||
)<CR> - Execute the :let command
|
||||
<C-X><C-O> - Trigger the standard omni completion key stroke.
|
||||
Passing in 'sqlKeyword' instructs the SQL
|
||||
@@ -435,7 +439,7 @@ the space bar):
|
||||
of columns, you can press <Left>, this will
|
||||
replace the column list with the list of tables.
|
||||
- This allows you to quickly drill down into a
|
||||
table to view it's columns and back again.
|
||||
table to view its columns and back again.
|
||||
- <Right> and <Left> can be also be chosen via
|
||||
your |.vimrc| >
|
||||
let g:ftplugin_sql_omni_key_right = '<Right>'
|
||||
@@ -645,7 +649,7 @@ your |vimrc|: >
|
||||
- When completing tables, procedure or views and using dbext.vim 3.00
|
||||
or higher the list of objects will also include the owner name.
|
||||
When completing these objects and omni_sql_include_owner is enabled
|
||||
the owner name will be be replaced. >
|
||||
the owner name will be replaced. >
|
||||
|
||||
omni_sql_precache_syntax_groups
|
||||
< - Default:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_pyth.txt* For Vim version 7.3. Last change: 2013 Feb 03
|
||||
*if_pyth.txt* For Vim version 7.3. Last change: 2013 May 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -11,9 +11,10 @@ The Python Interface to Vim *python* *Python*
|
||||
3. Buffer objects |python-buffer|
|
||||
4. Range objects |python-range|
|
||||
5. Window objects |python-window|
|
||||
6. pyeval(), py3eval() Vim functions |python-pyeval|
|
||||
7. Dynamic loading |python-dynamic|
|
||||
8. Python 3 |python3|
|
||||
6. Tab page objects |python-tabpage|
|
||||
7. pyeval(), py3eval() Vim functions |python-pyeval|
|
||||
8. Dynamic loading |python-dynamic|
|
||||
9. Python 3 |python3|
|
||||
|
||||
{Vi does not have any of these commands}
|
||||
|
||||
@@ -57,6 +58,22 @@ Example: >
|
||||
Note: Python is very sensitive to the indenting. Make sure the "class" line
|
||||
and "EOF" do not have any indent.
|
||||
|
||||
*:pydo*
|
||||
:[range]pydo {body} Execute Python function "def _vim_pydo(line, linenr):
|
||||
{body}" for each line in the [range], with the
|
||||
function arguments being set to the text of each line
|
||||
in turn, without a trailing <EOL>, and the current
|
||||
line number. The function should return a string or
|
||||
None. If a string is returned, it becomes the text of
|
||||
the line in the current turn. The default for [range]
|
||||
is the whole file: "1,$".
|
||||
{not in Vi}
|
||||
|
||||
Examples:
|
||||
>
|
||||
:pydo return "%s\t%d" % (line[::-1], len(line))
|
||||
:pydo if line: return "%4d: %s" % (linenr, line)
|
||||
<
|
||||
*:pyfile* *:pyf*
|
||||
:[range]pyf[ile] {file}
|
||||
Execute the Python script in {file}. The whole
|
||||
@@ -160,7 +177,7 @@ vim.bindeval(str) *python-bindeval*
|
||||
list or dictionary. Thus modifications to these objects imply
|
||||
modifications of the original.
|
||||
|
||||
Additionally, vimlist and vimdictionary type have read-write
|
||||
Additionally, vim.List and vim.Dictionary type have read-write
|
||||
`.locked` attribute that returns
|
||||
Value Meaning ~
|
||||
zero Variable is not locked
|
||||
@@ -173,14 +190,15 @@ vim.bindeval(str) *python-bindeval*
|
||||
case these locks are ignored by anything except |:let|: |extend()|
|
||||
does not care, neither does python interface).
|
||||
|
||||
Vimdictionary type also supports `.scope` attribute which is one of
|
||||
vim.Dictionary type also supports `.scope` attribute which is one
|
||||
of
|
||||
Value Meaning ~
|
||||
zero Dictionary is not a scope one
|
||||
vim.VAR_DEF_SCOPE Function-local or global scope dictionary
|
||||
vim.VAR_SCOPE Other scope dictionary
|
||||
|
||||
2. if expression evaluates to a function reference, then it returns
|
||||
callable vimfunction object. Use self keyword argument to assign
|
||||
callable vim.Function object. Use self keyword argument to assign
|
||||
|self| object for dictionary functions.
|
||||
|
||||
Note: this function has the same behavior as |lua-eval| (except that
|
||||
@@ -189,6 +207,10 @@ vim.bindeval(str) *python-bindeval*
|
||||
relying on outputs of vim.eval() being a copy of original or
|
||||
vim.eval("1") returning a string.
|
||||
|
||||
You can use "List", "Dictionary" and "Function" vim module attributes
|
||||
to test whether object has given type. These types are currently not
|
||||
subclassable, neither they contain constructors, so you can use them
|
||||
only for checks like `isinstance(obj, vim.List)`.
|
||||
|
||||
|
||||
Error object of the "vim" module
|
||||
@@ -209,12 +231,12 @@ Constants of the "vim" module
|
||||
to which the variables referred.
|
||||
|
||||
vim.buffers *python-buffers*
|
||||
A sequence object providing access to the list of vim buffers. The
|
||||
A mapping object providing access to the list of vim buffers. The
|
||||
object supports the following operations: >
|
||||
:py b = vim.buffers[i] # Indexing (read-only)
|
||||
:py b in vim.buffers # Membership test
|
||||
:py n = len(vim.buffers) # Number of elements
|
||||
:py for b in vim.buffers: # Sequential access
|
||||
:py for b in vim.buffers: # Iterating over buffer list
|
||||
<
|
||||
vim.windows *python-windows*
|
||||
A sequence object providing access to the list of vim windows. The
|
||||
@@ -223,13 +245,28 @@ vim.windows *python-windows*
|
||||
:py w in vim.windows # Membership test
|
||||
:py n = len(vim.windows) # Number of elements
|
||||
:py for w in vim.windows: # Sequential access
|
||||
< Note: vim.windows object always accesses current tab page,.
|
||||
|python-tabpage|.windows objects are bound to parent |python-tabpage|
|
||||
object and always use windows from that tab page (or throw vim.error
|
||||
in case tab page was deleted). You can keep a reference to both
|
||||
without keeping a reference to vim module object or |python-tabpage|,
|
||||
they will not loose their properties in this case.
|
||||
|
||||
vim.tabpages *python-tabpages*
|
||||
A sequence object providing access to the list of vim tab pages. The
|
||||
object supports the following operations: >
|
||||
:py t = vim.tabpages[i] # Indexing (read-only)
|
||||
:py t in vim.tabpages # Membership test
|
||||
:py n = len(vim.tabpages) # Number of elements
|
||||
:py for t in vim.tabpages: # Sequential access
|
||||
<
|
||||
vim.current *python-current*
|
||||
An object providing access (via specific attributes) to various
|
||||
"current" objects available in vim:
|
||||
vim.current.line The current line (RW) String
|
||||
vim.current.buffer The current buffer (RO) Buffer
|
||||
vim.current.window The current window (RO) Window
|
||||
vim.current.buffer The current buffer (RW) Buffer
|
||||
vim.current.window The current window (RW) Window
|
||||
vim.current.tabpage The current tab page (RW) TabPage
|
||||
vim.current.range The current line range (RO) Range
|
||||
|
||||
The last case deserves a little explanation. When the :python or
|
||||
@@ -237,6 +274,42 @@ vim.current *python-current*
|
||||
"current range". A range is a bit like a buffer, but with all access
|
||||
restricted to a subset of lines. See |python-range| for more details.
|
||||
|
||||
Note: When assigning to vim.current.{buffer,window,tabpage} it expects
|
||||
valid |python-buffer|, |python-window| or |python-tabpage| objects
|
||||
respectively. Assigning triggers normal (with |autocommand|s)
|
||||
switching to given buffer, window or tab page. It is the only way to
|
||||
switch UI objects in python: you can't assign to
|
||||
|python-tabpage|.window attribute. To switch without triggering
|
||||
autocommands use >
|
||||
py << EOF
|
||||
saved_eventignore = vim.options['eventignore']
|
||||
vim.options['eventignore'] = 'all'
|
||||
try:
|
||||
vim.current.buffer = vim.buffers[2] # Switch to buffer 2
|
||||
finally:
|
||||
vim.options['eventignore'] = saved_eventignore
|
||||
EOF
|
||||
<
|
||||
vim.vars *python-vars*
|
||||
vim.vvars *python-vvars*
|
||||
Dictionary-like objects holding dictionaries with global (|g:|) and
|
||||
vim (|v:|) variables respectively. Identical to `vim.bindeval("g:")`,
|
||||
but faster.
|
||||
|
||||
vim.options *python-options*
|
||||
Object partly supporting mapping protocol (supports setting and
|
||||
getting items) providing a read-write access to global options.
|
||||
Note: unlike |:set| this provides access only to global options. You
|
||||
cannot use this object to obtain or set local options' values or
|
||||
access local-only options in any fashion. Raises KeyError if no global
|
||||
option with such name exists (i.e. does not raise KeyError for
|
||||
|global-local| options and global only options, but does for window-
|
||||
and buffer-local ones). Use |python-buffer| objects to access to
|
||||
buffer-local options and |python-window| objects to access to
|
||||
window-local options.
|
||||
|
||||
Type of this object is available via "Options" attribute of vim
|
||||
module.
|
||||
|
||||
Output from Python *python-output*
|
||||
Vim displays all Python code output in the Vim message area. Normal
|
||||
@@ -278,6 +351,17 @@ Buffer indexes start at zero, as is normal in Python. This differs from vim
|
||||
line numbers, which start from 1. This is particularly relevant when dealing
|
||||
with marks (see below) which use vim line numbers.
|
||||
|
||||
The buffer object attributes are:
|
||||
b.vars Dictionary-like object used to access
|
||||
|buffer-variable|s.
|
||||
b.options Mapping object (supports item getting, setting and
|
||||
deleting) that provides access to buffer-local options
|
||||
and buffer-local values of |global-local| options. Use
|
||||
|python-window|.options if option is window-local,
|
||||
this object will raise KeyError. If option is
|
||||
|global-local| and local value is missing getting it
|
||||
will return None.
|
||||
|
||||
The buffer object methods are:
|
||||
b.append(str) Append a line to the buffer
|
||||
b.append(str, nr) Idem, below line "nr"
|
||||
@@ -296,6 +380,8 @@ Note that when adding a line it must not contain a line break character '\n'.
|
||||
A trailing '\n' is allowed and ignored, so that you can do: >
|
||||
:py b.append(f.readlines())
|
||||
|
||||
Buffer object type is available using "Buffer" attribute of vim module.
|
||||
|
||||
Examples (assume b is the current buffer) >
|
||||
:py print b.name # write the buffer file name
|
||||
:py b[0] = "hello!!!" # replace the top line
|
||||
@@ -307,6 +393,9 @@ Examples (assume b is the current buffer) >
|
||||
:py n = len(b) # number of lines
|
||||
:py (row,col) = b.mark('a') # named mark
|
||||
:py r = b.range(1,5) # a sub-range of the buffer
|
||||
:py b.vars["foo"] = "bar" # assign b:foo variable
|
||||
:py b.options["ff"] = "dos" # set fileformat
|
||||
:py del b.options["ar"] # same as :set autoread<
|
||||
|
||||
==============================================================================
|
||||
4. Range objects *python-range*
|
||||
@@ -334,6 +423,8 @@ The range object methods are:
|
||||
for Python's built-in list objects.
|
||||
r.append(list, nr) Idem, after line "nr"
|
||||
|
||||
Range object type is available using "Range" attribute of vim module.
|
||||
|
||||
Example (assume r is the current range):
|
||||
# Send all lines in a range to the default printer
|
||||
vim.command("%d,%dhardcopy!" % (r.start+1,r.end+1))
|
||||
@@ -344,6 +435,8 @@ Example (assume r is the current range):
|
||||
Window objects represent vim windows. You can obtain them in a number of ways:
|
||||
- via vim.current.window (|python-current|)
|
||||
- from indexing vim.windows (|python-windows|)
|
||||
- from indexing "windows" attribute of a tab page (|python-tabpage|)
|
||||
- from the "window" attribute of a tab page (|python-tabpage|)
|
||||
|
||||
You can manipulate window objects only through their attributes. They have no
|
||||
methods, and no sequence or other interface.
|
||||
@@ -354,17 +447,58 @@ Window attributes are:
|
||||
This is a tuple, (row,col).
|
||||
height (read-write) The window height, in rows
|
||||
width (read-write) The window width, in columns
|
||||
vars (read-only) The window |w:| variables. Attribute is
|
||||
unassignable, but you can change window
|
||||
variables this way
|
||||
options (read-only) The window-local options. Attribute is
|
||||
unassignable, but you can change window
|
||||
options this way. Provides access only to
|
||||
window-local options, for buffer-local use
|
||||
|python-buffer| and for global ones use
|
||||
|python-options|. If option is |global-local|
|
||||
and local value is missing getting it will
|
||||
return None.
|
||||
number (read-only) Window number. The first window has number 1.
|
||||
This is zero in case it cannot be determined
|
||||
(e.g. when the window object belongs to other
|
||||
tab page).
|
||||
row, col (read-only) On-screen window position in display cells.
|
||||
First position is zero.
|
||||
tabpage (read-only) Window tab page.
|
||||
|
||||
The height attribute is writable only if the screen is split horizontally.
|
||||
The width attribute is writable only if the screen is split vertically.
|
||||
|
||||
Window object type is available using "Window" attribute of vim module.
|
||||
|
||||
==============================================================================
|
||||
6. pyeval() and py3eval() Vim functions *python-pyeval*
|
||||
6. Tab page objects *python-tabpage*
|
||||
|
||||
Tab page objects represent vim tab pages. You can obtain them in a number of
|
||||
ways:
|
||||
- via vim.current.tabpage (|python-current|)
|
||||
- from indexing vim.tabpages (|python-tabpages|)
|
||||
|
||||
You can use this object to access tab page windows. They have no methods and
|
||||
no sequence or other interfaces.
|
||||
|
||||
Tab page attributes are:
|
||||
number The tab page number like the one returned by
|
||||
|tabpagenr()|.
|
||||
windows Like |python-windows|, but for current tab page.
|
||||
vars The tab page |t:| variables.
|
||||
window Current tabpage window.
|
||||
|
||||
TabPage object type is available using "TabPage" attribute of vim module.
|
||||
|
||||
==============================================================================
|
||||
7. pyeval() and py3eval() Vim functions *python-pyeval*
|
||||
|
||||
To facilitate bi-directional interface, you can use |pyeval()| and |py3eval()|
|
||||
functions to evaluate Python expressions and pass their values to VimL.
|
||||
|
||||
==============================================================================
|
||||
7. Dynamic loading *python-dynamic*
|
||||
8. Dynamic loading *python-dynamic*
|
||||
|
||||
On MS-Windows the Python library can be loaded dynamically. The |:version|
|
||||
output then includes |+python/dyn|.
|
||||
@@ -381,14 +515,16 @@ Currently the name is "python24.dll". That is for Python 2.4. To know for
|
||||
sure edit "gvim.exe" and search for "python\d*.dll\c".
|
||||
|
||||
==============================================================================
|
||||
8. Python 3 *python3*
|
||||
9. Python 3 *python3*
|
||||
|
||||
*:py3* *:python3*
|
||||
The |:py3| and |:python3| commands work similar to |:python|. A simple check
|
||||
The `:py3` and `:python3` commands work similar to `:python`. A simple check
|
||||
if the `:py3` command is working: >
|
||||
:py3 print("Hello")
|
||||
< *:py3file*
|
||||
The |:py3file| command works similar to |:pyfile|.
|
||||
The `:py3file` command works similar to `:pyfile`.
|
||||
*:py3do* *E863*
|
||||
The `:py3do` command works similar to `:pydo`.
|
||||
|
||||
|
||||
Vim can be built in four ways (:version output):
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*indent.txt* For Vim version 7.3. Last change: 2012 Aug 30
|
||||
*indent.txt* For Vim version 7.3. Last change: 2013 May 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -740,12 +740,12 @@ those useless characters first with a command like: >
|
||||
:%s /\r$//g
|
||||
|
||||
Or, you can simply |:let| the variable PHP_removeCRwhenUnix to 1 and the
|
||||
script will silently remove them when Vim loads a PHP file (at each|BufRead|).
|
||||
script will silently remove them when Vim loads a PHP file (at each |BufRead|).
|
||||
|
||||
OPTIONS: ~
|
||||
|
||||
PHP indenting can be altered in several ways by modifying the values of some
|
||||
variables:
|
||||
global variables:
|
||||
|
||||
*php-comment*
|
||||
To not enable auto-formating of comments by default (if you want to use your
|
||||
@@ -753,10 +753,21 @@ own 'formatoptions'): >
|
||||
:let g:PHP_autoformatcomment = 0
|
||||
|
||||
Else, 't' will be removed from the 'formatoptions' string and "qrowcb" will be
|
||||
added, see|fo-table|for more information.
|
||||
added, see |fo-table| for more information.
|
||||
-------------
|
||||
|
||||
To add an extra indent to every PHP lines with N being the number of
|
||||
To add extra indentation to single-line comments: >
|
||||
:let g:PHP_outdentSLComments = N
|
||||
|
||||
With N being the number of 'shiftwidth' to add.
|
||||
|
||||
Only single-line comments will be affected such as: >
|
||||
# Comment
|
||||
// Comment
|
||||
/* Comment */
|
||||
-------------
|
||||
|
||||
To add extra indentation to every PHP lines with N being the number of
|
||||
'shiftwidth' to add: >
|
||||
:let g:PHP_default_indenting = N
|
||||
|
||||
@@ -772,7 +783,7 @@ For example, with N = 1, this will give:
|
||||
|
||||
$command_hist = TRUE;
|
||||
?>
|
||||
(Notice the extra indent between the PHP container markers and the code)
|
||||
(Notice the extra indentation between the PHP container markers and the code)
|
||||
-------------
|
||||
|
||||
To indent PHP tags as the surrounding code: >
|
||||
@@ -804,8 +815,10 @@ NOTE: Indenting will be a bit slower if this option is used because some
|
||||
To indent 'case:' and 'default:' statements in switch() blocks: >
|
||||
:let g:PHP_vintage_case_default_indent = 1
|
||||
|
||||
(Since in PHP braces are not required inside 'case/default' blocks, by default they are indented at the same level than the 'switch()' to avoid
|
||||
unnecessary indentation)
|
||||
In PHP braces are not required inside 'case/default' blocks therefore 'case:'
|
||||
and 'default:' are indented at the same level than the 'switch()' to avoid
|
||||
meaningless indentation. You can use the above option to return to the
|
||||
traditional way.
|
||||
|
||||
|
||||
PYTHON *ft-python-indent*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 7.3. Last change: 2013 Feb 28
|
||||
*index.txt* For Vim version 7.3. Last change: 2013 May 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -725,6 +725,7 @@ tag char note action in Normal mode ~
|
||||
cursor N times, leave the cursor after it
|
||||
|gQ| gQ switch to "Ex" mode with Vim editing
|
||||
|gR| gR 2 enter Virtual Replace mode
|
||||
|gT| gT go to the previous tab page
|
||||
|gU| gU{motion} 2 make Nmove text uppercase
|
||||
|gV| gV don't reselect the previous Visual area
|
||||
when executing a mapping or menu in Select
|
||||
@@ -762,6 +763,7 @@ tag char note action in Normal mode ~
|
||||
|gq| gq{motion} 2 format Nmove text
|
||||
|gr| gr{char} 2 virtual replace N chars with {char}
|
||||
|gs| gs go to sleep for N seconds (default 1)
|
||||
|gt| gt go to the next tab page
|
||||
|gu| gu{motion} 2 make Nmove text lowercase
|
||||
|gv| gv reselect the previous Visual area
|
||||
|gw| gw{motion} 2 format Nmove text and keep cursor
|
||||
@@ -1401,8 +1403,10 @@ tag command action ~
|
||||
|:pwd| :pw[d] print current directory
|
||||
|:py3| :py3 execute Python 3 command
|
||||
|:python3| :python3 same as :py3
|
||||
|:py3do| :py3d[o] execute Python 3 command for each line
|
||||
|:py3file| :py3f[ile] execute Python 3 script file
|
||||
|:python| :py[thon] execute Python command
|
||||
|:pydo| :pyd[o] execute Python command for each line
|
||||
|:pyfile| :pyf[ile] execute Python script file
|
||||
|:quit| :q[uit] quit current window (when one window quit Vim)
|
||||
|:quitall| :quita[ll] quit Vim
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 7.3. Last change: 2013 Jan 09
|
||||
*insert.txt* For Vim version 7.3. Last change: 2013 Apr 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1869,13 +1869,15 @@ NOTE: These commands cannot be used with |:global| or |:vglobal|.
|
||||
See |++opt| for the possible values of [++opt].
|
||||
|
||||
*:r!* *:read!*
|
||||
:[range]r[ead] !{cmd} Execute {cmd} and insert its standard output below
|
||||
:[range]r[ead] [++opt] !{cmd}
|
||||
Execute {cmd} and insert its standard output below
|
||||
the cursor or the specified line. A temporary file is
|
||||
used to store the output of the command which is then
|
||||
read into the buffer. 'shellredir' is used to save
|
||||
the output of the command, which can be set to include
|
||||
stderr or not. {cmd} is executed like with ":!{cmd}",
|
||||
any '!' is replaced with the previous command |:!|.
|
||||
See |++opt| for the possible values of [++opt].
|
||||
|
||||
These commands insert the contents of a file, or the output of a command,
|
||||
into the buffer. They can be undone. They cannot be repeated with the "."
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 7.3. Last change: 2012 Apr 13
|
||||
*map.txt* For Vim version 7.3. Last change: 2013 May 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -49,7 +49,7 @@ modes.
|
||||
:nm[ap] {lhs} {rhs} |mapmode-n| *:nm* *:nmap*
|
||||
:vm[ap] {lhs} {rhs} |mapmode-v| *:vm* *:vmap*
|
||||
:xm[ap] {lhs} {rhs} |mapmode-x| *:xm* *:xmap*
|
||||
:smap {lhs} {rhs} |mapmode-s| *:smap*
|
||||
:smap {lhs} {rhs} |mapmode-s| *:smap*
|
||||
:om[ap] {lhs} {rhs} |mapmode-o| *:om* *:omap*
|
||||
:map! {lhs} {rhs} |mapmode-ic| *:map!*
|
||||
:im[ap] {lhs} {rhs} |mapmode-i| *:im* *:imap*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mbyte.txt* For Vim version 7.3. Last change: 2012 Oct 06
|
||||
*mbyte.txt* For Vim version 7.3. Last change: 2013 May 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@@ -48,9 +48,9 @@ COMPILING
|
||||
If you already have a compiled Vim program, check if the |+multi_byte| feature
|
||||
is included. The |:version| command can be used for this.
|
||||
|
||||
If +multi_byte is not included, you should compile Vim with "big" features.
|
||||
You can further tune what features are included. See the INSTALL files in the
|
||||
source directory.
|
||||
If +multi_byte is not included, you should compile Vim with "normal", "big" or
|
||||
"huge" features. You can further tune what features are included. See the
|
||||
INSTALL files in the source directory.
|
||||
|
||||
|
||||
LOCALE
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 7.3. Last change: 2013 Mar 13
|
||||
*options.txt* For Vim version 7.3. Last change: 2013 May 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -277,8 +277,10 @@ Now the 'list' option is not set, because ":set nolist" resets the global
|
||||
value, ":setlocal list" only changes the local value and ":e two" gets the
|
||||
global value. Note that if you do this next: >
|
||||
:e one
|
||||
You will not get back the 'list' value as it was the last time you edited
|
||||
"one". The options local to a window are not remembered for each buffer.
|
||||
You will get back the 'list' value as it was the last time you edited "one".
|
||||
The options local to a window are remembered for each buffer. This also
|
||||
happens when the buffer is not loaded, but they are lost when the buffer is
|
||||
wiped out |:bwipe|.
|
||||
|
||||
*:setl* *:setlocal*
|
||||
:setl[ocal] ... Like ":set" but set only the value local to the
|
||||
@@ -701,7 +703,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
Vim may set this option automatically at startup time when Vim is
|
||||
compiled with the |+termresponse| feature and if |t_u7| is set to the
|
||||
sescape sequense to request cursor position report.
|
||||
escape sequence to request cursor position report.
|
||||
|
||||
*'antialias'* *'anti'* *'noantialias'* *'noanti'*
|
||||
'antialias' 'anti' boolean (default: off)
|
||||
@@ -2872,7 +2874,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
See |file-formats| and |file-read|.
|
||||
For the character encoding of the file see 'fileencoding'.
|
||||
When 'binary' is set, the value of 'fileformat' is ignored, file I/O
|
||||
works like it was set to "unix'.
|
||||
works like it was set to "unix".
|
||||
This option is set automatically when starting to edit a file and
|
||||
'fileformats' is not empty and 'binary' is off.
|
||||
When this option is set, after starting to edit a file, the 'modified'
|
||||
@@ -2941,6 +2943,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
NOTE: This option is set to the Vi default value when 'compatible' is
|
||||
set and to the Vim default value when 'compatible' is reset.
|
||||
|
||||
*'fileignorecase'* *'fic'* *'nofileignorecase'* *'nofic'*
|
||||
'fileignorecase' 'fic' boolean (default on for systems where case in file
|
||||
names is normally ignored)
|
||||
global
|
||||
{not in Vi}
|
||||
When set case is ignored when using file names and directories.
|
||||
See 'wildignorecase' for only ignoring case when doing completion.
|
||||
|
||||
*'filetype'* *'ft'*
|
||||
'filetype' 'ft' string (default: "")
|
||||
local to buffer
|
||||
@@ -5506,6 +5516,19 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
matches will be highlighted. This is used to avoid that Vim hangs
|
||||
when using a very complicated pattern.
|
||||
|
||||
*'regexpengine''* *'re'*
|
||||
'regexpengine' 're' number (default 0)
|
||||
global
|
||||
{not in Vi}
|
||||
This selects the default regexp engine. |two-engines|
|
||||
The possible values are:
|
||||
0 automatic selection
|
||||
1 old engine
|
||||
2 NFA engine
|
||||
Note that when using the NFA engine and the pattern contains something
|
||||
that is not supported the pattern will not match. This is only useful
|
||||
for debugging the regexp engine.
|
||||
|
||||
*'relativenumber'* *'rnu'* *'norelativenumber'* *'nornu'*
|
||||
'relativenumber' 'rnu' boolean (default off)
|
||||
local to window
|
||||
@@ -7903,7 +7926,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
global
|
||||
{not in Vi}
|
||||
When set case is ignored when completing file names and directories.
|
||||
Has no effect on systems where file name case is generally ignored.
|
||||
Has no effect when 'fileignorecase' is set.
|
||||
Does not apply when the shell is used to expand wildcards, which
|
||||
happens when there are special characters.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 7.3. Last change: 2013 Jan 25
|
||||
*pattern.txt* For Vim version 7.3. Last change: 2013 May 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -350,6 +350,27 @@ For starters, read chapter 27 of the user manual |usr_27.txt|.
|
||||
or \z( pattern \) |/\z(|
|
||||
|
||||
|
||||
*/\%#=* *two-engines*
|
||||
Vim includes two regexp engines:
|
||||
1. An old, backtracking engine that supports everything.
|
||||
2. A new, NFA engine that works much faster on some patterns, but does not
|
||||
support everything.
|
||||
|
||||
Vim will automatically select the right engine for you. However, if you run
|
||||
into a problem or want to specifically select one engine or the other, you can
|
||||
prepend one of the following to the pattern:
|
||||
|
||||
\%#=0 Force automatic selection. Only has an effect when
|
||||
'regexpengine' has been set to a non-zero value.
|
||||
\%#=1 Force using the old engine.
|
||||
\%#=2 Force using the NFA engine.
|
||||
|
||||
You can also use the 'regexpengine' option to change the default.
|
||||
|
||||
*E864* *E868* *E874* *E875* *E876* *E877* *E878*
|
||||
If selecting the NFA engine and it runs into something that is not implemented
|
||||
the pattern will not match. This is only useful when debugging Vim.
|
||||
|
||||
==============================================================================
|
||||
3. Magic */magic*
|
||||
|
||||
@@ -396,9 +417,10 @@ pattern.
|
||||
|
||||
==============================================================================
|
||||
4. Overview of pattern items *pattern-overview*
|
||||
*E865* *E866* *E867* *E869*
|
||||
|
||||
Overview of multi items. */multi* *E61* *E62*
|
||||
More explanation and examples below, follow the links. *E64*
|
||||
More explanation and examples below, follow the links. *E64* *E871*
|
||||
|
||||
multi ~
|
||||
'magic' 'nomagic' matches of the preceding atom ~
|
||||
@@ -508,12 +530,14 @@ Character classes {not in Vi}: */character-classes*
|
||||
|
||||
|/\c| \c \c ignore case, do not use the 'ignorecase' option
|
||||
|/\C| \C \C match case, do not use the 'ignorecase' option
|
||||
|/\Z| \Z \Z ignore differences in Unicode "combining characters".
|
||||
Useful when searching voweled Hebrew or Arabic text.
|
||||
|
||||
|/\m| \m \m 'magic' on for the following chars in the pattern
|
||||
|/\M| \M \M 'magic' off for the following chars in the pattern
|
||||
|/\v| \v \v the following chars in the pattern are "very magic"
|
||||
|/\V| \V \V the following chars in the pattern are "very nomagic"
|
||||
|/\Z| \Z \Z ignore differences in Unicode "combining characters".
|
||||
Useful when searching voweled Hebrew or Arabic text.
|
||||
|/\%#=| \%#=1 \%#=1 select regexp engine |/zero-width|
|
||||
|
||||
|/\%d| \%d \%d match specified decimal character (eg \%d123)
|
||||
|/\%x| \%x \%x match specified hex character (eg \%x2a)
|
||||
@@ -581,7 +605,7 @@ overview.
|
||||
\? Just like \=. Cannot be used when searching backwards with the "?"
|
||||
command. {not in Vi}
|
||||
|
||||
*/\{* *E58* *E60* *E554*
|
||||
*/\{* *E58* *E60* *E554* *E870*
|
||||
\{n,m} Matches n to m of the preceding atom, as many as possible
|
||||
\{n} Matches n of the preceding atom
|
||||
\{n,} Matches at least n of the preceding atom, as many as possible
|
||||
@@ -962,7 +986,8 @@ match ASCII characters, as indicated by the range.
|
||||
~ matches the last given substitute string */~* */\~*
|
||||
|
||||
\(\) A pattern enclosed by escaped parentheses. */\(* */\(\)* */\)*
|
||||
E.g., "\(^a\)" matches 'a' at the start of a line. *E51* *E54* *E55*
|
||||
E.g., "\(^a\)" matches 'a' at the start of a line.
|
||||
*E51* *E54* *E55* *E872* *E873*
|
||||
|
||||
\1 Matches the same string that was matched by */\1* *E65*
|
||||
the first sub-expression in \( and \). {not in Vi}
|
||||
@@ -1061,6 +1086,8 @@ x A single character, with no special meaning, matches itself
|
||||
any character that's not in "^]-\bdertnoUux". "[\xyz]" matches '\',
|
||||
'x', 'y' and 'z'. It's better to use "\\" though, future expansions
|
||||
may use other characters after '\'.
|
||||
- Omitting the trailing ] is not considered an error. "[]" works like
|
||||
"[]]", it matches the ']' character.
|
||||
- The following translations are accepted when the 'l' flag is not
|
||||
included in 'cpoptions' {not in Vi}:
|
||||
\e <Esc>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
*pi_getscript.txt* For Vim version 7.0. Last change: 2011 Jun 23
|
||||
*pi_getscript.txt* For Vim version 7.0. Last change: 2012 Apr 07
|
||||
>
|
||||
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell, Jr.
|
||||
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell
|
||||
<
|
||||
Authors: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamilyA.Mbiz>
|
||||
Authors: Charles E. Campbell <NdrOchip@ScampbellPfamilyA.Mbiz>
|
||||
(remove NOSPAM from the email address)
|
||||
*GetLatestVimScripts-copyright*
|
||||
Copyright: (c) 2004-2012 by Charles E. Campbell, Jr. *glvs-copyright*
|
||||
Copyright: (c) 2004-2012 by Charles E. Campbell *glvs-copyright*
|
||||
The VIM LICENSE (see |copyright|) applies to the files in this
|
||||
package, including getscriptPlugin.vim, getscript.vim,
|
||||
GetLatestVimScripts.dist, and pi_getscript.txt, except use "getscript"
|
||||
@@ -343,6 +343,11 @@ after/syntax/c.vim contained in it to overwrite a user's c.vim.
|
||||
default= $HOME/vimfiles (windows)
|
||||
Override where :AutoInstall: scripts will be installed.
|
||||
Doesn't override vimball installation.
|
||||
>
|
||||
g:GetLatestVimScripts_scriptaddr
|
||||
< default='http://vim.sourceforge.net/script.php?script_id='
|
||||
Override this if your system needs
|
||||
... ='http://vim.sourceforge.net/script/script.php?script_id='
|
||||
|
||||
==============================================================================
|
||||
8. GetLatestVimScripts Algorithm *glvs-algorithm* *glvs-alg*
|
||||
@@ -380,7 +385,11 @@ The AutoInstall process will:
|
||||
==============================================================================
|
||||
9. GetLatestVimScripts History *getscript-history* *glvs-hist* {{{1
|
||||
|
||||
v44 Jun 23, 2011 : * handles additional decompression options for tarballs
|
||||
v35 Apr 07, 2012 : * (MengHuan Yu) pointed out that the script url has
|
||||
changed (somewhat). However, it doesn't work, and
|
||||
the original one does (under Linux). I'll make it
|
||||
yet-another-option.
|
||||
v34 Jun 23, 2011 : * handles additional decompression options for tarballs
|
||||
(tgz taz tbz txz)
|
||||
v33 May 31, 2011 : * using fnameescape() instead of escape()
|
||||
* *.xz support
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
*pi_netrw.txt* For Vim version 7.3. Last change: 2012 Oct 25
|
||||
*pi_netrw.txt* For Vim version 7.3. Last change: 2013 May 18
|
||||
|
||||
-----------------------------------------------------
|
||||
NETRW REFERENCE MANUAL by Charles E. Campbell, Jr.
|
||||
-----------------------------------------------------
|
||||
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
|
||||
------------------------------------------------
|
||||
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||
------------------------------------------------
|
||||
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
||||
(remove NOSPAM from Campbell's email first)
|
||||
|
||||
Copyright: Copyright (C) 1999-2012 Charles E Campbell, Jr *netrw-copyright*
|
||||
Copyright: Copyright (C) 1999-2013 Charles E Campbell *netrw-copyright*
|
||||
The VIM LICENSE applies to the files in this package, including
|
||||
netrw.vim, pi_netrw.txt, netrwFileHandlers.vim, netrwSettings.vim, and
|
||||
syntax/netrw.vim. Like anything else that's free, netrw.vim and its
|
||||
@@ -25,83 +25,87 @@ Copyright: Copyright (C) 1999-2012 Charles E Campbell, Jr *netrw-copyright*
|
||||
==============================================================================
|
||||
1. Contents *netrw-contents* {{{1
|
||||
|
||||
1. Contents.............................................|netrw-contents|
|
||||
2. Starting With Netrw..................................|netrw-start|
|
||||
3. Netrw Reference......................................|netrw-ref|
|
||||
EXTERNAL APPLICATIONS AND PROTOCOLS................|netrw-externapp|
|
||||
READING............................................|netrw-read|
|
||||
WRITING............................................|netrw-write|
|
||||
SOURCING...........................................|netrw-source|
|
||||
DIRECTORY LISTING..................................|netrw-dirlist|
|
||||
CHANGING THE USERID AND PASSWORD...................|netrw-chgup|
|
||||
VARIABLES AND SETTINGS.............................|netrw-variables|
|
||||
PATHS..............................................|netrw-path|
|
||||
4. Network-Oriented File Transfer.......................|netrw-xfer|
|
||||
NETRC..............................................|netrw-netrc|
|
||||
PASSWORD...........................................|netrw-passwd|
|
||||
5. Activation...........................................|netrw-activate|
|
||||
6. Transparent Remote File Editing......................|netrw-transparent|
|
||||
7. Ex Commands..........................................|netrw-ex|
|
||||
8. Variables and Options................................|netrw-variables|
|
||||
9. Browsing.............................................|netrw-browse|
|
||||
Introduction To Browsing...........................|netrw-intro-browse|
|
||||
Quick Reference: Maps..............................|netrw-browse-maps|
|
||||
Quick Reference: Commands..........................|netrw-browse-cmds|
|
||||
Bookmarking A Directory............................|netrw-mb|
|
||||
Browsing...........................................|netrw-cr|
|
||||
Browsing With A Horizontally Split Window..........|netrw-o|
|
||||
Browsing With A New Tab............................|netrw-t|
|
||||
Browsing With A Vertically Split Window............|netrw-v|
|
||||
Change Listing Style.(thin wide long tree).........|netrw-i|
|
||||
Changing To A Bookmarked Directory.................|netrw-gb|
|
||||
Changing To A Predecessor Directory................|netrw-u|
|
||||
Changing To A Successor Directory..................|netrw-U|
|
||||
Customizing Browsing With A User Function..........|netrw-x|
|
||||
Deleting Bookmarks.................................|netrw-mB|
|
||||
Deleting Files Or Directories......................|netrw-D|
|
||||
Directory Exploring Commands.......................|netrw-explore|
|
||||
Exploring With Stars and Patterns..................|netrw-star|
|
||||
Displaying Information About File..................|netrw-qf|
|
||||
Edit File Or Directory Hiding List.................|netrw-ctrl-h|
|
||||
Editing The Sorting Sequence.......................|netrw-S|
|
||||
Forcing treatment as a file or directory...........|netrw-gd| |netrw-gf|
|
||||
Going Up...........................................|netrw--|
|
||||
Hiding Files Or Directories........................|netrw-a|
|
||||
Improving Browsing.................................|netrw-ssh-hack|
|
||||
Listing Bookmarks And History......................|netrw-qb|
|
||||
Making A New Directory.............................|netrw-d|
|
||||
Making The Browsing Directory The Current Directory|netrw-c|
|
||||
Marking Files......................................|netrw-mf|
|
||||
Marking Files By Regular Expression................|netrw-mr|
|
||||
Marked Files: Arbitrary Command....................|netrw-mx|
|
||||
Marked Files: Compression And Decompression........|netrw-mz|
|
||||
Marked Files: Copying..............................|netrw-mc|
|
||||
Marked Files: Diff.................................|netrw-md|
|
||||
Marked Files: Editing..............................|netrw-me|
|
||||
Marked Files: Grep.................................|netrw-mg|
|
||||
Marked Files: Hiding and Unhiding by Suffix........|netrw-mh|
|
||||
Marked Files: Moving...............................|netrw-mm|
|
||||
Marked Files: Printing.............................|netrw-mp|
|
||||
Marked Files: Sourcing.............................|netrw-ms|
|
||||
Marked Files: Tagging..............................|netrw-mT|
|
||||
Marked Files: Setting the Target Directory.........|netrw-mt|
|
||||
Marked Files: Unmarking............................|netrw-mu|
|
||||
Netrw Browser Variables............................|netrw-browser-var|
|
||||
Netrw Browsing And Option Incompatibilities........|netrw-incompatible|
|
||||
Netrw Settings Window..............................|netrw-settings-window|
|
||||
Obtaining A File...................................|netrw-O|
|
||||
Preview Window.....................................|netrw-p|
|
||||
Previous Window....................................|netrw-P|
|
||||
Refreshing The Listing.............................|netrw-ctrl-l|
|
||||
Renaming Files Or Directories......................|netrw-move|
|
||||
Reversing Sorting Order............................|netrw-r|
|
||||
Selecting Sorting Style............................|netrw-s|
|
||||
Setting Editing Window.............................|netrw-C|
|
||||
10. Problems and Fixes...................................|netrw-problems|
|
||||
11. Debugging Netrw Itself...............................|netrw-debug|
|
||||
12. History..............................................|netrw-history|
|
||||
13. Todo.................................................|netrw-todo|
|
||||
14. Credits..............................................|netrw-credits|
|
||||
1. Contents..............................................|netrw-contents|
|
||||
2. Starting With Netrw...................................|netrw-start|
|
||||
3. Netrw Reference.......................................|netrw-ref|
|
||||
EXTERNAL APPLICATIONS AND PROTOCOLS.................|netrw-externapp|
|
||||
READING.............................................|netrw-read|
|
||||
WRITING.............................................|netrw-write|
|
||||
SOURCING............................................|netrw-source|
|
||||
DIRECTORY LISTING...................................|netrw-dirlist|
|
||||
CHANGING THE USERID AND PASSWORD....................|netrw-chgup|
|
||||
VARIABLES AND SETTINGS..............................|netrw-variables|
|
||||
PATHS...............................................|netrw-path|
|
||||
4. Network-Oriented File Transfer........................|netrw-xfer|
|
||||
NETRC...............................................|netrw-netrc|
|
||||
PASSWORD............................................|netrw-passwd|
|
||||
5. Activation............................................|netrw-activate|
|
||||
6. Transparent Remote File Editing.......................|netrw-transparent|
|
||||
7. Ex Commands...........................................|netrw-ex|
|
||||
8. Variables and Options.................................|netrw-variables|
|
||||
9. Browsing..............................................|netrw-browse|
|
||||
Introduction To Browsing............................|netrw-intro-browse|
|
||||
Quick Reference: Maps...............................|netrw-browse-maps|
|
||||
Quick Reference: Commands...........................|netrw-browse-cmds|
|
||||
Bookmarking A Directory.............................|netrw-mb|
|
||||
Browsing............................................|netrw-cr|
|
||||
Browsing With A Horizontally Split Window...........|netrw-o|
|
||||
Browsing With A New Tab.............................|netrw-t|
|
||||
Browsing With A Vertically Split Window.............|netrw-v|
|
||||
Change Listing Style.(thin wide long tree)..........|netrw-i|
|
||||
Changing To A Bookmarked Directory..................|netrw-gb|
|
||||
Changing To A Predecessor Directory.................|netrw-u|
|
||||
Changing To A Successor Directory...................|netrw-U|
|
||||
Customizing Browsing With A User Function...........|netrw-x|
|
||||
Deleting Bookmarks..................................|netrw-mB|
|
||||
Deleting Files Or Directories.......................|netrw-D|
|
||||
Directory Exploring Commands........................|netrw-explore|
|
||||
Exploring With Stars and Patterns...................|netrw-star|
|
||||
Displaying Information About File...................|netrw-qf|
|
||||
Edit File Or Directory Hiding List..................|netrw-ctrl-h|
|
||||
Editing The Sorting Sequence........................|netrw-S|
|
||||
Forcing treatment as a file or directory............|netrw-gd| |netrw-gf|
|
||||
Going Up............................................|netrw--|
|
||||
Hiding Files Or Directories.........................|netrw-a|
|
||||
Improving Browsing..................................|netrw-ssh-hack|
|
||||
Listing Bookmarks And History.......................|netrw-qb|
|
||||
Making A New Directory..............................|netrw-d|
|
||||
Making The Browsing Directory The Current Directory.|netrw-c|
|
||||
Marking Files.......................................|netrw-mf|
|
||||
Unmarking Files.....................................|netrw-mF|
|
||||
Marking Files By QuickFix List......................|netrw-qF|
|
||||
Marking Files By Regular Expression.................|netrw-mr|
|
||||
Marked Files: Arbitrary Command.....................|netrw-mx|
|
||||
Marked Files: Compression And Decompression.........|netrw-mz|
|
||||
Marked Files: Copying...............................|netrw-mc|
|
||||
Marked Files: Diff..................................|netrw-md|
|
||||
Marked Files: Editing...............................|netrw-me|
|
||||
Marked Files: Grep..................................|netrw-mg|
|
||||
Marked Files: Hiding and Unhiding by Suffix.........|netrw-mh|
|
||||
Marked Files: Moving................................|netrw-mm|
|
||||
Marked Files: Printing..............................|netrw-mp|
|
||||
Marked Files: Sourcing..............................|netrw-ms|
|
||||
Marked Files: Setting the Target Directory..........|netrw-mt|
|
||||
Marked Files: Tagging...............................|netrw-mT|
|
||||
Marked Files: Target Directory Using Bookmarks......|netrw-Tb|
|
||||
Marked Files: Target Directory Using History........|netrw-Th|
|
||||
Marked Files: Unmarking.............................|netrw-mu|
|
||||
Netrw Browser Variables.............................|netrw-browser-var|
|
||||
Netrw Browsing And Option Incompatibilities.........|netrw-incompatible|
|
||||
Netrw Settings Window...............................|netrw-settings-window|
|
||||
Obtaining A File....................................|netrw-O|
|
||||
Preview Window......................................|netrw-p|
|
||||
Previous Window.....................................|netrw-P|
|
||||
Refreshing The Listing..............................|netrw-ctrl-l|
|
||||
Reversing Sorting Order.............................|netrw-r|
|
||||
Renaming Files Or Directories.......................|netrw-R|
|
||||
Selecting Sorting Style.............................|netrw-s|
|
||||
Setting Editing Window..............................|netrw-C|
|
||||
10. Problems and Fixes....................................|netrw-problems|
|
||||
11. Debugging Netrw Itself................................|netrw-debug|
|
||||
12. History...............................................|netrw-history|
|
||||
13. Todo..................................................|netrw-todo|
|
||||
14. Credits...............................................|netrw-credits|
|
||||
|
||||
{Vi does not have any of this}
|
||||
|
||||
@@ -142,13 +146,13 @@ and has lines resembling >
|
||||
<
|
||||
Windows' ftp doesn't support .netrc; however, one may have in one's .vimrc: >
|
||||
|
||||
let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\Myself\MACHINE'
|
||||
let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\MyUserName\MACHINE'
|
||||
<
|
||||
Netrw will substitute the host's machine name for MACHINE from the url it is
|
||||
Netrw will substitute the host's machine name for "MACHINE" from the url it is
|
||||
attempting to open, and so one may specify >
|
||||
userid
|
||||
password
|
||||
for each site in a separate file in c:\Users\Myself\.
|
||||
for each site in a separate file: c:\Users\MyUserName\MachineName.
|
||||
|
||||
Now about browsing -- when you just want to look around before editing a
|
||||
file. For browsing on your current host, just "edit" a directory: >
|
||||
@@ -282,7 +286,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: >
|
||||
@@ -317,6 +321,8 @@ CHANGING USERID AND PASSWORD *netrw-chgup* *netrw-userpass* {{{2
|
||||
:call NetUserPass("uid") -- prompts for password
|
||||
:call NetUserPass("uid","password") -- sets global uid and password
|
||||
|
||||
(Related topics: |ftp| |netrw-userpass| |netrw-start|)
|
||||
|
||||
NETRW VARIABLES AND SETTINGS *netrw-variables* {{{2
|
||||
(Also see:
|
||||
|netrw-browser-var| : netrw browser option variables
|
||||
@@ -538,8 +544,8 @@ 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/
|
||||
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
|
||||
<
|
||||
@@ -923,6 +929,7 @@ itself:
|
||||
endfunction
|
||||
endif
|
||||
>
|
||||
(Related topics: |ftp| |netrw-userpass| |netrw-start|)
|
||||
|
||||
==============================================================================
|
||||
9. Browsing *netrw-browsing* *netrw-browse* *netrw-help* {{{1
|
||||
@@ -1086,8 +1093,8 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
||||
<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> mapping
|
||||
defined before netrw is autoloaded,
|
||||
* 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|.
|
||||
<s-leftmouse> (gvim only) like mf, will mark files
|
||||
@@ -1183,17 +1190,18 @@ cursor at the top.
|
||||
|
||||
Associated setting variables: |g:netrw_alto| |g:netrw_winsize|
|
||||
|
||||
Related Actions |netrw-cr| |netrw-p| |netrw-t| |netrw-T| |netrw-v|
|
||||
Related Actions |netrw-cr| |netrw-p| |netrw-t| |netrw-v|
|
||||
Associated setting variables:
|
||||
|g:netrw_alto| control above/below splitting
|
||||
|g:netrw_winsize| control initial sizing
|
||||
|
||||
BROWSING WITH A NEW TAB *netrw-t* *netrw-T* {{{2
|
||||
BROWSING WITH A NEW TAB *netrw-t*
|
||||
|
||||
Normally one enters a file or directory using the <cr>. The "t" map
|
||||
allows one to open a new window holding the new directory listing or file in
|
||||
a new tab. The "T" version puts the file or directory into a background tab
|
||||
(see |gT|)
|
||||
a new tab.
|
||||
|
||||
If you'd like to have the new listing in a background tab, use |gT|.
|
||||
|
||||
Related Actions |netrw-cr| |netrw-o| |netrw-p| |netrw-v|
|
||||
Associated setting variables:
|
||||
@@ -1213,7 +1221,7 @@ 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-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
|
||||
@@ -1276,6 +1284,8 @@ To change directory back to a bookmarked directory, use
|
||||
{cnt}gb
|
||||
|
||||
Any count may be used to reference any of the bookmarks.
|
||||
Note that |netrw-qb| shows both bookmarks and history; to go
|
||||
to a location stored in the history see |netrw-u| and |netrw-U|.
|
||||
|
||||
Related Topics:
|
||||
|netrw-mB| how to delete bookmarks
|
||||
@@ -1291,6 +1301,13 @@ list (unless |g:netrw_dirhistmax| is zero; by default, it's ten). With the
|
||||
"u" map, one can change to an earlier directory (predecessor). To do
|
||||
the opposite, see |netrw-U|.
|
||||
|
||||
The "u" map also accepts counts to go back in the history several slots.
|
||||
For your convenience, |netrw-qb| lists the history number which can be
|
||||
re-used in that count.
|
||||
|
||||
See |g:netrw_dirhistmax| for how to control the quantity of history stack
|
||||
slots.
|
||||
|
||||
|
||||
CHANGING TO A SUCCESSOR DIRECTORY *netrw-U* *netrw-downdir* {{{2
|
||||
|
||||
@@ -1298,6 +1315,11 @@ With the "U" map, one can change to a later directory (successor).
|
||||
This map is the opposite of the "u" map. (see |netrw-u|) Use the
|
||||
q map to list both the bookmarks and history. (see |netrw-qb|)
|
||||
|
||||
The "U" map also accepts counts to go forward in the history several slots.
|
||||
|
||||
See |g:netrw_dirhistmax| for how to control the quantity of history stack
|
||||
slots.
|
||||
|
||||
|
||||
NETRW CLEAN *netrw-clean* *:NetrwClean*
|
||||
|
||||
@@ -1674,7 +1696,7 @@ As a quick shortcut, one may press >
|
||||
to toggle between hiding files which begin with a period (dot) and not hiding
|
||||
them.
|
||||
|
||||
Associated setting variable: |g:netrw_list_hide|
|
||||
Associated setting variable: |g:netrw_list_hide| |g:netrw_hide|
|
||||
Associated topics: |netrw-a| |netrw-ctrl-h| |netrw-mh|
|
||||
|
||||
IMPROVING BROWSING *netrw-listhack* *netrw-ssh-hack* {{{2
|
||||
@@ -1785,9 +1807,10 @@ Associated setting variables: |g:netrw_localmkdir| |g:netrw_mkdir_cmd|
|
||||
MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* {{{2
|
||||
|
||||
By default, |g:netrw_keepdir| is 1. This setting means that the current
|
||||
directory will not track the browsing directory.
|
||||
directory will not track the browsing directory. (done for backwards
|
||||
compatibility with v6's file explorer).
|
||||
|
||||
Setting g:netrw_keepdir to 0 tells netrw to make vim's current directory to
|
||||
Setting g:netrw_keepdir to 0 tells netrw to make vim's current directory
|
||||
track netrw's browsing directory.
|
||||
|
||||
However, given the default setting for g:netrw_keepdir of 1 where netrw
|
||||
@@ -1810,6 +1833,7 @@ maps make use of marked files:
|
||||
|netrw-mc| Copy marked files to target
|
||||
|netrw-md| Apply vimdiff to 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-mp| Print marked files
|
||||
@@ -1817,6 +1841,7 @@ maps make use of marked files:
|
||||
|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
|
||||
|
||||
@@ -1844,6 +1869,22 @@ commands which operate on marked files use one or the other of the marked file
|
||||
lists.
|
||||
|
||||
|
||||
UNMARKING FILES *netrw-mF* {{{2
|
||||
(also see |netrw-mf|)
|
||||
|
||||
This command will unmark all files in the current buffer. One may also use
|
||||
mf (|netrw-mf|) on a specific file to unmark just that file.
|
||||
|
||||
|
||||
MARKING FILES BY QUICKFIX LIST *netrw-qF*
|
||||
(also see |netrw-mf|)
|
||||
|
||||
One may convert the |quickfix-error-lists| into a marked file list using
|
||||
"qF". You may then proceed with commands such as me (|netrw-me|) to
|
||||
edit them. Quickfix error lists are generated, for example, by calls
|
||||
to |:vimgrep|.
|
||||
|
||||
|
||||
MARKING FILES BY REGULAR EXPRESSION *netrw-mr* {{{2
|
||||
(also see |netrw-mf|)
|
||||
|
||||
@@ -1902,17 +1943,27 @@ MARKED FILES: EDITING *netrw-me* {{{2
|
||||
|
||||
This command will place the marked files on the |arglist| and commence
|
||||
editing them. One may return the to explorer window with |:Rexplore|.
|
||||
(use |:n| and |:p| to edit next and previous files in the arglist)
|
||||
|
||||
MARKED FILES: GREP *netrw-mg* {{{2
|
||||
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||
(uses the global marked file list)
|
||||
|
||||
This command will apply |:vimgrep| to the marked files. The command will ask
|
||||
for the requested pattern; one may enter: >
|
||||
This command will apply |:vimgrep| to the marked files.
|
||||
The command will ask for the requested pattern; one may then enter: >
|
||||
|
||||
/pattern/[g][j]
|
||||
! /pattern/[g][j]
|
||||
pattern
|
||||
<
|
||||
In the cases of "j" option usage as shown above, "mg" will winnow the current
|
||||
marked file list to just those possessing the specified pattern.
|
||||
Thus, one may use >
|
||||
mr ...file-pattern
|
||||
mg ..contents-pattern
|
||||
to have a marked file list satisfying the file-pattern but containing the
|
||||
desried contents-pattern.
|
||||
|
||||
MARKED FILES: HIDING AND UNHIDING BY SUFFIX *netrw-mh* {{{2
|
||||
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||
(uses the local marked file list)
|
||||
@@ -1958,6 +2009,36 @@ MARKED FILES: SOURCING *netrw-ms* {{{2
|
||||
Netrw will source the marked files (using vim's |:source| command)
|
||||
|
||||
|
||||
MARKED FILES: SETTING THE TARGET DIRECTORY *netrw-mt* {{{2
|
||||
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||
|
||||
Set the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|):
|
||||
|
||||
* If the cursor is atop a file name, then the netrw window's currently
|
||||
displayed directory is used for the copy/move-to target.
|
||||
|
||||
* Also, if the cursor is in the banner, then the netrw window's currently
|
||||
displayed directory is used for the copy/move-to target.
|
||||
Unless the target already is the current directory. In which case,
|
||||
remove the target.
|
||||
|
||||
* However, if the cursor is atop a directory name, then that directory is
|
||||
used for the copy/move-to target
|
||||
|
||||
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).
|
||||
|
||||
When using menus and gvim, netrw provides a "Targets" entry which allows one
|
||||
to pick a target from the list of bookmarks and history.
|
||||
|
||||
Related topics:
|
||||
Marking Files......................................|netrw-mf|
|
||||
Marking Files by Regular Expression................|netrw-mr|
|
||||
Marked Files: Target Directory Using Bookmarks.....|netrw-Tb|
|
||||
Marked Files: Target Directory Using History.......|netrw-Th|
|
||||
|
||||
|
||||
MARKED FILES: TAGGING *netrw-mT* {{{2
|
||||
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||
(uses the global marked file list)
|
||||
@@ -1983,24 +2064,37 @@ edit the desired file and go to the tag.
|
||||
|
||||
Associated setting variables: |g:netrw_ctags| |g:netrw_ssh_cmd|
|
||||
|
||||
MARKED FILES: TARGET DIRECTORY USING BOOKMARKS *netrw-Tb* {{{2
|
||||
|
||||
MARKED FILES: SETTING THE TARGET DIRECTORY *netrw-mt* {{{2
|
||||
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||
Sets the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|).
|
||||
|
||||
Set the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|):
|
||||
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).
|
||||
|
||||
* if the cursor is atop a file name, then the netrw window's currently
|
||||
displayed directory is used for the copy/move-to target.
|
||||
Related topics:
|
||||
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|
|
||||
|
||||
* also, if the cursor is in the banner, then the netrw window's currently
|
||||
displayed directory is used for the copy/move-to target.
|
||||
|
||||
* however, if the cursor is atop a directory name, then that directory is
|
||||
used for the copy/move-to target
|
||||
MARKED FILES: TARGET DIRECTORY USING HISTORY *netrw-Th* {{{2
|
||||
|
||||
Sets the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|).
|
||||
|
||||
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:
|
||||
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|
|
||||
|
||||
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).
|
||||
|
||||
MARKED FILES: UNMARKING *netrw-mu* {{{2
|
||||
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||
@@ -2020,21 +2114,25 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
--- -----------
|
||||
Var Explanation
|
||||
--- -----------
|
||||
< *g:netrw_alto* change from above splitting to below splitting
|
||||
< *g:netrw_alto* change from above splitting to below splitting
|
||||
by setting this variable (see |netrw-o|)
|
||||
default: =&sb (see |'sb'|)
|
||||
|
||||
*g:netrw_altv* change from left splitting to right splitting
|
||||
*g:netrw_altv* change from left splitting to right splitting
|
||||
by setting this variable (see |netrw-v|)
|
||||
default: =&spr (see |'spr'|)
|
||||
|
||||
*g:netrw_banner* enable/suppress the banner
|
||||
*g:netrw_banner* enable/suppress the banner
|
||||
=0: suppress the banner
|
||||
=1: banner is enabled (default)
|
||||
NOTE: suppressing the banner is a new feature
|
||||
which may cause problems.
|
||||
|
||||
*g:netrw_browse_split* when browsing, <cr> will open the file by:
|
||||
*g:netrw_bannerbackslash* if this variable exists and is not zero, the
|
||||
banner will be displayed with backslashes
|
||||
rather than forward slashes.
|
||||
|
||||
*g:netrw_browse_split* when browsing, <cr> will open the file by:
|
||||
=0: re-using the same window
|
||||
=1: horizontally splitting the window first
|
||||
=2: vertically splitting the window first
|
||||
@@ -2044,7 +2142,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
to get vertical splitting instead of
|
||||
horizontal splitting.
|
||||
|
||||
*g:netrw_browsex_viewer* specify user's preference for a viewer: >
|
||||
*g:netrw_browsex_viewer* specify user's preference for a viewer: >
|
||||
"kfmclient exec"
|
||||
"gnome-open"
|
||||
< If >
|
||||
@@ -2053,15 +2151,15 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
a script/function to handle the given
|
||||
extension. (see |netrw_filehandler|).
|
||||
|
||||
*g:netrw_chgperm* Unix/Linux: "chmod PERM FILENAME"
|
||||
*g:netrw_chgperm* Unix/Linux: "chmod PERM FILENAME"
|
||||
Windows: "cacls FILENAME /e /p PERM"
|
||||
Used to change access permission for a file.
|
||||
|
||||
*g:netrw_compress* ="gzip"
|
||||
*g:netrw_compress* ="gzip"
|
||||
Will compress marked files with this
|
||||
command
|
||||
|
||||
*g:Netrw_corehandler* Allows one to specify something additional
|
||||
*g:Netrw_corehandler* Allows one to specify something additional
|
||||
to do when handling <core> files via netrw's
|
||||
browser's "x" command (see |netrw-x|). If
|
||||
present, g:Netrw_corehandler specifies
|
||||
@@ -2070,10 +2168,11 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
is required its holding a function reference)
|
||||
|
||||
|
||||
*g:netrw_ctags* ="ctags"
|
||||
The default external program used to create tags
|
||||
*g:netrw_ctags* ="ctags"
|
||||
The default external program used to create
|
||||
tags
|
||||
|
||||
*g:netrw_cursor* = 2 (default)
|
||||
*g:netrw_cursor* = 2 (default)
|
||||
This option controls the use of the
|
||||
|'cursorline'| (cul) and |'cursorcolumn'|
|
||||
(cuc) settings by netrw:
|
||||
@@ -2091,7 +2190,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
cul : |'cursorline'| locally set
|
||||
cuc : |'cursorcolumn'| locally set
|
||||
|
||||
*g:netrw_decompress* = { ".gz" : "gunzip" ,
|
||||
*g:netrw_decompress* = { ".gz" : "gunzip" ,
|
||||
".bz2" : "bunzip2" ,
|
||||
".zip" : "unzip" ,
|
||||
".tar" : "tar -xf"}
|
||||
@@ -2112,7 +2211,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
1: warnings
|
||||
2: errors
|
||||
|
||||
*g:netrw_fastbrowse* =0: slow speed directory browsing;
|
||||
*g:netrw_fastbrowse* =0: slow speed directory browsing;
|
||||
never re-uses directory listings,
|
||||
always obtains directory listings.
|
||||
=1: medium speed directory browsing;
|
||||
@@ -2136,10 +2235,10 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
trading off accuracy (ie. up-to-date listing)
|
||||
versus speed.
|
||||
|
||||
*g:netrw_fname_escape* =' ?&;%'
|
||||
*g:netrw_fname_escape* =' ?&;%'
|
||||
Used on filenames before remote reading/writing
|
||||
|
||||
*g:netrw_ftp_browse_reject* ftp can produce a number of errors and warnings
|
||||
*g:netrw_ftp_browse_reject* ftp can produce a number of errors and warnings
|
||||
that can show up as "directories" and "files"
|
||||
in the listing. This pattern is used to
|
||||
remove such embedded messages. By default its
|
||||
@@ -2152,19 +2251,19 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
: connect to address [0-9a-fA-F:]*
|
||||
: No route to host$'
|
||||
|
||||
*g:netrw_ftp_list_cmd* options for passing along to ftp for directory
|
||||
*g:netrw_ftp_list_cmd* options for passing along to ftp for directory
|
||||
listing. Defaults:
|
||||
unix or g:netrw_cygwin set: : "ls -lF"
|
||||
otherwise "dir"
|
||||
|
||||
|
||||
*g:netrw_ftp_sizelist_cmd* options for passing along to ftp for directory
|
||||
*g:netrw_ftp_sizelist_cmd* options for passing along to ftp for directory
|
||||
listing, sorted by size of file.
|
||||
Defaults:
|
||||
unix or g:netrw_cygwin set: : "ls -slF"
|
||||
otherwise "dir"
|
||||
|
||||
*g:netrw_ftp_timelist_cmd* options for passing along to ftp for directory
|
||||
*g:netrw_ftp_timelist_cmd* options for passing along to ftp for directory
|
||||
listing, sorted by time of last modification.
|
||||
Defaults:
|
||||
unix or g:netrw_cygwin set: : "ls -tlF"
|
||||
@@ -2175,61 +2274,64 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
These characters in directory names are
|
||||
escaped before applying glob()
|
||||
|
||||
*g:netrw_hide* if true, the hiding list is used
|
||||
*g:netrw_hide* Controlled by the "a" map (see |netrw-a|)
|
||||
=0 : show all
|
||||
=1 : show not-hidden files
|
||||
=2 : show hidden files only
|
||||
default: =0
|
||||
|
||||
*g:netrw_home* The home directory for where bookmarks and
|
||||
*g:netrw_home* The home directory for where bookmarks and
|
||||
history are saved (as .netrwbook and
|
||||
.netrwhist).
|
||||
default: the first directory on the
|
||||
|'runtimepath'|
|
||||
|
||||
*g:netrw_keepdir* =1 (default) keep current directory immune from
|
||||
*g:netrw_keepdir* =1 (default) keep current directory immune from
|
||||
the browsing directory.
|
||||
=0 keep the current directory the same as the
|
||||
browsing directory.
|
||||
The current browsing directory is contained in
|
||||
b:netrw_curdir (also see |netrw-c|)
|
||||
|
||||
*g:netrw_list_cmd* command for listing remote directories
|
||||
*g:netrw_list_cmd* command for listing remote directories
|
||||
default: (if ssh is executable)
|
||||
"ssh HOSTNAME ls -FLa"
|
||||
|
||||
*g:netrw_liststyle* Set the default listing style:
|
||||
*g:netrw_liststyle* Set the default listing style:
|
||||
= 0: thin listing (one file per line)
|
||||
= 1: long listing (one file per line with time
|
||||
stamp information and file size)
|
||||
= 2: wide listing (multiple files in columns)
|
||||
= 3: tree style listing
|
||||
*g:netrw_list_hide* comma separated pattern list for hiding files
|
||||
*g:netrw_list_hide* comma separated pattern list for hiding files
|
||||
Patterns are regular expressions (see |regexp|)
|
||||
Example: let g:netrw_list_hide= '.*\.swp$'
|
||||
default: ""
|
||||
|
||||
*g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
|
||||
*g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
|
||||
="copy" Windows
|
||||
Copies marked files (|netrw-mf|) to target
|
||||
directory (|netrw-mt|, |netrw-mc|)
|
||||
|
||||
*g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
|
||||
*g:netrw_localmkdir* command for making a local directory
|
||||
default: "mkdir"
|
||||
|
||||
*g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
|
||||
="move" Windows
|
||||
Moves marked files (|netrw-mf|) to target
|
||||
directory (|netrw-mt|, |netrw-mm|)
|
||||
|
||||
*g:netrw_localmkdir* command for making a local directory
|
||||
default: "mkdir"
|
||||
|
||||
*g:netrw_localrmdir* remove directory command (rmdir)
|
||||
*g:netrw_localrmdir* remove directory command (rmdir)
|
||||
default: "rmdir"
|
||||
|
||||
*g:netrw_maxfilenamelen* =32 by default, selected so as to make long
|
||||
*g:netrw_maxfilenamelen* =32 by default, selected so as to make long
|
||||
listings fit on 80 column displays.
|
||||
If your screen is wider, and you have file
|
||||
or directory names longer than 32 bytes,
|
||||
you may set this option to keep listings
|
||||
columnar.
|
||||
|
||||
*g:netrw_mkdir_cmd* command for making a remote directory
|
||||
*g:netrw_mkdir_cmd* command for making a remote directory
|
||||
via ssh (also see |g:netrw_remote_mkdir|)
|
||||
default: "ssh USEPORT HOSTNAME mkdir"
|
||||
|
||||
@@ -2246,11 +2348,11 @@ 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 local directory
|
||||
via ftp (also see |g:netrw_mkdir_cmd|)
|
||||
default: "mkdir"
|
||||
|
||||
*g:netrw_retmap* if it exists and is set to one, then:
|
||||
*g:netrw_retmap* if it exists and is set to one, then:
|
||||
* if in a netrw-selected file, AND
|
||||
* no normal-mode <2-leftmouse> mapping exists,
|
||||
then the <2-leftmouse> will be mapped for easy
|
||||
@@ -2269,22 +2371,22 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
|
||||
default: =0
|
||||
|
||||
*g:netrw_rm_cmd* command for removing files
|
||||
*g:netrw_rm_cmd* command for removing files
|
||||
default: "ssh USEPORT HOSTNAME rm"
|
||||
|
||||
*g:netrw_rmdir_cmd* command for removing directories
|
||||
*g:netrw_rmdir_cmd* command for removing directories
|
||||
default: "ssh USEPORT HOSTNAME rmdir"
|
||||
|
||||
*g:netrw_rmf_cmd* command for removing softlinks
|
||||
*g:netrw_rmf_cmd* command for removing softlinks
|
||||
default: "ssh USEPORT HOSTNAME rm -f"
|
||||
|
||||
*g:netrw_sort_by* sort by "name", "time", or "size"
|
||||
*g:netrw_sort_by* sort by "name", "time", or "size"
|
||||
default: "name"
|
||||
|
||||
*g:netrw_sort_direction* sorting direction: "normal" or "reverse"
|
||||
*g:netrw_sort_direction* sorting direction: "normal" or "reverse"
|
||||
default: "normal"
|
||||
|
||||
*g:netrw_sort_options* sorting is done using |:sort|; this
|
||||
*g:netrw_sort_options* sorting is done using |:sort|; this
|
||||
variable's value is appended to the
|
||||
sort command. Thus one may ignore case,
|
||||
for example, with the following in your
|
||||
@@ -2292,14 +2394,14 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
let g:netrw_sort_options="i"
|
||||
< default: ""
|
||||
|
||||
*g:netrw_sort_sequence* when sorting by name, first sort by the
|
||||
*g:netrw_sort_sequence* when sorting by name, first sort by the
|
||||
comma-separated pattern sequence. Note that
|
||||
the filigree added to indicate filetypes
|
||||
should be accounted for in your pattern.
|
||||
default: '[\/]$,*,\.bak$,\.o$,\.h$,
|
||||
\.info$,\.swp$,\.obj$'
|
||||
|
||||
*g:netrw_special_syntax* If true, then certain files will be shown
|
||||
*g:netrw_special_syntax* If true, then certain files will be shown
|
||||
using special syntax in the browser:
|
||||
|
||||
netrwBak : *.bak
|
||||
@@ -2321,24 +2423,24 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
< into one's <.vimrc> to use one's own
|
||||
preferences.
|
||||
|
||||
*g:netrw_ssh_cmd* One may specify an executable command
|
||||
to use instead of ssh for remote actions
|
||||
such as listing, file removal, etc.
|
||||
default: ssh
|
||||
|
||||
*g:netrw_ssh_browse_reject* ssh can sometimes produce unwanted lines,
|
||||
*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".
|
||||
Use this pattern to remove such embedded
|
||||
messages. By default its value is:
|
||||
'^total\s\+\d\+$'
|
||||
|
||||
*g:netrw_ssh_cmd* One may specify an executable command
|
||||
to use instead of ssh for remote actions
|
||||
such as listing, file removal, etc.
|
||||
default: ssh
|
||||
|
||||
*g:netrw_tmpfile_escape* =' &;'
|
||||
|
||||
*g:netrw_tmpfile_escape* =' &;'
|
||||
escape() is applied to all temporary files
|
||||
to escape these characters.
|
||||
|
||||
*g:netrw_timefmt* specify format string to vim's strftime().
|
||||
*g:netrw_timefmt* specify format string to vim's strftime().
|
||||
The default, "%c", is "the preferred date
|
||||
and time representation for the current
|
||||
locale" according to my manpage entry for
|
||||
@@ -2348,7 +2450,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
" %a %Y-%m-%d %I-%M-%S %p"
|
||||
default: "%c"
|
||||
|
||||
*g:netrw_use_noswf* netrw normally avoids writing swapfiles
|
||||
*g:netrw_use_noswf* netrw normally avoids writing swapfiles
|
||||
for browser buffers. However, under some
|
||||
systems this apparently is causing nasty
|
||||
ml_get errors to appear; if you're getting
|
||||
@@ -2356,7 +2458,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
let g:netrw_use_noswf= 0
|
||||
in your .vimrc.
|
||||
|
||||
*g:netrw_winsize* specify initial size of new windows made with
|
||||
*g:netrw_winsize* specify initial size of new windows made with
|
||||
"o" (see |netrw-o|), "v" (see |netrw-v|),
|
||||
|:Hexplore| or |:Vexplore|. The g:netrw_winsize
|
||||
is an integer describing the percentage of the
|
||||
@@ -2367,7 +2469,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
or columns will be used for the new window.
|
||||
default: 50 (for 50%)
|
||||
|
||||
*g:netrw_xstrlen* Controls how netrw computes string lengths,
|
||||
*g:netrw_xstrlen* Controls how netrw computes string lengths,
|
||||
including multi-byte characters' string
|
||||
length. (thanks to N Weibull, T Mechelynck)
|
||||
=0: uses Vim's built-in strlen()
|
||||
@@ -2383,7 +2485,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
immediately preceded by lam, one
|
||||
otherwise, etc)
|
||||
|
||||
*g:NetrwTopLvlMenu* This variable specifies the top level
|
||||
*g:NetrwTopLvlMenu* This variable specifies the top level
|
||||
menu name; by default, it's "Netrw.". If
|
||||
you wish to change this, do so in your
|
||||
.vimrc.
|
||||
@@ -2483,7 +2585,7 @@ has been modified, and there's only one window with that buffer, then
|
||||
the user will be asked if s/he wishes to save the buffer first (yes,
|
||||
no, or cancel).
|
||||
|
||||
Related Actions |netrw-cr| |netrw-o| |netrw-t| |netrw-T| |netrw-v|
|
||||
Related Actions |netrw-cr| |netrw-o| |netrw-t| |netrw-v|
|
||||
Associated setting variables:
|
||||
|g:netrw_alto| control above/below splitting
|
||||
|g:netrw_altv| control right/left splitting
|
||||
@@ -2498,6 +2600,15 @@ hit the <cr> when atop the ./ directory entry in the listing. One may also
|
||||
refresh a local directory by using ":e .".
|
||||
|
||||
|
||||
REVERSING SORTING ORDER *netrw-r* *netrw-reverse* {{{2
|
||||
|
||||
One may toggle between normal and reverse sorting order by pressing the
|
||||
"r" key.
|
||||
|
||||
Related topics: |netrw-s|
|
||||
Associated setting variable: |g:netrw_sort_direction|
|
||||
|
||||
|
||||
RENAMING FILES OR DIRECTORIES *netrw-move* *netrw-rename* *netrw-R* {{{2
|
||||
|
||||
If there are no marked files: (see |netrw-mf|)
|
||||
@@ -2528,15 +2639,6 @@ One may rename a block of files and directories by selecting them with
|
||||
the V (|linewise-visual|).
|
||||
|
||||
|
||||
REVERSING SORTING ORDER *netrw-r* *netrw-reverse* {{{2
|
||||
|
||||
One may toggle between normal and reverse sorting order by pressing the
|
||||
"r" key.
|
||||
|
||||
Related topics: |netrw-s|
|
||||
Associated setting variable: |g:netrw_sort_direction|
|
||||
|
||||
|
||||
SELECTING SORTING STYLE *netrw-s* *netrw-sort* {{{2
|
||||
|
||||
One may select the sorting style by name, time, or (file) size. The "s" map
|
||||
@@ -2620,9 +2722,9 @@ Associated setting variables: |g:netrw_chgwin|
|
||||
P5. My times come up oddly in local browsing
|
||||
|
||||
Does your system's strftime() accept the "%c" to yield dates
|
||||
such as "Sun Apr 27 11:49:23 1997"? If not, do a "man strftime"
|
||||
and find out what option should be used. Then put it into
|
||||
your |.vimrc|: >
|
||||
such as "Sun Apr 27 11:49:23 1997"? If not, do a
|
||||
"man strftime" and find out what option should be used. Then
|
||||
put it into your |.vimrc|: >
|
||||
|
||||
let g:netrw_timefmt= "%X" (where X is the option)
|
||||
<
|
||||
@@ -2895,6 +2997,70 @@ which is loaded automatically at startup (assuming :set nocp).
|
||||
==============================================================================
|
||||
12. History *netrw-history* {{{1
|
||||
|
||||
v149: Apr 18, 2013 * in wide listing format, now have maps for
|
||||
w and b to move to next/previous file
|
||||
Apr 26, 2013 * one may now copy files in the same
|
||||
directory; netrw will issue requests for
|
||||
what names the files should be copied under
|
||||
Apr 29, 2013 * Trying Benzinger's problem again. Seems
|
||||
that commenting out the BufEnter and
|
||||
installing VimEnter (only) works. Weird
|
||||
problem! (tree listing, vim -O Dir1 Dir2)
|
||||
May 01, 2013 * :Explore ftp://... wasn't working. Fixed.
|
||||
May 02, 2013 * introduced |g:netrw_bannerbackslash| as
|
||||
requested by Paul Domaskis.
|
||||
May 18, 2013 * More fixes for windows (not cygwin)
|
||||
v148: Apr 16, 2013 * changed Netrw's Style menu to allow direct
|
||||
choice of listing style, hiding style, and
|
||||
sorting style
|
||||
v147: Nov 24, 2012 * (James McCoy) Even with g:netrw_dirhistmax
|
||||
at zero, the .vim/ directory would be
|
||||
created to support history/bookmarks. I've
|
||||
gone over netrw to suppress history and
|
||||
bookmarking when g:netrw_dirhistmax is zero.
|
||||
For instance, the menus will display
|
||||
(disabled) when attempts to use
|
||||
bookmarks/history are made.
|
||||
Nov 29, 2012 * (Kim Jang-hwan) reported that with
|
||||
g:Align_xstrlen set to 3 that the cursor was
|
||||
moved (linewise) after invocation. This
|
||||
problem also afflicted netrw.
|
||||
(see |g:netrw_xstrlen|) Fixed.
|
||||
Jan 21, 2013 * (mattn) provided a patch to insert some
|
||||
endifs needed with the code implementing
|
||||
|netrw-O|.
|
||||
Jan 24, 2013 * (John Szakmeister) found that remote file
|
||||
editing resulted in filetype options being
|
||||
overwritten by NetrwOptionRestore(). I
|
||||
moved filetype detect from NetrwGetFile()
|
||||
to NetrwOptionRestore.
|
||||
Feb 17, 2013 * (Yukhiro Nakadaira) provided a patch
|
||||
correcting some syntax errors.
|
||||
Feb 28, 2013 * (Ingo Karkat) provided a patch preventing
|
||||
receipt of an |E95| when revisiting a
|
||||
file://... style url.
|
||||
Mar 18, 2013 * (Gary Johnson) pointed out that changing
|
||||
cedit to <Esc> caused problems with visincr;
|
||||
the cedit setting is now bypassed in netrw too.
|
||||
Apr 02, 2013 * (Paul Domaskis) reported an undefined
|
||||
variable error (s:didstarstar) was
|
||||
occurring. It is now defined at
|
||||
initialization.
|
||||
* included additional sanity checking for the
|
||||
marked file functions.
|
||||
* included |netrw-qF| and special "j" option
|
||||
handling for |netrw-mg|
|
||||
Apr 12, 2013 * |netrw-u| and |netrw-U| now handle counts
|
||||
* the former mapping for "T" has been removed;
|
||||
in its place are new maps, |netrw-Tb| and |netrw-Th|.
|
||||
* the menu now supports a "Targets" entry for
|
||||
easier target selection. (see |netrw-mt|)
|
||||
* (Paul Domaskis) reported some problems with
|
||||
moving/copying files under Windows' gvim
|
||||
(ie. not cygwin). Fixed.
|
||||
* (Paul Mueller) provided a patch to get
|
||||
start and rundll working via |netrw-gx|
|
||||
by bypassing the user's |'shellslash'| option.
|
||||
v146: Oct 20, 2012 * (David Kotchan) reported that under Windows,
|
||||
directories named with unusual characters
|
||||
such as "#" or "$" were not being listed
|
||||
@@ -2904,6 +3070,10 @@ which is loaded automatically at startup (assuming :set nocp).
|
||||
Netrw will now |:bwipe| netrw buffers
|
||||
upon editing a file if g:netrw_fastbrowse
|
||||
is zero and its not in tree listing style.
|
||||
* fixed a bug with s:NetrwInit() that
|
||||
prevented initialization with |Lists| and
|
||||
|Dictionaries|.
|
||||
* |netrw-mu| now unmarks marked-file lists
|
||||
v145: Apr 05, 2012 * moved some command from a g:netrw_local_...
|
||||
format to g:netwr_local... format
|
||||
* included some NOTE level messages about
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_paren.txt* For Vim version 7.3. Last change: 2008 Jun 16
|
||||
*pi_paren.txt* For Vim version 7.3. Last change: 2013 May 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -46,7 +46,10 @@ are:
|
||||
closed folds.
|
||||
- 'synmaxcol' times 2 bytes before or after the cursor to avoid a delay
|
||||
in a long line with syntax highlighting.
|
||||
|
||||
- A timeout of 300 msec (60 msec in Insert mode). This can be changed with the
|
||||
g:matchparen_timeout and g:matchparen_insert_timeout variables and their
|
||||
buffer-local equivalents b:matchparen_timeout and
|
||||
b:matchparen_insert_timeout.
|
||||
|
||||
If you would like the |%| command to work better, the matchit plugin can be
|
||||
used, see |matchit-install|. This plugin also helps to skip matches in
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
*pi_tar.txt* For Vim version 7.3. Last change: 2012 Jan 17
|
||||
*pi_tar.txt* For Vim version 7.3. Last change: 2013 Apr 17
|
||||
|
||||
+====================+
|
||||
| Tar File Interface |
|
||||
+====================+
|
||||
|
||||
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
|
||||
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
||||
(remove NOSPAM from Campbell's email first)
|
||||
Copyright 2005-2012: *tar-copyright*
|
||||
The VIM LICENSE (see |copyright|) applies to the files in this
|
||||
@@ -50,6 +50,21 @@ Copyright 2005-2012: *tar-copyright*
|
||||
*g:tar_extractcmd* , which by default is >
|
||||
"tar -xf"
|
||||
<
|
||||
*:TarDiff*
|
||||
DIFFERENCING SUPPORT~
|
||||
|
||||
:TarDiff [filename]
|
||||
|
||||
This command will attempt to show the differences between the tarball
|
||||
version of a file and the associated file on the system. In order to
|
||||
find that file on the system, the script uses the path associated with
|
||||
the file mentioned in the tarball. If the current directory is not
|
||||
correct for that path, :TarDiff will fail to find the associated file.
|
||||
|
||||
If the [filename] is given, that that filename (and path) will be used
|
||||
to specify the associated file.
|
||||
|
||||
|
||||
PREVENTING LOADING~
|
||||
|
||||
If for some reason you do not wish to use vim to examine tar'd files,
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
*pi_zip.txt* For Vim version 7.3. Last change: 2012 Jan 17
|
||||
*pi_zip.txt* For Vim version 7.3. Last change: 2013 Apr 17
|
||||
|
||||
+====================+
|
||||
| Zip File Interface |
|
||||
+====================+
|
||||
|
||||
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
|
||||
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
||||
(remove NOSPAM from Campbell's email first)
|
||||
Copyright: Copyright (C) 2005-2011 Charles E Campbell, Jr *zip-copyright*
|
||||
Copyright: Copyright (C) 2005-2012 Charles E Campbell *zip-copyright*
|
||||
The VIM LICENSE (see |copyright|) applies to the files in this
|
||||
package, including zipPlugin.vim, zip.vim, and pi_zip.vim. except use
|
||||
"zip.vim" instead of "VIM". Like anything else that's free, zip.vim
|
||||
@@ -85,8 +85,13 @@ Copyright: Copyright (C) 2005-2011 Charles E Campbell, Jr *zip-copyright*
|
||||
|
||||
==============================================================================
|
||||
4. History *zip-history* {{{1
|
||||
v26 Nov 15, 2012 * (Jason Spiro) provided a lot of new extensions that
|
||||
are synonyms for .zip
|
||||
v25 Jun 27, 2011 * using keepj with unzip -Z
|
||||
(consistent with the -p variant)
|
||||
* (Ben Staniford) now uses
|
||||
has("win32unix") && executable("cygpath")
|
||||
before converting to cygwin-style paths
|
||||
v24 Jun 21, 2010 * (Cédric Bosdonnat) unzip seems to need its filenames
|
||||
fnameescape'd as well as shellquote'd
|
||||
* (Motoya Kurotsu) inserted keepj before 0d to protect
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 7.3. Last change: 2013 Feb 06
|
||||
*quickref.txt* For Vim version 7.3. Last change: 2013 May 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -691,6 +691,7 @@ Short explanation of each option: *option-list*
|
||||
'fileencodings' 'fencs' automatically detected character encodings
|
||||
'fileformat' 'ff' file format used for file I/O
|
||||
'fileformats' 'ffs' automatically detected values for 'fileformat'
|
||||
'fileignorecase' 'fic' ignore case when using file names
|
||||
'filetype' 'ft' type of file, used for autocommands
|
||||
'fillchars' 'fcs' characters to use for displaying special items
|
||||
'fkmap' 'fk' Farsi keyboard mapping
|
||||
@@ -823,6 +824,7 @@ Short explanation of each option: *option-list*
|
||||
'quoteescape' 'qe' escape characters used in a string
|
||||
'readonly' 'ro' disallow writing the buffer
|
||||
'redrawtime' 'rdt' timeout for 'hlsearch' and |:match| highlighting
|
||||
'regexpengine' 're' default regexp engine to use
|
||||
'relativenumber' 'rnu' show relative line number in front of each line
|
||||
'remap' allow mappings to work recursively
|
||||
'report' threshold for reporting nr. of lines changed
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*starting.txt* For Vim version 7.3. Last change: 2012 Mar 16
|
||||
*starting.txt* For Vim version 7.3. Last change: 2013 May 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -438,6 +438,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
option should be used when Vim is started by a program that
|
||||
will wait for the edit session to finish (e.g., mail or
|
||||
readnews). See |amiga-window|.
|
||||
|
||||
MS-Windows: This option is not always supported.
|
||||
{not in Vi}
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 7.3. Last change: 2013 Mar 13
|
||||
*syntax.txt* For Vim version 7.3. Last change: 2013 Apr 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1239,17 +1239,17 @@ to your startup file.
|
||||
|
||||
ERLANG *erlang.vim* *ft-erlang-syntax*
|
||||
|
||||
The erlang highlighting supports Erlang (ERicsson LANGuage).
|
||||
Erlang is case sensitive and default extension is ".erl".
|
||||
Erlang is a functional programming language developed by Ericsson. Files with
|
||||
the following extentions are recognized as Erlang files: erl, hrl, yaws.
|
||||
|
||||
If you want to disable keywords highlighting, put in your .vimrc: >
|
||||
:let erlang_keywords = 1
|
||||
If you want to disable built-in-functions highlighting, put in your
|
||||
.vimrc file: >
|
||||
:let erlang_functions = 1
|
||||
If you want to disable special characters highlighting, put in
|
||||
your .vimrc: >
|
||||
:let erlang_characters = 1
|
||||
The BIFs (built-in functions) are highlighted by default. To disable this,
|
||||
put the following line in your vimrc: >
|
||||
|
||||
:let g:erlang_highlight_bifs = 0
|
||||
|
||||
To enable highlighting some special atoms, put this in your vimrc: >
|
||||
|
||||
:let g:erlang_highlight_special_atoms = 1
|
||||
|
||||
|
||||
FLEXWIKI *flexwiki.vim* *ft-flexwiki-syntax*
|
||||
@@ -2069,7 +2069,7 @@ Therefore, you should be careful about not using more space between sentences
|
||||
than you intend to have in your final document. For this reason, the common
|
||||
practice is to insert a carriage return immediately after all punctuation
|
||||
marks. If you want to have "even" text in your final processed output, you
|
||||
need to maintaining regular spacing in the input text. To mark both trailing
|
||||
need to maintain regular spacing in the input text. To mark both trailing
|
||||
spaces and two or more spaces after a punctuation as an error, use: >
|
||||
|
||||
:let nroff_space_errors = 1
|
||||
@@ -4928,7 +4928,7 @@ restoring "b:current_syntax", since the syntax files do set
|
||||
|
||||
Once a window has its own syntax, syntax commands executed from other windows
|
||||
on the same buffer (including :syntax clear) have no effect. Conversely,
|
||||
syntax commands executed from that window do not effect other windows on the
|
||||
syntax commands executed from that window do not affect other windows on the
|
||||
same buffer.
|
||||
|
||||
A window with its own syntax reverts to normal behavior when another buffer
|
||||
|
||||
@@ -233,10 +233,12 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'fex' options.txt /*'fex'*
|
||||
'ff' options.txt /*'ff'*
|
||||
'ffs' options.txt /*'ffs'*
|
||||
'fic' options.txt /*'fic'*
|
||||
'fileencoding' options.txt /*'fileencoding'*
|
||||
'fileencodings' options.txt /*'fileencodings'*
|
||||
'fileformat' options.txt /*'fileformat'*
|
||||
'fileformats' options.txt /*'fileformats'*
|
||||
'fileignorecase' options.txt /*'fileignorecase'*
|
||||
'filetype' options.txt /*'filetype'*
|
||||
'fillchars' options.txt /*'fillchars'*
|
||||
'fk' options.txt /*'fk'*
|
||||
@@ -523,6 +525,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'noexpandtab' options.txt /*'noexpandtab'*
|
||||
'noexrc' options.txt /*'noexrc'*
|
||||
'nofen' options.txt /*'nofen'*
|
||||
'nofic' options.txt /*'nofic'*
|
||||
'nofileignorecase' options.txt /*'nofileignorecase'*
|
||||
'nofk' options.txt /*'nofk'*
|
||||
'nofkmap' options.txt /*'nofkmap'*
|
||||
'nofoldenable' options.txt /*'nofoldenable'*
|
||||
@@ -732,9 +736,11 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'quote motion.txt /*'quote*
|
||||
'quoteescape' options.txt /*'quoteescape'*
|
||||
'rdt' options.txt /*'rdt'*
|
||||
're' options.txt /*'re'*
|
||||
'readonly' options.txt /*'readonly'*
|
||||
'redraw' vi_diff.txt /*'redraw'*
|
||||
'redrawtime' options.txt /*'redrawtime'*
|
||||
'regexpengine'' options.txt /*'regexpengine''*
|
||||
'relativenumber' options.txt /*'relativenumber'*
|
||||
'remap' options.txt /*'remap'*
|
||||
'report' options.txt /*'report'*
|
||||
@@ -1385,6 +1391,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
/\ pattern.txt /*\/\\*
|
||||
/\$ pattern.txt /*\/\\$*
|
||||
/\%# pattern.txt /*\/\\%#*
|
||||
/\%#= pattern.txt /*\/\\%#=*
|
||||
/\%$ pattern.txt /*\/\\%$*
|
||||
/\%'m pattern.txt /*\/\\%'m*
|
||||
/\%( pattern.txt /*\/\\%(*
|
||||
@@ -1830,6 +1837,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:RmVimball pi_vimball.txt /*:RmVimball*
|
||||
:Sexplore pi_netrw.txt /*:Sexplore*
|
||||
:TOhtml syntax.txt /*:TOhtml*
|
||||
:TarDiff pi_tar.txt /*:TarDiff*
|
||||
:Texplore pi_netrw.txt /*:Texplore*
|
||||
:UseVimball pi_vimball.txt /*:UseVimball*
|
||||
:Vexplore pi_netrw.txt /*:Vexplore*
|
||||
@@ -2585,7 +2593,9 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:pwd editing.txt /*:pwd*
|
||||
:py if_pyth.txt /*:py*
|
||||
:py3 if_pyth.txt /*:py3*
|
||||
:py3do if_pyth.txt /*:py3do*
|
||||
:py3file if_pyth.txt /*:py3file*
|
||||
:pydo if_pyth.txt /*:pydo*
|
||||
:pyf if_pyth.txt /*:pyf*
|
||||
:pyfile if_pyth.txt /*:pyfile*
|
||||
:python if_pyth.txt /*:python*
|
||||
@@ -4251,9 +4261,24 @@ E858 eval.txt /*E858*
|
||||
E859 eval.txt /*E859*
|
||||
E86 windows.txt /*E86*
|
||||
E860 eval.txt /*E860*
|
||||
E861 eval.txt /*E861*
|
||||
E862 eval.txt /*E862*
|
||||
E863 if_pyth.txt /*E863*
|
||||
E864 pattern.txt /*E864*
|
||||
E865 pattern.txt /*E865*
|
||||
E866 pattern.txt /*E866*
|
||||
E867 pattern.txt /*E867*
|
||||
E868 pattern.txt /*E868*
|
||||
E869 pattern.txt /*E869*
|
||||
E87 windows.txt /*E87*
|
||||
E870 pattern.txt /*E870*
|
||||
E871 pattern.txt /*E871*
|
||||
E872 pattern.txt /*E872*
|
||||
E873 pattern.txt /*E873*
|
||||
E874 pattern.txt /*E874*
|
||||
E875 pattern.txt /*E875*
|
||||
E876 pattern.txt /*E876*
|
||||
E877 pattern.txt /*E877*
|
||||
E878 pattern.txt /*E878*
|
||||
E88 windows.txt /*E88*
|
||||
E89 message.txt /*E89*
|
||||
E90 message.txt /*E90*
|
||||
@@ -4480,6 +4505,8 @@ TabLeave autocmd.txt /*TabLeave*
|
||||
Tcl if_tcl.txt /*Tcl*
|
||||
TermChanged autocmd.txt /*TermChanged*
|
||||
TermResponse autocmd.txt /*TermResponse*
|
||||
TextChanged autocmd.txt /*TextChanged*
|
||||
TextChangedI autocmd.txt /*TextChangedI*
|
||||
Transact-SQL ft_sql.txt /*Transact-SQL*
|
||||
U undo.txt /*U*
|
||||
UTF-8 mbyte.txt /*UTF-8*
|
||||
@@ -4770,7 +4797,8 @@ aw motion.txt /*aw*
|
||||
a{ motion.txt /*a{*
|
||||
a} motion.txt /*a}*
|
||||
b motion.txt /*b*
|
||||
b:changedtick-variable eval.txt /*b:changedtick-variable*
|
||||
b: eval.txt /*b:*
|
||||
b:changedtick eval.txt /*b:changedtick*
|
||||
b:changelog_name filetype.txt /*b:changelog_name*
|
||||
b:current_syntax-variable syntax.txt /*b:current_syntax-variable*
|
||||
b:netrw_lastfile pi_netrw.txt /*b:netrw_lastfile*
|
||||
@@ -5798,6 +5826,7 @@ g, motion.txt /*g,*
|
||||
g- undo.txt /*g-*
|
||||
g0 motion.txt /*g0*
|
||||
g8 various.txt /*g8*
|
||||
g: eval.txt /*g:*
|
||||
g:NetrwTopLvlMenu pi_netrw.txt /*g:NetrwTopLvlMenu*
|
||||
g:Netrw_corehandler pi_netrw.txt /*g:Netrw_corehandler*
|
||||
g:Netrw_funcref pi_netrw.txt /*g:Netrw_funcref*
|
||||
@@ -5873,6 +5902,7 @@ g:html_whole_filler syntax.txt /*g:html_whole_filler*
|
||||
g:netrw_alto pi_netrw.txt /*g:netrw_alto*
|
||||
g:netrw_altv pi_netrw.txt /*g:netrw_altv*
|
||||
g:netrw_banner pi_netrw.txt /*g:netrw_banner*
|
||||
g:netrw_bannerbackslash pi_netrw.txt /*g:netrw_bannerbackslash*
|
||||
g:netrw_browse_split pi_netrw.txt /*g:netrw_browse_split*
|
||||
g:netrw_browsex_viewer pi_netrw.txt /*g:netrw_browsex_viewer*
|
||||
g:netrw_bufsettings pi_netrw.txt /*g:netrw_bufsettings*
|
||||
@@ -6565,6 +6595,7 @@ keypad-point intro.txt /*keypad-point*
|
||||
keys() eval.txt /*keys()*
|
||||
known-bugs todo.txt /*known-bugs*
|
||||
l motion.txt /*l*
|
||||
l: eval.txt /*l:*
|
||||
l:var eval.txt /*l:var*
|
||||
lCursor mbyte.txt /*lCursor*
|
||||
lace.vim syntax.txt /*lace.vim*
|
||||
@@ -6856,7 +6887,8 @@ netrw-O pi_netrw.txt /*netrw-O*
|
||||
netrw-P pi_netrw.txt /*netrw-P*
|
||||
netrw-R pi_netrw.txt /*netrw-R*
|
||||
netrw-S pi_netrw.txt /*netrw-S*
|
||||
netrw-T pi_netrw.txt /*netrw-T*
|
||||
netrw-Tb pi_netrw.txt /*netrw-Tb*
|
||||
netrw-Th pi_netrw.txt /*netrw-Th*
|
||||
netrw-U pi_netrw.txt /*netrw-U*
|
||||
netrw-X pi_netrw.txt /*netrw-X*
|
||||
netrw-a pi_netrw.txt /*netrw-a*
|
||||
@@ -6925,6 +6957,7 @@ netrw-listbookmark pi_netrw.txt /*netrw-listbookmark*
|
||||
netrw-listhack pi_netrw.txt /*netrw-listhack*
|
||||
netrw-login pi_netrw.txt /*netrw-login*
|
||||
netrw-mB pi_netrw.txt /*netrw-mB*
|
||||
netrw-mF pi_netrw.txt /*netrw-mF*
|
||||
netrw-mT pi_netrw.txt /*netrw-mT*
|
||||
netrw-mb pi_netrw.txt /*netrw-mb*
|
||||
netrw-mc pi_netrw.txt /*netrw-mc*
|
||||
@@ -6979,6 +7012,7 @@ netrw-prvwin pi_netrw.txt /*netrw-prvwin*
|
||||
netrw-pscp pi_netrw.txt /*netrw-pscp*
|
||||
netrw-psftp pi_netrw.txt /*netrw-psftp*
|
||||
netrw-putty pi_netrw.txt /*netrw-putty*
|
||||
netrw-qF pi_netrw.txt /*netrw-qF*
|
||||
netrw-qb pi_netrw.txt /*netrw-qb*
|
||||
netrw-qf pi_netrw.txt /*netrw-qf*
|
||||
netrw-quickcom pi_netrw.txt /*netrw-quickcom*
|
||||
@@ -7319,10 +7353,15 @@ python-error if_pyth.txt /*python-error*
|
||||
python-eval if_pyth.txt /*python-eval*
|
||||
python-examples if_pyth.txt /*python-examples*
|
||||
python-input if_pyth.txt /*python-input*
|
||||
python-options if_pyth.txt /*python-options*
|
||||
python-output if_pyth.txt /*python-output*
|
||||
python-pyeval if_pyth.txt /*python-pyeval*
|
||||
python-range if_pyth.txt /*python-range*
|
||||
python-tabpage if_pyth.txt /*python-tabpage*
|
||||
python-tabpages if_pyth.txt /*python-tabpages*
|
||||
python-vars if_pyth.txt /*python-vars*
|
||||
python-vim if_pyth.txt /*python-vim*
|
||||
python-vvars if_pyth.txt /*python-vvars*
|
||||
python-window if_pyth.txt /*python-window*
|
||||
python-windows if_pyth.txt /*python-windows*
|
||||
python.vim syntax.txt /*python.vim*
|
||||
@@ -7835,6 +7874,7 @@ system-functions usr_41.txt /*system-functions*
|
||||
system-vimrc starting.txt /*system-vimrc*
|
||||
s~ change.txt /*s~*
|
||||
t motion.txt /*t*
|
||||
t: eval.txt /*t:*
|
||||
t:var eval.txt /*t:var*
|
||||
t_#2 term.txt /*t_#2*
|
||||
t_#4 term.txt /*t_#4*
|
||||
@@ -8150,6 +8190,7 @@ try-nested eval.txt /*try-nested*
|
||||
try-nesting eval.txt /*try-nesting*
|
||||
tutor usr_01.txt /*tutor*
|
||||
twice if_cscop.txt /*twice*
|
||||
two-engines pattern.txt /*two-engines*
|
||||
type() eval.txt /*type()*
|
||||
type-mistakes tips.txt /*type-mistakes*
|
||||
typecorr-settings usr_41.txt /*typecorr-settings*
|
||||
@@ -8230,6 +8271,7 @@ utf-8-in-xwindows mbyte.txt /*utf-8-in-xwindows*
|
||||
utf-8-typing mbyte.txt /*utf-8-typing*
|
||||
utf8 mbyte.txt /*utf8*
|
||||
v visual.txt /*v*
|
||||
v: eval.txt /*v:*
|
||||
v:beval_bufnr eval.txt /*v:beval_bufnr*
|
||||
v:beval_col eval.txt /*v:beval_col*
|
||||
v:beval_lnum eval.txt /*v:beval_lnum*
|
||||
@@ -8523,6 +8565,7 @@ vt100-function-keys term.txt /*vt100-function-keys*
|
||||
w motion.txt /*w*
|
||||
w32-clientserver remote.txt /*w32-clientserver*
|
||||
w32-xpm-support gui_w32.txt /*w32-xpm-support*
|
||||
w: eval.txt /*w:*
|
||||
w:current_syntax syntax.txt /*w:current_syntax*
|
||||
w:quickfix_title quickfix.txt /*w:quickfix_title*
|
||||
w:var eval.txt /*w:var*
|
||||
|
||||
@@ -328,7 +328,7 @@ Note: Use the <> form if possible
|
||||
t_k8 <F8> function key 8 *<F8>* *t_k8* *'t_k8'*
|
||||
t_k9 <F9> function key 9 *<F9>* *t_k9* *'t_k9'*
|
||||
t_k; <F10> function key 10 *<F10>* *t_k;* *'t_k;'*
|
||||
t_F1 <F11> function key 11 *<F11>* *t_F1* *'t_F1'*
|
||||
t_F1 <F11> function key 11 *<F11>* *t_F1* *'t_F1'*
|
||||
t_F2 <F12> function key 12 *<F12>* *t_F2* *'t_F2'*
|
||||
t_F3 <F13> function key 13 *<F13>* *t_F3* *'t_F3'*
|
||||
t_F4 <F14> function key 14 *<F14>* *t_F4* *'t_F4'*
|
||||
@@ -358,9 +358,9 @@ Note: Use the <> form if possible
|
||||
t_kI <Insert> insert key *t_kI* *'t_kI'*
|
||||
t_kD <Del> delete key *t_kD* *'t_kD'*
|
||||
t_kb <BS> backspace key *t_kb* *'t_kb'*
|
||||
t_kB <S-Tab> back-tab (shift-tab) *<S-Tab>* *t_kB* *'t_kB'*
|
||||
t_kB <S-Tab> back-tab (shift-tab) *<S-Tab>* *t_kB* *'t_kB'*
|
||||
t_kh <Home> home key *t_kh* *'t_kh'*
|
||||
t_#2 <S-Home> shifted home key *<S-Home>* *t_#2* *'t_#2'*
|
||||
t_#2 <S-Home> shifted home key *<S-Home>* *t_#2* *'t_#2'*
|
||||
<xHome> alternate home key *<xHome>*
|
||||
t_@7 <End> end key *t_@7* *'t_@7'*
|
||||
t_*7 <S-End> shifted end key *<S-End>* *t_star7* *'t_star7'*
|
||||
@@ -373,8 +373,8 @@ Note: Use the <> form if possible
|
||||
t_K5 <kPageDown> keypad page-down key *t_K5* *'t_K5'*
|
||||
t_K6 <kPlus> keypad plus key *<kPlus>* *t_K6* *'t_K6'*
|
||||
t_K7 <kMinus> keypad minus key *<kMinus>* *t_K7* *'t_K7'*
|
||||
t_K8 <kDivide> keypad divide *<kDivide>* *t_K8* *'t_K8'*
|
||||
t_K9 <kMultiply> keypad multiply *<kMultiply>* *t_K9* *'t_K9'*
|
||||
t_K8 <kDivide> keypad divide *<kDivide>* *t_K8* *'t_K8'*
|
||||
t_K9 <kMultiply> keypad multiply *<kMultiply>* *t_K9* *'t_K9'*
|
||||
t_KA <kEnter> keypad enter key *<kEnter>* *t_KA* *'t_KA'*
|
||||
t_KB <kPoint> keypad decimal point *<kPoint>* *t_KB* *'t_KB'*
|
||||
t_KC <k0> keypad 0 *<k0>* *t_KC* *'t_KC'*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 7.3. Last change: 2013 Mar 18
|
||||
*todo.txt* For Vim version 7.3. Last change: 2013 May 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -34,22 +34,200 @@ not be repeated below, unless there is extra information.
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Rename src/Makefile and create a new one like toplevel Makefile that creates
|
||||
auto/config.mk when it's not there? (Ben Schmidt, 2011 Feb 11)
|
||||
|
||||
--- Python interface
|
||||
|
||||
Python: thread with refactoring patches. (ZyX, May 19, 16:46 and later)
|
||||
9
|
||||
10
|
||||
11
|
||||
|
||||
Configure doesn't find Python 3 on Ubuntu 13.04. (Ken Takata, Apr 13)
|
||||
|
||||
Python SystemExit exception is not handled properly. Patch to catch the
|
||||
exception and give an error. (Yasuhiro Matsumoto)
|
||||
Does not work, tests fail.
|
||||
|
||||
Patch to print the result of a :python command. (Maxim Philippov
|
||||
<philippovmi@gmail.com>, 2012 Aug 16) Update Aug 17.
|
||||
Patch no longer applies.
|
||||
|
||||
":python os.chdir('/tmp')" makes short buffer names invalid. (Xavier de Gaye)
|
||||
Patch to make os.chdir() handle side effects. (Xavier de Gaye, 2013 May 17)
|
||||
Update May 19, also for os.fchdir().
|
||||
Adds a $VIMRUNTIME/python directory.
|
||||
ZyX: OK to add python and python3 directory.
|
||||
|
||||
Mac: OS/X 10.4 with Python 2.5 installed: configure finds an extra argument
|
||||
that breaks the build. (Brian Victor, 2008 Sep 1)
|
||||
|
||||
Patch to access screen under Python. (Marko Mahni, 2010 Jul 18)
|
||||
|
||||
Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
|
||||
|
||||
Win32: The Python interface only works with one version of Python, selected at
|
||||
compile time. Can this be made to work with version 2.1 and 2.2 dynamically?
|
||||
|
||||
Python: Be able to define a Python function that can be called directly from
|
||||
Vim script. Requires converting the arguments and return value.
|
||||
|
||||
--- runtime files
|
||||
|
||||
Syntax file for protocol buffers. (Feng Xiao, 2013 May 9)
|
||||
Has an ugly copyright notice.
|
||||
Add statement that it does not conflict with Vim license.
|
||||
|
||||
Patch for JavaScript syntax. (Kevin Locke, 2013 May 9)
|
||||
Claudio didn't respond yet.
|
||||
|
||||
--- Fast regexp engine
|
||||
|
||||
Duplicate condition in line 1094. (Ken Takata) Should be 'r'?
|
||||
|
||||
Multi-byte problem? Marc Weber
|
||||
echo matchlist('1', '\%#=1\o{\?Ä\Z')
|
||||
echo matchlist('1', '\%#=2\o{\?Ä\Z')
|
||||
|
||||
Difference in matching this pattern: (Marc Weber)
|
||||
echo matchlist("t", '\%#=1ú\Z')
|
||||
echo matchlist("t", '\%#=2ú\Z')
|
||||
|
||||
Difference in matching this pattern:
|
||||
echo matchlist('google', '\%#=1\<go*\|go')
|
||||
echo matchlist('google', '\%#=2\<go*\|go')
|
||||
|
||||
Difference in matching this pattern: (Marc Weber)
|
||||
echo matchlist("\na", '\%#=1\_F')
|
||||
echo matchlist("\na", '\%#=0\_F')
|
||||
echo matchlist("\na", '\%#=2\_F')
|
||||
|
||||
Don't set curbuf, use reg_buf.
|
||||
|
||||
Estimation of number of items is wrong, can be much larger.
|
||||
When running out of space, retry with more space?
|
||||
|
||||
nfa_regcomp() should not use nstate_max but the actual number of states for
|
||||
allocating the prog?
|
||||
|
||||
Get example files for many languages. Compare syntax highlighting with old and
|
||||
new regexp, find regexp constructs where NFA does not work correctly.
|
||||
source ~/vim/regexp/runold.vim to update the "old" files.
|
||||
source ~/vim/regexp/runnew.vim to update the "new" files
|
||||
source ~/vim/regexp/diff.vim to find differences
|
||||
Diffs in these files:
|
||||
- csh02: line 2, "13" is not highlighted after -misc-fixed-bold-r-normal-
|
||||
as cshNumber
|
||||
- csh02: line 7, similar problem.
|
||||
- tst28.tex line 8 \alpha in texStatement instead of texGreek
|
||||
|
||||
It's very slow compared to the old engine...
|
||||
Performance tests:
|
||||
- ~/vim/test/veryslow.js display last line (file from Daniel Fetchinson)
|
||||
- ~/vim/test/slowsearch
|
||||
- ~/vim/test/rgb.vim
|
||||
- ~/vim/text/FeiqCfg.xml (file from Netjune)
|
||||
- ~/vim/text/edl.svg (also XML)
|
||||
- search for a.*e*exn in the vim executable. Go to last line to use
|
||||
'hlsearch'.
|
||||
- Slow combination of folding and PHP syntax highlighting. Script to
|
||||
reproduce it. Caused by "syntax sync fromstart" in combination with patch
|
||||
7.2.274. (Christian Brabandt, 2010 May 27) Generally, folding with
|
||||
'foldmethod' set to "syntax" is slow. Do profiling to find out why.
|
||||
- Does not use any of the optimizations, such as required start pattern.
|
||||
- When lists are empty in nfa_regmatch() and match is true, it keeps looping
|
||||
without doing anything.
|
||||
|
||||
"\ze" is currently disabled for NFA, can this be fixed?
|
||||
|
||||
"\_[0-9]\?\>" does not match at end of line, disabled.
|
||||
|
||||
Items with \%u, \%x, \%o, \%d do not work with the new engine.
|
||||
|
||||
--- bug fixes
|
||||
|
||||
Patch to avoid wrong error message for 1.0[0]. (Yasuhiro Matsumoto, 2013 May
|
||||
1)
|
||||
|
||||
Patch for if_lua. (Luis Carvalho, 2012 Aug 26, update Aug 29, another Aug 30,
|
||||
then Sep 1, reminder Oct 14)
|
||||
|
||||
Patch to check if 'foldexpr' sets did_emsg. (Christian Brabandt, 2013 Mar 20)
|
||||
|
||||
Patch for 'backupcopy' default behavior for symlinks on Windows. (David Pope,
|
||||
2012 Mar 21, update Mar 31)
|
||||
With fix for memory leak: Ken Takata, 2012 Aug 24
|
||||
Another update Sep 24.
|
||||
Also patch from Joerg Bornemann, 2013 Apr 30.
|
||||
|
||||
Undo problem: line not removed as expected when using setline() from Insert
|
||||
mode. (Israel Chauca, 2010 May 13, more in second msg)
|
||||
Break undo when CTRL-R = changes the text? Or save more lines?
|
||||
Patch by Christian Brabandt, 2012 Nov 16.
|
||||
|
||||
Do allow real tags above the !_TAG entries. Undo older patch. Issue 90.
|
||||
|
||||
Matches might be highlighted correctly. Inefficient patch by Christian
|
||||
Brabandt, 2013 Feb 26.
|
||||
|
||||
Patch to use bold/italic fonts when 'guifontewide' is set. (Ken Takata, 2013
|
||||
Mar 31)
|
||||
|
||||
Problem with winfixheight and resizing. (Yukihiro Nakadaira, 2011 Sep 17)
|
||||
Patch Sep 18.
|
||||
|
||||
Patch for IME problems. Remove hacking code for old IM. (Yukihiro Nakadaira,
|
||||
2012 Jul 20)
|
||||
|
||||
Patch to fix finding toolbar bitmaps. Issue 129.
|
||||
|
||||
Combining characters are not used when executing a register with :@w.
|
||||
(William Fugh, 2013 Apr 5, more info from Ben Fritz)
|
||||
Patch by Christian Brabandt, 2013 Apr 6. Second one.
|
||||
|
||||
MS-Windows ACL support doesn't work well. Patch from Ken Takata, 2012 Aug 29.
|
||||
Update Aug 31.
|
||||
Another patch for MingW, 2012 Dec 29.
|
||||
|
||||
Bug in completion menu. (Olivier Teuliere, 2013 Feb 15)
|
||||
Patch by Christian Brabandt, Feb 16.
|
||||
|
||||
'cursorline' is drawn incorrectly in diff mode. Patch by Christian Brabandt,
|
||||
2012 Apr 2.
|
||||
|
||||
When someone does a silly thing such as setting rows and columns to 65535,
|
||||
handle the out-of-memory and set them to sane values? (jimmywang, 2013 May 17)
|
||||
|
||||
InsertEnter doesn't prevent the cursor from moving when it goes to another
|
||||
line.
|
||||
|
||||
--- slightly incompatible changes
|
||||
|
||||
Patch to load ~/.vim/vimrc when ~/.vimrc isn't found. (Lech Lorens, 2013 Apr
|
||||
13)
|
||||
|
||||
It's probably a good idea to make a negative value for 'sts' use the value of
|
||||
'sw'. Patch by So8res, Oct 3 2012
|
||||
|
||||
When a buffer-local mapping is used, but a global mapping starts with the same
|
||||
characters, Vim currently waits for the next typed character to find out if
|
||||
the global mapping matches. It is probably better to let the local mapping
|
||||
win and not wait. (discussion with Andy Wokula, 2013 Jan 30)
|
||||
Patch by Michael Henry, 2013 Jan 30, update Feb 15.
|
||||
|
||||
|
||||
---- Fixes to be included before 7.4 above, less important stuff below ----
|
||||
|
||||
Several syntax file match "^\s*" which may get underlined if that's in the
|
||||
highlight group. Add a "\zs" after it?
|
||||
|
||||
Go through more coverity reports.
|
||||
|
||||
Valgrind errors in test 16.
|
||||
|
||||
Memory leaks in Lua, uncovered by test 85.
|
||||
|
||||
Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
|
||||
|
||||
Checking runtime scripts: Thilo Six, 2012 Jun 6.
|
||||
|
||||
Patch to keep serving the selection while waiting for a child process.
|
||||
(Yukihiro Nakadaira, 2013 March 14)
|
||||
|
||||
GTK: problem with 'L' in 'guioptions' changing the window width.
|
||||
(Aaron Cornelius, 2012 Feb 6)
|
||||
|
||||
@@ -59,43 +237,41 @@ The CompleteDone autocommand needs some info passed to it:
|
||||
- The word that was selected (empty if abandoned complete)
|
||||
- Type of completion: tag, omnifunc, user func.
|
||||
|
||||
Using ":call foo#d.f()" doesn't autoload the "foo.vim" file.
|
||||
That is, calling a dictionary function on an autoloaded dict.
|
||||
Works OK for echo, just not for ":call" and ":call call()". (Ted, 2011 Mar
|
||||
17)
|
||||
Patch by Christian Brabandt, 2013 Mar 23.
|
||||
Not 100% sure this is the right solution.
|
||||
|
||||
Win32: When a directory name contains an exclamation mark, completion doesn't
|
||||
complete the contents of the directory. No escaping for the "!"? (Jan
|
||||
Stocker, 2012 Jan 5)
|
||||
|
||||
Matchparen does not update match when indenting. (Marc Aldorasi, 2013 Feb 9)
|
||||
Possible patch by Christian Brabandt, 2013 Feb 13.
|
||||
|
||||
Remarks about the more message and a patch to change behavior. (cptstubing,
|
||||
2013 Mar 16)
|
||||
|
||||
Patch to set antialiasing style on Windows. (Ondrej Balaz, 2013 Mar 14)
|
||||
|
||||
Problem caused by patch 7.3.638: window->open does not update window
|
||||
correctly. Issue 91.
|
||||
|
||||
Patch to add argument to bufname() to only consider buffers in the current
|
||||
tab. (Alexey Radkov, 2013 Feb 8) Example in later email.
|
||||
Is this right?
|
||||
|
||||
Patch to fix compiler warnings for MingW 4.5.3. (Ken Takata, 2013 Jan 26)
|
||||
|
||||
Bug: search() does not use the match at the cursor position if it's empty.
|
||||
(Christian Brabandt, 2013 Feb 16) Patch later.
|
||||
|
||||
On Mac do not define CASE_INSENSITIVE_FILENAME ? (Richo Healey, 2013 Mar 3)
|
||||
But do set 'wildignorecase' ?
|
||||
|
||||
Patch to make it possible to create Title Case in :s. with \L\u.
|
||||
(James McCoy, 2013 Feb 13)
|
||||
Patch to fix that 'cedit' is recognized after :normal. (Christian Brabandt,
|
||||
2013 Mar 19, later message)
|
||||
|
||||
Patch to view coverage of the tests. (Nazri Ramliy, 2013 Feb 15)
|
||||
|
||||
Do allow real tags above the !_TAG entries. Undo older patch. Issue 90.
|
||||
Patch to invert characters differently in GTK. (Yukihiro Nakadaira, 2013 May
|
||||
5)
|
||||
|
||||
Patch to add the bufferlist() function. (Yegappan Lakshmanan, 2013 May 5)
|
||||
May 17: with winlist() and tabpagelist().
|
||||
May 19: with local variables.
|
||||
|
||||
Patch to allow setting w:quickfix_title via setqflist() and setloclist()
|
||||
functions. (Christian Brabandt, 2013 May 8, update May 21)
|
||||
|
||||
Patch to support 'u' in interactive substitute. (Christian Brabandt, 2012 Sep
|
||||
28) With tests: Oct 9.
|
||||
|
||||
Patch to add getlocstack() / setlocstack(). (Christian Brabandt, 2013 May 14)
|
||||
Second one.
|
||||
|
||||
Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)
|
||||
|
||||
Patch for IME handling, adds 'imactivatefunc' and 'imstatusfunc' option.
|
||||
@@ -104,26 +280,24 @@ Patch to improve IME handling. (Yasuhiro Matsumoto, 2012 Jul 18)
|
||||
|
||||
Issue 54: document behavior of -complete, also expands arg.
|
||||
|
||||
Matches might be highlighted correctly. Inefficient patch by Christian
|
||||
Brabandt, 2013 Feb 26.
|
||||
- Add regex for 'paragraphs' and 'sections': 'parare' and 'sectre'. Combine
|
||||
the two into a regex for searching. (Ned Konz)
|
||||
Patch by Christian Brabandt, 2013 Apr 20, unfinished.
|
||||
|
||||
New syntax files for apt. (quidame, 2012 Sep 21)
|
||||
Bug: findfile("any", "http://;") returns http://any. (Andrew Pimlott, 2013 May
|
||||
7) Not sure if that can be fixed, but when using "file://" it should be
|
||||
possible to check if the file exists.
|
||||
|
||||
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 for if_lua. (Luis Carvalho, 2012 Aug 26, update Aug 29, another Aug 30,
|
||||
then Sep 1, reminder Oct 14)
|
||||
Patch to set antialiasing style on Windows. (Ondrej Balaz, 2013 Mar 14)
|
||||
Needs a different check for CLEARTYPE_QUALITY.
|
||||
|
||||
Issue 72: 'autochdir' causes problems for :vimgrep.
|
||||
|
||||
Undo problem: line not removed as expected when using setline() from Insert
|
||||
mode. (Israel Chauca, 2010 May 13, more in second msg)
|
||||
Break undo when CTRL-R = changes the text? Or save more lines?
|
||||
Patch by Christian Brabandt, 2012 Nov 16.
|
||||
|
||||
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.
|
||||
@@ -131,14 +305,8 @@ a reboot.
|
||||
MS-Windows: Crash opening very long file name starting with "\\".
|
||||
(Christian Brock, 2012 Jun 29)
|
||||
|
||||
It's probably a good idea to make a negative value for 'sts' use the value of
|
||||
'sw'. Patch by So8res, Oct 3 2012
|
||||
|
||||
patch to add "combine" flag to syntax commands. (so8res, 2012 Dec 6)
|
||||
|
||||
Bug in completion menu. (Olivier Teuliere, 2013 Feb 15)
|
||||
Patch by Christian Brabandt, Feb 16.
|
||||
|
||||
Syntax update problem in one buffer opened in two windows, bottom window is
|
||||
not correctly updated. (Paul Harris, 2012 Feb 27)
|
||||
|
||||
@@ -152,8 +320,8 @@ Patch to make confirm() display colors. (Christian Brabandt, 2012 Nov 9)
|
||||
|
||||
Patch to add functions for signs. (Christian Brabandt, 2013 Jan 27)
|
||||
|
||||
Patch to use directX to draw text on Windows. Adds the 'directx' option.
|
||||
(Taro Muraoka, 2013 Jan 25)
|
||||
Patch to use directX to draw text on Windows. Adds the 'renderoptions'
|
||||
option. (Taro Muraoka, 2013 Jan 25, update 2013 Apr 3, May 14)
|
||||
|
||||
Problem with refresh:always in completion. (Tyler Wade, 2013 Mar 17)
|
||||
|
||||
@@ -169,6 +337,9 @@ Patch to improve equivalence classes in regexp patterns.
|
||||
Patch with suggestions for starting.txt. (Tony Mechelynck, 2012 Oct 24)
|
||||
But use Gnome instead of GTK?
|
||||
|
||||
Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki
|
||||
Saito, 2013 Apr 24)
|
||||
|
||||
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)
|
||||
@@ -176,10 +347,6 @@ 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?
|
||||
|
||||
MS-Windows ACL support doesn't work well. Patch from Ken Takata, 2012 Aug 29.
|
||||
Update Aug 31.
|
||||
Another patch for MingW, 2012 Dec 29.
|
||||
|
||||
MS-Windows resizing problems:
|
||||
- Windows window on screen positioning: Patch by Yukihiro Nakadaira, 2012 Jun
|
||||
20. Uses getWindowRect() instead of GetWindowPlacement()
|
||||
@@ -189,6 +356,9 @@ MS-Windows resizing problems:
|
||||
|
||||
'iminsert' global value set when using ":setlocal iminsert"? (Wu, 2012 Jun 23)
|
||||
|
||||
Patch to append regexp to tag commands to make it possible to select one out
|
||||
of many matches. (Cody Cutler, 2013 Mar 28)
|
||||
|
||||
Help for 'b:undo_indent'. (Thilo Six, 2012 May 28)
|
||||
Also question if examples are correct.
|
||||
|
||||
@@ -223,23 +393,12 @@ When running Vim in silent ex mode, an existing swapfile causes Vim to wait
|
||||
for a user action without a prompt. (Maarten Billemont, 2012 Feb 3)
|
||||
Do give the prompt? Quit with an error?
|
||||
|
||||
Patch for 'backupcopy' default behavior for symlinks on Windows. (David Pope,
|
||||
2012 Mar 21, update Mar 31)
|
||||
With fix for memory leak: Ken Takata, 2012 Aug 24
|
||||
Another update Sep 24.
|
||||
|
||||
Patch to list user digraphs. (Christian Brabandt, 2012 Apr 14)
|
||||
|
||||
Patch for input method status. (Hirohito Higashi, 2012 Apr 18)
|
||||
|
||||
Patch to print the result of a :python command. (Maxim Philippov
|
||||
<philippovmi@gmail.com>, 2012 Aug 16) Update Aug 17.
|
||||
|
||||
Problem with winfixheight and resizing. (Yukihiro Nakadaira, 2011 Sep 17)
|
||||
Patch Sep 18.
|
||||
|
||||
Patch for IME problems. Remove hacking code for old IM. (Yukihiro Nakadaira,
|
||||
2012 Jul 20)
|
||||
Patch to use .png icons for the toolbar on MS-Windows. (Martin Gieseking, 2013
|
||||
Apr 18)
|
||||
|
||||
Patch for has('unnamedplus') docs. (Tony Mechelynck, 2011 Sep 27)
|
||||
And one for gui_x11.txt.
|
||||
@@ -273,16 +432,11 @@ Nov 20)
|
||||
Patch to improve GUI find/replace dialog. (Christian Brabandt, 2012 May 26)
|
||||
Update Jun 2.
|
||||
|
||||
Patch to add ":py3do". (Lilydjwg, 2012 Apr 7)
|
||||
|
||||
`] moves to character after insert, instead of the last inserted character.
|
||||
(Yukihiro Nakadaira, 2011 Dec 9)
|
||||
|
||||
Plugin for Modeleasy. (Massimiliano Tripoli, 2011 Nov 29)
|
||||
|
||||
Updated syntax file for ssh_config, maintainer doesn't respond.
|
||||
(Leonard Ehrenfried, 2011 Sep 26)
|
||||
|
||||
BufWinLeave triggers too late when quitting last window in a tab page. (Lech
|
||||
Lorens, 2012 Feb 21)
|
||||
|
||||
@@ -312,15 +466,9 @@ Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2,
|
||||
only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
|
||||
21, Ben Fritz, 2010 Sep 14)
|
||||
|
||||
'cursorline' is drawn incorrectly in diff mode. Patch by Christian Brabandt,
|
||||
2012 Apr 2.
|
||||
|
||||
'cursorline' works on a text line only. Add 'cursorscreenline' for
|
||||
highlighting the screen line. (Christian Brabandt, 2012 Mar 31)
|
||||
|
||||
Win32: Does building a 64 bit version with VC9 give warnings for int
|
||||
conversions? (Mike Williams)
|
||||
|
||||
Win32: Patch to use task dialogs when available. (Sergiu Dotenco, 2011 Sep 17)
|
||||
New feature, requires testing. Made some remarks.
|
||||
|
||||
@@ -400,12 +548,6 @@ string() can't parse back "inf" and "nan". Fix documentation or fix code?
|
||||
|
||||
Make 'formatprg' global-local. (Sung Pae)
|
||||
|
||||
When a buffer-local mapping is used, but a global mapping starts with the same
|
||||
characters, Vim currently waits for the next typed character to find out if
|
||||
the global mapping matches. It is probably better to let the local mapping
|
||||
win and not wait. (discussion with Andy Wokula, 2013 Jan 30)
|
||||
Patch by Michael Henry, 2013 Jan 30, update Feb 15.
|
||||
|
||||
When doing "redir => s:foo" in a script and then "redir END" somewhere else
|
||||
(e.g. in a function) it can't find s:foo.
|
||||
|
||||
@@ -532,9 +674,6 @@ the command line. (Ingo Karkat, 2011 Jan 25)
|
||||
Since patch 7.2.46 Yankring plugin has become very slow, eventually make Vim
|
||||
crash? (Raiwil, 2010 Nov 17)
|
||||
|
||||
Python: Adding line to buffer other than the current one doesn't work
|
||||
correctly. (Rozbujnik, 2010 Dec 19)
|
||||
|
||||
Patch to add 'systemencoding', convert between 'encoding' and this for file
|
||||
names, shell commands and the like. (Kikuchan, 2010 Oct 14)
|
||||
Assume the system converts between the actual encoding of the filesystem to
|
||||
@@ -699,20 +838,11 @@ Problem with stop directory in findfile(). (Adam Simpkins, 2009 Aug 26)
|
||||
Using ']' as the end of a range in a pattern requires double escaping:
|
||||
/[@-\\]] (Andy Wokula, 2011 Jun 28)
|
||||
|
||||
Slow combination of folding and PHP syntax highlighting. Script to reproduce
|
||||
it. Caused by "syntax sync fromstart" in combination with patch 7.2.274.
|
||||
(Christian Brabandt, 2010 May 27)
|
||||
Generally, folding with 'foldmethod' set to "syntax" is slow. Do profiling to
|
||||
find out why.
|
||||
|
||||
Syntax priority problem. (Charles Campbell, 2011 Sep 15)
|
||||
|
||||
When completion inserts the first match, it may trigger the line to be folded.
|
||||
Disable updating folds while completion is active? (Peter Odding, 2010 Jun 9)
|
||||
|
||||
Using ":call foo#d.f()" doesn't autoload the "foo.vim" file. Works OK for
|
||||
echo, just not for ":call" and ":call call()". (Ted, 2011 Mar 17)
|
||||
|
||||
When a:base in 'completefunc' starts with a number it's passed as a number,
|
||||
not a string. (Sean Ma) Need to add flag to call_func_retlist() to force a
|
||||
string value.
|
||||
@@ -897,9 +1027,6 @@ shellescape() depends on 'shellshash' for quoting. That doesn't work when
|
||||
Use a different option or let it depend on whether 'shell' looks like a
|
||||
unix-like shell?
|
||||
|
||||
Allow patches to add something to version.c, like with an official patch, so
|
||||
that :version output shows which patches have been applied.
|
||||
|
||||
Bug: in Ex mode (after "Q") backslash before line break, when yanked into a
|
||||
register and executed, results in <Nul>: instead of line break.
|
||||
(Konrad Schwarz, 2010 Apr 16)
|
||||
@@ -926,6 +1053,7 @@ ATTENTION message? (Tony Mechelynck, 2008 Dec 1)
|
||||
Also: swap files are in ~/tmp/ One has relative file name ".mozilla/...".
|
||||
|
||||
Add v:motion_force. (Kana Natsuno, 2008 Dec 6)
|
||||
Maybe call it v:motiontype.
|
||||
|
||||
Runtime files for Clojure. (Toralf Wittner, 2008 Jun 25)
|
||||
|
||||
@@ -1113,18 +1241,6 @@ Would be more consistent when an existing tab is re-used. (Tony Mechelynck)
|
||||
|
||||
Add ":nofold". Range will apply without expanding to closed fold.
|
||||
|
||||
Including NFA regexp code:
|
||||
Use "\%#= to set the engine: 0 = automatic, 1 = backtracking, 2 = new.
|
||||
Useful in tests.
|
||||
Performance tests:
|
||||
- ~/vim/test/veryslow.js (file from Daniel Fetchinson)
|
||||
- ~/vim/test/slowsearch
|
||||
- ~/vim/test/rgb.vim
|
||||
- ~/vim/text/FeiqCfg.xml (file from Netjune)
|
||||
- ~/vim/text/edl.svg (also XML)
|
||||
- search for a.*e*exn in the vim executable. Go to last line to use
|
||||
'hlsearch'.
|
||||
|
||||
Using Aap to build Vim: add remarks about how to set personal preferences.
|
||||
Example on http://www.calmar.ws/tmp/aap.html
|
||||
|
||||
@@ -1357,9 +1473,6 @@ if_ruby.c.
|
||||
|
||||
":helpgrep" should use the directory from 'helpfile'.
|
||||
|
||||
Patch to dynamically load Python on Solaris. (Danek Duvall, 2009 Feb 16)
|
||||
Needs more work.
|
||||
|
||||
The need_fileinfo flag is messy. Instead make the message right away and put
|
||||
it in keep_msg?
|
||||
|
||||
@@ -1401,9 +1514,6 @@ When doing ":quit" the Netbeans "killed" event isn't sent. (Xavier de Gaye,
|
||||
2008 Nov 10) call netbeans_file_closed() at the end of buf_freeall(), or in
|
||||
all places where buf_freeall() is called?
|
||||
|
||||
":python os.chdir('/tmp')" makes short buffer names invalid. (Xavier de Gaye)
|
||||
Check directory and call shorten_fnames()?
|
||||
|
||||
aucmd_prepbuf() should also use a window in another tab page.
|
||||
|
||||
When unloading a buffer in a BufHidden autocommand the hidden flag is reset?
|
||||
@@ -1439,9 +1549,6 @@ somehow? Or use a new function.
|
||||
|
||||
Mac: Using gvim: netrw window disappears. (Nick Lo, 2006 Jun 21)
|
||||
|
||||
Mac: OS/X 10.4 with Python 2.5 installed: configure finds an extra argument
|
||||
that breaks the build. (Brian Victor, 2008 Sep 1)
|
||||
|
||||
Add an option to specify the character to use when a double-width character is
|
||||
moved to the next line. Default '>', set to a space to blank it out. Check
|
||||
that char is single width when it's set (compare with 'listchars').
|
||||
@@ -1683,10 +1790,8 @@ Patch to support horizontal scroll wheel in GTK. Untested. (Bjorn Winckler,
|
||||
2010 Jun 30)
|
||||
|
||||
|
||||
At next release 7.4:
|
||||
At next release:
|
||||
- Build a huge version by default.
|
||||
- Rename src/Makefile and create a new one like toplevel Makefile that
|
||||
creates auto/config.mk when it's not there? (Ben Schmidt, 2011 Feb 11)
|
||||
- Improve plugin handling: Automatic updates, handle dependencies?
|
||||
E.g. Vundle: https://github.com/gmarik/vundle
|
||||
|
||||
@@ -1728,7 +1833,6 @@ More patches:
|
||||
more friendly for the Vim distribution.
|
||||
New version received 2008 Jan 6.
|
||||
No maintenance in two years...
|
||||
- Patch to access screen under Python. (Marko Mahni, 2010 Jul 18)
|
||||
- Patch to open dropped files in new tabs. (Michael Trim, 2010 Aug 3)
|
||||
|
||||
Awaiting updated patches:
|
||||
@@ -2307,7 +2411,6 @@ Macintosh:
|
||||
8 When doing Insert mode completion a mapping cannot recursively call
|
||||
edit(), because the completion information is global. Put everything in
|
||||
an allocated structure?
|
||||
6 Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
|
||||
8 Command line completion: buffers "foo.txt" and "../b/foo.txt", completing
|
||||
":buf foo<Tab>" doesn't find the second one. (George V. Reilly)
|
||||
7 mb_off2cells() doesn't work correctly on the tail byte of a double-byte
|
||||
@@ -3604,9 +3707,6 @@ Tags:
|
||||
Win32 GUI:
|
||||
8 Make debug mode work while starting up (vim -D). Open console window for
|
||||
the message and input?
|
||||
7 The Python interface only works with one version of Python, selected at
|
||||
compile time. Can this be made to work with version 2.1 and 2.2
|
||||
dynamically?
|
||||
7 GvimExt: when there are several existing Vims, move the list to a submenu.
|
||||
(Mike McCollister)
|
||||
8 When using "Edit with Vim" for one file it changes directory, when several
|
||||
@@ -3968,9 +4068,6 @@ Command line completion:
|
||||
|
||||
|
||||
Command line history:
|
||||
9 Remember which command lines were actually typed and were not loaded from
|
||||
viminfo. When writing viminfo append only these lines, so that lines from
|
||||
other Vim's are not overwritten.
|
||||
- Add "KeyWasTyped" flag: It's reset before each command and set when a
|
||||
character from the keyboard is consumed. Value is used to decide to put a
|
||||
command line in history or not. Put line in history if it didn't
|
||||
@@ -4159,7 +4256,7 @@ Select mode:
|
||||
8 In blockwise mode, typed characters are inserted in front of the block,
|
||||
backspace deletes a column before the block. (Steve Hall)
|
||||
7 Alt-leftmouse starts block mode selection in MS Word.
|
||||
See http://www.vim.org/tips/tip.php?tip_id=743
|
||||
See http://vim.wikia.com/wiki/Use_Alt-Mouse_to_select_blockwise.
|
||||
7 Add Cmdline-select mode. Like Select mode, but used on the command line.
|
||||
- Change gui_send_mouse_event() to pass on mouse events when 'mouse'
|
||||
contains 'C' or 'A'.
|
||||
@@ -4824,8 +4921,6 @@ Debug mode:
|
||||
|
||||
|
||||
Various improvements:
|
||||
9 Python: be able to define a Python function that can be called directly
|
||||
from Vim script. Requires converting the arguments and return value.
|
||||
7 Add plugins for formatting? Should be able to make a choice depending on
|
||||
the language of a file (English/Korean/Japanese/etc.).
|
||||
Setting the 'langformat' option to "chinese" would load the
|
||||
@@ -4850,7 +4945,6 @@ Various improvements:
|
||||
7 Allow a window not to have a statusline. Makes it possible to use a
|
||||
window as a buffer-tab selection.
|
||||
8 Allow non-active windows to have a different statusline. (Yakov Lerner)
|
||||
6 Python interface: add vim.message() function. (Michal Vitecek, 2002 Nov 5)
|
||||
7 Support using ":vert" with User commands. Add expandable items <vert>.
|
||||
Do the same for ":browse" and ":confirm"?
|
||||
For ":silent" and ":debug" apply to the whole user command.
|
||||
@@ -5081,8 +5175,6 @@ Various improvements:
|
||||
- Add a variant of CTRL-V that stops interpretation of more than one
|
||||
character. For entering mappings on the command line where a key contains
|
||||
several special characters, e.g. a trailing newline.
|
||||
- Add regex for 'paragraphs' and 'sections': 'parare' and 'sectre'. Combine
|
||||
the two into a regex for searching. (Ned Konz)
|
||||
- Make '2' option in 'formatoptions' also work inside comments.
|
||||
- Add 's' flag to 'formatoptions': Do not break when inside a string. (Dodt)
|
||||
- When window size changed (with the mouse) and made too small, set it back
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 7.3. Last change: 2012 Dec 06
|
||||
*various.txt* For Vim version 7.3. Last change: 2013 May 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -368,7 +368,7 @@ N *+mouse_sysmouse* Unix only: *BSD console mouse handling |sysmouse|
|
||||
B *+mouse_sgr* Unix only: sgr mouse handling |sgr-mouse|
|
||||
B *+mouse_urxvt* Unix only: urxvt mouse handling |urxvt-mouse|
|
||||
N *+mouse_xterm* Unix only: xterm mouse handling |xterm-mouse|
|
||||
B *+multi_byte* 16 and 32 bit characters |multibyte|
|
||||
N *+multi_byte* 16 and 32 bit characters |multibyte|
|
||||
*+multi_byte_ime* Win32 input method for multibyte chars |multibyte-ime|
|
||||
N *+multi_lang* non-English language support |multi-lang|
|
||||
m *+mzscheme* Mzscheme interface |mzscheme|
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2013 Mar 16
|
||||
" Last Change: 2013 May 15
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -1638,9 +1638,6 @@ func! s:FTr()
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" ReDIF
|
||||
au BufRead,BufNewFile *.rdf setf redif
|
||||
|
||||
" Remind
|
||||
au BufNewFile,BufRead .reminders,*.remind,*.rem setf remind
|
||||
|
||||
@@ -1650,6 +1647,9 @@ au BufNewFile,BufRead resolv.conf setf resolv
|
||||
" Relax NG Compact
|
||||
au BufNewFile,BufRead *.rnc setf rnc
|
||||
|
||||
" Relax NG XML
|
||||
au BufNewFile,BufRead *.rng setf rng
|
||||
|
||||
" RPL/2
|
||||
au BufNewFile,BufRead *.rpl setf rpl
|
||||
|
||||
@@ -2563,6 +2563,20 @@ au BufNewFile,BufRead *termcap*
|
||||
\| let b:ptcap_type = "term" | call s:StarSetf('ptcap')
|
||||
\|endif
|
||||
|
||||
" ReDIF
|
||||
" Only used when the .rdf file was not detected to be XML.
|
||||
au BufRead,BufNewFile *.rdf call s:Redif()
|
||||
func! s:Redif()
|
||||
let lnum = 1
|
||||
while lnum <= 5 && lnum < line('$')
|
||||
if getline(lnum) =~ "^\ctemplate-type:"
|
||||
setf redif
|
||||
return
|
||||
endif
|
||||
let lnum = lnum + 1
|
||||
endwhile
|
||||
endfunc
|
||||
|
||||
" Remind
|
||||
au BufNewFile,BufRead .reminders* call s:StarSetf('remind')
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Aap recipe
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2003 Nov 04
|
||||
" Last Change: 2013 Apr 05
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -19,7 +19,7 @@ let b:undo_ftplugin = "setl fo< com< et<"
|
||||
setlocal fo-=t fo+=croql
|
||||
|
||||
" Set 'comments' to format dashed lists in comments.
|
||||
setlocal comments=s:#\ -,m:#\ \,e:#,n:#,fb:-
|
||||
setlocal comments=s:#\ -,m:#\ \ ,e:#,n:#,fb:-
|
||||
|
||||
" Expand tabs to spaces to avoid trouble.
|
||||
setlocal expandtab
|
||||
|
||||
29
runtime/ftplugin/abap.vim
Normal file
29
runtime/ftplugin/abap.vim
Normal file
@@ -0,0 +1,29 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: ABAP
|
||||
" Author: Steven Oliver <oliver.steven@gmail.com>
|
||||
" Copyright: Copyright (c) 2013 Steven Oliver
|
||||
" License: You may redistribute this under the same terms as Vim itself
|
||||
" --------------------------------------------------------------------------
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal softtabstop=2 shiftwidth=2
|
||||
setlocal suffixesadd=.abap
|
||||
|
||||
" Windows allows you to filter the open file dialog
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "ABAP Source Files (*.abap)\t*.abap\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: set sw=4 sts=4 et tw=80 :
|
||||
@@ -7,7 +7,7 @@
|
||||
" Neil Bird <neil@fnxweb.com>
|
||||
" $Author: krischik $
|
||||
" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
|
||||
" Version: 4.6
|
||||
" Version: 4.6 with patch from David Bürgin
|
||||
" $Revision: 887 $
|
||||
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/ftplugin/ada.vim $
|
||||
" History: 24.05.2006 MK Unified Headers
|
||||
@@ -42,7 +42,7 @@ set cpoptions-=C
|
||||
|
||||
" Section: Comments {{{1
|
||||
"
|
||||
setlocal comments=O:--,:--\ \
|
||||
setlocal comments=O:--,:--\ \
|
||||
setlocal commentstring=--\ \ %s
|
||||
setlocal complete=.,w,b,u,t,i
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Make
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2006 Jun 17
|
||||
" Last Change: 2013 Apr 22
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -26,3 +26,8 @@ setlocal commentstring=#\ %s
|
||||
|
||||
" Including files.
|
||||
let &l:include = '^\s*include'
|
||||
|
||||
" For matchit.vim, suggested by Albert Netymk.
|
||||
if exists("loaded_matchit")
|
||||
let b:match_words = '\<if\(n\)\=\(eq\|def\)\>:\<else\>:\<endif\>,\<define\>:\<endef\>'
|
||||
endif
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" SQL filetype plugin file
|
||||
" Language: SQL (Common for Oracle, Microsoft SQL Server, Sybase)
|
||||
" Version: 10.0
|
||||
" Version: 11.0
|
||||
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
||||
" Last Change: 2012 Dec 04
|
||||
" Last Change: 2013 May 13
|
||||
" Download: http://vim.sourceforge.net/script.php?script_id=454
|
||||
|
||||
" For more details please use:
|
||||
@@ -36,6 +36,10 @@
|
||||
"
|
||||
" History
|
||||
"
|
||||
" Version 11.0 (May 2013)
|
||||
"
|
||||
" NF: Updated to use SyntaxComplete's new regex support for syntax groups.
|
||||
"
|
||||
" Version 10.0 (Dec 2012)
|
||||
"
|
||||
" NF: Changed all maps to use noremap instead of must map
|
||||
@@ -189,7 +193,7 @@ if !exists("*SQL_SetType")
|
||||
|
||||
" Remove any cached SQL since a new sytax will have different
|
||||
" items and groups
|
||||
if !exists('g:loaded_sql_completion') || 100 == g:loaded_sql_completion
|
||||
if !exists('g:loaded_sql_completion') || g:loaded_sql_completion >= 100
|
||||
call sqlcomplete#ResetCacheSyntax()
|
||||
endif
|
||||
|
||||
@@ -458,6 +462,8 @@ if exists('&omnifunc')
|
||||
" OMNI function prior to setting up the SQL OMNI function
|
||||
let b:sql_compl_savefunc = &omnifunc
|
||||
|
||||
" Source it to determine it's version
|
||||
runtime autoload/sqlcomplete.vim
|
||||
" This is used by the sqlcomplete.vim plugin
|
||||
" Source it for it's global functions
|
||||
runtime autoload/syntaxcomplete.vim
|
||||
@@ -466,14 +472,20 @@ if exists('&omnifunc')
|
||||
" Prevent the intellisense plugin from loading
|
||||
let b:sql_vis = 1
|
||||
if !exists('g:omni_sql_no_default_maps')
|
||||
let regex_extra = ''
|
||||
if exists('g:loaded_syntax_completion') && exists('g:loaded_sql_completion')
|
||||
if g:loaded_syntax_completion > 120 && g:loaded_sql_completion > 140
|
||||
let regex_extra = '\\w*'
|
||||
endif
|
||||
endif
|
||||
" Static maps which use populate the completion list
|
||||
" using Vim's syntax highlighting rules
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'a <C-\><C-O>:call sqlcomplete#Map("syntax")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'k <C-\><C-O>:call sqlcomplete#Map("sqlKeyword")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'f <C-\><C-O>:call sqlcomplete#Map("sqlFunction")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'o <C-\><C-O>:call sqlcomplete#Map("sqlOption")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'T <C-\><C-O>:call sqlcomplete#Map("sqlType")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'s <C-\><C-O>:call sqlcomplete#Map("sqlStatement")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'k <C-\><C-O>:call sqlcomplete#Map("sqlKeyword'.regex_extra.'")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'f <C-\><C-O>:call sqlcomplete#Map("sqlFunction'.regex_extra.'")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'o <C-\><C-O>:call sqlcomplete#Map("sqlOption'.regex_extra.'")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'T <C-\><C-O>:call sqlcomplete#Map("sqlType'.regex_extra.'")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'s <C-\><C-O>:call sqlcomplete#Map("sqlStatement'.regex_extra.'")<CR><C-X><C-O>'
|
||||
" Dynamic maps which use populate the completion list
|
||||
" using the dbext.vim plugin
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'t <C-\><C-O>:call sqlcomplete#Map("table")<CR><C-X><C-O>'
|
||||
@@ -510,4 +522,3 @@ let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim:sw=4:
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2,21 +2,23 @@
|
||||
" Language: PHP
|
||||
" Author: John Wellesz <John.wellesz (AT) teaser (DOT) fr>
|
||||
" URL: http://www.2072productions.com/vim/indent/php.vim
|
||||
" Last Change: 2010 Jully 26th
|
||||
" Newsletter: http://www.2072productions.com/?to=php-indent-for-vim-newsletter.php
|
||||
" Version: 1.33
|
||||
" Home: https://github.com/2072/PHP-Indenting-for-VIm
|
||||
" Last Change: 2013 May 10th
|
||||
" Version: 1.37
|
||||
"
|
||||
"
|
||||
" If you find a bug, please report it on GitHub:
|
||||
" http://github.com/2072/PHP-Indenting-for-VIm/issues
|
||||
" with an example of code that breaks the algorithm.
|
||||
" Type :help php-indent for available options
|
||||
"
|
||||
" A fully commented version of this file is available on github
|
||||
"
|
||||
"
|
||||
" Thanks a lot for using this script.
|
||||
"
|
||||
" If you find a bug, please open a ticket on github.org
|
||||
" ( https://github.com/2072/PHP-Indenting-for-VIm/issues ) with an example of
|
||||
" code that breaks the algorithm.
|
||||
"
|
||||
|
||||
" NOTE: This script must be used with PHP syntax ON and with the php syntax
|
||||
" script by Lutz Eymers (http://www.ipdienste.net/data/php.vim ) or with the
|
||||
" script by Lutz Eymers (http://www.isp.de/data/php.vim ) or with the
|
||||
" script by Peter Hodge (http://www.vim.org/scripts/script.php?script_id=1571 )
|
||||
" the later is bunbdled by default with Vim 7.
|
||||
"
|
||||
@@ -26,7 +28,7 @@
|
||||
" script will automatically put HereDoc end identifiers at col 1 if
|
||||
" they are followed by a ';').
|
||||
"
|
||||
"
|
||||
|
||||
" NOTE: If you are editing files in Unix file format and that (by accident)
|
||||
" there are '\r' before new lines, this script won't be able to proceed
|
||||
" correctly and will make many mistakes because it won't be able to match
|
||||
@@ -38,8 +40,6 @@
|
||||
" or simply 'let' the option PHP_removeCRwhenUnix to 1 and the script will
|
||||
" silently remove them when VIM load this script (at each bufread).
|
||||
"
|
||||
" Options: See :help php-indent for available options.
|
||||
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
@@ -50,12 +50,19 @@ let b:did_indent = 1
|
||||
let php_sync_method = 0
|
||||
|
||||
|
||||
|
||||
if exists("PHP_default_indenting")
|
||||
let b:PHP_default_indenting = PHP_default_indenting * &sw
|
||||
else
|
||||
let b:PHP_default_indenting = 0
|
||||
endif
|
||||
|
||||
if exists("PHP_outdentSLComments")
|
||||
let b:PHP_outdentSLComments = PHP_outdentSLComments * &sw
|
||||
else
|
||||
let b:PHP_outdentSLComments = 0
|
||||
endif
|
||||
|
||||
if exists("PHP_BracesAtCodeLevel")
|
||||
let b:PHP_BracesAtCodeLevel = PHP_BracesAtCodeLevel
|
||||
else
|
||||
@@ -116,13 +123,20 @@ endif
|
||||
|
||||
if exists("*GetPhpIndent")
|
||||
call ResetPhpOptions()
|
||||
finish
|
||||
finish " XXX -- comment this line for easy dev
|
||||
endif
|
||||
|
||||
let s:endline= '\s*\%(//.*\|#.*\|/\*.*\*/\s*\)\=$'
|
||||
let s:PHP_startindenttag = '<?\%(.*?>\)\@!\|<script[^>]*>\%(.*<\/script>\)\@!'
|
||||
|
||||
|
||||
function! DebugPrintReturn(scriptLine)
|
||||
|
||||
echo "debug:" . a:scriptLine
|
||||
call getchar()
|
||||
|
||||
endfunction
|
||||
|
||||
function! GetLastRealCodeLNum(startline) " {{{
|
||||
|
||||
let lnum = a:startline
|
||||
@@ -189,8 +203,6 @@ function! GetLastRealCodeLNum(startline) " {{{
|
||||
let b:InPHPcode_and_script = 0
|
||||
endif
|
||||
|
||||
|
||||
|
||||
return lnum
|
||||
endfunction " }}}
|
||||
|
||||
@@ -198,11 +210,11 @@ function! Skippmatch2()
|
||||
|
||||
let line = getline(".")
|
||||
|
||||
if line =~ '\%(".*\)\@<=/\*\%(.*"\)\@=' || line =~ '\%(\%(//\|#\).*\)\@<=/\*'
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
endif
|
||||
if line =~ "\\([\"']\\).*/\\*.*\\1" || line =~ '\%(//\|#\).*/\*'
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
endif
|
||||
endfun
|
||||
|
||||
function! Skippmatch() " {{{
|
||||
@@ -314,7 +326,7 @@ function! IslinePHP (lnum, tofind) " {{{
|
||||
endif
|
||||
endfunction " }}}
|
||||
|
||||
let s:notPhpHereDoc = '\%(break\|return\|continue\|exit\|else\)'
|
||||
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
|
||||
@@ -361,14 +373,12 @@ function! GetPhpIndent()
|
||||
if !b:PHP_indentinghuge && b:PHP_lastindented > b:PHP_indentbeforelast
|
||||
if b:PHP_indentbeforelast
|
||||
let b:PHP_indentinghuge = 1
|
||||
echom 'Large indenting detected, speed optimizations engaged (v1.33)'
|
||||
endif
|
||||
let b:PHP_indentbeforelast = b:PHP_lastindented
|
||||
endif
|
||||
|
||||
if b:InPHPcode_checked && prevnonblank(v:lnum - 1) != b:PHP_lastindented
|
||||
if b:PHP_indentinghuge
|
||||
echom 'Large indenting deactivated'
|
||||
let b:PHP_indentinghuge = 0
|
||||
let b:PHP_CurrentIndentLevel = b:PHP_default_indenting
|
||||
endif
|
||||
@@ -425,7 +435,7 @@ function! GetPhpIndent()
|
||||
else
|
||||
let b:InPHPcode = 0
|
||||
let b:UserIsTypingComment = 0
|
||||
let b:InPHPcode_tofind = '<?\%(.*?>\)\@!\|<script.*>'
|
||||
let b:InPHPcode_tofind = s:PHP_startindenttag
|
||||
endif
|
||||
endif "!b:InPHPcode_checked }}}
|
||||
|
||||
@@ -493,7 +503,9 @@ function! GetPhpIndent()
|
||||
endif
|
||||
|
||||
" Indent successive // or # comment the same way the first is {{{
|
||||
let addSpecial = 0
|
||||
if cline =~ '^\s*\%(//\|#\|/\*.*\*/\s*$\)'
|
||||
let addSpecial = b:PHP_outdentSLComments
|
||||
if b:PHP_LastIndentedWasComment == 1
|
||||
return indent(real_PHP_lastindented)
|
||||
endif
|
||||
@@ -550,7 +562,7 @@ function! GetPhpIndent()
|
||||
endif
|
||||
|
||||
if lnum == 0
|
||||
return b:PHP_default_indenting
|
||||
return b:PHP_default_indenting + addSpecial
|
||||
endif
|
||||
|
||||
|
||||
@@ -577,17 +589,17 @@ function! GetPhpIndent()
|
||||
endif
|
||||
|
||||
|
||||
if last_line =~ '[;}]'.endline && last_line !~ '^)' && last_line !~# s:defaultORcase
|
||||
if last_line =~ '[;}]'.endline && last_line !~ '^[)\]]' && last_line !~# s:defaultORcase
|
||||
if ind==b:PHP_default_indenting
|
||||
return b:PHP_default_indenting
|
||||
return b:PHP_default_indenting + addSpecial
|
||||
elseif b:PHP_indentinghuge && ind==b:PHP_CurrentIndentLevel && cline !~# '^\s*\%(else\|\%(case\|default\).*:\|[})];\=\)' && last_line !~# '^\s*\%(\%(}\s*\)\=else\)' && getline(GetLastRealCodeLNum(lnum - 1))=~';'.endline
|
||||
return b:PHP_CurrentIndentLevel
|
||||
return b:PHP_CurrentIndentLevel + addSpecial
|
||||
endif
|
||||
endif
|
||||
|
||||
let LastLineClosed = 0
|
||||
|
||||
let terminated = '\%(;\%(\s*?>\)\=\|<<<''\=\a\w*''\=$\|^\s*}\)'.endline
|
||||
let terminated = '\%(;\%(\s*\%(?>\|}\)\)\=\|<<<''\=\a\w*''\=$\|^\s*}\)'.endline
|
||||
|
||||
let unstated = '\%(^\s*'.s:blockstart.'.*)\|\%(//.*\)\@<!\<e'.'lse\>\)'.endline
|
||||
|
||||
@@ -618,19 +630,23 @@ function! GetPhpIndent()
|
||||
endwhile
|
||||
|
||||
elseif last_line =~# unstated && cline !~ '^\s*);\='.endline
|
||||
let ind = ind + &sw
|
||||
return ind
|
||||
let ind = ind + &sw " we indent one level further when the preceding line is not stated
|
||||
return ind + addSpecial
|
||||
|
||||
elseif (ind != b:PHP_default_indenting || last_line =~ '^)' ) && last_line =~ terminated
|
||||
elseif (ind != b:PHP_default_indenting || last_line =~ '^[)\]]' ) && last_line =~ terminated " Added || last_line =~ '^)' on 2007-12-30 (array indenting problem broke other things)
|
||||
let previous_line = last_line
|
||||
let last_line_num = lnum
|
||||
let LastLineClosed = 1
|
||||
|
||||
while 1
|
||||
if previous_line =~ '^\s*}'
|
||||
let last_line_num = FindOpenBracket(last_line_num)
|
||||
if previous_line =~ '^\s*}\|;\s*}'.endline " XXX
|
||||
|
||||
if getline(last_line_num) =~ '^\s*{'
|
||||
call cursor(last_line_num, 1)
|
||||
call search('}\|;\s*}'.endline, 'W')
|
||||
let oldLastLine = last_line_num
|
||||
let last_line_num = searchpair('{', '', '}', 'bW', 'Skippmatch()')
|
||||
|
||||
if oldLastLine == last_line_num || getline(last_line_num) =~ '^\s*{'
|
||||
let last_line_num = GetLastRealCodeLNum(last_line_num - 1)
|
||||
endif
|
||||
|
||||
@@ -674,7 +690,7 @@ function! GetPhpIndent()
|
||||
let ind = indent(last_match)
|
||||
let b:PHP_CurrentIndentLevel = b:PHP_default_indenting
|
||||
|
||||
return ind
|
||||
return ind + addSpecial
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -693,7 +709,7 @@ function! GetPhpIndent()
|
||||
if !LastLineClosed
|
||||
|
||||
|
||||
if last_line =~# '[{(]'.endline || last_line =~? '\h\w*\s*(.*,$' && AntepenultimateLine !~ '[,(]'.endline
|
||||
if last_line =~# '[{(\[]'.endline || last_line =~? '\h\w*\s*(.*,$' && AntepenultimateLine !~ '[,(]'.endline
|
||||
|
||||
if !b:PHP_BracesAtCodeLevel || last_line !~# '^\s*{'
|
||||
let ind = ind + &sw
|
||||
@@ -702,7 +718,7 @@ function! GetPhpIndent()
|
||||
if b:PHP_BracesAtCodeLevel || b:PHP_vintage_case_default_indent == 1
|
||||
let b:PHP_CurrentIndentLevel = ind
|
||||
|
||||
return ind
|
||||
return ind + addSpecial
|
||||
endif
|
||||
|
||||
elseif last_line =~ '\S\+\s*),'.endline
|
||||
@@ -712,22 +728,21 @@ function! GetPhpIndent()
|
||||
if openedparent != lnum
|
||||
let ind = indent(openedparent)
|
||||
endif
|
||||
|
||||
|
||||
elseif last_line =~ '^\s*'.s:blockstart
|
||||
let ind = ind + &sw
|
||||
|
||||
|
||||
|
||||
elseif AntepenultimateLine =~ '\%(;\%(\s*?>\)\=\|<<<''\=\a\w*''\=$\|^\s*}\|{\)'.endline . '\|' . s:defaultORcase
|
||||
elseif AntepenultimateLine =~ '\%(;\%(\s*\%(?>\|}\)\)\=\|<<<''\=\a\w*''\=$\|^\s*}\|{\)'.endline . '\|' . s:defaultORcase
|
||||
let ind = ind + &sw
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
if cline =~ '^\s*);\='
|
||||
if cline =~ '^\s*[)\]];\='
|
||||
let ind = ind - &sw
|
||||
endif
|
||||
|
||||
let b:PHP_CurrentIndentLevel = ind
|
||||
return ind
|
||||
return ind + addSpecial
|
||||
endfunction
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim indent file
|
||||
" Language: LaTeX
|
||||
" Maintainer: Zhou YiChao <broken.zhou AT gmail.com>
|
||||
" Maintainer: YiChao Zhou <broken.zhou AT gmail.com>
|
||||
" Created: Sat, 16 Feb 2002 16:50:19 +0100
|
||||
" Last Change: 2012 Mar 18 19:19:50
|
||||
" Version: 0.7
|
||||
@@ -46,6 +46,9 @@
|
||||
" (*) Modify indentkeys.
|
||||
" 2012/03/18 by Zhou Yichao <broken.zhou AT gmail.com>
|
||||
" (*) Add &cpo
|
||||
" 2013/05/02 by Zhou Yichao <broken.zhou AT gmail.com>
|
||||
" (*) Fix problem about GetTeXIndent checker. Thank Albert Netymk
|
||||
" for reporting this.
|
||||
" }}}
|
||||
|
||||
" Document: {{{
|
||||
@@ -106,10 +109,6 @@
|
||||
" }}}
|
||||
|
||||
" Only define the function once
|
||||
if exists("*GetTeXIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
@@ -158,7 +157,7 @@ exec 'setlocal indentkeys+=[,(,{,),},],\&' . substitute(g:tex_items, '^\|\(\\|\)
|
||||
let g:tex_items = '^\s*' . substitute(g:tex_items, '^\(\^\\s\*\)*', '', '')
|
||||
" }}}
|
||||
|
||||
function GetTeXIndent() " {{{
|
||||
function! GetTeXIndent() " {{{
|
||||
" Find a non-blank line above the current line.
|
||||
let lnum = prevnonblank(v:lnum - 1)
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
"
|
||||
" Menu Translations: Japanese (EUC-JP)
|
||||
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Last Change: 24-Feb-2013.
|
||||
" Last Change: 12-May-2013.
|
||||
"
|
||||
" Copyright (C) 2001-12 MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Copyright (C) 2001-13 MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
@@ -299,50 +299,6 @@ menutrans Co&lor\ test
|
||||
menutrans &Highlight\ test <09>ϥ<EFBFBD><EFBFBD>饤<EFBFBD>ȥƥ<EFBFBD><EFBFBD><EFBFBD>(&H)
|
||||
menutrans &Convert\ to\ HTML HTML<EFBFBD>إ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD>(&C)
|
||||
|
||||
" Japanese specific menu
|
||||
" <20><><EFBFBD>ݤ<EFBFBD>iconv<6E><76><EFBFBD>衢ɬ<E8A1A2><C9AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤷ<EFBFBD><EAA4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3A5B3A1>ɤˤʤ<CBA4><CAA4>櫓<EFBFBD>ǤϤʤ<CFA4><CAA4><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD>
|
||||
if has('iconv')
|
||||
" iconv<6E>ΥС<CEA5><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD><C8BD>
|
||||
let s:support_jisx0213 = (iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb") ? 1 : 0
|
||||
|
||||
" <20>ɤ߹<C9A4><DFB9><EFBFBD>
|
||||
an 10.395 &File.-SEPICONV- <Nop>
|
||||
an 10.396.100.100 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><><EFBFBD><EFBFBD>(&O)\.\.\..SJIS(&S)<Tab>fenc=cp932 :browse confirm e ++enc=cp932<CR>
|
||||
if !s:support_jisx0213
|
||||
an 10.396.100.110 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><><EFBFBD><EFBFBD>(&O)\.\.\..EUC(&E)<Tab>fenc=euc-jp :browse confirm e ++enc=euc-jp<CR>
|
||||
an 10.396.100.120 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><><EFBFBD><EFBFBD>(&O)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :browse confirm e ++enc=iso-2022-jp<CR>
|
||||
else
|
||||
an 10.396.100.110 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><><EFBFBD><EFBFBD>(&O)\.\.\..EUC(&E)<Tab>fenc=euc-jisx0213 :browse confirm e ++enc=euc-jisx0213<CR>
|
||||
an 10.396.100.120 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><><EFBFBD><EFBFBD>(&O)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :browse confirm e ++enc=iso-2022-jp-3<CR>
|
||||
endif
|
||||
an 10.396.100.130 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><><EFBFBD><EFBFBD>(&O)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :browse confirm e ++enc=utf-8<CR>
|
||||
|
||||
" <20><><EFBFBD>ɹ<EFBFBD>
|
||||
an 10.396.110.100 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><><EFBFBD>ɹ<EFBFBD>(&R)\.\.\..SJIS(&S)<Tab>fenc=cp932 :e ++enc=cp932<CR>
|
||||
if !s:support_jisx0213
|
||||
an 10.396.110.110 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><><EFBFBD>ɹ<EFBFBD>(&R)\.\.\..EUC(&E)<Tab>fenc=euc-jp :e ++enc=euc-jp<CR>
|
||||
an 10.396.110.120 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><><EFBFBD>ɹ<EFBFBD>(&R)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :e ++enc=iso-2022-jp<CR>
|
||||
else
|
||||
an 10.396.110.110 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><><EFBFBD>ɹ<EFBFBD>(&R)\.\.\..EUC(&E)<Tab>fenc=euc-jisx0213 :e ++enc=euc-jisx0213<CR>
|
||||
an 10.396.110.120 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><><EFBFBD>ɹ<EFBFBD>(&R)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :e ++enc=iso-2022-jp-3<CR>
|
||||
endif
|
||||
an 10.396.110.130 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><><EFBFBD>ɹ<EFBFBD>(&R)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :e ++enc=utf-8<CR>
|
||||
|
||||
" <20><>¸
|
||||
an 10.396.115 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..-SEP1- <Nop>
|
||||
an 10.396.120.100 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><>¸(&S)\.\.\..SJIS(&S)<Tab>fenc=cp932 :set fenc=cp932 \| w<CR>
|
||||
if !s:support_jisx0213
|
||||
an 10.396.120.110 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><>¸(&S)\.\.\..EUC(&E)<Tab>fenc=euc-jp :set fenc=euc-jp \| w<CR>
|
||||
an 10.396.120.120 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><>¸(&S)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :set fenc=iso-2022-jp \| w<CR>
|
||||
else
|
||||
an 10.396.120.110 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><>¸(&S)\.\.\..EUC(&E)<Tab>fenc=euc-jisx0213 :set fenc=euc-jisx0213 \| w<CR>
|
||||
an 10.396.120.120 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><>¸(&S)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :set fenc=iso-2022-jp-3 \| w<CR>
|
||||
endif
|
||||
an 10.396.120.130 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><>¸(&S)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :set fenc=utf-8 \| w<CR>
|
||||
|
||||
unlet s:support_jisx0213
|
||||
endif
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
"
|
||||
" Menu Translations: Japanese (UTF-8)
|
||||
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Last Change: 24-Feb-2013.
|
||||
" Last Change: 12-May-2013.
|
||||
"
|
||||
" Copyright (C) 2001-12 MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Copyright (C) 2001-13 MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
@@ -299,50 +299,6 @@ menutrans Co&lor\ test カラーテスト(&L)
|
||||
menutrans &Highlight\ test ハイライトテスト(&H)
|
||||
menutrans &Convert\ to\ HTML HTMLへコンバート(&C)
|
||||
|
||||
" Japanese specific menu
|
||||
" 成否はiconv次第、必ずしも指定したエンコードになるわけではないことに注意
|
||||
if has('iconv')
|
||||
" iconvのバージョン判定
|
||||
let s:support_jisx0213 = (iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb") ? 1 : 0
|
||||
|
||||
" 読み込み
|
||||
an 10.395 &File.-SEPICONV- <Nop>
|
||||
an 10.396.100.100 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..SJIS(&S)<Tab>fenc=cp932 :browse confirm e ++enc=cp932<CR>
|
||||
if !s:support_jisx0213
|
||||
an 10.396.100.110 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..EUC(&E)<Tab>fenc=euc-jp :browse confirm e ++enc=euc-jp<CR>
|
||||
an 10.396.100.120 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :browse confirm e ++enc=iso-2022-jp<CR>
|
||||
else
|
||||
an 10.396.100.110 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..EUC(&E)<Tab>fenc=euc-jisx0213 :browse confirm e ++enc=euc-jisx0213<CR>
|
||||
an 10.396.100.120 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :browse confirm e ++enc=iso-2022-jp-3<CR>
|
||||
endif
|
||||
an 10.396.100.130 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :browse confirm e ++enc=utf-8<CR>
|
||||
|
||||
" 再読込
|
||||
an 10.396.110.100 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..SJIS(&S)<Tab>fenc=cp932 :e ++enc=cp932<CR>
|
||||
if !s:support_jisx0213
|
||||
an 10.396.110.110 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..EUC(&E)<Tab>fenc=euc-jp :e ++enc=euc-jp<CR>
|
||||
an 10.396.110.120 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :e ++enc=iso-2022-jp<CR>
|
||||
else
|
||||
an 10.396.110.110 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..EUC(&E)<Tab>fenc=euc-jisx0213 :e ++enc=euc-jisx0213<CR>
|
||||
an 10.396.110.120 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :e ++enc=iso-2022-jp-3<CR>
|
||||
endif
|
||||
an 10.396.110.130 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :e ++enc=utf-8<CR>
|
||||
|
||||
" 保存
|
||||
an 10.396.115 &File.エンコード指定(&E)\.\.\..-SEP1- <Nop>
|
||||
an 10.396.120.100 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..SJIS(&S)<Tab>fenc=cp932 :set fenc=cp932 \| w<CR>
|
||||
if !s:support_jisx0213
|
||||
an 10.396.120.110 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..EUC(&E)<Tab>fenc=euc-jp :set fenc=euc-jp \| w<CR>
|
||||
an 10.396.120.120 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :set fenc=iso-2022-jp \| w<CR>
|
||||
else
|
||||
an 10.396.120.110 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..EUC(&E)<Tab>fenc=euc-jisx0213 :set fenc=euc-jisx0213 \| w<CR>
|
||||
an 10.396.120.120 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :set fenc=iso-2022-jp-3 \| w<CR>
|
||||
endif
|
||||
an 10.396.120.130 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :set fenc=utf-8 \| w<CR>
|
||||
|
||||
unlet s:support_jisx0213
|
||||
endif
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
"
|
||||
" Menu Translations: Japanese (CP932)
|
||||
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Last Change: 24-Feb-2013.
|
||||
" Last Change: 12-May-2013.
|
||||
"
|
||||
" Copyright (C) 2001-12 MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Copyright (C) 2001-13 MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
@@ -299,50 +299,6 @@ menutrans Co&lor\ test
|
||||
menutrans &Highlight\ test <09>n<EFBFBD>C<EFBFBD><EFBFBD><EFBFBD>C<EFBFBD>g<EFBFBD>e<EFBFBD>X<EFBFBD>g(&H)
|
||||
menutrans &Convert\ to\ HTML HTML<EFBFBD>փR<EFBFBD><EFBFBD><EFBFBD>o<EFBFBD>[<5B>g(&C)
|
||||
|
||||
" Japanese specific menu
|
||||
" <20><><EFBFBD>ۂ<EFBFBD>iconv<6E><76><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>K<EFBFBD><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>w<EFBFBD>肵<EFBFBD><E882B5><EFBFBD>G<EFBFBD><47><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>ɂȂ<C982><C882>킯<EFBFBD>ł͂Ȃ<CD82><C882><EFBFBD><EFBFBD>Ƃɒ<C682><C992><EFBFBD>
|
||||
if has('iconv')
|
||||
" iconv<6E>̃o<CC83>[<5B>W<EFBFBD><57><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
let s:support_jisx0213 = (iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb") ? 1 : 0
|
||||
|
||||
" <20>ǂݍ<C782><DD8D><EFBFBD>
|
||||
an 10.395 &File.-SEPICONV- <Nop>
|
||||
an 10.396.100.100 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>J<EFBFBD><EFBFBD>(&O)\.\.\..SJIS(&S)<Tab>fenc=cp932 :browse confirm e ++enc=cp932<CR>
|
||||
if !s:support_jisx0213
|
||||
an 10.396.100.110 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>J<EFBFBD><EFBFBD>(&O)\.\.\..EUC(&E)<Tab>fenc=euc-jp :browse confirm e ++enc=euc-jp<CR>
|
||||
an 10.396.100.120 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>J<EFBFBD><EFBFBD>(&O)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :browse confirm e ++enc=iso-2022-jp<CR>
|
||||
else
|
||||
an 10.396.100.110 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>J<EFBFBD><EFBFBD>(&O)\.\.\..EUC(&E)<Tab>fenc=euc-jisx0213 :browse confirm e ++enc=euc-jisx0213<CR>
|
||||
an 10.396.100.120 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>J<EFBFBD><EFBFBD>(&O)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :browse confirm e ++enc=iso-2022-jp-3<CR>
|
||||
endif
|
||||
an 10.396.100.130 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>J<EFBFBD><EFBFBD>(&O)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :browse confirm e ++enc=utf-8<CR>
|
||||
|
||||
" <20>ēǍ<C493>
|
||||
an 10.396.110.100 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>ēǍ<EFBFBD>(&R)\.\.\..SJIS(&S)<Tab>fenc=cp932 :e ++enc=cp932<CR>
|
||||
if !s:support_jisx0213
|
||||
an 10.396.110.110 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>ēǍ<EFBFBD>(&R)\.\.\..EUC(&E)<Tab>fenc=euc-jp :e ++enc=euc-jp<CR>
|
||||
an 10.396.110.120 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>ēǍ<EFBFBD>(&R)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :e ++enc=iso-2022-jp<CR>
|
||||
else
|
||||
an 10.396.110.110 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>ēǍ<EFBFBD>(&R)\.\.\..EUC(&E)<Tab>fenc=euc-jisx0213 :e ++enc=euc-jisx0213<CR>
|
||||
an 10.396.110.120 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>ēǍ<EFBFBD>(&R)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :e ++enc=iso-2022-jp-3<CR>
|
||||
endif
|
||||
an 10.396.110.130 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>ēǍ<EFBFBD>(&R)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :e ++enc=utf-8<CR>
|
||||
|
||||
" <20>ۑ<EFBFBD>
|
||||
an 10.396.115 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..-SEP1- <Nop>
|
||||
an 10.396.120.100 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>ۑ<EFBFBD>(&S)\.\.\..SJIS(&S)<Tab>fenc=cp932 :set fenc=cp932 \| w<CR>
|
||||
if !s:support_jisx0213
|
||||
an 10.396.120.110 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>ۑ<EFBFBD>(&S)\.\.\..EUC(&E)<Tab>fenc=euc-jp :set fenc=euc-jp \| w<CR>
|
||||
an 10.396.120.120 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>ۑ<EFBFBD>(&S)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :set fenc=iso-2022-jp \| w<CR>
|
||||
else
|
||||
an 10.396.120.110 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>ۑ<EFBFBD>(&S)\.\.\..EUC(&E)<Tab>fenc=euc-jisx0213 :set fenc=euc-jisx0213 \| w<CR>
|
||||
an 10.396.120.120 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>ۑ<EFBFBD>(&S)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :set fenc=iso-2022-jp-3 \| w<CR>
|
||||
endif
|
||||
an 10.396.120.130 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>ۑ<EFBFBD>(&S)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :set fenc=utf-8 \| w<CR>
|
||||
|
||||
unlet s:support_jisx0213
|
||||
endif
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
|
||||
@@ -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: 2012 Dec 06
|
||||
" Last Change: 2013 May 17
|
||||
|
||||
" 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.
|
||||
@@ -308,8 +308,10 @@ fun! s:TextWidth()
|
||||
endif
|
||||
let n = inputdialog(g:menutrans_textwidth_dialog, &tw)
|
||||
if n != ""
|
||||
" remove leading zeros to avoid it being used as an octal number
|
||||
let &tw = substitute(n, "^0*", "", "")
|
||||
" Remove leading zeros to avoid it being used as an octal number.
|
||||
" But keep a zero by itself.
|
||||
let tw = substitute(n, "^0*", "", "")
|
||||
let &tw = tw == '' ? 0 : tw
|
||||
endif
|
||||
endfun
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" These commands create the option window.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2012 Feb 22
|
||||
" Last Change: 2013 May 20
|
||||
|
||||
" If there already is an option window, jump to that one.
|
||||
if bufwinnr("option-window") > 0
|
||||
@@ -258,6 +258,8 @@ call append("$", "incsearch\tshow match for partly typed search command")
|
||||
call <SID>BinOptionG("is", &is)
|
||||
call append("$", "magic\tchange the way backslashes are used in search patterns")
|
||||
call <SID>BinOptionG("magic", &magic)
|
||||
call append("$", "regexpengine\tselect the default regexp engine used")
|
||||
call <SID>OptionG("re", &re)
|
||||
call append("$", "ignorecase\tignore case when using a search pattern")
|
||||
call <SID>BinOptionG("ic", &ic)
|
||||
call append("$", "smartcase\toverride 'ignorecase' when pattern has upper case characters")
|
||||
@@ -1035,6 +1037,8 @@ if has("wildignore")
|
||||
call append("$", "wildignore\tlist of patterns to ignore files for file name completion")
|
||||
call <SID>OptionG("wig", &wig)
|
||||
endif
|
||||
call append("$", "fileignorecase\tignore case when using file names")
|
||||
call <SID>BinOptionG("fic", &fic)
|
||||
call append("$", "wildignorecase\tignore case when completing file names")
|
||||
call <SID>BinOptionG("wic", &wic)
|
||||
if has("wildmenu")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" ---------------------------------------------------------------------
|
||||
" getscriptPlugin.vim
|
||||
" Author: Charles E. Campbell, Jr.
|
||||
" Author: Charles E. Campbell
|
||||
" Date: Jan 07, 2008
|
||||
" Installing: :help glvs-install
|
||||
" Usage: :help glvs
|
||||
@@ -19,7 +19,7 @@ if &cp || exists("g:loaded_getscriptPlugin")
|
||||
endif
|
||||
finish
|
||||
endif
|
||||
let g:loaded_getscriptPlugin = "v34"
|
||||
let g:loaded_getscriptPlugin = "v35"
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
|
||||
@@ -1,19 +1,29 @@
|
||||
" Vim plugin for showing matching parens
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2011 Aug 27
|
||||
" Last Change: 2013 May 08
|
||||
|
||||
" Exit quickly when:
|
||||
" - this plugin was already loaded (or disabled)
|
||||
" - when 'compatible' is set
|
||||
" - the "CursorMoved" autocmd event is not availble.
|
||||
" - the "CursorMoved" autocmd event is not available.
|
||||
if exists("g:loaded_matchparen") || &cp || !exists("##CursorMoved")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_matchparen = 1
|
||||
|
||||
if !exists("g:matchparen_timeout")
|
||||
let g:matchparen_timeout = 300
|
||||
endif
|
||||
if !exists("g:matchparen_insert_timeout")
|
||||
let g:matchparen_insert_timeout = 60
|
||||
endif
|
||||
|
||||
augroup matchparen
|
||||
" Replace all matchparen autocommands
|
||||
autocmd! CursorMoved,CursorMovedI,WinEnter * call s:Highlight_Matching_Pair()
|
||||
if exists('##TextChanged')
|
||||
autocmd! TextChanged,TextChangedI * call s:Highlight_Matching_Pair()
|
||||
endif
|
||||
augroup END
|
||||
|
||||
" Skip the rest if it was already done.
|
||||
@@ -96,10 +106,15 @@ function! s:Highlight_Matching_Pair()
|
||||
let stopline = stoplinetop
|
||||
endif
|
||||
|
||||
" Limit the search time to 300 msec to avoid a hang on very long lines.
|
||||
" This fails when a timeout is not supported.
|
||||
if mode() == 'i' || mode() == 'R'
|
||||
let timeout = exists("b:matchparen_insert_timeout") ? b:matchparen_insert_timeout : g:matchparen_insert_timeout
|
||||
else
|
||||
let timeout = exists("b:matchparen_timeout") ? b:matchparen_timeout : g:matchparen_timeout
|
||||
endif
|
||||
try
|
||||
" Limit the search time to 300 msec to avoid a hang on very long lines.
|
||||
" This fails when a timeout is not supported.
|
||||
let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline, 300)
|
||||
let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline, timeout)
|
||||
catch /E118/
|
||||
" Can't use the timeout, restrict the stopline a bit more to avoid taking
|
||||
" a long time on closed folds and long lines.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
" netrwPlugin.vim: Handles file transfer and remote directory listing across a network
|
||||
" PLUGIN SECTION
|
||||
" Date: Aug 24, 2011
|
||||
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" Date: Apr 30, 2013
|
||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
||||
" Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1
|
||||
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
" notice is copied with it. Like anything else that's free,
|
||||
@@ -20,13 +20,15 @@
|
||||
if &cp || exists("g:loaded_netrwPlugin")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwPlugin = "v146"
|
||||
"DechoTabOn
|
||||
let g:loaded_netrwPlugin = "v149"
|
||||
if v:version < 702
|
||||
echohl WarningMsg | echo "***netrw*** you need vim version 7.2 for this version of netrw" | echohl None
|
||||
finish
|
||||
endif
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
"DechoTabOn
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Public Interface: {{{1
|
||||
@@ -34,9 +36,7 @@ set cpo&vim
|
||||
" Local Browsing: {{{2
|
||||
augroup FileExplorer
|
||||
au!
|
||||
" au BufReadCmd *[/\\] sil! call s:LocalBrowse(expand("<amatch>"))
|
||||
" au BufEnter *[^/\\] sil! call s:LocalBrowse(expand("<amatch>"))
|
||||
" au VimEnter *[^/\\] sil! call s:VimEnter(expand("<amatch>"))
|
||||
" SEE Benzinger problem...
|
||||
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")
|
||||
@@ -47,11 +47,11 @@ augroup END
|
||||
" Network Browsing Reading Writing: {{{2
|
||||
augroup Network
|
||||
au!
|
||||
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
|
||||
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(expand("<amatch>"))
|
||||
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "silent doau FileReadPost ".fnameescape(expand("<amatch>"))
|
||||
au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "silent doau BufWritePost ".fnameescape(expand("<amatch>"))
|
||||
au FileWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "silent doau FileWritePost ".fnameescape(expand("<amatch>"))
|
||||
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
|
||||
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>"))
|
||||
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
|
||||
au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
|
||||
au FileWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
|
||||
try
|
||||
au SourceCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
|
||||
catch /^Vim\%((\a\+)\)\=:E216/
|
||||
@@ -92,27 +92,37 @@ fun! s:LocalBrowse(dirname)
|
||||
" unfortunate interaction -- debugging calls can't be used here;
|
||||
" the BufEnter event causes triggering when attempts to write to
|
||||
" the DBG buffer are made.
|
||||
if !exists("s:vimentered")
|
||||
return
|
||||
endif
|
||||
" call Decho("s:LocalBrowse(dirname<".a:dirname.">){")
|
||||
" echomsg "dirname<".a:dirname.">"
|
||||
if has("amiga")
|
||||
" The check against '' is made for the Amiga, where the empty
|
||||
" string is the current directory and not checking would break
|
||||
" things such as the help command.
|
||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> (amiga)")
|
||||
if a:dirname != '' && isdirectory(a:dirname)
|
||||
sil! call netrw#LocalBrowseCheck(a:dirname)
|
||||
endif
|
||||
elseif isdirectory(a:dirname)
|
||||
" echomsg "dirname<".dirname."> isdir"
|
||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> (not amiga)")
|
||||
sil! call netrw#LocalBrowseCheck(a:dirname)
|
||||
endif
|
||||
" not a directory, ignore it
|
||||
" call Decho("|return s:LocalBrowse }")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:VimEnter: {{{2
|
||||
fun! s:VimEnter(dirname)
|
||||
let curwin= winnr()
|
||||
" call Decho("VimEnter(dirname<".a:dirname.">){")
|
||||
let curwin = winnr()
|
||||
let s:vimentered = 1
|
||||
windo if a:dirname != expand("%")|call s:LocalBrowse(expand("%:p"))|endif
|
||||
exe curwin."wincmd w"
|
||||
" call Decho("|return VimEnter }")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" tarPlugin.vim -- a Vim plugin for browsing tarfiles
|
||||
" Original was copyright (c) 2002, Michael C. Toren <mct@toren.net>
|
||||
" Modified by Charles E. Campbell, Jr.
|
||||
" Modified by Charles E. Campbell
|
||||
" Distributed under the GNU General Public License.
|
||||
"
|
||||
" Updates are available from <http://michael.toren.net/code/>. If you
|
||||
@@ -14,7 +14,7 @@
|
||||
if &cp || exists("g:loaded_tarPlugin")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_tarPlugin = "v28"
|
||||
let g:loaded_tarPlugin = "v29"
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
" zipPlugin.vim: Handles browsing zipfiles
|
||||
" PLUGIN PORTION
|
||||
" Date: Aug 15, 2011
|
||||
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" Date: Nov 15, 2012
|
||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" License: Vim License (see vim's :help license)
|
||||
" Copyright: Copyright (C) 2005-2011 Charles E. Campbell, Jr. {{{1
|
||||
" Copyright: Copyright (C) 2005-2012 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
" notice is copied with it. Like anything else that's free,
|
||||
@@ -20,7 +20,7 @@
|
||||
if &cp || exists("g:loaded_zipPlugin")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_zipPlugin = "v25"
|
||||
let g:loaded_zipPlugin = "v26"
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
@@ -40,7 +40,7 @@ augroup zip
|
||||
au FileWriteCmd zipfile:*/* call zip#Write(expand("<amatch>"))
|
||||
endif
|
||||
|
||||
au BufReadCmd *.zip,*.jar,*.xpi,*.war,*.ear,*.celzip,*.oxt call zip#Browse(expand("<amatch>"))
|
||||
au BufReadCmd *.zip,*.jar,*.xpi,*.ja,*.war,*.ear,*.celzip,*.oxt,*.kmz,*.wsz,*.xap,*.docx,*.docm,*.dotx,*.dotm,*.potx,*.potm,*.ppsx,*.ppsm,*.pptx,*.pptm,*.ppam,*.sldx,*.thmx,*.xlam,*.xlsx,*.xlsm,*.xlsb,*.xltx,*.xltm,*.xlam,*.crtx,*.vdw,*.glox,*.gcsx,*.gqsx call zip#Browse(expand("<amatch>"))
|
||||
augroup END
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: APT config file
|
||||
" Maintainer: Yann Amar <quidame@poivron.org>
|
||||
" Last Change: 2012 Oct 06
|
||||
" Last Change: 2013 Apr 12
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x and 7.x: Quit when a syntax file was already loaded
|
||||
@@ -17,7 +17,6 @@ endif
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
|
||||
" Errors:
|
||||
" Catch all that is not overridden by next rules/items:
|
||||
syn match aptconfError display '[^[:blank:]]'
|
||||
@@ -198,6 +197,24 @@ syn keyword aptconfAptitudeUI contained
|
||||
\ Package-Status-Format Pause-After-Download Preview-Limit
|
||||
\ Prompt-On-Exit Styles ViewTabs
|
||||
|
||||
syn keyword aptconfAptitudeUIKeyBindings contained
|
||||
\ ApplySolution Begin BugReport Cancel Changelog ChangePkgTreeGrouping
|
||||
\ ChangePkgTreeLimit ChangePkgTreeSorting ClearAuto CollapseAll
|
||||
\ CollapseTree Commit Confirm Cycle CycleNext CycleOrder CyclePrev
|
||||
\ DelBOL DelBack DelEOL DelForward Dependencies DescriptionCycle
|
||||
\ DescriptionDown DescriptionUp DoInstallRun Down DpkgReconfigure
|
||||
\ DumpResolver EditHier End ExamineSolution ExpandAll ExpandTree
|
||||
\ FirstSolution ForbidUpgrade ForgetNewPackages Help HistoryNext
|
||||
\ HistoryPrev Hold Install InstallSingle Keep LastSolution Left
|
||||
\ LevelDown LevelUp MarkUpgradable MineFlagSquare MineLoadGame
|
||||
\ MineSaveGame MineSweepSquare MineUncoverSquare MineUncoverSweepSquare
|
||||
\ NextPage NextSolution No Parent PrevPage PrevSolution Purge
|
||||
\ PushButton Quit QuitProgram RejectBreakHolds Refresh Remove
|
||||
\ ReInstall RepeatSearchBack ReSearch ReverseDependencies Right
|
||||
\ SaveHier Search SearchBack SearchBroken SetAuto ShowHideDescription
|
||||
\ SolutionActionApprove SolutionActionReject ToggleExpanded
|
||||
\ ToggleMenuActive Undo Up UpdatePackageList Versions Yes
|
||||
|
||||
syn keyword aptconfAptitudeUIStyles contained
|
||||
\ Bullet ChangeLogNewerVersion Default DepBroken DisabledMenuEntry
|
||||
\ DownloadHit DownloadProgress EditLine Error Header HighlightedMenuBar
|
||||
@@ -220,7 +237,8 @@ syn cluster aptconfAptitude_ contains=aptconfAptitude,
|
||||
\ aptconfAptitudeCmdlineSafeUpgrade,aptconfAptitudeLogging,
|
||||
\ aptconfAptitudeProblemResolver,aptconfAptitudeSafeResolver,
|
||||
\ aptconfAptitudeScreenshot,aptconfAptitudeSections,aptconfAptitudeUI,
|
||||
\ aptconfAptitudeUIStyles,aptconfAptitudeUIStylesElements
|
||||
\ aptconfAptitudeUIKeyBindings,aptconfAptitudeUIStyles,
|
||||
\ aptconfAptitudeUIStylesElements
|
||||
" }}}
|
||||
" DebTags: {{{
|
||||
syn keyword aptconfDebTags contained
|
||||
@@ -449,6 +467,7 @@ hi def link aptconfAptitudeSafeResolver aptconfOption
|
||||
hi def link aptconfAptitudeScreenshot aptconfOption
|
||||
hi def link aptconfAptitudeSections aptconfOption
|
||||
hi def link aptconfAptitudeUI aptconfOption
|
||||
hi def link aptconfAptitudeUIKeyBindings aptconfOption
|
||||
hi def link aptconfAptitudeUIStyles aptconfOption
|
||||
hi def link aptconfAptitudeUIStylesElements aptconfOption
|
||||
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
" Language: Clean
|
||||
" Author: Pieter van Engelen <pietere@sci.kun.nl>
|
||||
" Co-Author: Arthur van Leeuwen <arthurvl@sci.kun.nl>
|
||||
" Last Change: 2011 Dec 25 by Thilo Six
|
||||
" Previous Change: 2011 Dec 25 by Thilo Six
|
||||
" Last Change: 2013 Apr 25 by Jurriën Stutterheim
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -18,7 +19,7 @@ set cpo&vim
|
||||
" Some Clean-keywords
|
||||
syn keyword cleanConditional if case
|
||||
syn keyword cleanLabel let! with where in of
|
||||
syn keyword cleanInclude from import
|
||||
syn keyword cleanInclude from import qualified
|
||||
syn keyword cleanSpecial Start
|
||||
syn keyword cleanKeyword infixl infixr infix
|
||||
syn keyword cleanBasicType Int Real Char Bool String
|
||||
|
||||
@@ -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 Jan 03
|
||||
" Last Change: 2013 May 05
|
||||
" 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)|%(hardy|lucid|oneiric|precise|quantal|raring)%(-%(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|%(lucid|precise|quantal|raring|saucy)%(-%(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: 2012 Dec 31
|
||||
" Last Change: 2013 May 05
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -38,7 +38,7 @@ syn match debcontrolDmUpload contained "\cyes"
|
||||
syn match debcontrolHTTPUrl contained "\vhttps?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$"
|
||||
syn match debcontrolVcsSvn contained "\vsvn%(\+ssh)?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$"
|
||||
syn match debcontrolVcsCvs contained "\v%(\-d *)?:pserver:[^@]+\@[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?:/[^[:space:]]*%( [^[:space:]]+)?$"
|
||||
syn match debcontrolVcsGit contained "\v%(git|http)://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$"
|
||||
syn match debcontrolVcsGit contained "\v%(git|http)://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?%(\s+-b\s+[^ ~^:?*[\\]+)?$"
|
||||
|
||||
" An email address
|
||||
syn match debcontrolEmail "[_=[:alnum:]\.+-]\+@[[:alnum:]\./\-]\+"
|
||||
|
||||
@@ -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 Jan 03
|
||||
" Last Change: 2013 May 05
|
||||
" 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\|hardy\|lucid\|oneiric\|precise\|quantal\|raring\)\([-[:alnum:]_./]*\)+
|
||||
syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(squeeze\|wheezy\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|lucid\|precise\|quantal\|raring\|saucy\)\([-[:alnum:]_./]*\)+
|
||||
|
||||
" Associate our matches and regions with pretty colours
|
||||
hi def link debsourcesLine Error
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: dts/dtsi (device tree files)
|
||||
" Maintainer: Daniel Mack <vim@zonque.org>
|
||||
" Last Change: 2013 Mar 11
|
||||
" Last Change: 2013 Apr 05
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -13,7 +13,7 @@ syntax region dtsBinaryProperty start="\[" end="\]"
|
||||
syntax match dtsStringProperty "\".*\""
|
||||
syntax match dtsKeyword "/.*/"
|
||||
syntax match dtsLabel "^[[:space:]]*[[:alpha:][:digit:]_]\+:"
|
||||
syntax match dtsNode /[[:alpha:][:digit:]-_]\+\(@[0-9a-eA-E]\+\|\)[[:space:]]*{/he=e-1
|
||||
syntax match dtsNode /[[:alpha:][:digit:]-_]\+\(@[0-9a-fA-F]\+\|\)[[:space:]]*{/he=e-1
|
||||
syntax region dtsCellProperty start="<" end=">" contains=dtsReference,dtsBinaryProperty,dtsStringProperty,dtsComment
|
||||
syntax region dtsCommentInner start="/\*" end="\*/"
|
||||
|
||||
|
||||
@@ -1,126 +1,175 @@
|
||||
" Vim syntax file
|
||||
" Language: Erlang
|
||||
" Author: Oscar Hellstr<74>m <oscar@oscarh.net> (http://oscar.hellstrom.st)
|
||||
" Contributors: Ricardo Catalinas Jim<69>nez <jimenezrick@gmail.com>
|
||||
" Language: Erlang (http://www.erlang.org)
|
||||
" Maintainer: Csaba Hoch <csaba.hoch@gmail.com>
|
||||
" Former Maintainer: Kreąimir Marľić (Kresimir Marzic) <kmarzic@fly.srk.fer.hr>
|
||||
" Last Update: 2013-Mar-07
|
||||
" License: Vim license
|
||||
" Version: 2011/09/11
|
||||
" URL: https://github.com/hcs42/vim-erlang
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
else
|
||||
let b:current_syntax = "erlang"
|
||||
" Customization:
|
||||
"
|
||||
" There are two optional sets of highlighting:
|
||||
"
|
||||
" 1. The BIFs (built-in functions) are highlighted by default. To disable
|
||||
" this, put the following line in your vimrc:
|
||||
"
|
||||
" let g:erlang_highlight_bifs = 0
|
||||
"
|
||||
" 2. To enable highlighting some special atoms, put this in your vimrc:
|
||||
"
|
||||
" let g:erlang_highlight_special_atoms = 1
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
if !exists("g:erlang_highlight_bif")
|
||||
let g:erlang_highlight_bif = 1
|
||||
endif
|
||||
|
||||
" Erlang is case sensitive
|
||||
" Case sensitive
|
||||
syn case match
|
||||
|
||||
" Match groups
|
||||
syn match erlangStringModifier /\\./ contained
|
||||
syn match erlangStringModifier /\~\%(-\?[0-9*]\+\)\?\%(\.[0-9*]\+\..\?\)\?\%(c\|f\|e\|g\|s\|w\|p\|W\|P\|B\|X\|#\|b\|+\|n\|i\)/ contained
|
||||
syn match erlangModifier /\$\\\?./
|
||||
|
||||
syn match erlangInteger /\<\%([0-9]\+#[0-9a-fA-F]\+\|[0-9]\+\)\>/
|
||||
syn match erlangFloat /\<[0-9]\+\.[0-9]\+\%(e-\?[0-9]\+\)\?\>/
|
||||
|
||||
syn keyword erlangTodo TODO FIXME XXX contained
|
||||
syn match erlangComment /%.*$/ contains=@Spell,erlangTodo,erlangAnnotation
|
||||
syn match erlangAnnotation /\%(%\s\)\@<=@\%(author\|clear\|copyright\|deprecated\|doc\|docfile\|end\|equiv\|headerfile\|hidden\|private\|reference\|see\|since\|spec\|throws\|title\|todo\|TODO\|type\|version\)/ contained
|
||||
syn match erlangAnnotation /`[^']\+'/ contained
|
||||
|
||||
syn keyword erlangKeyword band bor bnot bsl bsr bxor div rem xor
|
||||
syn keyword erlangKeyword try catch begin receive after cond fun let query
|
||||
|
||||
syn keyword erlangConditional case if of end
|
||||
syn keyword erlangConditional not and or andalso orelse
|
||||
syn keyword erlangConditional when
|
||||
|
||||
syn keyword erlangBoolean true false
|
||||
|
||||
syn keyword erlangGuard is_list is_alive is_atom is_binary is_bitstring is_boolean is_tuple is_number is_integer is_float is_function is_constant is_pid is_port is_reference is_record is_process_alive
|
||||
|
||||
syn match erlangOperator /\/\|*\|+\|-\|++\|--/
|
||||
syn match erlangOperator /->\|<-\|||\||\|!\|=/
|
||||
syn match erlangOperator /=:=\|==\|\/=\|=\/=\|<\|>\|=<\|>=/
|
||||
syn keyword erlangOperator div rem
|
||||
|
||||
syn region erlangString start=/"/ end=/"/ skip=/\\/ contains=@Spell,erlangStringModifier
|
||||
|
||||
syn match erlangVariable /\<[A-Z_]\w*\>/
|
||||
syn match erlangAtom /\%(\%(^-\)\|#\)\@<!\<[a-z][A-Za-z0-9_]*\>\%(\s*[(:]\)\@!/
|
||||
syn match erlangAtom /\\\@<!'[^']*\\\@<!'/
|
||||
|
||||
syn match erlangRecord /#\w\+/
|
||||
|
||||
syn match erlangTuple /{\|}/
|
||||
syn match erlangList /\[\|\]/
|
||||
|
||||
syn match erlangAttribute /^-\%(vsn\|author\|copyright\|compile\|deprecated\|module\|export\|import\|behaviour\|behavior\|export_type\|ignore_xref\|on_load\)\s*(\@=/
|
||||
syn match erlangInclude /^-include\%(_lib\)\?\s*(\@=/
|
||||
syn match erlangRecordDef /^-record\s*(\@=/
|
||||
syn match erlangDefine /^-\%(define\|undef\)\s*(\@=/
|
||||
syn match erlangPreCondit /^-\%(ifdef\|ifndef\|else\|endif\)\%(\s*(\@=\)\?/
|
||||
|
||||
syn match erlangType /^-\%(spec\|type\)[( ]\@=/
|
||||
|
||||
syn match erlangMacro /\%(-define(\)\@<=\w\+/
|
||||
syn match erlangMacro /?\??\w\+/
|
||||
|
||||
syn match erlangBitType /\%(\/\|-\)\@<=\%(bits\|bitstring\|binary\|integer\|float\|unit\)\>/
|
||||
syn match erlangBitSize /:\@<=[0-9]\+/
|
||||
|
||||
syn match erlangBinary /<<\|>>/
|
||||
|
||||
" BIFs
|
||||
syn match erlangBIF /\%([^:0-9A-Za-z_]\|\<erlang:\)\@<=\%(abs\|apply\|atom_to_binary\|atom_to_list\|binary_part\|binary_to_atom\|binary_to_existing_atom\|binary_to_list\|binary_to_term\|bit_size\|bitstring_to_list\|byte_size\|check_process_code\|date\|delete_module\|demonitor\|disconnect_node\|element\|erase\|exit\|float\|float_to_list\|garbage_collect\|get\|get_keys\|group_leader\|hd\|integer_to_list\|iolist_size\|iolist_to_binary\|is_alive\|is_atom\|is_binary\|is_bitstring\|is_boolean\|is_float\|is_function\|is_integer\|is_list\|is_number\|is_pid\|is_port\|is_process_alive\|is_record\|is_reference\|is_tuple\|length\|link\|list_to_atom\|list_to_binary\|list_to_bitstring\|list_to_existing_atom\|list_to_float\|list_to_integer\|list_to_pid\|list_to_tuple\|load_module\|make_ref\|max\|min\|module_loaded\|monitor\|monitor_node\|node\|nodes\|now\|open_port\|pid_to_list\|port_close\|port_command\|port_connect\|port_control\|pre_loaded\|processes\|process_flag\|process_info\|purge_module\|put\|register\|registered\|round\|self\|setelement\|size\|spawn\|spawn_link\|spawn_monitor\|spawn_opt\|split_binary\|statistics\|term_to_binary\|time\|tl\|trunc\|tuple_size\|tuple_to_list\|unlink\|unregister\|whereis\)\%((\|\/[0-9]\)\@=/
|
||||
syn match erlangBIF /\<\%(erlang:\)\@<=\%(append_element\|bump_reductions\|cancel_timer\|decode_packet\|display\|function_exported\|fun_info\|fun_to_list\|get_cookie\|get_stacktrace\|hash\|is_builtin\|loaded\|load_nif\|localtime\|localtime_to_universaltime\|make_tuple\|memory\|monitor_node\|phash\|port_call\|port_info\|ports\|port_to_list\|process_display\|read_timer\|ref_to_list\|resume_process\|send\|send_after\|send_nosuspend\|set_cookie\|start_timer\|suspend_process\|system_flag\|system_info\|system_monitor\|system_profile\|trace\|trace_delivered\|trace_info\|trace_pattern\|universaltime\|universaltime_to_localtime\|yield\)(\@=/
|
||||
syn match erlangGBIF /erlang\%(:\w\)\@=/
|
||||
|
||||
" Link Erlang stuff to Vim groups
|
||||
hi link erlangTodo Todo
|
||||
hi link erlangString String
|
||||
hi link erlangNoSpellString String
|
||||
hi link erlangModifier SpecialChar
|
||||
hi link erlangStringModifier SpecialChar
|
||||
hi link erlangComment Comment
|
||||
hi link erlangAnnotation Special
|
||||
hi link erlangVariable Identifier
|
||||
hi link erlangInclude Include
|
||||
hi link erlangRecordDef Keyword
|
||||
hi link erlangAttribute Keyword
|
||||
hi link erlangKeyword Keyword
|
||||
hi link erlangMacro Macro
|
||||
hi link erlangDefine Define
|
||||
hi link erlangPreCondit PreCondit
|
||||
hi link erlangPreProc PreProc
|
||||
hi link erlangDelimiter Delimiter
|
||||
hi link erlangBitDelimiter Normal
|
||||
hi link erlangOperator Operator
|
||||
hi link erlangConditional Conditional
|
||||
hi link erlangGuard Conditional
|
||||
hi link erlangBoolean Boolean
|
||||
hi link erlangAtom Constant
|
||||
hi link erlangRecord Structure
|
||||
hi link erlangInteger Number
|
||||
hi link erlangFloat Number
|
||||
hi link erlangFloat Number
|
||||
hi link erlangFloat Number
|
||||
hi link erlangFloat Number
|
||||
hi link erlangHex Number
|
||||
hi link erlangFun Keyword
|
||||
hi link erlangList Delimiter
|
||||
hi link erlangTuple Delimiter
|
||||
hi link erlangBinary Keyword
|
||||
hi link erlangBitVariable Identifier
|
||||
hi link erlangBitType Type
|
||||
hi link erlangType Type
|
||||
hi link erlangBitSize Number
|
||||
|
||||
" Optional highlighting
|
||||
if g:erlang_highlight_bif
|
||||
hi link erlangBIF Keyword
|
||||
hi link erlangGBIF Keyword
|
||||
if version >= 600
|
||||
setlocal iskeyword+=$,@-@
|
||||
endif
|
||||
|
||||
" Comments
|
||||
syn match erlangComment '%.*$' contains=erlangCommentAnnotation,erlangTodo
|
||||
syn match erlangCommentAnnotation ' \@<=@\%(clear\|docfile\|end\|headerfile\|todo\|TODO\|type\|author\|copyright\|doc\|reference\|see\|since\|title\|version\|deprecated\|hidden\|private\|equiv\|spec\|throws\)' contained
|
||||
syn match erlangCommentAnnotation /`[^']*'/ contained
|
||||
syn keyword erlangTodo TODO FIXME XXX contained
|
||||
|
||||
" Numbers (minimum base is 2, maximum is 36.)
|
||||
syn match erlangNumberInteger '\<\d\+\>'
|
||||
syn match erlangNumberInteger '\<\%([2-9]\|[12]\d\|3[0-6]\)\+#[[:alnum:]]\+\>'
|
||||
syn match erlangNumberFloat '\<\d\+\.\d\+\%([eE][+-]\=\d\+\)\=\>'
|
||||
|
||||
" Strings, atoms, characters
|
||||
syn region erlangString start=/"/ end=/"/ contains=erlangStringModifier
|
||||
syn region erlangQuotedAtom start=/'/ end=/'/ contains=erlangQuotedAtomModifier
|
||||
syn match erlangStringModifier '\~\a\|\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)' contained
|
||||
syn match erlangQuotedAtomModifier '\~\a\|\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)' contained
|
||||
syn match erlangModifier '\$\%([^\\]\|\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)\)'
|
||||
|
||||
" Operators
|
||||
syn match erlangOperator '==\|=:=\|/=\|=/=\|<\|=<\|>\|>=\|++\|--\|=\|!\|<-\|+\|-\|\*\|\/'
|
||||
syn keyword erlangOperator div rem or xor bor bxor bsl bsr and band not bnot andalso orelse
|
||||
|
||||
" Separators
|
||||
syn match erlangSeparator '(\|)\|{\|}\|\[\|]\||\|||\|;\|,\|?\|#'
|
||||
syn match erlangRightArrow '->'
|
||||
|
||||
" Functions call
|
||||
syn match erlangFCall '\<\%(\a[[:alnum:]@]*\s*\.\s*\)*\a[[:alnum:]@]*\s*:\s*\a[[:alnum:]@]*\>'
|
||||
|
||||
" Constants and Directives
|
||||
syn match erlangDirective '-\%(behaviour\|behavior\|compile\|define\|else\|endif\|export\|file\|ifdef\|ifndef\|import\|include_lib\|include\|module\|record\|undef\|author\|copyright\|doc\|vsn\|on_load\|export_type\)\>'
|
||||
|
||||
" Keywords
|
||||
syn keyword erlangKeyword after begin case catch cond end fun if let of query receive when try
|
||||
syn keyword erlangExtra true false
|
||||
|
||||
|
||||
if !exists("g:erlang_highlight_bifs") || g:erlang_highlight_bifs == 1
|
||||
|
||||
" build-in-functions (BIFs)
|
||||
syn keyword erlangBIF abs alive apply atom_to_binary atom_to_list binary_part binary_to_atom binary_to_existing_atom binary_to_float binary_to_integer bitstring_to_list binary_to_list binary_to_term bit_size byte_size check_old_code check_process_code concat_binary date delete_module demonitor disconnect_node element erase error exit float float_to_binary float_to_list garbage_collect get get_keys group_leader halt hd integer_to_binary integer_to_list iolist_to_binary iolist_size is_alive is_atom is_binary is_bitstring is_boolean is_float is_function is_integer is_list is_number is_pid is_port is_process_alive is_record is_reference is_tuple length link list_to_atom list_to_binary list_to_bitstring list_to_existing_atom list_to_float list_to_integer list_to_pid list_to_tuple load_module make_ref max min module_loaded monitor monitor_node node nodes now open_port pid_to_list port_close port_command port_connect pre_loaded process_flag process_flag process_info process purge_module put register registered round self setelement size spawn spawn_link spawn_monitor spawn_opt split_binary statistics term_to_binary throw time tl trunc tuple_size tuple_to_list unlink unregister whereis
|
||||
|
||||
endif
|
||||
|
||||
|
||||
if exists("g:erlang_highlight_special_atoms") && g:erlang_highlight_special_atoms == 1
|
||||
|
||||
" Processes
|
||||
syn keyword erlangProcess creation current_function dictionary
|
||||
syn keyword erlangProcess group_leader heap_size high initial_call
|
||||
syn keyword erlangProcess linked low memory_in_use message_queue
|
||||
syn keyword erlangProcess net_kernel node normal priority
|
||||
syn keyword erlangProcess reductions registered_name runnable
|
||||
syn keyword erlangProcess running stack_trace status timer
|
||||
syn keyword erlangProcess trap_exit waiting
|
||||
|
||||
" Ports
|
||||
syn keyword erlangPort command count_in count_out creation in
|
||||
syn keyword erlangPort in_format linked node out owner packeting
|
||||
|
||||
" Nodes
|
||||
syn keyword erlangNode atom_tables communicating creation
|
||||
syn keyword erlangNode current_gc current_reductions current_runtime
|
||||
syn keyword erlangNode current_wall_clock distribution_port
|
||||
syn keyword erlangNode entry_points error_handler friends
|
||||
syn keyword erlangNode garbage_collection magic_cookie magic_cookies
|
||||
syn keyword erlangNode module_table monitored_nodes name next_ref
|
||||
syn keyword erlangNode ports preloaded processes reductions
|
||||
syn keyword erlangNode ref_state registry runtime wall_clock
|
||||
|
||||
" Reserved
|
||||
syn keyword erlangReserved apply_lambda module_info module_lambdas
|
||||
syn keyword erlangReserved record record_index record_info
|
||||
|
||||
" Extras
|
||||
syn keyword erlangExtra badarg nocookie
|
||||
|
||||
" Signals
|
||||
syn keyword erlangSignal badsig kill killed exit normal
|
||||
endif
|
||||
|
||||
" Sync at the beginning of functions: if this is not used, multiline string
|
||||
" are not always recognized
|
||||
syn sync match erlangSync grouphere NONE "^[a-z]\s*("
|
||||
|
||||
" Define the default highlighting.
|
||||
" For version 5.7 and earlier: only when not done already
|
||||
" For version 5.8 and later: only when an item doesn't have highlighting yet
|
||||
if version >= 508 || !exists ("did_erlang_inits")
|
||||
if version < 508
|
||||
let did_erlang_inits = 1
|
||||
command -nargs=+ HiLink hi link <args>
|
||||
else
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
|
||||
" erlang_characters
|
||||
HiLink erlangComment Comment
|
||||
HiLink erlangCommentAnnotation Special
|
||||
HiLink erlangTodo Todo
|
||||
HiLink erlangSeparator Normal
|
||||
HiLink erlangOperator Operator
|
||||
HiLink erlangRightArrow Operator
|
||||
|
||||
HiLink erlangStartString String
|
||||
HiLink erlangString String
|
||||
HiLink erlangStringModifier Special
|
||||
|
||||
HiLink erlangStartQuotedAtom Type
|
||||
HiLink erlangQuotedAtom Type
|
||||
HiLink erlangQuotedAtomModifier Special
|
||||
|
||||
HiLink erlangNumberInteger Number
|
||||
HiLink erlangNumberFloat Float
|
||||
HiLink erlangNumberHex Number
|
||||
|
||||
HiLink erlangModifier Special
|
||||
|
||||
" erlang_functions
|
||||
HiLink erlangFCall Function
|
||||
HiLink erlangBIF Function
|
||||
|
||||
" erlang_keywords
|
||||
HiLink erlangDirective Type
|
||||
HiLink erlangKeyword Keyword
|
||||
HiLink erlangProcess Special
|
||||
HiLink erlangPort Special
|
||||
HiLink erlangNode Special
|
||||
HiLink erlangReserved Statement
|
||||
HiLink erlangExtra Statement
|
||||
HiLink erlangSignal Statement
|
||||
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
|
||||
let b:current_syntax = "erlang"
|
||||
|
||||
" vim: sw=2 et
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
" Vim syntax file
|
||||
" Language: fstab file
|
||||
" Maintaner: Radu Dineiu <radu.dineiu@gmail.com>
|
||||
" URL: http://ld.yi.org/vim/fstab.vim
|
||||
" Last Change: 2009 Feb 04
|
||||
" Version: 0.93
|
||||
" Maintainer: Radu Dineiu <radu.dineiu@gmail.com>
|
||||
" URL: https://raw.github.com/rid9/vim-fstab/master/fstab.vim
|
||||
" Last Change: 2013 May 21
|
||||
" Version: 1.0
|
||||
"
|
||||
" Credits:
|
||||
" David Necas (Yeti) <yeti@physics.muni.cz>
|
||||
@@ -11,10 +11,13 @@
|
||||
" Georgi Georgiev <chutz@gg3.net>
|
||||
" James Vega <jamessan@debian.org>
|
||||
" Elias Probst <mail@eliasprobst.eu>
|
||||
"
|
||||
|
||||
" Options:
|
||||
" let fstab_unknown_fs_errors = 1
|
||||
" highlight unknown filesystems as errors
|
||||
"
|
||||
" let fstab_unknown_device_errors = 0
|
||||
" do not highlight unknown devices as errors
|
||||
|
||||
if version < 600
|
||||
syntax clear
|
||||
@@ -22,15 +25,18 @@ elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" General
|
||||
syn cluster fsGeneralCluster contains=fsComment
|
||||
syn match fsComment /\s*#.*/
|
||||
syn match fsComment /\s*#.*/ contains=@Spell
|
||||
syn match fsOperator /[,=:#]/
|
||||
|
||||
" Device
|
||||
syn cluster fsDeviceCluster contains=fsOperator,fsDeviceKeyword,fsDeviceError
|
||||
syn match fsDeviceError /\%([^a-zA-Z0-9_\/#@:\.-]\|^\w\{-}\ze\W\)/ contained
|
||||
syn keyword fsDeviceKeyword contained none proc linproc tmpfs devpts sysfs usbfs
|
||||
syn keyword fsDeviceKeyword contained none proc linproc tmpfs devpts devtmpfs sysfs usbfs
|
||||
syn keyword fsDeviceKeyword contained LABEL nextgroup=fsDeviceLabel
|
||||
syn keyword fsDeviceKeyword contained UUID nextgroup=fsDeviceUUID
|
||||
syn keyword fsDeviceKeyword contained sshfs nextgroup=fsDeviceSshfs
|
||||
@@ -47,7 +53,7 @@ syn keyword fsMountPointKeyword contained none swap
|
||||
" Type
|
||||
syn cluster fsTypeCluster contains=fsTypeKeyword,fsTypeUnknown
|
||||
syn match fsTypeUnknown /\s\+\zs\w\+/ contained
|
||||
syn keyword fsTypeKeyword contained adfs ados affs atfs audiofs auto autofs befs bfs cd9660 cfs cifs coda cramfs devfs devpts e2compr efs ext2 ext2fs ext3 ext4 fdesc ffs filecore fuse hfs hpfs iso9660 jffs jffs2 jfs kernfs lfs linprocfs mfs minix msdos ncpfs nfs none ntfs null nwfs overlay ovlfs portal proc procfs ptyfs qnx4 reiserfs romfs shm smbfs sshfs std subfs swap sysfs sysv tcfs tmpfs udf ufs umap umsdos union usbfs userfs vfat vs3fs vxfs wrapfs wvfs xfs zisofs
|
||||
syn keyword fsTypeKeyword contained adfs ados affs anon_inodefs atfs audiofs auto autofs bdev befs bfs btrfs binfmt_misc cd9660 cfs cgroup cifs coda configfs cpuset cramfs devfs devpts devtmpfs e2compr efs ext2 ext2fs ext3 ext4 fdesc ffs filecore fuse fuseblk fusectl hfs hpfs hugetlbfs iso9660 jffs jffs2 jfs kernfs lfs linprocfs mfs minix mqueue msdos ncpfs nfs nfsd nilfs2 none ntfs null nwfs overlay ovlfs pipefs portal proc procfs pstore ptyfs qnx4 reiserfs ramfs romfs securityfs shm smbfs squashfs sockfs sshfs std subfs swap sysfs sysv tcfs tmpfs udf ufs umap umsdos union usbfs userfs vfat vs3fs vxfs wrapfs wvfs xenfs xfs zisofs
|
||||
|
||||
" Options
|
||||
" -------
|
||||
@@ -71,6 +77,11 @@ syn match fsOptionsKeywords contained /\<\%(prefix\|volume\|root\)=/ nextgroup=f
|
||||
syn match fsOptionsKeywords contained /\<bs=/ nextgroup=fsOptionsSize
|
||||
syn keyword fsOptionsKeywords contained protect usemp verbose
|
||||
|
||||
" Options: btrfs
|
||||
syn match fsOptionsKeywords contained /\<\%(subvol\|subvolid\|subvolrootid\|device\|compress\|compress-force\|fatal_errors\)=/ nextgroup=fsOptionsString
|
||||
syn match fsOptionsKeywords contained /\<\%(max_inline\|alloc_start\|thread_pool\|metadata_ratio\|check_int_print_mask\)=/ nextgroup=fsOptionsNumber
|
||||
syn keyword fsOptionsKeywords contained degraded nodatasum nodatacow nobarrier ssd ssd_spread noacl notreelog flushoncommit space_cache nospace_cache clear_cache user_subvol_rm_allowed autodefrag inode_cache enospc_debug recovery check_int check_int_data skip_balance discard
|
||||
|
||||
" Options: cd9660
|
||||
syn keyword fsOptionsKeywords contained extatt gens norrip nostrictjoilet
|
||||
|
||||
@@ -84,7 +95,7 @@ syn match fsOptionsKeywords contained /\<\%(res[gu]id\|sb\)=/ nextgroup=fsOption
|
||||
syn keyword fsOptionsExt2Check contained none normal strict
|
||||
syn keyword fsOptionsExt2Errors contained continue panic
|
||||
syn match fsOptionsExt2Errors contained /\<remount-ro\>/
|
||||
syn keyword fsOptionsKeywords contained acl bsddf minixdf debug grpid bsdgroups minixdf noacl nocheck nogrpid oldalloc orlov sysvgroups nouid32 nobh user_xattr nouser_xattr
|
||||
syn keyword fsOptionsKeywords contained acl bsddf minixdf debug grpid bsdgroups minixdf nocheck nogrpid oldalloc orlov sysvgroups nouid32 nobh user_xattr nouser_xattr
|
||||
|
||||
" Options: ext3
|
||||
syn match fsOptionsKeywords contained /\<journal=/ nextgroup=fsOptionsExt3Journal
|
||||
@@ -92,7 +103,7 @@ syn match fsOptionsKeywords contained /\<data=/ nextgroup=fsOptionsExt3Data
|
||||
syn match fsOptionsKeywords contained /\<commit=/ nextgroup=fsOptionsNumber
|
||||
syn keyword fsOptionsExt3Journal contained update inum
|
||||
syn keyword fsOptionsExt3Data contained journal ordered writeback
|
||||
syn keyword fsOptionsKeywords contained noload user_xattr nouser_xattr acl noacl
|
||||
syn keyword fsOptionsKeywords contained noload user_xattr nouser_xattr acl
|
||||
|
||||
" Options: ext4
|
||||
syn match fsOptionsKeywords contained /\<journal=/ nextgroup=fsOptionsExt4Journal
|
||||
@@ -216,7 +227,7 @@ syn match fsOptions /\s\+.\{-}\s/me=e-1 nextgroup=fsFreqPass contains=@fsOptions
|
||||
syn match fsFreqPass /\s\+.\{-}$/ contains=@fsFreqPassCluster,@fsGeneralCluster contained
|
||||
|
||||
" Whole line comments
|
||||
syn match fsCommentLine /^#.*$/
|
||||
syn match fsCommentLine /^#.*$/ contains=@Spell
|
||||
|
||||
if version >= 508 || !exists("did_config_syntax_inits")
|
||||
if version < 508
|
||||
@@ -241,7 +252,10 @@ if version >= 508 || !exists("did_config_syntax_inits")
|
||||
HiLink fsTypeUnknown Error
|
||||
endif
|
||||
|
||||
HiLink fsDeviceError Error
|
||||
if !exists('fstab_unknown_device_errors') || fstab_unknown_device_errors == 1
|
||||
HiLink fsDeviceError Error
|
||||
endif
|
||||
|
||||
HiLink fsMountPointError Error
|
||||
HiLink fsMountPointKeyword Keyword
|
||||
HiLink fsFreqPassError Error
|
||||
@@ -277,4 +291,7 @@ endif
|
||||
|
||||
let b:current_syntax = "fstab"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: ts=8 ft=vim
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
" Language: Groovy
|
||||
" Original Author: Alessio Pace <billy.corgan@tiscali.it>
|
||||
" Maintainer: Tobias Rapp <yahuxo@gmx.de>
|
||||
" Version: 0.1.12
|
||||
" Version: 0.1.13
|
||||
" URL: http://www.vim.org/scripts/script.php?script_id=945
|
||||
" Last Change: 2013 Mar 14
|
||||
" Last Change: 2013 Apr 24
|
||||
|
||||
" THE ORIGINAL AUTHOR'S NOTES:
|
||||
"
|
||||
@@ -74,7 +74,7 @@ endif
|
||||
|
||||
" keyword definitions
|
||||
syn keyword groovyExternal native package
|
||||
syn match groovyExternal "\<import\(\s\+static\>\)\?"
|
||||
syn match groovyExternal "\<import\>\(\s\+static\>\)\?"
|
||||
syn keyword groovyError goto const
|
||||
syn keyword groovyConditional if else switch
|
||||
syn keyword groovyRepeat while for do
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Vim help file
|
||||
" Maintainer: Bram Moolenaar (Bram@vim.org)
|
||||
" Last Change: 2012 Jul 16
|
||||
" Last Change: 2013 Apr 07
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -40,7 +40,7 @@ syn match helpVim "Vim version [0-9.a-z]\+"
|
||||
syn match helpVim "VIM REFERENCE.*"
|
||||
syn match helpOption "'[a-z]\{2,\}'"
|
||||
syn match helpOption "'t_..'"
|
||||
syn match helpCommand "`[^` ]*`"hs=s+1,he=e-1 contains=helpBacktick
|
||||
syn match helpCommand "`[^` ]\+`"hs=s+1,he=e-1 contains=helpBacktick
|
||||
syn match helpHeader "\s*\zs.\{-}\ze\s\=\~$" nextgroup=helpIgnore
|
||||
syn match helpGraphic ".* \ze`$" nextgroup=helpIgnore
|
||||
if has("conceal")
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Language : Netrw Remote-Directory Listing Syntax
|
||||
" Maintainer : Charles E. Campbell, Jr.
|
||||
" Last change: Jan 14, 2009
|
||||
" Version : 16
|
||||
" Last change: Dec 18, 2012
|
||||
" Version : 17
|
||||
" ---------------------------------------------------------------------
|
||||
|
||||
" Syntax Clearing: {{{1
|
||||
@@ -56,13 +56,16 @@ if exists("g:netrw_special_syntax") && netrw_special_syntax
|
||||
if has("unix")
|
||||
syn match netrwCoreDump "\<core\%(\.\d\+\)\=\>" contains=netrwTreeBar,@NoSpell
|
||||
endif
|
||||
syn match netrwLex "\(\S\+ \)*\S\+\.\%(l\|lex\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwYacc "\(\S\+ \)*\S\+\.y\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwHdr "\(\S\+ \)*\S\+\.h\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwDoc "\(\S\+ \)*\S\+\.\%(doc\|txt\|pdf\|ps\)" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwHdr "\(\S\+ \)*\S\+\.\%(h\|hpp\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell
|
||||
endif
|
||||
@@ -95,12 +98,15 @@ if !exists("did_drchip_netrwlist_syntax")
|
||||
hi default link netrwCompress Folded
|
||||
hi default link netrwCoreDump WarningMsg
|
||||
hi default link netrwData DiffChange
|
||||
hi default link netrwHdr netrwPlain
|
||||
hi default link netrwLex netrwPlain
|
||||
hi default link netrwLib DiffChange
|
||||
hi default link netrwMakefile DiffChange
|
||||
hi default link netrwObj Folded
|
||||
hi default link netrwTilde Folded
|
||||
hi default link netrwTmp Folded
|
||||
hi default link netrwTags Folded
|
||||
hi default link netrwYacc netrwPlain
|
||||
endif
|
||||
|
||||
" Current Syntax: {{{1
|
||||
|
||||
@@ -1,27 +1,34 @@
|
||||
" ninja build file syntax.
|
||||
" Language: ninja build file as described at
|
||||
" http://martine.github.com/ninja/manual.html
|
||||
" Version: 1.2
|
||||
" Last Change: 2012/06/01
|
||||
" Version: 1.3
|
||||
" Last Change: 2013/04/16
|
||||
" Maintainer: Nicolas Weber <nicolasweber@gmx.de>
|
||||
" Version 1.3 of this script is in the upstream vim repository and will be
|
||||
" included in the next vim release. If you change this, please send your change
|
||||
" upstream.
|
||||
|
||||
" ninja lexer and parser are at
|
||||
" https://github.com/martine/ninja/blob/master/src/lexer.in.cc
|
||||
" https://github.com/martine/ninja/blob/master/src/parsers.cc
|
||||
" https://github.com/martine/ninja/blob/master/src/manifest_parser.cc
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
syn case match
|
||||
|
||||
syn match ninjaComment /#.*/ contains=@Spell
|
||||
|
||||
" Toplevel statements are the ones listed here and
|
||||
" toplevel variable assignments (ident '=' value).
|
||||
" lexer.in.cc, ReadToken() and parsers.cc, Parse()
|
||||
" lexer.in.cc, ReadToken() and manifest_parser.cc, Parse()
|
||||
syn match ninjaKeyword "^build\>"
|
||||
syn match ninjaKeyword "^rule\>"
|
||||
syn match ninjaKeyword "^pool\>"
|
||||
syn match ninjaKeyword "^default\>"
|
||||
syn match ninjaKeyword "^include\>"
|
||||
syn match ninjaKeyword "^subninja\>"
|
||||
@@ -30,9 +37,13 @@ syn match ninjaKeyword "^subninja\>"
|
||||
" on the first line without indent. 'rule' allows only a
|
||||
" limited set of magic variables, 'build' allows general
|
||||
" let assignments.
|
||||
" parsers.cc, ParseRule()
|
||||
" manifest_parser.cc, ParseRule()
|
||||
syn region ninjaRule start="^rule" end="^\ze\S" contains=ALL transparent
|
||||
syn keyword ninjaRuleCommand contained command depfile description generator restat
|
||||
syn keyword ninjaRuleCommand contained command deps depfile description generator
|
||||
\ pool restat rspfile rspfile_content
|
||||
|
||||
syn region ninjaPool start="^pool" end="^\ze\S" contains=ALL transparent
|
||||
syn keyword ninjaPoolCommand contained depth
|
||||
|
||||
" Strings are parsed as follows:
|
||||
" lexer.in.cc, ReadEvalString()
|
||||
@@ -58,9 +69,13 @@ syn match ninjaOperator "\(=\|:\||\|||\)\ze\s"
|
||||
hi def link ninjaComment Comment
|
||||
hi def link ninjaKeyword Keyword
|
||||
hi def link ninjaRuleCommand Statement
|
||||
hi def link ninjaPoolCommand Statement
|
||||
hi def link ninjaWrapLineOperator ninjaOperator
|
||||
hi def link ninjaOperator Operator
|
||||
hi def link ninjaSimpleVar ninjaVar
|
||||
hi def link ninjaVar Identifier
|
||||
|
||||
let b:current_syntax = "ninja"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
" pf syntax file
|
||||
" Language: OpenBSD packet filter configuration (pf.conf)
|
||||
" Maintainer: Camiel Dobbelaar <cd@sentia.nl>
|
||||
" Last Change: 2003 May 27
|
||||
" Language: OpenBSD packet filter configuration (pf.conf)
|
||||
" Original Author: Camiel Dobbelaar <cd@sentia.nl>
|
||||
" Maintainer: Lauri Tirkkonen <lotheac@iki.fi>
|
||||
" Last Change: 2013 Apr 02
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -14,7 +15,7 @@ endif
|
||||
setlocal foldmethod=syntax
|
||||
syn sync fromstart
|
||||
|
||||
syn cluster pfNotLS contains=pfComment,pfTodo,pfVarAssign
|
||||
syn cluster pfNotLS contains=pfTodo,pfVarAssign
|
||||
syn keyword pfCmd altq anchor antispoof binat nat pass
|
||||
syn keyword pfCmd queue rdr scrub table set
|
||||
syn keyword pfService auth bgp domain finger ftp http https ident
|
||||
|
||||
@@ -102,12 +102,11 @@ syn match rComplex "\<\d\+[Ee][-+]\=\d\+i"
|
||||
|
||||
syn match rOperator "&"
|
||||
syn match rOperator '-'
|
||||
syn match rOperator '*'
|
||||
syn match rOperator '\*'
|
||||
syn match rOperator '+'
|
||||
syn match rOperator '='
|
||||
syn match rOperator "[|!<>^~`/:@]"
|
||||
syn match rOperator "%\{2}\|%\*%\|%\/%\|%in%\|%o%\|%x%"
|
||||
syn match rOpError '*\{3}'
|
||||
syn match rOpError '//'
|
||||
syn match rOpError '&&&'
|
||||
syn match rOpError '|||'
|
||||
|
||||
@@ -1,22 +1,19 @@
|
||||
" Vim syntax file
|
||||
" Language: ReDIF
|
||||
" Maintainer: Axel Castellane <axel.castellane@polytechnique.edu>
|
||||
" Last Change: 2013 Feb 20
|
||||
" Last Change: 2013 April 17
|
||||
" Original Author: Axel Castellane
|
||||
" Source: http://openlib.org/acmes/root/docu/redif_1.html
|
||||
" File Extension: rdf
|
||||
" Note: The ReDIF format is used by RePEc.
|
||||
|
||||
" Start with a check for "b:current_syntax". If it is defined, some other
|
||||
" syntax file, earlier in 'runtimepath' was already loaded:
|
||||
if exists("b:current_syntax")
|
||||
" To be compatible with Vim 5.8 use:
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Sync: The template-type (ReDIF-Paper, ReDIF-Archive, etc.) influences which
|
||||
" fields can follow. Thus sync must start from the beginning to know which
|
||||
" fields are right or wrong.
|
||||
syntax sync fromstart
|
||||
|
||||
" ReDIF is case-insensitive
|
||||
syntax case ignore
|
||||
|
||||
@@ -27,61 +24,80 @@ syntax case ignore
|
||||
" *-Institution
|
||||
" Those fields span a syntax region over several lines so that these regions
|
||||
" can only contain their respective items.
|
||||
"
|
||||
" Other fields (except comments) can only happen in one of these regions.
|
||||
|
||||
" Comments must start with # as the first character of the line, otherwise
|
||||
" I believe that they are considered as part of an argument.
|
||||
syntax region redifComment start=/^#/ end=/$/ containedin=ALL display
|
||||
" Any line which is not a correct template or part of an argument is an error.
|
||||
" This comes at the very beginning, so it has the lowest priority and will
|
||||
" only match if nothing else did.
|
||||
syntax match redifWrongLine /^.\+/ display
|
||||
|
||||
" Beginning: Anything which is not a comment is not allowed before a
|
||||
" "Template-Type:" statement. However, not to trouble the users when beginning
|
||||
" writing a Template-Type, this are not highlighted as errors.
|
||||
syntax region redifIncorrectBeginningOfFile start=/\%^/ end=/^Template-Type:\_s*ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\) \d\+\.\d\+/me=s-1 contains=redifComment,redifBeginningOfCorrectTemplateType,redifFieldTemplateType
|
||||
syntax match redifBeginningOfCorrectTemplateType /^\cT\%[emplate-Type:]$/ display
|
||||
highlight def link redifWrongLine redifError
|
||||
|
||||
highlight def link redifIncorrectBeginningOfFile redifError
|
||||
" Comments must start with # and it must be the first character of the line,
|
||||
" otherwise I believe that they are considered as part of an argument.
|
||||
syntax match redifComment /^#.*/ containedin=ALL display
|
||||
|
||||
" Defines the 9 possible multi-lines regions of Template-Type and the fields
|
||||
" they can contain.
|
||||
syntax region redifRegionTemplatePaper start=/^Template-Type:\_s*ReDIF-Paper \d\+\.\d\+/ end=/^Template-Type:\_s*ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\) \d\+\.\d\+/me=s-1 contains=redifUnknownField,redifRegionClusterAuthor,redifRegionClusterFile,redifFieldTitle,redifFieldHandleOfWork,redifFieldLanguage,redifFieldContactEmail,redifFieldAbstract,redifFieldClassificationJEL,redifFieldKeywords,redifFieldNumber,redifFieldCreationDate,redifFieldRevisionDate,redifFieldPublicationStatus,redifFieldNote,redifFieldLength,redifFieldSeries,redifFieldAvailability,redifFieldOrderURL,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldRestriction,redifFieldPrice,redifFieldNotification,redifFieldPublicationType,redifFieldTemplateType
|
||||
syntax region redifRegionTemplateArticle start=/^Template-Type:\_s*ReDIF-Article \d\+\.\d\+/ end=/^Template-Type:\_s*ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\) \d\+\.\d\+/me=s-1 contains=redifUnknownField,redifRegionClusterAuthor,redifRegionClusterFile,redifFieldTitle,redifFieldHandleOfWork,redifFieldLanguage,redifFieldContactEmail,redifFieldAbstract,redifFieldClassificationJEL,redifFieldKeywords,redifFieldNumber,redifFieldCreationDate,redifFieldPublicationStatus,redifFieldOrderURL,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldRestriction,redifFieldPrice,redifFieldNotification,redifFieldPublicationType,redifFieldJournal,redifFieldVolume,redifFieldYear,redifFieldIssue,redifFieldMonth,redifFieldPages,redifFieldNumber,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType
|
||||
syntax region redifRegionTemplateChapter start=/^Template-Type:\_s*ReDIF-Chapter \d\+\.\d\+/ end=/^Template-Type:\_s*ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\) \d\+\.\d\+/me=s-1 contains=redifUnknownField,redifRegionClusterAuthor,redifRegionClusterFile,redifRegionClusterProvider,redifRegionClusterPublisher,redifRegionClusterEditor,redifFieldHandleOfWork,redifFieldTitle,redifFieldContactEmail,redifFieldAbstract,redifFieldClassificationJEL,redifFieldKeywords,redifFieldBookTitle,redifFieldYear,redifFieldMonth,redifFieldPages,redifFieldChapter,redifFieldVolume,redifFieldEdition,redifFieldSeries,redifFieldISBN,redifFieldPublicationStatus,redifFieldNote,redifFieldInBook,redifFieldOrderURL,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType
|
||||
syntax region redifRegionTemplateBook start=/^Template-Type:\_s*ReDIF-Book \d\+\.\d\+/ end=/^Template-Type:\_s*ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\) \d\+\.\d\+/me=s-1 contains=redifUnknownField,redifRegionClusterAuthor,redifRegionClusterFile,redifRegionClusterProvider,redifRegionClusterPublisher,redifRegionClusterEditor,redifFieldTitle,redifFieldHandleOfWork,redifFieldContactEmail,redifFieldYear,redifFieldMonth,redifFieldVolume,redifFieldEdition,redifFieldSeries,redifFieldISBN,redifFieldPublicationStatus,redifFieldNote,redifFieldAbstract,redifFieldClassificationJEL,redifFieldKeywords,redifFieldHasChapter,redifFieldPrice,redifFieldOrderURL,redifFieldNumber,redifFieldCreationDate,redifFieldPublicationDate,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType
|
||||
syntax region redifRegionTemplateSoftware start=/^Template-Type:\_s*ReDIF-Software \d\+\.\d\+/ end=/^Template-Type:\_s*ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\) \d\+\.\d\+/me=s-1 contains=redifUnknownField,redifRegionClusterAuthor,redifRegionClusterFile,redifFieldHandleOfWork,redifFieldTitle,redifFieldProgrammingLanguage,redifFieldAbstract,redifFieldNumber,redifFieldVersion,redifFieldClassificationJEL,redifFieldKeywords,redifFieldSize,redifFieldSeries,redifFieldCreationDate,redifFieldRevisionDate,redifFieldNote,redifFieldRequires,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType
|
||||
syntax region redifRegionTemplateArchive start=/^Template-Type:\_s*ReDIF-Archive \d\+\.\d\+/ end=/^Template-Type:\_s*ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\) \d\+\.\d\+/me=s-1 contains=redifUnknownField,redifFieldHandleOfArchive,redifFieldURL,redifFieldMaintainerEmail,redifFieldName,redifFieldMaintainerName,redifFieldMaintainerPhone,redifFieldMaintainerFax,redifFieldClassificationJEL,redifFieldHomepage,redifFieldDescription,redifFieldNotification,redifFieldRestriction,redifFieldTemplateType
|
||||
syntax region redifRegionTemplateSeries start=/^Template-Type:\_s*ReDIF-Series \d\+\.\d\+/ end=/^Template-Type:\_s*ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\) \d\+\.\d\+/me=s-1 contains=redifUnknownField,redifRegionClusterProvider,redifRegionClusterPublisher,redifRegionClusterEditor,redifFieldName,redifFieldHandleOfSeries,redifFieldMaintainerEmail,redifFieldType,redifFieldOrderEmail,redifFieldOrderHomepage,redifFieldOrderPostal,redifFieldPrice,redifFieldRestriction,redifFieldMaintainerPhone,redifFieldMaintainerFax,redifFieldMaintainerName,redifFieldDescription,redifFieldClassificationJEL,redifFieldKeywords,redifFieldNotification,redifFieldISSN,redifFieldFollowup,redifFieldPredecessor,redifFieldTemplateType
|
||||
syntax region redifRegionTemplateInstitution start=/^Template-Type:\_s*ReDIF-Institution \d\+\.\d\+/ end=/^Template-Type:\_s*ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\) \d\+\.\d\+/me=s-1 contains=redifUnknownField,redifRegionClusterPrimary,redifRegionClusterSecondary,redifRegionClusterTertiary,redifRegionClusterQuaternary,redifFieldHandleOfInstitution,redifFieldPrimaryDefunct,redifFieldSecondaryDefunct,redifFieldTertiaryDefunct,redifFieldTemplateType
|
||||
syntax region redifRegionTemplatePerson start=/^Template-Type:\_s*ReDIF-Person \d\+\.\d\+/ end=/^Template-Type:\_s*ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\) \d\+\.\d\+/me=s-1 contains=redifUnknownField,redifRegionClusterWorkplace,redifFieldHandleOfPerson,redifFieldNameFull,redifFieldNameFirst,redifFieldNameLast,redifFieldNamePrefix,redifFieldNameMiddle,redifFieldNameSuffix,redifFieldNameASCII,redifFieldEmail,redifFieldHomepage,redifFieldFax,redifFieldPostal,redifFieldPhone,redifFieldWorkplaceOrganization,redifFieldAuthorPaper,redifFieldAuthorArticle,redifFieldAuthorSoftware,redifFieldAuthorBook,redifFieldAuthorChapter,redifFieldEditorBook,redifFieldEditorSeries,redifFieldClassificationJEL,redifFieldShortId,redifFieldLastLoginDate,redifFieldRegisteredDate,redifFieldTemplateType
|
||||
syntax region redifRegionTemplatePaper start=/^Template-Type:\_s*ReDIF-Paper \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsPaper,redifWrongLine,redifRegionClusterAuthor,redifRegionClusterFile fold
|
||||
syntax region redifRegionTemplateArticle start=/^Template-Type:\_s*ReDIF-Article \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsArticle,redifWrongLine,redifRegionClusterAuthor,redifRegionClusterFile fold
|
||||
syntax region redifRegionTemplateChapter start=/^Template-Type:\_s*ReDIF-Chapter \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsChapter,redifWrongLine,redifRegionClusterAuthor,redifRegionClusterFile,redifRegionClusterProvider,redifRegionClusterPublisher,redifRegionClusterEditor fold
|
||||
syntax region redifRegionTemplateBook start=/^Template-Type:\_s*ReDIF-Book \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsBook,redifWrongLine,redifRegionClusterAuthor,redifRegionClusterFile,redifRegionClusterProvider,redifRegionClusterPublisher,redifRegionClusterEditor fold
|
||||
syntax region redifRegionTemplateSoftware start=/^Template-Type:\_s*ReDIF-Software \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsSoftware,redifWrongLine,redifRegionClusterAuthor,redifRegionClusterFile fold
|
||||
syntax region redifRegionTemplateArchive start=/^Template-Type:\_s*ReDIF-Archive \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsArchive,redifWrongLine fold
|
||||
syntax region redifRegionTemplateSeries start=/^Template-Type:\_s*ReDIF-Series \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsSeries,redifWrongLine,redifRegionClusterProvider,redifRegionClusterPublisher,redifRegionClusterEditor fold
|
||||
syntax region redifRegionTemplateInstitution start=/^Template-Type:\_s*ReDIF-Institution \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsInstitution,redifWrongLine,redifRegionClusterPrimary,redifRegionClusterSecondary,redifRegionClusterTertiary,redifRegionClusterQuaternary fold
|
||||
syntax region redifRegionTemplatePerson start=/^Template-Type:\_s*ReDIF-Person \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsPerson,redifWrongLine,redifRegionClusterWorkplace fold
|
||||
|
||||
" For each template, non-whitespaces ending with a colon must be
|
||||
" correct fields. By default, they are wrong fields.
|
||||
syntax match redifUnknownField /^\S\{-1,}:/ contained display
|
||||
" All fields are foldable (These come before clusters, so they have lower
|
||||
" priority). So they are contained in a foldable syntax region.
|
||||
syntax region redifContainerFieldsPaper start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldTitle,redifFieldHandleOfWork,redifFieldLanguage,redifFieldContactEmail,redifFieldAbstract,redifFieldClassificationJEL,redifFieldKeywords,redifFieldNumber,redifFieldCreationDate,redifFieldRevisionDate,redifFieldPublicationStatus,redifFieldNote,redifFieldLength,redifFieldSeries,redifFieldAvailability,redifFieldOrderURL,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldRestriction,redifFieldPrice,redifFieldNotification,redifFieldPublicationType,redifFieldTemplateType,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsArticle start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldTitle,redifFieldHandleOfWork,redifFieldLanguage,redifFieldContactEmail,redifFieldAbstract,redifFieldClassificationJEL,redifFieldKeywords,redifFieldNumber,redifFieldCreationDate,redifFieldPublicationStatus,redifFieldOrderURL,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldRestriction,redifFieldPrice,redifFieldNotification,redifFieldPublicationType,redifFieldJournal,redifFieldVolume,redifFieldYear,redifFieldIssue,redifFieldMonth,redifFieldPages,redifFieldNumber,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsChapter start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldHandleOfWork,redifFieldTitle,redifFieldContactEmail,redifFieldAbstract,redifFieldClassificationJEL,redifFieldKeywords,redifFieldBookTitle,redifFieldYear,redifFieldMonth,redifFieldPages,redifFieldChapter,redifFieldVolume,redifFieldEdition,redifFieldSeries,redifFieldISBN,redifFieldPublicationStatus,redifFieldNote,redifFieldInBook,redifFieldOrderURL,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsBook start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldTitle,redifFieldHandleOfWork,redifFieldContactEmail,redifFieldYear,redifFieldMonth,redifFieldVolume,redifFieldEdition,redifFieldSeries,redifFieldISBN,redifFieldPublicationStatus,redifFieldNote,redifFieldAbstract,redifFieldClassificationJEL,redifFieldKeywords,redifFieldHasChapter,redifFieldPrice,redifFieldOrderURL,redifFieldNumber,redifFieldCreationDate,redifFieldPublicationDate,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsSoftware start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldHandleOfWork,redifFieldTitle,redifFieldProgrammingLanguage,redifFieldAbstract,redifFieldNumber,redifFieldVersion,redifFieldClassificationJEL,redifFieldKeywords,redifFieldSize,redifFieldSeries,redifFieldCreationDate,redifFieldRevisionDate,redifFieldNote,redifFieldRequires,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsArchive start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldHandleOfArchive,redifFieldURL,redifFieldMaintainerEmail,redifFieldName,redifFieldMaintainerName,redifFieldMaintainerPhone,redifFieldMaintainerFax,redifFieldClassificationJEL,redifFieldHomepage,redifFieldDescription,redifFieldNotification,redifFieldRestriction,redifFieldTemplateType,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsSeries start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldName,redifFieldHandleOfSeries,redifFieldMaintainerEmail,redifFieldType,redifFieldOrderEmail,redifFieldOrderHomepage,redifFieldOrderPostal,redifFieldPrice,redifFieldRestriction,redifFieldMaintainerPhone,redifFieldMaintainerFax,redifFieldMaintainerName,redifFieldDescription,redifFieldClassificationJEL,redifFieldKeywords,redifFieldNotification,redifFieldISSN,redifFieldFollowup,redifFieldPredecessor,redifFieldTemplateType,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsInstitution start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldHandleOfInstitution,redifFieldPrimaryDefunct,redifFieldSecondaryDefunct,redifFieldTertiaryDefunct,redifFieldTemplateType,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsPerson start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldHandleOfPerson,redifFieldNameFull,redifFieldNameFirst,redifFieldNameLast,redifFieldNamePrefix,redifFieldNameMiddle,redifFieldNameSuffix,redifFieldNameASCII,redifFieldEmail,redifFieldHomepage,redifFieldFax,redifFieldPostal,redifFieldPhone,redifFieldWorkplaceOrganization,redifFieldAuthorPaper,redifFieldAuthorArticle,redifFieldAuthorSoftware,redifFieldAuthorBook,redifFieldAuthorChapter,redifFieldEditorBook,redifFieldEditorSeries,redifFieldClassificationJEL,redifFieldShortId,redifFieldLastLoginDate,redifFieldRegisteredDate,redifWrongLine contained transparent fold
|
||||
|
||||
highlight def link redifUnknownField redifError
|
||||
" Defines the 10 possible clusters and what they can contain
|
||||
" A field not in the cluster ends the cluster.
|
||||
syntax region redifRegionClusterWorkplace start=/^Workplace-Name:/ skip=/^Workplace-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsWorkplace fold
|
||||
syntax region redifRegionClusterPrimary start=/^Primary-Name:/ skip=/^Primary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsPrimary fold
|
||||
syntax region redifRegionClusterSecondary start=/^Secondary-Name:/ skip=/^Secondary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsSecondary fold
|
||||
syntax region redifRegionClusterTertiary start=/^Tertiary-Name:/ skip=/^Tertiary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsTertiary fold
|
||||
syntax region redifRegionClusterQuaternary start=/^Quaternary-Name:/ skip=/^Quaternary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsQuaternary fold
|
||||
syntax region redifRegionClusterProvider start=/^Provider-Name:/ skip=/^Provider-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsProvider fold
|
||||
syntax region redifRegionClusterPublisher start=/^Publisher-Name:/ skip=/^Publisher-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsPublisher fold
|
||||
syntax region redifRegionClusterAuthor start=/^Author-Name:/ skip=/^Author-\%(Name\%(-First\|-Last\)\|Homepage\|Email\|Fax\|Postal\|Phone\|Person\|Workplace-Name\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifRegionClusterAuthorWorkplace,redifContainerFieldsAuthor fold
|
||||
syntax region redifRegionClusterEditor start=/^Editor-Name:/ skip=/^Editor-\%(Name\%(-First\|-Last\)\|Homepage\|Email\|Fax\|Postal\|Phone\|Person\|Workplace-Name\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifRegionClusterEditorWorkplace,redifContainerFieldsEditor fold
|
||||
syntax region redifRegionClusterFile start=/^File-URL:/ skip=/^File-\%(Format\|Function\|Size\|Restriction\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsFile fold
|
||||
|
||||
" Defines the 12 possible clusters and what they can contain
|
||||
syntax region redifRegionClusterAuthorWorkplace start=/^Author-Workplace-Name:/ skip=/^Author-Workplace-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifFieldAuthorWorkplaceName,redifFieldAuthorWorkplaceHomepage,redifFieldAuthorWorkplaceNameEnglish,redifFieldAuthorWorkplacePostal,redifFieldAuthorWorkplaceLocation,redifFieldAuthorWorkplaceEmail,redifFieldAuthorWorkplacePhone,redifFieldAuthorWorkplaceFax,redifFieldAuthorWorkplaceInstitution
|
||||
syntax region redifRegionClusterEditorWorkplace start=/^Editor-Workplace-Name:/ skip=/^Editor-Workplace-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifFieldEditorWorkplaceName,redifFieldEditorWorkplaceHomepage,redifFieldEditorWorkplaceNameEnglish,redifFieldEditorWorkplacePostal,redifFieldEditorWorkplaceLocation,redifFieldEditorWorkplaceEmail,redifFieldEditorWorkplacePhone,redifFieldEditorWorkplaceFax,redifFieldEditorWorkplaceInstitution
|
||||
syntax region redifRegionClusterWorkplace start=/^Workplace-Name:/ skip=/^Workplace-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifFieldWorkplaceName,redifFieldWorkplaceHomepage,redifFieldWorkplaceNameEnglish,redifFieldWorkplacePostal,redifFieldWorkplaceLocation,redifFieldWorkplaceEmail,redifFieldWorkplacePhone,redifFieldWorkplaceFax,redifFieldWorkplaceInstitution
|
||||
syntax region redifRegionClusterPrimary start=/^Primary-Name:/ skip=/^Primary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifFieldPrimaryName,redifFieldPrimaryHomepage,redifFieldPrimaryNameEnglish,redifFieldPrimaryPostal,redifFieldPrimaryLocation,redifFieldPrimaryEmail,redifFieldPrimaryPhone,redifFieldPrimaryFax,redifFieldPrimaryInstitution
|
||||
syntax region redifRegionClusterSecondary start=/^Secondary-Name:/ skip=/^Secondary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifFieldSecondaryName,redifFieldSecondaryHomepage,redifFieldSecondaryNameEnglish,redifFieldSecondaryPostal,redifFieldSecondaryLocation,redifFieldSecondaryEmail,redifFieldSecondaryPhone,redifFieldSecondaryFax,redifFieldSecondaryInstitution
|
||||
syntax region redifRegionClusterTertiary start=/^Tertiary-Name:/ skip=/^Tertiary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifFieldTertiaryName,redifFieldTertiaryHomepage,redifFieldTertiaryNameEnglish,redifFieldTertiaryPostal,redifFieldTertiaryLocation,redifFieldTertiaryEmail,redifFieldTertiaryPhone,redifFieldTertiaryFax,redifFieldTertiaryInstitution
|
||||
syntax region redifRegionClusterQuaternary start=/^Quaternary-Name:/ skip=/^Quaternary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifFieldQuaternaryName,redifFieldQuaternaryHomepage,redifFieldQuaternaryNameEnglish,redifFieldQuaternaryPostal,redifFieldQuaternaryLocation,redifFieldQuaternaryEmail,redifFieldQuaternaryPhone,redifFieldQuaternaryFax,redifFieldQuaternaryInstitution
|
||||
syntax region redifRegionClusterProvider start=/^Provider-Name:/ skip=/^Provider-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifFieldProviderName,redifFieldProviderHomepage,redifFieldProviderNameEnglish,redifFieldProviderPostal,redifFieldProviderLocation,redifFieldProviderEmail,redifFieldProviderPhone,redifFieldProviderFax,redifFieldProviderInstitution
|
||||
syntax region redifRegionClusterPublisher start=/^Publisher-Name:/ skip=/^Publisher-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifFieldPublisherName,redifFieldPublisherHomepage,redifFieldPublisherNameEnglish,redifFieldPublisherPostal,redifFieldPublisherLocation,redifFieldPublisherEmail,redifFieldPublisherPhone,redifFieldPublisherFax,redifFieldPublisherInstitution
|
||||
syntax region redifRegionClusterAuthor start=/^Author-Name:/ skip=/^Author-\%(Name\%(-First\|-Last\)\|Homepage\|Email\|Fax\|Postal\|Phone\|Person\|Workplace-Name\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifRegionClusterAuthorWorkplace,redifFieldAuthorName,redifFieldAuthorNameFirst,redifFieldAuthorNameLast,redifFieldAuthorHomepage,redifFieldAuthorEmail,redifFieldAuthorFax,redifFieldAuthorPostal,redifFieldAuthorPhone,redifFieldAuthorPerson
|
||||
syntax region redifRegionClusterEditor start=/^Editor-Name:/ skip=/^Editor-\%(Name\%(-First\|-Last\)\|Homepage\|Email\|Fax\|Postal\|Phone\|Person\|Workplace-Name\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifRegionClusterEditorWorkplace,redifFieldEditorName,redifFieldEditorNameFirst,redifFieldEditorNameLast,redifFieldEditorHomepage,redifFieldEditorEmail,redifFieldEditorFax,redifFieldEditorPostal,redifFieldEditorPhone,redifFieldEditorPerson
|
||||
syntax region redifRegionClusterFile start=/^File-URL:/ skip=/^File-\%(Format\|Function\|Size\|Restriction\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifFieldFileURL,redifFieldFileFormat,redifFieldFileFunction,redifFieldFileSize,redifFieldFileRestriction
|
||||
" The foldable containers of the clusters.
|
||||
syntax region redifContainerFieldsWorkplace start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldWorkplaceName,redifFieldWorkplaceHomepage,redifFieldWorkplaceNameEnglish,redifFieldWorkplacePostal,redifFieldWorkplaceLocation,redifFieldWorkplaceEmail,redifFieldWorkplacePhone,redifFieldWorkplaceFax,redifFieldWorkplaceInstitution,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsPrimary start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldPrimaryName,redifFieldPrimaryHomepage,redifFieldPrimaryNameEnglish,redifFieldPrimaryPostal,redifFieldPrimaryLocation,redifFieldPrimaryEmail,redifFieldPrimaryPhone,redifFieldPrimaryFax,redifFieldPrimaryInstitution,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsSecondary start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldSecondaryName,redifFieldSecondaryHomepage,redifFieldSecondaryNameEnglish,redifFieldSecondaryPostal,redifFieldSecondaryLocation,redifFieldSecondaryEmail,redifFieldSecondaryPhone,redifFieldSecondaryFax,redifFieldSecondaryInstitution,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsTertiary start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldTertiaryName,redifFieldTertiaryHomepage,redifFieldTertiaryNameEnglish,redifFieldTertiaryPostal,redifFieldTertiaryLocation,redifFieldTertiaryEmail,redifFieldTertiaryPhone,redifFieldTertiaryFax,redifFieldTertiaryInstitution,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsQuaternary start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldQuaternaryName,redifFieldQuaternaryHomepage,redifFieldQuaternaryNameEnglish,redifFieldQuaternaryPostal,redifFieldQuaternaryLocation,redifFieldQuaternaryEmail,redifFieldQuaternaryPhone,redifFieldQuaternaryFax,redifFieldQuaternaryInstitution,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsProvider start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldProviderName,redifFieldProviderHomepage,redifFieldProviderNameEnglish,redifFieldProviderPostal,redifFieldProviderLocation,redifFieldProviderEmail,redifFieldProviderPhone,redifFieldProviderFax,redifFieldProviderInstitution,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsPublisher start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldPublisherName,redifFieldPublisherHomepage,redifFieldPublisherNameEnglish,redifFieldPublisherPostal,redifFieldPublisherLocation,redifFieldPublisherEmail,redifFieldPublisherPhone,redifFieldPublisherFax,redifFieldPublisherInstitution,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsAuthor start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldAuthorName,redifFieldAuthorNameFirst,redifFieldAuthorNameLast,redifFieldAuthorHomepage,redifFieldAuthorEmail,redifFieldAuthorFax,redifFieldAuthorPostal,redifFieldAuthorPhone,redifFieldAuthorPerson,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsEditor start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldEditorName,redifFieldEditorNameFirst,redifFieldEditorNameLast,redifFieldEditorHomepage,redifFieldEditorEmail,redifFieldEditorFax,redifFieldEditorPostal,redifFieldEditorPhone,redifFieldEditorPerson,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsFile start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldFileURL,redifFieldFileFormat,redifFieldFileFunction,redifFieldFileSize,redifFieldFileRestriction,redifWrongLine contained transparent fold
|
||||
|
||||
" A field not in the cluster ends the cluster, so no need to define wrong
|
||||
" fields, because they will be handled by the containing UnknownField region
|
||||
" immediately when exiting the cluster.
|
||||
" The two clusters in cluster (must be presented after to have priority over
|
||||
" fields containers)
|
||||
syntax region redifRegionClusterAuthorWorkplace start=/^Author-Workplace-Name:/ skip=/^Author-Workplace-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsAuthorWorkplace fold
|
||||
syntax region redifRegionClusterEditorWorkplace start=/^Editor-Workplace-Name:/ skip=/^Editor-Workplace-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsEditorWorkplace fold
|
||||
|
||||
" Their foldable fields containers
|
||||
syntax region redifContainerFieldsAuthorWorkplace start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldAuthorWorkplaceName,redifFieldAuthorWorkplaceHomepage,redifFieldAuthorWorkplaceNameEnglish,redifFieldAuthorWorkplacePostal,redifFieldAuthorWorkplaceLocation,redifFieldAuthorWorkplaceEmail,redifFieldAuthorWorkplacePhone,redifFieldAuthorWorkplaceFax,redifFieldAuthorWorkplaceInstitution,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsEditorWorkplace start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldEditorWorkplaceName,redifFieldEditorWorkplaceHomepage,redifFieldEditorWorkplaceNameEnglish,redifFieldEditorWorkplacePostal,redifFieldEditorWorkplaceLocation,redifFieldEditorWorkplaceEmail,redifFieldEditorWorkplacePhone,redifFieldEditorWorkplaceFax,redifFieldEditorWorkplaceInstitution,redifWrongLine contained transparent fold
|
||||
|
||||
" All the possible fields
|
||||
" Note: The "Handle" field is handled a little bit differently, because it
|
||||
" does not have the same meaning depending on the Template-Type.
|
||||
" /redifFieldHandleOf....
|
||||
" Note: The "Handle" field is handled a little bit differently, because it
|
||||
" does not have the same meaning depending on the Template-Type. See:
|
||||
" /redifFieldHandleOf....
|
||||
syntax match redifFieldAbstract /^Abstract:/ skipwhite skipempty nextgroup=redifArgumentAbstract contained
|
||||
syntax match redifFieldArticleHandle /^Article-Handle:/ skipwhite skipempty nextgroup=redifArgumentArticleHandle contained
|
||||
syntax match redifFieldAuthorArticle /^Author-Article:/ skipwhite skipempty nextgroup=redifArgumentAuthorArticle contained
|
||||
@@ -211,15 +227,6 @@ syntax match redifFieldProviderPostal /^Provider-Postal:/ skipwhite skipempty ne
|
||||
syntax match redifFieldPublicationDate /^Publication-Date:/ skipwhite skipempty nextgroup=redifArgumentPublicationDate contained
|
||||
syntax match redifFieldPublicationStatus /^Publication-Status:/ skipwhite skipempty nextgroup=redifArgumentPublicationStatus contained
|
||||
syntax match redifFieldPublicationType /^Publication-Type:/ skipwhite skipempty nextgroup=redifArgumentPublicationType contained
|
||||
syntax match redifFieldPublisherEmail /^Publisher-Email:/ skipwhite skipempty nextgroup=redifArgumentPublisherEmail contained
|
||||
syntax match redifFieldPublisherFax /^Publisher-Fax:/ skipwhite skipempty nextgroup=redifArgumentPublisherFax contained
|
||||
syntax match redifFieldPublisherHomepage /^Publisher-Homepage:/ skipwhite skipempty nextgroup=redifArgumentPublisherHomepage contained
|
||||
syntax match redifFieldPublisherInstitution /^Publisher-Institution:/ skipwhite skipempty nextgroup=redifArgumentPublisherInstitution contained
|
||||
syntax match redifFieldPublisherLocation /^Publisher-Location:/ skipwhite skipempty nextgroup=redifArgumentPublisherLocation contained
|
||||
syntax match redifFieldPublisherName /^Publisher-Name:/ skipwhite skipempty nextgroup=redifArgumentPublisherName contained
|
||||
syntax match redifFieldPublisherNameEnglish /^Publisher-Name-English:/ skipwhite skipempty nextgroup=redifArgumentPublisherNameEnglish contained
|
||||
syntax match redifFieldPublisherPhone /^Publisher-Phone:/ skipwhite skipempty nextgroup=redifArgumentPublisherPhone contained
|
||||
syntax match redifFieldPublisherPostal /^Publisher-Postal:/ skipwhite skipempty nextgroup=redifArgumentPublisherPostal contained
|
||||
syntax match redifFieldQuaternaryEmail /^Quaternary-Email:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryEmail contained
|
||||
syntax match redifFieldQuaternaryFax /^Quaternary-Fax:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryFax contained
|
||||
syntax match redifFieldQuaternaryHomepage /^Quaternary-Homepage:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryHomepage contained
|
||||
@@ -404,15 +411,6 @@ highlight def link redifFieldProviderPostal redifField
|
||||
highlight def link redifFieldPublicationDate redifField
|
||||
highlight def link redifFieldPublicationStatus redifField
|
||||
highlight def link redifFieldPublicationType redifField
|
||||
highlight def link redifFieldPublisherEmail redifField
|
||||
highlight def link redifFieldPublisherFax redifField
|
||||
highlight def link redifFieldPublisherHomepage redifField
|
||||
highlight def link redifFieldPublisherInstitution redifField
|
||||
highlight def link redifFieldPublisherLocation redifField
|
||||
highlight def link redifFieldPublisherName redifField
|
||||
highlight def link redifFieldPublisherNameEnglish redifField
|
||||
highlight def link redifFieldPublisherPhone redifField
|
||||
highlight def link redifFieldPublisherPostal redifField
|
||||
highlight def link redifFieldQuaternaryEmail redifField
|
||||
highlight def link redifFieldQuaternaryFax redifField
|
||||
highlight def link redifFieldQuaternaryHomepage redifField
|
||||
@@ -469,129 +467,157 @@ highlight def link redifFieldWorkplacePhone redifField
|
||||
highlight def link redifFieldWorkplacePostal redifField
|
||||
highlight def link redifFieldYear redifField
|
||||
|
||||
" Deprecated
|
||||
" same as Provider-*
|
||||
" nextgroup=redifArgumentProvider*
|
||||
syntax match redifFieldPublisherEmail /^Publisher-Email:/ skipwhite skipempty nextgroup=redifArgumentProviderEmail contained
|
||||
syntax match redifFieldPublisherFax /^Publisher-Fax:/ skipwhite skipempty nextgroup=redifArgumentProviderFax contained
|
||||
syntax match redifFieldPublisherHomepage /^Publisher-Homepage:/ skipwhite skipempty nextgroup=redifArgumentProviderHomepage contained
|
||||
syntax match redifFieldPublisherInstitution /^Publisher-Institution:/ skipwhite skipempty nextgroup=redifArgumentProviderInstitution contained
|
||||
syntax match redifFieldPublisherLocation /^Publisher-Location:/ skipwhite skipempty nextgroup=redifArgumentProviderLocation contained
|
||||
syntax match redifFieldPublisherName /^Publisher-Name:/ skipwhite skipempty nextgroup=redifArgumentProviderName contained
|
||||
syntax match redifFieldPublisherNameEnglish /^Publisher-Name-English:/ skipwhite skipempty nextgroup=redifArgumentProviderNameEnglish contained
|
||||
syntax match redifFieldPublisherPhone /^Publisher-Phone:/ skipwhite skipempty nextgroup=redifArgumentProviderPhone contained
|
||||
syntax match redifFieldPublisherPostal /^Publisher-Postal:/ skipwhite skipempty nextgroup=redifArgumentProviderPostal contained
|
||||
|
||||
highlight def link redifFieldPublisherEmail redifFieldDeprecated
|
||||
highlight def link redifFieldPublisherFax redifFieldDeprecated
|
||||
highlight def link redifFieldPublisherHomepage redifFieldDeprecated
|
||||
highlight def link redifFieldPublisherInstitution redifFieldDeprecated
|
||||
highlight def link redifFieldPublisherLocation redifFieldDeprecated
|
||||
highlight def link redifFieldPublisherName redifFieldDeprecated
|
||||
highlight def link redifFieldPublisherNameEnglish redifFieldDeprecated
|
||||
highlight def link redifFieldPublisherPhone redifFieldDeprecated
|
||||
highlight def link redifFieldPublisherPostal redifFieldDeprecated
|
||||
|
||||
" Standard arguments
|
||||
" Contains all the remaining line if it is not a new field
|
||||
" /\%(^\S\{-}:\)\@!\S.*/
|
||||
" Note: Those arguments are not highlighted so far. They are here for
|
||||
" future extensions.
|
||||
" Note: Those matches do not extend further the end of the line. They are
|
||||
" unfit for arguments that may span several lines like Title, Abstract,
|
||||
" Postal. They are well-fit for arguments that must not span more than one
|
||||
" line by definition, such as URLs, Email addresses, etc.
|
||||
" By default, they contain all the argument until another field is started:
|
||||
" start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1
|
||||
" For arguments that must not span more than one line, use a match:
|
||||
" /\%(^\S\{-}:\)\@!\S.*/
|
||||
" AND ADD "display"
|
||||
" This is faster.
|
||||
"
|
||||
" Those arguments are not highlighted so far. They are here for future
|
||||
" extensions.
|
||||
" TODO Find more RegEx for these arguments
|
||||
" TODO Fax, Phone
|
||||
" TODO URL, Homepage
|
||||
" TODO Keywords
|
||||
" TODO Classification-JEL
|
||||
" TODO Short-Id, Author-Person, Editor-Person
|
||||
"syntax match redifArgumentAuthorFax /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentAuthorHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentAuthorName /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentAuthorNameFirst /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentAuthorNameLast /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentAuthorPerson /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentAuthorPhone /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentAuthorPostal /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentAuthorWorkplaceFax /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentAuthorWorkplaceHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentAuthorWorkplaceLocation /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentAuthorWorkplaceName /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentAuthorWorkplaceNameEnglish /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentAuthorWorkplacePhone /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentAuthorWorkplacePostal /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentEditorFax /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentEditorHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentEditorName /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentEditorNameFirst /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentEditorNameLast /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentEditorPerson /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentEditorPhone /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentEditorPostal /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentEditorWorkplaceFax /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentEditorWorkplaceHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentEditorWorkplaceLocation /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentEditorWorkplaceName /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentEditorWorkplaceNameEnglish /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentEditorWorkplacePhone /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentEditorWorkplacePostal /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentFax /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentFileFunction /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentFileURL /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentIssue /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentJournal /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentMaintainerFax /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentMaintainerName /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentMaintainerPhone /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentNameFirst /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentNameFull /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentNameLast /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentNameMiddle /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentNamePrefix /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentNameSuffix /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentName /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentOrderHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentOrderPostal /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentOrderURL /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentPhone /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentPostal /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentPrice /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentPrimaryFax /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentPrimaryHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentPrimaryLocation /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentPrimaryName /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentPrimaryNameEnglish /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentPrimaryPhone /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentPrimaryPostal /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentProviderFax /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentProviderHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentProviderLocation /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentProviderName /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentProviderNameEnglish /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentProviderPhone /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentProviderPostal /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentPublisherFax /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentPublisherHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentPublisherLocation /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentPublisherName /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentPublisherNameEnglish /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentPublisherPhone /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentPublisherPostal /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentQuaternaryFax /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentQuaternaryHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentQuaternaryLocation /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentQuaternaryName /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentQuaternaryNameEnglish /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentQuaternaryPhone /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentQuaternaryPostal /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentRequires /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentSecondaryFax /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentSecondaryHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentSecondaryLocation /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentSecondaryName /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentSecondaryNameEnglish /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentSecondaryPhone /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentSecondaryPostal /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentSeries /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentSize /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentShortId /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentTertiaryFax /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentTertiaryHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentTertiaryLocation /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentTertiaryName /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentTertiaryNameEnglish /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentTertiaryPhone /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentTertiaryPostal /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentURL /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentVersion /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentWorkplaceFax /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentWorkplaceHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentWorkplaceLocation /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentWorkplaceName /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentWorkplaceNameEnglish /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentWorkplaceOrganization /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentWorkplacePhone /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"syntax match redifArgumentWorkplacePostal /\%(^\S\{-}:\)\@!\S.*/ contained display
|
||||
"
|
||||
" Arguments that may span several lines:
|
||||
syntax region redifArgumentAuthorWorkplaceLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorWorkplacePostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorWorkplacePostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentFileFunction start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentIssue start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentJournal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentOrderPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentPrice start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentPrimaryLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentPrimaryPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentProviderLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentProviderPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentQuaternaryLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentQuaternaryPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentRequires start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentSecondaryLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentSecondaryPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentSize start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentTertiaryLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentTertiaryPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentVersion start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentWorkplaceLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentWorkplacePhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentWorkplacePostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
|
||||
" Arguments that may not span several lines:
|
||||
" If you are sure that these arguments cannot span several lines, change
|
||||
" them to a match:
|
||||
" /\%(^\S\{-}:\)\@!\S.*/
|
||||
" AND ADD "display" after "contained"
|
||||
" You can use this command on each line that you want to change:
|
||||
" :s+\Vregion \(\w\+\) start=/\\%(^\\S\\{-}:\\)\\@!\\S/ end=/^\\S\\{-}:/me=s-1 contained+match \1 /\\%(^\\S\\{-}:\\)\\@!\\S.*/ contained display
|
||||
syntax region redifArgumentAuthorFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorNameFirst start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorNameLast start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorPerson start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorWorkplaceFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorWorkplaceHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorWorkplaceName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorWorkplaceNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorWorkplacePhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorNameFirst start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorNameLast start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorPerson start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorWorkplaceFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorWorkplaceHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorWorkplaceLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorWorkplaceName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorWorkplaceNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorWorkplacePhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentFileURL start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentMaintainerFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentMaintainerName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentMaintainerPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentNameFirst start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentNameFull start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentNameLast start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentNameMiddle start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentNamePrefix start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentNameSuffix start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentNumber start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentOrderHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentOrderURL start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentPrimaryFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentPrimaryHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentPrimaryName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentPrimaryNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentPrimaryPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentProviderFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentProviderHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentProviderName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentProviderNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentProviderPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentQuaternaryFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentQuaternaryHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentQuaternaryName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentQuaternaryNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentQuaternaryPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentSecondaryFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentSecondaryHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentSecondaryName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentSecondaryNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentSecondaryPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentSeries start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentShortId start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentTertiaryFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentTertiaryHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentTertiaryName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentTertiaryNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentTertiaryPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentURL start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentWorkplaceFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentWorkplaceHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentWorkplaceName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentWorkplaceNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentWorkplaceOrganization start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
|
||||
" Special arguments
|
||||
" Those arguments require special values
|
||||
@@ -604,12 +630,14 @@ highlight def link redifFieldYear redifField
|
||||
"
|
||||
" Template-Type
|
||||
syntax match redifArgumentTemplateType /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectTemplateType contained display
|
||||
syntax match redifCorrectTemplateType /ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\)/ nextgroup=redifTemplateVersionNumber contained display
|
||||
syntax match redifTemplateVersionNumber / \d\+\.\d\+/ contained display
|
||||
syntax match redifCorrectTemplateType /ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\)/ nextgroup=redifTemplateVersionNumberContainer contained display
|
||||
syntax match redifTemplateVersionNumberContainer /.\+/ contains=redifTemplateVersionNumber contained display
|
||||
syntax match redifTemplateVersionNumber / \d\+\.\d\+/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentTemplateType redifError
|
||||
highlight def link redifCorrectTemplateType Constant
|
||||
highlight def link redifTemplateVersionNumber Number
|
||||
highlight def link redifTemplateVersionNumberContainer redifError
|
||||
|
||||
" Handles:
|
||||
"
|
||||
@@ -629,7 +657,7 @@ syntax match redifArgumentBookHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrec
|
||||
syntax match redifArgumentChapterHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
|
||||
syntax match redifArgumentPaperHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
|
||||
syntax match redifArgumentSoftwareHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
|
||||
syntax match redifCorrectHandleOfWork /RePEc:\a\a\a:\%(_\@!\w\)\{6}:\S\+/ contains=redifForbiddenCharactersInHandle,redifBestPracticeInHandle contained display
|
||||
syntax match redifCorrectHandleOfWork /RePEc:\a\a\a:\%(_\@!\w\)\{6}:\S\+/ contains=redifForbiddenCharactersInHandle,redifBestPracticeInHandle nextgroup=redifWrongLineEnding contained display
|
||||
" TODO Are those characters really forbidden???
|
||||
syntax match redifForbiddenCharactersInHandle /[\/*?"<>|]/ contained display
|
||||
syntax match redifBestPracticeInHandle /\<\%([vi]:[1-9]\d*\|y:[1-9]\d\{3}\|p:[1-9]\d*-[1-9]\d*\|i:\%(jan\|feb\|mar\|apr\|may\|jun\|jul\|aug\|sep\|oct\|nov\|dec\|spr\|sum\|aut\|win\|spe\|Q[1-4]\|\d\d-\d\d\)\|Q:[1-4]\)\>/ contained display
|
||||
@@ -656,7 +684,7 @@ highlight def link redifBestPracticeInHandle redifSpecial
|
||||
syntax match redifArgumentHandleOfSeries /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfSeries contained display
|
||||
syntax match redifArgumentFollowup /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfSeries contained display
|
||||
syntax match redifArgumentPredecessor /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfSeries contained display
|
||||
syntax match redifCorrectHandleOfSeries /RePEc:\a\a\a:\%(_\@!\w\)\{6}/ contained display
|
||||
syntax match redifCorrectHandleOfSeries /RePEc:\a\a\a:\%(_\@!\w\)\{6}/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentHandleOfSeries redifError
|
||||
highlight def link redifArgumentFollowup redifError
|
||||
@@ -664,13 +692,13 @@ highlight def link redifArgumentPredecessor redifError
|
||||
|
||||
" Handles of Archives:
|
||||
syntax match redifArgumentHandleOfArchive /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfArchive contained display
|
||||
syntax match redifCorrectHandleOfArchive /RePEc:\a\a\a/ contained display
|
||||
syntax match redifCorrectHandleOfArchive /RePEc:\a\a\a/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentHandleOfArchive redifError
|
||||
|
||||
" Handles of Person:
|
||||
syntax match redifArgumentHandleOfPerson /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfPerson contained display
|
||||
syntax match redifCorrectHandleOfPerson /\%(\%(:\@!\S\)\{-}:\)\{2}[1-9]\d\{3}\%(-02\%(-[12]\d\|-0[1-9]\)\|-\%(0[469]\|11\)\%(-30\|-[12]\d\|-0[1-9]\)\|-\%(0[13578]\|1[02]\)\%(-3[01]\|-[12]\d\|-0[1-9]\)\):\S\+/ contained display
|
||||
syntax match redifCorrectHandleOfPerson /\%(\%(:\@!\S\)\{-}:\)\{2}[1-9]\d\{3}\%(-02\%(-[12]\d\|-0[1-9]\)\|-\%(0[469]\|11\)\%(-30\|-[12]\d\|-0[1-9]\)\|-\%(0[13578]\|1[02]\)\%(-3[01]\|-[12]\d\|-0[1-9]\)\):\S\+/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentHandleOfPerson redifError
|
||||
|
||||
@@ -691,7 +719,7 @@ syntax match redifArgumentTertiaryDefunct /\%(^\S\{-}:\)\@!\S.*/ contains=redifC
|
||||
" TODO Are digits authorized? Apparently not.
|
||||
" Country codes:
|
||||
" http://www.iso.org/iso/country_codes/iso_3166_code_lists/country_names_and_code_elements.htm
|
||||
syntax match redifCorrectHandleOfInstitution /RePEc:\a\a\a:\a\{5}\(ea\|af\|ax\|al\|dz\|as\|ad\|ao\|ai\|aq\|ag\|ar\|am\|aw\|au\|at\|az\|bs\|bh\|bd\|bb\|by\|be\|bz\|bj\|bm\|bt\|bo\|bq\|ba\|bw\|bv\|br\|io\|bn\|bg\|bf\|bi\|kh\|cm\|ca\|cv\|ky\|cf\|td\|cl\|cn\|cx\|cc\|co\|km\|cg\|cd\|ck\|cr\|ci\|hr\|cu\|cw\|cy\|cz\|dk\|dj\|dm\|do\|ec\|eg\|sv\|gq\|er\|ee\|et\|fk\|fo\|fj\|fi\|fr\|gf\|pf\|tf\|ga\|gm\|ge\|de\|gh\|gi\|gr\|gl\|gd\|gp\|gu\|gt\|gg\|gn\|gw\|gy\|ht\|hm\|va\|hn\|hk\|hu\|is\|in\|id\|ir\|iq\|ie\|im\|il\|it\|jm\|jp\|je\|jo\|kz\|ke\|ki\|kp\|kr\|kw\|kg\|la\|lv\|lb\|ls\|lr\|ly\|li\|lt\|lu\|mo\|mk\|mg\|mw\|my\|mv\|ml\|mt\|mh\|mq\|mr\|mu\|yt\|mx\|fm\|md\|mc\|mn\|me\|ms\|ma\|mz\|mm\|na\|nr\|np\|nl\|nc\|nz\|ni\|ne\|ng\|nu\|nf\|mp\|no\|om\|pk\|pw\|ps\|pa\|pg\|py\|pe\|ph\|pn\|pl\|pt\|pr\|qa\|re\|ro\|ru\|rw\|bl\|sh\|kn\|lc\|mf\|pm\|vc\|ws\|sm\|st\|sa\|sn\|rs\|sc\|sl\|sg\|sx\|sk\|si\|sb\|so\|za\|gs\|ss\|es\|lk\|sd\|sr\|sj\|sz\|se\|ch\|sy\|tw\|tj\|tz\|th\|tl\|tg\|tk\|to\|tt\|tn\|tr\|tm\|tc\|tv\|ug\|ua\|ae\|gb\|us\|um\|uy\|uz\|vu\|ve\|vn\|vg\|vi\|wf\|eh\|ye\|zm\|zw\)/ contained display
|
||||
syntax match redifCorrectHandleOfInstitution /RePEc:\a\a\a:\a\{5}\(ea\|af\|ax\|al\|dz\|as\|ad\|ao\|ai\|aq\|ag\|ar\|am\|aw\|au\|at\|az\|bs\|bh\|bd\|bb\|by\|be\|bz\|bj\|bm\|bt\|bo\|bq\|ba\|bw\|bv\|br\|io\|bn\|bg\|bf\|bi\|kh\|cm\|ca\|cv\|ky\|cf\|td\|cl\|cn\|cx\|cc\|co\|km\|cg\|cd\|ck\|cr\|ci\|hr\|cu\|cw\|cy\|cz\|dk\|dj\|dm\|do\|ec\|eg\|sv\|gq\|er\|ee\|et\|fk\|fo\|fj\|fi\|fr\|gf\|pf\|tf\|ga\|gm\|ge\|de\|gh\|gi\|gr\|gl\|gd\|gp\|gu\|gt\|gg\|gn\|gw\|gy\|ht\|hm\|va\|hn\|hk\|hu\|is\|in\|id\|ir\|iq\|ie\|im\|il\|it\|jm\|jp\|je\|jo\|kz\|ke\|ki\|kp\|kr\|kw\|kg\|la\|lv\|lb\|ls\|lr\|ly\|li\|lt\|lu\|mo\|mk\|mg\|mw\|my\|mv\|ml\|mt\|mh\|mq\|mr\|mu\|yt\|mx\|fm\|md\|mc\|mn\|me\|ms\|ma\|mz\|mm\|na\|nr\|np\|nl\|nc\|nz\|ni\|ne\|ng\|nu\|nf\|mp\|no\|om\|pk\|pw\|ps\|pa\|pg\|py\|pe\|ph\|pn\|pl\|pt\|pr\|qa\|re\|ro\|ru\|rw\|bl\|sh\|kn\|lc\|mf\|pm\|vc\|ws\|sm\|st\|sa\|sn\|rs\|sc\|sl\|sg\|sx\|sk\|si\|sb\|so\|za\|gs\|ss\|es\|lk\|sd\|sr\|sj\|sz\|se\|ch\|sy\|tw\|tj\|tz\|th\|tl\|tg\|tk\|to\|tt\|tn\|tr\|tm\|tc\|tv\|ug\|ua\|ae\|gb\|us\|um\|uy\|uz\|vu\|ve\|vn\|vg\|vi\|wf\|eh\|ye\|zm\|zw\)/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentHandleOfInstitution redifError
|
||||
highlight def link redifArgumentPrimaryDefunct redifError
|
||||
@@ -714,7 +742,7 @@ syntax match redifArgumentQuaternaryEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifC
|
||||
syntax match redifArgumentSecondaryEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
|
||||
syntax match redifArgumentTertiaryEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
|
||||
syntax match redifArgumentWorkplaceEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
|
||||
syntax match redifCorrectEmail /\%(@\@!\S\)\+@\%(@\@!\S\)\+/ contained display
|
||||
syntax match redifCorrectEmail /\%(@\@!\S\)\+@\%(@\@!\S\)\+/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentAuthorEmail redifError
|
||||
highlight def link redifArgumentAuthorWorkplaceEmail redifError
|
||||
@@ -735,7 +763,7 @@ highlight def link redifArgumentWorkplaceEmail redifError
|
||||
" Language
|
||||
" Source: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
|
||||
syntax match redifArgumentLanguage /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectLanguage contained display
|
||||
syntax match redifCorrectLanguage /\<\(aa\|ab\|af\|ak\|als\|am\|an\|ang\|ar\|arc\|as\|ast\|av\|ay\|az\|ba\|bar\|bat-smg\|bcl\|be\|be-x-old\|bg\|bh\|bi\|bm\|bn\|bo\|bpy\|br\|bs\|bug\|bxr\|ca\|ce\|ceb\|ch\|cho\|chr\|chy\|co\|cr\|cs\|csb\|cu\|cv\|cy\|da\|de\|diq\|dsb\|dv\|dz\|ee\|el\|en\|eo\|es\|et\|eu\|ext\|fa\|ff\|fi\|fiu-vro\|fj\|fo\|fr\|frp\|fur\|fy\|ga\|gd\|gil\|gl\|gn\|got\|gu\|gv\|ha\|haw\|he\|hi\|ho\|hr\|ht\|hu\|hy\|hz\|ia\|id\|ie\|ig\|ii\|ik\|ilo\|io\|is\|it\|iu\|ja\|jbo\|jv\|ka\|kg\|ki\|kj\|kk\|kl\|km\|kn\|khw\|ko\|kr\|ks\|ksh\|ku\|kv\|kw\|ky\|la\|lad\|lan\|lb\|lg\|li\|lij\|lmo\|ln\|lo\|lt\|lv\|map-bms\|mg\|mh\|mi\|mk\|ml\|mn\|mo\|mr\|ms\|mt\|mus\|my\|na\|nah\|nap\|nd\|nds\|nds-nl\|ne\|new\|ng\|nl\|nn\|no\|nr\|nso\|nrm\|nv\|ny\|oc\|oj\|om\|or\|os\|pa\|pag\|pam\|pap\|pdc\|pi\|pih\|pl\|pms\|ps\|pt\|qu\|rm\|rmy\|rn\|ro\|roa-rup\|ru\|rw\|sa\|sc\|scn\|sco\|sd\|se\|sg\|sh\|si\|simple\|sk\|sl\|sm\|sn\|so\|sq\|sr\|ss\|st\|su\|sv\|sw\|ta\|te\|tet\|tg\|th\|ti\|tk\|tl\|tlh\|tn\|to\|tpi\|tr\|ts\|tt\|tum\|tw\|ty\|udm\|ug\|uk\|ur\|uz\|ve\|vi\|vec\|vls\|vo\|wa\|war\|wo\|xal\|xh\|yi\|yo\|za\|zh\|zh-min-nan\|zh-yue\|zu\)\>/ contained display
|
||||
syntax match redifCorrectLanguage /\<\(aa\|ab\|af\|ak\|als\|am\|an\|ang\|ar\|arc\|as\|ast\|av\|ay\|az\|ba\|bar\|bat-smg\|bcl\|be\|be-x-old\|bg\|bh\|bi\|bm\|bn\|bo\|bpy\|br\|bs\|bug\|bxr\|ca\|ce\|ceb\|ch\|cho\|chr\|chy\|co\|cr\|cs\|csb\|cu\|cv\|cy\|da\|de\|diq\|dsb\|dv\|dz\|ee\|el\|en\|eo\|es\|et\|eu\|ext\|fa\|ff\|fi\|fiu-vro\|fj\|fo\|fr\|frp\|fur\|fy\|ga\|gd\|gil\|gl\|gn\|got\|gu\|gv\|ha\|haw\|he\|hi\|ho\|hr\|ht\|hu\|hy\|hz\|ia\|id\|ie\|ig\|ii\|ik\|ilo\|io\|is\|it\|iu\|ja\|jbo\|jv\|ka\|kg\|ki\|kj\|kk\|kl\|km\|kn\|khw\|ko\|kr\|ks\|ksh\|ku\|kv\|kw\|ky\|la\|lad\|lan\|lb\|lg\|li\|lij\|lmo\|ln\|lo\|lt\|lv\|map-bms\|mg\|mh\|mi\|mk\|ml\|mn\|mo\|mr\|ms\|mt\|mus\|my\|na\|nah\|nap\|nd\|nds\|nds-nl\|ne\|new\|ng\|nl\|nn\|no\|nr\|nso\|nrm\|nv\|ny\|oc\|oj\|om\|or\|os\|pa\|pag\|pam\|pap\|pdc\|pi\|pih\|pl\|pms\|ps\|pt\|qu\|rm\|rmy\|rn\|ro\|roa-rup\|ru\|rw\|sa\|sc\|scn\|sco\|sd\|se\|sg\|sh\|si\|simple\|sk\|sl\|sm\|sn\|so\|sq\|sr\|ss\|st\|su\|sv\|sw\|ta\|te\|tet\|tg\|th\|ti\|tk\|tl\|tlh\|tn\|to\|tpi\|tr\|ts\|tt\|tum\|tw\|ty\|udm\|ug\|uk\|ur\|uz\|ve\|vi\|vec\|vls\|vo\|wa\|war\|wo\|xal\|xh\|yi\|yo\|za\|zh\|zh-min-nan\|zh-yue\|zu\)\>/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentLanguage redifError
|
||||
highlight def link redifCorrectLanguage redifSpecial
|
||||
@@ -743,22 +771,22 @@ highlight def link redifCorrectLanguage redifSpecial
|
||||
" Length
|
||||
" Based on the example in the documentation. But apparently any field is
|
||||
" possible
|
||||
syntax match redifArgumentLength /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodLength contained display
|
||||
syntax region redifArgumentLength start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=redifGoodLength contained
|
||||
syntax match redifGoodLength /1 page\|[1-9]\d*\%( pages\)\=/ contained display
|
||||
|
||||
highlight def link redifGoodLength redifSpecial
|
||||
|
||||
" Publication-Type
|
||||
syntax match redifArgumentPublicationType /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectPublicationType contained display
|
||||
syntax match redifCorrectPublicationType /\<\(journal article\|book\|book chapter\|working paper\|conference paper\|report\|other\)\>/ contained display
|
||||
syntax match redifCorrectPublicationType /\<\(journal article\|book\|book chapter\|working paper\|conference paper\|report\|other\)\>/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentPublicationType redifError
|
||||
highlight def link redifCorrectPublicationType redifSpecial
|
||||
|
||||
" Publication-Status
|
||||
syntax match redifArgumentPublicationStatus /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectPublicationStatus contained display
|
||||
syntax match redifCorrectPublicationStatus /\<\%(published\|forthcoming\)\>.*/ contains=redifSpecialPublicationStatus contained display
|
||||
syntax match redifSpecialPublicationStatus /published\|forthcoming/ contained display
|
||||
syntax region redifArgumentPublicationStatus start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=redifSpecialPublicationStatus contained
|
||||
syntax match redifSpecialPublicationStatus /published\|forthcoming/ nextgroup=redifCorrectPublicationStatus contained display
|
||||
syntax region redifCorrectPublicationStatus start=/./ end=/^\S\{-}:/me=s-1 contained
|
||||
|
||||
highlight def link redifArgumentPublicationStatus redifError
|
||||
highlight def link redifSpecialPublicationStatus redifSpecial
|
||||
@@ -770,18 +798,17 @@ syntax match redifGoodMonth /\<\(Jan\%(uary\)\=\|Feb\%(ruary\)\=\|Mar\%(ch\)\=\|
|
||||
|
||||
highlight def link redifGoodMonth redifSpecial
|
||||
|
||||
" Integers: Number, Volume, Chapter
|
||||
syntax match redifArgumentNumber /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectInteger contained display
|
||||
" Integers: Volume, Chapter
|
||||
syntax match redifArgumentVolume /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectInteger contained display
|
||||
syntax match redifArgumentChapter /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectInteger contained display
|
||||
syntax match redifCorrectInteger /[1-9]\d*/ contained display
|
||||
syntax match redifCorrectInteger /[1-9]\d*/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentVolume redifError
|
||||
highlight def link redifArgumentChapter redifError
|
||||
|
||||
" Year
|
||||
syntax match redifArgumentYear /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectYear contained display
|
||||
syntax match redifCorrectYear /[1-9]\d\{3}/ contained display
|
||||
syntax match redifCorrectYear /[1-9]\d\{3}/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentYear redifError
|
||||
|
||||
@@ -806,14 +833,14 @@ highlight def link redifGoodISSN redifSpecial
|
||||
|
||||
" File-Size
|
||||
" Based on the example in the documentation.
|
||||
syntax match redifArgumentFileSize /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodSize contained display
|
||||
syntax region redifArgumentFileSize start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=redifGoodSize contained
|
||||
syntax match redifGoodSize /kb\|bytes/ contained display
|
||||
|
||||
highlight def link redifGoodSize redifSpecial
|
||||
|
||||
" Type
|
||||
syntax match redifArgumentType /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectType contained display
|
||||
syntax match redifCorrectType /ReDIF-Paper\|ReDIF-Software\|ReDIF-Article\|ReDIF-Chapter\|ReDIF-Book/ contained display
|
||||
syntax match redifCorrectType /ReDIF-Paper\|ReDIF-Software\|ReDIF-Article\|ReDIF-Chapter\|ReDIF-Book/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentType redifError
|
||||
highlight def link redifCorrectType redifSpecial
|
||||
@@ -825,7 +852,7 @@ syntax match redifArgumentLastLoginDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCor
|
||||
syntax match redifArgumentPublicationDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display
|
||||
syntax match redifArgumentRegisteredDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display
|
||||
syntax match redifArgumentRevisionDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display
|
||||
syntax match redifCorrectDate /[1-9]\d\{3}\%(-02\%(-[12]\d\|-0[1-9]\)\=\|-\%(0[469]\|11\)\%(-30\|-[12]\d\|-0[1-9]\)\=\|-\%(0[13578]\|1[02]\)\%(-3[01]\|-[12]\d\|-0[1-9]\)\=\)\=/ contained display
|
||||
syntax match redifCorrectDate /[1-9]\d\{3}\%(-02\%(-[12]\d\|-0[1-9]\)\=\|-\%(0[469]\|11\)\%(-30\|-[12]\d\|-0[1-9]\)\=\|-\%(0[13578]\|1[02]\)\%(-3[01]\|-[12]\d\|-0[1-9]\)\=\)\=/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentCreationDate redifError
|
||||
highlight def link redifArgumentLastLoginDate redifError
|
||||
@@ -835,7 +862,7 @@ highlight def link redifArgumentRevisionDate redifError
|
||||
|
||||
" Classification-JEL
|
||||
syntax match redifArgumentClassificationJEL /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectJEL contained display
|
||||
syntax match redifCorrectJEL /\<\u\d\{,2}\%([,; \t]\s*\)\=/ contains=redifSpecialJEL contained display
|
||||
syntax match redifCorrectJEL /\<\%(\u\d\{,2}[,; \t]\s*\)*\u\d\{,2}/ contains=redifSpecialJEL nextgroup=redifWrongLineEnding contained display
|
||||
syntax match redifSpecialJEL /\<\u\d\{,2}/ contained display
|
||||
|
||||
highlight def link redifArgumentClassificationJEL redifError
|
||||
@@ -843,7 +870,7 @@ highlight def link redifSpecialJEL redifSpecial
|
||||
|
||||
" Pages
|
||||
syntax match redifArgumentPages /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectPages contained display
|
||||
syntax match redifCorrectPages /[1-9]\d*-[1-9]\d*/ contained display
|
||||
syntax match redifCorrectPages /[1-9]\d*-[1-9]\d*/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentPages redifError
|
||||
|
||||
@@ -855,7 +882,7 @@ highlight def link redifArgumentNameASCII redifError
|
||||
|
||||
" Programming-Language
|
||||
syntax match redifArgumentProgrammingLanguage /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodProgrammingLanguage contained display
|
||||
syntax match redifGoodProgrammingLanguage /\<c++\|\<\%(c\|dos executable\|executable\|fortran\|gauss\|gretl\|java\|mathematica\|matlab\|octave\|ox\|perl\|python\|rats\|r\|shazam\|s-plus\|stata\|tsp international\)\>/ contained display
|
||||
syntax match redifGoodProgrammingLanguage /\<c++\|\<\%(c\|dos executable\|executable\|fortran\|gauss\|gretl\|java\|mathematica\|matlab\|octave\|ox\|perl\|python\|rats\|r\|shazam\|s-plus\|stata\|tsp international\)\>/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifGoodProgrammingLanguage redifSpecial
|
||||
|
||||
@@ -864,29 +891,82 @@ highlight def link redifGoodProgrammingLanguage redifSpecial
|
||||
" ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/media-types
|
||||
" These are based on the examples in the documentation.
|
||||
syntax match redifArgumentFileFormat /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodFormat contained display
|
||||
syntax match redifGoodFormat /application\/pdf\|application\/postscript\|text\/html\|text\/plain/ contained display
|
||||
syntax match redifGoodFormat "\a\+/[[:alpha:]+-]\+" nextgroup=redifWrongLineEnding contains=redifSpecialFormat contained display
|
||||
syntax match redifSpecialFormat "application/atom+xml\|application/ecmascript\|application/EDI-X12\|application/EDIFACT\|application/json\|application/javascript\|application/octet-stream\|application/ogg\|application/pdf\|application/postscript\|application/rdf+xml\|application/rss+xml\|application/soap+xml\|application/font-woff\|application/xhtml+xml\|application/xml\|application/xml-dtd\|application/xop+xml\|application/zip\|application/gzip\|audio/basic\|audio/L24\|audio/mp4\|audio/mpeg\|audio/ogg\|audio/vorbis\|audio/vnd.rn-realaudio\|audio/vnd.wave\|audio/webm\|image/gif\|image/jpeg\|image/pjpeg\|image/png\|image/svg+xml\|image/tiff\|image/vnd.microsoft.icon\|message/http\|message/imdn+xml\|message/partial\|message/rfc822\|model/example\|model/iges\|model/mesh\|model/vrml\|model/x3d+binary\|model/x3d+vrml\|model/x3d+xml\|multipart/mixed\|multipart/alternative\|multipart/related\|multipart/form-data\|multipart/signed\|multipart/encrypted\|text/cmd\|text/css\|text/csv\|text/html\|text/javascript\|text/plain\|text/vcard\|text/xml\|video/mpeg\|video/mp4\|video/ogg\|video/quicktime\|video/webm\|video/x-matroska\|video/x-ms-wmv\|video/x-flv" contained display
|
||||
|
||||
highlight def link redifGoodFormat redifSpecial
|
||||
highlight def link redifSpecialFormat redifSpecial
|
||||
highlight def link redifArgumentFileFormat redifError
|
||||
|
||||
" Spell-checked arguments
|
||||
" Keywords
|
||||
" Spell checked
|
||||
syntax match redifArgumentKeywords /\%(^\S\{-}:\)\@!\S.*/ contains=@Spell,redifKeywordsSemicolon contained
|
||||
syntax match redifKeywordsSemicolon /;/ contained
|
||||
|
||||
highlight def link redifKeywordsSemicolon redifSpecial
|
||||
|
||||
" Other spell-checked arguments
|
||||
" Very useful when copy-pasting abstracts that may contain hyphens or
|
||||
" ligatures.
|
||||
syntax region redifArgumentAbstract start=/\%(^\S\{-}:\)\@!\S.*/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentAvailability start=/\%(^\S\{-}:\)\@!\S.*/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentBookTitle start=/\%(^\S\{-}:\)\@!\S.*/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentDescription start=/\%(^\S\{-}:\)\@!\S.*/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentFileRestriction start=/\%(^\S\{-}:\)\@!\S.*/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentKeywords start=/\%(^\S\{-}:\)\@!\S.*/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentNote start=/\%(^\S\{-}:\)\@!\S.*/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentNotification start=/\%(^\S\{-}:\)\@!\S.*/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentRestriction start=/\%(^\S\{-}:\)\@!\S.*/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentTitle start=/\%(^\S\{-}:\)\@!\S.*/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentAbstract start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentAvailability start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentBookTitle start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentDescription start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentFileRestriction start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentNote start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentNotification start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentRestriction start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentTitle start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
|
||||
" Wrong line ending
|
||||
syntax match redifWrongLineEnding /.\+/ contained display
|
||||
|
||||
highlight def link redifWrongLineEnding redifError
|
||||
|
||||
" Final highlight
|
||||
highlight def link redifComment Comment
|
||||
highlight def link redifError Error
|
||||
highlight def link redifField Identifier
|
||||
highlight def link redifFieldDeprecated Identifier
|
||||
highlight def link redifSpecial Special
|
||||
" For deprecated fields:
|
||||
highlight redifFieldDeprecated term=undercurl cterm=undercurl gui=undercurl guisp=DarkGrey
|
||||
|
||||
" Sync: The template-type (ReDIF-Paper, ReDIF-Archive, etc.) influences which
|
||||
" fields can follow. Thus sync must search backwards for it.
|
||||
"
|
||||
" I would like to simply ask VIM to search backward for the first occurence of
|
||||
" /^Template-Type:/, but it does not seem to be possible, so I have to start
|
||||
" from the beginning of the file... This might slow down a lot for files that
|
||||
" contain a lot of Template-Type statements.
|
||||
syntax sync fromstart
|
||||
|
||||
" The problem with syntax sync match (tried below), it is that, for example,
|
||||
" it cannot realize when it is inside a Author-Name cluster, which is inside a
|
||||
" Template-Type template...
|
||||
"
|
||||
" TODO Is this linecont pattern really useful? It seems to work anyway...
|
||||
"syntax sync linecont /^\(Template-Type:\)\=\s*$/
|
||||
" TODO This sync is surprising... It seems to work on several lines even
|
||||
" though I replaced \_s* by \s*, even without the linecont pattern...
|
||||
"syntax sync match redifSyncForTemplatePaper groupthere redifRegionTemplatePaper /^Template-Type:\s*ReDIF-Paper \d\+\.\d\+/
|
||||
"syntax sync match redifSyncForTemplateArticle groupthere redifRegionTemplateArticle /^Template-Type:\s*ReDIF-Article \d\+\.\d\+/
|
||||
"syntax sync match redifSyncForTemplateChapter groupthere redifRegionTemplateChapter /^Template-Type:\s*ReDIF-Chapter \d\+\.\d\+/
|
||||
"syntax sync match redifSyncForTemplateBook groupthere redifRegionTemplateBook /^Template-Type:\s*ReDIF-Book \d\+\.\d\+/
|
||||
"syntax sync match redifSyncForTemplateSoftware groupthere redifRegionTemplateSoftware /^Template-Type:\s*ReDIF-Software \d\+\.\d\+/
|
||||
"syntax sync match redifSyncForTemplateArchive groupthere redifRegionTemplateArchive /^Template-Type:\s*ReDIF-Archive \d\+\.\d\+/
|
||||
"syntax sync match redifSyncForTemplateSeries groupthere redifRegionTemplateSeries /^Template-Type:\s*ReDIF-Series \d\+\.\d\+/
|
||||
"syntax sync match redifSyncForTemplateInstitution groupthere redifRegionTemplateInstitution /^Template-Type:\s*ReDIF-Institution \d\+\.\d\+/
|
||||
"syntax sync match redifSyncForTemplatePerson groupthere redifRegionTemplatePerson /^Template-Type:\s*ReDIF-Person \d\+\.\d\+/
|
||||
|
||||
" I do not really know how sync linebreaks works, but it helps when making
|
||||
" changes on the argument when this argument is not on the same line than its
|
||||
" field. I just assume that people won't leave more than one line of
|
||||
" whitespace between fields and arguments (which is already very unlikely)
|
||||
" hence the value of 2.
|
||||
syntax sync linebreaks=2
|
||||
|
||||
" Since folding is defined by the syntax, set foldmethod to syntax.
|
||||
set foldmethod=syntax
|
||||
|
||||
" Set "b:current_syntax" to the name of the syntax at the end:
|
||||
let b:current_syntax="redif"
|
||||
@@ -1,10 +1,13 @@
|
||||
" Vim syntax file
|
||||
" Language: resolver configuration file
|
||||
" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
|
||||
" Original Maintaner: Radu Dineiu <littledragon@altern.org>
|
||||
" License: This file can be redistributed and/or modified under the same terms
|
||||
" as Vim itself.
|
||||
" Last Change: 2012-05-24
|
||||
" Maintainer: Radu Dineiu <radu.dineiu@gmail.com>
|
||||
" URL: https://raw.github.com/rid9/vim-resolv/master/resolv.vim
|
||||
" Last Change: 2013 May 21
|
||||
" Version: 1.0
|
||||
"
|
||||
" Credits:
|
||||
" David Necas (Yeti) <yeti@physics.muni.cz>
|
||||
" Stefano Zacchiroli <zack@debian.org>
|
||||
|
||||
if version < 600
|
||||
syntax clear
|
||||
@@ -14,18 +17,18 @@ endif
|
||||
|
||||
" Errors, comments and operators
|
||||
syn match resolvError /./
|
||||
syn match resolvComment /\s*[#;].*$/ contains=@Spell
|
||||
syn match resolvOperator /[/:]/ contained
|
||||
syn match resolvComment /\s*[#;].*$/
|
||||
syn match resolvOperator /[\/:]/ contained
|
||||
|
||||
" IP
|
||||
syn cluster resolvIPCluster contains=resolvIPError,resolvIPSpecial
|
||||
syn match resolvIPError /\%(\d\{4,}\|25[6-9]\|2[6-9]\d\|[3-9]\d\{2}\)[.0-9]*/ contained
|
||||
syn match resolvIPError /\%(\d\{4,}\|25[6-9]\|2[6-9]\d\|[3-9]\d\{2}\)[\.0-9]*/ contained
|
||||
syn match resolvIPSpecial /\%(127\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\)/ contained
|
||||
|
||||
" General
|
||||
syn match resolvIP contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}/ contains=@resolvIPCluster
|
||||
syn match resolvIPNetmask contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\%(\%(\d\{1,4}\.\)\{,3}\d\{1,4}\)\)\?/ contains=resolvOperator,@resolvIPCluster
|
||||
syn match resolvHostname contained /\w\{-}\.[-0-9A-Za-z_.]*/
|
||||
syn match resolvHostname contained /\w\{-}\.[-0-9A-Za-z_\.]*/
|
||||
|
||||
" Particular
|
||||
syn match resolvIPNameserver contained /\%(\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\s\|$\)\)\+/ contains=@resolvIPCluster
|
||||
@@ -41,8 +44,6 @@ syn match resolvSortList /^\s*sortlist\>/ nextgroup=resolvIPNetmaskSortList skip
|
||||
syn match resolvOptions /^\s*options\>/ nextgroup=resolvOption skipwhite
|
||||
|
||||
" Options
|
||||
" FIXME: The manual page and the source code do not exactly agree on the set
|
||||
" of allowed options
|
||||
syn match resolvOption /\<\%(debug\|no_tld_query\|rotate\|no-check-names\|inet6\)\>/ contained nextgroup=resolvOption skipwhite
|
||||
syn match resolvOption /\<\%(ndots\|timeout\|attempts\):\d\+\>/ contained contains=resolvOperator nextgroup=resolvOption skipwhite
|
||||
|
||||
|
||||
25
runtime/syntax/rng.vim
Normal file
25
runtime/syntax/rng.vim
Normal file
@@ -0,0 +1,25 @@
|
||||
" Vim syntax file
|
||||
" Language: RELAX NG
|
||||
" Maintainer: Jaromir Hradilek <jhradilek@gmail.com>
|
||||
" URL: https://github.com/jhradilek/vim-rng
|
||||
" Last Change: 25 March 2013
|
||||
" Description: A syntax file for RELAX NG, a schema language for XML
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
do Syntax xml
|
||||
syn spell toplevel
|
||||
syn cluster xmlTagHook add=rngTagName
|
||||
syn case match
|
||||
|
||||
syn keyword rngTagName anyName attribute choice data define div contained
|
||||
syn keyword rngTagName element empty except externalRef grammar contained
|
||||
syn keyword rngTagName group include interleave list mixed name contained
|
||||
syn keyword rngTagName notAllowed nsName oneOrMore optional param contained
|
||||
syn keyword rngTagName parentRef ref start text value zeroOrMore contained
|
||||
|
||||
hi def link rngTagName Statement
|
||||
|
||||
let b:current_syntax = 'rng'
|
||||
@@ -1,8 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: SGML-linuxdoc (supported by old sgmltools-1.x)
|
||||
" (for more information, visit www.sgmltools.org)
|
||||
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
||||
" Last Change: 2008 Sep 17
|
||||
" Last Change: 2013 May 13
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -29,7 +28,7 @@ syn region sgmllnxSpecial oneline start="&" end=";"
|
||||
syn keyword sgmllnxTagName contained article author date toc title sect verb
|
||||
syn keyword sgmllnxTagName contained abstract tscreen p itemize item enum
|
||||
syn keyword sgmllnxTagName contained descrip quote htmlurl code ref
|
||||
syn keyword sgmllnxTagName contained tt tag bf
|
||||
syn keyword sgmllnxTagName contained tt tag bf it url
|
||||
syn match sgmllnxTagName contained "sect\d\+"
|
||||
|
||||
" Comments
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" SiSU Vim syntax file
|
||||
" SiSU Maintainer: Ralph Amissah <ralph@amissah.com>
|
||||
" SiSU Markup: SiSU (sisu-3.1.0)
|
||||
" Last Change: 2011-10-03
|
||||
" URL: <http://git.sisudoc.org/?p=code/sisu.git;a=blob;f=data/sisu/v3/conf/editor-syntax-etc/vim/syntax/sisu.vim;hb=HEAD>
|
||||
" SiSU Markup: SiSU (sisu-4.0.9)
|
||||
" Last Change: 2013-02-22
|
||||
" URL (sisu-4.1.0): <http://git.sisudoc.org/?p=code/sisu.git;a=blob;f=data/sisu/conf/editor-syntax-etc/vim/syntax/sisu.vim;hb=HEAD>
|
||||
"(originally looked at Ruby Vim by Mirko Nasato)
|
||||
|
||||
if version < 600
|
||||
@@ -20,14 +20,9 @@ syn match sisu_error contains=sisu_link,sisu_error_wspace "<![^ei]\S\+!>"
|
||||
"% "Markers Identifiers:
|
||||
if !exists("sisu_no_identifiers")
|
||||
syn match sisu_mark_endnote "\~^"
|
||||
syn match sisu_break contains=@NoSpell " \\\\\( \|$\)"
|
||||
syn match sisu_break contains=@NoSpell "<br>\|<br />"
|
||||
syn match sisu_control contains=@NoSpell "^<:p[bn]>\s*$"
|
||||
"syn match sisu_control contains=@NoSpell "^<\(br\)\?:\(pg\|pgn\|pn\)>\s*$"
|
||||
"syn match sisu_control contains=@NoSpell "^\[\(br\)\?:\(pg\|pgn\|pn\)\]\s*$"
|
||||
syn match sisu_break contains=@NoSpell " \\\\\( \|$\)\|<br>\|<br />"
|
||||
syn match sisu_control contains=@NoSpell "^\(-\\\\-\|=\\\\=\|-\.\.-\|<:p[bn]>\)\s*$"
|
||||
syn match sisu_control contains=@NoSpell "^<:\(bo\|---\)>\s*$"
|
||||
"syn match sisu_control contains=@NoSpell "^<\(br\)\?:\(pr\|o\)>\s*$"
|
||||
"syn match sisu_control contains=@NoSpell "^\[\(br\)\?:\(pr\|o\)\]\s*$"
|
||||
syn match sisu_marktail "[~-]#"
|
||||
syn match sisu_control "\""
|
||||
syn match sisu_underline "\(^\| \)_[a-zA-Z0-9]\+_\([ .,]\|$\)"
|
||||
@@ -43,11 +38,12 @@ if !exists("sisu_no_identifiers")
|
||||
syn match sisu_sub_header_title "^\s\+:\(subtitle\|short\|edition\|language\|lang_char\|note\):\s" "group=sisu_header_content
|
||||
syn match sisu_sub_header_creator "^\s\+:\(author\|editor\|contributor\|illustrator\|photographer\|translator\|digitized_by\|prepared_by\|audio\|video\):\s" " &hon &institution
|
||||
syn match sisu_sub_header_rights "^\s\+:\(copyright\|text\|translation\|illustrations\|photographs\|preparation\|digitization\|audio\|video\|license\|all\):\s" " access_rights license
|
||||
syn match sisu_sub_header_classify "^\s\+:\(topic_register\|coverage\|format\|identifier\|keywords\|relation\|subject\|type\|dewey\|loc\|oclc\|pg\|isbn\):\s"
|
||||
syn match sisu_sub_header_date "^\s\+:\(added_to_site\|available\|created\|issued\|modified\|published\|valid\|translated\|original_publication\):\s"
|
||||
syn match sisu_sub_header_classify "^\s\+:\(topic_register\|keywords\|subject\|dewey\|loc\):\s"
|
||||
syn match sisu_sub_header_identifier "^\s\+:\(oclc\|isbn\):\s"
|
||||
syn match sisu_sub_header_date "^\s\+:\(added_to_site\|available\|created\|issued\|modified\|published\|valid\|translated\|original_publication\):\s"
|
||||
syn match sisu_sub_header_original "^\s\+:\(publisher\|date\|language\|lang_char\|institution\|nationality\|source\):\s"
|
||||
syn match sisu_sub_header_make "^\s\+:\(headings\|num_top\|breaks\|language\|italics\|bold\|emphasis\|plaintext_wrap\|texpdf_font_mono\|texpdf_font\|skin\|stamp\|promo\|ad\|manpage\):\s"
|
||||
syn match sisu_sub_header_notes "^\s\+:\(abstract\|comment\|description\|history\|prefix\|prefix_[ab]\|suffix\):\s"
|
||||
syn match sisu_sub_header_make "^\s\+:\(headings\|num_top\|breaks\|language\|italics\|bold\|emphasis\|substitute\|omit\|plaintext_wrap\|texpdf_font_mono\|texpdf_font\|stamp\|promo\|ad\|manpage\|home_button_text\|home_button_image\|cover_image\|footer\):\s"
|
||||
syn match sisu_sub_header_notes "^\s\+:\(description\|abstract\|comment\|coverage\|relation\|source\|history\|type\|format\|prefix\|prefix_[ab]\|suffix\):\s"
|
||||
|
||||
"% "semantic markers: (ignore)
|
||||
syn match sisu_sem_marker ";{\|};[a-z._]*[a-z]"
|
||||
@@ -85,6 +81,8 @@ syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_
|
||||
syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_rights matchgroup=sisu_header start="^[@]rights:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
|
||||
" classify document
|
||||
syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_classify matchgroup=sisu_header start="^[@]classify:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
|
||||
" identifier document
|
||||
syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_identifier matchgroup=sisu_header start="^[@]identifier:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
|
||||
" original language (depreciated)
|
||||
syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_original matchgroup=sisu_header start="^[@]original:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
|
||||
" notes
|
||||
@@ -219,6 +217,7 @@ hi def link sisu_sub_header_date Statement
|
||||
hi def link sisu_sub_header_publisher Statement
|
||||
hi def link sisu_sub_header_rights Statement
|
||||
hi def link sisu_sub_header_classify Statement
|
||||
hi def link sisu_sub_header_identifier Statement
|
||||
hi def link sisu_sub_header_original Statement
|
||||
hi def link sisu_sub_header_links Statement
|
||||
hi def link sisu_sub_header_notes Statement
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
|
||||
" Vim syntax file
|
||||
" Language: SQL, Adaptive Server Anywhere
|
||||
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
||||
" Last Change: 2012 Jan 23
|
||||
" Version: 12.0.1
|
||||
" Last Change: 2013 May 13
|
||||
" Version: 16.0.0
|
||||
|
||||
" Description: Updated to Adaptive Server Anywhere 12.0.1 (including spatial data)
|
||||
" Description: Updated to Adaptive Server Anywhere 16.0.0
|
||||
" Updated to Adaptive Server Anywhere 12.0.1 (including spatial data)
|
||||
" Updated to Adaptive Server Anywhere 11.0.1
|
||||
" Updated to Adaptive Server Anywhere 10.0.1
|
||||
" Updated to Adaptive Server Anywhere 9.0.2
|
||||
@@ -27,33 +27,34 @@ syn case ignore
|
||||
syn keyword sqlSpecial false null true
|
||||
|
||||
" common functions
|
||||
syn keyword sqlFunction count sum avg min max debug_eng isnull
|
||||
syn keyword sqlFunction greater lesser argn string ymd todate
|
||||
syn keyword sqlFunction totimestamp date today now utc_now
|
||||
syn keyword sqlFunction number identity years months weeks days
|
||||
syn keyword sqlFunction hours minutes seconds second minute hour
|
||||
syn keyword sqlFunction day month year dow date_format substr
|
||||
syn keyword sqlFunction substring byte_substr length byte_length
|
||||
syn keyword sqlFunction datalength ifnull evaluate list
|
||||
syn keyword sqlFunction soundex similar difference like_start
|
||||
syn keyword sqlFunction like_end regexp_compile
|
||||
syn keyword sqlFunction regexp_compile_patindex remainder abs
|
||||
syn keyword sqlFunction graphical_plan plan explanation ulplan
|
||||
syn keyword sqlFunction graphical_ulplan long_ulplan
|
||||
syn keyword sqlFunction short_ulplan rewrite watcomsql
|
||||
syn keyword sqlFunction transactsql dialect estimate
|
||||
syn keyword sqlFunction estimate_source index_estimate
|
||||
syn keyword sqlFunction experience_estimate traceback wsql_state
|
||||
syn keyword sqlFunction lang_message dateadd datediff datepart
|
||||
syn keyword sqlFunction datename dayname monthname quarter
|
||||
syn keyword sqlFunction tsequal hextoint inttohex rand textptr
|
||||
syn keyword sqlFunction rowid grouping stddev variance rank
|
||||
syn keyword sqlFunction dense_rank density percent_rank user_name
|
||||
syn keyword sqlFunction user_id str stuff char_length nullif
|
||||
syn keyword sqlFunction sortkey compare ts_index_statistics
|
||||
syn keyword sqlFunction ts_table_statistics isdate isnumeric
|
||||
syn keyword sqlFunction get_identity lookup newid uuidtostr
|
||||
syn keyword sqlFunction strtouuid varexists
|
||||
syn keyword sqlFunction abs argn avg bintohex bintostr
|
||||
syn keyword sqlFunction byte_length byte_substr char_length
|
||||
syn keyword sqlFunction compare count count_big datalength date
|
||||
syn keyword sqlFunction date_format dateadd datediff datename
|
||||
syn keyword sqlFunction datepart day dayname days debug_eng
|
||||
syn keyword sqlFunction dense_rank density dialect difference
|
||||
syn keyword sqlFunction dow estimate estimate_source evaluate
|
||||
syn keyword sqlFunction experience_estimate explanation
|
||||
syn keyword sqlFunction get_identity graphical_plan
|
||||
syn keyword sqlFunction graphical_ulplan greater grouping
|
||||
syn keyword sqlFunction hextobin hextoint hour hours identity
|
||||
syn keyword sqlFunction ifnull index_estimate inttohex isdate
|
||||
syn keyword sqlFunction isencrypted isnull isnumeric
|
||||
syn keyword sqlFunction lang_message length lesser like_end
|
||||
syn keyword sqlFunction like_start list long_ulplan lookup max
|
||||
syn keyword sqlFunction min minute minutes month monthname
|
||||
syn keyword sqlFunction months newid now nullif number
|
||||
syn keyword sqlFunction percent_rank plan quarter rand rank
|
||||
syn keyword sqlFunction regexp_compile regexp_compile_patindex
|
||||
syn keyword sqlFunction remainder rewrite rowid second seconds
|
||||
syn keyword sqlFunction short_ulplan similar sortkey soundex
|
||||
syn keyword sqlFunction stddev stack_trace str string strtobin strtouuid stuff
|
||||
syn keyword sqlFunction subpartition substr substring sum switchoffset sysdatetimeoffset
|
||||
syn keyword sqlFunction textptr todate todatetimeoffset today totimestamp traceback transactsql
|
||||
syn keyword sqlFunction ts_index_statistics ts_table_statistics
|
||||
syn keyword sqlFunction tsequal ulplan user_id user_name utc_now
|
||||
syn keyword sqlFunction uuidtostr varexists variance watcomsql
|
||||
syn keyword sqlFunction weeks wsql_state year years ymd
|
||||
|
||||
" 9.0.1 functions
|
||||
syn keyword sqlFunction acos asin atan atn2 cast ceiling convert cos cot
|
||||
@@ -473,31 +474,36 @@ syn keyword sqlFunction ST_ToPoint
|
||||
syn keyword sqlFunction ST_ToPolygon
|
||||
syn keyword sqlFunction ST_ToSurface
|
||||
|
||||
" Array functions 16.x
|
||||
syn keyword sqlFunction array array_agg array_max_cardinality trim_array
|
||||
syn keyword sqlFunction error_line error_message error_procedure
|
||||
syn keyword sqlFunction error_sqlcode error_sqlstate error_stack_trace
|
||||
|
||||
|
||||
" keywords
|
||||
syn keyword sqlKeyword absolute accent action active add address admin aes_decrypt
|
||||
syn keyword sqlKeyword after aggregate algorithm allow_dup_row allow allowed alter
|
||||
syn keyword sqlKeyword and angular ansi_substring any as append apply
|
||||
syn keyword sqlKeyword arbiter asc ascii ase
|
||||
syn keyword sqlKeyword assign at atan2 atomic attended
|
||||
syn keyword sqlKeyword audit auditing authorization axis
|
||||
syn keyword sqlKeyword absolute accent access account action active activate add address admin
|
||||
syn keyword sqlKeyword aes_decrypt after aggregate algorithm allow_dup_row allow allowed alter
|
||||
syn keyword sqlKeyword always and angular ansi_substring any as append apply
|
||||
syn keyword sqlKeyword arbiter array asc ascii ase
|
||||
syn keyword sqlKeyword assign at atan2 atomic attended
|
||||
syn keyword sqlKeyword audit auditing authentication authorization axis
|
||||
syn keyword sqlKeyword autoincrement autostop batch bcp before
|
||||
syn keyword sqlKeyword between bit_and bit_length bit_or bit_substr bit_xor
|
||||
syn keyword sqlKeyword blank blanks block
|
||||
syn keyword sqlKeyword both bottom unbounded breaker bufferpool
|
||||
syn keyword sqlKeyword build bulk by byte bytes cache calibrate calibration
|
||||
syn keyword sqlKeyword cancel capability cascade cast
|
||||
syn keyword sqlKeyword catalog ceil change changes char char_convert check checksum
|
||||
syn keyword sqlKeyword class classes client cmp
|
||||
syn keyword sqlKeyword cancel capability cardinality cascade cast
|
||||
syn keyword sqlKeyword catalog catch ceil change changes char char_convert
|
||||
syn keyword sqlKeyword check checkpointlog checksum class classes client cmp
|
||||
syn keyword sqlKeyword cluster clustered collation
|
||||
syn keyword sqlKeyword column columns
|
||||
syn keyword sqlKeyword command comments committed comparisons
|
||||
syn keyword sqlKeyword command comments committed commitid comparisons
|
||||
syn keyword sqlKeyword compatible component compressed compute computes
|
||||
syn keyword sqlKeyword concat configuration confirm conflict connection
|
||||
syn keyword sqlKeyword console consolidate consolidated
|
||||
syn keyword sqlKeyword constraint constraints content
|
||||
syn keyword sqlKeyword constraint constraints content
|
||||
syn keyword sqlKeyword convert coordinate coordinator copy count count_set_bits
|
||||
syn keyword sqlKeyword crc createtime cross cube cume_dist
|
||||
syn keyword sqlKeyword crc createtime critical cross cube cume_dist
|
||||
syn keyword sqlKeyword current cursor data data database
|
||||
syn keyword sqlKeyword current_timestamp current_user cycle
|
||||
syn keyword sqlKeyword databases datatype dba dbfile
|
||||
@@ -506,83 +512,86 @@ syn keyword sqlKeyword decrypted default defaults default_dbspace deferred
|
||||
syn keyword sqlKeyword definer definition
|
||||
syn keyword sqlKeyword delay deleting delimited dependencies desc
|
||||
syn keyword sqlKeyword description deterministic directory
|
||||
syn keyword sqlKeyword disable disabled disallow distinct do domain download duplicate
|
||||
syn keyword sqlKeyword dsetpass dttm dynamic each earth editproc ejb
|
||||
syn keyword sqlKeyword elimination ellipsoid
|
||||
syn keyword sqlKeyword else elseif empty enable encapsulated encrypted end
|
||||
syn keyword sqlKeyword encoding endif engine environment erase error escape escapes event
|
||||
syn keyword sqlKeyword disable disabled disallow distinct disksandbox disk_sandbox
|
||||
syn keyword sqlKeyword dn do domain download duplicate
|
||||
syn keyword sqlKeyword dsetpass dttm dynamic each earth editproc effective ejb
|
||||
syn keyword sqlKeyword elimination ellipsoid else elseif
|
||||
syn keyword sqlKeyword email empty enable encapsulated encrypted encryption end
|
||||
syn keyword sqlKeyword encoding endif engine environment erase error errors escape escapes event
|
||||
syn keyword sqlKeyword event_parameter every exception exclude excluded exclusive exec
|
||||
syn keyword sqlKeyword existing exists expanded expiry express exprtype extended_property
|
||||
syn keyword sqlKeyword external externlogin factor failover false
|
||||
syn keyword sqlKeyword fastfirstrow feature fieldproc file files filler
|
||||
syn keyword sqlKeyword fillfactor final finish first first_keyword first_value
|
||||
syn keyword sqlKeyword flattening
|
||||
syn keyword sqlKeyword following force foreign format forxml forxml_sep fp frame
|
||||
syn keyword sqlKeyword free freepage french fresh full function
|
||||
syn keyword sqlKeyword following force foreign format forjson forxml forxml_sep fp frame
|
||||
syn keyword sqlKeyword free freepage french fresh full function
|
||||
syn keyword sqlKeyword gb generic get_bit go global grid
|
||||
syn keyword sqlKeyword group handler hash having header hexadecimal
|
||||
syn keyword sqlKeyword hidden high history hg hng hold holdlock host
|
||||
syn keyword sqlKeyword hours http_body http_session_timeout id identified identity ignore
|
||||
syn keyword sqlKeyword ignore_dup_key ignore_dup_row immediate
|
||||
syn keyword sqlKeyword in inactiv inactive inactivity included increment incremental
|
||||
syn keyword sqlKeyword index index_enabled index_lparen indexonly info
|
||||
syn keyword sqlKeyword inline inner inout insensitive inserting
|
||||
syn keyword sqlKeyword instead integrated
|
||||
syn keyword sqlKeyword internal intersection into introduced inverse invoker
|
||||
syn keyword sqlKeyword index index_enabled index_lparen indexonly info information
|
||||
syn keyword sqlKeyword inheritance inline inner inout insensitive inserting
|
||||
syn keyword sqlKeyword instead
|
||||
syn keyword sqlKeyword internal intersection into introduced inverse invoker
|
||||
syn keyword sqlKeyword iq is isolation
|
||||
syn keyword sqlKeyword jar java java_location java_main_userid java_vm_options
|
||||
syn keyword sqlKeyword jconnect jdk join kb key keep kerberos language last
|
||||
syn keyword sqlKeyword jconnect jdk join json kb key keys keep language last
|
||||
syn keyword sqlKeyword last_keyword last_value lateral latitude
|
||||
syn keyword sqlKeyword ld left len linear lf ln level like
|
||||
syn keyword sqlKeyword limit local location log
|
||||
syn keyword sqlKeyword ld ldap left len linear lf ln level like
|
||||
syn keyword sqlKeyword limit local location log
|
||||
syn keyword sqlKeyword logging logical login logscan long longitude low lru ls
|
||||
syn keyword sqlKeyword main major manual mark
|
||||
syn keyword sqlKeyword match matched materialized max maxvalue maximum mb measure membership
|
||||
syn keyword sqlKeyword merge metadata methods minimum minor minutes minvalue mirror
|
||||
syn keyword sqlKeyword mode modify monitor move mru multiplex
|
||||
syn keyword sqlKeyword name named namespaces national native natural new next nextval
|
||||
syn keyword sqlKeyword main major manage manual mark master
|
||||
syn keyword sqlKeyword match matched materialized max maxvalue maximum mb measure median membership
|
||||
syn keyword sqlKeyword merge metadata methods migrate minimum minor minutes minvalue mirror
|
||||
syn keyword sqlKeyword mode modify monitor move mru multiplex
|
||||
syn keyword sqlKeyword name named namespaces national native natural new next nextval
|
||||
syn keyword sqlKeyword ngram no noholdlock nolock nonclustered none normal not
|
||||
syn keyword sqlKeyword notify null nullable_constant nulls
|
||||
syn keyword sqlKeyword object oem_string of off offline offset olap
|
||||
syn keyword sqlKeyword notify null nullable_constant nulls
|
||||
syn keyword sqlKeyword object objects oem_string of off offline offset olap
|
||||
syn keyword sqlKeyword old on online only openstring operator
|
||||
syn keyword sqlKeyword optimization optimizer option
|
||||
syn keyword sqlKeyword or order organization others out outer over
|
||||
syn keyword sqlKeyword or order ordinality organization others out outer over owner
|
||||
syn keyword sqlKeyword package packetsize padding page pages
|
||||
syn keyword sqlKeyword paglock parallel parameter parent part
|
||||
syn keyword sqlKeyword partition partitions partner password path pctfree
|
||||
syn keyword sqlKeyword perms plan planar policy polygon populate port postfilter preceding
|
||||
syn keyword sqlKeyword paglock parallel parameter parent part partial
|
||||
syn keyword sqlKeyword partition partitions partner password path pctfree
|
||||
syn keyword sqlKeyword permissions perms plan planar policy polygon populate port postfilter preceding
|
||||
syn keyword sqlKeyword precisionprefetch prefilter prefix preserve preview previous
|
||||
syn keyword sqlKeyword primary prior priority priqty private privileges procedure profile
|
||||
syn keyword sqlKeyword primary prior priority priqty private privilege privileges procedure profile profiling
|
||||
syn keyword sqlKeyword property_is_cumulative property_is_numeric public publication publish publisher
|
||||
syn keyword sqlKeyword quiesce quote quotes range readclientfile readcommitted reader readfile readonly
|
||||
syn keyword sqlKeyword readpast readuncommitted readwrite rebuild
|
||||
syn keyword sqlKeyword received recompile recover recursive references
|
||||
syn keyword sqlKeyword referencing regex regexp regexp_substr relative relocate
|
||||
syn keyword sqlKeyword rename repeatable repeatableread replicate
|
||||
syn keyword sqlKeyword rename repeatable repeatableread replicate replication
|
||||
syn keyword sqlKeyword requests request_timeout required rereceive resend reserve reset
|
||||
syn keyword sqlKeyword resizing resolve resource respect restart
|
||||
syn keyword sqlKeyword restrict result retain
|
||||
syn keyword sqlKeyword returns reverse right role
|
||||
syn keyword sqlKeyword rollup root row row_number rowlock rows
|
||||
syn keyword sqlKeyword restrict result retain retries
|
||||
syn keyword sqlKeyword returns reverse right role roles
|
||||
syn keyword sqlKeyword rollup root row row_number rowlock rows rowtype
|
||||
syn keyword sqlKeyword sa_index_hash sa_internal_fk_verify sa_internal_termbreak
|
||||
syn keyword sqlKeyword sa_order_preserving_hash sa_order_preserving_hash_big sa_order_preserving_hash_prefix
|
||||
syn keyword sqlKeyword scale schedule schema scope scripted scroll seconds secqty security
|
||||
syn keyword sqlKeyword sa_file_free_pages sa_internal_type_from_catalog sa_internal_valid_hash
|
||||
syn keyword sqlKeyword sa_internal_validate_value sa_json_element
|
||||
syn keyword sqlKeyword scale schedule schema scope script scripted scroll search seconds secqty security
|
||||
syn keyword sqlKeyword semi send sensitive sent sequence serializable
|
||||
syn keyword sqlKeyword server server session set_bit set_bits sets
|
||||
syn keyword sqlKeyword server severity session set_bit set_bits sets
|
||||
syn keyword sqlKeyword shapefile share side simple since site size skip
|
||||
syn keyword sqlKeyword snap snapshot soapheader soap_header
|
||||
syn keyword sqlKeyword snap snapshot soapheader soap_header
|
||||
syn keyword sqlKeyword spatial split some sorted_data
|
||||
syn keyword sqlKeyword sql sqlcode sqlid sqlflagger sqlstate sqrt square
|
||||
syn keyword sqlKeyword stacker stale statement statistics status stddev_pop stddev_samp
|
||||
syn keyword sqlKeyword stacker stale state statement statistics status stddev_pop stddev_samp
|
||||
syn keyword sqlKeyword stemmer stogroup stoplist storage store
|
||||
syn keyword sqlKeyword strip stripesizekb striping subpages subscribe subscription
|
||||
syn keyword sqlKeyword subtransaction suser_id suser_name synchronization
|
||||
syn keyword sqlKeyword subtransaction suser_id suser_name suspend synchronization
|
||||
syn keyword sqlKeyword syntax_error table tables tablock
|
||||
syn keyword sqlKeyword tablockx tb temp template temporary term then ties
|
||||
syn keyword sqlKeyword timezone timeout to to_char to_nchar tolerance top
|
||||
syn keyword sqlKeyword traced_plan tracing
|
||||
syn keyword sqlKeyword transfer transform transaction transactional treat tries
|
||||
syn keyword sqlKeyword true tsequal type tune uncommitted unconditionally
|
||||
syn keyword sqlKeyword tablockx target tb temp template temporary term then ties
|
||||
syn keyword sqlKeyword timezone timeout tls to to_char to_nchar tolerance top
|
||||
syn keyword sqlKeyword trace traced_plan tracing
|
||||
syn keyword sqlKeyword transfer transform transaction transactional treat tries
|
||||
syn keyword sqlKeyword true try tsequal type tune uncommitted unconditionally
|
||||
syn keyword sqlKeyword unenforced unicode unique unistr unit unknown unlimited unload
|
||||
syn keyword sqlKeyword unpartition unquiesce updatetime updating updlock upgrade upload
|
||||
syn keyword sqlKeyword upper usage use user
|
||||
@@ -593,14 +602,14 @@ syn keyword sqlKeyword verify versions view virtual wait
|
||||
syn keyword sqlKeyword warning wd web when where with with_auto
|
||||
syn keyword sqlKeyword with_auto with_cube with_rollup without
|
||||
syn keyword sqlKeyword with_lparen within word work workload write writefile
|
||||
syn keyword sqlKeyword writeclientfile writer writers writeserver xlock
|
||||
syn keyword sqlKeyword zeros zone
|
||||
" XML
|
||||
syn keyword sqlKeyword writeclientfile writer writers writeserver xlock
|
||||
syn keyword sqlKeyword war xml zeros zone
|
||||
" XML
|
||||
syn keyword sqlKeyword raw auto elements explicit
|
||||
" HTTP support
|
||||
syn keyword sqlKeyword authorization secure url service next_soap_header
|
||||
" HTTP 9.0.2 new procedure keywords
|
||||
syn keyword sqlKeyword namespace certificate clientport proxy
|
||||
syn keyword sqlKeyword namespace certificate certificates clientport proxy trusted_certificates_file
|
||||
" OLAP support 9.0.0
|
||||
syn keyword sqlKeyword covar_pop covar_samp corr regr_slope regr_intercept
|
||||
syn keyword sqlKeyword regr_count regr_r2 regr_avgx regr_avgy
|
||||
@@ -610,6 +619,10 @@ syn keyword sqlKeyword regr_sxx regr_syy regr_sxy
|
||||
syn keyword sqlKeyword character dec options proc reference
|
||||
syn keyword sqlKeyword subtrans tran syn keyword
|
||||
|
||||
" Login Mode Options
|
||||
syn keyword sqlKeywordLogin standard integrated kerberos LDAPUA
|
||||
syn keyword sqlKeywordLogin cloudadmin mixed
|
||||
|
||||
" Spatial Predicates
|
||||
syn keyword sqlKeyword ST_Contains
|
||||
syn keyword sqlKeyword ST_ContainsFilter
|
||||
@@ -692,9 +705,9 @@ syn keyword sqlKeyword ST_LinearUnHash
|
||||
syn keyword sqlOperator in any some all between exists
|
||||
syn keyword sqlOperator like escape not is and or
|
||||
syn keyword sqlOperator minus
|
||||
syn keyword sqlOperator prior distinct
|
||||
syn keyword sqlOperator prior distinct unnest
|
||||
|
||||
syn keyword sqlStatement allocate alter attach backup begin break call case
|
||||
syn keyword sqlStatement allocate alter attach backup begin break call case catch
|
||||
syn keyword sqlStatement checkpoint clear close comment commit configure connect
|
||||
syn keyword sqlStatement continue create deallocate declare delete describe
|
||||
syn keyword sqlStatement detach disconnect drop except execute exit explain fetch
|
||||
@@ -705,7 +718,7 @@ syn keyword sqlStatement prepare print put raiserror read readtext refresh relea
|
||||
syn keyword sqlStatement remote remove reorganize resignal restore resume
|
||||
syn keyword sqlStatement return revoke rollback save savepoint select
|
||||
syn keyword sqlStatement set setuser signal start stop synchronize
|
||||
syn keyword sqlStatement system trigger truncate union unload update
|
||||
syn keyword sqlStatement system trigger truncate try union unload update
|
||||
syn keyword sqlStatement validate waitfor whenever while window writetext
|
||||
|
||||
|
||||
@@ -715,7 +728,7 @@ syn keyword sqlType float int integer numeric
|
||||
syn keyword sqlType smallint tinyint real
|
||||
syn keyword sqlType money smallmoney
|
||||
syn keyword sqlType date datetime datetimeoffset smalldatetime time timestamp
|
||||
syn keyword sqlType binary image varbinary uniqueidentifier
|
||||
syn keyword sqlType binary image varray varbinary uniqueidentifier
|
||||
syn keyword sqlType unsigned
|
||||
" Spatial types
|
||||
syn keyword sqlType st_geometry st_point st_curve st_surface st_geomcollection
|
||||
@@ -736,8 +749,10 @@ syn keyword sqlOption Ansi_update_constraints
|
||||
syn keyword sqlOption Ansinull
|
||||
syn keyword sqlOption Auditing
|
||||
syn keyword sqlOption Auditing_options
|
||||
syn keyword sqlOption Auto_commit_on_create_local_temp_index
|
||||
syn keyword sqlOption Background_priority
|
||||
syn keyword sqlOption Blocking
|
||||
syn keyword sqlOption Blocking_others_timeout
|
||||
syn keyword sqlOption Blocking_timeout
|
||||
syn keyword sqlOption Chained
|
||||
syn keyword sqlOption Checkpoint_time
|
||||
@@ -754,6 +769,7 @@ syn keyword sqlOption Cooperative_commits
|
||||
syn keyword sqlOption Database_authentication
|
||||
syn keyword sqlOption Date_format
|
||||
syn keyword sqlOption Date_order
|
||||
syn keyword sqlOption db_publisher
|
||||
syn keyword sqlOption Debug_messages
|
||||
syn keyword sqlOption Dedicated_task
|
||||
syn keyword sqlOption Default_dbspace
|
||||
@@ -764,14 +780,18 @@ syn keyword sqlOption Divide_by_zero_error
|
||||
syn keyword sqlOption Escape_character
|
||||
syn keyword sqlOption Exclude_operators
|
||||
syn keyword sqlOption Extended_join_syntax
|
||||
syn keyword sqlOption Extern_login_credentials
|
||||
syn keyword sqlOption Fire_triggers
|
||||
syn keyword sqlOption First_day_of_week
|
||||
syn keyword sqlOption For_xml_null_treatment
|
||||
syn keyword sqlOption Force_view_creation
|
||||
syn keyword sqlOption Global_database_id
|
||||
syn keyword sqlOption Http_session_timeout
|
||||
syn keyword sqlOption Http_connection_pool_basesize
|
||||
syn keyword sqlOption Http_connection_pool_timeout
|
||||
syn keyword sqlOption Integrated_server_name
|
||||
syn keyword sqlOption Isolation_level
|
||||
syn keyword sqlOption Java_class_path
|
||||
syn keyword sqlOption Java_location
|
||||
syn keyword sqlOption Java_main_userid
|
||||
syn keyword sqlOption Java_vm_options
|
||||
@@ -790,6 +810,7 @@ syn keyword sqlOption Max_recursive_iterations
|
||||
syn keyword sqlOption Max_statement_count
|
||||
syn keyword sqlOption Max_temp_space
|
||||
syn keyword sqlOption Min_password_length
|
||||
syn keyword sqlOption Min_role_admins
|
||||
syn keyword sqlOption Nearest_century
|
||||
syn keyword sqlOption Non_keywords
|
||||
syn keyword sqlOption Odbc_describe_binary_as_varbinary
|
||||
@@ -807,6 +828,7 @@ syn keyword sqlOption Prefetch
|
||||
syn keyword sqlOption Preserve_source_format
|
||||
syn keyword sqlOption Prevent_article_pkey_update
|
||||
syn keyword sqlOption Priority
|
||||
syn keyword sqlOption Progress_messages
|
||||
syn keyword sqlOption Query_mem_timeout
|
||||
syn keyword sqlOption Quoted_identifier
|
||||
syn keyword sqlOption Read_past_deleted
|
||||
@@ -814,6 +836,7 @@ syn keyword sqlOption Recovery_time
|
||||
syn keyword sqlOption Remote_idle_timeout
|
||||
syn keyword sqlOption Replicate_all
|
||||
syn keyword sqlOption Request_timeout
|
||||
syn keyword sqlOption Reserved_keywords
|
||||
syn keyword sqlOption Return_date_time_as_string
|
||||
syn keyword sqlOption Rollback_on_deadlock
|
||||
syn keyword sqlOption Row_counts
|
||||
@@ -823,6 +846,12 @@ syn keyword sqlOption Sort_collation
|
||||
syn keyword sqlOption Sql_flagger_error_level
|
||||
syn keyword sqlOption Sql_flagger_warning_level
|
||||
syn keyword sqlOption String_rtruncation
|
||||
syn keyword sqlOption st_geometry_asbinary_format
|
||||
syn keyword sqlOption st_geometry_astext_format
|
||||
syn keyword sqlOption st_geometry_asxml_format
|
||||
syn keyword sqlOption st_geometry_describe_type
|
||||
syn keyword sqlOption st_geometry_interpolation
|
||||
syn keyword sqlOption st_geometry_on_invalid
|
||||
syn keyword sqlOption Subsume_row_locks
|
||||
syn keyword sqlOption Suppress_tds_debugging
|
||||
syn keyword sqlOption Synchronize_mirror_on_commit
|
||||
@@ -831,6 +860,7 @@ syn keyword sqlOption Temp_space_limit_check
|
||||
syn keyword sqlOption Time_format
|
||||
syn keyword sqlOption Time_zone_adjustment
|
||||
syn keyword sqlOption Timestamp_format
|
||||
syn keyword sqlOption Timestamp_with_time_zone_format
|
||||
syn keyword sqlOption Truncate_timestamp_values
|
||||
syn keyword sqlOption Tsql_outer_joins
|
||||
syn keyword sqlOption Tsql_variables
|
||||
@@ -842,6 +872,7 @@ syn keyword sqlOption Uuid_has_hyphens
|
||||
syn keyword sqlOption Verify_password_function
|
||||
syn keyword sqlOption Wait_for_commit
|
||||
syn keyword sqlOption Webservice_namespace_host
|
||||
syn keyword sqlOption Webservice_sessionid_name
|
||||
|
||||
" Strings and characters:
|
||||
syn region sqlString start=+"+ end=+"+ contains=@Spell
|
||||
@@ -859,32 +890,18 @@ syn sync ccomment sqlComment
|
||||
syn sync ccomment sqlDashComment
|
||||
syn sync ccomment sqlSlashComment
|
||||
|
||||
" Define the default highlighting.
|
||||
" For version 5.7 and earlier: only when not done already
|
||||
" For version 5.8 and later: only when an item doesn't have highlighting yet
|
||||
if version >= 508 || !exists("did_sql_syn_inits")
|
||||
if version < 508
|
||||
let did_sql_syn_inits = 1
|
||||
command -nargs=+ HiLink hi link <args>
|
||||
else
|
||||
command -nargs=+ HiLink hi link <args>
|
||||
endif
|
||||
|
||||
HiLink sqlDashComment Comment
|
||||
HiLink sqlSlashComment Comment
|
||||
HiLink sqlMultiComment Comment
|
||||
HiLink sqlNumber Number
|
||||
HiLink sqlOperator Operator
|
||||
HiLink sqlSpecial Special
|
||||
HiLink sqlKeyword Keyword
|
||||
HiLink sqlStatement Statement
|
||||
HiLink sqlString String
|
||||
HiLink sqlType Type
|
||||
HiLink sqlFunction Function
|
||||
HiLink sqlOption PreProc
|
||||
|
||||
delcommand HiLink
|
||||
endif
|
||||
hi def link sqlDashComment Comment
|
||||
hi def link sqlSlashComment Comment
|
||||
hi def link sqlMultiComment Comment
|
||||
hi def link sqlNumber Number
|
||||
hi def link sqlOperator Operator
|
||||
hi def link sqlSpecial Special
|
||||
hi def link sqlKeyword Keyword
|
||||
hi def link sqlStatement Statement
|
||||
hi def link sqlString String
|
||||
hi def link sqlType Type
|
||||
hi def link sqlFunction Function
|
||||
hi def link sqlOption PreProc
|
||||
|
||||
let b:current_syntax = "sqlanywhere"
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ so you would normally compile it with one of the following:
|
||||
cc -D_IRIX ccfilter.c -o ccfilter
|
||||
cc -D_SOLARIS ccfilter.c -o ccfilter
|
||||
cc -D_HPUX ccfilter.c -o ccfilter
|
||||
You can then copy ccfilter to it's target destination (i.e: /usr/local/bin).
|
||||
You can then copy ccfilter to its target destination (i.e: /usr/local/bin).
|
||||
The man page ccfilter.1 has to be copied to somewhere in your MANPATH,
|
||||
under a man1 directory (i.e: /usr/local/man/man1).
|
||||
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
@rem Arguments - +$(CurLine) $(ItemPath)
|
||||
@rem Init Dir - Empty
|
||||
@rem
|
||||
@rem Coutesy of Brian Sturk
|
||||
@rem Courtesy of Brian Sturk
|
||||
@rem
|
||||
@rem --remote-silent +%1 is a command +954, move ahead 954 lines
|
||||
@rem --remote-silent %2 full path to file
|
||||
@rem In Vim
|
||||
@rem :h --remote-silent for mor details
|
||||
@rem :h --remote-silent for more details
|
||||
@rem
|
||||
@rem --servername VS_NET
|
||||
@rem This will create a new instance of vim called VS_NET. So if you
|
||||
|
||||
@@ -18,6 +18,7 @@ all: tutor.utf-8 \
|
||||
tutor.it.utf-8 \
|
||||
tutor.ja.sjis tutor.ja.euc \
|
||||
tutor.ko.euc \
|
||||
tutor.nl \
|
||||
tutor.no.utf-8 \
|
||||
tutor.nb \
|
||||
tutor.nb.utf-8 \
|
||||
@@ -73,6 +74,9 @@ tutor.ja.euc: tutor.ja.utf-8
|
||||
tutor.ko.euc: tutor.ko.utf-8
|
||||
iconv -f UTF-8 -t EUC-KR tutor.ko.utf-8 > tutor.ko.euc
|
||||
|
||||
tutor.nl: tutor.nl.utf-8
|
||||
iconv -f UTF-8 -t ISO-8859-1 tutor.nl.utf-8 > tutor.nl
|
||||
|
||||
tutor.no.utf-8: tutor.no
|
||||
iconv -f ISO-8859-1 -t UTF-8 tutor.no > tutor.no.utf-8
|
||||
|
||||
|
||||
@@ -645,7 +645,7 @@ RIMARKO:
|
||||
3. Nun tajpu: :w TESTO (kie TESTO estas la elektita dosiernomo)
|
||||
|
||||
4. Tio konservas la tutan dosieron (instruilon de Vim) kun la nomo TESTO.
|
||||
Por kontroli tion, tajpu :!dir a<> !ls denove por vidigi vian
|
||||
Por kontroli tion, tajpu :!dir a<> :!ls denove por vidigi vian
|
||||
dosierujon.
|
||||
|
||||
RIMARKO: Se vi volus eliri el Vim kaj restartigi <20>in denove per vim TESTO,
|
||||
|
||||
950
runtime/tutor/tutor.nl
Normal file
950
runtime/tutor/tutor.nl
Normal file
@@ -0,0 +1,950 @@
|
||||
==========================================================================
|
||||
= W e l k o m b i j d e V I M l e s s e n - Versie 1.7 =
|
||||
==========================================================================
|
||||
|
||||
Vim is een krachtige editor met veel commando's, te veel om uit te leggen
|
||||
in lessen zoals deze. Deze lessen zijn bedoeld om voldoende commando's te
|
||||
behandelen om je in staat te stellen met Vim te werken als een editor voor
|
||||
algemeen gebruik.
|
||||
|
||||
Deze lessen zullen 25 tot 30 minuten in beslag nemen, afhankelijk van de
|
||||
tijd die wordt besteed aan het uitproberen van de commando's.
|
||||
|
||||
LET OP:
|
||||
Door de commando's in deze lessen verandert de tekst. Maak een kopie van
|
||||
dit bestand om mee te oefenen (als je "vimtutor" uitvoerde, is dit al een
|
||||
kopie).
|
||||
|
||||
Deze lessen zijn bedoeld om al doende te leren. Dat betekent dat je de
|
||||
commando's moet uitvoeren om ze goed te leren kennen. Als je de tekst
|
||||
alleen maar doorleest, zal je de commando's niet leren!
|
||||
|
||||
Zorg ervoor dat de <Caps Lock> toets NIET is ingedrukt en druk vaak genoeg
|
||||
op de j-toets om de cursor zo te bewegen dat les 1.1 volledig op het
|
||||
scherm staat.
|
||||
|
||||
LET OP: In deze lessen worden omwille van de duidelijkheid vaak spaties
|
||||
gebruikt binnen een commando (bv. "40 G" of "operator [getal] beweging").
|
||||
Tik deze spaties echter NIET. Ze verstoren de werking.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 1.1: VERPLAATS DE CURSOR
|
||||
|
||||
** De cursor wordt verplaatst met de toetsen h, j, k, l zoals aangegeven. **
|
||||
^
|
||||
k Hint: De h is de meest linkse en beweegt naar links.
|
||||
< h l > De l is de meest rechtse en beweegt naar rechts.
|
||||
j De j lijkt op een pijl naar beneden.
|
||||
v
|
||||
|
||||
1. Beweeg de cursor over het scherm om er vertrouwd mee te raken.
|
||||
|
||||
2. Druk de omlaag-toets (j) tot hij repeteert.
|
||||
Nu weet je hoe je de volgende les bereikt.
|
||||
|
||||
3. Gebruik de omlaag-toets om naar les 1.2 te gaan.
|
||||
|
||||
OPMERKING: Als je twijfelt aan wat je tikte, druk <ESC> om in de opdracht-
|
||||
modus te komen. Tik daarna het commando dat bedoeld wordt.
|
||||
|
||||
OPMERKING: Pijltjes-toetsen werken ook. Met de hjkl-toetsen kan je sneller
|
||||
rondbewegen, als je er eenmaal aan gewend bent. Echt waar!
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 1.2: VIM AFSLUITEN
|
||||
|
||||
!! LET OP: Lees deze les goed door voordat je iets uitvoert!!
|
||||
|
||||
1. Druk de <ESC> toets (om zeker in de opdrachtmodus te zitten).
|
||||
|
||||
2. Tik :q! <ENTER>
|
||||
Hiermee wordt de editor afgesloten. Alle veranderingen gaan VERLOREN.
|
||||
|
||||
3. Nu zie je de shell-prompt. Tik het commando waarmee je deze lessen
|
||||
hebt opgeroepen. Dat is normaal gesproken: vimtutor <ENTER>
|
||||
|
||||
4. Als je deze stappen goed hebt doorgelezen, voer dan de stappen 1 tot 3
|
||||
uit om de editor te verlaten en weer op te starten.
|
||||
|
||||
LET OP: :q! <ENTER> verwerpt alle veranderingen die je aanbracht. Een paar
|
||||
lessen verder zal je leren hoe veranderingen worden opgeslagen in
|
||||
een bestand.
|
||||
|
||||
5. Beweeg de cursor omlaag naar les 1.3.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 1.3: TEKST BEWERKEN - WISSEN
|
||||
|
||||
** Tik x om het teken onder de cursor te wissen. **
|
||||
|
||||
1. Ga met de cursor naar de regel verderop met --->.
|
||||
|
||||
2. Zet de cursor op een teken dat moet worden gewist om een fout te
|
||||
herstellen.
|
||||
|
||||
3. Tik x om het ongewenste teken te wissen.
|
||||
|
||||
4. Herhaal deze stappen tot de regel goed is.
|
||||
|
||||
---> Vi kkent eenn opdracccchtmodus en een invooegmmmmodus.
|
||||
|
||||
5. Nu de regel gecorrigeerd is kan je naar les 1.4 gaan.
|
||||
|
||||
LET OP: Probeer de lessen niet uit je hoofd te leren. Leer al doende.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 1.4: TEKST BEWERKEN - INVOEGEN
|
||||
|
||||
** Tik i ('insert') om tekst in te voegen. **
|
||||
|
||||
1. Ga met de cursor naar de eerste regel verderop met --->.
|
||||
|
||||
2. Maak de eerste regel gelijk aan de tweede. Zet daarvoor de cursor op
|
||||
de plaats waar tekst moet worden ingevoegd.
|
||||
|
||||
3. Tik i en daarna de nodige aanvullingen.
|
||||
|
||||
4. Tik <ESC> na elke herstelde fout om terug te keren in de opdrachtmodus.
|
||||
Herhaal de stappen 2 tot 4 om de zin te verbeteren.
|
||||
|
||||
---> Aan regel ontekt wat .
|
||||
---> Aan deze regel ontbreekt wat tekst.
|
||||
|
||||
5. Ga naar les 1.5 als je gewend bent aan het invoegen van tekst.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 1.5: TEKST BEWERKEN - TOEVOEGEN
|
||||
|
||||
** Tik A ('append') om tekst toe te voegen. **
|
||||
|
||||
1. Ga met de cursor naar de eerste regel verderop met --->.
|
||||
Het maakt niet uit waar de cursor in deze regel staat.
|
||||
|
||||
2. Tik hoofdletter A en tik de nodige aanvullingen.
|
||||
|
||||
3. Tik <ESC> nadat de tekst is aangevuld. Zo keer je terug in de
|
||||
opdrachtmodus.
|
||||
|
||||
4. Ga naar de tweede regel verderop met ---> en herhaal stap 2 en 3
|
||||
om deze zin te corrigeren.
|
||||
|
||||
---> Er ontbreekt wat tekst aan de
|
||||
Er ontbreekt wat tekst aan deze regel.
|
||||
---> Hier ontbreekt ook w
|
||||
Hier ontbreekt ook wat tekst.
|
||||
|
||||
5. Ga naar les 1.6 als je vertrouwd bent geraakt aan het toevoegen
|
||||
van tekst.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 1.6: EEN BESTAND EDITTEN
|
||||
|
||||
** Gebruik :wq om een bestand op te slaan en de editor te verlaten. **
|
||||
|
||||
!! LET OP: Lees deze les helemaal door voordat je een van de volgende
|
||||
stappen uitvoert!!
|
||||
|
||||
1. Verlaat deze les zoals je in les 1.2 deed: :q!
|
||||
Of gebruik een andere terminal als je daar de beschikking over hebt. Doe
|
||||
daar het volgende.
|
||||
|
||||
2. Tik het volgende commando na de shell-prompt: vim les <ENTER>
|
||||
'vim' (vaak ook 'vi') is het commando om de Vim-editor te starten,
|
||||
'les' is de naam van het bestand, dat je gaat bewerken. Kies een andere
|
||||
naam als er al een bestand 'les' bestaat, dat niet veranderd mag worden.
|
||||
|
||||
3. Voeg naar eigen keus tekst toe, zoals je geleerd hebt in eerdere lessen.
|
||||
|
||||
4. Sla het bestand met de wijzigingen op en verlaat Vim met :wq <ENTER>
|
||||
|
||||
5. Herstart vimtutor als je deze bij stap 1 hebt verlaten en ga verder met
|
||||
de volgende samenvatting.
|
||||
|
||||
6. Voer deze stappen uit nadat je ze hebt gelezen en begrepen.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
SAMENVATTING Les 1
|
||||
|
||||
1. De cursor wordt bewogen met de pijltjestoetsen of de hjkl-toetsen.
|
||||
h (links) j (omlaag) k (omhoog) l (rechts)
|
||||
|
||||
2. Start Vim van de shell-prompt. Tik: vim BESTANDSNAAM <ENTER>
|
||||
|
||||
3. Sluit Vim af met <ESC> :q! <ENTER> om de veranderingen weg te gooien.
|
||||
OF tik <ESC> :wq <ENTER> om de veranderingen te bewaren.
|
||||
|
||||
4. Wis het teken onder de cursor met: x
|
||||
|
||||
5. Invoegen of toevoegen van tekst, tik:
|
||||
i en daarna de in te voegen tekst <ESC> voeg in vanaf de cursor
|
||||
A en daarna de toe te voegen tekst <ESC> voeg toe achter de regel
|
||||
|
||||
OPMERKING: Met <ESC> kom je terug in opdrachtmodus en wordt een ongewenst
|
||||
of gedeeltelijk uitgevoerd commando afgebroken.
|
||||
|
||||
Ga nu verder met les 2.1.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 2.1: WIS-COMMANDO'S
|
||||
|
||||
** Tik dw ('delete word') om een woord te wissen. **
|
||||
|
||||
1. Druk op <ESC> om zeker in de opdrachtmodus te zijn.
|
||||
|
||||
2. Ga naar de regel hieronder, die met ---> begint.
|
||||
|
||||
3. Ga met de cursor naar het begin van een woord dat moet worden gewist.
|
||||
|
||||
4. Met het tikken van dw verdwijnt het woord.
|
||||
|
||||
OPMERKING: De letter d verschijnt op de laatste regel van het scherm
|
||||
zodra je hem tikt. Vim is aan het wachten tot je de w tikt.
|
||||
Als je een ander teken dan d ziet, heb je iets verkeerds
|
||||
getikt. Druk op <ESC> en begin opnieuw.
|
||||
|
||||
NOG EEN OPMERKING: Dit werkt alleen als de optie 'showcmd' is ingeschakeld.
|
||||
Dat gebeurt met :set showcmd <ENTER>
|
||||
|
||||
---> Er zijn een het paar ggg woorden, die niet in deze len zin thuishoren.
|
||||
|
||||
5. Herhaal de stappen 3 en 4 tot de zin goed is en ga naar les 2.2.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 2.2: MEER WIS-COMMANDO'S
|
||||
|
||||
** Tik d$ om te wissen tot het einde van de regel. **
|
||||
|
||||
1. Druk op <ESC> om zeker in de opdrachtmodus te zijn.
|
||||
|
||||
2. Ga naar de regel hieronder, die met ---> begint.
|
||||
|
||||
3. Ga met de cursor naar het einde van de correcte regel (NA de eerste . ).
|
||||
|
||||
4. Tik d$ om te wissen tot het einde van de regel.
|
||||
|
||||
---> Iemand heeft het einde van deze regel dubbel getikt. dubbel getikt.
|
||||
|
||||
5. Ga naar les 2.3 voor uitleg.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 2.3: OVER OPERATOREN EN BEWEGINGEN
|
||||
|
||||
Veel commando's die de tekst veranderen, bestaan uit een operator en een
|
||||
beweging. De samenstelling van een wis-commando met de operator d is:
|
||||
d beweging
|
||||
|
||||
Daarbij is:
|
||||
d - de wis-operator
|
||||
beweging - het bereik waarop de operator werkt (zie het lijstje hieronder)
|
||||
|
||||
Een korte lijst van bewegingen vanaf de cursor:
|
||||
w - tot het begin van het volgende woord, ZONDER het eerste teken daarvan.
|
||||
e - tot het einde van het huidige woord, INCLUSIEF het laatste teken.
|
||||
$ - tot het einde van de regel, INCLUSIEF het laatste teken.
|
||||
|
||||
Het tikken van de wist tekst vanaf de cursor tot het eind van het woord.
|
||||
|
||||
OPMERKING: Het intikken van alleen maar de beweging, zonder een operator,
|
||||
in de opdrachtmodus beweegt de cursor (respectievelijk naar het
|
||||
volgende woord, naar het eind van het huidige woord en naar het
|
||||
eind van de regel).
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 2.4: GEBRUIK VAN EEN TELLER BIJ EEN BEWEGING
|
||||
|
||||
** Een getal voor een beweging herhaalt het zoveel keer. **
|
||||
|
||||
1. Ga naar de regel hieronder, die met ---> begint.
|
||||
|
||||
2. Tik 2w zodat de cursor twee woorden vooruit gaat.
|
||||
|
||||
3. Tik 3e zodat de cursor naar het einde van het derde woord gaat.
|
||||
|
||||
4. Tik 0 (nul) om naar het begin van de regel te gaan.
|
||||
|
||||
5. Herhaal de stappen 2 en 3 met andere getallen.
|
||||
|
||||
---> Dit is een regel met woorden waarin je heen en weer kan bewegen.
|
||||
|
||||
6. Ga verder met les 2.5.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 2.5: GEBRUIK EEN TELLER OM MEER TE WISSEN
|
||||
|
||||
** Een getal met een operator zorgt dat deze zoveel keer wordt herhaald. **
|
||||
|
||||
Bij de combinatie van wis-operator en beweging kan je voor de beweging een
|
||||
teller zetten om meer te wissen:
|
||||
d [teller] beweging
|
||||
|
||||
1. Ga naar het eerste woord in HOOFDLETTERS in de regel na --->.
|
||||
|
||||
2. Met d2w worden twee woorden (in dit voorbeeld in hoofdletters) gewist.
|
||||
|
||||
3. Herhaal de stappen 1 en 2 met verschillende tellers om de verschillende
|
||||
woorden in hoofdletters met <20><>n commando te wissen.
|
||||
|
||||
---> deze ABC DE regel FGHI JK LMN OP is QZ RS ontdaan van rommel.
|
||||
|
||||
OPMERKING: De teller kan ook aan het begin staan: d2w en 2dw werken allebei.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 2.6: BEWERKING VAN HELE REGELS
|
||||
|
||||
** Tik dd om een hele regel te wissen. **
|
||||
|
||||
Omdat het wissen van een hele regel vaak voorkomt, besloten de ontwerpers
|
||||
van Vi dat met het tikken van dd simpelweg een hele regel gewist wordt.
|
||||
|
||||
1. Ga met de cursor naar de tweede regel van de zinnetjes hieronder.
|
||||
|
||||
2. Tik dd om de regel te wissen.
|
||||
|
||||
3. Ga nu naar de vierde regel.
|
||||
|
||||
4. Tik 2dd om twee regels te wissen.
|
||||
|
||||
---> 1) Rozen zijn rood.
|
||||
---> 2) Modder is leuk.
|
||||
---> 3) Viooltjes zijn blauw.
|
||||
---> 4) Ik heb een auto.
|
||||
---> 5) De klok slaat de tijd.
|
||||
---> 6) Suiker is zoet.
|
||||
---> 7) En dat ben jij ook.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 2.7: HET COMMANDO HERSTEL
|
||||
|
||||
** u maakt het laatste commando ongedaan, U herstelt een hele regel. **
|
||||
|
||||
1. Ga met de cursor naar de regel hieronder met ---> en zet hem
|
||||
op de eerste fout.
|
||||
|
||||
2. Tik x om het eerste ongewenste teken te wissen.
|
||||
|
||||
3. Tik nu u en maak daarmee het vorige commando ongedaan.
|
||||
|
||||
4. Herstel nu alle fouten in de regel met het x commando.
|
||||
|
||||
5. Tik een hoofdletter U om de regel in z'n oorspronkelijke staat terug
|
||||
te brengen.
|
||||
|
||||
6. Tik nu een paar keer u en herstel daarmee de U en eerdere commando's.
|
||||
|
||||
7. Tik nu een paar keer CTRL-R (Ctrl-toets ingedrukt houden en R tikken) en
|
||||
voer daarmee de commando's opnieuw uit: 'redo' oftewel 'undo de undo's'.
|
||||
|
||||
---> Heerstel de fouten inn deeze regel en brenng ze weer terugg met undo.
|
||||
|
||||
8. Dit zijn heel nuttige commando's. Ga verder met samenvatting van les 2.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
SAMENVATTING Les 2
|
||||
|
||||
1. Wis van de cursor tot het volgende woord met dw
|
||||
|
||||
2. Wis van de cursor tot het eind van de regel met d$
|
||||
|
||||
3. Wis de hele regel met dd
|
||||
|
||||
4. Herhaal een beweging door er een getal voor te zetten: 2w
|
||||
|
||||
5. De opbouw van een wijzigingscommando is:
|
||||
operator [getal] beweging
|
||||
daarbij is:
|
||||
operator - wat er moet gebeuren, bijvoorbeeld d om te wissen
|
||||
[getal] - een (niet-verplichte) teller om 'beweging' te herhalen
|
||||
beweging - een beweging door de te wijzigen tekst zoals w (woord)
|
||||
of $ (tot het einde van de regel) enz.
|
||||
|
||||
6. Ga naar het begin van de regel met nul: 0
|
||||
|
||||
7. Undo de voorgaande actie met u (kleine letter)
|
||||
Undo alle veranderingen in een regel met U (hoofdletter)
|
||||
Undo de undo's met CTRL-R
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 3.1: HET COMMANDO PLAK
|
||||
|
||||
** Tik p ('put') en plak daarmee zojuist gewiste tekst na te cursor. **
|
||||
|
||||
1. Ga met de cursor naar de eerste regel met ---> hierna.
|
||||
|
||||
2. Wis de regel met dd en bewaar hem zodoende in een Vim-register.
|
||||
|
||||
3. Ga naar de c-regel, waar de gewiste regel ONDER moet komen.
|
||||
|
||||
4. Tik p om de regel terug te zetten onder de regel met de cursor.
|
||||
|
||||
5. Herhaal de stappen 2 tot 4 om de regels in de goede volgorde te zetten.
|
||||
|
||||
---> d) Krijg je het ook onder de knie?
|
||||
---> b) Viooltjes zijn blauw,
|
||||
---> c) Begrip is te leren,
|
||||
---> a) Rozen zijn rood,
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 3.2: HET COMMANDO VERVANG
|
||||
|
||||
** Tik rx ('replace') om het teken onder de cursor te vervangen door x. **
|
||||
|
||||
1. Ga naar de eerste regel hieronder met --->.
|
||||
|
||||
2. Zet de cursor op de eerste fout.
|
||||
|
||||
3. Tik r en dan het teken dat er hoort te staan.
|
||||
|
||||
4. Herhaal de stappen 2 en 3 tot de eerste regel gelijk is aan de tweede.
|
||||
|
||||
---> Bij het tokken van dezf hegel heeft iemamd verklerde letters getikt.
|
||||
---> Bij het tikken van deze regel heeft iemand verkeerde letters getikt.
|
||||
|
||||
5. Ga nu naar les 3.3.
|
||||
|
||||
LET OP: Door het te doen, leer je beter dan door het uit je hoofd te leren.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 3.3: HET COMMANDO VERANDER
|
||||
|
||||
** Tik ce om te veranderen tot het einde van een woord. **
|
||||
|
||||
1. Ga met de cursor naar de eerste regel hieronder met --->.
|
||||
|
||||
2. Zet de cursor op de u van ruch.
|
||||
|
||||
3. Tik ce en de juiste letters (in dit geval "egel").
|
||||
|
||||
4. Druk <ESC> en ga naar het volgende teken dat moet worden veranderd.
|
||||
|
||||
5. Herhaal de stappen 3 en 4 tot de eerste regel gelijk is aan de tweede.
|
||||
|
||||
---> In deze ruch staan een paar weedrim die veranderd moud worden.
|
||||
---> In deze regel staan een paar woorden die veranderd moeten worden.
|
||||
|
||||
LET OP: Met ce wordt (het laatste deel van) een woord gewist en kom je
|
||||
in de invoegmodus.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 3.4: MEER VERANDERINGEN MET c
|
||||
|
||||
1. Het commando verander ('change') werkt op dezelfde manier als wis. De
|
||||
opbouw is:
|
||||
c [teller] beweging
|
||||
|
||||
2. De bewegingen zijn hetzelfde, zoals w (woord) en $ (einde regel).
|
||||
|
||||
3. Ga naar de eerste regel hieronder met --->.
|
||||
|
||||
4. Zet de cursor op de eerste fout.
|
||||
|
||||
5. Tik c$ en tik de rest van de regel zodat hij gelijk wordt aan de
|
||||
tweede en sluit af met <ESC>.
|
||||
|
||||
---> Het einde van deze regel moet precies zo worden als de tweede regel.
|
||||
---> Het einde van deze regel moet gecorrigeerd worden met het commando c$.
|
||||
|
||||
OPMERKING: Je kan de toets <BACKSPACE> gebruiken om tikfouten te herstellen.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
SAMENVATTING Les 3
|
||||
|
||||
1. Tik p om tekst terug te plakken, die zojuist is gewist. Dit zet de
|
||||
gewiste tekst ACHTER de cursor (als een hele regel is gewist komt deze
|
||||
op de regel ONDER de cursor.
|
||||
|
||||
2. Het teken waarop de cursor staat wordt vervangen met r gevolgd door
|
||||
het teken dat je daar wilt hebben.
|
||||
|
||||
3. Het commando 'verander' stelt je in staat om tekst te veranderen vanaf
|
||||
de cursor tot waar de 'beweging' je brengt. Dat wil zeggen: tik ce om
|
||||
te veranderen vanaf de cursor tot het einde van het woord, c$ om te
|
||||
veranderen tot het einde van de regel.
|
||||
|
||||
4. De opbouw van het commando verander is:
|
||||
c [teller] beweging
|
||||
|
||||
Ga nu naar de volgende les.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 4.1: PLAATS VAN DE CURSOR EN STATUS VAN HET BESTAND
|
||||
|
||||
** CTRL-G laat zien waar (regelnummer) je je bevindt en wat de status van
|
||||
het bestand is. Met [nummer] G ga je naar een bepaalde regel. **
|
||||
|
||||
LET OP: Lees de hele les voordat je een stap uitvoert!!
|
||||
|
||||
1. Hou de Ctrl-toets ingedrukt en tik g . Dit noemen we CTRL-G.
|
||||
Onderaan de pagina verschijnt een boodschap met de bestandsnaam en de
|
||||
positie in het bestand. Onthou het regelnummer voor stap 3.
|
||||
|
||||
OPMERKING: Als de optie 'ruler' aan staat, wordt de positie van de cursor
|
||||
(regelnummer, kolom) steeds in de rechter-onderhoek van het
|
||||
scherm vermeld. In dit geval vermeldt CTRL-G geen regelnummer.
|
||||
CTRL-G geeft ook de status aan, namelijk of de tekst veranderd
|
||||
is ('modified') sinds het de laatste keer is opgeslagen.
|
||||
|
||||
2. Tik hoofdletter G om naar het einde van het bestand te gaan.
|
||||
Tik gg om naar het begin van het bestand te gaan.
|
||||
|
||||
3. Tik het regelnummer waar je bij stap 1 was en daarna G . Dit brengt je
|
||||
terug naar de regel waar je was toen je de eerste keer CTRL-G tikte.
|
||||
|
||||
4. Voer de stappen 1 tot 3 uit als je dit goed hebt gelezen.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 4.2: HET COMMANDO ZOEKEN
|
||||
|
||||
** Met /ZOEK wordt naar de zoekterm (<28><>n of meer woorden) gezocht. **
|
||||
|
||||
1. Tik in de opdrachtmodus het teken / . Je ziet dat het met de cursor
|
||||
aan de onderkant van het scherm verschijnt, zoals bij het :-commando.
|
||||
|
||||
2. Tik nu 'ffouut' <ENTER>. Dit is het woord waarnaar gezocht wordt.
|
||||
|
||||
3. Tik n om verder te zoeken met dezelfde zoekterm.
|
||||
Zoek met N met dezelfde zoekterm in de tegenovergestelde richting.
|
||||
|
||||
4. Zoek in achterwaartse richting met ?zoekterm in plaats van / .
|
||||
|
||||
5. Keer terug naar de vorige hit met CTRL-O (hou Ctrl-toets ingedrukt en
|
||||
tik letter o). Herhaal om verder terug te gaan. CTRL-I gaat vooruit.
|
||||
|
||||
---> "ffouut" is niet de juiste spelling van fout, ffouut is een fout.
|
||||
|
||||
OPMERKING: Als zoeken het einde van het bestand bereikt, wordt vanaf het
|
||||
begin doorgezocht, tenzij de optie 'wrapscan' is uitgeschakeld.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 4.3: GA NAAR CORRESPONDERENDE HAAKJES
|
||||
|
||||
** Tik % om naar corresponderende ), ] of } te gaan. **
|
||||
|
||||
1. Zet de cursor op een (, [ of { in de regel hieronder met --->.
|
||||
|
||||
2. Tik dan het teken % .
|
||||
|
||||
3. De cursor gaan naar het overeenkomstige haakje.
|
||||
|
||||
4. Met opnieuw % gaat de cursor terug naar het eerste haakje.
|
||||
|
||||
5. Plaats de cursor op een ander haakje en bekijk wat % doet.
|
||||
|
||||
---> Dit ( is een testregel met ('s, ['s ] en {'s } erin. ))
|
||||
|
||||
OPMERKING: Dit is nuttig bij het debuggen van een programma waarin haakjes
|
||||
niet corresponderen. Met de optie 'showmatch' wordt ook
|
||||
aangegeven of haakjes corresponderen, maar de cursor wordt niet
|
||||
(blijvend) verplaatst.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 4.4: HET VERVANG COMMANDO
|
||||
|
||||
** Tik :s/oud/nieuw/g om 'oud' door 'nieuw' te vervangen. **
|
||||
|
||||
1. Ga met de cursor naar de regel hieronder met --->.
|
||||
|
||||
2. Tik :s/dee/de <ENTER>. Zoals je ziet, vervangt ('substitute') dit
|
||||
commando alleen de eerste "dee" in de regel.
|
||||
|
||||
3. Tik nu :s/dee/de/g . Met de g-vlag ('global') wordt elke "dee" in de
|
||||
regel vervangen.
|
||||
|
||||
---> dee beste tijd om dee bloemen te zien is in dee lente.
|
||||
|
||||
4. Om in (een deel van) een tekst elk 'oud' te vervangen door 'nieuw':
|
||||
tik :#,#s/oud/nieuw/g waar #,# de regelnummers zijn die het gebied
|
||||
begrenzen waarin wordt vervangen.
|
||||
tik :%s/oud/nieuw/g om alles te vervangen in het hele bestand.
|
||||
tik :%s/oud/nieuw/gc om elke 'oud' in het hele bestand te vinden
|
||||
en te vragen of er vervangen moet worden.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
SAMENVATTING Les 4
|
||||
|
||||
1. CTRL-G laat positie in het bestand zien en de status van het bestand.
|
||||
G verplaatst je naar het einde van het bestand.
|
||||
nummer G verplaatst je naar regelnummer.
|
||||
gg verplaatst je naar de eerste regel.
|
||||
|
||||
2. Met / en een zoekterm wordt VOORWAARTS gezocht naar de term.
|
||||
Met ? en een zoekterm wordt ACHTERWAARTS gezocht naar de term.
|
||||
Tik n na een zoekopdracht om de volgende hit te vinden,
|
||||
of tik N om in de andere richting te zoeken.
|
||||
CTRL-O brengt je naar eerdere hit, CTRL-I naar nieuwere.
|
||||
|
||||
3. Tik % terwijl de cursor op een haakje ([{}]) staat, om naar het
|
||||
corresponderende haakje te gaan.
|
||||
|
||||
4. :s/oud/nieuw vervangt het eerste 'oud' in een regel door 'nieuw'.
|
||||
:s/oud/nieuw/g vervangt elk 'oud' in een regel door 'nieuw'.
|
||||
:#,#s/oud/nieuw/g vervangt elk 'oud' door 'nieuw' tussen de regelnummers.
|
||||
:%s/oud/nieuw/g vervangt elk 'oud' door 'nieuw' in het hele bestand.
|
||||
Voeg c toe (:%s/oud/nieuw/gc) om elke keer om bevestiging
|
||||
('confirmation') te vragen.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 5.1: HOE EEN EXTERN COMMANDO WORDT UITGEVOERD
|
||||
|
||||
** Tik :! gevolgd door een extern commando om dat uit te voeren. **
|
||||
|
||||
1. Tik het commando : waarmee de cursor op de onderste regel van het
|
||||
scherm komt te staan. Nu kan je een opdracht geven via de commando-regel.
|
||||
|
||||
2. Tik een ! (uitroepteken). Dit stelt je in staat om elk shell-commando
|
||||
uit te voeren.
|
||||
|
||||
3. Tik bijvoorbeeld ls na het uitroepteken en daarna <ENTER>. Hiermee
|
||||
krijg je de inhoud van je map te zien, net alsof je de opdracht gaf
|
||||
vanaf de shell-prompt. Probeer :!dir als het niet werkt.
|
||||
|
||||
OPMERKING: Elk extern commando kan op deze manier uitgevoerd worden, ook
|
||||
met argumenten.
|
||||
|
||||
OPMERKING: Alle commando's na : moeten worden afgesloten met <ENTER>.
|
||||
Vanaf nu zullen we dat niet meer altijd vermelden.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 5.2: MEER OVER HET OPSLAAN VAN BESTANDEN
|
||||
|
||||
** Tik :w BESTANDSNAAM om de tekst m<>t veranderingen op te slaan. **
|
||||
|
||||
1. Tik :!dir of :!ls om de inhoud van je map te tonen. Je weet
|
||||
inmiddels dat je daarna een <ENTER> moet tikken.
|
||||
|
||||
2. Kies een bestandsnaam die nog niet bestaat, bijvoorbeeld TEST.
|
||||
|
||||
3. Tik nu: :w TEST (als je de naam TEST hebt gekozen).
|
||||
|
||||
4. Hierdoor wordt het hele bestand (de VIM lessen) opgeslagen onder de
|
||||
naam TEST. Tik weer :!dir of :!ls om dit te controleren.
|
||||
|
||||
OPMERKING: Als je Vim zou verlaten en opnieuw zou starten met vim TEST is
|
||||
het bestand een exacte kopie van de lessen, zoals je ze opsloeg.
|
||||
|
||||
5. Wis het bestand nu met de opdracht (MS-DOS) :!del TEST
|
||||
of (Unix) :!rm TEST
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 5.3: EEN DEEL VAN DE TEKST OPSLAAN
|
||||
|
||||
** Sla een deel van het bestand op met v beweging :w BESTANDSNAAM **
|
||||
|
||||
1. Ga naar deze regel.
|
||||
|
||||
2. Tik v en ga met de cursor naar stap 5 hieronder. Je ziet dat de
|
||||
tekst oplicht.
|
||||
|
||||
3. Tik : . Onderaan het scherm zal :'<,'> verschijnen.
|
||||
|
||||
4. Tik w TEST , waar TEST een bestandsnaam is, die nog niet bestaat.
|
||||
Controleer dat je :'<,'>w TEST ziet staan voordat je <ENTER> tikt.
|
||||
|
||||
5. Vim slaat nu de geselecteerde regels op in het bestand TEST. Met
|
||||
:!dir of !ls kan je dat zien. Wis het nog niet! We zullen het in
|
||||
de volgende les gebruiken.
|
||||
|
||||
OPMERKING: Het tikken van v zet zichtbare modus ('visual selection') aan.
|
||||
Je kan de cursor rondbewegen om de selectie groter of kleiner
|
||||
te maken. Vervolgens kan je een commando gebruiken om iets met
|
||||
de tekst te doen. Met d bijvoorbeeld wis je de tekst.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 5.4: OPHALEN EN SAMENVOEGEN VAN BESTANDEN
|
||||
|
||||
** Tik :r BESTANDSNAAM om de inhoud van een bestand in te voegen. **
|
||||
|
||||
1. Zet de cursor precies boven deze regel.
|
||||
|
||||
OPMERKING: Na het uitvoeren van stap 2 zie je tekst van les 5.3. Scrol
|
||||
daarna naar beneden om deze les weer te zien.
|
||||
|
||||
2. Haal nu het bestand TEST op met het commando :r TEST .
|
||||
Het bestand dat je ophaalt komt onder de regel waarin de cursor staat.
|
||||
|
||||
3. Controleer dat er een bestand is opgehaald. Ga met de cursor omhoog.
|
||||
Dan zie je de tekst van les 5.3 dubbel, het origineel en de versie uit
|
||||
het bestand.
|
||||
|
||||
OPMERKING: Je kan ook de uitvoer van een extern commando inlezen. Om een
|
||||
voorbeeld te geven: :r !ls leest de uitvoer van het commando
|
||||
ls en zet dat onder de regel waarin de cursor staat.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
SAMENVATTING Les 5
|
||||
|
||||
1. :!COMMANDO voert een extern commando uit.
|
||||
Enkele bruikbare voorbeelden zijn:
|
||||
(MS-DOS) (Unix)
|
||||
:!dir :!ls - laat de inhoud van een map zien
|
||||
:!del BESTAND :!rm BESTAND - wist bestand BESTAND
|
||||
|
||||
2. :w BESTANDSNAAM schrijft het huidige Vim-bestand naar disk met de
|
||||
naam BESTANDSNAAM.
|
||||
|
||||
3. v beweging :w BESTANDSNAAM laat je in zichtbare modus een fragment
|
||||
selecteren, dat wordt opgeslagen in het bestand BESTANDSNAAM.
|
||||
|
||||
4. :r BESTANDSNAAM haalt het bestand BESTANDSNAAM op en voegt het onder
|
||||
de cursor-positie in de tekst in.
|
||||
|
||||
5. :r !dir leest de uitvoer van het externe commando dir en zet het onder
|
||||
de cursor-positie.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 6.1: HET COMMANDO OPEN
|
||||
|
||||
** Tik o om een regel onder de cursor te openen in invoegmodus. **
|
||||
|
||||
1. Ga naar de eerste regel beneden met --->.
|
||||
|
||||
2. Tik de kleine letter o en open daarmee een regel ONDER de cursor en
|
||||
ga naar de invoegmodus.
|
||||
|
||||
3. Tik wat tekst in en sluit af met <ESC> om de invoegmodus te verlaten.
|
||||
|
||||
---> Als je o tikt, komt de cursor in een nieuwe regel in invoegmodus.
|
||||
|
||||
4. Om een regel BOVEN de cursor te openen, moet je gewoon een hoofdletter
|
||||
O tikken in plaats van een kleine letter. Probeer dat vanaf de volgende
|
||||
regel.
|
||||
|
||||
---> Open een regel hierboven. Tik een O terwijl de cursor hier staat.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 6.2: HET COMMANDO TOEVOEGEN
|
||||
|
||||
** Tik a om tekst toe te voegen ACHTER de cursor. **
|
||||
|
||||
1. Ga naar het begin van de regel beneden met --->.
|
||||
|
||||
2. Tik e tot de cursor op het einde van "ste" staat.
|
||||
|
||||
3. Tik een (kleine letter) a ('append') om toe te voegen ACHTER de cursor.
|
||||
|
||||
4. Vul het woord aan zoals in de volgende regel. Druk <ESC> om de
|
||||
invoegmodus te verlaten.
|
||||
|
||||
5. Ga met e naar het einde van het volgende onvolledige woord en herhaal
|
||||
de stappen 3 en 4.
|
||||
|
||||
---> Deze regel ste je in staat om te oef in het toevo van tekst.
|
||||
Deze regel stelt je in staat om te oefenen in het toevoegen van tekst.
|
||||
|
||||
OPMERKING: a, i en A openen allemaal dezelfde invoegmodus, het enige
|
||||
verschil is waar tekens worden ingevoegd.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 6.3: VERVANGEN OP EEN ANDERE MANIER
|
||||
|
||||
** Tik een hoofdletter R om meer dan <20><>n teken te vervangen. **
|
||||
|
||||
1. Ga naar de eerste regel beneden met --->. Ga met de cursor naar het
|
||||
begin van de eerste "xxx" .
|
||||
|
||||
2. Tik nu R en daarna het getal eronder in de tweede regel, zodat xxx
|
||||
wordt vervangen.
|
||||
|
||||
3. Druk <ESC> om de vervangmodus te verlaten. Je ziet dat de rest van de
|
||||
regel ongewijzigd blijft.
|
||||
|
||||
4. Herhaal de stappen om de overgebleven xxx te vervangen.
|
||||
|
||||
---> Optellen van 123 en xxx geeft je xxx.
|
||||
---> Optellen van 123 en 456 geeft je 579.
|
||||
|
||||
OPMERKING: Vervangmodus lijkt op invoegmodus, maar elk teken dat je tikt,
|
||||
vervangt een bestaand teken.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 6.4: TEKST KOPI<50>REN EN PLAKKEN
|
||||
|
||||
** Gebruik y om tekst te kopi<70>ren en p om te plakken. **
|
||||
|
||||
1. Ga naar de regel beneden met ---> en zet de cursor achter "a)".
|
||||
|
||||
2. Zet zichtbare modus aan met v en zet de cursor juist voor "eerste".
|
||||
|
||||
3. Tik y ('yank') om de opgelichte tekst ("dit is het") te kopi<70>ren.
|
||||
|
||||
4. Ga met j$ met de cursor naar het einde van de volgende regel.
|
||||
|
||||
5. Plak de gekopieerde tekst met p en tik a tweede <ESC>.
|
||||
|
||||
6. Selecteer in zichtbare modus "onderdeel", kopieer het met y en
|
||||
ga met j$ naar het einde van de tweede regel. Plak de tekst daar
|
||||
met p .
|
||||
|
||||
---> a) dit is het eerste onderdeel
|
||||
b)
|
||||
|
||||
OPMERKING: Je kan y ook als operator gebruiken; yw kopieert een woord,
|
||||
yy een hele regel.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 6.5: OPTIES GEBRUIKEN
|
||||
|
||||
** Gebruik een optie voor al dan niet hoofdlettergevoelig zoeken. **
|
||||
|
||||
1. Zoek naar 'hoofdlettergevoelig' met /hoofdlettergevoelig <ENTER>
|
||||
Herhaal het zoeken enkele keren door n te tikken.
|
||||
|
||||
2. Schakel de optie 'ic' ('ignore case', niet-hoofdlettergevoelig) in
|
||||
met :set ic
|
||||
|
||||
3. Zoek met n opnieuw naar 'hoofdlettergevoelig'. Je ziet dat
|
||||
Hoofdlettergevoelig en HOOFDLETTERGEVOELIG nu ook gevonden worden.
|
||||
|
||||
4. Schakel de opties 'hlsearch' (treffers oplichten) en 'incsearch' (toon
|
||||
gedeeltelijke treffers bij intikken) in met :set hls is
|
||||
|
||||
5. Tik weer /hoofdlettergevoelig <ENTER> en kijk wat er gebeurt.
|
||||
|
||||
6. Schakel 'hoofdlettergevoelig' weer in met :set noic
|
||||
|
||||
OPMERKING: Schakel het oplichten van treffers uit met :nohlsearch
|
||||
|
||||
OPMERKING: Om bij een enkel zoek-commando de hoofdlettergevoeligheid om
|
||||
te draaien kan \c worden gebruikt na de zoekterm:
|
||||
/hoofdlettergevoelig\c <ENTER>.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
SAMENVATTING Les 6
|
||||
|
||||
1. Tik o om een regel te openen ONDER de cursor en invoegmodus te starten.
|
||||
Tik O om een regel te openen BOVEN de cursor.
|
||||
|
||||
2. Tik a om tekst toe te voegen NA de cursor.
|
||||
Tik A om tekst toe te voegen aan het einde van de regel.
|
||||
|
||||
3. Het commando e beweegt de cursor naar het einde van een woord.
|
||||
|
||||
4. De operator y yankt (kopieert) tekst, p zet het terug (plakt).
|
||||
|
||||
5. Met hoofdletter R wordt de vervangmodus geopend, met <ESC> afgesloten.
|
||||
|
||||
6. Met :set xxx wordt optie 'xxx' ingeschakeld. Opties zijn bijvoorbeeld:
|
||||
ic ignorecase geen verschil hoofdletters/kleine letters bij zoeken
|
||||
is incsearch toon gedeeltelijke treffers tijdens intikken zoekterm
|
||||
hls hlsearch laat alle treffers oplichten
|
||||
Je kan zowel de lange als de korte naam van een optie gebruiken.
|
||||
|
||||
7. Zet 'no' voor de naam om een optie uit te schakelen: :set noic
|
||||
schakelt 'ic' uit.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 7.1: HULP INROEPEN
|
||||
|
||||
** Het gebruik van ingebouwde hulp. **
|
||||
|
||||
Vim heeft een uitgebreid ingebouwd hulpsysteem. Probeer, om te beginnen,
|
||||
<20><>n van deze drie:
|
||||
- druk de <HELP> toets (als je die hebt)
|
||||
- druk de <F1> toets (als je die hebt)
|
||||
- tik :help <ENTER>
|
||||
|
||||
Lees de tekst in het help-venster om te leren hoe 'help' werkt.
|
||||
Tik CTRL-W CTRL-W om van het ene venster naar het andere te gaan.
|
||||
Met :q <ENTER> wordt het help-venster gesloten.
|
||||
|
||||
Je kan hulp vinden over nagenoeg elk onderwerp door een argument aan het
|
||||
commando :help toe te voegen. Probeer deze (en vergeet <ENTER> niet):
|
||||
:help w
|
||||
:help c_CTRL-D
|
||||
:help insert-index
|
||||
:help user-manual
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 7.2: SCHRIJF EEN CONFIGURATIEBESTAND
|
||||
|
||||
** Mogelijkheden van Vim uitbreiden. **
|
||||
|
||||
Vim kent veel meer mogelijkheden dan Vi, maar de meeste zijn standaard
|
||||
uitgeschakeld. Om meer functies te gebruiken moet je een 'vimrc'-bestand
|
||||
schrijven.
|
||||
|
||||
1. Bewerk het bestand 'vimrc'. Hoe dat moet hangt af van je systeem:
|
||||
:e ~/.vimrc voor Unix
|
||||
:e $VIM/_vimrc voor MS-Windows
|
||||
|
||||
2. Lees de inhoud van het voorbeeld-bestand:
|
||||
:r $VIMRUNTIME/vimrc_example.vim
|
||||
|
||||
3. Sla het bestand op met :w
|
||||
|
||||
De volgende keer dat je Vim start wordt 'syntaxiskleuring' gebruiken.
|
||||
Je kan al je voorkeursinstellingen toevoegen aan dit 'vimrc'-bestand.
|
||||
Tik :help vimrc-intro voor meer informatie.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 7.3: AANVULLEN
|
||||
|
||||
** Aanvullen van de 'command line' met CTRL-D en <TAB>. **
|
||||
|
||||
1. Zorg dat Vim niet in 'compatible mode' is met :set nocp
|
||||
|
||||
2. Kijk welke bestanden zich in de map bevinden met :!ls of :!dir
|
||||
|
||||
3. Tik het begin van een commando: :e
|
||||
|
||||
4. Met CTRL-D toont Vim een lijst commando's, die met "e" beginnen.
|
||||
|
||||
5. Druk enkele keren <TAB>. Vim laat aanvullingen zien, zoals ":edit",
|
||||
dat we hier gebruiken.
|
||||
|
||||
6. Voeg een spatie toe en de eerste letter(s) van een bestaande
|
||||
bestandsnaam: :edit BESTAND
|
||||
|
||||
7. Druk <TAB>. Vim vult de naam aan (als hij uniek is).
|
||||
|
||||
OPMERKING: Aanvullen werkt bij tal van commando's. Probeer gewoon CTRL-D
|
||||
en <TAB>. Het is bijzonder nuttig bij :help .
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
SAMENVATTING Les 7
|
||||
|
||||
1. Tik :help of druk <F1> of <Help> om een help-venster te openen.
|
||||
|
||||
2. Tik :help CMD voor hulp over CMD .
|
||||
|
||||
3. Tik CTRL-W CTRL-W om naar een ander venster te gaan.
|
||||
|
||||
4. Tik :q om het help-venster te sluiten.
|
||||
|
||||
5. Maak een bestand met de naam 'vimrc' voor je voorkeursinstellingen.
|
||||
|
||||
6. Druk CTRL-D tijdens het intikken van een :-commando om mogelijke
|
||||
aanvullingen te zien. Druk <TAB> om aanvullen te gebruiken.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Hiermee komen de Vim-lessen tot een einde. Ze waren bedoeld om een kort
|
||||
overzicht te geven van de Vim-editor, juist voldoende om de editor
|
||||
redelijk makkelijk te gebruiken. Deze lessen zijn verre van volledig. Vim
|
||||
kent veel meer commando's. Lees hierna de handleiding voor gebruikers:
|
||||
":help user-manual".
|
||||
|
||||
Voor verdere studie wordt aanbevolen:
|
||||
Vim - Vi Improved - door Steve Oualline
|
||||
Uitgever: New Riders
|
||||
Dit is het eerste boek dat geheel aan Vim is gewijd. Speciaal geschikt
|
||||
voor beginners. Met veel voorbeelden en afbeeldingen.
|
||||
Zie http://iccf-holland.org/click5.html
|
||||
|
||||
Het volgende boek is ouder en gaat meer over Vi dan Vim, maar het wordt
|
||||
toch aanbevolen:
|
||||
Learning the Vi Editor - door Linda Lamb
|
||||
Uitgever: O'Reilly & Associates Inc.
|
||||
Het is een goed boek om nagenoeg alles te weten te komen dat je met Vi
|
||||
zou willen doen. De zesde en vooral de nieuwe zevende druk (onder de
|
||||
titel Learning the Vi and Vim Editors door Arnold Robbins, Elbert Hannah
|
||||
& Linda Lamb) bevat ook informatie over Vim.
|
||||
|
||||
Deze lessen zijn geschreven door Michael C. Pierce en Robert K. Ware,
|
||||
Colorado School of Mines met gebruikmaking van idee<65>n van Charles Smith
|
||||
van de Colorado State University. E-mail: bware@mines.colorado.edu.
|
||||
|
||||
Aangepast voor Vim door Bram Moolenaar.
|
||||
|
||||
Nederlandse vertaling door Rob Bishoff, april 2012
|
||||
e-mail: rob.bishoff@hccnet.nl)
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
950
runtime/tutor/tutor.nl.utf-8
Normal file
950
runtime/tutor/tutor.nl.utf-8
Normal file
@@ -0,0 +1,950 @@
|
||||
==========================================================================
|
||||
= W e l k o m b i j d e V I M l e s s e n - Versie 1.7 =
|
||||
==========================================================================
|
||||
|
||||
Vim is een krachtige editor met veel commando's, te veel om uit te leggen
|
||||
in lessen zoals deze. Deze lessen zijn bedoeld om voldoende commando's te
|
||||
behandelen om je in staat te stellen met Vim te werken als een editor voor
|
||||
algemeen gebruik.
|
||||
|
||||
Deze lessen zullen 25 tot 30 minuten in beslag nemen, afhankelijk van de
|
||||
tijd die wordt besteed aan het uitproberen van de commando's.
|
||||
|
||||
LET OP:
|
||||
Door de commando's in deze lessen verandert de tekst. Maak een kopie van
|
||||
dit bestand om mee te oefenen (als je "vimtutor" uitvoerde, is dit al een
|
||||
kopie).
|
||||
|
||||
Deze lessen zijn bedoeld om al doende te leren. Dat betekent dat je de
|
||||
commando's moet uitvoeren om ze goed te leren kennen. Als je de tekst
|
||||
alleen maar doorleest, zal je de commando's niet leren!
|
||||
|
||||
Zorg ervoor dat de <Caps Lock> toets NIET is ingedrukt en druk vaak genoeg
|
||||
op de j-toets om de cursor zo te bewegen dat les 1.1 volledig op het
|
||||
scherm staat.
|
||||
|
||||
LET OP: In deze lessen worden omwille van de duidelijkheid vaak spaties
|
||||
gebruikt binnen een commando (bv. "40 G" of "operator [getal] beweging").
|
||||
Tik deze spaties echter NIET. Ze verstoren de werking.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 1.1: VERPLAATS DE CURSOR
|
||||
|
||||
** De cursor wordt verplaatst met de toetsen h, j, k, l zoals aangegeven. **
|
||||
^
|
||||
k Hint: De h is de meest linkse en beweegt naar links.
|
||||
< h l > De l is de meest rechtse en beweegt naar rechts.
|
||||
j De j lijkt op een pijl naar beneden.
|
||||
v
|
||||
|
||||
1. Beweeg de cursor over het scherm om er vertrouwd mee te raken.
|
||||
|
||||
2. Druk de omlaag-toets (j) tot hij repeteert.
|
||||
Nu weet je hoe je de volgende les bereikt.
|
||||
|
||||
3. Gebruik de omlaag-toets om naar les 1.2 te gaan.
|
||||
|
||||
OPMERKING: Als je twijfelt aan wat je tikte, druk <ESC> om in de opdracht-
|
||||
modus te komen. Tik daarna het commando dat bedoeld wordt.
|
||||
|
||||
OPMERKING: Pijltjes-toetsen werken ook. Met de hjkl-toetsen kan je sneller
|
||||
rondbewegen, als je er eenmaal aan gewend bent. Echt waar!
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 1.2: VIM AFSLUITEN
|
||||
|
||||
!! LET OP: Lees deze les goed door voordat je iets uitvoert!!
|
||||
|
||||
1. Druk de <ESC> toets (om zeker in de opdrachtmodus te zitten).
|
||||
|
||||
2. Tik :q! <ENTER>
|
||||
Hiermee wordt de editor afgesloten. Alle veranderingen gaan VERLOREN.
|
||||
|
||||
3. Nu zie je de shell-prompt. Tik het commando waarmee je deze lessen
|
||||
hebt opgeroepen. Dat is normaal gesproken: vimtutor <ENTER>
|
||||
|
||||
4. Als je deze stappen goed hebt doorgelezen, voer dan de stappen 1 tot 3
|
||||
uit om de editor te verlaten en weer op te starten.
|
||||
|
||||
LET OP: :q! <ENTER> verwerpt alle veranderingen die je aanbracht. Een paar
|
||||
lessen verder zal je leren hoe veranderingen worden opgeslagen in
|
||||
een bestand.
|
||||
|
||||
5. Beweeg de cursor omlaag naar les 1.3.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 1.3: TEKST BEWERKEN - WISSEN
|
||||
|
||||
** Tik x om het teken onder de cursor te wissen. **
|
||||
|
||||
1. Ga met de cursor naar de regel verderop met --->.
|
||||
|
||||
2. Zet de cursor op een teken dat moet worden gewist om een fout te
|
||||
herstellen.
|
||||
|
||||
3. Tik x om het ongewenste teken te wissen.
|
||||
|
||||
4. Herhaal deze stappen tot de regel goed is.
|
||||
|
||||
---> Vi kkent eenn opdracccchtmodus en een invooegmmmmodus.
|
||||
|
||||
5. Nu de regel gecorrigeerd is kan je naar les 1.4 gaan.
|
||||
|
||||
LET OP: Probeer de lessen niet uit je hoofd te leren. Leer al doende.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 1.4: TEKST BEWERKEN - INVOEGEN
|
||||
|
||||
** Tik i ('insert') om tekst in te voegen. **
|
||||
|
||||
1. Ga met de cursor naar de eerste regel verderop met --->.
|
||||
|
||||
2. Maak de eerste regel gelijk aan de tweede. Zet daarvoor de cursor op
|
||||
de plaats waar tekst moet worden ingevoegd.
|
||||
|
||||
3. Tik i en daarna de nodige aanvullingen.
|
||||
|
||||
4. Tik <ESC> na elke herstelde fout om terug te keren in de opdrachtmodus.
|
||||
Herhaal de stappen 2 tot 4 om de zin te verbeteren.
|
||||
|
||||
---> Aan regel ontekt wat .
|
||||
---> Aan deze regel ontbreekt wat tekst.
|
||||
|
||||
5. Ga naar les 1.5 als je gewend bent aan het invoegen van tekst.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 1.5: TEKST BEWERKEN - TOEVOEGEN
|
||||
|
||||
** Tik A ('append') om tekst toe te voegen. **
|
||||
|
||||
1. Ga met de cursor naar de eerste regel verderop met --->.
|
||||
Het maakt niet uit waar de cursor in deze regel staat.
|
||||
|
||||
2. Tik hoofdletter A en tik de nodige aanvullingen.
|
||||
|
||||
3. Tik <ESC> nadat de tekst is aangevuld. Zo keer je terug in de
|
||||
opdrachtmodus.
|
||||
|
||||
4. Ga naar de tweede regel verderop met ---> en herhaal stap 2 en 3
|
||||
om deze zin te corrigeren.
|
||||
|
||||
---> Er ontbreekt wat tekst aan de
|
||||
Er ontbreekt wat tekst aan deze regel.
|
||||
---> Hier ontbreekt ook w
|
||||
Hier ontbreekt ook wat tekst.
|
||||
|
||||
5. Ga naar les 1.6 als je vertrouwd bent geraakt aan het toevoegen
|
||||
van tekst.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 1.6: EEN BESTAND EDITTEN
|
||||
|
||||
** Gebruik :wq om een bestand op te slaan en de editor te verlaten. **
|
||||
|
||||
!! LET OP: Lees deze les helemaal door voordat je een van de volgende
|
||||
stappen uitvoert!!
|
||||
|
||||
1. Verlaat deze les zoals je in les 1.2 deed: :q!
|
||||
Of gebruik een andere terminal als je daar de beschikking over hebt. Doe
|
||||
daar het volgende.
|
||||
|
||||
2. Tik het volgende commando na de shell-prompt: vim les <ENTER>
|
||||
'vim' (vaak ook 'vi') is het commando om de Vim-editor te starten,
|
||||
'les' is de naam van het bestand, dat je gaat bewerken. Kies een andere
|
||||
naam als er al een bestand 'les' bestaat, dat niet veranderd mag worden.
|
||||
|
||||
3. Voeg naar eigen keus tekst toe, zoals je geleerd hebt in eerdere lessen.
|
||||
|
||||
4. Sla het bestand met de wijzigingen op en verlaat Vim met :wq <ENTER>
|
||||
|
||||
5. Herstart vimtutor als je deze bij stap 1 hebt verlaten en ga verder met
|
||||
de volgende samenvatting.
|
||||
|
||||
6. Voer deze stappen uit nadat je ze hebt gelezen en begrepen.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
SAMENVATTING Les 1
|
||||
|
||||
1. De cursor wordt bewogen met de pijltjestoetsen of de hjkl-toetsen.
|
||||
h (links) j (omlaag) k (omhoog) l (rechts)
|
||||
|
||||
2. Start Vim van de shell-prompt. Tik: vim BESTANDSNAAM <ENTER>
|
||||
|
||||
3. Sluit Vim af met <ESC> :q! <ENTER> om de veranderingen weg te gooien.
|
||||
OF tik <ESC> :wq <ENTER> om de veranderingen te bewaren.
|
||||
|
||||
4. Wis het teken onder de cursor met: x
|
||||
|
||||
5. Invoegen of toevoegen van tekst, tik:
|
||||
i en daarna de in te voegen tekst <ESC> voeg in vanaf de cursor
|
||||
A en daarna de toe te voegen tekst <ESC> voeg toe achter de regel
|
||||
|
||||
OPMERKING: Met <ESC> kom je terug in opdrachtmodus en wordt een ongewenst
|
||||
of gedeeltelijk uitgevoerd commando afgebroken.
|
||||
|
||||
Ga nu verder met les 2.1.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 2.1: WIS-COMMANDO'S
|
||||
|
||||
** Tik dw ('delete word') om een woord te wissen. **
|
||||
|
||||
1. Druk op <ESC> om zeker in de opdrachtmodus te zijn.
|
||||
|
||||
2. Ga naar de regel hieronder, die met ---> begint.
|
||||
|
||||
3. Ga met de cursor naar het begin van een woord dat moet worden gewist.
|
||||
|
||||
4. Met het tikken van dw verdwijnt het woord.
|
||||
|
||||
OPMERKING: De letter d verschijnt op de laatste regel van het scherm
|
||||
zodra je hem tikt. Vim is aan het wachten tot je de w tikt.
|
||||
Als je een ander teken dan d ziet, heb je iets verkeerds
|
||||
getikt. Druk op <ESC> en begin opnieuw.
|
||||
|
||||
NOG EEN OPMERKING: Dit werkt alleen als de optie 'showcmd' is ingeschakeld.
|
||||
Dat gebeurt met :set showcmd <ENTER>
|
||||
|
||||
---> Er zijn een het paar ggg woorden, die niet in deze len zin thuishoren.
|
||||
|
||||
5. Herhaal de stappen 3 en 4 tot de zin goed is en ga naar les 2.2.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 2.2: MEER WIS-COMMANDO'S
|
||||
|
||||
** Tik d$ om te wissen tot het einde van de regel. **
|
||||
|
||||
1. Druk op <ESC> om zeker in de opdrachtmodus te zijn.
|
||||
|
||||
2. Ga naar de regel hieronder, die met ---> begint.
|
||||
|
||||
3. Ga met de cursor naar het einde van de correcte regel (NA de eerste . ).
|
||||
|
||||
4. Tik d$ om te wissen tot het einde van de regel.
|
||||
|
||||
---> Iemand heeft het einde van deze regel dubbel getikt. dubbel getikt.
|
||||
|
||||
5. Ga naar les 2.3 voor uitleg.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 2.3: OVER OPERATOREN EN BEWEGINGEN
|
||||
|
||||
Veel commando's die de tekst veranderen, bestaan uit een operator en een
|
||||
beweging. De samenstelling van een wis-commando met de operator d is:
|
||||
d beweging
|
||||
|
||||
Daarbij is:
|
||||
d - de wis-operator
|
||||
beweging - het bereik waarop de operator werkt (zie het lijstje hieronder)
|
||||
|
||||
Een korte lijst van bewegingen vanaf de cursor:
|
||||
w - tot het begin van het volgende woord, ZONDER het eerste teken daarvan.
|
||||
e - tot het einde van het huidige woord, INCLUSIEF het laatste teken.
|
||||
$ - tot het einde van de regel, INCLUSIEF het laatste teken.
|
||||
|
||||
Het tikken van de wist tekst vanaf de cursor tot het eind van het woord.
|
||||
|
||||
OPMERKING: Het intikken van alleen maar de beweging, zonder een operator,
|
||||
in de opdrachtmodus beweegt de cursor (respectievelijk naar het
|
||||
volgende woord, naar het eind van het huidige woord en naar het
|
||||
eind van de regel).
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 2.4: GEBRUIK VAN EEN TELLER BIJ EEN BEWEGING
|
||||
|
||||
** Een getal voor een beweging herhaalt het zoveel keer. **
|
||||
|
||||
1. Ga naar de regel hieronder, die met ---> begint.
|
||||
|
||||
2. Tik 2w zodat de cursor twee woorden vooruit gaat.
|
||||
|
||||
3. Tik 3e zodat de cursor naar het einde van het derde woord gaat.
|
||||
|
||||
4. Tik 0 (nul) om naar het begin van de regel te gaan.
|
||||
|
||||
5. Herhaal de stappen 2 en 3 met andere getallen.
|
||||
|
||||
---> Dit is een regel met woorden waarin je heen en weer kan bewegen.
|
||||
|
||||
6. Ga verder met les 2.5.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 2.5: GEBRUIK EEN TELLER OM MEER TE WISSEN
|
||||
|
||||
** Een getal met een operator zorgt dat deze zoveel keer wordt herhaald. **
|
||||
|
||||
Bij de combinatie van wis-operator en beweging kan je voor de beweging een
|
||||
teller zetten om meer te wissen:
|
||||
d [teller] beweging
|
||||
|
||||
1. Ga naar het eerste woord in HOOFDLETTERS in de regel na --->.
|
||||
|
||||
2. Met d2w worden twee woorden (in dit voorbeeld in hoofdletters) gewist.
|
||||
|
||||
3. Herhaal de stappen 1 en 2 met verschillende tellers om de verschillende
|
||||
woorden in hoofdletters met één commando te wissen.
|
||||
|
||||
---> deze ABC DE regel FGHI JK LMN OP is QZ RS ontdaan van rommel.
|
||||
|
||||
OPMERKING: De teller kan ook aan het begin staan: d2w en 2dw werken allebei.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 2.6: BEWERKING VAN HELE REGELS
|
||||
|
||||
** Tik dd om een hele regel te wissen. **
|
||||
|
||||
Omdat het wissen van een hele regel vaak voorkomt, besloten de ontwerpers
|
||||
van Vi dat met het tikken van dd simpelweg een hele regel gewist wordt.
|
||||
|
||||
1. Ga met de cursor naar de tweede regel van de zinnetjes hieronder.
|
||||
|
||||
2. Tik dd om de regel te wissen.
|
||||
|
||||
3. Ga nu naar de vierde regel.
|
||||
|
||||
4. Tik 2dd om twee regels te wissen.
|
||||
|
||||
---> 1) Rozen zijn rood.
|
||||
---> 2) Modder is leuk.
|
||||
---> 3) Viooltjes zijn blauw.
|
||||
---> 4) Ik heb een auto.
|
||||
---> 5) De klok slaat de tijd.
|
||||
---> 6) Suiker is zoet.
|
||||
---> 7) En dat ben jij ook.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 2.7: HET COMMANDO HERSTEL
|
||||
|
||||
** u maakt het laatste commando ongedaan, U herstelt een hele regel. **
|
||||
|
||||
1. Ga met de cursor naar de regel hieronder met ---> en zet hem
|
||||
op de eerste fout.
|
||||
|
||||
2. Tik x om het eerste ongewenste teken te wissen.
|
||||
|
||||
3. Tik nu u en maak daarmee het vorige commando ongedaan.
|
||||
|
||||
4. Herstel nu alle fouten in de regel met het x commando.
|
||||
|
||||
5. Tik een hoofdletter U om de regel in z'n oorspronkelijke staat terug
|
||||
te brengen.
|
||||
|
||||
6. Tik nu een paar keer u en herstel daarmee de U en eerdere commando's.
|
||||
|
||||
7. Tik nu een paar keer CTRL-R (Ctrl-toets ingedrukt houden en R tikken) en
|
||||
voer daarmee de commando's opnieuw uit: 'redo' oftewel 'undo de undo's'.
|
||||
|
||||
---> Heerstel de fouten inn deeze regel en brenng ze weer terugg met undo.
|
||||
|
||||
8. Dit zijn heel nuttige commando's. Ga verder met samenvatting van les 2.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
SAMENVATTING Les 2
|
||||
|
||||
1. Wis van de cursor tot het volgende woord met dw
|
||||
|
||||
2. Wis van de cursor tot het eind van de regel met d$
|
||||
|
||||
3. Wis de hele regel met dd
|
||||
|
||||
4. Herhaal een beweging door er een getal voor te zetten: 2w
|
||||
|
||||
5. De opbouw van een wijzigingscommando is:
|
||||
operator [getal] beweging
|
||||
daarbij is:
|
||||
operator - wat er moet gebeuren, bijvoorbeeld d om te wissen
|
||||
[getal] - een (niet-verplichte) teller om 'beweging' te herhalen
|
||||
beweging - een beweging door de te wijzigen tekst zoals w (woord)
|
||||
of $ (tot het einde van de regel) enz.
|
||||
|
||||
6. Ga naar het begin van de regel met nul: 0
|
||||
|
||||
7. Undo de voorgaande actie met u (kleine letter)
|
||||
Undo alle veranderingen in een regel met U (hoofdletter)
|
||||
Undo de undo's met CTRL-R
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 3.1: HET COMMANDO PLAK
|
||||
|
||||
** Tik p ('put') en plak daarmee zojuist gewiste tekst na te cursor. **
|
||||
|
||||
1. Ga met de cursor naar de eerste regel met ---> hierna.
|
||||
|
||||
2. Wis de regel met dd en bewaar hem zodoende in een Vim-register.
|
||||
|
||||
3. Ga naar de c-regel, waar de gewiste regel ONDER moet komen.
|
||||
|
||||
4. Tik p om de regel terug te zetten onder de regel met de cursor.
|
||||
|
||||
5. Herhaal de stappen 2 tot 4 om de regels in de goede volgorde te zetten.
|
||||
|
||||
---> d) Krijg je het ook onder de knie?
|
||||
---> b) Viooltjes zijn blauw,
|
||||
---> c) Begrip is te leren,
|
||||
---> a) Rozen zijn rood,
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 3.2: HET COMMANDO VERVANG
|
||||
|
||||
** Tik rx ('replace') om het teken onder de cursor te vervangen door x. **
|
||||
|
||||
1. Ga naar de eerste regel hieronder met --->.
|
||||
|
||||
2. Zet de cursor op de eerste fout.
|
||||
|
||||
3. Tik r en dan het teken dat er hoort te staan.
|
||||
|
||||
4. Herhaal de stappen 2 en 3 tot de eerste regel gelijk is aan de tweede.
|
||||
|
||||
---> Bij het tokken van dezf hegel heeft iemamd verklerde letters getikt.
|
||||
---> Bij het tikken van deze regel heeft iemand verkeerde letters getikt.
|
||||
|
||||
5. Ga nu naar les 3.3.
|
||||
|
||||
LET OP: Door het te doen, leer je beter dan door het uit je hoofd te leren.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 3.3: HET COMMANDO VERANDER
|
||||
|
||||
** Tik ce om te veranderen tot het einde van een woord. **
|
||||
|
||||
1. Ga met de cursor naar de eerste regel hieronder met --->.
|
||||
|
||||
2. Zet de cursor op de u van ruch.
|
||||
|
||||
3. Tik ce en de juiste letters (in dit geval "egel").
|
||||
|
||||
4. Druk <ESC> en ga naar het volgende teken dat moet worden veranderd.
|
||||
|
||||
5. Herhaal de stappen 3 en 4 tot de eerste regel gelijk is aan de tweede.
|
||||
|
||||
---> In deze ruch staan een paar weedrim die veranderd moud worden.
|
||||
---> In deze regel staan een paar woorden die veranderd moeten worden.
|
||||
|
||||
LET OP: Met ce wordt (het laatste deel van) een woord gewist en kom je
|
||||
in de invoegmodus.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 3.4: MEER VERANDERINGEN MET c
|
||||
|
||||
1. Het commando verander ('change') werkt op dezelfde manier als wis. De
|
||||
opbouw is:
|
||||
c [teller] beweging
|
||||
|
||||
2. De bewegingen zijn hetzelfde, zoals w (woord) en $ (einde regel).
|
||||
|
||||
3. Ga naar de eerste regel hieronder met --->.
|
||||
|
||||
4. Zet de cursor op de eerste fout.
|
||||
|
||||
5. Tik c$ en tik de rest van de regel zodat hij gelijk wordt aan de
|
||||
tweede en sluit af met <ESC>.
|
||||
|
||||
---> Het einde van deze regel moet precies zo worden als de tweede regel.
|
||||
---> Het einde van deze regel moet gecorrigeerd worden met het commando c$.
|
||||
|
||||
OPMERKING: Je kan de toets <BACKSPACE> gebruiken om tikfouten te herstellen.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
SAMENVATTING Les 3
|
||||
|
||||
1. Tik p om tekst terug te plakken, die zojuist is gewist. Dit zet de
|
||||
gewiste tekst ACHTER de cursor (als een hele regel is gewist komt deze
|
||||
op de regel ONDER de cursor.
|
||||
|
||||
2. Het teken waarop de cursor staat wordt vervangen met r gevolgd door
|
||||
het teken dat je daar wilt hebben.
|
||||
|
||||
3. Het commando 'verander' stelt je in staat om tekst te veranderen vanaf
|
||||
de cursor tot waar de 'beweging' je brengt. Dat wil zeggen: tik ce om
|
||||
te veranderen vanaf de cursor tot het einde van het woord, c$ om te
|
||||
veranderen tot het einde van de regel.
|
||||
|
||||
4. De opbouw van het commando verander is:
|
||||
c [teller] beweging
|
||||
|
||||
Ga nu naar de volgende les.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 4.1: PLAATS VAN DE CURSOR EN STATUS VAN HET BESTAND
|
||||
|
||||
** CTRL-G laat zien waar (regelnummer) je je bevindt en wat de status van
|
||||
het bestand is. Met [nummer] G ga je naar een bepaalde regel. **
|
||||
|
||||
LET OP: Lees de hele les voordat je een stap uitvoert!!
|
||||
|
||||
1. Hou de Ctrl-toets ingedrukt en tik g . Dit noemen we CTRL-G.
|
||||
Onderaan de pagina verschijnt een boodschap met de bestandsnaam en de
|
||||
positie in het bestand. Onthou het regelnummer voor stap 3.
|
||||
|
||||
OPMERKING: Als de optie 'ruler' aan staat, wordt de positie van de cursor
|
||||
(regelnummer, kolom) steeds in de rechter-onderhoek van het
|
||||
scherm vermeld. In dit geval vermeldt CTRL-G geen regelnummer.
|
||||
CTRL-G geeft ook de status aan, namelijk of de tekst veranderd
|
||||
is ('modified') sinds het de laatste keer is opgeslagen.
|
||||
|
||||
2. Tik hoofdletter G om naar het einde van het bestand te gaan.
|
||||
Tik gg om naar het begin van het bestand te gaan.
|
||||
|
||||
3. Tik het regelnummer waar je bij stap 1 was en daarna G . Dit brengt je
|
||||
terug naar de regel waar je was toen je de eerste keer CTRL-G tikte.
|
||||
|
||||
4. Voer de stappen 1 tot 3 uit als je dit goed hebt gelezen.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 4.2: HET COMMANDO ZOEKEN
|
||||
|
||||
** Met /ZOEK wordt naar de zoekterm (één of meer woorden) gezocht. **
|
||||
|
||||
1. Tik in de opdrachtmodus het teken / . Je ziet dat het met de cursor
|
||||
aan de onderkant van het scherm verschijnt, zoals bij het :-commando.
|
||||
|
||||
2. Tik nu 'ffouut' <ENTER>. Dit is het woord waarnaar gezocht wordt.
|
||||
|
||||
3. Tik n om verder te zoeken met dezelfde zoekterm.
|
||||
Zoek met N met dezelfde zoekterm in de tegenovergestelde richting.
|
||||
|
||||
4. Zoek in achterwaartse richting met ?zoekterm in plaats van / .
|
||||
|
||||
5. Keer terug naar de vorige hit met CTRL-O (hou Ctrl-toets ingedrukt en
|
||||
tik letter o). Herhaal om verder terug te gaan. CTRL-I gaat vooruit.
|
||||
|
||||
---> "ffouut" is niet de juiste spelling van fout, ffouut is een fout.
|
||||
|
||||
OPMERKING: Als zoeken het einde van het bestand bereikt, wordt vanaf het
|
||||
begin doorgezocht, tenzij de optie 'wrapscan' is uitgeschakeld.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 4.3: GA NAAR CORRESPONDERENDE HAAKJES
|
||||
|
||||
** Tik % om naar corresponderende ), ] of } te gaan. **
|
||||
|
||||
1. Zet de cursor op een (, [ of { in de regel hieronder met --->.
|
||||
|
||||
2. Tik dan het teken % .
|
||||
|
||||
3. De cursor gaan naar het overeenkomstige haakje.
|
||||
|
||||
4. Met opnieuw % gaat de cursor terug naar het eerste haakje.
|
||||
|
||||
5. Plaats de cursor op een ander haakje en bekijk wat % doet.
|
||||
|
||||
---> Dit ( is een testregel met ('s, ['s ] en {'s } erin. ))
|
||||
|
||||
OPMERKING: Dit is nuttig bij het debuggen van een programma waarin haakjes
|
||||
niet corresponderen. Met de optie 'showmatch' wordt ook
|
||||
aangegeven of haakjes corresponderen, maar de cursor wordt niet
|
||||
(blijvend) verplaatst.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 4.4: HET VERVANG COMMANDO
|
||||
|
||||
** Tik :s/oud/nieuw/g om 'oud' door 'nieuw' te vervangen. **
|
||||
|
||||
1. Ga met de cursor naar de regel hieronder met --->.
|
||||
|
||||
2. Tik :s/dee/de <ENTER>. Zoals je ziet, vervangt ('substitute') dit
|
||||
commando alleen de eerste "dee" in de regel.
|
||||
|
||||
3. Tik nu :s/dee/de/g . Met de g-vlag ('global') wordt elke "dee" in de
|
||||
regel vervangen.
|
||||
|
||||
---> dee beste tijd om dee bloemen te zien is in dee lente.
|
||||
|
||||
4. Om in (een deel van) een tekst elk 'oud' te vervangen door 'nieuw':
|
||||
tik :#,#s/oud/nieuw/g waar #,# de regelnummers zijn die het gebied
|
||||
begrenzen waarin wordt vervangen.
|
||||
tik :%s/oud/nieuw/g om alles te vervangen in het hele bestand.
|
||||
tik :%s/oud/nieuw/gc om elke 'oud' in het hele bestand te vinden
|
||||
en te vragen of er vervangen moet worden.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
SAMENVATTING Les 4
|
||||
|
||||
1. CTRL-G laat positie in het bestand zien en de status van het bestand.
|
||||
G verplaatst je naar het einde van het bestand.
|
||||
nummer G verplaatst je naar regelnummer.
|
||||
gg verplaatst je naar de eerste regel.
|
||||
|
||||
2. Met / en een zoekterm wordt VOORWAARTS gezocht naar de term.
|
||||
Met ? en een zoekterm wordt ACHTERWAARTS gezocht naar de term.
|
||||
Tik n na een zoekopdracht om de volgende hit te vinden,
|
||||
of tik N om in de andere richting te zoeken.
|
||||
CTRL-O brengt je naar eerdere hit, CTRL-I naar nieuwere.
|
||||
|
||||
3. Tik % terwijl de cursor op een haakje ([{}]) staat, om naar het
|
||||
corresponderende haakje te gaan.
|
||||
|
||||
4. :s/oud/nieuw vervangt het eerste 'oud' in een regel door 'nieuw'.
|
||||
:s/oud/nieuw/g vervangt elk 'oud' in een regel door 'nieuw'.
|
||||
:#,#s/oud/nieuw/g vervangt elk 'oud' door 'nieuw' tussen de regelnummers.
|
||||
:%s/oud/nieuw/g vervangt elk 'oud' door 'nieuw' in het hele bestand.
|
||||
Voeg c toe (:%s/oud/nieuw/gc) om elke keer om bevestiging
|
||||
('confirmation') te vragen.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 5.1: HOE EEN EXTERN COMMANDO WORDT UITGEVOERD
|
||||
|
||||
** Tik :! gevolgd door een extern commando om dat uit te voeren. **
|
||||
|
||||
1. Tik het commando : waarmee de cursor op de onderste regel van het
|
||||
scherm komt te staan. Nu kan je een opdracht geven via de commando-regel.
|
||||
|
||||
2. Tik een ! (uitroepteken). Dit stelt je in staat om elk shell-commando
|
||||
uit te voeren.
|
||||
|
||||
3. Tik bijvoorbeeld ls na het uitroepteken en daarna <ENTER>. Hiermee
|
||||
krijg je de inhoud van je map te zien, net alsof je de opdracht gaf
|
||||
vanaf de shell-prompt. Probeer :!dir als het niet werkt.
|
||||
|
||||
OPMERKING: Elk extern commando kan op deze manier uitgevoerd worden, ook
|
||||
met argumenten.
|
||||
|
||||
OPMERKING: Alle commando's na : moeten worden afgesloten met <ENTER>.
|
||||
Vanaf nu zullen we dat niet meer altijd vermelden.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 5.2: MEER OVER HET OPSLAAN VAN BESTANDEN
|
||||
|
||||
** Tik :w BESTANDSNAAM om de tekst mèt veranderingen op te slaan. **
|
||||
|
||||
1. Tik :!dir of :!ls om de inhoud van je map te tonen. Je weet
|
||||
inmiddels dat je daarna een <ENTER> moet tikken.
|
||||
|
||||
2. Kies een bestandsnaam die nog niet bestaat, bijvoorbeeld TEST.
|
||||
|
||||
3. Tik nu: :w TEST (als je de naam TEST hebt gekozen).
|
||||
|
||||
4. Hierdoor wordt het hele bestand (de VIM lessen) opgeslagen onder de
|
||||
naam TEST. Tik weer :!dir of :!ls om dit te controleren.
|
||||
|
||||
OPMERKING: Als je Vim zou verlaten en opnieuw zou starten met vim TEST is
|
||||
het bestand een exacte kopie van de lessen, zoals je ze opsloeg.
|
||||
|
||||
5. Wis het bestand nu met de opdracht (MS-DOS) :!del TEST
|
||||
of (Unix) :!rm TEST
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 5.3: EEN DEEL VAN DE TEKST OPSLAAN
|
||||
|
||||
** Sla een deel van het bestand op met v beweging :w BESTANDSNAAM **
|
||||
|
||||
1. Ga naar deze regel.
|
||||
|
||||
2. Tik v en ga met de cursor naar stap 5 hieronder. Je ziet dat de
|
||||
tekst oplicht.
|
||||
|
||||
3. Tik : . Onderaan het scherm zal :'<,'> verschijnen.
|
||||
|
||||
4. Tik w TEST , waar TEST een bestandsnaam is, die nog niet bestaat.
|
||||
Controleer dat je :'<,'>w TEST ziet staan voordat je <ENTER> tikt.
|
||||
|
||||
5. Vim slaat nu de geselecteerde regels op in het bestand TEST. Met
|
||||
:!dir of !ls kan je dat zien. Wis het nog niet! We zullen het in
|
||||
de volgende les gebruiken.
|
||||
|
||||
OPMERKING: Het tikken van v zet zichtbare modus ('visual selection') aan.
|
||||
Je kan de cursor rondbewegen om de selectie groter of kleiner
|
||||
te maken. Vervolgens kan je een commando gebruiken om iets met
|
||||
de tekst te doen. Met d bijvoorbeeld wis je de tekst.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 5.4: OPHALEN EN SAMENVOEGEN VAN BESTANDEN
|
||||
|
||||
** Tik :r BESTANDSNAAM om de inhoud van een bestand in te voegen. **
|
||||
|
||||
1. Zet de cursor precies boven deze regel.
|
||||
|
||||
OPMERKING: Na het uitvoeren van stap 2 zie je tekst van les 5.3. Scrol
|
||||
daarna naar beneden om deze les weer te zien.
|
||||
|
||||
2. Haal nu het bestand TEST op met het commando :r TEST .
|
||||
Het bestand dat je ophaalt komt onder de regel waarin de cursor staat.
|
||||
|
||||
3. Controleer dat er een bestand is opgehaald. Ga met de cursor omhoog.
|
||||
Dan zie je de tekst van les 5.3 dubbel, het origineel en de versie uit
|
||||
het bestand.
|
||||
|
||||
OPMERKING: Je kan ook de uitvoer van een extern commando inlezen. Om een
|
||||
voorbeeld te geven: :r !ls leest de uitvoer van het commando
|
||||
ls en zet dat onder de regel waarin de cursor staat.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
SAMENVATTING Les 5
|
||||
|
||||
1. :!COMMANDO voert een extern commando uit.
|
||||
Enkele bruikbare voorbeelden zijn:
|
||||
(MS-DOS) (Unix)
|
||||
:!dir :!ls - laat de inhoud van een map zien
|
||||
:!del BESTAND :!rm BESTAND - wist bestand BESTAND
|
||||
|
||||
2. :w BESTANDSNAAM schrijft het huidige Vim-bestand naar disk met de
|
||||
naam BESTANDSNAAM.
|
||||
|
||||
3. v beweging :w BESTANDSNAAM laat je in zichtbare modus een fragment
|
||||
selecteren, dat wordt opgeslagen in het bestand BESTANDSNAAM.
|
||||
|
||||
4. :r BESTANDSNAAM haalt het bestand BESTANDSNAAM op en voegt het onder
|
||||
de cursor-positie in de tekst in.
|
||||
|
||||
5. :r !dir leest de uitvoer van het externe commando dir en zet het onder
|
||||
de cursor-positie.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 6.1: HET COMMANDO OPEN
|
||||
|
||||
** Tik o om een regel onder de cursor te openen in invoegmodus. **
|
||||
|
||||
1. Ga naar de eerste regel beneden met --->.
|
||||
|
||||
2. Tik de kleine letter o en open daarmee een regel ONDER de cursor en
|
||||
ga naar de invoegmodus.
|
||||
|
||||
3. Tik wat tekst in en sluit af met <ESC> om de invoegmodus te verlaten.
|
||||
|
||||
---> Als je o tikt, komt de cursor in een nieuwe regel in invoegmodus.
|
||||
|
||||
4. Om een regel BOVEN de cursor te openen, moet je gewoon een hoofdletter
|
||||
O tikken in plaats van een kleine letter. Probeer dat vanaf de volgende
|
||||
regel.
|
||||
|
||||
---> Open een regel hierboven. Tik een O terwijl de cursor hier staat.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 6.2: HET COMMANDO TOEVOEGEN
|
||||
|
||||
** Tik a om tekst toe te voegen ACHTER de cursor. **
|
||||
|
||||
1. Ga naar het begin van de regel beneden met --->.
|
||||
|
||||
2. Tik e tot de cursor op het einde van "ste" staat.
|
||||
|
||||
3. Tik een (kleine letter) a ('append') om toe te voegen ACHTER de cursor.
|
||||
|
||||
4. Vul het woord aan zoals in de volgende regel. Druk <ESC> om de
|
||||
invoegmodus te verlaten.
|
||||
|
||||
5. Ga met e naar het einde van het volgende onvolledige woord en herhaal
|
||||
de stappen 3 en 4.
|
||||
|
||||
---> Deze regel ste je in staat om te oef in het toevo van tekst.
|
||||
Deze regel stelt je in staat om te oefenen in het toevoegen van tekst.
|
||||
|
||||
OPMERKING: a, i en A openen allemaal dezelfde invoegmodus, het enige
|
||||
verschil is waar tekens worden ingevoegd.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 6.3: VERVANGEN OP EEN ANDERE MANIER
|
||||
|
||||
** Tik een hoofdletter R om meer dan één teken te vervangen. **
|
||||
|
||||
1. Ga naar de eerste regel beneden met --->. Ga met de cursor naar het
|
||||
begin van de eerste "xxx" .
|
||||
|
||||
2. Tik nu R en daarna het getal eronder in de tweede regel, zodat xxx
|
||||
wordt vervangen.
|
||||
|
||||
3. Druk <ESC> om de vervangmodus te verlaten. Je ziet dat de rest van de
|
||||
regel ongewijzigd blijft.
|
||||
|
||||
4. Herhaal de stappen om de overgebleven xxx te vervangen.
|
||||
|
||||
---> Optellen van 123 en xxx geeft je xxx.
|
||||
---> Optellen van 123 en 456 geeft je 579.
|
||||
|
||||
OPMERKING: Vervangmodus lijkt op invoegmodus, maar elk teken dat je tikt,
|
||||
vervangt een bestaand teken.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 6.4: TEKST KOPIËREN EN PLAKKEN
|
||||
|
||||
** Gebruik y om tekst te kopiëren en p om te plakken. **
|
||||
|
||||
1. Ga naar de regel beneden met ---> en zet de cursor achter "a)".
|
||||
|
||||
2. Zet zichtbare modus aan met v en zet de cursor juist voor "eerste".
|
||||
|
||||
3. Tik y ('yank') om de opgelichte tekst ("dit is het") te kopiëren.
|
||||
|
||||
4. Ga met j$ met de cursor naar het einde van de volgende regel.
|
||||
|
||||
5. Plak de gekopieerde tekst met p en tik a tweede <ESC>.
|
||||
|
||||
6. Selecteer in zichtbare modus "onderdeel", kopieer het met y en
|
||||
ga met j$ naar het einde van de tweede regel. Plak de tekst daar
|
||||
met p .
|
||||
|
||||
---> a) dit is het eerste onderdeel
|
||||
b)
|
||||
|
||||
OPMERKING: Je kan y ook als operator gebruiken; yw kopieert een woord,
|
||||
yy een hele regel.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 6.5: OPTIES GEBRUIKEN
|
||||
|
||||
** Gebruik een optie voor al dan niet hoofdlettergevoelig zoeken. **
|
||||
|
||||
1. Zoek naar 'hoofdlettergevoelig' met /hoofdlettergevoelig <ENTER>
|
||||
Herhaal het zoeken enkele keren door n te tikken.
|
||||
|
||||
2. Schakel de optie 'ic' ('ignore case', niet-hoofdlettergevoelig) in
|
||||
met :set ic
|
||||
|
||||
3. Zoek met n opnieuw naar 'hoofdlettergevoelig'. Je ziet dat
|
||||
Hoofdlettergevoelig en HOOFDLETTERGEVOELIG nu ook gevonden worden.
|
||||
|
||||
4. Schakel de opties 'hlsearch' (treffers oplichten) en 'incsearch' (toon
|
||||
gedeeltelijke treffers bij intikken) in met :set hls is
|
||||
|
||||
5. Tik weer /hoofdlettergevoelig <ENTER> en kijk wat er gebeurt.
|
||||
|
||||
6. Schakel 'hoofdlettergevoelig' weer in met :set noic
|
||||
|
||||
OPMERKING: Schakel het oplichten van treffers uit met :nohlsearch
|
||||
|
||||
OPMERKING: Om bij een enkel zoek-commando de hoofdlettergevoeligheid om
|
||||
te draaien kan \c worden gebruikt na de zoekterm:
|
||||
/hoofdlettergevoelig\c <ENTER>.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
SAMENVATTING Les 6
|
||||
|
||||
1. Tik o om een regel te openen ONDER de cursor en invoegmodus te starten.
|
||||
Tik O om een regel te openen BOVEN de cursor.
|
||||
|
||||
2. Tik a om tekst toe te voegen NA de cursor.
|
||||
Tik A om tekst toe te voegen aan het einde van de regel.
|
||||
|
||||
3. Het commando e beweegt de cursor naar het einde van een woord.
|
||||
|
||||
4. De operator y yankt (kopieert) tekst, p zet het terug (plakt).
|
||||
|
||||
5. Met hoofdletter R wordt de vervangmodus geopend, met <ESC> afgesloten.
|
||||
|
||||
6. Met :set xxx wordt optie 'xxx' ingeschakeld. Opties zijn bijvoorbeeld:
|
||||
ic ignorecase geen verschil hoofdletters/kleine letters bij zoeken
|
||||
is incsearch toon gedeeltelijke treffers tijdens intikken zoekterm
|
||||
hls hlsearch laat alle treffers oplichten
|
||||
Je kan zowel de lange als de korte naam van een optie gebruiken.
|
||||
|
||||
7. Zet 'no' voor de naam om een optie uit te schakelen: :set noic
|
||||
schakelt 'ic' uit.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 7.1: HULP INROEPEN
|
||||
|
||||
** Het gebruik van ingebouwde hulp. **
|
||||
|
||||
Vim heeft een uitgebreid ingebouwd hulpsysteem. Probeer, om te beginnen,
|
||||
één van deze drie:
|
||||
- druk de <HELP> toets (als je die hebt)
|
||||
- druk de <F1> toets (als je die hebt)
|
||||
- tik :help <ENTER>
|
||||
|
||||
Lees de tekst in het help-venster om te leren hoe 'help' werkt.
|
||||
Tik CTRL-W CTRL-W om van het ene venster naar het andere te gaan.
|
||||
Met :q <ENTER> wordt het help-venster gesloten.
|
||||
|
||||
Je kan hulp vinden over nagenoeg elk onderwerp door een argument aan het
|
||||
commando :help toe te voegen. Probeer deze (en vergeet <ENTER> niet):
|
||||
:help w
|
||||
:help c_CTRL-D
|
||||
:help insert-index
|
||||
:help user-manual
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 7.2: SCHRIJF EEN CONFIGURATIEBESTAND
|
||||
|
||||
** Mogelijkheden van Vim uitbreiden. **
|
||||
|
||||
Vim kent veel meer mogelijkheden dan Vi, maar de meeste zijn standaard
|
||||
uitgeschakeld. Om meer functies te gebruiken moet je een 'vimrc'-bestand
|
||||
schrijven.
|
||||
|
||||
1. Bewerk het bestand 'vimrc'. Hoe dat moet hangt af van je systeem:
|
||||
:e ~/.vimrc voor Unix
|
||||
:e $VIM/_vimrc voor MS-Windows
|
||||
|
||||
2. Lees de inhoud van het voorbeeld-bestand:
|
||||
:r $VIMRUNTIME/vimrc_example.vim
|
||||
|
||||
3. Sla het bestand op met :w
|
||||
|
||||
De volgende keer dat je Vim start wordt 'syntaxiskleuring' gebruiken.
|
||||
Je kan al je voorkeursinstellingen toevoegen aan dit 'vimrc'-bestand.
|
||||
Tik :help vimrc-intro voor meer informatie.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Les 7.3: AANVULLEN
|
||||
|
||||
** Aanvullen van de 'command line' met CTRL-D en <TAB>. **
|
||||
|
||||
1. Zorg dat Vim niet in 'compatible mode' is met :set nocp
|
||||
|
||||
2. Kijk welke bestanden zich in de map bevinden met :!ls of :!dir
|
||||
|
||||
3. Tik het begin van een commando: :e
|
||||
|
||||
4. Met CTRL-D toont Vim een lijst commando's, die met "e" beginnen.
|
||||
|
||||
5. Druk enkele keren <TAB>. Vim laat aanvullingen zien, zoals ":edit",
|
||||
dat we hier gebruiken.
|
||||
|
||||
6. Voeg een spatie toe en de eerste letter(s) van een bestaande
|
||||
bestandsnaam: :edit BESTAND
|
||||
|
||||
7. Druk <TAB>. Vim vult de naam aan (als hij uniek is).
|
||||
|
||||
OPMERKING: Aanvullen werkt bij tal van commando's. Probeer gewoon CTRL-D
|
||||
en <TAB>. Het is bijzonder nuttig bij :help .
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
SAMENVATTING Les 7
|
||||
|
||||
1. Tik :help of druk <F1> of <Help> om een help-venster te openen.
|
||||
|
||||
2. Tik :help CMD voor hulp over CMD .
|
||||
|
||||
3. Tik CTRL-W CTRL-W om naar een ander venster te gaan.
|
||||
|
||||
4. Tik :q om het help-venster te sluiten.
|
||||
|
||||
5. Maak een bestand met de naam 'vimrc' voor je voorkeursinstellingen.
|
||||
|
||||
6. Druk CTRL-D tijdens het intikken van een :-commando om mogelijke
|
||||
aanvullingen te zien. Druk <TAB> om aanvullen te gebruiken.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Hiermee komen de Vim-lessen tot een einde. Ze waren bedoeld om een kort
|
||||
overzicht te geven van de Vim-editor, juist voldoende om de editor
|
||||
redelijk makkelijk te gebruiken. Deze lessen zijn verre van volledig. Vim
|
||||
kent veel meer commando's. Lees hierna de handleiding voor gebruikers:
|
||||
":help user-manual".
|
||||
|
||||
Voor verdere studie wordt aanbevolen:
|
||||
Vim - Vi Improved - door Steve Oualline
|
||||
Uitgever: New Riders
|
||||
Dit is het eerste boek dat geheel aan Vim is gewijd. Speciaal geschikt
|
||||
voor beginners. Met veel voorbeelden en afbeeldingen.
|
||||
Zie http://iccf-holland.org/click5.html
|
||||
|
||||
Het volgende boek is ouder en gaat meer over Vi dan Vim, maar het wordt
|
||||
toch aanbevolen:
|
||||
Learning the Vi Editor - door Linda Lamb
|
||||
Uitgever: O'Reilly & Associates Inc.
|
||||
Het is een goed boek om nagenoeg alles te weten te komen dat je met Vi
|
||||
zou willen doen. De zesde en vooral de nieuwe zevende druk (onder de
|
||||
titel Learning the Vi and Vim Editors door Arnold Robbins, Elbert Hannah
|
||||
& Linda Lamb) bevat ook informatie over Vim.
|
||||
|
||||
Deze lessen zijn geschreven door Michael C. Pierce en Robert K. Ware,
|
||||
Colorado School of Mines met gebruikmaking van ideeën van Charles Smith
|
||||
van de Colorado State University. E-mail: bware@mines.colorado.edu.
|
||||
|
||||
Aangepast voor Vim door Bram Moolenaar.
|
||||
|
||||
Nederlandse vertaling door Rob Bishoff, april 2012
|
||||
e-mail: rob.bishoff@hccnet.nl)
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
852
runtime/tutor/tutor.zh.utf-8
Normal file
852
runtime/tutor/tutor.zh.utf-8
Normal file
@@ -0,0 +1,852 @@
|
||||
===============================================================================
|
||||
= 歡 迎 閱 讀 《 V I M 教 程 》 ── 版本 1.5 =
|
||||
===============================================================================
|
||||
vim 是一個具有很多命令的功能非常強大的編輯器。限于篇幅,在本教程當中
|
||||
不就詳細介紹了。本教程的設計目標是講述一些必要的基本命令,而掌握好這
|
||||
些命令,您就能夠很容易將vim當作一個通用的萬能編輯器來使用了。
|
||||
|
||||
完成本教程的內容大約需要25-30分鐘,取決于您訓練的時間。
|
||||
|
||||
每一節的命令操作將會更改本文。推薦您復制本文的一個副本,然後在副本上
|
||||
進行訓練(如果您是通過"vimtutor"來啟動教程的,那麼本文就已經是副本了)。
|
||||
|
||||
切記一點︰本教程的設計思路是在使用中進行學習的。也就是說,您需要通過
|
||||
執行命令來學習它們本身的正確用法。如果您只是閱讀而不操作,那麼您可能
|
||||
會很快遺忘這些命令的!
|
||||
|
||||
好了,現在請確定您的Shift-Lock(大小寫鎖定鍵)還沒有按下,然後按鍵盤上
|
||||
的字母鍵 j 足夠多的次數來移動光標,直到第一節的內容能夠完全充滿屏幕。
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第一講第一節︰移動光標
|
||||
|
||||
|
||||
※※ 要移動光標,請依照說明分別按下 h、j、k、l 鍵。 ※※
|
||||
|
||||
^
|
||||
k 提示︰ h 的鍵位于左邊,每次按下就會向左移動。
|
||||
< h l > l 的鍵位于右邊,每次按下就會向右移動。
|
||||
j j 鍵看起來很象一支尖端方向朝下的箭頭。
|
||||
v
|
||||
|
||||
1. 請隨意在屏幕內移動光標,直至您覺得舒服為止。
|
||||
|
||||
2. 按下下行鍵(j),直到出現光標重復下行。
|
||||
|
||||
---> 現在您應該已經學會如何移動到下一講吧。
|
||||
|
||||
3. 現在請使用下行鍵,將光標移動到第二講。
|
||||
|
||||
提示︰如果您不敢確定您所按下的字母,請按下<ESC>鍵回到正常(Normal)模式。
|
||||
然後再次從鍵盤輸入您想要的命令。
|
||||
|
||||
提示︰光標鍵應當也能正常工作的。但是使用hjkl鍵,在習慣之後您就能夠快速
|
||||
地在屏幕內四處移動光標了。
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第一講第二節︰VIM的進入和退出
|
||||
|
||||
|
||||
!! 特別提示︰敬請閱讀完整本一節的內容,然後才能執行以下所講解的命令。
|
||||
|
||||
1. 請按<ESC>鍵(這是為了確保您處在正常模式)。
|
||||
|
||||
2. 然後輸入︰ :q! <回車>
|
||||
|
||||
---> 這種方式的退出編輯器絕不會保存您進入編輯器以來所做的改動。
|
||||
如果您想保存更改再退出,請輸入︰
|
||||
:wq <回車>
|
||||
|
||||
3. 如果您看到了命令行提示符,請輸入能夠帶您回到本教程的命令,那就是︰
|
||||
|
||||
vimtutor <回車>
|
||||
|
||||
通常情況下您也可以用這種方式︰
|
||||
|
||||
vim tutor <回車>
|
||||
|
||||
---> 這裡的 'vim' 表示進入vim編輯器,而 'tutor'則是您準備要編輯的文件。
|
||||
|
||||
4. 如果您自信已經牢牢記住了這些步驟的話,請從步驟1執行到步驟3退出,然
|
||||
後再次進入編輯器。接著將光標移動到第一講第三節來繼續我們的教程講解。
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第一講第三節︰文本編輯之刪除
|
||||
|
||||
|
||||
** 在正常(Normal)模式下,可以按下 x 鍵來刪除光標所在位置的字符。**
|
||||
|
||||
1. 請將光標移動到本節中下面標記有 ---> 的那一行。
|
||||
|
||||
2. 為了修正輸入錯誤,請將光標移至準備刪除的字符的位置處。
|
||||
|
||||
3. 然後按下 x 鍵將錯誤字符刪除掉。
|
||||
|
||||
4. 重復步驟2到步驟4,直到句子修正為止。
|
||||
|
||||
---> The ccow jumpedd ovverr thhe mooon.
|
||||
|
||||
5. 好了,該行已經修正了,下一節內容是第一講第四節。
|
||||
|
||||
特別提示︰在您瀏覽本教程時,不要強行記憶。記住一點︰在使用中學習。
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第一講第四節︰文本編輯之插入
|
||||
|
||||
|
||||
** 在正常模式下,可以按下 i 鍵來插入文本。**
|
||||
|
||||
1. 請將光標移動到本節中下面標記有 ---> 的第一行。
|
||||
|
||||
2. 為了使得第一行內容雷同于第二行,請將光標移至文本第一個字符準備插入
|
||||
的位置。
|
||||
|
||||
3. 然後按下 i 鍵,接著輸入必要的文本字符。
|
||||
|
||||
4. 所有文本都修正完畢,請按下 <ESC> 鍵返回正常模式。
|
||||
重復步驟2至步驟4以便修正句子。
|
||||
|
||||
---> There is text misng this .
|
||||
---> There is some text missing from this line.
|
||||
|
||||
5. 如果您對文本插入操作已經很滿意,請接著閱讀下面的小結。
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第一講小結
|
||||
|
||||
|
||||
1. 光標在屏幕文本中的移動既可以用箭頭鍵,也可以使用 hjkl 字母鍵。
|
||||
h (左移) j (下行) k (上行) l (右移)
|
||||
|
||||
2. 欲進入vim編輯器(從命令行提示符),請輸入︰vim 文件名 <回車>
|
||||
|
||||
3. 欲退出vim編輯器,請輸入以下命令放棄所有修改︰
|
||||
|
||||
<ESC> :q! <回車>
|
||||
|
||||
或者輸入以下命令保存所有修改︰
|
||||
|
||||
<ESC> :wq <回車>
|
||||
|
||||
4. 在正常模式下刪除光標所在位置的字符,請按︰ x
|
||||
|
||||
5. 在正常模式下要在光標所在位置開始插入文本,請按︰
|
||||
|
||||
i 輸入必要文本 <ESC>
|
||||
|
||||
特別提示︰按下 <ESC> 鍵會帶您回到正常模式或者取消一個不期望或者部分完成
|
||||
的命令。
|
||||
|
||||
好了,第一講到此結束。下面接下來繼續第二講的內容。
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第二講第一節︰刪除類命令
|
||||
|
||||
|
||||
** 輸入 dw 可以從光標處刪除至一個單字/單詞的末尾。**
|
||||
|
||||
1. 請按下 <ESC> 鍵確保您處于正常模式。
|
||||
|
||||
2. 請將光標移動到本節中下面標記有 ---> 的那一行。
|
||||
|
||||
3. 請將光標移至準備要刪除的單詞的開始。
|
||||
|
||||
4. 接著輸入 dw 刪除掉該單詞。
|
||||
|
||||
特別提示︰您所輸入的 dw 會在您輸入的同時出現在屏幕的最後一行。如果您輸
|
||||
入有誤,請按下 <ESC> 鍵取消,然後重新再來。
|
||||
|
||||
---> There are a some words fun that don't belong paper in this sentence.
|
||||
|
||||
5. 重復步驟3至步驟4,直至句子修正完畢。接著繼續第二講第二節內容。
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第二講第二節︰其他刪除類命令
|
||||
|
||||
|
||||
** 輸入 d$ 從當前光標刪除到行末。**
|
||||
|
||||
1. 請按下 <ESC> 鍵確保您處于正常模式。
|
||||
|
||||
2. 請將光標移動到本節中下面標記有 ---> 的那一行。
|
||||
|
||||
3. 請將光標移動到該行的尾部(也就是在第一個點號‘.’後面)。
|
||||
|
||||
4. 然後輸入 d$ 從光標處刪至當前行尾部。
|
||||
|
||||
---> Somebody typed the end of this line twice. end of this line twice.
|
||||
|
||||
|
||||
5. 請繼續學習第二講第三節就知道是怎麼回事了。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第二講第三節︰關于命令和對象
|
||||
|
||||
|
||||
刪除命令 d 的格式如下︰
|
||||
|
||||
[number] d object 或者 d [number] object
|
||||
|
||||
其意如下︰
|
||||
number - 代表執行命令的次數(可選項,缺省設置為 1 )。
|
||||
d - 代表刪除。
|
||||
object - 代表命令所要操作的對象(下面有相關介紹)。
|
||||
|
||||
一個簡短的對象列表︰
|
||||
w - 從當前光標當前位置直到單字/單詞末尾,包括空格。
|
||||
e - 從當前光標當前位置直到單字/單詞末尾,但是 *不* 包括空格。
|
||||
$ - 從當前光標當前位置直到當前行末。
|
||||
|
||||
特別提示︰
|
||||
對于勇于探索者,請在正常模式下面僅按代表相應對象的鍵而不使用命令,則
|
||||
將看到光標的移動正如上面的對象列表所代表的一樣。
|
||||
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第二講第四節︰對象命令的特殊情況
|
||||
|
||||
|
||||
** 輸入 dd 可以刪除整一個當前行。 **
|
||||
|
||||
鑒于整行刪除的高頻度,VIM 的設計者決定要簡化整行刪除,僅需要在同一行上
|
||||
擊打兩次 d 就可以刪除掉光標所在的整行了。
|
||||
|
||||
1. 請將光標移動到本節中下面的短句段落中的第二行。
|
||||
2. 輸入 dd 刪除該行。
|
||||
3. 然後移動到第四行。
|
||||
4. 接著輸入 2dd (還記得前面講過的 number-command-object 嗎?) 刪除兩行。
|
||||
|
||||
1) Roses are red,
|
||||
2) Mud is fun,
|
||||
3) Violets are blue,
|
||||
4) I have a car,
|
||||
5) Clocks tell time,
|
||||
6) Sugar is sweet
|
||||
7) And so are you.
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第二講第五節︰撤消類命令
|
||||
|
||||
|
||||
** 輸入 u 來撤消最後執行的命令,輸入 U 來修正整行。**
|
||||
|
||||
1. 請將光標移動到本節中下面標記有 ---> 的那一行,並將其置于第一個錯誤
|
||||
處。
|
||||
2. 輸入 x 刪除第一個不想保留的字母。
|
||||
3. 然後輸入 u 撤消最後執行的(一次)命令。
|
||||
4. 這次要使用 x 修正本行的所有錯誤。
|
||||
5. 現在輸入一個大寫的 U ,恢復到該行的原始狀態。
|
||||
6. 接著多次輸入 u 以撤消 U 以及更前的命令。
|
||||
7. 然後多次輸入 CTRL-R (先按下 CTRL 鍵不放開,接著輸入 R 鍵) ,這樣就
|
||||
可以執行恢復命令,也就是撤消掉撤消命令。
|
||||
|
||||
---> Fiix the errors oon thhis line and reeplace them witth undo.
|
||||
|
||||
8. 這些都是非常有用的命令。下面是第二講的小結了。
|
||||
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第二講小結
|
||||
|
||||
|
||||
1. 欲從當前光標刪除至單字/單詞末尾,請輸入︰dw
|
||||
|
||||
2. 欲從當前光標刪除至當前行末尾,請輸入︰d$
|
||||
|
||||
3. 欲刪除整行,請輸入︰dd
|
||||
|
||||
4. 在正常模式下一個命令的格式是︰
|
||||
|
||||
[number] command object 或者 command [number] object
|
||||
其意是︰
|
||||
number - 代表的是命令執行的次數
|
||||
command - 代表要做的事情,比如 d 代表刪除
|
||||
object - 代表要操作的對象,比如 w 代表單字/單詞,$ 代表到行末等等。
|
||||
$ (to the end of line), etc.
|
||||
|
||||
5. 欲撤消以前的操作,請輸入︰u (小寫的u)
|
||||
欲撤消在一行中所做的改動,請輸入︰U (大寫的U)
|
||||
欲撤消以前的撤消命令,恢復以前的操作結果,請輸入︰CTRL-R
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第三講第一節︰置入類命令
|
||||
|
||||
|
||||
** 輸入 p 將最後一次刪除的內容置入光標之後 **
|
||||
|
||||
1. 請將光標移動到本節中下面示范段落的首行。
|
||||
|
||||
2. 輸入 dd 將該行刪除,這樣會將該行保存到vim的緩沖區中。
|
||||
|
||||
3. 接著將光標移動到準備置入的位置的上方。記住︰是上方哦。
|
||||
|
||||
4. 然後在正常模式下(<ESC>鍵進入),輸入 p 將該行粘貼置入。
|
||||
|
||||
5. 重復步驟2至步驟4,將所有的行依序放置到正確的位置上。
|
||||
|
||||
d) Can you learn too?
|
||||
b) Violets are blue,
|
||||
c) Intelligence is learned,
|
||||
a) Roses are red,
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第三講第二節︰替換類命令
|
||||
|
||||
|
||||
** 輸入 r 和一個字符替換光標所在位置的字符。**
|
||||
|
||||
1. 請將光標移動到本節中下面標記有 ---> 的第一行。
|
||||
|
||||
2. 請移動光標到第一個錯誤的適當位置。
|
||||
|
||||
3. 接著輸入 r ,這樣就能將錯誤替換掉了。
|
||||
|
||||
4. 重復步驟2和步驟3,直到第一行已經修改完畢。
|
||||
|
||||
---> Whan this lime was tuoed in, someone presswd some wrojg keys!
|
||||
---> When this line was typed in, someone pressed some wrong keys!
|
||||
|
||||
5. 然後我們繼續學校第三講第三節。
|
||||
|
||||
特別提示︰切記您要在使用中學習,而不是在記憶中學習。
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第三講第三節︰更改類命令
|
||||
|
||||
|
||||
** 要改變一個單字/單詞的部分或者全部,請輸入 cw **
|
||||
|
||||
1. 請將光標移動到本節中下面標記有 ---> 的第一行。
|
||||
|
||||
2. 接著把光標放在單詞 lubw 的字母 u 的位置那裡。
|
||||
|
||||
3. 然後輸入 cw 就可以修正該單詞了(在本例這裡是輸入 ine 。)
|
||||
|
||||
4. 最後按 <ESC> 鍵,然後光標定位到下一個錯誤第一個準備更改的字母處。
|
||||
|
||||
5. 重復步驟3和步驟4,直到第一個句子完全雷同第二個句子。
|
||||
|
||||
---> This lubw has a few wptfd that mrrf changing usf the change command.
|
||||
---> This line has a few words that need changing using the change command.
|
||||
|
||||
提示︰請注意 cw 命令不僅僅是替換了一個單詞,也讓您進入文本插入狀態了。
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第三講第四節︰使用c指令的其他更改類命令
|
||||
|
||||
|
||||
** 更改類指令可以使用同刪除類命令所使用的對象參數。**
|
||||
|
||||
1. 更改類指令的工作方式跟刪除類命令是一致的。操作格式是︰
|
||||
|
||||
[number] c object 或者 c [number] object
|
||||
|
||||
2. 對象參數也是一樣的,比如 w 代表單字/單詞,$代表行末等等。
|
||||
|
||||
3. 請將光標移動到本節中下面標記有 ---> 的第一行。
|
||||
|
||||
4. 接著將光標移動到第一個錯誤處。
|
||||
|
||||
5. 然後輸入 c$ 使得該行剩下的部分更正得同第二行一樣。最後按 <ESC> 鍵。
|
||||
|
||||
---> The end of this line needs some help to make it like the second.
|
||||
---> The end of this line needs to be corrected using the c$ command.
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第三講小結
|
||||
|
||||
|
||||
1. 要重新置入已經刪除的文本內容,請輸入小寫字母 p。該操作可以將已刪除
|
||||
的文本內容置于光標之後。如果最後一次刪除的是一個整行,那麼該行將置
|
||||
于當前光標所在行的下一行。
|
||||
|
||||
2. 要替換光標所在位置的字符,請輸入小寫的 r 和要替換掉原位置字符的新字
|
||||
符即可。
|
||||
|
||||
3. 更改類命令允許您改變指定的對象,從當前光標所在位置直到對象的末尾。
|
||||
比如輸入 cw 可以替換當前光標到單詞的末尾的內容;輸入 c$ 可以替換當
|
||||
前光標到行末的內容。
|
||||
|
||||
4. 更改類命令的格式是︰
|
||||
|
||||
[number] c object 或者 c [number] object
|
||||
|
||||
下面我們繼續學習下一講。
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第四講第一節︰定位及文件狀態
|
||||
|
||||
|
||||
** 輸入 CTRL-g 顯示當前編輯文件中當前光標所在行位置以及文件狀態信息。
|
||||
輸入 SHIFT-G 則直接跳轉到文件中的某一指定行。**
|
||||
|
||||
提示︰切記要先通讀本節內容,之後才可以執行以下步驟!!!
|
||||
|
||||
1. 按下 CTRL 鍵不放開然後按 g 鍵。然後就會看到頁面最底部出現一個狀態信
|
||||
息行,顯示的內容是當前編輯的文件名和文件的總行數。請記住步驟3的行號。
|
||||
|
||||
2. 按下 SHIFT-G 鍵可以使得當前光標直接跳轉到文件最後一行。
|
||||
|
||||
3. 輸入您曾停留的行號,然後按下 SHIFT-G。這樣就可以返回到您第一次按下
|
||||
CTRL-g 時所在的行好了。注意︰輸入行號時,行號是不會在屏幕上顯示出來
|
||||
的。
|
||||
|
||||
4. 如果願意,您可以繼續執行步驟1至步驟三。
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第四講第二節︰搜索類命令
|
||||
|
||||
|
||||
** 輸入 / 以及尾隨的字符串可以用以在當前文件中查找該字符串。**
|
||||
|
||||
1. 在正常模式下輸入 / 字符。您此時會注意到該字符和光標都會出現在屏幕底
|
||||
部,這跟 : 命令是一樣的。
|
||||
|
||||
2. 接著輸入 errroor <回車>。那個errroor就是您要查找的字符串。
|
||||
|
||||
3. 要查找同上一次的字符串,只需要按 n 鍵。要向相反方向查找同上一次的字
|
||||
符串,請輸入 Shift-N 即可。
|
||||
|
||||
4. 如果您想逆向查找字符串,請使用 ? 代替 / 進行。
|
||||
|
||||
---> When the search reaches the end of the file it will continue at the start.
|
||||
|
||||
"errroor" is not the way to spell error; errroor is an error.
|
||||
|
||||
提示︰如果查找已經到達文件末尾,查找會自動從文件頭部繼續查找。
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第四講第三節︰配對括號的查找
|
||||
|
||||
|
||||
** 按 % 可以查找配對的括號 )、]、}。**
|
||||
|
||||
1. 把光標放在本節下面標記有 --> 那一行中的任何一個 (、[ 或 { 處。
|
||||
|
||||
2. 接著按 % 字符。
|
||||
|
||||
3. 此時光標的位置應當是在配對的括號處。
|
||||
|
||||
4. 再次按 % 就可以跳回配對的第一個括號處。
|
||||
|
||||
---> This ( is a test line with ('s, ['s ] and {'s } in it. ))
|
||||
|
||||
提示︰在程序調試時,這個功能用來查找不配對的括號是很有用的。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第四講第四節︰修正錯誤的方法之一
|
||||
|
||||
|
||||
** 輸入 :s/old/new/g 可以替換 old 為 new。**
|
||||
|
||||
1. 請將光標移動到本節中下面標記有 ---> 的那一行。
|
||||
|
||||
2. 輸入 :s/thee/the <回車> 。請注意該命令只改變光標所在行的第一個匹配
|
||||
串。
|
||||
|
||||
3. 輸入 :s/thee/the/g 則是替換全行的匹配串。
|
||||
|
||||
---> the best time to see thee flowers is in thee spring.
|
||||
|
||||
4. 要替換兩行之間出現的每個匹配串,請輸入 :#,#s/old/new/g (#,#代表的是
|
||||
兩行的行號)。輸入 :%s/old/new/g 則是替換整個文件中的每個匹配串。
|
||||
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第四講小結
|
||||
|
||||
|
||||
1. Ctrl-g 用于顯示當前光標所在位置和文件狀態信息。Shift-G 用于將光標跳
|
||||
轉至文件最後一行。先敲入一個行號然後按 Shift-G 則是將光標移動至該行
|
||||
號代表的行。
|
||||
|
||||
2. 輸入 / 然後緊隨一個字符串是則是在當前所編輯的文檔中向後查找該字符串。
|
||||
輸入問號 ? 然後緊隨一個字符串是則是在當前所編輯的文檔中向前查找該字
|
||||
符串。完成一次查找之後按 n 鍵則是重復上一次的命令,可在同一方向上查
|
||||
找下一個字符串所在;或者按 Shift-N 向相反方向查找下該字符串所在。
|
||||
|
||||
3. 如果光標當前位置是括號(、)、[、]、{、},按 % 可以將光標移動到配對的
|
||||
括號上。
|
||||
|
||||
4. 在一行內替換頭一個字符串 old 為新的字符串 new,請輸入 :s/old/new
|
||||
在一行內替換所有的字符串 old 為新的字符串 new,請輸入 :s/old/new/g
|
||||
在兩行內替換所有的字符串 old 為新的字符串 new,請輸入 :#,#s/old/new/g
|
||||
在文件內替換所有的字符串 old 為新的字符串 new,請輸入 :%s/old/new/g
|
||||
進行全文替換時詢問用戶確認每個替換需添加 c 選項,請輸入 :%s/old/new/gc
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第五講第一節︰在 VIM 內執行外部命令的方法
|
||||
|
||||
|
||||
** 輸入 :! 然後緊隨著輸入一個外部命令可以執行該外部命令。**
|
||||
|
||||
1. 按下我們所熟悉的 : 命令設置光標到屏幕底部。這樣就可以讓您輸入命令了。
|
||||
|
||||
2. 接著輸入感嘆號 ! 這個字符,這樣就允許您執行外部的 shell 命令了。
|
||||
|
||||
3. 我們以 ls 命令為例。輸入 !ls <回車> 。該命令就會列舉出您當前目錄的
|
||||
內容,就如同您在命令行提示符下輸入 ls 命令的結果一樣。如果 !ls 沒起
|
||||
作用,您可以試試 :!dir 看看。
|
||||
|
||||
---> 提示︰ 所有的外部命令都可以以這種方式執行。
|
||||
|
||||
---> 提示︰ 所有的 : 命令都必須以 <回車> 告終。
|
||||
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第五講第二節︰關于保存文件的更多信息
|
||||
|
||||
|
||||
** 要將對文件的改動保存到文件中,請輸入 :w FILENAME **
|
||||
|
||||
1. 輸入 :!dir 或者 :!ls 獲知當前目錄的內容。您應當已知道最後還得敲
|
||||
<回車> 吧。
|
||||
|
||||
2. 選擇一個尚未存在文件名,比如 TEST 。
|
||||
|
||||
3. 接著輸入 :w TEST (此處 TEST 是您所選擇的文件名。)
|
||||
|
||||
4. 該命令會以 TEST 為文件名保存整個文件 (VIM 教程)。為了確保正確保存,
|
||||
請再次輸入 :!dir 查看您的目錄列表內容。
|
||||
|
||||
---> 請注意︰如果您退出 VIM 然後在以文件名 TEST 為參數進入,那麼該文件內
|
||||
容應該同您保存時的文件內容是完全一樣的。
|
||||
|
||||
5. 現在您可以通過輸入 :!rm TEST 來刪除 TEST 文件了。
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第五講第三節︰一個具有選擇性的保存命令
|
||||
|
||||
|
||||
** 要保存文件的部分內容,請輸入 :#,# w FILENAME **
|
||||
|
||||
1. 再來執行一次 :!dir 或者 :!ls 獲知當前目錄的內容,然後選擇一個合適的
|
||||
不重名的文件名,比如 TEST 。
|
||||
|
||||
2. 接著將光標移動至本頁的最頂端,然後按 CTRL-g 找到該行的行號。別忘了
|
||||
行號哦。
|
||||
|
||||
3. 接著把光標移動至本頁的最底端,再按一次 CTRL-g 。也別忘了這個行好哦。
|
||||
|
||||
4. 為了只保存文章的某個部分,請輸入 :#,# w TEST 。這裡的 #,# 就是上面
|
||||
要求您記住的行號(頂端行號,底端行號),而 TEST 就是選定的文件名。
|
||||
|
||||
5. 最後,用 :!dir 確認文件是否正確保存。但是這次先別刪除掉。
|
||||
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第五講第四節︰提取和合並文件
|
||||
|
||||
|
||||
** 要向當前文件中插入另外的文件的內容,請輸入 :r FILENAME **
|
||||
|
||||
1. 請鍵入 :!dir 確認您前面創建的 TEST 文件還在。
|
||||
|
||||
2. 然後將光標移動至當前頁面的頂端。
|
||||
|
||||
特別提示︰ 執行步驟3之後您將看到第五講第三節,請屆時再往下移動回到這裡來。
|
||||
|
||||
3. 接著通過 :r TEST 將前面創建的名為 TEST 的文件提取進來。
|
||||
|
||||
特別提示︰您所提取進來的文件將從光標所在位置處開始置入。
|
||||
|
||||
4. 為了確認文件已經提取成功,移動光標回到原來的位置就可以注意有兩份第
|
||||
五講第三節,一份是原本,另外一份是來自文件的副本。
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第五講小結
|
||||
|
||||
|
||||
1. :!command 用于執行一個外部命令 command。
|
||||
|
||||
請看一些實際例子︰
|
||||
:!dir - 用于顯示當前目錄的內容。
|
||||
:!rm FILENAME - 用于刪除名為 FILENAME 的文件。
|
||||
|
||||
2. :w FILENAME 可將當前 VIM 中正在編輯的文件保存到名為 FILENAME
|
||||
的文件中。
|
||||
|
||||
3. :#,#w FILENAME 可將當前編輯文件第 # 行至第 # 行的內容保存到文件
|
||||
FILENAME 中。
|
||||
|
||||
4. :r FILENAME 可提取磁盤文件 FILENAME 並將其插入到當前文件的光標位置
|
||||
後面。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第六講第一節︰打開類命令
|
||||
|
||||
|
||||
** 輸入 o 將在光標的下方打開新的一行並進入插入模式。**
|
||||
|
||||
1. 請將光標移動到本節中下面標記有 ---> 的那一行。
|
||||
|
||||
2. 接著輸入小寫的 o 在光標 *下方* 打開新的一行並進入插入模式。
|
||||
|
||||
3. 然後復制標記有 ---> 的行並按 <ESC> 鍵退出插入模式而進入正常模式。
|
||||
|
||||
---> After typing o the cursor is placed on the open line in Insert mode.
|
||||
|
||||
4. 為了在光標 *上方* 打開新的一行,只需要輸入大寫的 O 而不是小寫的 o
|
||||
就可以了。請在下行測試一下吧。當光標處在在該行上時,按 Shift-O可以
|
||||
在該行上方新開一行。
|
||||
|
||||
Open up a line above this by typing Shift-O while the cursor is on this line.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第六講第二節︰光標後插入類命令
|
||||
|
||||
|
||||
** 輸入 a 將可在光標之後插入文本。 **
|
||||
|
||||
1. 請在正常模式下通過輸入 $ 將光標移動到本節中下面標記有 ---> 的第一行
|
||||
的末尾。
|
||||
|
||||
2. 接著輸入小寫的 a 則可在光標之後插入文本了。大寫的 A 則可以直接在行
|
||||
末插入文本。
|
||||
|
||||
提示︰輸入大寫 A 的操作方法可以在行末插入文本,避免了輸入 i,光標定位到
|
||||
最後一個字符,輸入的文本,<ESC> 回復正常模式,箭頭右鍵移動光標以及
|
||||
x 刪除當前光標所在位置字符等等諸多繁雜的操作。
|
||||
|
||||
3. 操作之後第一行就可以補充完整了。請注意光標後插入文本與插入模式是基
|
||||
本完全一致的,只是文本插入的位置定位稍有不同罷了。
|
||||
|
||||
---> This line will allow you to practice
|
||||
---> This line will allow you to practice appending text to the end of a line.
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第六講第三節︰另外一個置換類命令的版本
|
||||
|
||||
|
||||
** 輸入大寫的 R 可連續替換多個字符。**
|
||||
|
||||
1. 請將光標移動到本節中下面標記有 ---> 的第一行。
|
||||
|
||||
2. 移動光標到第一行中不同于標有 ---> 的第二行的第一個單詞的開始,即單
|
||||
詞 last 處。
|
||||
|
||||
3. 然後輸入大寫的 R 開始把第一行中的不同于第二行的剩余字符逐一輸入,就
|
||||
可以全部替換掉原有的字符而使得第一行完全雷同第二行了。
|
||||
|
||||
---> To make the first line the same as the last on this page use the keys.
|
||||
---> To make the first line the same as the second, type R and the new text.
|
||||
|
||||
4. 請注意︰如果您按 <ESC> 退出置換模式回復正常模式,尚未替換的文本將仍
|
||||
然保持原狀。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第六講第四節︰設置類命令的選項
|
||||
|
||||
|
||||
** 設置可使查找或者替換可忽略大小寫的選項 **
|
||||
|
||||
|
||||
1. 要查找單詞 ignore 可在正常模式下輸入 /ignore 。要重復查找該詞,可以
|
||||
重復按 n 鍵。
|
||||
|
||||
2. 然後設置 ic 選項(ic就是英文忽略大小寫Ignore Case的首字母縮寫詞),即
|
||||
輸入︰
|
||||
:set ic
|
||||
|
||||
3. 現在可以通過鍵入 n 鍵再次查找單詞 ignore。重復查找可以重復鍵入 n 鍵。
|
||||
|
||||
4. 然後設置 hlsearch 和 incsearch 這兩個選項,輸入以下內容︰
|
||||
:set hls is
|
||||
|
||||
5. 現在可以再次輸入查找命令,看看會有什麼效果︰
|
||||
/ignore
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第六講小結
|
||||
|
||||
|
||||
1. 輸入小寫的 o 可以在光標下方打開新的一行並將光標置于新開的行首,進入
|
||||
插入模式。
|
||||
輸入大寫的 O 可以在光標上方打開新的一行並將光標置于新開的行首,進入
|
||||
插入模式。
|
||||
|
||||
2. 輸入小寫的 a 可以在光標所在位置之後插入文本。
|
||||
輸入大寫的 A 可以在光標所在行的行末之後插入文本。
|
||||
|
||||
3. 輸入大寫的 R 將進入替換模式,直至按 <ESC> 鍵退出替換模式而進入正常
|
||||
模式。
|
||||
|
||||
4. 輸入 :set xxx 可以設置 xxx 選項。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第七講︰在線幫助命令
|
||||
|
||||
** 使用在線幫助系統 **
|
||||
|
||||
Vim 擁有一個細致全面的在線幫助系統。要啟動該幫助系統,請選擇如下三種方
|
||||
法之一︰
|
||||
- 按下 <HELP> 鍵 (如果鍵盤上有的話)
|
||||
- 按下 <F1> 鍵 (如果鍵盤上有的話)
|
||||
- 輸入 :help <回車>
|
||||
|
||||
輸入 :q <回車> 可以關閉幫助窗口。
|
||||
|
||||
提供一個正確的參數給":help"命令,您可以找到關于該主題的幫助。請試驗以
|
||||
下參數(可別忘了按回車鍵哦。:)︰
|
||||
|
||||
:help w <回車>
|
||||
:help c_<T <回車>
|
||||
:help insert-index <回車>
|
||||
:help user-manual <回車>
|
||||
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第八講︰創建一個啟動腳本
|
||||
|
||||
** 啟用vim的功能 **
|
||||
|
||||
Vim的功能特性要比vi多得多,但大部分功能都沒有缺省激活。為了啟動更多的
|
||||
功能,您得創建一個vimrc文件。
|
||||
|
||||
1. 開始編輯vimrc文件,這取決于您所使用的操作系統︰
|
||||
|
||||
:edit ~/.vimrc 這是Unix系統所使用的命令
|
||||
:edit $VIM/_vimrc 這是Windows系統所使用的命令
|
||||
|
||||
2. 接著導入vimrc范例文件︰
|
||||
|
||||
:read $VIMRUNTIME/vimrc_example.vim
|
||||
|
||||
3. 保存文件,命令為︰
|
||||
|
||||
:write
|
||||
|
||||
在下次您啟動vim的時候,編輯器就會有了語法高亮的功能。您可以繼續把您喜
|
||||
歡的其它功能設置添加到這個vimrc文件中。
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
vim 教程到此結束。本教程只是為了簡明地介紹一下vim編輯器,但已足以讓您
|
||||
很容易學會使用本編輯器了。毋庸質疑,vim還有很多很多的命令,本教程所介
|
||||
紹的還差得遠著呢。所以您要精通的話,還望繼續努力哦。下一步您可以閱讀
|
||||
vim手冊,使用的命令是︰
|
||||
:help user-manual
|
||||
|
||||
為了更進一步的參考和學習,以下這本書值得推薦︰
|
||||
|
||||
Vim - Vi Improved - 作者︰Steve Oualline
|
||||
出版社︰New Riders
|
||||
|
||||
這是第一本完全講解vim的書籍。對于初學者特別有用。其中還包含有大量實例
|
||||
和圖示。欲知詳情,請訪問 http://iccf-holland.org/click5.html
|
||||
|
||||
以下這本書比較老了而且內容主要是vi而不是vim,但是也值得推薦︰
|
||||
|
||||
Learning the Vi Editor - 作者︰Linda Lamb
|
||||
出版社︰O'Reilly & Associates Inc.
|
||||
|
||||
這是一本不錯的書,通過它您幾乎能夠了解到全部vi能夠做到的事情。此書的第
|
||||
六個版本也包含了一些關于vim的信息。
|
||||
|
||||
本教程是由來自Calorado School of Minese的Michael C. Pierce、Robert K.
|
||||
Ware 所編寫的,其中來自Colorado State University的Charles Smith提供了
|
||||
很多創意。編者通信地址是︰
|
||||
|
||||
bware@mines.colorado.edu
|
||||
|
||||
本教程已由Bram Moolenaar專為vim進行修訂。
|
||||
|
||||
|
||||
|
||||
譯制者附言︰
|
||||
===========
|
||||
簡體中文教程翻譯版之譯制者為梁昌泰 <beos@turbolinux.com.cn>,還有
|
||||
另外一個聯系地址︰linuxrat@gnuchina.org。
|
||||
|
||||
繁體中文教程是從簡體中文教程翻譯版使用 Debian GNU/Linux 中文項目小
|
||||
組的于廣輝先生編寫的中文漢字轉碼器 autoconvert 轉換而成的,並對轉
|
||||
換的結果做了一些細節的改動。
|
||||
|
||||
變更記錄︰
|
||||
=========
|
||||
2002年08月30日 梁昌泰 <beos@turbolinux.com.cn>
|
||||
感謝 RMS@SMTH 的指正,將多處錯誤修正。
|
||||
|
||||
2002年04月22日 梁昌泰 <linuxrat@gnuchina.org>
|
||||
感謝 xuandong@sh163.net 的指正,將兩處錯別字修正。
|
||||
|
||||
2002年03月18日 梁昌泰 <linuxrat@gnuchina.org>
|
||||
根據Bram Molenaar先生在2002年03月16日的來信要求,將vimtutor1.4中譯
|
||||
版升級到vimtutor1.5。
|
||||
|
||||
2001年11月15日 梁昌泰 <linuxrat@gnuchina.org>
|
||||
將vimtutor1.4中譯版提交給Bram Molenaar和Sven Guckes。
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -527,7 +527,7 @@ STDMETHODIMP_(ULONG) CShellExt::Release()
|
||||
//
|
||||
// PARAMETERS:
|
||||
// pIDFolder - Specifies the parent folder
|
||||
// pDataObj - Spefifies the set of items selected in that folder.
|
||||
// pDataObj - Specifies the set of items selected in that folder.
|
||||
// hRegKey - Specifies the type of the focused item in the selection.
|
||||
//
|
||||
// RETURN VALUE:
|
||||
|
||||
@@ -330,7 +330,7 @@ perl_env :
|
||||
Also VMS_JACKETS.EXE from OpenVMS Porting Library.
|
||||
|
||||
Please note, that GTK uses /name=(as_is,short)/float=ieee/ieee=denorm
|
||||
complier directives that is not compatible with "standard" VMS usage,
|
||||
compiler directives that is not compatible with "standard" VMS usage,
|
||||
therefore other external features might fail as PERL, PYTHON and TCL
|
||||
support.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Makefile for VIM on Win32, using Cygnus gcc
|
||||
# Last updated by Dan Sharp. Last Change: 2013 Feb 17
|
||||
# Last updated by Dan Sharp. Last Change: 2013 Apr 22
|
||||
#
|
||||
# Also read INSTALLpc.txt!
|
||||
#
|
||||
@@ -48,7 +48,7 @@
|
||||
# USEDLL no or yes: set to yes to use the Runtime library DLL (no)
|
||||
# For USEDLL=yes the cygwin1.dll is required to run Vim.
|
||||
# For "no" the mingw-gcc-g++ package or the mingw64-i686-gcc-g++
|
||||
# package is required to complie Vim. Or set CC to gcc-3 and add
|
||||
# package is required to compile Vim. Or set CC to gcc-3 and add
|
||||
# -L/lib/w32api to EXTRA_LIBS.
|
||||
# POSTSCRIPT no or yes: set to yes for PostScript printing (no)
|
||||
# FEATURES TINY, SMALL, NORMAL, BIG or HUGE (BIG)
|
||||
@@ -672,6 +672,9 @@ endif
|
||||
$(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_DEP)
|
||||
$(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
|
||||
|
||||
$(OUTDIR)/regexp.o: regexp.c regexp_nfa.c $(INCL)
|
||||
$(CC) -c $(CFLAGS) regexp.c -o $(OUTDIR)/regexp.o
|
||||
|
||||
$(OUTDIR)/if_mzsch.o: if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP)
|
||||
$(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o
|
||||
|
||||
|
||||
@@ -765,6 +765,9 @@ if_perl.c: if_perl.xs typemap
|
||||
$(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC)
|
||||
$(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
|
||||
|
||||
$(OUTDIR)/regexp.o: regexp.c regexp_nfa.c $(INCL)
|
||||
$(CC) -c $(CFLAGS) regexp.c -o $(OUTDIR)/regexp.o
|
||||
|
||||
$(OUTDIR)/if_mzsch.o: if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP)
|
||||
$(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
#
|
||||
# !!!! After changing features do "nmake clean" first !!!!
|
||||
#
|
||||
# Feature Set: FEATURES=[TINY, SMALL, NORMAL, BIG, HUGE] (default is BIG)
|
||||
# Feature Set: FEATURES=[TINY, SMALL, NORMAL, BIG, HUGE] (default is BIG)
|
||||
#
|
||||
# GUI interface: GUI=yes (default is no)
|
||||
#
|
||||
@@ -87,20 +87,20 @@
|
||||
# GETTEXT=[yes or no] (default is yes)
|
||||
# See http://sourceforge.net/projects/gettext/
|
||||
#
|
||||
# PostScript printing: POSTSCRIPT=yes (default is no)
|
||||
# PostScript printing: POSTSCRIPT=yes (default is no)
|
||||
#
|
||||
# Netbeans Support: NETBEANS=[yes or no] (default is yes if GUI is yes)
|
||||
# Netbeans Support: NETBEANS=[yes or no] (default is yes if GUI is yes)
|
||||
#
|
||||
# XPM Image Support: XPM=[path to XPM directory]
|
||||
# Default is "xpm", using the files included in the distribution.
|
||||
# Use "no" to disable this feature.
|
||||
# XPM Image Support: XPM=[path to XPM directory]
|
||||
# Default is "xpm", using the files included in the distribution.
|
||||
# Use "no" to disable this feature.
|
||||
#
|
||||
# Optimization: OPTIMIZE=[SPACE, SPEED, MAXSPEED] (default is MAXSPEED)
|
||||
# Optimization: OPTIMIZE=[SPACE, SPEED, MAXSPEED] (default is MAXSPEED)
|
||||
#
|
||||
# Processor Version: CPUNR=[i386, i486, i586, i686, pentium4] (default is
|
||||
# i386)
|
||||
# Processor Version: CPUNR=[i386, i486, i586, i686, pentium4] (default is
|
||||
# i386)
|
||||
#
|
||||
# Version Support: WINVER=[0x0400, 0x0500] (default is 0x0400)
|
||||
# Version Support: WINVER=[0x0400, 0x0500] (default is 0x0400)
|
||||
#
|
||||
# Debug version: DEBUG=yes
|
||||
# Mapfile: MAP=[no, yes or lines] (default is yes)
|
||||
@@ -108,10 +108,12 @@
|
||||
# yes: Write a normal mapfile.
|
||||
# lines: Write a mapfile with line numbers (only for VC6 and later)
|
||||
#
|
||||
# Netbeans Debugging Support: NBDEBUG=[yes or no] (should be no, yes
|
||||
# doesn't work)
|
||||
# Netbeans Debugging Support: NBDEBUG=[yes or no] (should be no, yes
|
||||
# doesn't work)
|
||||
#
|
||||
# Visual C Version: MSVCVER=m.n (default derived from nmake if undefined)
|
||||
# Visual C Version: MSVCVER=m.n (default derived from nmake if undefined)
|
||||
#
|
||||
# Static Code Analysis: ANALYZE=yes (works with VS2012 only)
|
||||
#
|
||||
# You can combine any of these interfaces
|
||||
#
|
||||
@@ -416,9 +418,12 @@ MSVCVER = 11.0
|
||||
!if "$(_NMAKE_VER)" == "11.00.51106.1"
|
||||
MSVCVER = 11.0
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "11.00.60315.1"
|
||||
MSVCVER = 11.0
|
||||
!endif
|
||||
!endif
|
||||
|
||||
# Abort bulding VIM if version of VC is unrecognised.
|
||||
# Abort building VIM if version of VC is unrecognised.
|
||||
!ifndef MSVCVER
|
||||
!message *** ERROR
|
||||
!message Cannot determine Visual C version being used. If you are using the
|
||||
@@ -476,6 +481,11 @@ OPTFLAG = $(OPTFLAG) /GL
|
||||
CFLAGS=$(CFLAGS) $(WP64CHECK)
|
||||
!endif
|
||||
|
||||
# Static code analysis generally available starting with VS2012
|
||||
!if ("$(ANALYZE)" == "yes") && ("$(MSVCVER)" == "11.0")
|
||||
CFLAGS=$(CFLAGS) /analyze
|
||||
!endif
|
||||
|
||||
CFLAGS = $(CFLAGS) $(OPTFLAG) -DNDEBUG $(CPUARG)
|
||||
RCFLAGS = $(rcflags) $(rcvars) -DNDEBUG
|
||||
! ifdef USE_MSVCRT
|
||||
@@ -1163,7 +1173,7 @@ $(OUTDIR)/popupmnu.obj: $(OUTDIR) popupmnu.c $(INCL)
|
||||
|
||||
$(OUTDIR)/quickfix.obj: $(OUTDIR) quickfix.c $(INCL)
|
||||
|
||||
$(OUTDIR)/regexp.obj: $(OUTDIR) regexp.c $(INCL)
|
||||
$(OUTDIR)/regexp.obj: $(OUTDIR) regexp.c regexp_nfa.c $(INCL)
|
||||
|
||||
$(OUTDIR)/screen.obj: $(OUTDIR) screen.c $(INCL)
|
||||
|
||||
|
||||
@@ -251,7 +251,7 @@ clean:
|
||||
|
||||
# generate GlobalSymbolTable, which speeds up the compile time.
|
||||
#
|
||||
# A preprocessing stage is used to work arounda bug in the GST generator, in
|
||||
# A preprocessing stage is used to work around a bug in the GST generator, in
|
||||
# that it does not handle nested makefiles properly in this stage.
|
||||
# Ignore error message for not producing any code (105).
|
||||
$(GST): scoptions vim.h keymap.h macros.h ascii.h term.h structs.h
|
||||
@@ -283,7 +283,7 @@ $(PRO): $(GST) vim.h
|
||||
.c.pro:
|
||||
$(CC) $(CFLAGS) GPFILE=proto/$*.pro $(PROPT) $*.c
|
||||
|
||||
# dependancies
|
||||
# dependencies
|
||||
blowfish.o: blowfish.c
|
||||
proto/blowfish.pro: blowfish.c
|
||||
buffer.o: buffer.c
|
||||
|
||||
@@ -34,7 +34,7 @@ DECC = YES
|
||||
# SMALL - Few features enabled, as basic as possible
|
||||
# NORMAL - A default selection of features enabled
|
||||
# BIG - Many features enabled, as rich as possible. (default)
|
||||
# HUGE - All possible featues enabled.
|
||||
# HUGE - All possible features enabled.
|
||||
# Please select one of these alternatives above.
|
||||
MODEL = HUGE
|
||||
|
||||
@@ -55,7 +55,7 @@ MODEL = HUGE
|
||||
# Comment out if you want the compiler version with :ver command.
|
||||
# NOTE: This part can make some complications if you're using some
|
||||
# predefined symbols/flags for your compiler. If does, just leave behind
|
||||
# the comment varialbe CCVER.
|
||||
# the comment variable CCVER.
|
||||
CCVER = YES
|
||||
|
||||
# Uncomment if want a debug version. Resulting executable is DVIM.EXE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# *************************************************************
|
||||
# * WARNING!
|
||||
# * This was originally produced by the IDE, but has since been
|
||||
# * modifed to make it work properly. Adjust with care!
|
||||
# * modified to make it work properly. Adjust with care!
|
||||
# * In particular, leave LinkerLocalOptsAtW16_gvim16dexe alone
|
||||
# * unless you are a guru.
|
||||
# *************************************************************
|
||||
|
||||
47
src/Makefile
47
src/Makefile
@@ -200,7 +200,7 @@
|
||||
#Solaris 2.5 (sun4m) cc (SC4.0) +X11R6 +GUI (CDE) 4.6b (E) Andrew Large
|
||||
#Solaris 2.5 cc +X11 +GUI Athena 4.2 (9) Sonia Heimann
|
||||
#Solaris 2.5 gcc 2.5.6 +X11 Motif 5.0m (R) Ant. Colombo
|
||||
#Solaris 2.6 gcc 2.8.1 ncursus 5.3 (G) Larry W. Virden
|
||||
#Solaris 2.6 gcc 2.8.1 ncurses 5.3 (G) Larry W. Virden
|
||||
#Solaris with -lthread 5.5 (W) K. Nagano
|
||||
#Solaris gcc (b) Riccardo
|
||||
#SunOS 4.1.x +X11 -GUI 5.1b (J) Bram Moolenaar
|
||||
@@ -231,8 +231,8 @@
|
||||
# (D) Uncomment lines below for QNX
|
||||
# (E) You might want to use termlib instead of termcap, see below.
|
||||
# (F) See below for instructions.
|
||||
# (G) Using ncursus version 4.2 has reported to cause a crash. Use the
|
||||
# Sun cursus library instead.
|
||||
# (G) Using ncurses version 4.2 has reported to cause a crash. Use the
|
||||
# Sun curses library instead.
|
||||
# (H) See line for EXTRA_LIBS below.
|
||||
# (I) SINIX-N 5.42 and 5.43 need some EXTRA_LIBS. Also for Reliant-Unix.
|
||||
# (J) If you get undefined symbols, see below for a solution.
|
||||
@@ -402,7 +402,7 @@ CClink = $(CC)
|
||||
# to the command line. If you see strange flags during compilation, check in
|
||||
# auto/config.mk where they come from. If it's PERL_CFLAGS, try commenting
|
||||
# the next line.
|
||||
# When you get an error for a missing "perl.exp" file, try creating an emtpy
|
||||
# When you get an error for a missing "perl.exp" file, try creating an empty
|
||||
# one: "touch perl.exp".
|
||||
# This requires at least "small" features, "tiny" doesn't work.
|
||||
#CONF_OPT_PERL = --enable-perlinterp
|
||||
@@ -454,7 +454,7 @@ CClink = $(CC)
|
||||
|
||||
# MULTIBYTE - To edit multi-byte characters.
|
||||
# Uncomment this when you want to edit a multibyte language.
|
||||
# It's automatically enabled with big features or IME support.
|
||||
# It's automatically enabled with normal features, GTK or IME support.
|
||||
# Note: Compile on a machine where setlocale() actually works, otherwise the
|
||||
# configure tests may fail.
|
||||
#CONF_OPT_MULTIBYTE = --enable-multibyte
|
||||
@@ -601,7 +601,7 @@ LINT_OPTIONS = -beprxzF
|
||||
# Might not work with GUI or Perl.
|
||||
# For unknown reasons adding "-lc" fixes a linking problem with some versions
|
||||
# of GCC. That's probably a bug in the "-pg" implementation.
|
||||
# After running Vim see the profile result with: gmon vim gmon.out | vim -
|
||||
# After running Vim see the profile result with: gprof vim gmon.out | vim -
|
||||
# Need to recompile everything after changing this: "make clean" "make".
|
||||
#PROFILE_CFLAGS = -pg -g -DWE_ARE_PROFILING
|
||||
#PROFILE_LIBS = -pg
|
||||
@@ -1294,7 +1294,7 @@ ALL_GUI_PRO = gui.pro gui_gtk.pro gui_motif.pro gui_xmdlg.pro gui_athena.pro gu
|
||||
### prototype headers are ignored due to -DPROTO, system
|
||||
### headers #include <...> are ignored if we use the -MM option, as
|
||||
### e.g. provided by gcc-cpp.
|
||||
### Include FEAT_GUI to get gependency on gui.h
|
||||
### Include FEAT_GUI to get dependency on gui.h
|
||||
### Need to change "-I /<path>" to "-isystem /<path>" for GCC 3.x.
|
||||
CPP_DEPEND = $(CC) -I$(srcdir) -M$(CPP_MM) \
|
||||
`echo "$(DEPEND_CFLAGS)" $(DEPEND_CFLAGS_FILTER)`
|
||||
@@ -1717,7 +1717,7 @@ CCC = $(CC) -c -I$(srcdir) $(ALL_CFLAGS)
|
||||
|
||||
|
||||
# Link the target for normal use or debugging.
|
||||
# A shell script is used to try linking without unneccesary libraries.
|
||||
# A shell script is used to try linking without unnecessary libraries.
|
||||
$(VIMTARGET): auto/config.mk objects $(OBJ) version.c version.h
|
||||
$(CCC) version.c -o objects/version.o
|
||||
@LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \
|
||||
@@ -1837,8 +1837,8 @@ types.vim: $(TAGS_SRC) $(TAGS_INCL)
|
||||
#
|
||||
# This will produce a lot of garbage on your screen, including a few error
|
||||
# messages. Don't worry about that.
|
||||
# If there is a real error, there will be a difference between "test.out" and
|
||||
# a "test99.ok" file.
|
||||
# If there is a real error, there will be a difference between "testXX.out" and
|
||||
# a "testXX.ok" file.
|
||||
# If everything is alright, the final message will be "ALL DONE". If not you
|
||||
# get "TEST FAILURE".
|
||||
#
|
||||
@@ -1861,6 +1861,19 @@ unittest unittests: $(UNITTEST_TARGETS)
|
||||
./$$t || exit 1; echo $$t passed; \
|
||||
done
|
||||
|
||||
# Run individual test, assuming that Vim was already compiled.
|
||||
test1 test2 test3 test4 test5 test6 test7 test8 test9 test10 \
|
||||
test11 test12 test13 test14 test15 test16 test17 test18 test19 \
|
||||
test21 test22 test23 test24 test25 test26 test27 test28 test29 \
|
||||
test31 test32 test33 test34 test35 test36 test37 test38 test39 \
|
||||
test41 test42 test43 test44 test45 test46 test47 test48 test49 \
|
||||
test51 test52 test53 test54 test55 test56 test57 test58 test59 \
|
||||
test61 test62 test63 test64 test65 test66 test67 test68 test69 \
|
||||
test71 test72 test73 test74 test75 test76 test77 test78 test79 \
|
||||
test81 test82 test83 test84 test85 test86 test87 test88 test89 \
|
||||
test91 test92 test93 test94 test95 test96 test97 test98 test99:
|
||||
cd testdir; rm $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET)
|
||||
|
||||
testclean:
|
||||
cd testdir; $(MAKE) -f Makefile clean
|
||||
if test -d $(PODIR); then \
|
||||
@@ -2664,7 +2677,7 @@ objects/popupmnu.o: popupmnu.c
|
||||
objects/quickfix.o: quickfix.c
|
||||
$(CCC) -o $@ quickfix.c
|
||||
|
||||
objects/regexp.o: regexp.c
|
||||
objects/regexp.o: regexp.c regexp_nfa.c
|
||||
$(CCC) -o $@ regexp.c
|
||||
|
||||
objects/screen.o: screen.c
|
||||
@@ -2779,9 +2792,9 @@ bundle-rsrc: os_mac.rsr.hqx
|
||||
mv gui_mac.rsrc.rsrcfork $(RESDIR)/$(VIMNAME).rsrc
|
||||
|
||||
# po/Make_osx.pl says something about generating a Mac message file
|
||||
# for Ukrananian. Would somebody using Mac OS X in Ukranian
|
||||
# for Ukrainian. Would somebody using Mac OS X in Ukrainian
|
||||
# *really* be upset that Carbon Vim was not localised in
|
||||
# Ukranian?
|
||||
# Ukrainian?
|
||||
#
|
||||
#bundle-language: bundle-dir po/Make_osx.pl
|
||||
# cd po && perl Make_osx.pl --outdir ../$(RESDIR) $(MULTILANG)
|
||||
@@ -2938,10 +2951,10 @@ objects/quickfix.o: quickfix.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/regexp.o: regexp.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
objects/regexp.o: regexp.c regexp_nfa.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/screen.o: screen.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
|
||||
@@ -654,7 +654,7 @@ void COleAutomationControl::ErrDiag ()
|
||||
}
|
||||
|
||||
char Buf[256];
|
||||
sprintf (Buf, "An OLE error occured:\r\nCode = %s\r\nResult = %lx.",
|
||||
sprintf (Buf, "An OLE error occurred:\r\nCode = %s\r\nResult = %lx.",
|
||||
(char*) ErrName, m_hResult);
|
||||
MessageBox (NULL, Buf, "OLE Error", MB_OK);
|
||||
}
|
||||
|
||||
@@ -220,7 +220,7 @@ Troubleshooting
|
||||
2. Close Visual Studio.
|
||||
3. Delete VisVim.dll or move it somewhere it can't be found.
|
||||
4. Run Visual Studio.
|
||||
5. Tools -> Cursomize ->Add-ins and Macro-Files.
|
||||
5. Tools -> Customize ->Add-ins and Macro-Files.
|
||||
6. A message appears:
|
||||
".../VisVim.dll" "This add-in no longer exists. It will
|
||||
no longer be displayed."
|
||||
@@ -298,7 +298,7 @@ P9 Switching to DevStudio using ALT-TAB may get annoying. Would be nice to
|
||||
P8 Execute :tag command in Vim for word under cursor in DevStudio
|
||||
|
||||
P7 Controlling the Visual Studio Debugger from inside Vim
|
||||
See message above. Also a 'Debug' highligh group and a
|
||||
See message above. Also a 'Debug' highlight group and a
|
||||
command to highlight a certain line would be necessary.
|
||||
|
||||
P6 Provide an option to open the current file in VisVim in
|
||||
|
||||
41
src/auto/configure
vendored
41
src/auto/configure
vendored
@@ -4737,15 +4737,24 @@ $as_echo "no" >&6; }
|
||||
if test -f "${vi_cv_path_lua_pfx}/bin/cyglua-${vi_cv_version_lua}.dll"; then
|
||||
vi_cv_dll_name_lua="cyglua-${vi_cv_version_lua}.dll"
|
||||
else
|
||||
for LUA_SOVER in "${vi_cv_version_lua}.so" ".so.${vi_cv_version_lua}"; do
|
||||
for i in 0 1 2 3 4 5 6 7 8 9; do
|
||||
if test -f "${vi_cv_path_lua_pfx}/lib/liblua${LUA_SOVER}.$i"; then
|
||||
LUA_SONAME=".$i"
|
||||
break
|
||||
fi
|
||||
multiarch=`dpkg-architecture -qDEB_HOST_MULTIARCH 2> /dev/null`
|
||||
if test "X$multiarch" != "X"; then
|
||||
lib_multiarch="lib/${multiarch}"
|
||||
fi
|
||||
for subdir in "${lib_multiarch}" lib64 lib; do
|
||||
if test -z "$subdir"; then
|
||||
continue
|
||||
fi
|
||||
for sover in "${vi_cv_version_lua}.so" "-${vi_cv_version_lua}.so" ".so.${vi_cv_version_lua}"; do
|
||||
for i in .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 ""; do
|
||||
if test -f "${vi_cv_path_lua_pfx}/${subdir}/liblua${sover}$i"; then
|
||||
sover2="$i"
|
||||
break 3
|
||||
fi
|
||||
done
|
||||
done
|
||||
vi_cv_dll_name_lua="liblua${LUA_SOVER}$LUA_SONAME"
|
||||
done
|
||||
vi_cv_dll_name_lua="liblua${sover}$sover2"
|
||||
fi
|
||||
$as_echo "#define DYNAMIC_LUA 1" >>confdefs.h
|
||||
|
||||
@@ -5280,10 +5289,10 @@ fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_var_python_version" >&5
|
||||
$as_echo "$vi_cv_var_python_version" >&6; }
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Python is 1.4 or better" >&5
|
||||
$as_echo_n "checking Python is 1.4 or better... " >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Python is 2.2 or better" >&5
|
||||
$as_echo_n "checking Python is 2.2 or better... " >&6; }
|
||||
if ${vi_cv_path_python} -c \
|
||||
"import sys; sys.exit(${vi_cv_var_python_version} < 1.4)"
|
||||
"import sys; sys.exit(${vi_cv_var_python_version} < 2.2)"
|
||||
then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yep" >&5
|
||||
$as_echo "yep" >&6; }
|
||||
@@ -5822,7 +5831,7 @@ else
|
||||
/* If this program fails, then RTLD_GLOBAL is needed.
|
||||
* RTLD_GLOBAL will be used and then it is not possible to
|
||||
* have both python versions enabled in the same vim instance.
|
||||
* Only the first pyhton version used will be switched on.
|
||||
* Only the first python version used will be switched on.
|
||||
*/
|
||||
|
||||
int no_rtl_global_needed_for(char *python_instsoname, char *prefix)
|
||||
@@ -5888,7 +5897,7 @@ else
|
||||
/* If this program fails, then RTLD_GLOBAL is needed.
|
||||
* RTLD_GLOBAL will be used and then it is not possible to
|
||||
* have both python versions enabled in the same vim instance.
|
||||
* Only the first pyhton version used will be switched on.
|
||||
* Only the first python version used will be switched on.
|
||||
*/
|
||||
|
||||
int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix)
|
||||
@@ -7647,7 +7656,11 @@ fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if X11 header files implicitly declare return values" >&5
|
||||
$as_echo_n "checking if X11 header files implicitly declare return values... " >&6; }
|
||||
cflags_save=$CFLAGS
|
||||
CFLAGS="$CFLAGS $X_CFLAGS -Werror"
|
||||
if test "$GCC" = yes; then
|
||||
CFLAGS="$CFLAGS $X_CFLAGS -Werror"
|
||||
else
|
||||
CFLAGS="$CFLAGS $X_CFLAGS"
|
||||
fi
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <X11/Xlib.h>
|
||||
@@ -10580,7 +10593,7 @@ if test "x$vim_cv_tty_group" != "xworld" ; then
|
||||
_ACEOF
|
||||
|
||||
if test "x$vim_cv_tty_mode" = "x" ; then
|
||||
as_fn_error "It seems you're cross compiling and have 'vim_cv_tty_group' set, please also set the environment variable 'vim_cv_tty_mode' to the correct mode (propably 0620)" "$LINENO" 5
|
||||
as_fn_error "It seems you're cross compiling and have 'vim_cv_tty_group' set, please also set the environment variable 'vim_cv_tty_mode' to the correct mode (probably 0620)" "$LINENO" 5
|
||||
else
|
||||
$as_echo "#define PTYMODE 0620" >>confdefs.h
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
:: command to build big Vim with OLE, Perl, Python, Ruby and Tcl
|
||||
SET VCDIR="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\"
|
||||
SET TOOLDIR=E:\
|
||||
%VCDIR%nmake -f Make_mvc.mak GUI=yes OLE=yes PERL=E:\perl514 DYNAMIC_PERL=yes PERL_VER=514 PYTHON=%TOOLDIR%python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=%TOOLDIR%python32 DYNAMIC_PYTHON3=yes PYTHON3_VER=32 RUBY=%TOOLDIR%ruby192 DYNAMIC_RUBY=yes RUBY_VER=192 RUBY_VER_LONG=1.9.2 TCL=%TOOLDIR%tcl TCL_VER=85 TCL_VER_LONG=8.5 DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes
|
||||
%VCDIR%nmake -f Make_mvc.mak GUI=yes OLE=yes PERL=E:\perl514 DYNAMIC_PERL=yes PERL_VER=514 PYTHON=%TOOLDIR%python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=%TOOLDIR%python32 DYNAMIC_PYTHON3=yes PYTHON3_VER=32 RUBY=%TOOLDIR%ruby192 DYNAMIC_RUBY=yes RUBY_VER=19 RUBY_VER_LONG=1.9.2 TCL=%TOOLDIR%tcl TCL_VER=85 TCL_VER_LONG=8.5 DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes
|
||||
|
||||
|
||||
103
src/buffer.c
103
src/buffer.c
@@ -648,6 +648,9 @@ free_buffer(buf)
|
||||
buf_T *buf;
|
||||
{
|
||||
free_buffer_stuff(buf, TRUE);
|
||||
#ifdef FEAT_EVAL
|
||||
unref_var_dict(buf->b_vars);
|
||||
#endif
|
||||
#ifdef FEAT_LUA
|
||||
lua_buffer_free(buf);
|
||||
#endif
|
||||
@@ -689,8 +692,8 @@ free_buffer_stuff(buf, free_options)
|
||||
#endif
|
||||
}
|
||||
#ifdef FEAT_EVAL
|
||||
vars_clear(&buf->b_vars.dv_hashtab); /* free all internal variables */
|
||||
hash_init(&buf->b_vars.dv_hashtab);
|
||||
vars_clear(&buf->b_vars->dv_hashtab); /* free all internal variables */
|
||||
hash_init(&buf->b_vars->dv_hashtab);
|
||||
#endif
|
||||
#ifdef FEAT_USR_CMDS
|
||||
uc_clear(&buf->b_ucmds); /* clear local user commands */
|
||||
@@ -928,7 +931,8 @@ do_bufdel(command, arg, addr_count, start_bnr, end_bnr, forceit)
|
||||
if (!VIM_ISDIGIT(*arg))
|
||||
{
|
||||
p = skiptowhite_esc(arg);
|
||||
bnr = buflist_findpat(arg, p, command == DOBUF_WIPE, FALSE);
|
||||
bnr = buflist_findpat(arg, p, command == DOBUF_WIPE,
|
||||
FALSE, FALSE);
|
||||
if (bnr < 0) /* failed */
|
||||
break;
|
||||
arg = p;
|
||||
@@ -1693,6 +1697,17 @@ buflist_new(ffname, sfname, lnum, flags)
|
||||
vim_free(ffname);
|
||||
return NULL;
|
||||
}
|
||||
#ifdef FEAT_EVAL
|
||||
/* init b: variables */
|
||||
buf->b_vars = dict_alloc();
|
||||
if (buf->b_vars == NULL)
|
||||
{
|
||||
vim_free(ffname);
|
||||
vim_free(buf);
|
||||
return NULL;
|
||||
}
|
||||
init_var_dict(buf->b_vars, &buf->b_bufvar, VAR_SCOPE);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (ffname != NULL)
|
||||
@@ -1777,10 +1792,6 @@ buflist_new(ffname, sfname, lnum, flags)
|
||||
buf->b_wininfo->wi_fpos.lnum = lnum;
|
||||
buf->b_wininfo->wi_win = curwin;
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
/* init b: variables */
|
||||
init_var_dict(&buf->b_vars, &buf->b_bufvar, VAR_SCOPE);
|
||||
#endif
|
||||
#ifdef FEAT_SYN_HL
|
||||
hash_init(&buf->b_s.b_keywtab);
|
||||
hash_init(&buf->b_s.b_keywtab_ic);
|
||||
@@ -1994,7 +2005,7 @@ buflist_getfile(n, lnum, options, forceit)
|
||||
* "buf" if one exists */
|
||||
if (swb_flags & SWB_USEOPEN)
|
||||
wp = buf_jump_open_win(buf);
|
||||
/* If 'switchbuf' contians "usetab": jump to first window in any tab
|
||||
/* If 'switchbuf' contains "usetab": jump to first window in any tab
|
||||
* page containing "buf" if one exists */
|
||||
if (wp == NULL && (swb_flags & SWB_USETAB))
|
||||
wp = buf_jump_open_tab(buf);
|
||||
@@ -2129,18 +2140,20 @@ buflist_findname_stat(ffname, stp)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#if defined(FEAT_LISTCMDS) || defined(FEAT_EVAL) || defined(FEAT_PERL) || defined(PROTO)
|
||||
#if defined(FEAT_LISTCMDS) || defined(FEAT_EVAL) || defined(FEAT_PERL) \
|
||||
|| defined(PROTO)
|
||||
/*
|
||||
* Find file in buffer list by a regexp pattern.
|
||||
* Return fnum of the found buffer.
|
||||
* Return < 0 for error.
|
||||
*/
|
||||
int
|
||||
buflist_findpat(pattern, pattern_end, unlisted, diffmode)
|
||||
buflist_findpat(pattern, pattern_end, unlisted, diffmode, curtab_only)
|
||||
char_u *pattern;
|
||||
char_u *pattern_end; /* pointer to first char after pattern */
|
||||
int unlisted; /* find unlisted buffers */
|
||||
int diffmode UNUSED; /* find diff-mode buffers only */
|
||||
int curtab_only; /* find buffers in current tab only */
|
||||
{
|
||||
buf_T *buf;
|
||||
regprog_T *prog;
|
||||
@@ -2208,6 +2221,23 @@ buflist_findpat(pattern, pattern_end, unlisted, diffmode)
|
||||
#endif
|
||||
&& buflist_match(prog, buf) != NULL)
|
||||
{
|
||||
if (curtab_only)
|
||||
{
|
||||
/* Ignore the match if the buffer is not open in
|
||||
* the current tab. */
|
||||
#ifdef FEAT_WINDOWS
|
||||
win_T *wp;
|
||||
|
||||
for (wp = firstwin; wp != NULL; wp = wp->w_next)
|
||||
if (wp->w_buffer == buf)
|
||||
break;
|
||||
if (wp == NULL)
|
||||
continue;
|
||||
#else
|
||||
if (curwin->w_buffer != buf)
|
||||
continue;
|
||||
#endif
|
||||
}
|
||||
if (match >= 0) /* already found a match */
|
||||
{
|
||||
match = -2;
|
||||
@@ -2381,12 +2411,7 @@ fname_match(prog, name)
|
||||
if (name != NULL)
|
||||
{
|
||||
regmatch.regprog = prog;
|
||||
#ifdef CASE_INSENSITIVE_FILENAME
|
||||
regmatch.rm_ic = TRUE; /* Always ignore case */
|
||||
#else
|
||||
regmatch.rm_ic = FALSE; /* Never ignore case */
|
||||
#endif
|
||||
|
||||
regmatch.rm_ic = p_fic; /* ignore case when 'fileignorecase' is set */
|
||||
if (vim_regexec(®match, name, (colnr_T)0))
|
||||
match = name;
|
||||
else
|
||||
@@ -3481,7 +3506,7 @@ build_stl_str_hl(wp, out, outlen, fmt, use_sandbox, fillchar,
|
||||
char_u *p;
|
||||
char_u *s;
|
||||
char_u *t;
|
||||
char_u *linecont;
|
||||
int byteval;
|
||||
#ifdef FEAT_EVAL
|
||||
win_T *o_curwin;
|
||||
buf_T *o_curbuf;
|
||||
@@ -3548,12 +3573,21 @@ build_stl_str_hl(wp, out, outlen, fmt, use_sandbox, fillchar,
|
||||
fillchar = '-';
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Get line & check if empty (cursorpos will show "0-1").
|
||||
* If inversion is possible we use it. Else '=' characters are used.
|
||||
*/
|
||||
linecont = ml_get_buf(wp->w_buffer, wp->w_cursor.lnum, FALSE);
|
||||
empty_line = (*linecont == NUL);
|
||||
/* Get line & check if empty (cursorpos will show "0-1"). Note that
|
||||
* p will become invalid when getting another buffer line. */
|
||||
p = ml_get_buf(wp->w_buffer, wp->w_cursor.lnum, FALSE);
|
||||
empty_line = (*p == NUL);
|
||||
|
||||
/* Get the byte value now, in case we need it below. This is more
|
||||
* efficient than making a copy of the line. */
|
||||
if (wp->w_cursor.col > (colnr_T)STRLEN(p))
|
||||
byteval = 0;
|
||||
else
|
||||
#ifdef FEAT_MBYTE
|
||||
byteval = (*mb_ptr2char)(p + wp->w_cursor.col);
|
||||
#else
|
||||
byteval = p[wp->w_cursor.col];
|
||||
#endif
|
||||
|
||||
groupdepth = 0;
|
||||
p = out;
|
||||
@@ -3931,16 +3965,7 @@ build_stl_str_hl(wp, out, outlen, fmt, use_sandbox, fillchar,
|
||||
case STL_BYTEVAL_X:
|
||||
base = 'X';
|
||||
case STL_BYTEVAL:
|
||||
if (wp->w_cursor.col > (colnr_T)STRLEN(linecont))
|
||||
num = 0;
|
||||
else
|
||||
{
|
||||
#ifdef FEAT_MBYTE
|
||||
num = (*mb_ptr2char)(linecont + wp->w_cursor.col);
|
||||
#else
|
||||
num = linecont[wp->w_cursor.col];
|
||||
#endif
|
||||
}
|
||||
num = byteval;
|
||||
if (num == NL)
|
||||
num = 0;
|
||||
else if (num == CAR && get_fileformat(wp->w_buffer) == EOL_MAC)
|
||||
@@ -4526,7 +4551,7 @@ do_arg_all(count, forceit, keep_tabs)
|
||||
* When the ":tab" modifier was used do this for all tab pages.
|
||||
*/
|
||||
if (had_tab > 0)
|
||||
goto_tabpage_tp(first_tabpage, TRUE);
|
||||
goto_tabpage_tp(first_tabpage, TRUE, TRUE);
|
||||
for (;;)
|
||||
{
|
||||
tpnext = curtab->tp_next;
|
||||
@@ -4638,7 +4663,7 @@ do_arg_all(count, forceit, keep_tabs)
|
||||
if (!valid_tabpage(tpnext))
|
||||
tpnext = first_tabpage; /* start all over...*/
|
||||
# endif
|
||||
goto_tabpage_tp(tpnext, TRUE);
|
||||
goto_tabpage_tp(tpnext, TRUE, TRUE);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -4742,13 +4767,13 @@ do_arg_all(count, forceit, keep_tabs)
|
||||
if (last_curtab != new_curtab)
|
||||
{
|
||||
if (valid_tabpage(last_curtab))
|
||||
goto_tabpage_tp(last_curtab, TRUE);
|
||||
goto_tabpage_tp(last_curtab, TRUE, TRUE);
|
||||
if (win_valid(last_curwin))
|
||||
win_enter(last_curwin, FALSE);
|
||||
}
|
||||
/* to window with first arg */
|
||||
if (valid_tabpage(new_curtab))
|
||||
goto_tabpage_tp(new_curtab, TRUE);
|
||||
goto_tabpage_tp(new_curtab, TRUE, TRUE);
|
||||
if (win_valid(new_curwin))
|
||||
win_enter(new_curwin, FALSE);
|
||||
|
||||
@@ -4800,7 +4825,7 @@ ex_buffer_all(eap)
|
||||
*/
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (had_tab > 0)
|
||||
goto_tabpage_tp(first_tabpage, TRUE);
|
||||
goto_tabpage_tp(first_tabpage, TRUE, TRUE);
|
||||
for (;;)
|
||||
{
|
||||
#endif
|
||||
@@ -4840,7 +4865,7 @@ ex_buffer_all(eap)
|
||||
/* Without the ":tab" modifier only do the current tab page. */
|
||||
if (had_tab == 0 || tpnext == NULL)
|
||||
break;
|
||||
goto_tabpage_tp(tpnext, TRUE);
|
||||
goto_tabpage_tp(tpnext, TRUE, TRUE);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -306,7 +306,7 @@ esac
|
||||
AC_SUBST(line_break)
|
||||
|
||||
if test "$cf_cv_ebcdic" = "yes"; then
|
||||
dnl If we have EBCDIC we most likley have z/OS Unix, let's test it!
|
||||
dnl If we have EBCDIC we most likely have z/OS Unix, let's test it!
|
||||
AC_MSG_CHECKING(for z/OS Unix)
|
||||
case `uname` in
|
||||
OS/390) zOSUnix="yes";
|
||||
@@ -494,17 +494,26 @@ if test "$enable_luainterp" = "yes" -o "$enable_luainterp" = "dynamic"; then
|
||||
if test -f "${vi_cv_path_lua_pfx}/bin/cyglua-${vi_cv_version_lua}.dll"; then
|
||||
vi_cv_dll_name_lua="cyglua-${vi_cv_version_lua}.dll"
|
||||
else
|
||||
dnl Determine the SONAME for the current version, but fallback to
|
||||
dnl liblua${vi_cv_version_lua}.so if no SONAME-versioned file is found.
|
||||
for LUA_SOVER in "${vi_cv_version_lua}.so" ".so.${vi_cv_version_lua}"; do
|
||||
for i in 0 1 2 3 4 5 6 7 8 9; do
|
||||
if test -f "${vi_cv_path_lua_pfx}/lib/liblua${LUA_SOVER}.$i"; then
|
||||
LUA_SONAME=".$i"
|
||||
break
|
||||
fi
|
||||
multiarch=`dpkg-architecture -qDEB_HOST_MULTIARCH 2> /dev/null`
|
||||
if test "X$multiarch" != "X"; then
|
||||
lib_multiarch="lib/${multiarch}"
|
||||
fi
|
||||
dnl Determine the sover for the current version, but fallback to
|
||||
dnl liblua${vi_cv_version_lua}.so if no sover-versioned file is found.
|
||||
for subdir in "${lib_multiarch}" lib64 lib; do
|
||||
if test -z "$subdir"; then
|
||||
continue
|
||||
fi
|
||||
for sover in "${vi_cv_version_lua}.so" "-${vi_cv_version_lua}.so" ".so.${vi_cv_version_lua}"; do
|
||||
for i in .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 ""; do
|
||||
if test -f "${vi_cv_path_lua_pfx}/${subdir}/liblua${sover}$i"; then
|
||||
sover2="$i"
|
||||
break 3
|
||||
fi
|
||||
done
|
||||
done
|
||||
vi_cv_dll_name_lua="liblua${LUA_SOVER}$LUA_SONAME"
|
||||
done
|
||||
vi_cv_dll_name_lua="liblua${sover}$sover2"
|
||||
fi
|
||||
AC_DEFINE(DYNAMIC_LUA)
|
||||
LUA_LIBS=""
|
||||
@@ -854,10 +863,10 @@ if test "$enable_pythoninterp" = "yes" -o "$enable_pythoninterp" = "dynamic"; th
|
||||
${vi_cv_path_python} -c 'import sys; print sys.version[:3]'`
|
||||
]])
|
||||
|
||||
dnl -- it must be at least version 1.4
|
||||
AC_MSG_CHECKING(Python is 1.4 or better)
|
||||
dnl -- it must be at least version 2.2
|
||||
AC_MSG_CHECKING(Python is 2.2 or better)
|
||||
if ${vi_cv_path_python} -c \
|
||||
"import sys; sys.exit(${vi_cv_var_python_version} < 1.4)"
|
||||
"import sys; sys.exit(${vi_cv_var_python_version} < 2.2)"
|
||||
then
|
||||
AC_MSG_RESULT(yep)
|
||||
|
||||
@@ -1219,7 +1228,7 @@ if test "$python_ok" = yes && test "$python3_ok" = yes; then
|
||||
/* If this program fails, then RTLD_GLOBAL is needed.
|
||||
* RTLD_GLOBAL will be used and then it is not possible to
|
||||
* have both python versions enabled in the same vim instance.
|
||||
* Only the first pyhton version used will be switched on.
|
||||
* Only the first python version used will be switched on.
|
||||
*/
|
||||
|
||||
int no_rtl_global_needed_for(char *python_instsoname, char *prefix)
|
||||
@@ -1265,7 +1274,7 @@ if test "$python_ok" = yes && test "$python3_ok" = yes; then
|
||||
/* If this program fails, then RTLD_GLOBAL is needed.
|
||||
* RTLD_GLOBAL will be used and then it is not possible to
|
||||
* have both python versions enabled in the same vim instance.
|
||||
* Only the first pyhton version used will be switched on.
|
||||
* Only the first python version used will be switched on.
|
||||
*/
|
||||
|
||||
int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix)
|
||||
@@ -1742,7 +1751,12 @@ else
|
||||
dnl Check that the X11 header files don't use implicit declarations
|
||||
AC_MSG_CHECKING(if X11 header files implicitly declare return values)
|
||||
cflags_save=$CFLAGS
|
||||
CFLAGS="$CFLAGS $X_CFLAGS -Werror"
|
||||
dnl -Werror is GCC only, others like Solaris Studio might not like it
|
||||
if test "$GCC" = yes; then
|
||||
CFLAGS="$CFLAGS $X_CFLAGS -Werror"
|
||||
else
|
||||
CFLAGS="$CFLAGS $X_CFLAGS"
|
||||
fi
|
||||
AC_TRY_COMPILE([#include <X11/Xlib.h>], ,
|
||||
AC_MSG_RESULT(no),
|
||||
CFLAGS="$CFLAGS -Wno-implicit-int"
|
||||
@@ -2988,7 +3002,7 @@ rm -f conftest_grp
|
||||
if test "x$vim_cv_tty_group" != "xworld" ; then
|
||||
AC_DEFINE_UNQUOTED(PTYGROUP,$vim_cv_tty_group)
|
||||
if test "x$vim_cv_tty_mode" = "x" ; then
|
||||
AC_MSG_ERROR([It seems you're cross compiling and have 'vim_cv_tty_group' set, please also set the environment variable 'vim_cv_tty_mode' to the correct mode (propably 0620)])
|
||||
AC_MSG_ERROR([It seems you're cross compiling and have 'vim_cv_tty_group' set, please also set the environment variable 'vim_cv_tty_mode' to the correct mode (probably 0620)])
|
||||
else
|
||||
AC_DEFINE(PTYMODE, 0620)
|
||||
fi
|
||||
|
||||
@@ -1110,7 +1110,7 @@ ex_diffsplit(eap)
|
||||
}
|
||||
|
||||
/*
|
||||
* Set options to show difs for the current window.
|
||||
* Set options to show diffs for the current window.
|
||||
*/
|
||||
void
|
||||
ex_diffthis(eap)
|
||||
@@ -2152,7 +2152,7 @@ ex_diffgetput(eap)
|
||||
i = atol((char *)eap->arg);
|
||||
else
|
||||
{
|
||||
i = buflist_findpat(eap->arg, p, FALSE, TRUE);
|
||||
i = buflist_findpat(eap->arg, p, FALSE, TRUE, FALSE);
|
||||
if (i < 0)
|
||||
return; /* error message already given */
|
||||
}
|
||||
|
||||
@@ -1609,7 +1609,7 @@ change_openwith_choice(int idx)
|
||||
|
||||
/*
|
||||
* Only add the choice for the open-with menu entry when gvim.exe was found
|
||||
* and and regedit.exe exist.
|
||||
* and regedit.exe exist.
|
||||
*/
|
||||
static void
|
||||
init_openwith_choice(void)
|
||||
|
||||
49
src/edit.c
49
src/edit.c
@@ -382,13 +382,21 @@ edit(cmdchar, startln, count)
|
||||
else
|
||||
ptr = (char_u *)"i";
|
||||
set_vim_var_string(VV_INSERTMODE, ptr, 1);
|
||||
set_vim_var_string(VV_CHAR, NULL, -1); /* clear v:char */
|
||||
# endif
|
||||
apply_autocmds(EVENT_INSERTENTER, NULL, NULL, FALSE, curbuf);
|
||||
|
||||
/* Since Insert mode was not started yet a call to check_cursor_col()
|
||||
* may have moved the cursor, especially with the "A" command. */
|
||||
if (curwin->w_cursor.col != save_cursor.col
|
||||
&& curwin->w_cursor.lnum == save_cursor.lnum)
|
||||
/* Make sure the cursor didn't move. Do call check_cursor_col() in
|
||||
* case the text was modified. Since Insert mode was not started yet
|
||||
* a call to check_cursor_col() may move the cursor, especially with
|
||||
* the "A" command, thus set State to avoid that. Also check that the
|
||||
* line number is still valid (lines may have been deleted).
|
||||
* Do not restore if v:char was set to a non-empty string. */
|
||||
if (!equalpos(curwin->w_cursor, save_cursor)
|
||||
# ifdef FEAT_EVAL
|
||||
&& *get_vim_var_str(VV_CHAR) == NUL
|
||||
# endif
|
||||
&& save_cursor.lnum <= curbuf->b_ml.ml_line_count)
|
||||
{
|
||||
int save_state = State;
|
||||
|
||||
@@ -1418,7 +1426,7 @@ docomplete:
|
||||
|
||||
normalchar:
|
||||
/*
|
||||
* Insert a nomal character.
|
||||
* Insert a normal character.
|
||||
*/
|
||||
#ifdef FEAT_AUTOCMD
|
||||
if (!p_paste)
|
||||
@@ -1592,6 +1600,21 @@ ins_redraw(ready)
|
||||
# endif
|
||||
last_cursormoved = curwin->w_cursor;
|
||||
}
|
||||
#endif
|
||||
#ifdef FEAT_AUTOCMD
|
||||
/* Trigger TextChangedI if b_changedtick differs. */
|
||||
if (!ready && has_textchangedI()
|
||||
&& last_changedtick != curbuf->b_changedtick
|
||||
# ifdef FEAT_INS_EXPAND
|
||||
&& !pum_visible()
|
||||
# endif
|
||||
)
|
||||
{
|
||||
if (last_changedtick_buf == curbuf)
|
||||
apply_autocmds(EVENT_TEXTCHANGEDI, NULL, NULL, FALSE, curbuf);
|
||||
last_changedtick_buf = curbuf;
|
||||
last_changedtick = curbuf->b_changedtick;
|
||||
}
|
||||
#endif
|
||||
if (must_redraw)
|
||||
update_screen(0);
|
||||
@@ -4321,13 +4344,7 @@ ins_compl_get_exp(ini)
|
||||
|
||||
/* May change home directory back to "~". */
|
||||
tilde_replace(compl_pattern, num_matches, matches);
|
||||
ins_compl_add_matches(num_matches, matches,
|
||||
#ifdef CASE_INSENSITIVE_FILENAME
|
||||
TRUE
|
||||
#else
|
||||
FALSE
|
||||
#endif
|
||||
);
|
||||
ins_compl_add_matches(num_matches, matches, p_fic || p_wic);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -7153,7 +7170,7 @@ cursor_up(n, upd_topline)
|
||||
/*
|
||||
* Count each sequence of folded lines as one logical line.
|
||||
*/
|
||||
/* go to the the start of the current fold */
|
||||
/* go to the start of the current fold */
|
||||
(void)hasFolding(lnum, &lnum, NULL);
|
||||
|
||||
while (n--)
|
||||
@@ -7204,7 +7221,7 @@ cursor_down(n, upd_topline)
|
||||
(void)hasFolding(lnum, NULL, &lnum);
|
||||
#endif
|
||||
/* This fails if the cursor is already in the last line or would move
|
||||
* beyound the last line and '-' is in 'cpoptions' */
|
||||
* beyond the last line and '-' is in 'cpoptions' */
|
||||
if (lnum >= curbuf->b_ml.ml_line_count
|
||||
|| (lnum + n > curbuf->b_ml.ml_line_count
|
||||
&& vim_strchr(p_cpo, CPO_MINUS) != NULL))
|
||||
@@ -7706,7 +7723,7 @@ fix_indent()
|
||||
/*
|
||||
* return TRUE if 'cinkeys' contains the key "keytyped",
|
||||
* when == '*': Only if key is preceded with '*' (indent before insert)
|
||||
* when == '!': Only if key is prededed with '!' (don't insert)
|
||||
* when == '!': Only if key is preceded with '!' (don't insert)
|
||||
* when == ' ': Only if key is not preceded with '*'(indent afterwards)
|
||||
*
|
||||
* "keytyped" can have a few special values:
|
||||
@@ -8532,7 +8549,7 @@ ins_start_select(c)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* <Insert> key in Insert mode: toggle insert/remplace mode.
|
||||
* <Insert> key in Insert mode: toggle insert/replace mode.
|
||||
*/
|
||||
static void
|
||||
ins_insert(replaceState)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user