Import sfw build 139
Bugs Fixed
----------
6839908 dlopen(pkcs11_kernel) and calling C_Initialize makes pkcs11 engine enter infinite loop
6937593 Upgrade LCMS to 1.19
6944247 getifaddrs in 137 breaks sfw build
diff -Nur runtime.patched/autoload/netrw.vim runtime/autoload/netrw.vim
--- runtime.patched/autoload/netrw.vim 2008-08-09 05:14:28.000000000 -0700
+++ runtime/autoload/netrw.vim 2009-01-14 12:15:27.000000000 -0800
@@ -1,7 +1,7 @@
" netrw.vim: Handles file transfer and remote directory listing across
" AUTOLOAD SECTION
-" Date: Aug 08, 2008
-" Version: 132
+" Date: Jan 14, 2009
+" Version: 135
" Maintainer: Charles E Campbell, Jr <[email protected]>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1
@@ -22,12 +22,18 @@
if &cp || exists("g:loaded_netrw")
finish
endif
+let g:loaded_netrw = "v135"
+if v:version < 702
+ echohl WarningMsg
+ echo "***warning*** this version of netrw needs vim 7.2"
+ echohl Normal
+ finish
+endif
if !exists("s:NOTE")
let s:NOTE = 0
let s:WARNING = 1
let s:ERROR = 2
endif
-let g:loaded_netrw = "v132"
" sanity checks
if v:version < 700
@@ -45,25 +51,40 @@
" ======================
" ---------------------------------------------------------------------
+" NetrwInit: function to initialize variables {{{2
+fun s:NetrwInit(varname,value)
+ if !exists(a:varname)
+ if type(a:value) == 0
+ exe "let ".a:varname."=".a:value
+ elseif type(a:value) == 1
+ exe "let ".a:varname."="."'".a:value."'"
+ else
+ exe "let ".a:varname."=".a:value
+ endif
+ endif
+endfun
+
+" ---------------------------------------------------------------------
" Netrw Constants: {{{2
-if !exists("g:NETRW_BOOKMARKMAX")
- let g:NETRW_BOOKMARKMAX= 0
-endif
-if !exists("g:NETRW_DIRHIST_CNT")
- let g:NETRW_DIRHIST_CNT= 0
-endif
+call s:NetrwInit("g:netrw_dirhist_cnt",0)
if !exists("s:LONGLIST")
- let s:THINLIST = 0
- let s:LONGLIST = 1
- let s:WIDELIST = 2
- let s:TREELIST = 3
- let s:MAXLIST = 4
+ call s:NetrwInit("s:THINLIST",0)
+ call s:NetrwInit("s:LONGLIST",1)
+ call s:NetrwInit("s:WIDELIST",2)
+ call s:NetrwInit("s:TREELIST",3)
+ call s:NetrwInit("s:MAXLIST" ,4)
endif
" ---------------------------------------------------------------------
" Default values for netrw's global protocol variables {{{2
if !exists("g:netrw_dav_cmd")
+ if executable("cadaver")
let g:netrw_dav_cmd = "cadaver"
+ elseif executable("curl")
+ let g:netrw_dav_cmd = "curl"
+ else
+ let g:netrw_dav_cmd = ""
+ endif
endif
if !exists("g:netrw_fetch_cmd")
if executable("fetch")
@@ -78,35 +99,34 @@
if !exists("g:netrw_http_cmd")
if executable("elinks")
let g:netrw_http_cmd = "elinks"
- let g:netrw_http_xcmd= "-dump >"
+ if !exists("g:netrw_http_xcmd")
+ let g:netrw_http_xcmd= "-dump >"
+ endif
elseif executable("links")
let g:netrw_http_cmd = "links"
- let g:netrw_http_xcmd= "-dump >"
+ if !exists("g:netrw_http_xcmd")
+ let g:netrw_http_xcmd= "-dump >"
+ endif
elseif executable("curl")
- let g:netrw_http_cmd = "curl -o"
+ let g:netrw_http_cmd = "curl"
+ if !exists("g:netrw_http_xcmd")
+ let g:netrw_http_xcmd= "-o"
+ endif
elseif executable("wget")
- let g:netrw_http_cmd = "wget -q -O"
+ let g:netrw_http_cmd = "wget"
+ call s:NetrwInit("g:netrw_http_xcmd","-q -O")
elseif executable("fetch")
- let g:netrw_http_cmd = "fetch -o"
+ let g:netrw_http_cmd = "fetch"
+ call s:NetrwInit("g:netrw_http_xcmd","-o")
else
let g:netrw_http_cmd = ""
endif
endif
-if !exists("g:netrw_rcp_cmd")
- let g:netrw_rcp_cmd = "rcp"
-endif
-if !exists("g:netrw_rsync_cmd")
- let g:netrw_rsync_cmd = "rsync"
-endif
-if !exists("g:netrw_scp_cmd")
- let g:netrw_scp_cmd = "scp -q"
-endif
-if !exists("g:netrw_sftp_cmd")
- let g:netrw_sftp_cmd = "sftp"
-endif
-if !exists("g:netrw_ssh_cmd")
- let g:netrw_ssh_cmd= "ssh"
-endif
+call s:NetrwInit("g:netrw_rcp_cmd" , "rcp")
+call s:NetrwInit("g:netrw_rsync_cmd", "rsync")
+call s:NetrwInit("g:netrw_scp_cmd" , "scp -q")
+call s:NetrwInit("g:netrw_sftp_cmd" , "sftp")
+call s:NetrwInit("g:netrw_ssh_cmd" , "ssh")
if (has("win32") || has("win95") || has("win64") || has("win16"))
\ && exists("g:netrw_use_nt_rcp")
@@ -134,40 +154,23 @@
endif
endif
" Default values - a-c ---------- {{{3
-if !exists("g:netrw_alto")
- let g:netrw_alto= &sb
-endif
-if !exists("g:netrw_altv")
- let g:netrw_altv= &spr
-endif
-if !exists("g:netrw_browse_split")
- let g:netrw_browse_split= 0
-endif
-if !exists("g:netrw_chgwin")
- let g:netrw_chgwin = -1
-endif
-if !exists("g:netrw_compress")
- let g:netrw_compress= "gzip"
-endif
-if !exists("g:netrw_ctags")
- let g:netrw_ctags= "ctags"
+call s:NetrwInit("g:netrw_alto" , &sb)
+call s:NetrwInit("g:netrw_altv" , &spr)
+call s:NetrwInit("g:netrw_browse_split", 0)
+call s:NetrwInit("g:netrw_chgwin" , -1)
+call s:NetrwInit("g:netrw_compress" , "gzip")
+call s:NetrwInit("g:netrw_ctags" , "ctags")
+if !exists("g:netrw_cursorline")
+ let g:netrw_cursorline= 1
+ let s:netrw_usercul = &cursorline
+ let s:netrw_usercuc = &cursorcolumn
endif
" Default values - d-g ---------- {{{3
-if !exists("g:NETRW_DIRHIST_CNT")
- let g:NETRW_DIRHIST_CNT= 0
-endif
-if !exists("g:netrw_decompress")
- let g:netrw_decompress= { ".gz" : "gunzip" , ".bz2" : "bunzip2" , ".zip" : "unzip" , ".tar" : "tar -xf"}
-endif
-if !exists("g:netrw_dirhistmax")
- let g:netrw_dirhistmax= 10
-endif
-if !exists("g:netrw_fastbrowse")
- let g:netrw_fastbrowse= 1
-endif
-if !exists("g:netrw_ftp_browse_reject")
- let g:netrw_ftp_browse_reject='^total\s\+\d\+$\|^Trying\s\+\d\+.*$\|^KERBEROS_V\d rejected\|^Security extensions not\|No such file\|: connect to address [0-9a-fA-F:]*: No route to host$'
-endif
+call s:NetrwInit("g:netrw_dirhist_cnt" , 0)
+call s:NetrwInit("g:netrw_decompress" , '{ ".gz" : "gunzip", ".bz2" : "bunzip2", ".zip" : "unzip", ".tar" : "tar -xf"}')
+call s:NetrwInit("g:netrw_dirhistmax" , 10)
+call s:NetrwInit("g:netrw_fastbrowse" , 1)
+call s:NetrwInit("g:netrw_ftp_browse_reject", '^total\s\+\d\+$\|^Trying\s\+\d\+.*$\|^KERBEROS_V\d rejected\|^Security extensions not\|No such file\|: connect to address [0-9a-fA-F:]*: No route to host$')
if !exists("g:netrw_ftp_list_cmd")
if has("unix") || (exists("g:netrw_cygwin") && g:netrw_cygwin)
let g:netrw_ftp_list_cmd = "ls -lF"
@@ -179,13 +182,9 @@
let g:netrw_ftp_sizelist_cmd = "dir"
endif
endif
-if !exists("g:netrw_ftpmode")
- let g:netrw_ftpmode= "binary"
-endif
+call s:NetrwInit("g:netrw_ftpmode",'binary')
" Default values - h-lh ---------- {{{3
-if !exists("g:netrw_hide")
- let g:netrw_hide= 1
-endif
+call s:NetrwInit("g:netrw_hide",1)
if !exists("g:netrw_ignorenetrc")
if &shell =~ '\c\<\%(cmd\|4nt\)\.exe$'
let g:netrw_ignorenetrc= 1
@@ -193,9 +192,7 @@
let g:netrw_ignorenetrc= 0
endif
endif
-if !exists("g:netrw_keepdir")
- let g:netrw_keepdir= 1
-endif
+call s:NetrwInit("g:netrw_keepdir",1)
if !exists("g:netrw_list_cmd")
if g:netrw_scp_cmd =~ '^pscp' && executable("pscp")
" provide a 'pscp' listing command
@@ -211,9 +208,7 @@
let g:netrw_list_cmd= ""
endif
endif
-if !exists("g:netrw_list_hide")
- let g:netrw_list_hide= ""
-endif
+call s:NetrwInit("g:netrw_list_hide","")
" Default values - lh-lz ---------- {{{3
if !exists("g:netrw_localcopycmd")
if has("win32") || has("win95") || has("win64") || has("win16")
@@ -228,9 +223,7 @@
let g:netrw_localcopycmd= ""
endif
endif
-if !exists("g:netrw_local_mkdir")
- let g:netrw_local_mkdir= "mkdir"
-endif
+call s:NetrwInit("g:netrw_local_mkdir","mkdir")
if !exists("g:netrw_localmovecmd")
if has("win32") || has("win95") || has("win64") || has("win16")
if g:netrw_cygwin
@@ -244,128 +237,59 @@
let g:netrw_localmovecmd= ""
endif
endif
-if !exists("g:netrw_local_rmdir")
- let g:netrw_local_rmdir= "rmdir"
-endif
-if !exists("g:netrw_liststyle")
- let g:netrw_liststyle= s:THINLIST
-endif
+call s:NetrwInit("g:netrw_local_rmdir", "rmdir")
+call s:NetrwInit("g:netrw_liststyle" , s:THINLIST)
+" sanity checks
if g:netrw_liststyle < 0 || g:netrw_liststyle >= s:MAXLIST
- " sanity check
let g:netrw_liststyle= s:THINLIST
endif
if g:netrw_liststyle == s:LONGLIST && g:netrw_scp_cmd !~ '^pscp'
let g:netrw_list_cmd= g:netrw_list_cmd." -l"
endif
" Default values - m-r ---------- {{{3
-if !exists("g:netrw_markfileesc")
- let g:netrw_markfileesc= '*./[\~'
-endif
-if !exists("g:netrw_maxfilenamelen")
- let g:netrw_maxfilenamelen= 32
-endif
-if !exists("g:netrw_menu")
- let g:netrw_menu= 1
-endif
-if !exists("g:netrw_mkdir_cmd")
- let g:netrw_mkdir_cmd= g:netrw_ssh_cmd." USEPORT HOSTNAME mkdir"
-endif
-if !exists("g:netrw_mousemaps")
- if exists("&mouse") && &mouse =~ '[anh]'
- let g:netrw_mousemaps= 1
- else
- let g:netrw_mousemaps= 0
- endif
-endif
-if !exists("g:netrw_retmap")
- let g:netrw_retmap= 0
-endif
-if !exists("g:netrw_preview")
- let g:netrw_preview= 0
-endif
-if !exists("g:netrw_scpport")
- let g:netrw_scpport= "-P"
-endif
-if !exists("g:netrw_sshport")
- let g:netrw_sshport= "-p"
-endif
-if !exists("g:netrw_rename_cmd")
- let g:netrw_rename_cmd= g:netrw_ssh_cmd." USEPORT HOSTNAME mv"
-endif
-if !exists("g:netrw_rm_cmd")
- let g:netrw_rm_cmd = g:netrw_ssh_cmd." USEPORT HOSTNAME rm"
-endif
-if !exists("g:netrw_rmdir_cmd")
- let g:netrw_rmdir_cmd = g:netrw_ssh_cmd." USEPORT HOSTNAME rmdir"
-endif
-if !exists("g:netrw_rmf_cmd")
- let g:netrw_rmf_cmd = g:netrw_ssh_cmd." USEPORT HOSTNAME rm -f"
-endif
+call s:NetrwInit("g:netrw_markfileesc" , '*./[\~')
+call s:NetrwInit("g:netrw_maxfilenamelen", 32)
+call s:NetrwInit("g:netrw_menu" , 1)
+call s:NetrwInit("g:netrw_mkdir_cmd" , g:netrw_ssh_cmd." USEPORT HOSTNAME mkdir")
+call s:NetrwInit("g:netrw_mousemaps" , (exists("&mouse") && &mouse =~ '[anh]'))
+call s:NetrwInit("g:netrw_retmap" , 0)
+call s:NetrwInit("g:netrw_preview" , 0)
+call s:NetrwInit("g:netrw_scpport" , "-P")
+call s:NetrwInit("g:netrw_sshport" , "-p")
+call s:NetrwInit("g:netrw_rename_cmd" , g:netrw_ssh_cmd." USEPORT HOSTNAME mv")
+call s:NetrwInit("g:netrw_rm_cmd" , g:netrw_ssh_cmd." USEPORT HOSTNAME rm")
+call s:NetrwInit("g:netrw_rmdir_cmd" , g:netrw_ssh_cmd." USEPORT HOSTNAME rmdir")
+call s:NetrwInit("g:netrw_rmf_cmd" , g:netrw_ssh_cmd." USEPORT HOSTNAME rm -f")
" Default values - s ---------- {{{3
- " set up shell quoting character
-if exists("g:netrw_silent") && g:netrw_silent != 0
- let s:netrw_silentxfer= "silent "
-else
- let s:netrw_silentxfer= ""
-endif
-if !exists("g:netrw_sort_by")
- " alternatives: date size
- let g:netrw_sort_by= "name"
-endif
-if !exists("g:netrw_sort_options")
- let g:netrw_sort_options= ""
-endif
-if !exists("g:netrw_sort_direction")
- " alternative: reverse (z y x ...)
- let g:netrw_sort_direction= "normal"
-endif
+" g:netrw_sepchr: picking a character that doesn't appear in filenames that can be used to separate priority from filename
+call s:NetrwInit("g:netrw_sepchr" , (&enc == "euc-jp")? "\<Char-0x01>" : "\<Char-0xff>")
+call s:NetrwInit("s:netrw_silentxfer" , (exists("g:netrw_silent") && g:netrw_silent != 0)? "silent " : "")
+call s:NetrwInit("g:netrw_sort_by" , "name") " alternatives: date , size
+call s:NetrwInit("g:netrw_sort_options" , "")
+call s:NetrwInit("g:netrw_sort_direction", "normal") " alternative: reverse (z y x ...)
if !exists("g:netrw_sort_sequence")
- let g:netrw_sort_sequence= '[\/]$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$'
-endif
-if !exists("g:netrw_special_syntax")
- let g:netrw_special_syntax= 0
-endif
-if !exists("g:netrw_ssh_browse_reject")
- let g:netrw_ssh_browse_reject='^total\s\+\d\+$'
-endif
-if !has("patch192")
- if !exists("g:netrw_use_noswf")
- let g:netrw_use_noswf= 1
+ if has("unix")
+ let g:netrw_sort_sequence= '[\/]$,\<core\%(\.\d\+\)\=\>,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$'
+ else
+ let g:netrw_sort_sequence= '[\/]$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$'
endif
-else
- let g:netrw_use_noswf= 0
endif
+call s:NetrwInit("g:netrw_special_syntax" , 0)
+call s:NetrwInit("g:netrw_ssh_browse_reject", '^total\s\+\d\+$')
+call s:NetrwInit("g:netrw_use_noswf" , 0)
" Default values - t-w ---------- {{{3
-if !exists("g:netrw_timefmt")
- let g:netrw_timefmt= "%c"
-endif
-if !exists("g:netrw_xstrlen")
- let g:netrw_xstrlen= 1
-endif
-if !exists("g:NetrwTopLvlMenu")
- let g:NetrwTopLvlMenu= "Netrw."
-endif
-if !exists("g:netrw_use_errorwindow")
- let g:netrw_use_errorwindow= 1
-endif
-if !exists("g:netrw_win95ftp")
- let g:netrw_win95ftp= 1
-endif
-if !exists("g:netrw_winsize")
- let g:netrw_winsize= ""
-endif
+call s:NetrwInit("g:netrw_timefmt","%c")
+call s:NetrwInit("g:netrw_xstrlen",0)
+call s:NetrwInit("g:NetrwTopLvlMenu","Netrw.")
+call s:NetrwInit("g:netrw_use_errorwindow",1)
+call s:NetrwInit("g:netrw_win95ftp",1)
+call s:NetrwInit("g:netrw_winsize","")
" ---------------------------------------------------------------------
" Default values for netrw's script variables: {{{2
-if !exists("g:netrw_fname_escape")
- let g:netrw_fname_escape= ' ?&;%'
-endif
-if !exists("g:netrw_glob_escape")
- let g:netrw_glob_escape= '[]*?`{~$'
-endif
-if !exists("g:netrw_tmpfile_escape")
- let g:netrw_tmpfile_escape= ' &;'
-endif
-let s:netrw_map_escape = "<|\n\r\\\<C-V>\""
+call s:NetrwInit("g:netrw_fname_escape",' ?&;%')
+call s:NetrwInit("g:netrw_glob_escape",'[]*?`{~$')
+call s:NetrwInit("g:netrw_tmpfile_escape",' &;')
+call s:NetrwInit("s:netrw_map_escape","<|\n\r\\\<C-V>\"")
" BufEnter event ignored by decho when following variable is true
" Has a side effect that doau BufReadPost doesn't work, so
@@ -384,7 +308,7 @@
" NetrwBrowse.
" vt: normally its "w:" or "s:" (a variable type)
fun! s:NetrwOptionSave(vt)
-" call Dfunc("s:NetrwOptionSave(vt<".a:vt.">) win#".winnr()." buf#".bufnr("%")."<".bufname(bufnr("%")).">")
+" call Dfunc("s:NetrwOptionSave(vt<".a:vt.">) win#".winnr()." buf#".bufnr("%")."<".bufname(bufnr("%")).">"." winnr($)=".winnr("$"))
" call Decho(a:vt."netrw_optionsave".(exists("{a:vt}netrw_optionsave")? ("=".{a:vt}netrw_optionsave) : " doesn't exist"))
if !exists("{a:vt}netrw_optionsave")
@@ -430,7 +354,7 @@
" ------------------------------------------------------------------------
" s:NetrwOptionRestore: restore options {{{2
fun! s:NetrwOptionRestore(vt)
-" call Dfunc("s:NetrwOptionRestore(vt<".a:vt.">) win#".winnr()." buf#".bufnr("%"))
+" call Dfunc("s:NetrwOptionRestore(vt<".a:vt.">) win#".winnr()." buf#".bufnr("%")." winnr($)=".winnr("$"))
if !exists("{a:vt}netrw_optionsave")
" call Decho("ro=".&l:ro." ma=".&l:ma." mod=".&l:mod." wrap=".&l:wrap)
" call Dret("s:NetrwOptionRestore : ".a:vt."netrw_optionsave doesn't exist")
@@ -503,8 +427,8 @@
" ---------------------------------------------------------------------
" s:NetrwSafeOptions: sets options to help netrw do its job {{{2
fun! s:NetrwSafeOptions()
-" call Dfunc("s:NetrwSafeOptions() win#".winnr()." buf#".bufnr("%")."<".bufname(bufnr("%")).">")
-" call Decho("window's ft=".&ft)
+" call Dfunc("s:NetrwSafeOptions() win#".winnr()." buf#".bufnr("%")."<".bufname(bufnr("%"))."> winnr($)=".winnr("$"))
+" call Decho("win#".winnr()."'s ft=".&ft)
setlocal cino=
setlocal com=
setlocal cpo-=aA
@@ -513,9 +437,14 @@
setlocal fo=nroql2
setlocal tw=0
setlocal report=10000
+ setlocal isk+=@ isk+=* isk+=/
if g:netrw_use_noswf && has("win32") && !has("win95")
setlocal noswf
endif
+
+ " allow the user to override safe options
+ silent keepalt keepjumps doau FileType netrw
+
" call Decho("fo=".&fo.(exists("&acd")? " acd=".&acd : " acd doesn't exist"))
" call Dret("s:NetrwSafeOptions")
endfun
@@ -566,6 +495,16 @@
" call Dret("netrw#NetrwClean")
endfun
+" ---------------------------------------------------------------------
+" netrw#Nread: {{{2
+fun! netrw#Nread(mode,fname)
+" call Dfunc("netrw#Nread(mode=".a:mode." fname<".a:fname.">)")
+ call netrw#NetrwSavePosn()
+ call netrw#NetRead(a:mode,a:fname)
+ call netrw#NetrwRestorePosn()
+" call Dret("netrw#Nread")
+endfun
+
" ------------------------------------------------------------------------
" Netrw Transfer Functions: {{{1
" ===============================
@@ -579,11 +518,11 @@
fun! netrw#NetRead(mode,...)
" call Dfunc("netrw#NetRead(mode=".a:mode.",...) a:0=".a:0." ".g:loaded_netrw)
- " save options {{{3
+ " NetRead: save options {{{3
call s:NetrwOptionSave("w:")
call s:NetrwSafeOptions()
- " interpret mode into a readcmd {{{3
+ " NetRead: interpret mode into a readcmd {{{3
if a:mode == 0 " read remote file before current line
let readcmd = "0r"
elseif a:mode == 1 " read file after current line
@@ -599,7 +538,7 @@
let ichoice = (a:0 == 0)? 0 : 1
" call Decho("readcmd<".readcmd."> ichoice=".ichoice)
- " Get Temporary Filename {{{3
+ " NetRead: get temporary filename {{{3
let tmpfile= s:GetTempfile("")
if tmpfile == ""
" call Dret("netrw#NetRead : unable to get a tempfile!")
@@ -666,8 +605,12 @@
" call Decho("choice<" . choice . ">")
let ichoice= ichoice + 1
- " Determine method of read (ftp, rcp, etc) {{{3
+ " NetRead: Determine method of read (ftp, rcp, etc) {{{3
call s:NetrwMethod(choice)
+ if !exists("b:netrw_method") || b:netrw_method < 0
+" call Dfunc("netrw#NetRead : unsupported method")
+ return
+ endif
let tmpfile= s:GetTempfile(b:netrw_fname) " apply correct suffix
" Check if NetrwBrowse() should be handling this request
@@ -680,14 +623,14 @@
endif
" ============
- " Perform Protocol-Based Read {{{3
+ " NetRead: Perform Protocol-Based Read {{{3
" ===========================
if exists("g:netrw_silent") && g:netrw_silent == 0 && &ch >= 1
echo "(netrw) Processing your read request..."
endif
".........................................
- " rcp: NetRead Method #1 {{{3
+ " NetRead: (rcp) NetRead Method #1 {{{3
if b:netrw_method == 1 " read with rcp
" call Decho("read via rcp (method #1)")
" ER: nothing done with g:netrw_uid yet?
@@ -709,12 +652,12 @@
endif
endif
" call Decho("executing: !".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".shellescape(uid_machine.":".b:netrw_fname,1)." ".shellescape(tmpfile,1))
- exe s:netrw_silentxfer."!".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".shellescape(uid_machine.":".b:netrw_fname,1)." ".shellescape(tmpfile,1))
+ exe s:netrw_silentxfer."!".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".shellescape(uid_machine.":".b:netrw_fname,1)." ".shellescape(tmpfile,1)
let result = s:NetrwGetFile(readcmd, tmpfile, b:netrw_method)
let b:netrw_lastfile = choice
".........................................
- " ftp + <.netrc>: NetRead Method #2 {{{3
+ " NetRead: (ftp + <.netrc>) NetRead Method #2 {{{3
elseif b:netrw_method == 2 " read with ftp + <.netrc>
" call Decho("read via ftp+.netrc (method #2)")
let netrw_fname= b:netrw_fname
@@ -745,7 +688,8 @@
endif
call s:SaveBufVars()
bd!
- if bufname("%") == "" && line("$") == 1 && getline("$") == ""
+ if bufname("%") == "" && getline("$") == "" && line('$') == 1
+ " needed when one sources a file in a nolbl setting window via ftp
q!
endif
call s:RestoreBufVars()
@@ -753,7 +697,7 @@
let b:netrw_lastfile = choice
".........................................
- " ftp + machine,id,passwd,filename: NetRead Method #3 {{{3
+ " NetRead: (ftp + machine,id,passwd,filename) NetRead Method #3 {{{3
elseif b:netrw_method == 3 " read with ftp + machine, id, passwd, and fname
" Construct execution string (four lines) which will be passed through filter
" call Decho("read via ftp+mipf (method #3)")
@@ -809,7 +753,7 @@
let b:netrw_lastfile = choice
".........................................
- " scp: NetRead Method #4 {{{3
+ " NetRead: (scp) NetRead Method #4 {{{3
elseif b:netrw_method == 4 " read with scp
" call Decho("read via scp (method #4)")
if exists("g:netrw_port") && g:netrw_port != ""
@@ -823,7 +767,7 @@
let b:netrw_lastfile = choice
".........................................
- " http: NetRead Method #5 (wget) {{{3
+ " NetRead: (http) NetRead Method #5 (wget) {{{3
elseif b:netrw_method == 5
" call Decho("read via http (method #5)")
if g:netrw_http_cmd == ""
@@ -863,33 +807,43 @@
setlocal ro
".........................................
- " cadaver: NetRead Method #6 {{{3
+ " NetRead: (dav) NetRead Method #6 {{{3
elseif b:netrw_method == 6
" call Decho("read via cadaver (method #6)")
- " Construct execution string (four lines) which will be passed through filter
- let netrw_fname= escape(b:netrw_fname,g:netrw_fname_escape)
- new
- setlocal ff=unix
- if exists("g:netrw_port") && g:netrw_port != ""
- put ='open '.g:netrw_machine.' '.g:netrw_port
- else
- put ='open '.g:netrw_machine
+ if !executable(g:netrw_dav_cmd)
+ call netrw#ErrorMsg(s:ERROR,g:netrw_dav_cmd." is not executable",73)
+" call Dret("netrw#NetRead : ".g:netrw_dav_cmd." not executable")
+ return
endif
- put ='user '.g:netrw_uid.' '.s:netrw_passwd
- put ='get '.netrw_fname.' '.tmpfile
- put ='quit'
+ if g:netrw_dav_cmd =~ "curl"
+" call Decho("exe ".s:netrw_silentxfer."!".g:netrw_dav_cmd." ".shellescape("dav://".g:netrw_machine.b:netrw_fname,1)." ".shellescape(tmpfile,1))
+ exe s:netrw_silentxfer."!".g:netrw_dav_cmd." ".shellescape("dav://".g:netrw_machine.b:netrw_fname,1)." ".shellescape(tmpfile,1)
+ else
+ " Construct execution string (four lines) which will be passed through filter
+ let netrw_fname= escape(b:netrw_fname,g:netrw_fname_escape)
+ new
+ setlocal ff=unix
+ if exists("g:netrw_port") && g:netrw_port != ""
+ put ='open '.g:netrw_machine.' '.g:netrw_port
+ else
+ put ='open '.g:netrw_machine
+ endif
+ put ='user '.g:netrw_uid.' '.s:netrw_passwd
+ put ='get '.netrw_fname.' '.tmpfile
+ put ='quit'
- " perform cadaver operation:
- norm! 1Gdd
+ " perform cadaver operation:
+ norm! 1Gdd
" call Decho("executing: %!".g:netrw_dav_cmd)
- exe s:netrw_silentxfer."%!".g:netrw_dav_cmd
- bd!
+ exe s:netrw_silentxfer."%!".g:netrw_dav_cmd
+ bd!
+ endif
let result = s:NetrwGetFile(readcmd, tmpfile, b:netrw_method)
let b:netrw_lastfile = choice
".........................................
- " rsync: NetRead Method #7 {{{3
+ " NetRead: (rsync) NetRead Method #7 {{{3
elseif b:netrw_method == 7
" call Decho("read via rsync (method #7)")
" call Decho("exe ".s:netrw_silentxfer."!".g:netrw_rsync_cmd." ".shellescape(g:netrw_machine.":".b:netrw_fname,1)." ".shellescape(tmpfile,1))
@@ -898,7 +852,7 @@
let b:netrw_lastfile = choice
".........................................
- " fetch: NetRead Method #8 {{{3
+ " NetRead: (fetch) NetRead Method #8 {{{3
" fetch://[user@]host[:http]/path
elseif b:netrw_method == 8
" call Decho("read via fetch (method #8)")
@@ -928,7 +882,7 @@
setlocal ro
".........................................
- " sftp: NetRead Method #9 {{{3
+ " NetRead: (sftp) NetRead Method #9 {{{3
elseif b:netrw_method == 9
" call Decho("read via sftp (method #9)")
" call Decho("exe ".s:netrw_silentxfer."!".g:netrw_sftp_cmd." ".shellescape(g:netrw_machine.":".b:netrw_fname,1)." ".tmpfile)
@@ -937,13 +891,13 @@
let b:netrw_lastfile = choice
".........................................
- " Complain {{{3
+ " NetRead: Complain {{{3
else
call netrw#ErrorMsg(s:WARNING,"unable to comply with your request<" . choice . ">",8)
endif
endwhile
- " cleanup {{{3
+ " NetRead: cleanup {{{3
if exists("b:netrw_method")
" call Decho("cleanup b:netrw_method and b:netrw_fname")
unlet b:netrw_method
@@ -951,7 +905,7 @@
endif
if s:FileReadable(tmpfile) && tmpfile !~ '.tar.bz2$' && tmpfile !~ '.tar.gz$' && tmpfile !~ '.zip' && tmpfile !~ '.tar' && readcmd != 't'
" call Decho("cleanup by deleting tmpfile<".tmpfile.">")
- call s:NetrwDelete(fnameescape(tmpfile))
+ call s:NetrwDelete(tmpfile)
endif
call s:NetrwOptionRestore("w:")
@@ -963,12 +917,12 @@
fun! netrw#NetWrite(...) range
" call Dfunc("netrw#NetWrite(a:0=".a:0.") ".g:loaded_netrw)
- " option handling
+ " NetWrite: option handling {{{3
let mod= 0
call s:NetrwOptionSave("w:")
call s:NetrwSafeOptions()
- " Get Temporary Filename {{{3
+ " NetWrite: Get Temporary Filename {{{3
let tmpfile= s:GetTempfile("")
if tmpfile == ""
" call Dret("netrw#NetWrite : unable to get a tempfile!")
@@ -1007,7 +961,7 @@
0file!
endif
- " While choice loop: {{{3
+ " NetWrite: while choice loop: {{{3
while ichoice <= a:0
" Process arguments: {{{4
@@ -1065,9 +1019,13 @@
" Determine method of write (ftp, rcp, etc) {{{4
call s:NetrwMethod(choice)
+ if !exists("b:netrw_method") || b:netrw_method < 0
+" call Dfunc("netrw#NetWrite : unsupported method")
+ return
+ endif
" =============
- " Perform Protocol-Based Write {{{4
+ " NetWrite: Perform Protocol-Based Write {{{3
" ============================
if exists("g:netrw_silent") && g:netrw_silent == 0 && &ch >= 1
echo "(netrw) Processing your write request..."
@@ -1075,7 +1033,7 @@
endif
".........................................
- " rcp: NetWrite Method #1 {{{4
+ " NetWrite: (rcp) NetWrite Method #1 {{{3
if b:netrw_method == 1
" call Decho("write via rcp (method #1)")
if s:netrw_has_nt_rcp == 1
@@ -1096,7 +1054,7 @@
let b:netrw_lastfile = choice
".........................................
- " ftp + <.netrc>: NetWrite Method #2 {{{4
+ " NetWrite: (ftp + <.netrc>) NetWrite Method #2 {{{3
elseif b:netrw_method == 2
" call Decho("write via ftp+.netrc (method #2)")
let netrw_fname= b:netrw_fname
@@ -1130,7 +1088,7 @@
let b:netrw_lastfile = choice
".........................................
- " ftp + machine, id, passwd, filename: NetWrite Method #3 {{{4
+ " NetWrite: (ftp + machine, id, passwd, filename) NetWrite Method #3 {{{3
elseif b:netrw_method == 3
" Construct execution string (four lines) which will be passed through filter
" call Decho("read via ftp+mipf (method #3)")
@@ -1175,7 +1133,7 @@
bd!
".........................................
- " scp: NetWrite Method #4 {{{4
+ " NetWrite: (scp) NetWrite Method #4 {{{3
elseif b:netrw_method == 4
" call Decho("write via scp (method #4)")
if exists("g:netrw_port") && g:netrw_port != ""
@@ -1188,7 +1146,7 @@
let b:netrw_lastfile = choice
".........................................
- " http: NetWrite Method #5 {{{4
+ " NetWrite: (http) NetWrite Method #5 {{{3
elseif b:netrw_method == 5
" call Decho("write via http (method #5)")
if !exists("g:netrw_quiet")
@@ -1196,7 +1154,7 @@
endif
".........................................
- " dav: NetWrite Method #6 (cadaver) {{{4
+ " NetWrite: (dav) NetWrite Method #6 (cadaver) {{{3
elseif b:netrw_method == 6
" call Decho("write via cadaver (method #6)")
@@ -1222,7 +1180,7 @@
let b:netrw_lastfile = choice
".........................................
- " rsync: NetWrite Method #7 {{{4
+ " NetWrite: (rsync) NetWrite Method #7 {{{3
elseif b:netrw_method == 7
" call Decho("write via rsync (method #7)")
" call Decho("executing: !".g:netrw_rsync_cmd." ".shellescape(tmpfile,1)." ".shellescape(g:netrw_machine.":".b:netrw_fname,1))
@@ -1230,7 +1188,7 @@
let b:netrw_lastfile = choice
".........................................
- " sftp: NetWrite Method #9 {{{4
+ " NetWrite: (sftp) NetWrite Method #9 {{{3
elseif b:netrw_method == 9
" call Decho("read via sftp (method #9)")
let netrw_fname= escape(b:netrw_fname,g:netrw_fname_escape)
@@ -1250,13 +1208,13 @@
let b:netrw_lastfile= choice
".........................................
- " Complain {{{4
+ " NetWrite: Complain {{{3
else
call netrw#ErrorMsg(s:WARNING,"unable to comply with your request<" . choice . ">",17)
endif
endwhile
- " Cleanup: {{{3
+ " NetWrite: Cleanup: {{{3
" call Decho("cleanup")
if s:FileReadable(tmpfile)
" call Decho("tmpfile<".tmpfile."> readable, will now delete it")
@@ -1422,18 +1380,34 @@
" ------------------------------------------------------------------------
" s:NetrwMethod: determine method of transfer {{{2
-" method == 1: rcp
-" 2: ftp + <.netrc>
-" 3: ftp + machine, id, password, and [path]filename
-" 4: scp
-" 5: http (wget)
-" 6: cadaver
-" 7: rsync
-" 8: fetch
-" 9: sftp
-fun! s:NetrwMethod(choice) " globals: method machine id passwd fname
+" Input:
+" choice = url [protocol:]//[userid@]hostname[:port]/[path-to-file]
+" Output:
+" b:netrw_method= 1: rcp
+" 2: ftp + <.netrc>
+" 3: ftp + machine, id, password, and [path]filename
+" 4: scp
+" 5: http (wget)
+" 6: dav
+" 7: rsync
+" 8: fetch
+" 9: sftp
+" g:netrw_machine= hostname
+" b:netrw_fname = filename
+" g:netrw_port = optional port number (for ftp)
+" g:netrw_choice = copy of input url (choice)
+fun! s:NetrwMethod(choice)
" call Dfunc("NetrwMethod(a:choice<".a:choice.">)")
+ " record current g:netrw_machine, if any
+ " curmachine used if protocol == ftp and no .netrc
+ if exists("g:netrw_machine")
+ let curmachine= g:netrw_machine
+" call Decho("curmachine<".curmachine.">")
+ else
+ let curmachine= "N O T A HOST"
+ endif
+
" initialization
let b:netrw_method = 0
let g:netrw_machine = ""
@@ -1449,7 +1423,7 @@
" rcphf : [user@]host:filename Use rcp
" scpurm : scp://[user@]host[[#:]port]/filename Use scp
" httpurm : http://[user@]host/filename Use wget
- " davurm : dav[s]://host[:port]/path Use cadaver
+ " davurm : dav[s]://host[:port]/path Use cadaver/curl
" rsyncurm : rsync://host[:port]/path Use rsync
" fetchurm : fetch://[user@]host[:http]/filename Use fetch (defaults to ftp, override for http)
" sftpurm : sftp://[user@]host/filename Use scp
@@ -1518,9 +1492,14 @@
let g:netrw_machine= substitute(a:choice,ftpurm,'\3',"")
let g:netrw_port = substitute(a:choice,ftpurm,'\4',"")
let b:netrw_fname = substitute(a:choice,ftpurm,'\5',"")
+" call Decho("g:netrw_machine<".g:netrw_machine.">")
if userid != ""
let g:netrw_uid= userid
endif
+ if exists("s:netrw_passwd") && curmachine != g:netrw_machine
+ " if there's a change in hostname, require password re-entry
+ unlet s:netrw_passwd
+ endif
if exists("g:netrw_uid") && exists("s:netrw_passwd")
let b:netrw_method = 3
else
@@ -1592,7 +1571,7 @@
else
if !exists("g:netrw_quiet")
- call netrw#ErrorMsg(s:WARNING,"cannot determine method",45)
+ call netrw#ErrorMsg(s:WARNING,"cannot determine method (format: protocol://[user@]hostname[:port]/[path])",45)
endif
let b:netrw_method = -1
endif
@@ -1626,10 +1605,24 @@
if has("win95") && exists("g:netrw_win95ftp") && g:netrw_win95ftp
fun! NetReadFixup(method, line1, line2)
" call Dfunc("NetReadFixup(method<".a:method."> line1=".a:line1." line2=".a:line2.")")
+
+ " sanity checks -- attempt to convert inputs to integers
+ let method = a:method + 0
+ let line1 = a:line1 + 0
+ let line2 = a:line2 + 0
+ if type(method) != 0 || type(line1) != 0 || type(line2) != 0 || method < 0 || line1 <= 0 || line2 <= 0
+" call Dret("NetReadFixup")
+ return
+ endif
+
if method == 3 " ftp (no <.netrc>)
let fourblanklines= line2 - 3
- silent fourblanklines.",".line2."g/^\s*/d"
+ if fourblanklines >= line1
+ exe "silent ".fourblanklines.",".line2."g/^\s*$/d"
+ call histdel("/",-1)
+ endif
endif
+
" call Dret("NetReadFixup")
endfun
endif
@@ -1678,7 +1671,7 @@
nnoremap <buffer> <silent> <cr> :call netrw#LocalBrowseCheck(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord()))<cr>
nnoremap <buffer> <silent> - :exe "norm! 0"<bar>call netrw#LocalBrowseCheck(<SID>NetrwBrowseChgDir(1,'../'))<cr>
nnoremap <buffer> <silent> a :call <SID>NetrwHide(1)<cr>
- nnoremap <buffer> <silent> mb :<c-u>call <SID>NetrwBookmarkDir(0,b:netrw_curdir)<cr>
+ nnoremap <buffer> <silent> mb :<c-u>call <SID>NetrwBookHistHandler(0,b:netrw_curdir)<cr>
nnoremap <buffer> <silent> mc :<c-u>call <SID>NetrwMarkFileCopy(1)<cr>
nnoremap <buffer> <silent> md :<c-u>call <SID>NetrwMarkFileDiff(1)<cr>
nnoremap <buffer> <silent> me :<c-u>call <SID>NetrwMarkFileEdit(1)<cr>
@@ -1694,7 +1687,7 @@
nnoremap <buffer> <silent> mu :<c-u>call <SID>NetrwUnMarkFile(1)<cr>
nnoremap <buffer> <silent> mx :<c-u>call <SID>NetrwMarkFileExe(1)<cr>
nnoremap <buffer> <silent> mz :<c-u>call <SID>NetrwMarkFileCompress(1)<cr>
- nnoremap <buffer> <silent> gb :<c-u>call <SID>NetrwBookmarkDir(1,b:netrw_curdir)<cr>
+ nnoremap <buffer> <silent> gb :<c-u>call <SID>NetrwBookHistHandler(1,b:netrw_curdir)<cr>
nnoremap <buffer> <silent> gh :<c-u>call <SID>NetrwHidden(1)<cr>
nnoremap <buffer> <silent> c :exe "keepjumps lcd ".fnameescape(b:netrw_curdir)<cr>
nnoremap <buffer> <silent> C :let g:netrw_chgwin= winnr()<cr>
@@ -1704,15 +1697,15 @@
nnoremap <buffer> <silent> O :call <SID>NetrwObtain(1)<cr>
nnoremap <buffer> <silent> p :call <SID>NetrwPreview(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord(),1))<cr>
nnoremap <buffer> <silent> P :call <SID>NetrwPrevWinOpen(1)<cr>
- nnoremap <buffer> <silent> qb :<c-u>call <SID>NetrwBookmarkDir(2,b:netrw_curdir)<cr>
- nnoremap <buffer> <silent> mB :<c-u>call <SID>NetrwBookmarkDir(6,b:netrw_curdir)<cr>
+ nnoremap <buffer> <silent> qb :<c-u>call <SID>NetrwBookHistHandler(2,b:netrw_curdir)<cr>
+ nnoremap <buffer> <silent> mB :<c-u>call <SID>NetrwBookHistHandler(6,b:netrw_curdir)<cr>
nnoremap <buffer> <silent> qf :<c-u>call <SID>NetrwFileInfo(1,<SID>NetrwGetWord())<cr>
nnoremap <buffer> <silent> r :let g:netrw_sort_direction= (g:netrw_sort_direction =~ 'n')? 'r' : 'n'<bar>exe "norm! 0"<bar>call <SID>NetrwRefresh(1,<SID>NetrwBrowseChgDir(1,'./'))<cr>
nnoremap <buffer> <silent> s :call <SID>NetrwSortStyle(1)<cr>
nnoremap <buffer> <silent> S :call <SID>NetSortSequence(1)<cr>
nnoremap <buffer> <silent> t :call <SID>NetrwSplit(4)<cr>
- nnoremap <buffer> <silent> u :<c-u>call <SID>NetrwBookmarkDir(4,expand("%"))<cr>
- nnoremap <buffer> <silent> U :<c-u>call <SID>NetrwBookmarkDir(5,expand("%"))<cr>
+ nnoremap <buffer> <silent> u :<c-u>call <SID>NetrwBookHistHandler(4,expand("%"))<cr>
+ nnoremap <buffer> <silent> U :<c-u>call <SID>NetrwBookHistHandler(5,expand("%"))<cr>
nnoremap <buffer> <silent> v :call <SID>NetrwSplit(5)<cr>
nnoremap <buffer> <silent> x :call netrw#NetrwBrowseX(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord(),0),0)"<cr>
nnoremap <buffer> <silent> % :call <SID>NetrwOpenFile(1)<cr>
@@ -1754,7 +1747,7 @@
nnoremap <buffer> <silent> <c-l> :call <SID>NetrwRefresh(0,<SID>NetrwBrowseChgDir(0,'./'))<cr>
nnoremap <buffer> <silent> - :exe "norm! 0"<bar>call <SID>NetrwBrowse(0,<SID>NetrwBrowseChgDir(0,'../'))<cr>
nnoremap <buffer> <silent> a :call <SID>NetrwHide(0)<cr>
- nnoremap <buffer> <silent> mb :<c-u>call <SID>NetrwBookmarkDir(0,b:netrw_curdir)<cr>
+ nnoremap <buffer> <silent> mb :<c-u>call <SID>NetrwBookHistHandler(0,b:netrw_curdir)<cr>
nnoremap <buffer> <silent> mc :<c-u>call <SID>NetrwMarkFileCopy(0)<cr>
nnoremap <buffer> <silent> md :<c-u>call <SID>NetrwMarkFileDiff(0)<cr>
nnoremap <buffer> <silent> me :<c-u>call <SID>NetrwMarkFileEdit(0)<cr>
@@ -1770,7 +1763,7 @@
nnoremap <buffer> <silent> mu :<c-u>call <SID>NetrwUnMarkFile(0)<cr>
nnoremap <buffer> <silent> mx :<c-u>call <SID>NetrwMarkFileExe(0)<cr>
nnoremap <buffer> <silent> mz :<c-u>call <SID>NetrwMarkFileCompress(0)<cr>
- nnoremap <buffer> <silent> gb :<c-u>call <SID>NetrwBookmarkDir(1,b:netrw_cur)<cr>
+ nnoremap <buffer> <silent> gb :<c-u>call <SID>NetrwBookHistHandler(1,b:netrw_cur)<cr>
nnoremap <buffer> <silent> gh :<c-u>call <SID>NetrwHidden(0)<cr>
nnoremap <buffer> <silent> C :let g:netrw_chgwin= winnr()<cr>
nnoremap <buffer> <silent> i :call <SID>NetrwListStyle(0)<cr>
@@ -1778,15 +1771,15 @@
nnoremap <buffer> <silent> O :call <SID>NetrwObtain(0)<cr>
nnoremap <buffer> <silent> p :call <SID>NetrwPreview(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord(),1))<cr>
nnoremap <buffer> <silent> P :call <SID>NetrwPrevWinOpen(0)<cr>
- nnoremap <buffer> <silent> qb :<c-u>call <SID>NetrwBookmarkDir(2,b:netrw_curdir)<cr>
- nnoremap <buffer> <silent> mB :<c-u>call <SID>NetrwBookmarkDir(6,b:netrw_curdir)<cr>
+ nnoremap <buffer> <silent> qb :<c-u>call <SID>NetrwBookHistHandler(2,b:netrw_curdir)<cr>
+ nnoremap <buffer> <silent> mB :<c-u>call <SID>NetrwBookHistHandler(6,b:netrw_curdir)<cr>
nnoremap <buffer> <silent> qf :<c-u>call <SID>NetrwFileInfo(0,<SID>NetrwGetWord())<cr>
nnoremap <buffer> <silent> r :let g:netrw_sort_direction= (g:netrw_sort_direction =~ 'n')? 'r' : 'n'<bar>exe "norm! 0"<bar>call <SID>NetrwBrowse(0,<SID>NetrwBrowseChgDir(0,'./'))<cr>
nnoremap <buffer> <silent> s :call <SID>NetrwSortStyle(0)<cr>
nnoremap <buffer> <silent> S :call <SID>NetSortSequence(0)<cr>
nnoremap <buffer> <silent> t :call <SID>NetrwSplit(1)<cr>
- nnoremap <buffer> <silent> u :<c-u>call <SID>NetrwBookmarkDir(4,b:netrw_curdir)<cr>
- nnoremap <buffer> <silent> U :<c-u>call <SID>NetrwBookmarkDir(5,b:netrw_curdir)<cr>
+ nnoremap <buffer> <silent> u :<c-u>call <SID>NetrwBookHistHandler(4,b:netrw_curdir)<cr>
+ nnoremap <buffer> <silent> U :<c-u>call <SID>NetrwBookHistHandler(5,b:netrw_curdir)<cr>
nnoremap <buffer> <silent> v :call <SID>NetrwSplit(2)<cr>
nnoremap <buffer> <silent> x :call netrw#NetrwBrowseX(<SID>NetrwBrowseChgDir(0,<SID>NetrwGetWord()),1)<cr>
nnoremap <buffer> <silent> % :call <SID>NetrwOpenFile(0)<cr>
@@ -1836,7 +1829,7 @@
endfun
" ---------------------------------------------------------------------
-" s:NetrwBookmarkDir: {{{2
+" s:NetrwBookHistHandler: {{{2
" 0: (user: <mb>) bookmark current directory
" 1: (user: <gb>) change to the bookmarked directory
" 2: (user: <qb>) list bookmarks
@@ -1844,32 +1837,27 @@
" 4: (user: <u>) go up (previous) bookmark
" 5: (user: <U>) go down (next) bookmark
" 6: (user: <mB>) delete bookmark
-fun! s:NetrwBookmarkDir(chg,curdir)
-" call Dfunc("NetrwBookmarkDir(chg=".a:chg." curdir<".a:curdir.">) cnt=".v:count." bookmarkcnt=".g:NETRW_BOOKMARKMAX." histcnt=".g:NETRW_DIRHIST_CNT." bookmax=".g:NETRW_BOOKMARKMAX." histmax=".g:netrw_dirhistmax)
+fun! s:NetrwBookHistHandler(chg,curdir)
+" call Dfunc("NetrwBookHistHandler(chg=".a:chg." curdir<".a:curdir.">) cnt=".v:count." histcnt=".g:netrw_dirhist_cnt." histmax=".g:netrw_dirhistmax)
if a:chg == 0
" bookmark the current directory
" call Decho("(user: <b>) bookmark the current directory")
- if v:count > 0
- " handle bookmark# specified via the count
- let g:NETRW_BOOKMARKDIR_{v:count}= a:curdir
- if !exists("g:NETRW_BOOKMARKMAX")
- let g:NETRW_BOOKMARKMAX= v:count
- elseif v:count > g:NETRW_BOOKMARKMAX
- let g:NETRW_BOOKMARKMAX= v:count
- endif
- else
- " handle no count specified
- let g:NETRW_BOOKMARKMAX = g:NETRW_BOOKMARKMAX + 1
- let g:NETRW_BOOKMARKDIR_{g:NETRW_BOOKMARKMAX} = a:curdir
+ if !exists("g:netrw_bookmarklist")
+ let g:netrw_bookmarklist= []
+ endif
+ if index(g:netrw_bookmarklist,a:curdir) == -1
+ " curdir not currently in g:netrw_bookmarklist, so include it
+ call add(g:netrw_bookmarklist,a:curdir)
+ call sort(g:netrw_bookmarklist)
endif
echo "bookmarked the current directory"
elseif a:chg == 1
" change to the bookmarked directory
-" call Decho("(user: <B>) change to the bookmarked directory")
- if exists("g:NETRW_BOOKMARKDIR_{v:count}")
- exe "e ".fnameescape(g:NETRW_BOOKMARKDIR_{v:count})
+" call Decho("(user: <".v:count."mb>) change to the bookmarked directory")
+ if exists("g:netrw_bookmarklist[v:count-1]")
+ exe "e ".fnameescape(g:netrw_bookmarklist[v:count-1])
else
echomsg "Sorry, bookmark#".v:count." doesn't exist!"
endif
@@ -1879,29 +1867,27 @@
let didwork= 0
" list user's bookmarks
" call Decho("(user: <q>) list user's bookmarks")
- if exists("g:NETRW_BOOKMARKMAX")
-" call Decho("list bookmarks [0,".g:NETRW_BOOKMARKMAX."]")
- let cnt= 0
- while cnt <= g:NETRW_BOOKMARKMAX
- if exists("g:NETRW_BOOKMARKDIR_{cnt}")
-" call Decho("Netrw Bookmark#".cnt.": ".g:NETRW_BOOKMARKDIR_{cnt})
- echo "Netrw Bookmark#".cnt.": ".g:NETRW_BOOKMARKDIR_{cnt}
- let didwork= 1
- endif
- let cnt= cnt + 1
- endwhile
+ if exists("g:netrw_bookmarklist")
+" call Decho('list '.len(g:netrw_bookmarklist).' bookmarks')
+ let cnt= 1
+ for bmd in g:netrw_bookmarklist
+" call Decho("Netrw Bookmark#".cnt.": ".g:netrw_bookmarklist[cnt-1])
+ echo "Netrw Bookmark#".cnt.": ".g:netrw_bookmarklist[cnt-1]
+ let didwork = 1
+ let cnt = cnt + 1
+ endfor
endif
" list directory history
- let cnt = g:NETRW_DIRHIST_CNT
+ let cnt = g:netrw_dirhist_cnt
let first = 1
let histcnt = 0
- while ( first || cnt != g:NETRW_DIRHIST_CNT )
-" call Decho("first=".first." cnt=".cnt." dirhist_cnt=".g:NETRW_DIRHIST_CNT)
+ while ( first || cnt != g:netrw_dirhist_cnt )
+" call Decho("first=".first." cnt=".cnt." dirhist_cnt=".g:netrw_dirhist_cnt)
let histcnt= histcnt + 1
- if exists("g:NETRW_DIRHIST_{cnt}")
-" call Decho("Netrw History#".histcnt.": ".g:NETRW_DIRHIST_{cnt})
- echo "Netrw History#".histcnt.": ".g:NETRW_DIRHIST_{cnt}
+ if exists("g:netrw_dirhist_{cnt}")
+" call Decho("Netrw History#".histcnt.": ".g:netrw_dirhist_{cnt})
+ echo "Netrw History#".histcnt.": ".g:netrw_dirhist_{cnt}
let didwork= 1
endif
let first = 0
@@ -1917,22 +1903,21 @@
elseif a:chg == 3
" saves most recently visited directories (when they differ)
" call Decho("(browsing) record curdir history")
- if !exists("g:NETRW_DIRHIST_0") || g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT} != a:curdir
- let g:NETRW_DIRHIST_CNT= ( g:NETRW_DIRHIST_CNT + 1 ) % g:netrw_dirhistmax
-" let g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}= substitute(a:curdir,'[/\\]$','','e')
- let g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}= a:curdir
-" call Decho("save dirhist#".g:NETRW_DIRHIST_CNT."<".g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}.">")
+ if !exists("g:netrw_dirhist_cnt") || !exists("g:netrw_dirhist_{g:netrw_dirhist_cnt}") || g:netrw_dirhist_{g:netrw_dirhist_cnt} != a:curdir
+ let g:netrw_dirhist_cnt = ( g:netrw_dirhist_cnt + 1 ) % g:netrw_dirhistmax
+ let g:netrw_dirhist_{g:netrw_dirhist_cnt} = a:curdir
+" call Decho("save dirhist#".g:netrw_dirhist_cnt."<".g:netrw_dirhist_{g:netrw_dirhist_cnt}.">")
endif
elseif a:chg == 4
" u: change to the previous directory stored on the history list
" call Decho("(user: <u>) chg to prev dir from history")
- let g:NETRW_DIRHIST_CNT= ( g:NETRW_DIRHIST_CNT - 1 ) % g:netrw_dirhistmax
- if g:NETRW_DIRHIST_CNT < 0
- let g:NETRW_DIRHIST_CNT= g:NETRW_DIRHIST_CNT + g:netrw_dirhistmax
+ let g:netrw_dirhist_cnt= ( g:netrw_dirhist_cnt - 1 ) % g:netrw_dirhistmax
+ if g:netrw_dirhist_cnt < 0
+ let g:netrw_dirhist_cnt= g:netrw_dirhist_cnt + g:netrw_dirhistmax
endif
- if exists("g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}")
-" call Decho("changedir u#".g:NETRW_DIRHIST_CNT."<".g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}.">")
+ if exists("g:netrw_dirhist_{g:netrw_dirhist_cnt}")
+" call Decho("changedir u#".g:netrw_dirhist_cnt."<".g:netrw_dirhist_{g:netrw_dirhist_cnt}.">")
if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && exists("b:netrw_curdir")
setlocal ma noro
" call Decho("setlocal ma noro")
@@ -1940,19 +1925,19 @@
setlocal nomod
" call Decho("setlocal nomod")
endif
-" " call Decho("exe e! ".fnameescape(g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}))
- exe "e! ".fnameescape(g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT})
+" " call Decho("exe e! ".fnameescape(g:netrw_dirhist_{g:netrw_dirhist_cnt}))
+ exe "e! ".fnameescape(g:netrw_dirhist_{g:netrw_dirhist_cnt})
else
- let g:NETRW_DIRHIST_CNT= ( g:NETRW_DIRHIST_CNT + 1 ) % g:netrw_dirhistmax
+ let g:netrw_dirhist_cnt= ( g:netrw_dirhist_cnt + 1 ) % g:netrw_dirhistmax
echo "Sorry, no predecessor directory exists yet"
endif
elseif a:chg == 5
" U: change to the subsequent directory stored on the history list
" call Decho("(user: <U>) chg to next dir from history")
- let g:NETRW_DIRHIST_CNT= ( g:NETRW_DIRHIST_CNT + 1 ) % g:netrw_dirhistmax
- if exists("g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}")
-" call Decho("changedir U#".g:NETRW_DIRHIST_CNT."<".g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}.">")
+ let g:netrw_dirhist_cnt= ( g:netrw_dirhist_cnt + 1 ) % g:netrw_dirhistmax
+ if exists("g:netrw_dirhist_{g:netrw_dirhist_cnt}")
+" call Decho("changedir U#".g:netrw_dirhist_cnt."<".g:netrw_dirhist_{g:netrw_dirhist_cnt}.">")
if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && exists("b:netrw_curdir")
setlocal ma noro
" call Decho("setlocal ma noro")
@@ -1961,57 +1946,108 @@
setlocal nomod
" call Decho("setlocal nomod")
endif
-" call Decho("exe e! ".fnameescape(g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}))
- exe "e! ".fnameescape(g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT})
+" call Decho("exe e! ".fnameescape(g:netrw_dirhist_{g:netrw_dirhist_cnt}))
+ exe "e! ".fnameescape(g:netrw_dirhist_{g:netrw_dirhist_cnt})
else
- let g:NETRW_DIRHIST_CNT= ( g:NETRW_DIRHIST_CNT - 1 ) % g:netrw_dirhistmax
- if g:NETRW_DIRHIST_CNT < 0
- let g:NETRW_DIRHIST_CNT= g:NETRW_DIRHIST_CNT + g:netrw_dirhistmax
+ let g:netrw_dirhist_cnt= ( g:netrw_dirhist_cnt - 1 ) % g:netrw_dirhistmax
+ if g:netrw_dirhist_cnt < 0
+ let g:netrw_dirhist_cnt= g:netrw_dirhist_cnt + g:netrw_dirhistmax
endif
echo "Sorry, no successor directory exists yet"
endif
elseif a:chg == 6
- if v:count > 0 && v:count == g:NETRW_BOOKMARKMAX
- " delete the v:count'th bookmark
-" call Decho("delete bookmark#".v:count."<".g:NETRW_BOOKMARKDIR_{g:NETRW_BOOKMARKMAX}.">")
- unlet g:NETRW_BOOKMARKDIR_{g:NETRW_BOOKMARKMAX}
- let g:NETRW_BOOKMARKMAX= g:NETRW_BOOKMARKMAX - 1
-
- elseif v:count > 0
-" call Decho("delete by shifting bookmark#".v:count."<".g:NETRW_BOOKMARKDIR_{v:count}.">")
- let cnt= v:count
- while cnt < g:NETRW_BOOKMARKMAX
- let g:NETRW_BOOKMARKDIR_{cnt} = g:NETRW_BOOKMARKDIR_{(cnt+1)}
- let cnt = cnt + 1
- endwhile
- unlet g:NETRW_BOOKMARKDIR_{g:NETRW_BOOKMARKMAX}
- let g:NETRW_BOOKMARKMAX= g:NETRW_BOOKMARKMAX - 1
+ " delete the v:count'th bookmark
+" call Decho("delete bookmark#".v:count."<".g:netrw_bookmarklist[v:count-1].">")
+ let savefile= s:NetrwHome()."/.netrwbook"
+ if filereadable(savefile)
+ call s:NetrwBookHistSave() " done here to merge bookmarks first
+ call delete(savefile)
+ endif
+ call remove(g:netrw_bookmarklist,v:count-1)
+ endif
+ call s:NetrwBookmarkMenu()
+" call Dret("NetrwBookHistHandler")
+endfun
- elseif exists("b:netrw_curdir")
- " look for current directory amongst the bookmarks and remove that bookmark
-" call Decho("search for bookmark<".b:netrw_curdir.">")
- let cnt= 1
- while cnt <= g:NETRW_BOOKMARKMAX
-" call Decho("checking: g:NETRW_BOOKMARKDIR_".cnt."<".g:NETRW_BOOKMARKDIR_{cnt}.">")
- if g:NETRW_BOOKMARKDIR_{cnt} == b:netrw_curdir
- if cnt < g:NETRW_BOOKMARKMAX
-" call Decho("delete bookmark#".cnt."<".b:netrw_curdir.">")
- while cnt < g:NETRW_BOOKMARMAX
- let g:NETRW_BOOKMARKDIR_{cnt} = g:NETRW_BOOKMARKDIR_{(cnt+1)}
- let cnt = cnt + 1
- endwhile
- endif
- unlet g:NETRW_BOOKMARKDIR_{g:NETRW_BOOKMARKMAX}
- let g:NETRW_BOOKMARKMAX= g:NETRW_BOOKMARKMAX - 1
+" ---------------------------------------------------------------------
+" s:NetrwBookHistRead: this function reads bookmarks and history {{{2
+" Sister function: s:NetrwBookHistSave()
+fun! s:NetrwBookHistRead()
+" call Dfunc("s:NetrwBookHistRead()")
+ if !exists("s:netrw_initbookhist")
+ let home = s:NetrwHome()
+ let savefile= home."/.netrwbook"
+ if filereadable(savefile)
+" call Decho("sourcing .netrwbook")
+ exe "so ".savefile
+ endif
+ let savefile= home."/.netrwhist"
+ if filereadable(savefile)
+" call Decho("sourcing .netrwhist")
+ exe "so ".savefile
+ endif
+ let s:netrw_initbookhist= 1
+ au VimLeave * call s:NetrwBookHistSave()
+ endif
+" call Dret("s:NetrwBookHistRead")
+endfun
+
+" ---------------------------------------------------------------------
+" s:NetrwBookHistSave: this function saves bookmarks and history {{{2
+" Sister function: s:NetrwBookHistRead()
+" I used to do this via viminfo but that appears to
+" be unreliable for long-term storage
+" COMBAK: does $HOME work under windows???
+fun! s:NetrwBookHistSave()
+" call Dfunc("s:NetrwBookHistSave() dirhistmax=".g:netrw_dirhistmax)
+ let savefile= s:NetrwHome()."/.netrwhist"
+ 1split
+ call s:NetrwEnew()
+ setlocal cino= com= cpo-=aA fo=nroql2 tw=0 report=10000 noswf
+ setlocal nocin noai noci magic nospell nohid wig= noaw
+ setlocal ma noro write
+ if exists("&acd") | setlocal noacd | endif
+ silent %d
+
+ " save .netrwhist -- no attempt to merge
+ silent! file .netrwhist
+ call setline(1,"let g:netrw_dirhistmax =".g:netrw_dirhistmax)
+ call setline(2,"let g:netrw_dirhist_cnt =".g:netrw_dirhist_cnt)
+ let lastline = line("$")
+ let cnt = 1
+ while cnt <= g:netrw_dirhist_cnt
+ call setline((cnt+lastline),'let g:netrw_dirhist_'.cnt."='".g:netrw_dirhist_{cnt}."'")
+ let cnt= cnt + 1
+ endwhile
+ exe "silent! w! ".savefile
+
+ silent %d
+ if exists("g:netrw_bookmarklist") && g:netrw_bookmarklist != []
+ " merge and write .netrwbook
+ let savefile= s:NetrwHome()."/.netrwbook"
+
+ if filereadable(savefile)
+ let booklist= deepcopy(g:netrw_bookmarklist)
+ exe "silent so ".savefile
+ for bdm in booklist
+ if index(g:netrw_bookmarklist,bdm) == -1
+ call add(g:netrw_bookmarklist,bdm)
endif
- let cnt= cnt + 1
- endwhile
+ endfor
+ call sort(g:netrw_bookmarklist)
+ exe "silent! w! ".savefile
endif
+ " construct and save .netrwbook
+ call setline(1,"let g:netrw_bookmarklist= ".string(g:netrw_bookmarklist))
+ exe "silent! w! ".savefile
endif
- call s:NetrwBookmarkMenu()
-" call Dret("NetrwBookmarkDir")
+ let bgone= bufnr("%")
+ q!
+ exe bgone."bwipe!"
+
+" call Dret("s:NetrwBookHistSave")
endfun
" ---------------------------------------------------------------------
@@ -2024,6 +2060,16 @@
" call Dfunc("s:NetrwBrowse(islocal=".a:islocal." dirname<".a:dirname.">) liststyle=".w:netrw_liststyle." ".g:loaded_netrw." buf#".bufnr("%")."<".bufname("%").">")
" call Decho("tab#".tabpagenr()." win#".winnr())
" call Dredir("ls!")
+ if !exists("s:netrw_initbookhist")
+ call s:NetrwBookHistRead()
+ endif
+
+ " simplify the dirname (especially for ".."s in dirnames)
+ if a:dirname !~ '^\a\+://'
+ let dirname= simplify(a:dirname)
+ else
+ let dirname= a:dirname
+ endif
if exists("s:netrw_skipbrowse")
unlet s:netrw_skipbrowse
@@ -2043,7 +2089,6 @@
endif
call s:NetrwOptionSave("w:")
- call s:NetrwSafeOptions()
" re-instate any marked files
if exists("s:netrwmarkfilelist_{bufnr('%')}")
@@ -2053,27 +2098,29 @@
if a:islocal && exists("w:netrw_acdkeep") && w:netrw_acdkeep
" call Decho("handle w:netrw_acdkeep:")
-" call Decho("keepjumps lcd ".fnameescape(a:dirname)." (due to w:netrw_acdkeep=".w:netrw_acdkeep." - acd=".&acd.")")
- exe 'keepjumps lcd '.fnameescape(a:dirname)
+" call Decho("keepjumps lcd ".fnameescape(dirname)." (due to w:netrw_acdkeep=".w:netrw_acdkeep." - acd=".&acd.")")
+ exe 'keepjumps lcd '.fnameescape(dirname)
+ call s:NetrwSafeOptions()
" call Decho("getcwd<".getcwd().">")
- elseif !a:islocal && a:dirname !~ '[\/]$' && a:dirname !~ '^"'
+ elseif !a:islocal && dirname !~ '[\/]$' && dirname !~ '^"'
" looks like a regular file, attempt transfer
-" call Decho("attempt transfer as regular file<".a:dirname.">")
+" call Decho("attempt transfer as regular file<".dirname.">")
" remove any filetype indicator from end of dirname, except for the {{{3
" "this is a directory" indicator (/).
" There shouldn't be one of those here, anyway.
- let path= substitute(a:dirname,'[*=@|]\r\=$','','e')
+ let path= substitute(dirname,'[*=@|]\r\=$','','e')
" call Decho("new path<".path.">")
- call s:RemotePathAnalysis(a:dirname)
+ call s:RemotePathAnalysis(dirname)
" remote-read the requested file into current buffer {{{3
mark '
- call s:NetrwEnew(a:dirname)
+ call s:NetrwEnew(dirname)
+ call s:NetrwSafeOptions()
setlocal ma noro
" call Decho("setlocal ma noro")
- let b:netrw_curdir= a:dirname
+ let b:netrw_curdir= dirname
" call Decho("exe silent! keepalt file ".fnameescape(s:method."://".s:user.s:machine."/".s:path)." (bt=".&bt.")")
exe "silent! keepalt file ".fnameescape(s:method."://".s:user.s:machine."/".s:path)
exe "silent keepalt doau BufReadPre ".fnameescape(s:fname)
@@ -2098,7 +2145,7 @@
" set up some variables {{{3
let b:netrw_browser_active = 1
- let dirname = a:dirname
+ let dirname = dirname
let s:last_sort_by = g:netrw_sort_by
" set up menu {{{3
@@ -2183,11 +2230,11 @@
else
" call Decho("remote only:")
- " analyze a:dirname and g:netrw_list_cmd {{{4
-" call Decho("b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : "doesn't exist")."> a:dirname<".a:dirname.">")
- if a:dirname =~ "^NetrwTreeListing\>"
+ " analyze dirname and g:netrw_list_cmd {{{4
+" call Decho("b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : "doesn't exist")."> dirname<".dirname.">")
+ if dirname =~ "^NetrwTreeListing\>"
let dirname= b:netrw_curdir
-" call Decho("(dirname was ".a:dirname.") dirname<".dirname.">")
+" call Decho("(dirname was ".dirname.") dirname<".dirname.">")
elseif exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && exists("b:netrw_curdir")
let dirname= substitute(b:netrw_curdir,'\\','/','g')
if dirname !~ '/$'
@@ -2196,7 +2243,7 @@
let b:netrw_curdir = dirname
" call Decho("(liststyle is TREELIST) dirname<".dirname.">")
else
- let dirname = substitute(a:dirname,'\\','/','g')
+ let dirname = substitute(dirname,'\\','/','g')
" call Decho("(normal) dirname<".dirname.">")
endif
@@ -2221,6 +2268,14 @@
call s:BrowserMaps(a:islocal)
call s:PerformListing(a:islocal)
+ " The s:LocalBrowseShellCmdRefresh() function is called by an autocmd
+ " installed by s:LocalFastBrowser() when g:netrw_fastbrowse <= 1 (ie. slow, medium speed).
+ " However, s:NetrwBrowse() causes the ShellCmdPost event itself to fire once; setting
+ " the variable below avoids that second refresh of the screen. The s:LocalBrowseShellCmdRefresh()
+ " function gets called due to that autocmd; it notices that the following variable is set
+ " and skips the refresh and sets s:locbrowseshellcmd to zero. Oct 13, 2008
+ let s:locbrowseshellcmd= 1
+
" call Decho("ro=".&l:ro." ma=".&l:ma." mod=".&l:mod." wrap=".&l:wrap)
" call Dret("s:NetrwBrowse : did PerformListing")
return
@@ -2280,7 +2335,7 @@
set ei=all
exe "b ".w:netrw_treebufnr
let &ei= eikeep
-" call Dret("s:NetrwGetBuffer : bufnum#".bufnum."<NetrwTreeListing>")
+" call Dret("s:NetrwGetBuffer : bufnum#".w:netrw_treebufnr."<NetrwTreeListing>")
return
endif
let bufnum= -1
@@ -2510,6 +2565,7 @@
if !exists("b:netrw_cpf")
let b:netrw_cpf= 0
exe 'silent keepjumps '.w:netrw_bannercnt.',$g/^./if virtcol("$") > b:netrw_cpf|let b:netrw_cpf= virtcol("$")|endif'
+ call histdel("/",-1)
" call Decho("computed cpf=".b:netrw_cpf)
endif
@@ -2621,6 +2677,22 @@
let svpos= netrw#NetrwSavePosn()
call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./'))
call netrw#NetrwRestorePosn(svpos)
+ if w:netrw_liststyle != s:WIDELIST
+ if g:netrw_cursorline == 2
+ setlocal cursorline
+ let &cursorcolumn= s:netrw_usercuc
+ elseif g:netrw_cursorline
+ setlocal cursorline
+" call Decho("setlocal cursorline")
+ endif
+ else
+ if g:netrw_cursorline == 2
+ setlocal cursorline cursorcolumn
+" call Decho("setlocal cursorline cursorcolumn")
+ elseif g:netrw_cursorline
+ let &cursorline= s:netrw_usercul
+ endif
+ endif
" keep cursor on the filename
silent keepjumps $
@@ -2642,37 +2714,47 @@
if !exists("s:netrw_menucnt")
return
endif
-" call Dfunc("NetrwBookmarkMenu() bookmarkcnt=".g:NETRW_BOOKMARKMAX." histcnt=".g:NETRW_DIRHIST_CNT." menucnt=".s:netrw_menucnt)
+" call Dfunc("NetrwBookmarkMenu() histcnt=".g:netrw_dirhist_cnt." menucnt=".s:netrw_menucnt)
" the following test assures that gvim is running, has menus available, and has menus enabled.
if has("gui") && has("menu") && has("gui_running") && &go =~ 'm' && g:netrw_menu
if exists("g:NetrwTopLvlMenu")
" call Decho("removing ".g:NetrwTopLvlMenu."Bookmarks menu item(s)")
exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Bookmarks'
+ exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Bookmark\ Delete'
+ endif
+ if !exists("s:netrw_initbookhist")
+ call s:NetrwBookHistRead()
endif
" show bookmarked places
- let cnt = 1
- while cnt <= g:NETRW_BOOKMARKMAX
- if exists("g:NETRW_BOOKMARKDIR_{cnt}")
- let bmdir= escape(g:NETRW_BOOKMARKDIR_{cnt},'. ')
-" call Decho('silent! menu '.g:NetrwMenuPriority.".2.".cnt." ".g:NetrwTopLvlMenu.'Bookmark.'.bmdir.' :e '.bmdir)
- exe 'silent! menu '.g:NetrwMenuPriority.".2.".cnt." ".g:NetrwTopLvlMenu.'Bookmarks.'.bmdir.' :e '.bmdir."\<cr>"
- endif
- let cnt= cnt + 1
- endwhile
+ if exists("g:netrw_bookmarklist") && g:netrw_bookmarklist != []
+ let cnt= 1
+ for bmd in g:netrw_bookmarklist
+" call Decho('silent! menu '.g:NetrwMenuPriority.".2.".cnt." ".g:NetrwTopLvlMenu.'Bookmark.'.bmd.' :e '.bmd)
+ let bmd= escape(bmd,'. ')
+
+ " show bookmarks for goto menu
+ exe 'silent! menu '.g:NetrwMenuPriority.".2.".cnt." ".g:NetrwTopLvlMenu.'Bookmarks.'.bmd.' :e '.bmd."\<cr>"
+
+ " show bookmarks for deletion menu
+ exe 'silent! menu '.g:NetrwMenuPriority.".8.2.".cnt." ".g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Bookmark\ Delete.'.bmd.' '.cnt."mB"
+ let cnt= cnt + 1
+ endfor
+
+ endif
" show directory browsing history
- let cnt = g:NETRW_DIRHIST_CNT
+ let cnt = g:netrw_dirhist_cnt
let first = 1
let histcnt = 0
- while ( first || cnt != g:NETRW_DIRHIST_CNT )
+ while ( first || cnt != g:netrw_dirhist_cnt )
let histcnt = histcnt + 1
- let priority = g:NETRW_DIRHIST_CNT + histcnt
- if exists("g:NETRW_DIRHIST_{cnt}")
- let bmdir= escape(g:NETRW_DIRHIST_{cnt},'/&? ')
-" call Decho('silent! menu '.g:NetrwMenuPriority.".3.".priority." ".g:NetrwTopLvlMenu.'History.'.bmdir.' :e '.bmdir)
- exe 'silent! menu '.g:NetrwMenuPriority.".3.".priority." ".g:NetrwTopLvlMenu.'History.'.bmdir.' :e '.bmdir."\<cr>"
+ let priority = g:netrw_dirhist_cnt + histcnt
+ if exists("g:netrw_dirhist_{cnt}")
+ let histdir= escape(g:netrw_dirhist_{cnt},'./&? ')
+" call Decho('silent! menu '.g:NetrwMenuPriority.".3.".priority." ".g:NetrwTopLvlMenu.'History.'.histdir.' :e '.histdir)
+ exe 'silent! menu '.g:NetrwMenuPriority.".3.".priority." ".g:NetrwTopLvlMenu.'History.'.histdir.' :e '.histdir."\<cr>"
endif
let first = 0
let cnt = ( cnt - 1 ) % g:netrw_dirhistmax
@@ -2680,6 +2762,7 @@
let cnt= cnt + g:netrw_dirhistmax
endif
endwhile
+
endif
" call Dret("NetrwBookmarkMenu")
endfun
@@ -2737,6 +2820,7 @@
else
let dirname= s:NetrwTreeDir()."/".newdir
endif
+" call Decho("dirname<".dirname.">")
" call Decho("tree listing")
elseif newdir =~ '^\(/\|\a:\)'
let dirname= newdir
@@ -2782,6 +2866,9 @@
endif
let dolockout= 1
endif
+ if exists("g:Netrw_funcref")
+ call g:Netrw_funcref()
+ endif
elseif newdir =~ '^/'
" ---------------------------------
@@ -2887,15 +2974,16 @@
" close tree listing for selected subdirectory
" call Decho("closing selected subdirectory<".dirname.">")
call remove(w:netrw_treedict,treedir)
-" call Decho("removed entry<".dirname."> from treedict")
+" call Decho("removed entry<".treedir."> from treedict")
" call Decho("yielding treedict<".string(w:netrw_treedict).">")
- let dirname= w:netrw_treetop
+ let dirname = w:netrw_treetop
else
" go down one directory
let dirname= substitute(treedir,'/*$','/','')
" call Decho("go down one dir: treedir<".treedir.">")
endif
call s:SetRexDir(a:islocal,dirname)
+ let s:treeforceredraw = 1
else
" go down one directory
@@ -2927,6 +3015,7 @@
if has("win32") || has("win95") || has("win64") || has("win16")
let exten= substitute(exten,'^.*$','\L&\E','')
endif
+" call Decho("exten<".exten.">")
" seems kde systems often have gnome-open due to dependencies, even though
" gnome-open's subsidiary display tools are largely absent. Kde systems
@@ -2945,16 +3034,25 @@
if a:remote == 1
" create a local copy
- let fname= fnamemodify(tempname(),":r").".".exten
-" call Decho("a:remote=".a:remote.": create a local copy of <".fname."> as <".fname.">")
- exe "silent keepjumps bot 1new ".fnameescape(fname)
+" call Decho("a:remote=".a:remote.": create a local copy of <".a:fname.">")
setlocal bh=delete
-" call Decho("read <".fnameescape(fname).">, now writing: exe w! ".fnameescape(fname))
- exe "silent! w! ".fnameescape(fname)
- q
+ call netrw#NetRead(3,a:fname)
+ " attempt to rename tempfile
+ let basename= substitute(a:fname,'^\(.*\)/\(.*\)\.\([^.]*\)$','\2','')
+ let newname= substitute(s:netrw_tmpfile,'^\(.*\)/\(.*\)\.\([^.]*\)$','\1/'.basename.'.\3','')
+" call Decho("basename<".basename.">")
+" call Decho("newname <".newname.">")
+ if rename(s:netrw_tmpfile,newname) == 0
+ " renaming succeeded
+ let fname= newname
+ else
+ " renaming failed
+ let fname= s:netrw_tmpfile
+ endif
else
let fname= a:fname
endif
+" call Decho("fname<".fname.">")
" call Decho("exten<".exten."> "."netrwFileHandlers#NFH_".exten."():exists=".exists("*netrwFileHandlers#NFH_".exten))
" set up redirection
@@ -3061,10 +3159,21 @@
" ---------------------------------------------------------------------
" netrw#Explore: launch the local browser in the directory of the current file {{{2
-" dosplit==0: the window will be split iff the current file has
-" been modified
-" dosplit==1: the window will be split before running the local
-" browser
+" indx: == -1: Nexplore
+" == -2: Pexplore
+" == +: this is overloaded:
+" * If Nexplore/Pexplore is in use, then this refers to the
+" indx'th item in the w:netrw_explore_list[] of items which
+" matched the */pattern **/pattern *//pattern **//pattern
+" * If Hexplore or Vexplore, then this will override
+" g:netrw_winsize to specify the qty of rows or columns the
+" newly split window should have.
+" dosplit==0: the window will be split iff the current file has been modified
+" dosplit==1: the window will be split before running the local browser
+" style == 0: Explore style == 1: Explore!
+" == 2: Hexplore style == 3: Hexplore!
+" == 4: Vexplore style == 5: Vexplore!
+" == 6: Texplore
fun! netrw#Explore(indx,dosplit,style,...)
" call Dfunc("netrw#Explore(indx=".a:indx." dosplit=".a:dosplit." style=".a:style.",a:1<".a:1.">) &modified=".&modified." a:0=".a:0)
if !exists("b:netrw_curdir")
@@ -3083,30 +3192,34 @@
if a:dosplit || &modified || a:style == 6
" call Decho("case: dosplit=".a:dosplit." modified=".&modified." a:style=".a:style)
call s:SaveWinVars()
+ let winsize= g:netrw_winsize
+ if a:indx > 0
+ let winsize= a:indx
+ endif
if a:style == 0 " Explore, Sexplore
" call Decho("style=0: Explore or Sexplore")
- exe g:netrw_winsize."wincmd s"
+ exe winsize."wincmd s"
elseif a:style == 1 "Explore!, Sexplore!
" call Decho("style=1: Explore! or Sexplore!")
- exe g:netrw_winsize."wincmd v"
+ exe winsize."wincmd v"
elseif a:style == 2 " Hexplore
" call Decho("style=2: Hexplore")
- exe "bel ".g:netrw_winsize."wincmd s"
+ exe "bel ".winsize."wincmd s"
elseif a:style == 3 " Hexplore!
" call Decho("style=3: Hexplore!")
- exe "abo ".g:netrw_winsize."wincmd s"
+ exe "abo ".winsize."wincmd s"
elseif a:style == 4 " Vexplore
" call Decho("style=4: Vexplore")
- exe "lefta ".g:netrw_winsize."wincmd v"
+ exe "lefta ".winsize."wincmd v"
elseif a:style == 5 " Vexplore!
" call Decho("style=5: Vexplore!")
- exe "rightb ".g:netrw_winsize."wincmd v"
+ exe "rightb ".winsize."wincmd v"
elseif a:style == 6 " Texplore
call s:SaveBufVars()
@@ -3137,19 +3250,7 @@
endif
else
" clear explore
-" call Decho("clearing explore variables")
- 2match none
- if exists("s:explore_match") |unlet s:explore_match |endif
- if exists("s:explore_indx") |unlet s:explore_indx |endif
- if exists("s:dirstarstar") |unlet s:dirstarstar |endif
- if exists("s:dirstarstar") |unlet s:dirstarstar |endif
- if exists("w:netrw_explore_indx") |unlet w:netrw_explore_indx |endif
- if exists("w:netrw_explore_listlen")|unlet w:netrw_explore_listlen|endif
- if exists("w:netrw_explore_list") |unlet w:netrw_explore_list |endif
- if exists("w:netrw_explore_bufnr") |unlet w:netrw_explore_bufnr |endif
-" redraw!
- echo " "
- echo " "
+ call s:NetrwClearExplore()
" call Dret("netrw#Explore : cleared list")
return
endif
@@ -3237,9 +3338,10 @@
if !exists("w:netrw_explore_indx")
let w:netrw_explore_indx= 0
endif
+
let indx = a:indx
" call Decho("starpat=".starpat.": set indx= [a:indx=".indx."]")
-"
+
if indx == -1
" Nexplore
" call Decho("case Nexplore with starpat=".starpat.": (indx=".indx.")")
@@ -3290,6 +3392,7 @@
" Explore -- initialize
" build list of files to Explore with Nexplore/Pexplore
" call Decho("starpat=".starpat.": case Explore: initialize (indx=".indx.")")
+ call s:NetrwClearExplore()
let w:netrw_explore_indx= 0
if !exists("b:netrw_curdir")
let b:netrw_curdir= getcwd()
@@ -3300,8 +3403,9 @@
if starpat == 1
" starpat=1: Explore *//pattern (current directory only search for files containing pattern)
" call Decho("starpat=".starpat.": build *//pattern list")
+" call Decho("pattern<".pattern.">")
exe "vimgrep /".pattern."/gj ".fnameescape(b:netrw_curdir)."/*"
- let w:netrw_explore_list = map(getqflist(),'bufname(v:val.bufnr)')
+ let w:netrw_explore_list = s:NetrwExploreListUniq(map(getqflist(),'bufname(v:val.bufnr)'))
if &hls | let keepregslash= s:ExplorePatHls(pattern) | endif
elseif starpat == 2
@@ -3320,19 +3424,22 @@
endtry
let s:netrw_curdir = b:netrw_curdir
let w:netrw_explore_list = getqflist()
- let w:netrw_explore_list = map(w:netrw_explore_list,'s:netrw_curdir."/".bufname(v:val.bufnr)')
+ let w:netrw_explore_list = s:NetrwExploreListUniq(map(w:netrw_explore_list,'s:netrw_curdir."/".bufname(v:val.bufnr)'))
elseif starpat == 3
" starpat=3: Explore */filepat (search in current directory for filenames matching filepat)
" call Decho("starpat=".starpat.": build */filepat list")
- let dirname = substitute(dirname,'^\*/','','')
- let w:netrw_explore_list= split(expand(b:netrw_curdir."/".dirname),'\n')
- if &hls | let keepregslash= s:ExplorePatHls(dirname) | endif
+ let filepat= substitute(dirname,'^\*/','','')
+ let filepat= substitute(filepat,'^[%#<]','\\&','')
+" call Decho("b:netrw_curdir<".b:netrw_curdir.">")
+" call Decho("filepat<".filepat.">")
+ let w:netrw_explore_list= s:NetrwExploreListUniq(split(expand(b:netrw_curdir."/".filepat),'\n'))
+ if &hls | let keepregslash= s:ExplorePatHls(filepat) | endif
elseif starpat == 4
" starpat=4: Explore **/filepat (recursive descent search for filenames matching filepat)
" call Decho("starpat=".starpat.": build **/filepat list")
- let w:netrw_explore_list= split(expand(b:netrw_curdir."/".dirname),'\n')
+ let w:netrw_explore_list= s:NetrwExploreListUniq(split(expand(b:netrw_curdir."/".dirname),'\n'))
if &hls | let keepregslash= s:ExplorePatHls(dirname) | endif
endif " switch on starpat to build w:netrw_explore_list
@@ -3352,7 +3459,7 @@
" NetrwStatusLine support - for exploring support
let w:netrw_explore_indx= indx
-" call Decho("explorelist<".join(w:netrw_explore_list,',')."> len=".w:netrw_explore_listlen)
+" call Decho("w:netrw_explore_list<".join(w:netrw_explore_list,',')."> len=".w:netrw_explore_listlen)
" wrap the indx around, but issue a note
if indx >= w:netrw_explore_listlen || indx < 0
@@ -3360,7 +3467,6 @@
let indx = (indx < 0)? ( w:netrw_explore_listlen - 1 ) : 0
let w:netrw_explore_indx= indx
call netrw#ErrorMsg(s:NOTE,"no more files match Explore pattern",43)
- sleep 1
endif
exe "let dirfile= w:netrw_explore_list[".indx."]"
@@ -3411,12 +3517,16 @@
endif
" visual display of **/ **// */ Exploration files
+" call Decho("w:netrw_explore_indx=".w:netrw_explore_indx)
+" call Decho("b:netrw_curdir<".b:netrw_curdir.">")
if exists("w:netrw_explore_indx") && exists("b:netrw_curdir")
+" call Decho("s:explore_prvdir<".(exists("s:explore_prvdir")? s:explore_prvdir : "-doesn't exist-"))
if !exists("s:explore_prvdir") || s:explore_prvdir != b:netrw_curdir
" only update match list if current directory isn't the same as before
+" call Decho("only update match list if current directory not the same as before")
let s:explore_prvdir = b:netrw_curdir
let s:explore_match = ""
- let dirlen = strlen(b:netrw_curdir)
+ let dirlen = s:Strlen(b:netrw_curdir)
if b:netrw_curdir !~ '/$'
let dirlen= dirlen + 1
endif
@@ -3425,15 +3535,15 @@
" call Decho("fname<".fname.">")
if fname =~ '^'.b:netrw_curdir
if s:explore_match == ""
- let s:explore_match= '\<'.escape(strpart(fname,dirlen),g:netrw_markfileesc."'".g:netrw_markfileesc."'").'\>'
+ let s:explore_match= '\<'.escape(strpart(fname,dirlen),g:netrw_markfileesc).'\>'
else
- let s:explore_match= s:explore_match.'\|\<'.escape(strpart(fname,dirlen),g:netrw_markfileesc."'".g:netrw_markfileesc."'").'\>'
+ let s:explore_match= s:explore_match.'\|\<'.escape(strpart(fname,dirlen),g:netrw_markfileesc).'\>'
endif
elseif fname !~ '^/' && fname != prvfname
if s:explore_match == ""
- let s:explore_match= '\<'.escape(fname,g:netrw_markfileesc."'".g:netrw_markfileesc."'").'\>'
+ let s:explore_match= '\<'.escape(fname,g:netrw_markfileesc).'\>'
else
- let s:explore_match= s:explore_match.'\|\<'.escape(fname,g:netrw_markfileesc."'".g:netrw_markfileesc."'").'\>'
+ let s:explore_match= s:explore_match.'\|\<'.escape(fname,g:netrw_markfileesc).'\>'
endif
endif
let prvfname= fname
@@ -3457,6 +3567,44 @@
endfun
" ---------------------------------------------------------------------
+" s:NetrwClearExplore: clear explore variables (if any) {{{2
+fun! s:NetrwClearExplore()
+" call Dfunc("s:NetrwClearExplore()")
+ 2match none
+ if exists("s:explore_match") |unlet s:explore_match |endif
+ if exists("s:explore_indx") |unlet s:explore_indx |endif
+ if exists("s:netrw_explore_prvdir") |unlet s:netrw_explore_prvdir |endif
+ if exists("s:dirstarstar") |unlet s:dirstarstar |endif
+ if exists("s:explore_prvdir") |unlet s:explore_prvdir |endif
+ if exists("w:netrw_explore_indx") |unlet w:netrw_explore_indx |endif
+ if exists("w:netrw_explore_listlen")|unlet w:netrw_explore_listlen|endif
+ if exists("w:netrw_explore_list") |unlet w:netrw_explore_list |endif
+ if exists("w:netrw_explore_bufnr") |unlet w:netrw_explore_bufnr |endif
+" redraw!
+ echo " "
+ echo " "
+" call Dret("s:NetrwClearExplore")
+endfun
+
+" ---------------------------------------------------------------------
+" s:NetrwExploreListUniq: {{{2
+fun! s:NetrwExploreListUniq(explist)
+" call Dfunc("s:NetrwExploreListUniq(explist)")
+
+ " this assumes that the list is already sorted
+ let newexplist= []
+ for member in a:explist
+ if !exists("uniqmember") || member != uniqmember
+ let uniqmember = member
+ let newexplist = newexplist + [ member ]
+ endif
+ endfor
+
+" call Dret("s:NetrwExploreListUniq")
+ return newexplist
+endfun
+
+" ---------------------------------------------------------------------
" s:NetrwHide: this function is invoked by the "a" map for browsing {{{2
" and switches the hiding mode. The actual hiding is done by
" s:NetrwListHide().
@@ -3490,9 +3638,7 @@
" call Decho("hide: g:netrw_list_hide<".g:netrw_list_hide.">")
endif
endfor
- unlet s:netrwmarkfilelist_{bufnr("%")}
- unlet s:netrwmarkfilemtch_{bufnr("%")}
- 2match none
+ call s:NetrwUnmarkList(bufnr("%"),b:netrw_curdir)
let g:netrw_hide= 1
else
@@ -3522,7 +3668,7 @@
if g:netrw_list_hide =~ '\(^\|,\)\\(^\\|\\s\\s\\)\\zs\\.\\S\\+'
" remove pattern from hiding list
let g:netrw_list_hide= substitute(g:netrw_list_hide,'\(^\|,\)\\(^\\|\\s\\s\\)\\zs\\.\\S\\+','','')
- elseif strlen(g:netrw_list_hide) >= 1
+ elseif s:Strlen(g:netrw_list_hide) >= 1
let g:netrw_list_hide= g:netrw_list_hide . ',\(^\|\s\s\)\zs\.\S\+'
else
let g:netrw_list_hide= '\(^\|\s\s\)\zs\.\S\+'
@@ -3535,6 +3681,48 @@
endfun
" ---------------------------------------------------------------------
+" s:NetrwHome: this function determines a "home" for saving bookmarks and history {{{2
+fun! s:NetrwHome()
+" call Dfunc("s:NetrwHome()")
+ if exists("g:netrw_home")
+ let home= g:netrw_home
+ else
+ " go to vim plugin home
+ for home in split(&rtp,',') + ['']
+ if isdirectory(home) && filewritable(home) | break | endif
+ let basehome= substitute(home,'[/\\]\.vim$','','')
+ if isdirectory(basehome) && filewritable(basehome)
+ let home= basehome."/.vim"
+ break
+ endif
+ endfor
+ if home == ""
+ " just pick the first directory
+" call Decho("just pick first directory in &rtp")
+ let home= substitute(&rtp,',.*$','','')
+ endif
+ if (has("win32") || has("win95") || has("win64") || has("win16"))
+ let home= substitute(home,'/','\\','g')
+ endif
+ endif
+ " insure that the home directory exists
+" call Decho("picked home<".home.">")
+ if !isdirectory(home)
+ if exists("g:netrw_mkdir")
+" call Decho("home<".home."> isn't a directory -- making it now with g:netrw_mkdir<".g:netrw_mkdir.">")
+" call Decho("system(".g:netrw_mkdir." ".s:Escape(home).")")
+ call system(g:netrw_mkdir." ".s:Escape(home))
+ else
+" call Decho("home<".home."> isn't a directory -- making it now with mkdir()")
+ call mkdir(home)
+ endif
+ endif
+ let g:netrw_home= home
+" call Dret("s:NetrwHome <".home.">")
+ return home
+endfun
+
+" ---------------------------------------------------------------------
" s:NetrwLeftmouse: handles the <leftmouse> when in a netrw browsing window {{{2
fun! s:NetrwLeftmouse(islocal)
" call Dfunc("s:NetrwLeftmouse(islocal=".a:islocal.")")
@@ -3767,7 +3955,7 @@
call filter(s:netrwmarkfilelist_{curbufnr},'v:val != a:fname')
if s:netrwmarkfilelist_{curbufnr} == []
" local markfilelist is empty; remove it entirely
-" call Decho("markfile list now empty, unlet s:netrwmarkfilelist_".curbufnr." and ...mtch_".curbufnr)
+" call Decho("markfile list now empty")
call s:NetrwUnmarkList(curbufnr,curdir)
else
" rebuild match list to display markings correctly
@@ -3982,7 +4170,9 @@
if a:islocal
call s:NetrwRefreshDir(a:islocal,b:netrw_curdir)
endif
- call s:LocalBrowseShellCmdRefresh()
+ if g:netrw_fastbrowse <= 1
+ call s:LocalBrowseShellCmdRefresh()
+ endif
" call Dret("s:NetrwMarkFileCopy 1")
return 1
@@ -4290,7 +4480,9 @@
if a:islocal
call s:NetrwRefreshDir(a:islocal,b:netrw_curdir)
endif
- call s:LocalBrowseShellCmdRefresh()
+ if g:netrw_fastbrowse <= 1
+ call s:LocalBrowseShellCmdRefresh()
+ endif
" call Dret("s:NetrwMarkFileMove")
endfun
@@ -4371,7 +4563,8 @@
set ei=all ma
" call Decho("set ei=all ma")
1split
- enew
+ call s:NetrwEnew()
+ call s:NetrwSafeOptions()
silent norm! "ap
2
let bannercnt= search('^" =====','W')
@@ -4379,16 +4572,21 @@
set bt=nofile
if g:netrw_liststyle == s:LONGLIST
silent %s/\s\{2,}\S.*$//e
+ call histdel("/",-1)
elseif g:netrw_liststyle == s:WIDELIST
silent %s/\s\{2,}/\r/ge
+ call histdel("/",-1)
elseif g:netrw_liststyle == s:TREELIST
silent %s/^| //e
silent! g/^ .*$/d
+ call histdel("/",-1)
+ call histdel("/",-1)
endif
" convert regexp into the more usual glob-style format
let regexp= substitute(regexp,'\*','.*','g')
" call Decho("regexp<".regexp.">")
exe "silent! v/".escape(regexp,'/')."/d"
+ call histdel("/",-1)
let filelist= getline(1,line("$"))
q!
for filename in filelist
@@ -4459,6 +4657,7 @@
let path= substitute(curdir,'^\(.*\)/[^/]*$','\1/','')
" call Decho("curdir<".curdir."> path<".path.">")
exe '%s/\t\(\S\+\)\t/\t'.escape(path,"/\n\r\\").'\1\t/e'
+ call histdel("/",-1)
wq!
endif
2match none
@@ -4518,7 +4717,7 @@
endif
let s:netrwmftgt_islocal= a:islocal
- if g:netrw_fastbrowse > 0
+ if g:netrw_fastbrowse <= 1
call s:LocalBrowseShellCmdRefresh()
endif
call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./'))
@@ -4653,20 +4852,17 @@
" call Decho("initialize menu")
let s:netrw_menu_enabled= 1
exe 'silent! menu '.g:NetrwMenuPriority.'.1 '.g:NetrwTopLvlMenu.'Help<tab><F1> <F1>'
- call s:NetrwBookmarkMenu() " provide some history! uses priorities 2,3, reserves 4
exe 'silent! menu '.g:NetrwMenuPriority.'.5 '.g:NetrwTopLvlMenu.'-Sep1- :'
exe 'silent! menu '.g:NetrwMenuPriority.'.6 '.g:NetrwTopLvlMenu.'Go\ Up\ Directory<tab>- -'
exe 'silent! menu '.g:NetrwMenuPriority.'.7 '.g:NetrwTopLvlMenu.'Apply\ Special\ Viewer<tab>x x'
exe 'silent! menu '.g:NetrwMenuPriority.'.8.1 '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Bookmark\ Current\ Directory<tab>mb mb'
- exe 'silent! menu '.g:NetrwMenuPriority.'.8.2 '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Bookmark\ Delete<tab>mB mB'
- exe 'silent! menu '.g:NetrwMenuPriority.'.8.3 '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Goto\ Bookmark<tab>gb gb'
exe 'silent! menu '.g:NetrwMenuPriority.'.8.4 '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Goto\ Prev\ Dir\ (History)<tab>u u'
exe 'silent! menu '.g:NetrwMenuPriority.'.8.5 '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Goto\ Next\ Dir\ (History)<tab>U U'
exe 'silent! menu '.g:NetrwMenuPriority.'.8.6 '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.List<tab>qb qb'
- exe 'silent! menu '.g:NetrwMenuPriority.'.9.1 '.g:NetrwTopLvlMenu.'Browsing\ Control.Edit\ File\ Hiding\ List<tab>'."<ctrl-h> \<Plug>NetrwHideEdit"
+ exe 'silent! menu '.g:NetrwMenuPriority.'.9.1 '.g:NetrwTopLvlMenu.'Browsing\ Control.Edit\ File\ Hiding\ List<tab><ctrl-h>'." \<c-h>'"
exe 'silent! menu '.g:NetrwMenuPriority.'.9.2 '.g:NetrwTopLvlMenu.'Browsing\ Control.Edit\ Sorting\ Sequence<tab>S S'
exe 'silent! menu '.g:NetrwMenuPriority.'.9.3 '.g:NetrwTopLvlMenu.'Browsing\ Control.Quick\ Hide/Unhide\ Dot\ Files<tab>'."gh gh"
- exe 'silent! menu '.g:NetrwMenuPriority.'.9.4 '.g:NetrwTopLvlMenu.'Browsing\ Control.Refresh\ Listing<tab>'."<ctrl-l> \<Plug>NetrwRefresh"
+ exe 'silent! menu '.g:NetrwMenuPriority.'.9.4 '.g:NetrwTopLvlMenu.'Browsing\ Control.Refresh\ Listing<tab>'."<ctrl-l> \<c-l>"
exe 'silent! menu '.g:NetrwMenuPriority.'.9.5 '.g:NetrwTopLvlMenu.'Browsing\ Control.Settings/Options<tab>:NetrwSettings '.":NetrwSettings\<cr>"
exe 'silent! menu '.g:NetrwMenuPriority.'.10 '.g:NetrwTopLvlMenu.'Delete\ File/Directory<tab>D D'
exe 'silent! menu '.g:NetrwMenuPriority.'.11.1 '.g:NetrwTopLvlMenu.'Edit\ File/Dir.In\ Current\ Window<tab><cr> '."\<cr>"
@@ -4704,6 +4900,7 @@
exe 'silent! menu '.g:NetrwMenuPriority.'.16.4 '.g:NetrwTopLvlMenu.'Style.Sorting\ Method\ (name-time-size)<tab>s s'
exe 'silent! menu '.g:NetrwMenuPriority.'.17 '.g:NetrwTopLvlMenu.'Rename\ File/Directory<tab>R R'
exe 'silent! menu '.g:NetrwMenuPriority.'.18 '.g:NetrwTopLvlMenu.'Set\ Current\ Directory<tab>c c'
+ call s:NetrwBookmarkMenu() " provide some history! uses priorities 2,3, reserves 4, 8.2.x
let s:netrw_menucnt= 28
elseif !a:domenu
@@ -4731,8 +4928,8 @@
" call Dfunc("NetrwObtain(islocal=".a:islocal.")")
if exists("s:netrwmarkfilelist_{bufnr('%')}")
- let islocal= s:netrwmarkfilelist_{bufnr("%")}[1] !~ '^\a\+://'
- call netrw#NetrwObtain(islocal,s:netrwmarkfilelist_{bufnr("%")})
+ let islocal= s:netrwmarkfilelist_{bufnr('%')}[1] !~ '^\a\+://'
+ call netrw#NetrwObtain(islocal,s:netrwmarkfilelist_{bufnr('%')})
call s:NetrwUnmarkList(bufnr('%'),b:netrw_curdir)
else
call netrw#NetrwObtain(a:islocal,expand("<cWORD>"))
@@ -4769,7 +4966,7 @@
endif
" call Decho("tgtdir<".tgtdir.">")
- if b:netrw_islocal
+ if exists("b:netrw_islocal") && b:netrw_islocal
" obtain a file from local b:netrw_curdir to (local) tgtdir
" call Decho("obtain a file from local ".b:netrw_curdir." to ".tgtdir)
if exists("b:netrw_curdir") && getcwd() != b:netrw_curdir
@@ -4921,6 +5118,14 @@
call netrw#ErrorMsg(s:ERROR,getline(1),5)
endif
endif
+ elseif !exists("b:netrw_method") || b:netrw_method < 0
+" call Dfunc("netrw#NetrwObtain : unsupported method")
+ return
+ endif
+
+ " restore status line
+ if type(a:fname) == 1 && exists("s:netrw_users_stl")
+ call s:SetupNetrwStatusLine(s:netrw_users_stl)
endif
endif
@@ -5138,6 +5343,7 @@
endif
" If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
silent g/Local directory now/d
+ call histdel("/",-1)
if getline(1) !~ "^$" && !exists("g:netrw_quiet") && getline(1) !~ '^Trying '
call netrw#ErrorMsg(s:ERROR,getline(1),14)
else
@@ -5196,6 +5402,7 @@
exe s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i -n"
" If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
silent g/Local directory now/d
+ call histdel("/",-1)
if getline(1) !~ "^$" && !exists("g:netrw_quiet") && getline(1) !~ '^Trying '
let debugkeep= &debug
setlocal debug=msg
@@ -5205,6 +5412,9 @@
else
bw!|q
endif
+ elseif !exists("b:netrw_method") || b:netrw_method < 0
+" call Dfunc("netrw#NetrwUpload : unsupported method")
+ return
endif
else
call netrw#ErrorMsg(s:ERROR,"can't obtain files with protocol from<".a:tgt.">",63)
@@ -5325,13 +5535,12 @@
let seq = seqlist
let seqlist = ""
endif
- let sepchr= "\<Char-0xff>"
if priority < 10
- let spriority= "00".priority.sepchr
+ let spriority= "00".priority.g:netrw_sepchr
elseif priority < 100
- let spriority= "0".priority.sepchr
+ let spriority= "0".priority.g:netrw_sepchr
else
- let spriority= priority.sepchr
+ let spriority= priority.g:netrw_sepchr
endif
" call Decho("priority=".priority." spriority<".spriority."> seq<".seq."> seqlist<".seqlist.">")
@@ -5345,14 +5554,17 @@
let starpriority= spriority
else
exe 'silent keepjumps '.w:netrw_bannercnt.',$g/'.seq.'/s/^/'.spriority.'/'
+ call histdel("/",-1)
" sometimes multiple sorting patterns will match the same file or directory.
" The following substitute is intended to remove the excess matches.
- exe 'silent keepjumps '.w:netrw_bannercnt.',$g/^\d\{3}'.sepchr.'\d\{3}\//s/^\d\{3}'.sepchr.'\(\d\{3}\/\).\@=/\1/e'
+ exe 'silent keepjumps '.w:netrw_bannercnt.',$g/^\d\{3}'.g:netrw_sepchr.'\d\{3}\//s/^\d\{3}'.g:netrw_sepchr.'\(\d\{3}\/\).\@=/\1/e'
+ call histdel("/",-1)
endif
let priority = priority + 1
endwhile
if exists("starpriority")
- exe 'silent keepjumps '.w:netrw_bannercnt.',$v/^\d\{3}'.sepchr.'/s/^/'.starpriority.'/'
+ exe 'silent keepjumps '.w:netrw_bannercnt.',$v/^\d\{3}'.g:netrw_sepchr.'/s/^/'.starpriority.'/'
+ call histdel("/",-1)
endif
" Following line associated with priority -- items that satisfy a priority
@@ -5361,7 +5573,8 @@
" priority pattern needs to be retained. So, at this point, these excess
" priority prefixes need to be removed, but not directories that happen to
" be just digits themselves.
- exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\(\d\{3}'.sepchr.'\)\%(\d\{3}'.sepchr.'\)\+\ze./\1/e'
+ exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\(\d\{3}'.g:netrw_sepchr.'\)\%(\d\{3}'.g:netrw_sepchr.'\)\+\ze./\1/e'
+ call histdel("/",-1)
" call Dret("SetSort")
endfun
@@ -5405,12 +5618,12 @@
elseif a:mode == 1
" remote and t
- let cursorword = s:NetrwGetWord()
+ let newdir = s:NetrwBrowseChgDir(0,s:NetrwGetWord())
" call Decho("tabnew")
tabnew
let s:didsplit= 1
call s:RestoreWinVars()
- call s:NetrwBrowse(0,s:NetrwBrowseChgDir(0,cursorword))
+ call s:NetrwBrowse(0,newdir)
unlet s:didsplit
elseif a:mode == 2
@@ -5433,8 +5646,8 @@
elseif a:mode == 4
" local and t
- let netrw_curdir= b:netrw_curdir
let cursorword = s:NetrwGetWord()
+ let netrw_curdir= s:NetrwTreeDir()
" call Decho("tabnew")
tabnew
let b:netrw_curdir= netrw_curdir
@@ -5505,12 +5718,13 @@
if w:netrw_liststyle == s:TREELIST
" call Decho("w:netrrw_liststyle is TREELIST:")
" call Decho("line#".line(".")." getline(.)<".getline('.')."> treecurpos<".string(s:treecurpos).">")
+
+ " extract tree directory if on a line specifying a subdirectory (ie. ends with "/")
if getline('.') =~ '/$'
let treedir= substitute(getline('.'),'^\%(| \)*\([^|].\{-}\)$','\1','e')
else
let treedir= ""
endif
-
" call Decho("treedir<".treedir.">")
" detect user attempting to close treeroot
@@ -5525,11 +5739,11 @@
" elide all non-depth information
let depth = substitute(getline('.'),'^\(\%(| \)*\)[^|].\{-}$','\1','e')
-" call Decho("depth<".depth."> 1st subst")
+" call Decho("depth<".depth."> 1st subst (non-depth info removed)")
" elide first depth
let depth = substitute(depth,'^| ','','')
-" call Decho("depth<".depth."> 2nd subst")
+" call Decho("depth<".depth."> 2nd subst (first depth removed)")
" construct treedir by searching backwards at correct depth
" call Decho("constructing treedir<".treedir."> depth<".depth.">")
@@ -5548,11 +5762,6 @@
endif
let treedir= substitute(treedir,'//$','/','')
-" " now force a refresh
-"" call DECHO("clear buffer<".expand("%")."> with :%d")
-" setlocal ma noro
-" keepjumps %d
-
" call Dret("NetrwTreeDir <".treedir."> : (side effect) s:treecurpos<".string(s:treecurpos).">")
return treedir
endfun
@@ -5663,30 +5872,32 @@
if w:netrw_liststyle == s:WIDELIST
" call Dfunc("NetrwWideListing() w:netrw_liststyle=".w:netrw_liststyle.' fo='.&fo.' l:fo='.&l:fo)
" look for longest filename (cpf=characters per filename)
- " cpf: characters per file
- " fpl: files per line
- " fpc: files per column
+ " cpf: characters per filename
+ " fpl: filenames per line
+ " fpc: filenames per column
setlocal ma noro
" call Decho("setlocal ma noro")
let b:netrw_cpf= 0
if line("$") >= w:netrw_bannercnt
exe 'silent keepjumps '.w:netrw_bannercnt.',$g/^./if virtcol("$") > b:netrw_cpf|let b:netrw_cpf= virtcol("$")|endif'
+ call histdel("/",-1)
else
" call Dret("NetrwWideListing")
return
endif
-" call Decho("max file strlen+1=".b:netrw_cpf)
- let b:netrw_cpf= b:netrw_cpf + 1
+ let b:netrw_cpf= b:netrw_cpf + 2
+" call Decho("b:netrw_cpf=max_filename_length+2=".b:netrw_cpf)
" determine qty files per line (fpl)
let w:netrw_fpl= winwidth(0)/b:netrw_cpf
if w:netrw_fpl <= 0
let w:netrw_fpl= 1
endif
-" call Decho("fpl= ".winwidth(0)."/[b:netrw_cpf=".b:netrw_cpf.']='.w:netrw_fpl)
+" call Decho("fpl= [winwidth=".winwidth(0)."]/[b:netrw_cpf=".b:netrw_cpf.']='.w:netrw_fpl)
" make wide display
exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^.*$/\=escape(printf("%-'.b:netrw_cpf.'s",submatch(0)),"\\")/'
+ call histdel("/",-1)
let fpc = (line("$") - w:netrw_bannercnt + w:netrw_fpl)/w:netrw_fpl
let newcolstart = w:netrw_bannercnt + fpc
let newcolend = newcolstart + fpc - 1
@@ -5706,6 +5917,7 @@
endwhile
silent! let @*= keepregstar
exe "silent keepjumps ".w:netrw_bannercnt.',$s/\s\+$//e'
+ call histdel("/",-1)
setlocal noma nomod ro
" call Dret("NetrwWideListing")
endif
@@ -5733,7 +5945,7 @@
endif
" save current directory on directory history list
- call s:NetrwBookmarkDir(3,b:netrw_curdir)
+ call s:NetrwBookHistHandler(3,b:netrw_curdir)
" Set up the banner {{{3
" call Decho("set up banner")
@@ -5844,8 +6056,8 @@
endif
" remove priority pattern prefix
" call Decho("remove priority pattern prefix")
- let sepchr= "\<Char-0xff>"
- exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\d\{3}'.sepchr.'//e'
+ exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\d\{3}'.g:netrw_sepchr.'//e'
+ call histdel("/",-1)
elseif a:islocal
if w:netrw_bannercnt < line("$")
@@ -5857,13 +6069,17 @@
" call Decho('exe silent keepjumps '.w:netrw_bannercnt.',$sort!')
exe 'silent keepjumps '.w:netrw_bannercnt.',$sort!'.' '.g:netrw_sort_options
endif
- endif
exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\d\{-}\///e'
+ call histdel("/",-1)
+ endif
endif
elseif g:netrw_sort_direction =~ 'r'
" call Decho('reverse the sorted listing')
- exe 'silent keepjumps '.w:netrw_bannercnt.'g/^/m '.w:netrw_bannercnt
+ if w:netrw_bannercnt < line('$')
+ exe 'silent keepjumps '.w:netrw_bannercnt.',$g/^/m '.w:netrw_bannercnt
+ call histdel("/",-1)
+ endif
endif
endif
@@ -6006,8 +6222,10 @@
" cleanup
if g:netrw_ftp_browse_reject != ""
exe "silent! g/".g:netrw_ftp_browse_reject."/keepjumps d"
+ call histdel("/",-1)
endif
silent! keepjumps %s/\r$//e
+ call histdel("/",-1)
" if there's no ../ listed, then put ./ and ../ in
let line1= line(".")
@@ -6025,11 +6243,15 @@
if search('^\d\{2}-\d\{2}-\d\{2}\s','n') " M$ ftp site cleanup
" call Decho("M$ ftp cleanup")
exe 'silent! keepjumps '.w:netrw_bannercnt.',$s/^\d\{2}-\d\{2}-\d\{2}\s\+\d\+:\d\+[AaPp][Mm]\s\+\%(<DIR>\|\d\+\)\s\+//'
+ call histdel("/",-1)
else " normal ftp cleanup
" call Decho("normal ftp cleanup")
exe 'silent! keepjumps '.w:netrw_bannercnt.',$s/^\(\%(\S\+\s\+\)\{7}\S\+\)\s\+\(\S.*\)$/\2/e'
exe "silent! keepjumps ".w:netrw_bannercnt.',$g/ -> /s# -> .*/$#/#e'
exe "silent! keepjumps ".w:netrw_bannercnt.',$g/ -> /s# -> .*$#/#e'
+ call histdel("/",-1)
+ call histdel("/",-1)
+ call histdel("/",-1)
endif
endif
@@ -6045,8 +6267,12 @@
g/^Listing directory/d
g/^d[-rwx][-rwx][-rwx]/s+$+/+e
silent g/^l[-rwx][-rwx][-rwx]/s+$+@+e
+ call histdel("/",-1)
+ call histdel("/",-1)
+ call histdel("/",-1)
if g:netrw_liststyle != s:LONGLIST
g/^[dlsp-][-rwx][-rwx][-rwx]/s/^.*\s\(\S\+\)$/\1/e
+ call histdel("/",-1)
endif
else
if s:path == ""
@@ -6063,6 +6289,7 @@
if g:netrw_ftp_browse_reject != ""
" call Decho("(cleanup) exe silent! g/".g:netrw_ssh_browse_reject."/keepjumps d")
exe "silent! g/".g:netrw_ssh_browse_reject."/keepjumps d"
+ call histdel("/",-1)
endif
endif
@@ -6099,6 +6326,9 @@
exe 'silent keepjumps '.w:netrw_bannercnt.',$s/ -> .*$//e'
exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\(\%(\S\+\s\+\)\{7}\S\+\)\s\+\(\S.*\)$/\2\t\1/e'
exe 'silent keepjumps '.w:netrw_bannercnt
+ call histdel("/",-1)
+ call histdel("/",-1)
+ call histdel("/",-1)
endif
endif
@@ -6118,6 +6348,7 @@
let all= 0
if exists("s:netrwmarkfilelist_{bufnr('%')}")
" remove all marked files
+" call Decho("remove all marked files with bufnr#".bufnr("%"))
for fname in s:netrwmarkfilelist_{bufnr("%")}
let ok= s:NetrwRemoteRmFile(a:path,fname,all)
if ok =~ 'q\%[uit]'
@@ -6126,12 +6357,11 @@
let all= 1
endif
endfor
- unlet s:netrwmarkfilelist_{bufnr("%")}
- unlet s:netrwmarkfilemtch_{bufnr("%")}
- 2match none
+ call s:NetrwUnmarkList(bufnr("%"),b:netrw_curdir)
else
" remove files specified by range
+" call Decho("remove files specified by range")
" preparation for removing multiple files/directories
let ctr= a:firstline
@@ -6353,13 +6583,17 @@
" cleanup for Windows
if has("win32") || has("win95") || has("win64") || has("win16")
silent! keepjumps %s/\r$//e
+ call histdel("/",-1)
endif
if a:listcmd == "dir"
" infer directory/link based on the file permission string
silent! keepjumps g/d\%([-r][-w][-x]\)\{3}/s@$@/@
silent! keepjumps g/l\%([-r][-w][-x]\)\{3}/s/$/@/
+ call histdel("/",-1)
+ call histdel("/",-1)
if w:netrw_liststyle == s:THINLIST || w:netrw_liststyle == s:WIDELIST || w:netrw_liststyle == s:TREELIST
exe "silent! keepjumps ".w:netrw_bannercnt.',$s/^\%(\S\+\s\+\)\{8}//e'
+ call histdel("/",-1)
endif
endif
@@ -6466,13 +6700,16 @@
" The &ft == "netrw" test was installed because the BufEnter event
" would hit when re-entering netrw windows, creating unexpected
" refreshes (and would do so in the middle of NetrwSaveOptions(), too)
-" call Decho("netrw#LocalBrowseCheck: isdir<".a:dirname.">=".isdirectory(a:dirname))
+" call Decho("netrw#LocalBrowseCheck: isdir<".a:dirname.">=".isdirectory(a:dirname).((exists("s:treeforceredraw")? " treeforceredraw" : "")))
if isdirectory(a:dirname)
" call Decho(" ft<".&ft."> b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : " doesn't exist")."> dirname<".a:dirname.">"." line($)=".line("$"))
if &ft != "netrw" || (exists("b:netrw_curdir") && b:netrw_curdir != a:dirname)
silent! call s:NetrwBrowse(1,a:dirname)
elseif &ft == "netrw" && line("$") == 1
silent! call s:NetrwBrowse(1,a:dirname)
+ elseif exists("s:treeforceredraw")
+ unlet s:treeforceredraw
+ silent! call s:NetrwBrowse(1,a:dirname)
endif
endif
" not a directory, ignore it
@@ -6492,7 +6729,7 @@
" get the list of files contained in the current directory
let dirname = escape(b:netrw_curdir,g:netrw_glob_escape)
- let dirnamelen = strlen(b:netrw_curdir)
+ let dirnamelen = s:Strlen(b:netrw_curdir)
let filelist = glob(s:ComposePath(dirname,"*"))
" call Decho("glob(dirname<".dirname."/*>)=".filelist)
if filelist != ""
@@ -6608,7 +6845,7 @@
if w:netrw_liststyle == s:LONGLIST
let sz = getfsize(filename)
- let fsz = strpart(" ",1,15-s:Strlen(sz)).sz
+ let fsz = strpart(" ",1,15-strlen(sz)).sz
let pfile= pfile."\t".fsz." ".strftime(g:netrw_timefmt,getftime(filename))
" call Decho("sz=".sz." fsz=".fsz)
endif
@@ -6617,7 +6854,7 @@
" sort by time (handles time up to 1 quintillion seconds, US)
" call Decho("getftime(".filename.")=".getftime(filename))
let t = getftime(filename)
- let ft = strpart("000000000000000000",1,18-s:Strlen(t)).t
+ let ft = strpart("000000000000000000",1,18-strlen(t)).t
" call Decho("exe keepjumps put ='".ft.'/'.filename."'")
let ftpfile= ft.'/'.pfile
keepjumps silent! put=ftpfile
@@ -6626,7 +6863,7 @@
" sort by size (handles file sizes up to 1 quintillion bytes, US)
" call Decho("getfsize(".filename.")=".getfsize(filename))
let sz = getfsize(filename)
- let fsz = strpart("000000000000000000",1,18-s:Strlen(sz)).sz
+ let fsz = strpart("000000000000000000",1,18-strlen(sz)).sz
" call Decho("exe keepjumps put ='".fsz.'/'.filename."'")
let fszpfile= fsz.'/'.pfile
keepjumps silent! put =fszpfile
@@ -6640,6 +6877,7 @@
" cleanup any windows mess at end-of-line
silent! keepjumps %s/\r$//e
+ call histdel("/",-1)
exe "setlocal ts=".g:netrw_maxfilenamelen
" call Decho("setlocal ts=".g:netrw_maxfilenamelen)
@@ -6659,9 +6897,17 @@
return
endif
if !exists("w:netrw_bannercnt")
-" call Dret("LocalBrowseShellCmdRefresh : don't refresh when focus not on netrw windwo")
+" call Dret("LocalBrowseShellCmdRefresh : don't refresh when focus not on netrw window")
return
endif
+ if exists("s:locbrowseshellcmd")
+ if s:locbrowseshellcmd
+ let s:locbrowseshellcmd= 0
+" call Dret("LocalBrowseShellCmdRefresh : NetrwBrowse itself caused the refresh")
+ return
+ endif
+ let s:locbrowseshellcmd= 0
+ endif
let itab = 1
let buftablist = []
while itab <= tabpagenr("$")
@@ -6874,9 +7120,7 @@
endif
call rename(oldname,newname)
endfor
- 2match none
- unlet s:netrwmarkfilelist_{bufnr("%")}
- unlet s:netrwmarkfilemtch_{bufnr("%")}
+ call s:NetrwUnmarkList(bufnr("%"),b:netrw_curdir)
else
@@ -6955,9 +7199,11 @@
augroup AuNetrwShellCmd
au!
if (has("win32") || has("win95") || has("win64") || has("win16"))
+" call Decho("autocmd: ShellCmdPost * call s:LocalBrowseShellCmdRefresh()")
au ShellCmdPost * call s:LocalBrowseShellCmdRefresh()
else
au ShellCmdPost,FocusGained * call s:LocalBrowseShellCmdRefresh()
+" call Decho("autocmd: ShellCmdPost,FocusGained * call s:LocalBrowseShellCmdRefresh()")
endif
augroup END
endif
@@ -6984,7 +7230,7 @@
" 0=note = s:NOTE
" 1=warning = s:WARNING
" 2=error = s:ERROR
-" Jul 08, 2008 : max errnum currently is 71
+" Oct 12, 2008 : max errnum currently is 73
fun! netrw#ErrorMsg(level,msg,errnum)
" call Dfunc("netrw#ErrorMsg(level=".a:level." msg<".a:msg."> errnum=".a:errnum.") g:netrw_use_errorwindow=".g:netrw_use_errorwindow)
@@ -7017,7 +7263,8 @@
else
" call Decho("create a NetrwMessage buffer window")
bo 1split
- enew
+ call s:NetrwEnew()
+ call s:NetrwSafeOptions()
setlocal bt=nofile
file NetrwMessage
" call Decho("setlocal ma noro")
@@ -7130,7 +7377,7 @@
if(has("amiga"))
" call Decho("amiga")
- let ec = a:base[strlen(a:base)-1]
+ let ec = a:base[s:Strlen(a:base)-1]
if ec != '/' && ec != ':'
let ret = a:base . "/" . a:subdir
else
@@ -7212,7 +7459,7 @@
endif
" let netrw#NetSource() know about the tmpfile
- let s:netrw_tmpfile= tmpfile " used by netrw#NetSource()
+ let s:netrw_tmpfile= tmpfile " used by netrw#NetSource() and netrw#NetrwBrowseX()
" call Decho("tmpfile<".tmpfile."> s:netrw_tmpfile<".s:netrw_tmpfile.">")
" o/s dependencies
@@ -7317,7 +7564,7 @@
let result= delete(path)
endif
if result < 0
- call Netrw#ErrorMsg(s:WARNING,"delete(".path.") failed!",71)
+ call netrw#ErrorMsg(s:WARNING,"delete(".path.") failed!",71)
endif
" call Dret("s:NetrwDelete ".result)
@@ -7326,8 +7573,9 @@
" ---------------------------------------------------------------------
" s:NetrwEnew: opens a new buffer, passes netrw buffer variables through {{{2
-fun! s:NetrwEnew(curdir)
-" call Dfunc("s:NetrwEnew(curdir<".a:curdir.">) buf#".bufnr("%")."<".bufname("%").">")
+fun! s:NetrwEnew(...)
+" call Dfunc("s:NetrwEnew() a:0=".a:0)
+" call Decho("curdir<".((a:0>0)? a:1 : "")."> buf#".bufnr("%")."<".bufname("%").">")
" grab a function-local-variable copy of buffer variables
if exists("b:netrw_bannercnt") |let netrw_bannercnt = b:netrw_bannercnt |endif
@@ -7370,14 +7618,16 @@
if exists("netrw_option") |let b:netrw_option = netrw_option |endif
if exists("netrw_prvdir") |let b:netrw_prvdir = netrw_prvdir |endif
- let b:netrw_curdir= a:curdir
- if b:netrw_curdir =~ '/$'
- if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST
- file NetrwTreeListing
- nno <silent> <buffer> [ :silent call <SID>TreeListMove('[')<cr>
- nno <silent> <buffer> ] :silent call <SID>TreeListMove(']')<cr>
- else
- exe "silent! keepalt file ".fnameescape(b:netrw_curdir)
+ if a:0 > 0
+ let b:netrw_curdir= a:1
+ if b:netrw_curdir =~ '/$'
+ if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST
+ file NetrwTreeListing
+ nno <silent> <buffer> [ :silent call <SID>TreeListMove('[')<cr>
+ nno <silent> <buffer> ] :silent call <SID>TreeListMove(']')<cr>
+ else
+ exe "silent! keepalt file ".fnameescape(b:netrw_curdir)
+ endif
endif
endif
@@ -7511,13 +7761,16 @@
call netrw#NetrwRestorePosn(s:nbcd_curpos_{bufnr('%')})
unlet s:nbcd_curpos_{bufnr('%')}
endif
+ if exists("s:explore_match")
+ exe "2match netrwMarkFile /".s:explore_match."/"
+ endif
" call Dret("s:NetrwRexplore")
endfun
" ---------------------------------------------------------------------
" s:SaveBufVars: {{{2
fun! s:SaveBufVars()
-" call Dfunc("s:SaveBufVars()")
+" call Dfunc("s:SaveBufVars() buf#".bufnr("%"))
if exists("b:netrw_curdir") |let s:netrw_curdir = b:netrw_curdir |endif
if exists("b:netrw_lastfile") |let s:netrw_lastfile = b:netrw_lastfile |endif
@@ -7532,7 +7785,7 @@
" ---------------------------------------------------------------------
" s:SaveWinVars: (used by Explore() and NetrwSplit()) {{{2
fun! s:SaveWinVars()
-" call Dfunc("s:SaveWinVars()")
+" call Dfunc("s:SaveWinVars() win#".winnr())
if exists("w:netrw_bannercnt") |let s:bannercnt = w:netrw_bannercnt |endif
if exists("w:netrw_col") |let s:col = w:netrw_col |endif
if exists("w:netrw_curdir") |let s:curdir = w:netrw_curdir |endif
@@ -7562,7 +7815,7 @@
" variables are not inherited by the new window. SetBufWinVars() and
" UseBufWinVars() get around that.
fun! s:SetBufWinVars()
-" call Dfunc("s:SetBufWinVars()")
+" call Dfunc("s:SetBufWinVars() win#".winnr())
if exists("w:netrw_liststyle") |let b:netrw_liststyle = w:netrw_liststyle |endif
if exists("w:netrw_bannercnt") |let b:netrw_bannercnt = w:netrw_bannercnt |endif
if exists("w:netrw_method") |let b:netrw_method = w:netrw_method |endif
@@ -7584,8 +7837,7 @@
if a:islocal
exe 'com! Rexplore call s:NetrwRexplore(1,"'.escape(a:dirname,'"\').'")'
if g:netrw_retmap
- silent! unmap <2-leftmouse>
- if !hasmapto("<Plug>NetrwReturn")
+ if !hasmapto("<Plug>NetrwReturn") && maparg("<2-leftmouse>","n") == ""
nmap <unique> <silent> <2-leftmouse> <Plug>NetrwReturn
endif
let dir = escape(a:dirname, s:netrw_map_escape)
@@ -7594,8 +7846,7 @@
else
exe 'com! Rexplore call s:NetrwRexplore(0,"'.escape(a:dirname,'"\').'")'
if g:netrw_retmap
- silent! unmap <2-leftmouse>
- if !hasmapto("<Plug>NetrwReturn")
+ if !hasmapto("<Plug>NetrwReturn") && maparg("<2-leftmouse>","n") == ""
nmap <unique> <silent> <2-leftmouse> <Plug>NetrwReturn
endif
let dir = escape(a:dirname, s:netrw_map_escape)
@@ -7608,9 +7859,9 @@
" ---------------------------------------------------------------------
" s:Strlen: this function returns the length of a string, even if its {{{2
" using two-byte etc characters.
-" Currently, its only used if g:Align_xstrlen is set to a
-" nonzero value. Solution from Nicolai Weibull, vim docs
-" (:help strlen()), Tony Mechelynck, and my own invention.
+" Solution from Nicolai Weibull, vim docs (:help strlen()), Tony Mechelynck,
+" and a bit from me.
+" if g:netrw_xstrlen is zero (default), then the builtin strlen() function is used.
fun! s:Strlen(x)
" call Dfunc("s:Strlen(x<".a:x.">")
if g:netrw_xstrlen == 1
@@ -7638,7 +7889,7 @@
else
" at least give a decent default
- ret= strlen(a:x)
+ let ret= strlen(a:x)
endif
" call Dret("s:Strlen ".ret)
return ret
@@ -7737,12 +7988,14 @@
endfun
" ---------------------------------------------------------------------
-" s:WinPath: {{{2
+" s:WinPath: tries to insure that the path is windows-acceptable, whether cygwin is used or not {{{2
fun! s:WinPath(path)
" call Dfunc("s:WinPath(path<".a:path.">)")
- if !g:netrw_cygwin && (has("win32") || has("win95") || has("win64") || has("win16"))
+ if (!g:netrw_cygwin || &shell !~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$') && (has("win32") || has("win95") || has("win64") || has("win16"))
+ " remove cygdrive prefix, if present
+ let path = substitute(a:path,'/cygdrive/\(.\)','\1:','')
" remove trailing slash (Win95)
- let path = substitute(a:path, '\(\\\|/\)$', '', 'g')
+ let path = substitute(path, '\(\\\|/\)$', '', 'g')
" remove escaped spaces
let path = substitute(path, '\ ', ' ', 'g')
" convert slashes to backslashes
diff -Nur runtime.patched/autoload/netrwFileHandlers.vim runtime/autoload/netrwFileHandlers.vim
--- runtime.patched/autoload/netrwFileHandlers.vim 2006-10-12 12:14:46.000000000 -0700
+++ runtime/autoload/netrwFileHandlers.vim 2008-11-06 08:04:45.000000000 -0800
@@ -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: May 30, 2006
-" Version: 9
-" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
+" Date: Sep 30, 2008
+" Version: 10
+" Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{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,9 +20,15 @@
if exists("g:loaded_netrwFileHandlers") || &cp
finish
endif
+let g:loaded_netrwFileHandlers= "v10"
+if v:version < 702
+ echohl WarningMsg
+ echo "***warning*** this version of netrwFileHandlers needs vim 7.2"
+ echohl Normal
+ finish
+endif
let s:keepcpo= &cpo
set cpo&vim
-let g:loaded_netrwFileHandlers= "v9"
" ---------------------------------------------------------------------
" netrwFileHandlers#Invoke: {{{1
@@ -73,10 +79,10 @@
if executable("mozilla")
" call Decho("executing !mozilla ".page)
- exe "!mozilla ".g:netrw_shq.page.g:netrw_shq
+ exe "!mozilla ".shellescape(page,1)
elseif executable("netscape")
" call Decho("executing !netscape ".page)
- exe "!netscape ".g:netrw_shq..page.g:netrw_shq
+ exe "!netscape ".shellescape(page,1)
else
" call Dret("s:NFH_html 0")
return 0
@@ -96,10 +102,10 @@
if executable("mozilla")
" call Decho("executing !mozilla ".page)
- exe "!mozilla ".g:netrw_shq.page.g:netrw_shq
+ exe "!mozilla ".shellescape(page,1)
elseif executable("netscape")
" call Decho("executing !netscape ".page)
- exe "!netscape ".g:netrw_shq.page.g:netrw_shq
+ exe "!netscape ".shellescape(page,1)
else
" call Dret("s:NFH_htm 0")
return 0
@@ -115,10 +121,10 @@
" call Dfunc("s:NFH_jpg(jpgfile<".a:jpgfile.">)")
if executable("gimp")
- exe "silent! !gimp -s ".g:netrw_shq.a:jpgfile.g:netrw_shq
+ exe "silent! !gimp -s ".shellescape(a:jpgfile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
" call Decho("silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".escape(a:jpgfile," []|'"))
- exe "!".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:jpgfile.g:netrw_shq
+ exe "!".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:jpgfile,1)
else
" call Dret("s:NFH_jpg 0")
return 0
@@ -134,9 +140,9 @@
" call Dfunc("s:NFH_gif(giffile<".a:giffile.">)")
if executable("gimp")
- exe "silent! !gimp -s ".g:netrw_shq.a:giffile.g:netrw_shq
+ exe "silent! !gimp -s ".shellescape(a:giffile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
- exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:giffile.g:netrw_shq
+ exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:giffile,1)
else
" call Dret("s:NFH_gif 0")
return 0
@@ -152,9 +158,9 @@
" call Dfunc("s:NFH_png(pngfile<".a:pngfile.">)")
if executable("gimp")
- exe "silent! !gimp -s ".g:netrw_shq.a:pngfile.g:netrw_shq
+ exe "silent! !gimp -s ".shellescape(a:pngfile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
- exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:pngfile.g:netrw_shq
+ exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:pngfile,1)
else
" call Dret("s:NFH_png 0")
return 0
@@ -170,9 +176,9 @@
" call Dfunc("s:NFH_pnm(pnmfile<".a:pnmfile.">)")
if executable("gimp")
- exe "silent! !gimp -s ".g:netrw_shq.a:pnmfile.g:netrw_shq
+ exe "silent! !gimp -s ".shellescape(a:pnmfile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
- exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:pnmfile.g:netrw_shq
+ exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:pnmfile,1)
else
" call Dret("s:NFH_pnm 0")
return 0
@@ -190,7 +196,7 @@
if executable("gimp")
exe "silent! !gimp -s ".a:bmpfile
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
- exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:bmpfile.g:netrw_shq
+ exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:bmpfile,1)
else
" call Dret("s:NFH_bmp 0")
return 0
@@ -205,9 +211,9 @@
fun! s:NFH_pdf(pdf)
" call Dfunc("s:NFH_pdf(pdf<".a:pdf.">)")
if executable("gs")
- exe 'silent! !gs '.g:netrw_shq.a:pdf.g:netrw_shq
+ exe 'silent! !gs '.shellescape(a:pdf,1)
elseif executable("pdftotext")
- exe 'silent! pdftotext -nopgbrk '.g:netrw_shq.a:pdf.g:netrw_shq
+ exe 'silent! pdftotext -nopgbrk '.shellescape(a:pdf,1)
else
" call Dret("s:NFH_pdf 0")
return 0
@@ -223,7 +229,7 @@
" call Dfunc("s:NFH_doc(doc<".a:doc.">)")
if executable("oowriter")
- exe 'silent! !oowriter '.g:netrw_shq.a:doc.g:netrw_shq
+ exe 'silent! !oowriter '.shellescape(a:doc,1)
redraw!
else
" call Dret("s:NFH_doc 0")
@@ -240,7 +246,7 @@
" call Dfunc("s:NFH_sxw(sxw<".a:sxw.">)")
if executable("oowriter")
- exe 'silent! !oowriter '.g:netrw_shq.a:sxw.g:netrw_shq
+ exe 'silent! !oowriter '.shellescape(a:sxw,1)
redraw!
else
" call Dret("s:NFH_sxw 0")
@@ -257,7 +263,7 @@
" call Dfunc("s:NFH_xls(xls<".a:xls.">)")
if executable("oocalc")
- exe 'silent! !oocalc '.g:netrw_shq.a:xls.g:netrw_shq
+ exe 'silent! !oocalc '.shellescape(a:xls,1)
redraw!
else
" call Dret("s:NFH_xls 0")
@@ -274,15 +280,15 @@
" call Dfunc("s:NFH_ps(ps<".a:ps.">)")
if executable("gs")
" call Decho("exe silent! !gs ".a:ps)
- exe "silent! !gs ".g:netrw_shq.a:ps.g:netrw_shq
+ exe "silent! !gs ".shellescape(a:ps,1)
redraw!
elseif executable("ghostscript")
" call Decho("exe silent! !ghostscript ".a:ps)
- exe "silent! !ghostscript ".g:netrw_shq.a:ps.g:netrw_shq
+ exe "silent! !ghostscript ".shellescape(a:ps,1)
redraw!
elseif executable("gswin32")
-" call Decho("exe silent! !gswin32 ".g:netrw_shq.a:ps.g:netrw_shq)
- exe "silent! !gswin32 ".g:netrw_shq.a:ps.g:netrw_shq
+" call Decho("exe silent! !gswin32 ".shellescape(a:ps,1))
+ exe "silent! !gswin32 ".shellescape(a:ps,1)
redraw!
else
" call Dret("s:NFH_ps 0")
@@ -298,16 +304,16 @@
fun! s:NFH_eps(eps)
" call Dfunc("s:NFH_eps()")
if executable("gs")
- exe "silent! !gs ".g:netrw_shq.a:eps.g:netrw_shq
+ exe "silent! !gs ".shellescape(a:eps,1)
redraw!
elseif executable("ghostscript")
- exe "silent! !ghostscript ".g:netrw_shq.a:eps.g:netrw_shq
+ exe "silent! !ghostscript ".shellescape(a:eps,1)
redraw!
elseif executable("ghostscript")
- exe "silent! !ghostscript ".g:netrw_shq.a:eps.g:netrw_shq
+ exe "silent! !ghostscript ".shellescape(a:eps,1)
redraw!
elseif executable("gswin32")
- exe "silent! !gswin32 ".g:netrw_shq.a:eps.g:netrw_shq
+ exe "silent! !gswin32 ".shellescape(a:eps,1)
redraw!
else
" call Dret("s:NFH_eps 0")
diff -Nur runtime.patched/autoload/netrwSettings.vim runtime/autoload/netrwSettings.vim
--- runtime.patched/autoload/netrwSettings.vim 2008-07-02 13:39:22.000000000 -0700
+++ runtime/autoload/netrwSettings.vim 2009-01-14 12:15:12.000000000 -0800
@@ -1,7 +1,7 @@
" netrwSettings.vim: makes netrw settings simpler
-" Date: Jul 02, 2008
+" Date: Sep 03, 2008
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
-" Version: 12
+" Version: 13
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
@@ -19,7 +19,13 @@
if exists("g:loaded_netrwSettings") || &cp
finish
endif
-let g:loaded_netrwSettings = "v12"
+let g:loaded_netrwSettings = "v13"
+if v:version < 700
+ echohl WarningMsg
+ echo "***warning*** this version of netrwSettings needs vim 7.0"
+ echohl Normal
+ finish
+endif
" ---------------------------------------------------------------------
" NetrwSettings: {{{1
@@ -100,6 +106,7 @@
put = 'let g:netrw_browsex_viewer = (not defined)'
endif
put = 'let g:netrw_compress = '.g:netrw_compress
+ put = 'let g:netrw_cursorline = '.g:netrw_cursorline
let decompressline= line("$")
put ='let g:netrw_decompress...'
put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
@@ -138,6 +145,7 @@
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_scpport = '.g:netrw_scpport
+ put = 'let g:netrw_sepchr = '.g:netrw_sepchr
put = 'let g:netrw_sshport = '.g:netrw_sshport
put = 'let g:netrw_timefmt = '.g:netrw_timefmt
let tmpfileescline= line("$")
diff -Nur runtime.patched/autoload/spellfile.vim runtime/autoload/spellfile.vim
--- runtime.patched/autoload/spellfile.vim 2008-06-27 11:14:05.000000000 -0700
+++ runtime/autoload/spellfile.vim 2008-12-01 12:32:56.000000000 -0800
@@ -1,6 +1,6 @@
" Vim script to download a missing spell file
" Maintainer: Bram Moolenaar <[email protected]>
-" Last Change: 2008 Jun 27
+" Last Change: 2008 Nov 29
if !exists('g:spellfile_URL')
" Prefer using http:// when netrw should be able to use it, since
@@ -39,19 +39,22 @@
let s:donedict[a:lang . &enc] = 1
" Find spell directories we can write in.
- let dirlist = []
- let dirchoices = '&Cancel'
- for dir in split(globpath(&rtp, 'spell'), "\n")
- if filewritable(dir) == 2
- call add(dirlist, dir)
- let dirchoices .= "\n&" . len(dirlist)
- endif
- endfor
+ let [dirlist, dirchoices] = spellfile#GetDirChoices()
if len(dirlist) == 0
- if &verbose
+ let dir_to_create = spellfile#WritableSpellDir()
+ if &verbose || dir_to_create != ''
echomsg 'spellfile#LoadFile(): There is no writable spell directory.'
endif
- return
+ if dir_to_create != ''
+ if confirm("Shall I create " . dir_to_create, "&Yes\n&No", 2) == 1
+ " After creating the directory it should show up in the list.
+ call mkdir(dir_to_create, "p")
+ let [dirlist, dirchoices] = spellfile#GetDirChoices()
+ endif
+ endif
+ if len(dirlist) == 0
+ return
+ endif
endif
let msg = 'Cannot find spell file for "' . a:lang . '" in ' . &enc
@@ -177,3 +180,29 @@
unlet g:netrw_use_errorwindow
endif
endfunc
+
+" Get a list of writable spell directories and choices for confirm().
+function! spellfile#GetDirChoices()
+ let dirlist = []
+ let dirchoices = '&Cancel'
+ for dir in split(globpath(&rtp, 'spell'), "\n")
+ if filewritable(dir) == 2
+ call add(dirlist, dir)
+ let dirchoices .= "\n&" . len(dirlist)
+ endif
+ endfor
+ return [dirlist, dirchoices]
+endfunc
+
+function! spellfile#WritableSpellDir()
+ if has("unix")
+ " For Unix always use the $HOME/.vim directory
+ return $HOME . "/.vim/spell"
+ endif
+ for dir in split(&rtp, ',')
+ if filewritable(dir) == 2
+ return dir . "/spell"
+ endif
+ endfor
+ return ''
+endfunction
diff -Nur runtime.patched/autoload/sqlcomplete.vim runtime/autoload/sqlcomplete.vim
--- runtime.patched/autoload/sqlcomplete.vim 2008-04-03 13:37:56.000000000 -0700
+++ runtime/autoload/sqlcomplete.vim 2009-10-08 14:19:32.000000000 -0700
@@ -1,13 +1,19 @@
" Vim OMNI completion script for SQL
" Language: SQL
-" Maintainer: David Fishburn <[email protected]>
-" Version: 6.0
-" Last Change: Thu 03 Apr 2008 10:37:54 PM Eastern Daylight Time
+" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
+" Version: 7.0
+" Last Change: 2009 Jan 04
" Usage: For detailed help
" ":help sql.txt"
" or ":help ft-sql-omni"
" or read $VIMRUNTIME/doc/sql.txt
+" History
+" Version 7.0
+" Better handling of object names
+" Version 6.0
+" Supports object names with spaces "my table name"
+"
" Set completion with CTRL-X CTRL-O to autoloaded function.
" This check is in place in case this script is
" sourced directly instead of using the autoload feature.
@@ -22,7 +28,7 @@
if exists('g:loaded_sql_completion')
finish
endif
-let g:loaded_sql_completion = 50
+let g:loaded_sql_completion = 70
" Maintains filename of dictionary
let s:sql_file_table = ""
@@ -106,10 +112,23 @@
let begindot = 1
endif
while start > 0
- if line[start - 1] =~ '\(\w\|\s\+\)'
+ " Additional code was required to handle objects which
+ " can contain spaces like "my table name".
+ if line[start - 1] !~ '\(\w\|\.\)'
+ " If the previous character is not a period or word character
+ break
+ " elseif line[start - 1] =~ '\(\w\|\s\+\)'
+ " let start -= 1
+ elseif line[start - 1] =~ '\w'
+ " If the previous character is word character continue back
let start -= 1
elseif line[start - 1] =~ '\.' &&
\ compl_type =~ 'column\|table\|view\|procedure'
+ " If the previous character is a period and we are completing
+ " an object which can be specified with a period like this:
+ " table_name.column_name
+ " owner_name.table_name
+
" If lastword has already been set for column completion
" break from the loop, since we do not also want to pickup
" a table name if it was also supplied.
@@ -184,9 +203,10 @@
endif
let compl_type_uc = substitute(compl_type, '\w\+', '\u&', '')
- if s:sql_file_{compl_type} == ""
- let s:sql_file_{compl_type} = DB_getDictionaryName(compl_type_uc)
- endif
+ " Same call below, no need to do it twice
+ " if s:sql_file_{compl_type} == ""
+ " let s:sql_file_{compl_type} = DB_getDictionaryName(compl_type_uc)
+ " endif
let s:sql_file_{compl_type} = DB_getDictionaryName(compl_type_uc)
if s:sql_file_{compl_type} != ""
if filereadable(s:sql_file_{compl_type})
@@ -312,9 +332,16 @@
endif
if base != ''
- " Filter the list based on the first few characters the user
- " entered
- let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|\\([^.]*\\)\\?'.base.'\\)"'
+ " Filter the list based on the first few characters the user entered.
+ " Check if the text matches at the beginning
+ " or
+ " Match to a owner.table or alias.column type match
+ " or
+ " Handle names with spaces "my table name"
+ let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|^\\(\\w\\+\\.\\)\\?'.base.'\\)"'
+ " let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\)"'
+ " let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|\\(\\.\\)\\?'.base.'\\)"'
+ " let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|\\([^.]*\\)\\?'.base.'\\)"'
let compl_list = filter(deepcopy(compl_list), expr)
endif
diff -Nur runtime.patched/compiler/gcc.vim runtime/compiler/gcc.vim
--- runtime.patched/compiler/gcc.vim 2008-03-12 15:04:38.000000000 -0700
+++ runtime/compiler/gcc.vim 2009-05-05 11:29:38.000000000 -0700
@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: GNU C Compiler
" Maintainer: Nikolai Weibull <[email protected]>
-" Latest Revision: 2006-12-20
+" Latest Revision: 2009-05-01
if exists("current_compiler")
finish
@@ -12,10 +12,13 @@
set cpo-=C
CompilerSet errorformat=
+ \%*[^\"]\"%f\"%*\\D%l:%c:\ %m,
\%*[^\"]\"%f\"%*\\D%l:\ %m,
+ \\"%f\"%*\\D%l:%c:\ %m,
\\"%f\"%*\\D%l:\ %m,
\%-G%f:%l:\ %trror:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once,
\%-G%f:%l:\ %trror:\ for\ each\ function\ it\ appears\ in.),
+ \%f:%l:%c:\ %m,
\%f:%l:\ %m,
\\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
\10/04/27*\\a[%*\\d]:\ Entering\ directory\ `%f',
diff -Nur runtime.patched/compiler/jikes.vim runtime/compiler/jikes.vim
--- runtime.patched/compiler/jikes.vim 2004-06-07 07:32:36.000000000 -0700
+++ runtime/compiler/jikes.vim 2009-01-28 08:23:44.000000000 -0800
@@ -1,8 +1,8 @@
" Vim Compiler File
" Compiler: Jikes
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Change: 2004 Mar 27
-" URL: http://mywebpage.netscape.com/sharppeople/vim/compiler
+" Last Change: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/compiler
if exists("current_compiler")
finish
diff -Nur runtime.patched/doc/autocmd.txt runtime/doc/autocmd.txt
--- runtime.patched/doc/autocmd.txt 2009-11-20 13:52:20.896416404 -0800
+++ runtime/doc/autocmd.txt 2009-10-08 14:17:02.000000000 -0700
@@ -1,4 +1,4 @@
-*autocmd.txt* For Vim version 7.2. Last change: 2008 Jun 27
+*autocmd.txt* For Vim version 7.2. Last change: 2009 Oct 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -59,10 +59,10 @@
:au[tocmd] [group] {event} {pat} [nested] {cmd}
Add {cmd} to the list of commands that Vim will
execute automatically on {event} for a file matching
- {pat}. Vim always adds the {cmd} after existing
- autocommands, so that the autocommands execute in the
- order in which they were given. See |autocmd-nested|
- for [nested].
+ {pat} |autocmd-patterns|.
+ Vim always adds the {cmd} after existing autocommands,
+ so that the autocommands execute in the order in which
+ they were given. See |autocmd-nested| for [nested].
The special pattern <buffer> or <buffer=N> defines a buffer-local autocommand.
See |autocmd-buflocal|.
@@ -551,7 +551,7 @@
buffer that was changed "<afile>".
NOTE: The commands must not change the current
buffer, jump to another buffer or delete a
- buffer. *E246*
+ buffer. *E246* *E811*
NOTE: This event never nests, to avoid an
endless loop. This means that while executing
commands for the FileChangedShell event no
@@ -835,9 +835,9 @@
two ways:
1. When there is no '/' in the pattern, Vim checks for a match against only
the tail part of the file name (without its leading directory path).
-2. When there is a '/' in the pattern, Vim checks for a match against the
- both short file name (as you typed it) and the full file name (after
- expanding it to a full path and resolving symbolic links).
+2. When there is a '/' in the pattern, Vim checks for a match against both the
+ short file name (as you typed it) and the full file name (after expanding
+ it to a full path and resolving symbolic links).
The special pattern <buffer> or <buffer=N> is used for buffer-local
autocommands |autocmd-buflocal|. This pattern is not matched against the name
diff -Nur runtime.patched/doc/change.txt runtime/doc/change.txt
--- runtime.patched/doc/change.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/change.txt 2009-09-18 03:26:13.000000000 -0700
@@ -1,4 +1,4 @@
-*change.txt* For Vim version 7.2. Last change: 2008 Jul 24
+*change.txt* For Vim version 7.2. Last change: 2009 Sep 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -506,9 +506,9 @@
{filter}. Vim replaces the optional bangs with the
latest given command and appends the optional [arg].
Vim saves the output of the filter command in a
- temporary file and then reads the file into the
- buffer. Vim uses the 'shellredir' option to redirect
- the filter output to the temporary file.
+ temporary file and then reads the file into the buffer
+ |tempfile|. Vim uses the 'shellredir' option to
+ redirect the filter output to the temporary file.
However, if the 'shelltemp' option is off then pipes
are used when possible (on Unix).
When the 'R' flag is included in 'cpoptions' marks in
@@ -524,7 +524,9 @@
option is empty (this is the default), use the
internal formatting function |C-indenting|. But when
'indentexpr' is not empty, it will be used instead
- |indent-expression|.
+ |indent-expression|. When Vim was compiled without
+ internal formatting then the "indent" program is used
+ as a last resort.
*==*
== Filter [count] lines like with ={motion}.
@@ -534,6 +536,22 @@
{not in Vi}
+ *tempfile* *setuid*
+Vim uses temporary files for filtering, generating diffs and also for
+tempname(). For Unix, the file will be in a private directory (only
+accessible by the current user) to avoid security problems (e.g., a symlink
+attack or other people reading your file). When Vim exits the directory and
+all files in it are deleted. When Vim has the setuid bit set this may cause
+problems, the temp file is owned by the setuid user but the filter command
+probably runs as the original user.
+On MS-DOS and OS/2 the first of these directories that works is used: $TMP,
+$TEMP, c:\TMP, c:\TEMP.
+For Unix the list of directories is: $TMPDIR, /tmp, current-dir, $HOME.
+For MS-Windows the GetTempFileName() system function is used.
+For other systems the tmpnam() library function is used.
+
+
+
4.2 Substitute *:substitute*
*:s* *:su*
:[range]s[ubstitute]/{pattern}/{string}/[flags] [count]
@@ -994,6 +1012,11 @@
and whether the corners are on an existing character. (Implementation detail:
it actually works by first putting the register after the selection and then
deleting the selection.)
+The previously selected text is put in the unnamed register. If you want to
+put the same text into a Visual selection several times you need to use
+another register. E.g., yank the text to copy, Visually select the text to
+replace and use "0p . You can repeat this as many times as you like, the
+unnamed register will be changed each time.
*blockwise-register*
If you use a blockwise Visual mode command to get the text into the register,
@@ -1031,8 +1054,10 @@
Vim fills this register with text deleted with the "d", "c", "s", "x" commands
or copied with the yank "y" command, regardless of whether or not a specific
register was used (e.g. "xdd). This is like the unnamed register is pointing
-to the last used register. An exception is the '_' register: "_dd does not
-store the deleted text in any register.
+to the last used register. Thus when appending using an uppercase register
+name, the unnamed register contains the same text as the named register.
+An exception is the '_' register: "_dd does not store the deleted text in any
+register.
Vim uses the contents of the unnamed register for any put command (p or P)
which does not specify a register. Additionally you can access it with the
name '"'. This means you have to type two double quotes. Writing to the ""
@@ -1098,11 +1123,16 @@
history for expressions. When you end the command-line by typing <CR>, Vim
computes the result of the expression. If you end it with <Esc>, Vim abandons
the expression. If you do not enter an expression, Vim uses the previous
-expression (like with the "/" command). The expression must evaluate to a
-string. If the result is a number it's turned into a string. A List,
-Dictionary or FuncRef results in an error message (use string() to convert).
-If the "= register is used for the "p" command, the string is split up at <NL>
-characters. If the string ends in a <NL>, it is regarded as a linewise
+expression (like with the "/" command).
+
+The expression must evaluate to a String. A Number is always automatically
+converted to a String. For the "p" and ":put" command, if the result is a
+Float it's converted into a String. If the result is a List each element is
+turned into a String and used as a line. A Dictionary or FuncRef results in
+an error message (use string() to convert).
+
+If the "= register is used for the "p" command, the String is split up at <NL>
+characters. If the String ends in a <NL>, it is regarded as a linewise
register. {not in Vi}
7. Selection and drop registers "*, "+ and "~
diff -Nur runtime.patched/doc/cmdline.txt runtime/doc/cmdline.txt
--- runtime.patched/doc/cmdline.txt 2009-11-20 13:52:20.964642330 -0800
+++ runtime/doc/cmdline.txt 2009-10-28 13:57:15.000000000 -0700
@@ -1,4 +1,4 @@
-*cmdline.txt* For Vim version 7.2. Last change: 2008 Sep 18
+*cmdline.txt* For Vim version 7.2. Last change: 2009 Oct 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -118,8 +118,6 @@
preferred behavior, add the following to your .vimrc: >
:cnoremap <C-U> <C-E><C-U>
<
- Note: if the command-line becomes empty with one of the
- delete commands, Command-line mode is quit.
*c_<Insert>*
<Insert> Toggle between insert and overstrike. {not in Vi}
@@ -485,14 +483,14 @@
The Ex commands have a few specialties:
- *:quote*
+ *:quote* *:comment*
'"' at the start of a line causes the whole line to be ignored. '"'
after a command causes the rest of the line to be ignored. This can be used
to add comments. Example: >
:set ai "set 'autoindent' option
It is not possible to add a comment to a shell command ":!cmd" or to the
-":map" command and friends, because they see the '"' as part of their
-argument.
+":map" command and a few others, because they see the '"' as part of their
+argument. This is mentioned where the command is explained.
*:bar* *:\bar*
'|' can be used to separate commands, so you can give multiple commands in one
@@ -744,8 +742,8 @@
function expand() |expand()|.
% Is replaced with the current file name. *:_%* *c_%*
# Is replaced with the alternate file name. *:_#* *c_#*
- #n (where n is a number) is replaced with the file name of
- buffer n. "#0" is the same as "#".
+ #n (where n is a number) is replaced with *:_#0* *:_#n*
+ the file name of buffer n. "#0" is the same as "#". *c_#n*
## Is replaced with all names in the argument list *:_##* *c_##*
concatenated, separated by spaces. Each space in a name
is preceded with a backslash.
@@ -949,7 +947,7 @@
==============================================================================
6. Command-line window *cmdline-window* *cmdwin*
-
+ *command-line-window*
In the command-line window the command line can be edited just like editing
text in any window. It is a special kind of window, because you cannot leave
it in a normal way.
@@ -957,12 +955,12 @@
feature}
-OPEN
+OPEN *c_CTRL-F* *q:* *q/* *q?*
There are two ways to open the command-line window:
1. From Command-line mode, use the key specified with the 'cedit' option.
The default is CTRL-F when 'compatible' is not set.
-2. From Normal mode, use the "q:", "q/" or "q?" command. *q:* *q/* *q?*
+2. From Normal mode, use the "q:", "q/" or "q?" command.
This starts editing an Ex command-line ("q:") or search string ("q/" or
"q?"). Note that this is not possible while recording is in progress (the
"q" stops recording then).
@@ -992,7 +990,8 @@
The command-line window is not a normal window. It is not possible to move to
another window or edit another buffer. All commands that would do this are
disabled in the command-line window. Of course it _is_ possible to execute
-any command that you entered in the command-line window.
+any command that you entered in the command-line window. Other text edits are
+discarded when closing the window.
CLOSE *E199*
@@ -1027,7 +1026,7 @@
The command-line window cannot be used:
- when there already is a command-line window (no nesting)
-- for entering a encryption key or when using inputsecret()
+- for entering an encryption key or when using inputsecret()
- when Vim was not compiled with the +vertsplit feature
Some options are set when the command-line window is opened:
diff -Nur runtime.patched/doc/debug.txt runtime/doc/debug.txt
--- runtime.patched/doc/debug.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/debug.txt 2009-07-26 04:41:19.000000000 -0700
@@ -1,4 +1,4 @@
-*debug.txt* For Vim version 7.2. Last change: 2006 May 01
+*debug.txt* For Vim version 7.2. Last change: 2009 Jul 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -10,7 +10,8 @@
For debugging Vim scripts, functions, etc. see |debug-scripts|
1. Location of a crash, using gcc and gdb |debug-gcc|
-2. Windows Bug Reporting |debug-win32|
+2. Locating memory leaks |debug-leaks|
+3. Windows Bug Reporting |debug-win32|
==============================================================================
@@ -38,7 +39,25 @@
==============================================================================
-2. Windows Bug Reporting *debug-win32*
+2. Locating memory leaks *debug-leaks*
+
+If you suspect Vim is leaking memory and you are using Linux, the valgrind
+tool is very useful to pinpoint memory leaks.
+
+First of all, build Vim with EXITFREE defined. Search for this in MAKEFILE
+and uncomment the line.
+
+Use this command to start Vim: *valgrind*
+>
+ valgrind --log-file=valgrind.log ./vim
+
+Note: Vim will run much slower. If your .vimrc is big or you have several
+plugins you need to be patient for startup, or run with the "-u NONE"
+argument.
+
+==============================================================================
+
+3. Windows Bug Reporting *debug-win32*
If the Windows version of Vim crashes in a reproducible manner, you can take
some steps to provide a useful bug report.
diff -Nur runtime.patched/doc/develop.txt runtime/doc/develop.txt
--- runtime.patched/doc/develop.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/develop.txt 2009-01-14 12:15:17.000000000 -0800
@@ -1,4 +1,4 @@
-*develop.txt* For Vim version 7.2. Last change: 2007 May 11
+*develop.txt* For Vim version 7.2. Last change: 2008 Dec 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -64,7 +64,7 @@
hard time finding and remembering them. Keep in mind that more commands and
options will be added later.
- A feature that people do not know about is a useless feature. Don't add
- obscure features, or at least add hints in documentation that they exists.
+ obscure features, or at least add hints in documentation that they exist.
- Minimize using CTRL and other modifiers, they are more difficult to type.
- There are many first-time and inexperienced Vim users. Make it easy for
them to start using Vim and learn more over time.
@@ -323,7 +323,7 @@
OK: var = a * 5;
In general: Use empty lines to group lines of code together. Put a comment
-just above the group of lines. This makes it more easy to quickly see what is
+just above the group of lines. This makes it easier to quickly see what is
being done.
OK: /* Prepare for building the table. */
diff -Nur runtime.patched/doc/diff.txt runtime/doc/diff.txt
--- runtime.patched/doc/diff.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/diff.txt 2009-09-18 03:26:13.000000000 -0700
@@ -1,4 +1,4 @@
-*diff.txt* For Vim version 7.2. Last change: 2008 Jul 21
+*diff.txt* For Vim version 7.2. Last change: 2009 Sep 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -64,6 +64,9 @@
These options are set local to the window. When editing another file they are
reset to the global value.
+The options can still be overruled from a modeline when re-editing the file.
+However, 'foldmethod' and 'wrap' won't be set from a modeline when 'diff' is
+set.
The differences shown are actually the differences in the buffer. Thus if you
make changes after loading a file, these will be included in the displayed
@@ -91,7 +94,7 @@
:diffthis Make the current window part of the diff windows. This sets
the options like for "vimdiff".
-:diffpatch {patchfile} *:diffp* *:diffpatch*
+:diffpatch {patchfile} *E816* *:diffp* *:diffpatch*
Use the current buffer, patch it with the diff found in
{patchfile} and open a buffer on the result. The options are
set as for "vimdiff".
@@ -121,7 +124,8 @@
*:diffo* *:diffoff*
:diffoff Switch off diff mode for the current window.
-:diffoff! Switch off diff mode for all windows in the current tab page.
+:diffoff! Switch off diff mode for the current window and in all windows
+ in the current tab page where 'diff' is set.
The ":diffoff" command resets the relevant options to their default value.
This may be different from what the values were before diff mode was started,
@@ -237,7 +241,8 @@
*:diffg* *:diffget*
:[range]diffg[et] [bufspec]
Modify the current buffer to undo difference with another
- buffer. If [bufspec] is given, that buffer is used.
+ buffer. If [bufspec] is given, that buffer is used. If
+ [bufspec] refers to the current buffer then nothing happens.
Otherwise this only works if there is one other buffer in diff
mode.
See below for [range].
@@ -323,7 +328,7 @@
The "4d4" item deletes the line "111".
The '7c7" item replaces the line "GGG" with "ggg".
-When 'diffexpr' is not empty, Vim evaluates to obtain a diff file in the
+When 'diffexpr' is not empty, Vim evaluates it to obtain a diff file in the
format mentioned. These variables are set to the file names used:
v:fname_in original file
@@ -353,7 +358,7 @@
binaries isn't useful. The "--binary" argument makes the files read in binary
mode, so that a CTRL-Z doesn't end the text on DOS.
- *E97*
+ *E810* *E97*
Vim will do a test if the diff output looks alright. If it doesn't, you will
get an error message. Possible causes:
- The "diff" program cannot be executed.
diff -Nur runtime.patched/doc/editing.txt runtime/doc/editing.txt
--- runtime.patched/doc/editing.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/editing.txt 2009-06-13 05:40:52.000000000 -0700
@@ -1,4 +1,4 @@
-*editing.txt* For Vim version 7.2. Last change: 2008 Aug 09
+*editing.txt* For Vim version 7.2. Last change: 2009 Jun 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -270,7 +270,7 @@
Normal mode. Otherwise same as |:edit|.
*:vie* *:view*
-:vie[w] [++opt] [+cmd] file
+:vie[w][!] [++opt] [+cmd] file
When used in Ex mode: Leave |Ex mode|, go back to
Normal mode. Otherwise same as |:edit|, but set
'readonly' option for this buffer. {not in Vi}
@@ -462,7 +462,10 @@
++bad=drop Remove the bad characters.
The default is like "++bad=?": Replace each bad character with a question
-mark.
+mark. In some places an inverted question mark is used (0xBF).
+
+Note that not all commands use the ++bad argument, even though they do not
+give an error when you add it. E.g. |:write|.
Note that when reading, the 'fileformat' and 'fileencoding' options will be
set to the used format. When writing this doesn't happen, thus a next write
@@ -837,7 +840,7 @@
Example: >
:args *.c
:argdo set ff=unix | update
-This sets the 'fileformat' option to "unix" and writes the file if is now
+This sets the 'fileformat' option to "unix" and writes the file if it is now
changed. This is done for all *.c files.
Example: >
@@ -1456,6 +1459,17 @@
may be specified by name, number or with a pattern.
+ *E813* *E814*
+Vim will reload the buffer if you chose to. If a window is visible that
+contains this buffer, the reloading will happen in the context of this window.
+Otherwise a special window is used, so that most autocommands will work. You
+can't close this window. A few other restrictions apply. Best is to make
+sure nothing happens outside of the current buffer. E.g., setting
+window-local options may end up in the wrong window. Splitting the window,
+doing something there and closing it should be OK (if there are no side
+effects from other autocommands). Closing unrelated windows and buffers will
+get you into trouble.
+
Before writing a file the timestamp is checked. If it has changed, Vim will
ask if you really want to overwrite the file:
diff -Nur runtime.patched/doc/eval.txt runtime/doc/eval.txt
--- runtime.patched/doc/eval.txt 2009-11-20 13:52:21.275029797 -0800
+++ runtime/doc/eval.txt 2009-10-08 14:17:02.000000000 -0700
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.2. Last change: 2008 Nov 27
+*eval.txt* For Vim version 7.2. Last change: 2009 Sep 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -853,7 +853,8 @@
If expr8 is a Number or String this results in a String that contains the
expr1'th single byte from expr8. expr8 is used as a String, expr1 as a
-Number. Note that this doesn't recognize multi-byte encodings.
+Number. This doesn't recognize multi-byte encodings, see |byteidx()| for
+an alternative.
Index zero gives the first character. This is like it works in C. Careful:
text column numbers start with one! Example, to get the character under the
@@ -878,8 +879,8 @@
If expr8 is a Number or String this results in the substring with the bytes
from expr1a to and including expr1b. expr8 is used as a String, expr1a and
-expr1b are used as a Number. Note that this doesn't recognize multi-byte
-encodings.
+expr1b are used as a Number. This doesn't recognize multi-byte encodings, see
+|byteidx()| for computing the indexes.
If expr1a is omitted zero is used. If expr1b is omitted the length of the
string minus one is used.
@@ -895,7 +896,8 @@
:let c = name[-2:-2] " last but one byte of a string
:let s = line(".")[4:] " from the fifth byte to the end
:let s = s[:-3] " remove last two bytes
-
+<
+ *sublist* *slice*
If expr8 is a |List| this results in a new |List| with the items indicated by
the indexes expr1a and expr1b. This works like with a String, as explained
just above, except that indexes out of range cause an error. Examples: >
@@ -1190,6 +1192,7 @@
Thus not in:
- other scripts sourced from this one
- mappings
+- menus
- etc.
Script variables can be used to avoid conflicts with global variable names.
@@ -1280,7 +1283,8 @@
valid while evaluating the 'balloonexpr' option.
*v:char* *char-variable*
-v:char Argument for evaluating 'formatexpr'.
+v:char Argument for evaluating 'formatexpr' and used for the typed
+ character when using <expr> in an abbreviation |map-<expr>|.
*v:charconvert_from* *charconvert_from-variable*
v:charconvert_from
@@ -1317,6 +1321,8 @@
:map _x :<C-U>echo "the count is " . v:count<CR>
< Note: The <C-U> is required to remove the line range that you
get when typing ':' after a count.
+ When there are two counts, as in "3d2w", they are multiplied,
+ just like what happens in the command, "d6w" for the example.
Also used for evaluating the 'formatexpr' option.
"count" also works, for backwards compatibility.
@@ -1677,9 +1683,9 @@
changenr() Number current change number
char2nr( {expr}) Number ASCII value of first char in {expr}
cindent( {lnum}) Number C indent for line {lnum}
-clearmatches() None clear all matches
+clearmatches() none clear all matches
col( {expr}) Number column nr of cursor or mark
-complete({startcol}, {matches}) String set Insert mode completion
+complete( {startcol}, {matches}) none set Insert mode completion
complete_add( {expr}) Number add completion match
complete_check() Number check for key typed during completion
confirm( {msg} [, {choices} [, {default} [, {type}]]])
@@ -1704,7 +1710,7 @@
eventhandler( ) Number TRUE if inside an event handler
executable( {expr}) Number 1 if executable {expr} exists
exists( {expr}) Number TRUE if {expr} exists
-extend({expr1}, {expr2} [, {expr3}])
+extend( {expr1}, {expr2} [, {expr3}])
List/Dict insert items of {expr2} into {expr1}
expand( {expr} [, {flag}]) String expand special keywords in {expr}
feedkeys( {string} [, {mode}]) Number add key sequence to typeahead buffer
@@ -1746,7 +1752,7 @@
getftype( {fname}) String description of type of file {fname}
getline( {lnum}) String line {lnum} of current buffer
getline( {lnum}, {end}) List lines {lnum} to {end} of current buffer
-getloclist({nr}) List list of location list items
+getloclist( {nr}) List list of location list items
getmatches() List list of current matches
getpid() Number process ID of Vim
getpos( {expr}) List position of cursor, mark, etc.
@@ -1815,9 +1821,9 @@
List match and submatches of {pat} in {expr}
matchstr( {expr}, {pat}[, {start}[, {count}]])
String {count}'th match of {pat} in {expr}
-max({list}) Number maximum value of items in {list}
-min({list}) Number minimum value of items in {list}
-mkdir({name} [, {path} [, {prot}]])
+max( {list}) Number maximum value of items in {list}
+min( {list}) Number minimum value of items in {list}
+mkdir( {name} [, {path} [, {prot}]])
Number create directory {name}
mode( [expr]) String current editing mode
nextnonblank( {lnum}) Number line nr of non-blank line >= {lnum}
@@ -1829,7 +1835,7 @@
pumvisible() Number whether popup menu is visible
range( {expr} [, {max} [, {stride}]])
List items from {expr} to {max}
-readfile({fname} [, {binary} [, {max}]])
+readfile( {fname} [, {binary} [, {max}]])
List get list of lines from file {fname}
reltime( [{start} [, {end}]]) List get time value
reltimestr( {time}) String turn time value into a String
@@ -1850,7 +1856,7 @@
round( {expr}) Float round off {expr}
search( {pattern} [, {flags} [, {stopline} [, {timeout}]]])
Number search for {pattern}
-searchdecl({name} [, {global} [, {thisblock}]])
+searchdecl( {name} [, {global} [, {thisblock}]])
Number search for variable declaration
searchpair( {start}, {middle}, {end} [, {flags} [, {skip} [...]]])
Number search for other end of start/end pair
@@ -1867,7 +1873,7 @@
setloclist( {nr}, {list}[, {action}])
Number modify location list using {list}
setmatches( {list}) Number restore a list of matches
-setpos( {expr}, {list}) none set the {expr} position to {list}
+setpos( {expr}, {list}) Number set the {expr} position to {list}
setqflist( {list}[, {action}]) Number modify quickfix list using {list}
setreg( {n}, {v}[, {opt}]) Number set register to value and type
settabwinvar( {tabnr}, {winnr}, {varname}, {val}) set {varname} in window
@@ -1905,7 +1911,7 @@
synIDattr( {synID}, {what} [, {mode}])
String attribute {what} of syntax ID {synID}
synIDtrans( {synID}) Number translated syntax ID of {synID}
-synstack({lnum}, {col}) List stack of syntax IDs at {lnum} and {col}
+synstack( {lnum}, {col}) List stack of syntax IDs at {lnum} and {col}
system( {expr} [, {input}]) String output of shell command/filter {expr}
tabpagebuflist( [{arg}]) List list of buffer numbers in tab page
tabpagenr( [{arg}]) Number number of current or last tab page
@@ -1929,10 +1935,10 @@
winline() Number window line of the cursor
winnr( [{expr}]) Number number of current window
winrestcmd() String returns command to restore window sizes
-winrestview({dict}) None restore view of current window
+winrestview( {dict}) none restore view of current window
winsaveview() Dict save view of current window
winwidth( {nr}) Number width of window {nr}
-writefile({list}, {fname} [, {binary}])
+writefile( {list}, {fname} [, {binary}])
Number write list of lines to file {fname}
abs({expr}) *abs()*
@@ -2245,7 +2251,7 @@
{matches} must be a |List|. Each |List| item is one match.
See |complete-items| for the kind of items that are possible.
Note that the after calling this function you need to avoid
- inserting anything that would completion to stop.
+ inserting anything that would cause completion to stop.
The match can be selected with CTRL-N and CTRL-P as usual with
Insert mode completion. The popup menu will appear if
specified, see |ins-completion-menu|.
@@ -2477,7 +2483,7 @@
Return the Number 1 if {expr} is empty, zero otherwise.
A |List| or |Dictionary| is empty when it does not have any
items. A Number is empty when its value is zero.
- For a long |List| this is much faster then comparing the
+ For a long |List| this is much faster than comparing the
length with zero.
escape({string}, {chars}) *escape()*
@@ -3053,7 +3059,7 @@
128 Macintosh only: command
Only the modifiers that have not been included in the
character itself are obtained. Thus Shift-a results in "A"
- with no modifier.
+ without a modifier.
getcmdline() *getcmdline()*
Return the current command-line. Only works when the command
@@ -3181,7 +3187,7 @@
window {nr}. When {nr} is zero the current window is used.
For a location list window, the displayed location list is
returned. For an invalid window number {nr}, an empty list is
- returned. Otherwise, same as getqflist().
+ returned. Otherwise, same as |getqflist()|.
getmatches() *getmatches()*
Returns a |List| with all matches previously defined by
@@ -3503,7 +3509,10 @@
index({list}, {expr} [, {start} [, {ic}]]) *index()*
Return the lowest index in |List| {list} where the item has a
- value equal to {expr}.
+ value equal to {expr}. There is no automatic conversion, so
+ the String "4" is different from the Number 4. And the number
+ 4 is different from the Float 4.0. The value of 'ignorecase'
+ is not used here, case always matters.
If {start} is given then start looking at the item with index
{start} (may be negative for an item relative to the end).
When {ic} is given and it is non-zero, ignore case. Otherwise
@@ -3516,9 +3525,9 @@
input({prompt} [, {text} [, {completion}]]) *input()*
The result is a String, which is whatever the user typed on
- the command-line. The parameter is either a prompt string, or
- a blank string (for no prompt). A '\n' can be used in the
- prompt to start a new line.
+ the command-line. The {prompt} argument is either a prompt
+ string, or a blank string (for no prompt). A '\n' can be used
+ in the prompt to start a new line.
The highlighting set with |:echohl| is used for the prompt.
The input is entered just like a command-line, with the same
editing commands and mappings. There is a separate history
@@ -3528,8 +3537,9 @@
: echo "Cheers!"
:endif
<
- If the optional {text} is present and not empty, this is used
- for the default reply, as if the user typed this. Example: >
+ If the optional {text} argument is present and not empty, this
+ is used for the default reply, as if the user typed this.
+ Example: >
:let color = input("Color? ", "white")
< The optional {completion} argument specifies the type of
@@ -3559,8 +3569,8 @@
:endfunction
inputdialog({prompt} [, {text} [, {cancelreturn}]]) *inputdialog()*
- Like input(), but when the GUI is running and text dialogs are
- supported, a dialog window pops up to input the text.
+ Like |input()|, but when the GUI is running and text dialogs
+ are supported, a dialog window pops up to input the text.
Example: >
:let n = inputdialog("value for shiftwidth", &sw)
:if n != ""
@@ -3581,7 +3591,7 @@
above the first item a negative number is returned. When
clicking on the prompt one more than the length of {textlist}
is returned.
- Make sure {textlist} has less then 'lines' entries, otherwise
+ Make sure {textlist} has less than 'lines' entries, otherwise
it won't work. It's a good idea to put the entry number at
the start of the string. And put a prompt in the first item.
Example: >
@@ -3589,7 +3599,7 @@
\ '2. green', '3. blue'])
inputrestore() *inputrestore()*
- Restore typeahead that was saved with a previous inputsave().
+ Restore typeahead that was saved with a previous |inputsave()|.
Should be called the same number of times inputsave() is
called. Calling it more often is harmless though.
Returns 1 when there is nothing to restore, 0 otherwise.
@@ -3726,7 +3736,7 @@
<
*libcallnr()*
libcallnr({libname}, {funcname}, {argument})
- Just like libcall(), but used for a function that returns an
+ Just like |libcall()|, but used for a function that returns an
int instead of a string.
{only in Win32 on some Unix versions, when the |+libcall|
feature is present}
@@ -3759,7 +3769,7 @@
< *last-position-jump*
This autocommand jumps to the last known position in a file
just after opening it, if the '" mark is set: >
- :au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
+ :au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
line2byte({lnum}) *line2byte()*
Return the byte count from the start of the buffer for line
@@ -3802,8 +3812,7 @@
Replace each item in {expr} with the result of evaluating
{string}.
Inside {string} |v:val| has the value of the current item.
- For a |Dictionary| |v:key| has the key of the current item
- and for a |List| |v:key| has the index of the current item.
+ For a |Dictionary| |v:key| has the key of the current item.
Example: >
:call map(mylist, '"> " . v:val . " <"')
< This puts "> " before and " <" after each item in "mylist".
@@ -3990,8 +3999,8 @@
be deleted in one operation by |clearmatches()|.
matchend({expr}, {pat}[, {start}[, {count}]]) *matchend()*
- Same as match(), but return the index of first character after
- the match. Example: >
+ Same as |match()|, but return the index of first character
+ after the match. Example: >
:echo matchend("testing", "ing")
< results in "7".
*strspn()* *strcspn()*
@@ -4001,15 +4010,15 @@
:let span = matchend(line, '[^a-zA-Z]')
< Except that -1 is returned when there are no matches.
- The {start}, if given, has the same meaning as for match(). >
+ The {start}, if given, has the same meaning as for |match()|. >
:echo matchend("testing", "ing", 2)
< results in "7". >
:echo matchend("testing", "ing", 5)
< result is "-1".
- When {expr} is a |List| the result is equal to match().
+ When {expr} is a |List| the result is equal to |match()|.
matchlist({expr}, {pat}[, {start}[, {count}]]) *matchlist()*
- Same as match(), but return a |List|. The first item in the
+ Same as |match()|, but return a |List|. The first item in the
list is the matched string, same as what matchstr() would
return. Following items are submatches, like "\1", "\2", etc.
in |:substitute|. When an optional submatch didn't match an
@@ -4023,7 +4032,7 @@
:echo matchstr("testing", "ing")
< results in "ing".
When there is no match "" is returned.
- The {start}, if given, has the same meaning as for match(). >
+ The {start}, if given, has the same meaning as for |match()|. >
:echo matchstr("testing", "ing", 2)
< results in "ing". >
:echo matchstr("testing", "ing", 5)
@@ -4497,9 +4506,9 @@
<
remove({list}, {idx} [, {end}]) *remove()*
Without {end}: Remove the item at {idx} from |List| {list} and
- return it.
+ return the item.
With {end}: Remove items from {idx} to {end} (inclusive) and
- return a list with these items. When {idx} points to the same
+ return a List with these items. When {idx} points to the same
item as {end} a list with one item is returned. When {end}
points to an item before {idx} this is an error.
See |list-index| for possible values of {idx} and {end}.
@@ -4750,7 +4759,7 @@
*searchpairpos()*
searchpairpos({start}, {middle}, {end} [, {flags} [, {skip}
[, {stopline} [, {timeout}]]]])
- Same as searchpair(), but returns a |List| with the line and
+ Same as |searchpair()|, but returns a |List| with the line and
column position of the match. The first element of the |List|
is the line number and the second element is the byte index of
the column position of the match. If no match is found,
@@ -5051,15 +5060,20 @@
When {func} is given and it is one then case is ignored.
When {func} is a |Funcref| or a function name, this function
is called to compare items. The function is invoked with two
- items as argument and must return zero if they are equal, 1 if
- the first one sorts after the second one, -1 if the first one
- sorts before the second one. Example: >
+ items as argument and must return zero if they are equal, 1 or
+ bigger if the first one sorts after the second one, -1 or
+ smaller if the first one sorts before the second one.
+ Example: >
func MyCompare(i1, i2)
return a:i1 == a:i2 ? 0 : a:i1 > a:i2 ? 1 : -1
endfunc
let sortedlist = sort(mylist, "MyCompare")
+< A shorter compare version for this specific simple case, which
+ ignores overflow: >
+ func MyCompare(i1, i2)
+ return a:i1 - a:i2
+ endfunc
<
-
*soundfold()*
soundfold({word})
Return the sound-folded equivalent of {word}. Uses the first
@@ -5508,10 +5522,7 @@
is different for at least 26 consecutive calls. Example: >
:let tmpfile = tempname()
:exe "redir > " . tmpfile
-< For Unix, the file will be in a private directory (only
- accessible by the current user) to avoid security problems
- (e.g., a symlink attack or other people reading your file).
- When Vim exits the directory and all files in it are deleted.
+< For Unix, the file will be in a private directory |tempfile|.
For MS-Windows forward slashes are used when the 'shellslash'
option is set or when 'shellcmdflag' starts with '-'.
@@ -5870,7 +5881,6 @@
signs Compiled with |:sign| support.
smartindent Compiled with 'smartindent' support.
sniff Compiled with SNiFF interface support.
-startuptime Compiled with |--startuptime| support.
statusline Compiled with support for 'statusline', 'rulerformat'
and special formats of 'titlestring' and 'iconstring'.
sun_workshop Compiled with support for Sun |workshop|.
@@ -6575,15 +6585,19 @@
removed without effect. Removing any later item means
it will not be found. Thus the following example
works (an inefficient way to make a list empty): >
- :for item in mylist
- :call remove(mylist, 0)
- :endfor
+ for item in mylist
+ call remove(mylist, 0)
+ endfor
< Note that reordering the list (e.g., with sort() or
reverse()) may have unexpected effects.
Note that the type of each list item should be
identical to avoid errors for the type of {var}
changing. Unlet the variable at the end of the loop
- to allow multiple item types.
+ to allow multiple item types: >
+ for item in ["foo", ["bar"]]
+ echo item
+ unlet item " E706 without this
+ endfor
:for [{var1}, {var2}, ...] in {listlist}
:endfo[r]
@@ -6652,7 +6666,7 @@
:try | edit | catch /^Vim(edit):E\d\+/ | echo "error" | endtry
<
*:cat* *:catch* *E603* *E604* *E605*
-:cat[ch] /{pattern}/ The following commands until the next ":catch",
+:cat[ch] /{pattern}/ The following commands until the next |:catch|,
|:finally|, or |:endtry| that belongs to the same
|:try| as the ":catch" are executed when an exception
matching {pattern} is being thrown and has not yet
@@ -6825,7 +6839,7 @@
:execute 'while i < 5 | echo i | let i = i + 1 | endwhile'
<
- *:comment*
+ *:exe-comment*
":execute", ":echo" and ":echon" cannot be followed by
a comment directly, because they see the '"' as the
start of a string. But, you can use '|' followed by a
@@ -7831,7 +7845,7 @@
Printing in Binary ~
>
- :" The function Nr2Bin() returns the Hex string of a number.
+ :" The function Nr2Bin() returns the binary string representation of a number.
:func Nr2Bin(nr)
: let n = a:nr
: let r = ""
diff -Nur runtime.patched/doc/evim-pl.1 runtime/doc/evim-pl.1
--- runtime.patched/doc/evim-pl.1 2006-03-26 04:20:16.000000000 -0800
+++ runtime/doc/evim-pl.1 2009-09-18 03:29:10.000000000 -0700
@@ -14,11 +14,11 @@
.B Vima
i ustawia opcje tak by zachowywa� si� jak edytor bez tryb�w.
To jest ca�y czas Vim ale u�ywany jako edytor wska�-i-kliknij.
-Zachowanie w stlu Notepada dla MS-Windows.
+Zachowanie w stylu Notepada dla MS-Windows.
.B eVim
b�dzie zawsze uruchomiony w GUI by w��czy� menu i pasek narz�dzi.
.PP
-Przeznaczony tylko dla ludzi, kt�rzy naprawd� nie potrafi� pracowa�
+Przeznaczony tylko dla ludzi, kt�rzy naprawd� nie mog� pracowa�
z Vimem w normalny spos�b. Edycja b�dzie o wiele mniej efektywna.
.PP
.B eview
@@ -31,8 +31,8 @@
tekst.
.br
Mapowania s� ustawione tak by Kopiowanie i Wklejanie dzia�a�o
-z klawiszami MS-Windows. CTRL-X wycina tekst, CTRL-C kopiuje
-a CTRL-V wkleja. U�yj CTRL-Q by uzyska� oryginalne znaczenie
+z klawiszami MS-Windows. CTRL-X wycina, CTRL-C kopiuje a CTRL-V
+wkleja tekst. U�yj CTRL-Q by uzyska� oryginalne przeznaczenie
CTRL-V.
.SH OPCJE
Zobacz vim(1).
@@ -42,7 +42,7 @@
Skrypt uruchamiania dla eVima.
.SH ZNANY JAKO
Znany jako "Vim dla frajer�w".
-Je�li u�ywasz evima oczekuje si�, �e wyjmiesz chusteczk� do nosa,
+Je�li u�ywasz eVima oczekuje si�, �e wyjmiesz chusteczk� do nosa,
zrobisz w�z� w ka�dym rogu i b�dziesz to nosi� na g�owie.
.SH ZOBACZ TAK�E
vim(1)
diff -Nur runtime.patched/doc/evim-pl.UTF-8.1 runtime/doc/evim-pl.UTF-8.1
--- runtime.patched/doc/evim-pl.UTF-8.1 2006-03-26 09:01:17.000000000 -0800
+++ runtime/doc/evim-pl.UTF-8.1 2009-09-18 03:26:13.000000000 -0700
@@ -14,11 +14,11 @@
.B Vima
i ustawia opcje tak by zachowywał się jak edytor bez trybów.
To jest cały czas Vim ale używany jako edytor wskaż-i-kliknij.
-Zachowanie w stlu Notepada dla MS-Windows.
+Zachowanie w stylu Notepada dla MS-Windows.
.B eVim
będzie zawsze uruchomiony w GUI by włączyć menu i pasek narzędzi.
.PP
-Przeznaczony tylko dla ludzi, którzy naprawdę nie potrafią pracować
+Przeznaczony tylko dla ludzi, którzy naprawdę nie mogą pracować
z Vimem w normalny sposób. Edycja będzie o wiele mniej efektywna.
.PP
.B eview
@@ -31,8 +31,8 @@
tekst.
.br
Mapowania są ustawione tak by Kopiowanie i Wklejanie działało
-z klawiszami MS-Windows. CTRL-X wycina tekst, CTRL-C kopiuje
-a CTRL-V wkleja. Użyj CTRL-Q by uzyskać oryginalne znaczenie
+z klawiszami MS-Windows. CTRL-X wycina, CTRL-C kopiuje a CTRL-V
+wkleja tekst. Użyj CTRL-Q by uzyskać oryginalne przeznaczenie
CTRL-V.
.SH OPCJE
Zobacz vim(1).
@@ -42,7 +42,7 @@
Skrypt uruchamiania dla eVima.
.SH ZNANY JAKO
Znany jako "Vim dla frajerów".
-Jeśli używasz evima oczekuje się, że wyjmiesz chusteczkę do nosa,
+Jeśli używasz eVima oczekuje się, że wyjmiesz chusteczkę do nosa,
zrobisz węzęł w każdym rogu i będziesz to nosił na głowie.
.SH ZOBACZ TAKŻE
vim(1)
diff -Nur runtime.patched/doc/ft_ada.txt runtime/doc/ft_ada.txt
--- runtime.patched/doc/ft_ada.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/ft_ada.txt 2008-12-01 12:32:36.000000000 -0800
@@ -82,7 +82,7 @@
- comment handling (|'comments'|, |'commentstring'|)
The plug-in only activates the features of the Ada mode whenever an Ada
-files is opened and add adds Ada related entries to the main and pop-up menu.
+file is opened and adds Ada related entries to the main and pop-up menu.
==============================================================================
3. Omni Completion ~
@@ -142,7 +142,7 @@
4. Compiler Support ~
*ada-compiler*
-The Ada mode supports more then one Ada compiler and will automatically load the
+The Ada mode supports more than one Ada compiler and will automatically load the
compiler set in|g:ada_default_compiler|whenever an Ada source is opened. The
provided compiler plug-ins are split into the actual compiler plug-in and a
collection of support functions and variables. This allows the easy
@@ -154,7 +154,7 @@
*compiler-gnat*
GNAT is the only free (beer and speech) Ada compiler available. There are
-several version available which differentiate in the licence terms used.
+several versions available which differ in the licence terms used.
The GNAT compiler plug-in will perform a compile on pressing <F7> and then
immediately shows the result. You can set the project file to be used by
@@ -163,7 +163,7 @@
> call g:gnat.Set_Project_File ('my_project.gpr')
Setting a project file will also create a Vim session (|views-sessions|) so -
-like with the GPS - opened files, window positions etc. will remembered
+like with the GPS - opened files, window positions etc. will be remembered
separately for all projects.
*gnat_members*
@@ -228,9 +228,9 @@
compile the current unit.
The Dec Ada compiler expects the package name and not the file name to be
-passed a parameter. The compiler plug-in supports the usual file name
-convention to convert the file into a unit name. For separates both '-' and
-'__' are allowed.
+passed as a parameter. The compiler plug-in supports the usual file name
+convention to convert the file into a unit name. Both '-' and '__' are allowed
+as separators.
*decada_members*
DEC ADA OBJECT ~
@@ -262,7 +262,7 @@
*g:ada_standard_types*
g:ada_standard_types bool (true when exists)
- Highlight types in package Standard (e.g., "Float")
+ Highlight types in package Standard (e.g., "Float").
*g:ada_space_errors*
*g:ada_no_trail_space_error*
@@ -279,13 +279,13 @@
*g:ada_line_errors*
g:ada_line_errors bool (true when exists)
- Highlight lines which are to long. Note: This highlighting
+ Highlight lines which are too long. Note: This highlighting
option is quite CPU intensive.
*g:ada_rainbow_color*
g:ada_rainbow_color bool (true when exists)
Use rainbow colours for '(' and ')'. You need the
- rainbow_parenthesis for this to work
+ rainbow_parenthesis for this to work.
*g:ada_folding*
g:ada_folding set ('sigpft')
@@ -313,7 +313,7 @@
*g:ada_abbrev*
g:ada_abbrev bool (true when exists)
- Add some abbreviations. This feature more or less superseded
+ Add some abbreviations. This feature is more or less superseded
by the various completion methods.
*g:ada_withuse_ordinary*
@@ -359,12 +359,12 @@
*g:ada_default_compiler*
g:ada_default_compiler string
- set default compiler. Currently supported is 'gnat' and
+ set default compiler. Currently supported are 'gnat' and
'decada'.
-An "exists" type is a boolean is considered true when the variable is defined
-and false when the variable is undefined. The value which the variable is
-set makes no difference.
+An "exists" type is a boolean considered true when the variable is defined and
+false when the variable is undefined. The value to which the variable is set
+makes no difference.
------------------------------------------------------------------------------
5.3 Commands ~
@@ -372,10 +372,10 @@
:AdaRainbow *:AdaRainbow*
Toggles rainbow colour (|g:ada_rainbow_color|) mode for
- '(' and ')'
+ '(' and ')'.
:AdaLines *:AdaLines*
- Toggles line error (|g:ada_line_errors|) display
+ Toggles line error (|g:ada_line_errors|) display.
:AdaSpaces *:AdaSpaces*
Toggles space error (|g:ada_space_errors|) display.
@@ -424,7 +424,7 @@
*g:ada#WordRegex*
g:ada#WordRegex string
- Regular expression to search for Ada words
+ Regular expression to search for Ada words.
*g:ada#DotWordRegex*
g:ada#DotWordRegex string
@@ -432,7 +432,7 @@
*g:ada#Comment*
g:ada#Comment string
- Regular expression to search for Ada comments
+ Regular expression to search for Ada comments.
*g:ada#Keywords*
g:ada#Keywords list of dictionaries
@@ -454,7 +454,7 @@
ada#List_Tag([{line}, {col}]) *ada#Listtags()*
List all occurrences of the Ada entity under the cursor (or at
- given line/column) inside the quick-fix window
+ given line/column) inside the quick-fix window.
ada#Jump_Tag ({ident}, {mode}) *ada#Jump_Tag()*
List all occurrences of the Ada entity under the cursor (or at
@@ -482,8 +482,8 @@
8. Extra Plugins ~
*ada-extra-plugins*
-You can optionally install the following extra plug-in. They work well with Ada
-and enhance the ability of the Ada mode.:
+You can optionally install the following extra plug-ins. They work well with
+Ada and enhance the ability of the Ada mode:
backup.vim
http://www.vim.org/scripts/script.php?script_id=1537
@@ -501,7 +501,7 @@
matchit.vim
http://www.vim.org/scripts/script.php?script_id=39
'%' jumping for any language. The normal '%' jump only works for '{}'
- style languages. The Ada mode will set the needed search patters.
+ style languages. The Ada mode will set the needed search patterns.
taglist.vim
http://www.vim.org/scripts/script.php?script_id=273
diff -Nur runtime.patched/doc/ft_sql.txt runtime/doc/ft_sql.txt
--- runtime.patched/doc/ft_sql.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/ft_sql.txt 2009-10-08 14:17:02.000000000 -0700
@@ -1,4 +1,4 @@
-*ft_sql.txt* For Vim version 7.2. Last change: Wed Apr 26 2006 3:05:33 PM
+*sql.txt* For Vim version 7.0g. Last change: 2009 Oct 08
by David Fishburn
@@ -15,7 +15,8 @@
1.4 Macros |sql-macros|
2. SQL Dialects |sql-dialects|
2.1 SQLSetType |SQLSetType|
- 2.2 SQL Dialect Default |sql-type-default|
+ 2.2 SQLGetType |SQLGetType|
+ 2.3 SQL Dialect Default |sql-type-default|
3. Adding new SQL Dialects |sql-adding-dialects|
4. OMNI SQL Completion |sql-completion|
4.1 Static mode |sql-completion-static|
@@ -204,7 +205,7 @@
*sqlanywhere*
*oracle* *plsql* *sqlj*
*sqlserver*
- *mysql* *postgres* *psql*
+ *mysql* *postgress* *psql*
*informix*
All relational databases support SQL. There is a portion of SQL that is
@@ -231,7 +232,7 @@
2.1 SQLSetType *sqlsettype* *SQLSetType*
--------------
-For the people that work with many different databases, it would be nice to be
+For the people that work with many different databases, it is nice to be
able to flip between the various vendors rules (indent, syntax) on a per
buffer basis, at any time. The ftplugin/sql.vim file defines this function: >
SQLSetType
@@ -259,7 +260,17 @@
:SQL<Tab><space><Tab>
-2.2 SQL Dialect Default *sql-type-default*
+2.2 SQLGetType *sqlgettype* *SQLGetType*
+--------------
+At anytime you can determine which SQL dialect you are using by calling the
+SQLGetType command. The ftplugin/sql.vim file defines this function: >
+ SQLGetType
+
+This will echo: >
+ Current SQL dialect in use:sqlanywhere
+
+
+2.3 SQL Dialect Default *sql-type-default*
-----------------------
As mentioned earlier, the default syntax rules for Vim is based on Oracle
(PL/SQL). You can override this default by placing one of the following in
@@ -331,6 +342,10 @@
imap <buffer> <C-C>T <C-\><C-O>:call sqlcomplete#Map('sqlType')<CR><C-X><C-O>
imap <buffer> <C-C>s <C-\><C-O>:call sqlcomplete#Map('sqlStatement')<CR><C-X><C-O>
+The use of "<C-C>" can be user chosen by using the following in your |.vimrc| as it
+may not work properly on all platforms: >
+ let g:ftplugin_sql_omni_key = '<C-C>'
+>
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>
@@ -406,21 +421,25 @@
To enable the popup, while in INSERT mode, use the following key combinations
for each group (where <C-C> means hold the CTRL key down while pressing
the space bar):
- Table List - <C-C>t
- - <C-X><C-O> (the default map assumes tables)
- Stored Procedure List - <C-C>p
- View List - <C-C>v
- Column List - <C-C>c
-
- Windows platform only - When viewing a popup window displaying the list
- of tables, you can press <C-Right>, this will
- replace the table currently highlighted with
- the column list for that table.
- - When viewing a popup window displaying the list
- of columns, you can press <C-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 List - <C-C>t
+ - <C-X><C-O> (the default map assumes tables)
+ Stored Procedure List - <C-C>p
+ View List - <C-C>v
+ Column List - <C-C>c
+
+ Drilling In / Out - When viewing a popup window displaying the list
+ of tables, you can press <Right>, this will
+ replace the table currently highlighted with
+ the column list for that table.
+ - When viewing a popup window displaying the list
+ 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.
+ - <Right> and <Left> can be also be chosen via
+ your |.vimrc| >
+ let g:ftplugin_sql_omni_key_right = '<Right>'
+ let g:ftplugin_sql_omni_key_left = '<Left>'
The SQL completion plugin caches various lists that are displayed in
the popup window. This makes the re-displaying of these lists very
@@ -498,30 +517,24 @@
The SQL completion plugin can also display a list of columns for particular
tables. The column completion is trigger via <C-C>c.
-NOTE: The following example uses <C-Right> to trigger a column list while
-the popup window is active. This map is only available on the Windows
-platforms since *nix does not recognize CTRL and the right arrow held down
-together. If you wish to enable this functionality on a *nix platform choose
-a key and create one of these mappings (see |sql-completion-maps| for further
-details on where to create this imap): >
- imap <buffer> <your_keystroke> <C-R>=sqlcomplete#DrillIntoTable()<CR>
- imap <buffer> <your_keystroke> <C-Y><C-\><C-O>:call sqlcomplete#Map('column')<CR><C-X><C-O>
+NOTE: The following example uses <Right> to trigger a column list while
+ the popup window is active.
Example of using column completion:
- Press <C-C>t again to display the list of tables.
- - When the list is displayed in the completion window, press <C-Right>,
+ - When the list is displayed in the completion window, press <Right>,
this will replace the list of tables, with a list of columns for the
table highlighted (after the same short delay).
- - If you press <C-Left>, this will again replace the column list with the
+ - If you press <Left>, this will again replace the column list with the
list of tables. This allows you to drill into tables and column lists
very quickly.
- - Press <C-Right> again while the same table is highlighted. You will
+ - Press <Right> again while the same table is highlighted. You will
notice there is no delay since the column list has been cached. If you
change the schema of a cached table you can press <C-C>R, which
clears the SQL completion cache.
- - NOTE: <C-Right> and <C-Left> have been designed to work while the
+ - NOTE: <Right> and <Left> have been designed to work while the
completion window is active. If the completion popup window is
- not active, a normal <C-Right> or <C-Left> will be executed.
+ not active, a normal <Right> or <Left> will be executed.
Lets look how we can build a SQL statement dynamically. A select statement
requires a list of columns. There are two ways to build a column list using
@@ -529,7 +542,7 @@
One column at a time:
< 1. After typing SELECT press <C-C>t to display a list of tables.
2. Choose a table from the list.
- 3. Press <C-Right> to display a list of columns.
+ 3. Press <Right> to display a list of columns.
4. Choose the column from the list and press enter.
5. Enter a "," and press <C-C>c. Generating a column list
generally requires having the cursor on a table name. The plugin
@@ -632,7 +645,7 @@
- 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 replaced. >
+ the owner name will be be replaced. >
omni_sql_precache_syntax_groups
< - Default:
@@ -684,15 +697,15 @@
<C-C>L
< - Displays a comma separated list of columns for a specific table.
This should only be used when the completion window is active. >
- <C-Right>
+ <Right>
< - Displays a list of columns for the table currently highlighted in
- the completion window. <C-Right> is not recognized on most Unix
+ the completion window. <Right> is not recognized on most Unix
systems, so this maps is only created on the Windows platform.
If you would like the same feature on Unix, choose a different key
and make the same map in your vimrc. >
- <C-Left>
+ <Left>
< - Displays the list of tables.
- <C-Left> is not recognized on most Unix systems, so this maps is
+ <Left> is not recognized on most Unix systems, so this maps is
only created on the Windows platform. If you would like the same
feature on Unix, choose a different key and make the same map in
your vimrc. >
diff -Nur runtime.patched/doc/gui.txt runtime/doc/gui.txt
--- runtime.patched/doc/gui.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/gui.txt 2009-01-28 08:23:39.000000000 -0800
@@ -1,4 +1,4 @@
-*gui.txt* For Vim version 7.2. Last change: 2008 Jun 14
+*gui.txt* For Vim version 7.2. Last change: 2009 Jan 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -35,13 +35,13 @@
The X11 version of Vim can run both in GUI and in non-GUI mode. See
|gui-x11-start|.
- *gui-init* *gvimrc* *.gvimrc* *_gvimrc*
+ *gui-init* *gvimrc* *.gvimrc* *_gvimrc* *$MYGVIMRC*
The gvimrc file is where GUI-specific startup commands should be placed. It
is always sourced after the |vimrc| file. If you have one then the $MYGVIMRC
environment variable has its name.
When the GUI starts up initializations are carried out, in this order:
-- The 'term' option is set to "builgin_gui" and terminal options are reset to
+- The 'term' option is set to "builtin_gui" and terminal options are reset to
their default value for the GUI |terminal-options|.
- If the system menu file exists, it is sourced. The name of this file is
normally "$VIMRUNTIME/menu.vim". You can check this with ":version". Also
@@ -473,9 +473,11 @@
:let did_install_default_menus = 1
If you also want to avoid the Syntax menu: >
:let did_install_syntax_menu = 1
-If you do want the Syntax menu but not all the entries for each available
-syntax file (which take quite a bit of time to load): >
- :let skip_syntax_sel_menu = 1
+The first item in the Syntax menu can be used to show all available filetypes
+in the menu (which can take a bit of time to load). If you want to have all
+filetypes already present at startup, add: >
+ :let do_syntax_sel_menu = 1
+
<
*console-menus*
Although this documentation is in the GUI section, you can actually use menus
diff -Nur runtime.patched/doc/gui_x11.txt runtime/doc/gui_x11.txt
--- runtime.patched/doc/gui_x11.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/gui_x11.txt 2009-10-28 13:58:52.000000000 -0700
@@ -1,4 +1,4 @@
-*gui_x11.txt* For Vim version 7.2. Last change: 2007 Dec 09
+*gui_x11.txt* For Vim version 7.2. Last change: 2009 Oct 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -540,13 +540,16 @@
register. Vim does not access the SECONDARY selection.
Examples: (assuming the default option values)
-- Select an URL in Visual mode in Vim. Go to a text field in Netscape and
- click the middle mouse button. The selected text will be inserted
- (hopefully!).
-- Select some text in Netscape by dragging with the mouse. Go to Vim and
+- Select an URL in Visual mode in Vim. Go to your browser and click the
+ middle mouse button in the URL text field. The selected text will be
+ inserted (hopefully!). Note: in Firefox you can set the
+ middlemouse.contentLoadURL preference to true in about:config, then the
+ selected URL will be used when pressing middle mouse button in most places
+ in the window.
+- Select some text in your browser by dragging with the mouse. Go to Vim and
press the middle mouse button: The selected text is inserted.
-- Select some text in Vim and do "+y. Go to Netscape, select some text in a
- textfield by dragging with the mouse. Now use the right mouse button and
+- Select some text in Vim and do "+y. Go to your browser, select some text in
+ a textfield by dragging with the mouse. Now use the right mouse button and
select "Paste" from the popup menu. The selected text is overwritten by the
text from Vim.
Note that the text in the "+ register remains available when making a Visual
diff -Nur runtime.patched/doc/hangulin.txt runtime/doc/hangulin.txt
--- runtime.patched/doc/hangulin.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/hangulin.txt 2009-07-02 11:04:40.000000000 -0700
@@ -1,8 +1,12 @@
-*hangulin.txt* For Vim version 7.2. Last change: 2006 Apr 02
+*hangulin.txt* For Vim version 7.2. Last change: 2009 Jun 24
VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam
+NOTE: The |+hangul_input| feature is scheduled to be removed. If you want to
+keep it, please send a message to the Vim user maillist.
+
+
Introduction *hangul*
------------
It is to input hangul, the Korean language, with VIM GUI version.
@@ -96,6 +100,6 @@
Send comments, patches and suggestions to:
Chi-Deok Hwang <[email protected]>
- Nam SungHyun <[email protected]>
+ SungHyun Nam <[email protected]>
vim:tw=78:ts=8:ft=help:norl:
diff -Nur runtime.patched/doc/help.txt runtime/doc/help.txt
--- runtime.patched/doc/help.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/help.txt 2008-08-24 18:57:42.000000000 -0700
@@ -144,6 +144,7 @@
|hebrew.txt| Hebrew language support and editing
|russian.txt| Russian language support and editing
|ft_ada.txt| Ada (the programming language) support
+|ft_sql.txt| about the SQL filetype plugin
|hangulin.txt| Hangul (Korean) input mode
|rileft.txt| right-to-left editing mode
diff -Nur runtime.patched/doc/if_ole.txt runtime/doc/if_ole.txt
--- runtime.patched/doc/if_ole.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/if_ole.txt 2008-08-24 18:57:54.000000000 -0700
@@ -1,4 +1,4 @@
-*if_ole.txt* For Vim version 7.2. Last change: 2007 May 10
+*if_ole.txt* For Vim version 7.2. Last change: 2008 Aug 16
VIM REFERENCE MANUAL by Paul Moore
@@ -115,7 +115,7 @@
3. The "normal" command *ole-normal*
Due to the way Vim processes OLE Automation commands, combined with the method
-of implementation of the ex command :normal, it is not possible to execute the
+of implementation of the Ex command :normal, it is not possible to execute the
:normal command via OLE automation. Any attempt to do so will fail, probably
harmlessly, although possibly in unpredictable ways.
diff -Nur runtime.patched/doc/if_pyth.txt runtime/doc/if_pyth.txt
--- runtime.patched/doc/if_pyth.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/if_pyth.txt 2008-08-24 18:57:42.000000000 -0700
@@ -1,4 +1,4 @@
-*if_pyth.txt* For Vim version 7.2. Last change: 2006 Apr 30
+*if_pyth.txt* For Vim version 7.2. Last change: 2008 Aug 16
VIM REFERENCE MANUAL by Paul Moore
@@ -93,7 +93,7 @@
Overview >
:py print "Hello" # displays a message
- :py vim.command(cmd) # execute an ex command
+ :py vim.command(cmd) # execute an Ex command
:py w = vim.windows[n] # gets window "n"
:py cw = vim.current.window # gets the current window
:py b = vim.buffers[n] # gets buffer "n"
diff -Nur runtime.patched/doc/if_ruby.txt runtime/doc/if_ruby.txt
--- runtime.patched/doc/if_ruby.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/if_ruby.txt 2008-08-24 18:57:54.000000000 -0700
@@ -1,4 +1,4 @@
-*if_ruby.txt* For Vim version 7.2. Last change: 2006 Apr 30
+*if_ruby.txt* For Vim version 7.2. Last change: 2008 Aug 16
VIM REFERENCE MANUAL by Shugo Maeda
@@ -79,7 +79,7 @@
Overview >
print "Hello" # displays a message
- VIM.command(cmd) # execute an ex command
+ VIM.command(cmd) # execute an Ex command
num = VIM::Window.count # gets the number of windows
w = VIM::Window[n] # gets window "n"
cw = VIM::Window.current # gets the current window
diff -Nur runtime.patched/doc/if_tcl.txt runtime/doc/if_tcl.txt
--- runtime.patched/doc/if_tcl.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/if_tcl.txt 2008-08-24 18:57:42.000000000 -0700
@@ -1,4 +1,4 @@
-*if_tcl.txt* For Vim version 7.2. Last change: 2008 Jun 26
+*if_tcl.txt* For Vim version 7.2. Last change: 2008 Aug 16
VIM REFERENCE MANUAL by Ingo Wilken
@@ -83,7 +83,7 @@
::vim::beep # Guess.
::vim::buffer {n} # Create Tcl command for one buffer.
::vim::buffer list # Create Tcl commands for all buffers.
- ::vim::command [-quiet] {cmd} # Execute an ex command.
+ ::vim::command [-quiet] {cmd} # Execute an Ex command.
::vim::expr {expr} # Use Vim's expression evaluator.
::vim::option {opt} # Get vim option.
::vim::option {opt} {val} # Set vim option.
@@ -116,7 +116,7 @@
::vim::command {cmd} *tcl-command*
::vim::command -quiet {cmd}
- Execute the vim (ex-mode) command {cmd}. Any ex command that affects
+ Execute the vim (ex-mode) command {cmd}. Any Ex command that affects
a buffer or window uses the current buffer/current window. Does not
return a result other than a standard Tcl error code. After this
command is completed, the "::vim::current" variable is updated.
@@ -210,7 +210,7 @@
line *tcl-var-line*
lnum *tcl-var-lnum*
- These global variables are only available if the ":tcldo" ex command
+ These global variables are only available if the ":tcldo" Ex command
is being executed. They contain the text and line number of the
current line. When the Tcl command invoked by ":tcldo" is completed,
the current line is set to the contents of the "line" variable, unless
@@ -233,7 +233,7 @@
i.e. "$win" calls the command. The following options are available: >
$win buffer # Create Tcl command for window's buffer.
- $win command {cmd} # Execute ex command in windows context.
+ $win command {cmd} # Execute Ex command in windows context.
$win cursor # Get current cursor position.
$win cursor {var} # Set cursor position from array variable.
$win cursor {row} {col} # Set cursor position.
@@ -312,7 +312,7 @@
i.e. "$buf" calls the command. The following options are available: >
$buf append {n} {str} # Append a line to buffer, after line {n}.
- $buf command {cmd} # Execute ex command in buffers context.
+ $buf command {cmd} # Execute Ex command in buffers context.
$buf count # Report number of lines in buffer.
$buf delcmd {cmd} # Call Tcl command when buffer is deleted.
$buf delete {n} # Delete a single line.
@@ -438,7 +438,7 @@
==============================================================================
7. Known bugs & problems *tcl-bugs*
-Calling one of the Tcl ex commands from inside Tcl (via "::vim::command") may
+Calling one of the Tcl Ex commands from inside Tcl (via "::vim::command") may
have unexpected side effects. The command creates a new interpreter, which
has the same abilities as the standard interpreter - making "::vim::command"
available in a safe child interpreter therefore makes the child unsafe. (It
@@ -487,11 +487,11 @@
incr i ; incr n
}
-The same can also be done quickly with two ex commands, using ":tcldo":
+The same can also be done quickly with two Ex commands, using ":tcldo":
:tcl set n 1
:[range]tcldo set line "$n\t$line" ; incr n
-This procedure runs an ex command on each buffer (idea stolen from Ron Aaron):
+This procedure runs an Ex command on each buffer (idea stolen from Ron Aaron):
proc eachbuf { cmd } {
foreach b [::vim::buffer list] {
$b command $cmd
@@ -500,7 +500,7 @@
Use it like this:
:tcl eachbuf %s/foo/bar/g
Be careful with Tcl's string and backslash substitution, tough. If in doubt,
-surround the ex command with curly braces.
+surround the Ex command with curly braces.
If you want to add some Tcl procedures permanently to vim, just place them in
diff -Nur runtime.patched/doc/index.txt runtime/doc/index.txt
--- runtime.patched/doc/index.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/index.txt 2009-07-02 11:04:41.000000000 -0700
@@ -1,4 +1,4 @@
-*index.txt* For Vim version 7.2. Last change: 2008 May 04
+*index.txt* For Vim version 7.2. Last change: 2009 Jul 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -522,7 +522,7 @@
|CTRL-W_+| CTRL-W + increase current window height N lines
|CTRL-W_-| CTRL-W - decrease current window height N lines
|CTRL-W_<| CTRL-W < decrease current window width N columns
-|CTRL-W_=| CTRL-W = make all windows the same height
+|CTRL-W_=| CTRL-W = make all windows the same height & width
|CTRL-W_>| CTRL-W > increase current window width N columns
|CTRL-W_H| CTRL-W H move current window to the far left
|CTRL-W_J| CTRL-W J move current window to the very bottom
@@ -572,7 +572,7 @@
window N lines high
|CTRL-W_t| CTRL-W t go to top window
|CTRL-W_v| CTRL-W v split current window vertically, new window
- N lines wide
+ N columns wide
|CTRL-W_w| CTRL-W w go to N next window (wrap around)
|CTRL-W_x| CTRL-W x exchange current window with window N
(default: next window)
@@ -1339,6 +1339,7 @@
|:number| :nu[mber] print lines with line number
|:nunmap| :nun[map] like ":unmap" but for Normal mode
|:nunmenu| :nunme[nu] remove menu for Normal mode
+|:oldfiles| :ol[dfiles] list files that have marks in the viminfo file
|:open| :o[pen] start open mode (not implemented)
|:omap| :om[ap] like ":map" but for Operator-pending mode
|:omapclear| :omapc[lear] remove all mappings for Operator-pending mode
@@ -1436,7 +1437,7 @@
|:shell| :sh[ell] escape to a shell
|:simalt| :sim[alt] Win32 GUI: simulate Windows ALT key
|:sign| :sig[n] manipulate signs
-|:silent| :sil[ent] Run a command silently
+|:silent| :sil[ent] run a command silently
|:sleep| :sl[eep] do nothing for a few seconds
|:slast| :sla[st] split window and go to last file in the
argument list
@@ -1525,6 +1526,7 @@
|:unlockvar| :unlo[ckvar] unlock variables
|:unmap| :unm[ap] remove mapping
|:unmenu| :unme[nu] remove menu
+|:unsilent| :uns[ilent] run a command not silently
|:update| :up[date] write buffer if modified
|:vglobal| :v[global] execute commands for not matching lines
|:version| :ve[rsion] print version number and other info
diff -Nur runtime.patched/doc/insert.txt runtime/doc/insert.txt
--- runtime.patched/doc/insert.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/insert.txt 2009-07-26 04:45:18.000000000 -0700
@@ -1,4 +1,4 @@
-*insert.txt* For Vim version 7.2. Last change: 2008 Jun 21
+*insert.txt* For Vim version 7.2. Last change: 2009 Jul 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -123,6 +123,7 @@
':' the last command-line
'.' the last inserted text
'-' the last small (less than a line) delete
+ *i_CTRL-R_=*
'=' the expression register: you are prompted to
enter an expression (see |expression|)
Note that 0x80 (128 decimal) is used for
@@ -133,6 +134,8 @@
When the result is a |List| the items are used
as lines. They can have line breaks inside
too.
+ When the result is a Float it's automatically
+ converted to a String.
See |registers| about registers. {not in Vi}
CTRL-R CTRL-R {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-R*
@@ -660,7 +663,8 @@
CTRL-X CTRL-L After expanding a line you can additionally get the
line next to it by typing CTRL-X CTRL-L again, unless
- a double CTRL-X is used.
+ a double CTRL-X is used. Only works for loaded
+ buffers.
Completing keywords in current file *compl-current*
@@ -1488,7 +1492,7 @@
and a tutorial see |omni-sql-completion|.
The SQL completion plugin can be used in conjunction with other completion
-plugins. For example, the PHP filetype has it's own completion plugin.
+plugins. For example, the PHP filetype has its own completion plugin.
Since PHP is often used to generate dynamic website by accessing a database,
the SQL completion plugin can also be enabled. This allows you to complete
PHP code and SQL code at the same time.
@@ -1725,14 +1729,9 @@
These two commands will keep on asking for lines, until you type a line
containing only a ".". Watch out for lines starting with a backslash, see
|line-continuation|.
-When these commands are used with |:global| or |:vglobal| then the lines are
-obtained from the text following the command. Separate lines with a NL
-escaped with a backslash: >
- :global/abc/insert\
- one line\
- another line
-The final "." is not needed then.
-NOTE: ":append" and ":insert" don't work properly in between ":if" and
+
+NOTE: These commands cannot be used with |:global| or |:vglobal|.
+":append" and ":insert" don't work properly in between ":if" and
":endif", ":for" and ":endfor", ":while" and ":endwhile".
*:start* *:startinsert*
diff -Nur runtime.patched/doc/intro.txt runtime/doc/intro.txt
--- runtime.patched/doc/intro.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/intro.txt 2009-04-22 14:26:12.000000000 -0700
@@ -1,4 +1,4 @@
-*intro.txt* For Vim version 7.2. Last change: 2008 Jun 24
+*intro.txt* For Vim version 7.2. Last change: 2009 Apr 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -43,6 +43,10 @@
document, there is a separate document for each supported system, see
|sys-file-list|.
+ *pronounce*
+Vim is pronounced as one word, like Jim, not vi-ai-em. It's written with a
+capital, since it's a name, again like Jim.
+
This manual is a reference for all the Vim commands and options. This is not
an introduction to the use of Vi or Vim, it gets a bit complicated here and
there. For beginners, there is a hands-on |tutor|. To learn using Vim, read
diff -Nur runtime.patched/doc/map.txt runtime/doc/map.txt
--- runtime.patched/doc/map.txt 2009-11-20 13:52:21.093434502 -0800
+++ runtime/doc/map.txt 2009-10-28 13:57:15.000000000 -0700
@@ -1,4 +1,4 @@
-*map.txt* For Vim version 7.2. Last change: 2008 Aug 09
+*map.txt* For Vim version 7.2. Last change: 2009 Oct 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -272,9 +272,10 @@
1.3 MAPPING AND MODES *:map-modes*
*mapmode-nvo* *mapmode-n* *mapmode-v* *mapmode-o*
-There are five sets of mappings
+There are six sets of mappings
- For Normal mode: When typing commands.
- For Visual mode: When typing commands while the Visual area is highlighted.
+- For Select mode: like Visual mode but typing text replaces the selection.
- For Operator-pending mode: When an operator is pending (after "d", "y", "c",
etc.). See below: |omap-info|.
- For Insert mode. These are also used in Replace mode.
@@ -299,6 +300,9 @@
Some commands work both in Visual and Select mode, some in only one. Note
that quite often "Visual" is mentioned where both Visual and Select mode
apply. |Select-mode-mapping|
+NOTE: Mapping a printable character in Select mode may confuse the user. It's
+better to explicitly use :xmap and :smap for printable characters. Or use
+:sunmap after defining the mapping.
commands: modes: ~
Visual Select ~
@@ -590,11 +594,14 @@
suggestions:
- Function keys <F2>, <F3>, etc.. Also the shifted function keys <S-F1>,
<S-F2>, etc. Note that <F1> is already used for the help command.
-- Meta-keys (with the ALT key pressed). |:map-alt-keys|
+- Meta-keys (with the ALT key pressed). Depending on your keybord accented
+ characters may be used as well. |:map-alt-keys|
- Use the '_' or ',' character and then any other character. The "_" and ","
commands do exist in Vim (see |_| and |,|), but you probably never use them.
- Use a key that is a synonym for another command. For example: CTRL-P and
CTRL-N. Use an extra character to allow more mappings.
+- The key defined by <Leader> and one or more other keys. This is especially
+ useful in scripts. |mapleader|
See the file "index" for keys that are not used and thus can be mapped without
losing any builtin function. You can also use ":help {key}^D" to find out if
@@ -1082,7 +1089,7 @@
It is possible to define your own Ex commands. A user-defined command can act
just like a built-in command (it can have a range or arguments, arguments can
be completed as filenames or buffer names, etc), except that when the command
-is executed, it is transformed into a normal ex command and then executed.
+is executed, it is transformed into a normal Ex command and then executed.
For starters: See section |40.2| in the user manual.
@@ -1150,7 +1157,7 @@
Command attributes
-User-defined commands are treated by Vim just like any other ex commands. They
+User-defined commands are treated by Vim just like any other Ex commands. They
can have arguments, or have a range specified. Arguments are subject to
completion as filenames, buffers, etc. Exactly how this works depends upon the
command's attributes, which are specified when the command is defined.
@@ -1240,7 +1247,7 @@
CursorPos the cursor position in it (byte index)
The function may use these for determining context. For the "custom"
argument, it is not necessary to filter candidates against the (implicit
-pattern in) ArgLead. Vim will do filter the candidates with its regexp engine
+pattern in) ArgLead. Vim will filter the candidates with its regexp engine
after function return, and this is probably more efficient in most cases. For
the "customlist" argument, Vim will not filter the returned completion
candidates and the user supplied function should filter the candidates.
@@ -1405,7 +1412,7 @@
This will invoke: >
:call Allargs("%s/foo/bar/ge|update")
<
-When defining an user command in a script, it will be able to call functions
+When defining a user command in a script, it will be able to call functions
local to the script and use mappings local to the script. When the user
invokes the user command, it will run in the context of the script it was
defined in. This matters if |<SID>| is used in a command.
diff -Nur runtime.patched/doc/mbyte.txt runtime/doc/mbyte.txt
--- runtime.patched/doc/mbyte.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/mbyte.txt 2009-03-22 12:39:56.000000000 -0700
@@ -1,4 +1,4 @@
-*mbyte.txt* For Vim version 7.2. Last change: 2008 Jun 21
+*mbyte.txt* For Vim version 7.2. Last change: 2009 Feb 28
VIM REFERENCE MANUAL by Bram Moolenaar et al.
@@ -555,7 +555,7 @@
font is a long string. For multi-byte fonts we need several of these...
Note: Most of this is no longer relevant for GTK+ 2. Selecting a font via
-its XLFD is not supported anymore; see 'guifont' for an example of how to
+its XLFD is not supported; see 'guifont' for an example of how to
set the font. Do yourself a favor and ignore the |XLFD| and |xfontset|
sections below.
@@ -1030,7 +1030,7 @@
Ex command first, which is ASCII.
For typing search patterns the 'imsearch' option is used. It can be set to
use the same value as for 'iminsert'.
-
+ *lCursor*
It is possible to give the GUI cursor another color when the language mappings
are being used. This is disabled by default, to avoid that the cursor becomes
invisible when you use a non-standard background color. Here is an example to
@@ -1246,9 +1246,10 @@
Unicode (with a few rarely used languages excluded). And it's mostly possible
to mix these languages in one file, which is impossible with other encodings.
-Unicode can be encoded in several ways. The two most popular ones are UCS-2,
-which uses 16-bit words and UTF-8, which uses one or more bytes for each
-character. Vim can support all of these encodings, but always uses UTF-8
+Unicode can be encoded in several ways. The most popular one is UTF-8, which
+uses one or more bytes for each character and is backwards compatible with
+ASCII. On MS-Windows UTF-16 is also used (previously UCS-2), which uses
+16-bit words. Vim can support all of these encodings, but always uses UTF-8
internally.
Vim has comprehensive UTF-8 support. It appears to work in:
@@ -1402,7 +1403,7 @@
Contributions specifically for the multi-byte features by:
Chi-Deok Hwang <[email protected]>
- Nam SungHyun <[email protected]>
+ SungHyun Nam <[email protected]>
K.Nagano <[email protected]>
Taro Muraoka <[email protected]>
Yasuhiro Matsumoto <[email protected]>
diff -Nur runtime.patched/doc/message.txt runtime/doc/message.txt
--- runtime.patched/doc/message.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/message.txt 2009-10-28 13:57:15.000000000 -0700
@@ -1,4 +1,4 @@
-*message.txt* For Vim version 7.2. Last change: 2007 Aug 19
+*message.txt* For Vim version 7.2. Last change: 2009 Oct 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -135,8 +135,8 @@
run, but some of the colors will not appear in the specified color. Try
stopping other applications that use many colors, or start them after starting
gvim.
-Netscape is known to consume a lot of colors. You can avoid this by telling
-it to use its own colormap: >
+Browsers are known to consume a lot of colors. You can avoid this with
+netscape by telling it to use its own colormap: >
netscape -install
Or tell it to limit to a certain number of colors (64 should work well): >
netscape -ncols 64
@@ -567,7 +567,7 @@
Unable to open swap file for "{filename}", recovery impossible
Vim was not able to create a swap file. You can still edit the file, but if
-Vim unexpected exits the changes will be lost. And Vim may consume a lot of
+Vim unexpectedly exits the changes will be lost. And Vim may consume a lot of
memory when editing a big file. You may want to change the 'directory' option
to avoid this error. See |swap-file|.
@@ -758,9 +758,9 @@
-> Press 'k', <Up>, 'u', 'b' or 'g' to scroll back in the messages. This
works the same way as at the |more-prompt|. Only works when 'compatible'
is off and 'more' is on.
--> Pressing 'j', 'd' or <Down> is ignored when messages scrolled off the top
- of the screen, 'compatible' is off and 'more' is on, to avoid that typing
- one 'j' too many causes the messages to disappear.
+-> Pressing 'j', 'f', 'd' or <Down> is ignored when messages scrolled off the
+ top of the screen, 'compatible' is off and 'more' is on, to avoid that
+ typing one 'j' or 'f' too many causes the messages to disappear.
-> Press <C-Y> to copy (yank) a modeless selection to the clipboard register.
-> Use a menu. The characters defined for Cmdline-mode are used.
-> When 'mouse' contains the 'r' flag, clicking the left mouse button works
@@ -795,7 +795,7 @@
Type effect ~
<CR> or <NL> or j or <Down> one more line
d down a page (half a screen)
- <Space> or <PageDown> down a screen
+ <Space> or f or <PageDown> down a screen
G down all the way, until the hit-enter
prompt
diff -Nur runtime.patched/doc/motion.txt runtime/doc/motion.txt
--- runtime.patched/doc/motion.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/motion.txt 2009-09-18 03:29:11.000000000 -0700
@@ -1,4 +1,4 @@
-*motion.txt* For Vim version 7.2. Last change: 2008 Aug 03
+*motion.txt* For Vim version 7.2. Last change: 2009 Sep 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -151,6 +151,11 @@
==============================================================================
2. Left-right motions *left-right-motions*
+These commands move the cursor to the specified column in the current line.
+They stop at the first column and at the end of the line, except "$", which
+may move to one of the next lines. See 'whichwrap' option to make some of the
+commands move across line boundaries.
+
h or *h*
<Left> or *<Left>*
CTRL-H or *CTRL-H* *<BS>*
@@ -234,7 +239,7 @@
*bar*
| To screen column [count] in the current line.
- |exclusive| motion.
+ |exclusive| motion. Ceci n'est pas une pipe.
*f*
f{char} To [count]'th occurrence of {char} to the right. The
@@ -270,11 +275,6 @@
, Repeat latest f, t, F or T in opposite direction
[count] times.
-These commands move the cursor to the specified column in the current line.
-They stop at the first column and at the end of the line, except "$", which
-may move to one of the next lines. See 'whichwrap' option to make some of the
-commands move across line boundaries.
-
==============================================================================
3. Up-down motions *up-down-motions*
@@ -325,9 +325,9 @@
non-blank character |linewise|. If 'startofline' not
set, keep the same column.
-:[range] Set the cursor on the specified line number. If
- there are several numbers, the last one is used.
-
+:[range] Set the cursor on the last line number in [range].
+ [range] can also be just one line number, e.g., ":1"
+ or ":'m".
*N%*
{count}% Go to {count} percentage in the file, on the first
non-blank in the line |linewise|. To compute the new
@@ -637,7 +637,8 @@
When the cursor starts on a quote, Vim will figure out
which quote pairs form a string by searching from the
start of the line.
- Any trailing or leading white space is included.
+ Any trailing white space is included, unless there is
+ none, then leading white space is included.
When used in Visual mode it is made characterwise.
Repeating this object in Visual mode another string is
included. A count is currently not used.
diff -Nur runtime.patched/doc/options.txt runtime/doc/options.txt
--- runtime.patched/doc/options.txt 2009-11-20 13:52:20.810054487 -0800
+++ runtime/doc/options.txt 2009-10-28 13:58:52.000000000 -0700
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 7.2. Last change: 2008 Nov 25
+*options.txt* For Vim version 7.2. Last change: 2009 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -743,8 +743,8 @@
within a word (initial, medial, final and stand-alone).
b) the enabling of the ability to compose characters
c) the enabling of the required combining of some characters
- When disabled the character display reverts back to each character's
- true stand-alone form.
+ When disabled the display shows each character's true stand-alone
+ form.
Arabic is a complex language which requires other settings, for
further details see |arabic.txt|.
@@ -959,7 +959,8 @@
{not in Vi}
List of directories for the backup file, separated with commas.
- The backup file will be created in the first directory in the list
- where this is possible.
+ where this is possible. The directory must exist, Vim will not
+ create it for you.
- Empty means that no backup file will be created ('patchmode' is
impossible!). Writing may fail because of this.
- A directory "." means to put the backup file in the same directory
@@ -1143,7 +1144,7 @@
Some applications use the BOM to recognize the encoding of the file.
Often used for UCS-2 files on MS-Windows. For other applications it
causes trouble, for example: "cat file1 file2" makes the BOM of file2
- appear halfway the resulting file.
+ appear halfway the resulting file. Gcc doesn't accept a BOM.
When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
check for the presence of the BOM is done and 'bomb' set accordingly.
Unless 'binary' is set, it is removed from the first line, so that you
@@ -2386,6 +2387,10 @@
This is specified with 'fileencoding'. The conversion is done with
iconv() or as specified with 'charconvert'.
+ If you need to know whether 'encoding' is a multi-byte encoding, you
+ can use: >
+ if has("multi_byte_encoding")
+<
Normally 'encoding' will be equal to your current locale. This will
be the default if Vim recognizes your environment settings. If
'encoding' is not set to the current locale, 'termencoding' must be
@@ -2453,7 +2458,8 @@
{not in Vi}
External program to use for "=" command. When this option is empty
the internal formatting functions are used; either 'lisp', 'cindent'
- or 'indentexpr'.
+ or 'indentexpr'. When Vim was compiled without internal formatting,
+ the "indent" program is used.
Environment variables are expanded |:set_env|. See |option-backslash|
about including spaces and backslashes.
This option cannot be set from a |modeline| or in the |sandbox|, for
@@ -2550,13 +2556,17 @@
{not in Vi}
Sets the character encoding for the file of this buffer.
When 'fileencoding' is different from 'encoding', conversion will be
- done when reading and writing the file.
+ done when writing the file. For reading see below.
When 'fileencoding' is empty, the same value as 'encoding' will be
used (no conversion when reading or writing a file).
+ Conversion will also be done when 'encoding' and 'fileencoding' are
+ both a Unicode encoding and 'fileencoding' is not utf-8. That's
+ because internally Unicode is always stored as utf-8.
WARNING: Conversion can cause loss of information! When
- 'encoding' is "utf-8" conversion is most likely done in a way
- that the reverse conversion results in the same text. When
- 'encoding' is not "utf-8" some characters may be lost!
+ 'encoding' is "utf-8" or another Unicode encoding, conversion
+ is most likely done in a way that the reverse conversion
+ results in the same text. When 'encoding' is not "utf-8" some
+ characters may be lost!
See 'encoding' for the possible values. Additionally, values may be
specified that can be handled by the converter, see
|mbyte-conversion|.
@@ -2843,6 +2853,8 @@
The expression may be evaluated in the |sandbox|, see
|sandbox-option|.
+ This option can't be set from a |modeline| when the 'diff' option is
+ on.
It is not allowed to change text or jump to another window while
evaluating 'foldexpr' |textlock|.
@@ -3244,8 +3256,13 @@
For the GTK+ 2 GUI the font name looks like this: >
:set guifont=Andale\ Mono\ 11
-< That's all. XLFDs are no longer accepted.
-
+< That's all. XLFDs are not used. For Chinese this is reported to work
+ well: >
+ if has("gui_gtk2")
+ set guifont=Bitstream\ Vera\ Sans\ Mono\ 12,Fixed\ 12
+ set guifontwide=Microsoft\ Yahei\ 12,WenQuanYi\ Zen\ Hei\ 12
+ endif
+<
For Mac OSX you can use something like this: >
:set guifont=Monaco:h10
< Also see 'macatsui', it can help fix display problems.
@@ -3491,7 +3508,9 @@
When nonempty describes the text to use in a tooltip for the GUI tab
pages line. When empty Vim will use a default tooltip.
This option is otherwise just like 'guitablabel' above.
-
+ You can include a line break. Simplest method is to use |:let|: >
+ :let &guitabtooltip = "line one\nline two"
+<
*'helpfile'* *'hf'*
'helpfile' 'hf' string (default (MSDOS) "$VIMRUNTIME\doc\help.txt"
@@ -3776,7 +3795,7 @@
English characters directly, e.g., when it's used to type accented
characters with dead keys.
- *'imdisable'* *'imd'* *'nodisable'* *'noimd'*
+ *'imdisable'* *'imd'* *'noimdisable'* *'noimd'*
'imdisable' 'imd' boolean (default off, on for some systems (SGI))
global
{not in Vi}
@@ -4092,8 +4111,8 @@
displayed as <xx>, with the hexadecimal value of the byte.
When 'display' contains "uhex" all unprintable characters are
displayed as <xx>.
- The NonText highlighting will be used for unprintable characters.
- |hl-NonText|
+ The SpecialKey highlighting will be used for unprintable characters.
+ |hl-SpecialKey|
Multi-byte characters 256 and above are always included, only the
characters up to 255 are specified with this option. When a character
@@ -4330,10 +4349,17 @@
*'list'* *'nolist'*
'list' boolean (default off)
local to window
- List mode: Show tabs as CTRL-I, show end of line with $. Useful to
- see the difference between tabs and spaces and for trailing blanks.
- Note that this will also affect formatting (set with 'textwidth' or
- 'wrapmargin') when 'cpoptions' includes 'L'. See 'listchars' for
+ List mode: Show tabs as CTRL-I is displayed, display $ after end of
+ line. Useful to see the difference between tabs and spaces and for
+ trailing blanks. Further changed by the 'listchars' option.
+
+ The cursor is displayed at the start of the space a Tab character
+ occupies, not at the end as usual in Normal mode. To get this cursor
+ position while displaying Tabs with spaces, use: >
+ :set list lcs=tab\ \
+<
+ Note that list mode will also affect formatting (set with 'textwidth'
+ or 'wrapmargin') when 'cpoptions' includes 'L'. See 'listchars' for
changing the way tabs are displayed.
*'listchars'* *'lcs'*
@@ -4516,15 +4542,15 @@
{not in Vi}
Maximum amount of memory (in Kbyte) to use for one buffer. When this
limit is reached allocating extra memory for a buffer will cause
- other memory to be freed. Maximum value 2000000. Use this to work
- without a limit. Also see 'maxmemtot'.
+ other memory to be freed. The maximum usable value is about 2000000.
+ Use this to work without a limit. Also see 'maxmemtot'.
*'maxmempattern'* *'mmp'*
'maxmempattern' 'mmp' number (default 1000)
global
{not in Vi}
Maximum amount of memory (in Kbyte) to use for pattern matching.
- Maximum value 2000000. Use this to work without a limit.
+ The maximum value is about 2000000. Use this to work without a limit.
*E363*
When Vim runs into the limit it gives an error message and mostly
behaves like CTRL-C was typed.
@@ -4539,9 +4565,11 @@
available)
global
{not in Vi}
- Maximum amount of memory (in Kbyte) to use for all buffers together.
- Maximum value 2000000. Use this to work without a limit. Also see
- 'maxmem'.
+ Maximum amount of memory in Kbyte to use for all buffers together.
+ The maximum usable value is about 2000000 (2 Gbyte). Use this to work
+ without a limit. On 64 bit machines higher values might work. But
+ hey, do you really need more than 2 Gbyte for text editing?
+ Also see 'maxmem'.
*'menuitems'* *'mis'*
'menuitems' 'mis' number (default 25)
@@ -5607,8 +5635,8 @@
winsize window sizes
Don't include both "curdir" and "sesdir".
- When "curdir" nor "sesdir" is included, file names are stored with
- absolute paths.
+ When neither "curdir" nor "sesdir" is included, file names are stored
+ with absolute paths.
"slash" and "unix" are useful on Windows when sharing session files
with Unix. The Unix version of Vim cannot source dos format scripts,
but the Windows version of Vim can source unix format scripts.
@@ -5906,7 +5934,8 @@
In Visual mode the size of the selected area is shown:
- When selecting characters within a line, the number of characters.
- When selecting more than one line, the number of lines.
- - When selecting a block, the size in screen characters: linesxcolumns.
+ - When selecting a block, the size in screen characters:
+ {lines}x{columns}.
NOTE: This option is set to the Vi default value when 'compatible' is
set and to the Vim default value when 'compatible' is reset.
@@ -6641,8 +6670,9 @@
of '2' in the "!_TAG_FILE_SORTED" line for this. A tag file can be
case-fold sorted with the -f switch to "sort" in most unices, as in
the command: "sort -f -o tags tags". For "Exuberant ctags" version
- 5.3 or higher the -f or --fold-case-sort switch can be used for this
- as well. Note that case must be folded to uppercase for this to work.
+ 5.x or higher (at least 5.5) the --sort=foldcase switch can be used
+ for this as well. Note that case must be folded to uppercase for this
+ to work.
When 'tagbsearch' is off, tags searching is slower when a full match
exists, but faster when no full match exists. Tags in unsorted tags
@@ -7252,9 +7282,9 @@
*'viminfo'* *'vi'* *E526* *E527* *E528*
'viminfo' 'vi' string (Vi default: "", Vim default for MS-DOS,
- Windows and OS/2: '20,<50,s10,h,rA:,rB:,
- for Amiga: '20,<50,s10,h,rdf0:,rdf1:,rdf2:
- for others: '20,<50,s10,h)
+ Windows and OS/2: '100,<50,s10,h,rA:,rB:,
+ for Amiga: '100,<50,s10,h,rdf0:,rdf1:,rdf2:
+ for others: '100,<50,s10,h)
global
{not in Vi}
{not available when compiled without the |+viminfo|
@@ -7727,6 +7757,8 @@
:set sidescroll=5
:set listchars+=precedes:<,extends:>
< See 'sidescroll', 'listchars' and |wrap-off|.
+ This option can't be set from a |modeline| when the 'diff' option is
+ on.
*'wrapmargin'* *'wm'*
'wrapmargin' 'wm' number (default 0)
diff -Nur runtime.patched/doc/os_390.txt runtime/doc/os_390.txt
--- runtime.patched/doc/os_390.txt 2008-08-09 07:22:59.000000000 -0700
+++ runtime/doc/os_390.txt 2009-01-14 12:15:18.000000000 -0800
@@ -1,4 +1,4 @@
-*os_390.txt* For Vim version 7.2. Last change: 2005 Mar 29
+*os_390.txt* For Vim version 7.2. Last change: 2008 Dec 17
VIM REFERENCE MANUAL by Ralf Schandl
@@ -282,7 +282,7 @@
5.6-390c:
I grepped through the source and examined every spot with a character
- involved in a operation (+-). I hope I now found all EBCDIC/ASCII
+ involved in an operation (+-). I hope I now found all EBCDIC/ASCII
stuff, but ....
Fixed:
@@ -311,7 +311,7 @@
- added special compiler and linker options if building with X11
- configure:
- after created via autoconf hand-edited it to make the test for
- ICEConnectionNumber work. This is a autoconf problem. OS/390 UNIX
+ ICEConnectionNumber work. This is an autoconf problem. OS/390 UNIX
needs -lX11 for this.
- Makefile
- Don't include the lib directories ('-L...') into the variable
diff -Nur runtime.patched/doc/os_vms.txt runtime/doc/os_vms.txt
--- runtime.patched/doc/os_vms.txt 2008-08-09 07:23:00.000000000 -0700
+++ runtime/doc/os_vms.txt 2009-10-28 13:57:15.000000000 -0700
@@ -1,4 +1,4 @@
-*os_vms.txt* For Vim version 7.2. Last change: 2006 Nov 18
+*os_vms.txt* For Vim version 7.2. Last change: 2009 Oct 28
VIM REFERENCE MANUAL
@@ -139,9 +139,9 @@
define/nolog VIMRUNTIME device:[path.vim.vim60]
define/nolog TMP device:[path.tmp]
-to get vim.exe to find its document, filetype, and syntax files, and to
+To get vim.exe to find its document, filetype, and syntax files, and to
specify a directory where temporary files will be located. Copy the "runtime"
-subdirectory of the vim distribution to vimruntime.
+subdirectory of the Vim distribution to vimruntime.
Logicals $VIMRUNTIME and $TMP are optional.
@@ -217,7 +217,7 @@
$ define VIM "<server_name>[""user password""]::device:<path>"
$ vi*m :== "mcr VIM:VIM.EXE"
-as for example: >
+As for example: >
$ define VIM "PLUTO::RF10:[UTIL.VIM]"
$ define VIM "PLUTO""ZAY mypass""::RF10:[UTIL.VIM]" ! if passwd required
@@ -234,7 +234,7 @@
$ define/nolog/sys VIM device:<path>
$ define/nolog/sys TMP SYS$SCRATCH
-and to the SYS$STARTUP:SYLOGIN.COM >
+And to the SYS$STARTUP:SYLOGIN.COM >
$ vi*m :== mcr VIM:VIM.EXE
$ gv*im:== spawn/nowait/input=NLA0 mcr VIM:VIM.EXE -g -GEOMETRY 80x40
@@ -312,7 +312,7 @@
8. Useful notes *vms-notes*
-8.1 backspace/delete
+8.1 Backspace/delete
8.2 Filters
8.3 VMS file version numbers
8.4 Directory conversion
@@ -326,8 +326,10 @@
8.12 diff-mode
8.13 Allow '$' in C keywords
8.14 VIMTUTOR for beginners
+8.15 Slow start in console mode issue
+8.16 Common VIM directory - different architectures
-8.1 backspace/delete
+8.1 Backspace/delete
There are backspace/delete key inconsistencies with VMS.
:fixdel doesn't do the trick, but the solution is: >
@@ -394,7 +396,7 @@
vi "<server>""username passwd""::<device>:<path><filename>;<version>"
-example: >
+Example: >
vi "pluto""zay passwd""::RF10:<USER.ZAY.WORK>TEST.C;1"
Note: syntax is very important, otherwise VMS will recognize more parameters
@@ -416,7 +418,7 @@
$ end:
Note: Never use it in a clustered environment (you do not need it), loading
-could be very-very slow, but even faster then a local Emacs. :-)
+could be very-very slow, but even faster than a local Emacs. :-)
(Zoltan Arpadffy, Vim 5.6)
@@ -573,12 +575,12 @@
8.12 diff-mode
-Vim 6.0 and higher supports vim diff-mode (See |new-diff-mode|, |diff-mode|
+Vim 6.0 and higher supports Vim diff-mode (See |new-diff-mode|, |diff-mode|
and |08.7|). This uses the external program 'diff' and expects a Unix-like
output format from diff. The standard VMS diff has a different output
-format. To use vim on VMS in diff-mode, you need to:
+format. To use Vim on VMS in diff-mode, you need to:
1 Install a Unix-like diff program, e.g. GNU diff
- 2 Tell vim to use the Unix-like diff for diff-mode.
+ 2 Tell Vim to use the Unix-like diff for diff-mode.
You can download GNU diff from the VIM-VMS website, it is one of the GNU
tools in http://www.polarhome.com/vim/files/gnu_tools.zip. I suggest to
@@ -592,7 +594,7 @@
GDIFF :== $GNU:DIFF.EXE
-Now you need to tell vim to use the new diff program. Take the example
+Now you need to tell Vim to use the new diff program. Take the example
settings from |diff-diffexpr| and change the call to the external diff
program to the new diff on VMS. Add this to your .vimrc file: >
@@ -613,7 +615,7 @@
endfunction
endif
-You can now use vim in diff-mode, e.g. to compare two files in read-only
+You can now use Vim in diff-mode, e.g. to compare two files in read-only
mode: >
$ VIM -D/R <FILE1> <FILE2>
@@ -636,7 +638,7 @@
8.13 Allow '$' in C keywords
DEC C uses many identifiers with '$' in them. This is not allowed in ANSI C,
-and vim recognises the '$' as the end of the identifier. You can change this
+and Vim recognises the '$' as the end of the identifier. You can change this
with the |iskeyword|command.
Add this command to your .vimrc file: >
@@ -663,12 +665,130 @@
(Thomas.R.Wyant III, Vim 6.1)
+8.14 Slow start in console mode issue
+
+As GUI/GTK Vim works equally well in console mode, many administrators
+deploy those executables system wide.
+Unfortunately, on a remote slow connections GUI/GTK executables behave rather
+slow when user wants to run Vim just in the console mode - because of X environment detection timeout.
+
+Luckily, there is a simple solution for that. Administrators need to deploy
+both GUI/GTK build and just console build executables, like below: >
+
+ |- vim72
+ |----- doc
+ |----- syntax
+ vimrc (system rc files)
+ gvimrc
+ gvim.exe (the renamed GUI or GTK built vim.exe)
+ vim.exe (the console only executable)
+
+Define system symbols like below in for ex in LOGIN.COM or SYLOGIN.COM: >
+
+ $ define/nolog VIM RF10:[UTIL.VIM72] ! where you VIM directory is
+ $ vi*m :== mcr VIM:VIM.EXE
+ $ gvi*m :== mcr VIM:GVIM.EXE
+ $ ! or you can try to spawn with
+ $ gv*im :== spawn/nowait/input=NLA0 mcr VIM:GVIM.EXE -g -GEOMETRY 80x40
+
+
+Like this, users that do not have X environment and want to use Vim just in
+console mode can avoid performance problems.
+
+(Zoltan Arpadffy, Vim 7.2)
+
+8.15 Common VIM directory - different architectures
+
+In a cluster that contains nodes with different architectures like below:
+
+$show cluster
+View of Cluster from system ID 11655 node: TOR 18-AUG-2008 11:58:31
++---------------------------------+
+� SYSTEMS � MEMBERS �
++-----------------------+---------�
+� NODE � SOFTWARE � STATUS �
++--------+--------------+---------�
+� TOR � VMS V7.3-2 � MEMBER �
+� TITAN2 � VMS V8.3 � MEMBER �
+� ODIN � VMS V7.3-2 � MEMBER �
++---------------------------------+
+
+It is convenient to have a common VIM directory but execute different
+executables.
+There are more solutions for this problem:
+
+Solution 1. All executables in the same directory with different names
+This is easily done with the following script that can be added
+to the login.com or sylogin.com: >
+
+ $ if f$getsyi("NODE_HWTYPE") .eqs. "VAX"
+ $ then
+ $ say "VAX platform"
+ $ vi*m:== mcr vim:VIM.EXE_VAX
+ $ endif
+ $ if f$getsyi("NODE_HWTYPE") .eqs. "ALPH"
+ $ then
+ $ say "ALPHA platform"
+ $ vi*m :== mcr vim:VIM.EXE_AXP
+ $ endif
+ $ if f$getsyi("ARCH_NAME") .eqs. "IA64"
+ $ then
+ $ say "IA64 platform"
+ $ vi*m :== mcr vim:VIM.EXE_IA64
+ $ endif
+
+Solution 2. Different directories: >
+
+ $ if f$getsyi("NODE_HWTYPE") .eqs. "VAX"
+ $ then
+ $ say "VAX platform"
+ $ define/nolog VIM RF10:[UTIL.VAX_EXE] ! VAX executables
+ $ endif
+ $ if f$getsyi("NODE_HWTYPE") .eqs. "ALPH"
+ $ then
+ $ say "ALPHA platform"
+ $ define/nolog VIM RF10:[UTIL.AXP_EXE] ! AXP executables
+ $ endif
+ $ if f$getsyi("ARCH_NAME") .eqs. "IA64"
+ $ then
+ $ say "IA64 platform"
+ $ define/nolog VIM RF10:[UTIL.IA64_EXE] ! IA64 executables
+ $ endif
+ $! VIMRUNTIME must be defined in order to find runtime files
+ $ define/nolog VIMRUNTIME RF10:[UTIL.VIM72]
+
+A good example for this approach is the [GNU]gnu_tools.com script from
+GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
+
+(Zoltan Arpadffy, Vim 7.2)
+
==============================================================================
9. VMS related changes *vms-changes*
-Version 7
+Recent changes
+- The following plugins are included into VMS runtime:
+ genutils 2.4, multiselect 2.2, multvals 3.1, selectbuf 4.3,
+ bufexplorer 7.1.7, taglist 4.5
+- minor changes in vimrc (just in VMS runtime)
+- make_vms.mms - HUGE model is the default
+- [TESTDIR]make_vms.mms include as many tests possible
+- modify test30 and test54 for VMS
+- enable FLOAT feature in VMS port
+- os_vms.txt updated
+
+Version 7.2 (2008 Aug 9)
+- VCF files write corrected
+- CTAGS 5.7 included
+- corrected make_vms.mms (on VAX gave syntax error)
+
+Version 7.1 (2007 Jun 15)
+- create TAGS file from menu
+
+Version 7 (2006 May 8)
- Improved low level char input (affects just console mode)
+- Fixed plugin bug
+- CTAGS 5.6 included
Version 6.4 (2005 Oct 15)
- GTKLIB and Vim build on IA64
@@ -806,6 +926,7 @@
OpenVMS documentation and executables are maintained by:
Zoltan Arpadffy <[email protected]>
+OpenVMS Vim page: http://www.polarhome.com/vim/
This document uses parts and remarks from earlier authors and contributors
of OS_VMS.TXT:
diff -Nur runtime.patched/doc/pattern.txt runtime/doc/pattern.txt
--- runtime.patched/doc/pattern.txt 2008-08-09 07:23:00.000000000 -0700
+++ runtime/doc/pattern.txt 2008-12-01 12:32:54.000000000 -0800
@@ -1,4 +1,4 @@
-*pattern.txt* For Vim version 7.2. Last change: 2008 Jul 16
+*pattern.txt* For Vim version 7.2. Last change: 2008 Nov 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -32,12 +32,13 @@
|linewise|.
*/<CR>*
-/<CR> Search forward for the [count]'th latest used
- pattern |last-pattern| with latest used |{offset}|.
-
-//{offset}<CR> Search forward for the [count]'th latest used
- pattern |last-pattern| with new |{offset}|. If
- {offset} is empty no offset is used.
+/<CR> Search forward for the [count]'th occurrence of the
+ latest used pattern |last-pattern| with latest used
+ |{offset}|.
+
+//{offset}<CR> Search forward for the [count]'th occurrence of the
+ latest used pattern |last-pattern| with new
+ |{offset}|. If {offset} is empty no offset is used.
*?*
?{pattern}[?]<CR> Search backward for the [count]'th previous
@@ -48,12 +49,13 @@
down |linewise|.
*?<CR>*
-?<CR> Search backward for the [count]'th latest used
- pattern |last-pattern| with latest used |{offset}|.
-
-??{offset}<CR> Search backward for the [count]'th latest used
- pattern |last-pattern| with new |{offset}|. If
- {offset} is empty no offset is used.
+?<CR> Search backward for the [count]'th occurrence of the
+ latest used pattern |last-pattern| with latest used
+ |{offset}|.
+
+??{offset}<CR> Search backward for the [count]'th occurrence of the
+ latest used pattern |last-pattern| with new
+ |{offset}|. If {offset} is empty no offset is used.
*n*
n Repeat the latest "/" or "?" [count] times.
@@ -507,7 +509,7 @@
|/\Z| \Z \Z ignore differences in Unicode "combining characters".
Useful when searching voweled Hebrew or Arabic text.
-|/\%d| \%d \%d match specified decimal character (eg \%d123
+|/\%d| \%d \%d match specified decimal character (eg \%d123)
|/\%x| \%x \%x match specified hex character (eg \%x2a)
|/\%o| \%o \%o match specified octal character (eg \%o040)
|/\%u| \%u \%u match specified multibyte character (eg \%u20ac)
@@ -794,7 +796,11 @@
*/\%V*
\%V Match inside the Visual area. When Visual mode has already been
stopped match in the area that |gv| would reselect.
- Only works for the current buffer.
+ This is a |/zero-width| match. To make sure the whole pattern is
+ inside the Visual area put it at the start and end of the pattern,
+ e.g.: >
+ /\%Vfoo.*bar\%V
+< Only works for the current buffer.
*/\%#* *cursor-position*
\%# Matches with the cursor position. Only works when matching in a
@@ -877,10 +883,13 @@
this will clearly show when the match is updated or not.
To match the text up to column 17: >
/.*\%17v
-< Column 17 is not included, because that's where the "\%17v" matches,
- and since this is a |/zero-width| match, column 17 isn't included in
- the match. This does the same: >
- /.*\%<18v
+< Column 17 is included, because that's where the "\%17v" matches,
+ even though this is a |/zero-width| match. Adding a dot to match the
+ next character has the same result: >
+ /.*\%17v.
+< This command does the same thing, but also matches when there is no
+ character in column 17: >
+ /.*\%<18v.
<
Character classes: {not in Vi}
diff -Nur runtime.patched/doc/pi_getscript.txt runtime/doc/pi_getscript.txt
--- runtime.patched/doc/pi_getscript.txt 2008-08-09 07:23:00.000000000 -0700
+++ runtime/doc/pi_getscript.txt 2009-07-26 04:45:18.000000000 -0700
@@ -76,7 +76,7 @@
==============================================================================
3. GetLatestVimScripts Usage *glvs-usage* *:GLVS*
-Unless its been defined elsewhere, >
+Unless it's been defined elsewhere, >
:GLVS
will invoke GetLatestVimScripts(). If some other plugin has defined that
command, then you may type
@@ -136,7 +136,7 @@
out-of-date.
The SourceID is extracted by GetLatestVimScripts from the script's page on
-vim.sf.net; whenever its greater than the one stored in the
+vim.sf.net; whenever it's greater than the one stored in the
GetLatestVimScripts.dat file, the script will be downloaded
(see |GetLatestVimScripts_dat|).
@@ -194,7 +194,7 @@
are, then you may include :AutoInstall: at the start of "yourscriptname".
GetLatestVimScripts commands for those scripts are then appended, if not
-already present, to the user's GetLatest/GetLatestVimScripts.dat file. Its a
+already present, to the user's GetLatest/GetLatestVimScripts.dat file. It's a
relatively painless way to automate the acquisition of any scripts your
plugins depend upon.
@@ -337,7 +337,7 @@
v31 Jun 29, 2008 : * (Bill McCarthy) fixed having hls enabled with getscript
v30 Jun 13, 2008 : * GLVS now checks for existence of fnameescape() and will
- issue an error message if its not supported
+ issue an error message if it's not supported
v29 Jan 07, 2008 : * Bram M pointed out that cpo is a global option and that
getscriptPlugin.vim was setting it but not restoring it.
v28 Jan 02, 2008 : * improved shell quoting character handling, cygwin
diff -Nur runtime.patched/doc/pi_netrw.txt runtime/doc/pi_netrw.txt
--- runtime.patched/doc/pi_netrw.txt 2008-08-09 07:23:00.000000000 -0700
+++ runtime/doc/pi_netrw.txt 2009-07-26 04:41:19.000000000 -0700
@@ -1,4 +1,4 @@
-*pi_netrw.txt* For Vim version 7.2. Last change: 2008 Aug 08
+*pi_netrw.txt* For Vim version 7.2. Last change: 2009 Jan 15
-----------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell, Jr.
@@ -43,6 +43,7 @@
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|
@@ -80,6 +81,7 @@
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|
@@ -159,16 +161,33 @@
Protocol Variable Default Value
-------- ---------------- -------------
- dav: *g:netrw_dav_cmd* = "cadaver"
- fetch: *g:netrw_fetch_cmd* = "fetch -o" if fetch is available
- ftp: *g:netrw_ftp_cmd* = "ftp"
- http: *g:netrw_http_cmd* = "curl -o" if curl is available
- http: g:netrw_http_cmd = "wget -q -O" elseif wget is available
- http: g:netrw_http_cmd = "fetch -o" elseif fetch is available
- rcp: *g:netrw_rcp_cmd* = "rcp"
- rsync: *g:netrw_rsync_cmd* = "rsync -a"
- scp: *g:netrw_scp_cmd* = "scp -q"
- sftp: *g:netrw_sftp_cmd* = "sftp"
+ dav: *g:netrw_dav_cmd* = "cadaver" if cadaver is executable
+ dav: g:netrw_dav_cmd = "curl -o" elseif curl is available
+ fetch: *g:netrw_fetch_cmd* = "fetch -o" if fetch is available
+ ftp: *g:netrw_ftp_cmd* = "ftp"
+ http: *g:netrw_http_cmd* = "elinks" if elinks is available
+ http: g:netrw_http_cmd = "links" elseif links is available
+ http: g:netrw_http_cmd = "curl" elseif curl is available
+ http: g:netrw_http_cmd = "wget" elseif wget is available
+ http: g:netrw_http_cmd = "fetch" elseif fetch is available
+ rcp: *g:netrw_rcp_cmd* = "rcp"
+ rsync: *g:netrw_rsync_cmd* = "rsync -a"
+ scp: *g:netrw_scp_cmd* = "scp -q"
+ sftp: *g:netrw_sftp_cmd* = "sftp"
+
+ *g:netrw_http_xcmd* : the option string for http://... protocols are
+ specified via this variable and may be independently oveerridden.
+
+ elinks : "-dump >"
+ links : "-dump >"
+ curl : "-o"
+ wget : "-q -O"
+ fetch : "-o"
+
+ For example, if your system has elinks but you want to see the html
+ source in detail rather than a text rendering thereof, you may wish
+ to have let g:netrw_http_xcmd= "-source >" in your .vimrc.
+
READING *netrw-read* *netrw-nread* {{{2
@@ -241,7 +260,7 @@
:e ftp://[user]@hostname/path/
<
For remote directories (ie. those using scp or ftp), that trailing
- "/" is necessary (it tells netrw that its to treat it as a directory
+ "/" is necessary (it tells netrw that it's to treat it as a directory
to browse instead of a file to download).
However, the Nread command can also be used to accomplish this:
@@ -278,6 +297,15 @@
*b:netrw_lastfile* last file Network-read/written retained on a per-buffer
basis (supports plain :Nw )
+ *g:netrw_chgwin* specifies a window number where file edits will take
+ place. (also see |netrw-C|)
+ (default) not defined
+
+ *g:Netrw_funcref* specifies a function to be called when netrw edits
+ a file. The file is first edited, and then the
+ function reference (|Funcref|) is called.
+ (default) not defined
+
*g:netrw_ftp* if it doesn't exist, use default ftp
=0 use default ftp (uid password)
=1 use alternate ftp method (user uid password)
@@ -317,6 +345,13 @@
*g:netrw_scpport* = "-P" : option to use to set port for scp
*g:netrw_sshport* = "-p" : option to use to set port for ssh
+ *g:netrw_sepchr* =\0xff
+ =\0x01 for enc == euc-jp (and perhaps it should be for
+ others, too, please let me
+ know)
+ Separates priority codes from filenames internally.
+ See |netrw-p12|.
+
*g:netrw_silent* =0 : transfers done normally
=1 : transfers done silently
@@ -678,7 +713,8 @@
read via ftp automatically
transformed however they wish
by NetReadFixup()
- g:netrw_dav_cmd variable ="cadaver"
+ g:netrw_dav_cmd variable ="cadaver" if cadaver is executable
+ g:netrw_dav_cmd variable ="curl -o" elseif curl is executable
g:netrw_fetch_cmd variable ="fetch -o" if fetch is available
g:netrw_ftp_cmd variable ="ftp"
g:netrw_http_cmd variable ="fetch -o" if fetch is available
@@ -782,7 +818,7 @@
==============================================================================
9. Browsing *netrw-browsing* *netrw-browse* *netrw-help* {{{1
- *netrw-browser* *netrw-dir* *netrw-list*
+ *netrw-browser* *netrw-dir* *netrw-list*
INTRODUCTION TO BROWSING *netrw-intro-browse* {{{2
(Quick References: |netrw-quickmaps| |netrw-quickcoms|)
@@ -818,7 +854,7 @@
vim ftp://ftp.home.vim.org/pub/vim/
<
-For local directories, the trailing slash is not required. Again, because its
+For local directories, the trailing slash is not required. Again, because it's
easy to miss: to browse remote directories, the url must terminate with a
slash!
@@ -838,6 +874,18 @@
See |netrw-browse-cmds| for all the things you can do with netrw!
+ *netrw-getftype* *netrw-filigree* *netrw-ftype*
+The |getftype()| function is used to append a bit of filigree to indicate
+filetype to locally listed files:
+
+ directory : /
+ executable : *
+ fifo : |
+ links : @
+ sockets : =
+
+The filigree also affects the |g:netrw_sort_sequence|.
+
QUICK HELP *netrw-quickhelp* {{{2
(Use ctrl-] to select a topic)~
@@ -876,6 +924,7 @@
hiding (suppress display of files matching g:netrw_list_hide)
showing (display only files which match g:netrw_list_hide)
c Make browsing directory the current directory |netrw-c|
+ C Setting the editing window |netrw-C|
d Make a directory |netrw-d|
D Attempt to remove the file(s)/directory(ies) |netrw-D|
gb Go to previous bookmarked directory |netrw-gb|
@@ -899,7 +948,7 @@
mx Apply arbitrary shell command to marked files |netrw-mx|
mz Compress/decompress marked files |netrw-mz|
o Enter the file/directory under the cursor in a new |netrw-o|
- browser window. A horizontal split is used.
+ browser window. A horizontal split is used.
O Obtain a file specified by cursor |netrw-O|
p Preview the file |netrw-p|
P Browse in the previously used window |netrw-P|
@@ -912,7 +961,7 @@
u Change to recently-visited directory |netrw-u|
U Change to subsequently-visited directory |netrw-U|
v Enter the file/directory under the cursor in a new |netrw-v|
- browser window. A vertical split is used.
+ browser window. A vertical split is used.
x View file with an associated program |netrw-x|
% Open a new file in netrw's current directory |netrw-%|
@@ -929,7 +978,7 @@
* 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.
+ to the netrw browser window. See |g:netrw_retmap|.
<s-leftmouse> (gvim only) like mf, will mark files
*netrw-quickcom* *netrw-quickcoms*
@@ -946,13 +995,18 @@
:Vexplore[!] [dir] Vertical Split & Explore...............|netrw-explore|
BOOKMARKING A DIRECTORY *netrw-mb* *netrw-bookmark* *netrw-bookmarks* {{{2
+
One may easily "bookmark" a directory by using >
- {cnt}mb
+ mb
<
-Any count may be used. One may use viminfo's "!" option (|'viminfo'|) to
-retain bookmarks between vim sessions. See |netrw-gb| for how to return
-to a bookmark and |netrw-qb| for how to list them.
+Bookmarks are retained in between sesions in a $HOME/.netrwbook file, and are
+kept in sorted order.
+
+Related Topics:
+ |netrw-gb| how to return (go) to a bookmark
+ |netrw-mB| how to delete bookmarks
+ |netrw-qb| how to list bookmarks
BROWSING *netrw-cr* {{{2
@@ -960,7 +1014,7 @@
Browsing is simple: move the cursor onto a file or directory of interest.
Hitting the <cr> (the return key) will select the file or directory.
Directories will themselves be listed, and files will be opened using the
-protocol given in the original read request.
+protocol given in the original read request.
CAVEAT: There are four forms of listing (see |netrw-i|). Netrw assumes that
two or more spaces delimit filenames and directory names for the long and
@@ -1019,7 +1073,7 @@
in your <.vimrc>. (also see |netrw-t| |netrw-v|)
-There is only one tree listing buffer; using "o" on a displayed subdirectory
+There is only one tree listing buffer; using "o" on a displayed subdirectory
will split the screen, but the same buffer will be shown twice.
Associated setting variables: |g:netrw_alto| |g:netrw_winsize|
@@ -1046,7 +1100,7 @@
in your <.vimrc>. (also see: |netrw-o| |netrw-t|)
-There is only one tree listing buffer; using "v" on a displayed subdirectory
+There is only one tree listing buffer; using "v" on a displayed subdirectory
will split the screen, but the same buffer will be shown twice.
Associated setting variable: |g:netrw_altv| |g:netrw_winsize|
@@ -1085,8 +1139,12 @@
{cnt}gb
-Any count may be used to reference any of the bookmarks. See |netrw-mb| on
-how to bookmark a directory and |netrw-qb| on how to list bookmarks.
+Any count may be used to reference any of the bookmarks.
+
+Related Topics:
+ |netrw-mB| how to delete bookmarks
+ |netrw-mb| how to return to a bookmark
+ |netrw-qb| how to list bookmarks
CHANGING TO A PREDECESSOR DIRECTORY *netrw-u* *netrw-updir* {{{2
@@ -1141,7 +1199,7 @@
If g:netrw_browsex_viewer == '-', then netrwFileHandler() will be
invoked first (see |netrw_filehandler|).
- * for Windows 32 or 64, the url and FileProtocolHandler dlls are used.
+ * for Windows 32 or 64, the url and FileProtocolHandler dlls are used.
* for Gnome (with gnome-open): gnome-open is used.
* for KDE (with kfmclient) : kfmclient is used.
* for Mac OS X : open is used.
@@ -1175,11 +1233,11 @@
contain such characters, netrw will first convert the suffix using the
following table: >
- @ -> AT ! -> EXCLAMATION % -> PERCENT
- : -> COLON = -> EQUAL ? -> QUESTION
+ @ -> AT ! -> EXCLAMATION % -> PERCENT
+ : -> COLON = -> EQUAL ? -> QUESTION
, -> COMMA - -> MINUS ; -> SEMICOLON
- $ -> DOLLAR + -> PLUS ~ -> TILDE
-<
+ $ -> DOLLAR + -> PLUS ~ -> TILDE
+<
So, for example: >
file.rcs,v -> NFH_rcsCOMMAv()
@@ -1191,6 +1249,18 @@
Associated setting variable: |g:netrw_browsex_viewer|
*netrw-curdir*
+DELETING BOOKMARKS *netrw-mB* {{{2
+
+To delete a bookmark, use >
+
+ {cnt}mB
+<
+Related Topics:
+ |netrw-gb| how to return (go) to a bookmark
+ |netrw-mb| how to make a bookmark
+ |netrw-qb| how to list bookmarks
+
+
DELETING FILES OR DIRECTORIES *netrw-delete* *netrw-D* *netrw-del* {{{2
If files have not been marked with |netrw-mf|: (local marked file list)
@@ -1232,12 +1302,12 @@
*netrw-rexplore* *netrw-sexplore* *netrw-texplore* *netrw-vexplore*
DIRECTORY EXPLORATION COMMANDS {{{2
- :Explore[!] [dir]... Explore directory of current file *:Explore*
- :Hexplore[!] [dir]... Horizontal Split & Explore *:Hexplore*
- :Rexplore ... Return to Explorer *:Rexplore*
- :Sexplore[!] [dir]... Split&Explore directory of current file *:Sexplore*
- :Texplore [dir]... Tab & Explore *:Texplore*
- :Vexplore[!] [dir]... Vertical Split & Explore *:Vexplore*
+ :[N]Explore[!] [dir]... Explore directory of current file *:Explore*
+ :[N]Hexplore[!] [dir]... Horizontal Split & Explore *:Hexplore*
+ :Rexplore ... Return to Explorer *:Rexplore*
+ :[N]Sexplore[!] [dir]... Split&Explore current file's directory*:Sexplore*
+ :Texplore [dir]... Tab & Explore *:Texplore*
+ :[N]Vexplore[!] [dir]... Vertical Split & Explore *:Vexplore*
Used with :Explore **/pattern : (also see |netrw-starstar|)
:Nexplore............. go to next matching file *:Nexplore*
@@ -1259,16 +1329,20 @@
:Vexplore! [dir] does an :Explore with |:rightbelow| vertical splitting.
:Texplore [dir] does a tabnew before generating the browser window
-By default, these commands use the current file's directory. However, one
-may explicitly provide a directory (path) to use.
+By default, these commands use the current file's directory. However, one may
+explicitly provide a directory (path) to use.
-The |g:netrw_winsize| variable also is used, if specified by the user, to
-size Hexplore and Vexplore windows.
+The [N] will override |g:netrw_winsize| to specify the quantity of rows and/or
+columns the new explorer window should have.
+
+Otherwise, the |g:netrw_winsize| variable, if it has been specified by the
+user, is used to control the quantity of rows and/or columns new explorer
+windows should have.
:Rexplore This command is a little different from the others. When one
edits a file, for example by pressing <cr> when atop a file in
a netrw browser window, :Rexplore will return the display to
- that of the last netrw browser window. Its a command version
+ that of the last netrw browser window. It's a command version
of <2-leftmouse> (which is only available under gvim and
cooperative terms).
@@ -1282,11 +1356,11 @@
*/filepat files in current directory which satisfy filepat
**/filepat files in current directory or below which satisfy the
- file pattern
+ file pattern
*//pattern files in the current directory which contain the
- pattern (vimgrep is used)
+ pattern (vimgrep is used)
**//pattern files in the current directory or below which contain
- the pattern (vimgrep is used)
+ the pattern (vimgrep is used)
<
The cursor will be placed on the first file in the list. One may then
continue to go to subsequent files on that list via |:Nexplore| or to
@@ -1349,7 +1423,12 @@
(g:netrw_sort_sequence). The sorting sequence typically prioritizes the
name-listing by suffix, although any pattern will do. Patterns are delimited
by commas. The default sorting sequence is (all one line):
->
+
+For Unix: >
+ '[\/]$,\<core\%(\.\d\+\)\=,\.[a-np-z]$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,
+ \.info$,\.swp$,\.bak$,\~$'
+<
+Otherwise: >
'[\/]$,\.[a-np-z]$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,
\.swp$,\.bak$,\~$'
<
@@ -1508,11 +1587,15 @@
LISTING BOOKMARKS AND HISTORY *netrw-qb* *netrw-listbookmark* {{{2
-Pressing "qb" (query bookmarks) will list the bookmarked directories and
-directory traversal history (query).
-
-(see |netrw-mb|, |netrw-gb|, |netrw-u|, and |netrw-U|)
+Pressing "qb" (query bookmarks) will list both the bookmarked directories and
+directory traversal history.
+Related Topics:
+ |netrw-gb| how to return (go) to a bookmark
+ |netrw-mb| how to make a bookmark
+ |netrw-mB| how to delete bookmarks
+ |netrw-u| change to a predecessor directory via the history stack
+ |netrw-U| change to a successor directory via the history stack
MAKING A NEW DIRECTORY *netrw-d* {{{2
@@ -1695,7 +1778,7 @@
(See |netrw-mf| and |netrw-mr| for how to mark files)
(uses the global marked file list)
-The "mt" mapping will apply the command in |g:netrw_ctags| (by default, its
+The "mt" mapping will apply the command in |g:netrw_ctags| (by default, it's
"ctags") to marked files. For remote browsing, in order to create a tags file
netrw will use ssh (see |g:netrw_ssh_cmd|), and so ssh must be available for
this to work on remote systems. For your local system, see |ctags| on how to
@@ -1762,8 +1845,8 @@
*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
+ =1: horizontally splitting the window first
+ =2: vertically splitting the window first
=3: open file in new tab
=4: act like "P" (ie. open previous window)
@@ -1783,6 +1866,16 @@
*g:netrw_ctags* ="ctags"
The default external program used to create tags
+ *g:netrw_cursorline* = 1 (default)
+ will use the |'cursorline'| local setting when
+ |g:netrw_liststyle| ==0 (thin listing) or
+ |g:netrw_liststyle| ==1 (long listing) or
+ |g:netrw_liststyle| ==3 (tree listing)
+ =0: off
+ =2: like ==1, but the wide listing gets both
+ cursorline and |'cursorcolumn'|locally set
+ (ie. doesn't affect the wide listing)
+
*g:netrw_decompress* = { ".gz" : "gunzip" ,
".bz2" : "bunzip2" ,
".zip" : "unzip" ,
@@ -1815,7 +1908,7 @@
versus speed.
*g:netrw_fname_escape* =' ?&;%'
- Used on filenames before remote reading/writing
+ Used on filenames before remote reading/writing
*g:netrw_ftp_browse_reject* ftp can produce a number of errors and warnings
that can show up as "directories" and "files"
@@ -1849,12 +1942,18 @@
otherwise "dir"
*g:netrw_glob_escape* ='[]*?`{~$'
- These characters in directory names are
+ These characters in directory names are
escaped before applying glob()
*g:netrw_hide* if true, the hiding list is used
default: =0
+ *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
the browsing directory.
=0 keep the current directory the same as the
@@ -1878,12 +1977,12 @@
default: ""
*g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
- ="copy" Windows
+ ="copy" Windows
Copies marked files (|netrw-mf|) to target
directory (|netrw-mt|, |netrw-mc|)
*g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
- ="move" Windows
+ ="move" Windows
Moves marked files (|netrw-mf|) to target
directory (|netrw-mt|, |netrw-mm|)
@@ -1903,11 +2002,23 @@
*g:netrw_mkdir_cmd* command for making a remote directory
default: "ssh USEPORT HOSTNAME mkdir"
- *g:netrw_retmap* if it exists and is set to one, then
- <2-leftmouse> will be mapped for easy
+ *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
return to the netrw browser window.
- (example: click once to select and open
- a file, double-click to return)
+ example: click once to select and open a file,
+ double-click to return.
+
+ Note that one may instead choose to:
+ * let g:netrw_retmap= 1, AND
+ * nmap <silent> YourChoice <Plug>NetrwReturn
+ and have another mapping instead of
+ <2-leftmouse> to invoke the return.
+
+ You may also use the |:Rexplore| command to do
+ the same thing.
+
default: =0
*g:netrw_rm_cmd* command for removing files
@@ -1934,12 +2045,14 @@
< default: ""
*g:netrw_sort_sequence* when sorting by name, first sort by the
- comma-separated pattern sequence
+ 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
- in special syntax in the browser:
+ in special syntax in the browser:
netrwBak : *.bak
netrwCompress: *.gz *.bz2 *.Z *.zip
@@ -1974,7 +2087,7 @@
*g:netrw_tmpfile_escape* =' &;'
- escape() is applied to all temporary files
+ escape() is applied to all temporary files
to escape these characters.
*g:netrw_timefmt* specify format string to vim's strftime().
@@ -1988,7 +2101,7 @@
default: "%c"
*g:netrw_use_noswf* netrw normally avoids writing swapfiles
- for browser buffers. However, under some
+ for browser buffers. However, under some
systems this apparently is causing nasty
ml_get errors to appear; if you're getting
ml_get errors, try putting
@@ -2000,14 +2113,14 @@
|:Hexplore| or |:Vexplore|.
default: ""
- *g:netrw_xstrlen* Controls how netrw computes a string
- including multi-byte characters' string
+ *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()
=1: number of codepoints (Latin + a combining
circumflex is two codepoints) (DEFAULT)
=2: number of spacing codepoints (Latin a +
- combining circumflex is one spacing
+ combining circumflex is one spacing
codepoint; a hard tab is one; wide and
narrow CJK are one each; etc.)
=3: virtual length (counting tabs as anything
@@ -2162,6 +2275,16 @@
Associated setting variables: |g:netrw_sort_by| |g:netrw_sort_sequence|
+SETTING EDITING WINDOW *netrw-C* {{{2
+
+One may select a netrw window for editing with the "C" mapping, or by setting
+g:netrw_chgwin to the selected window number. Subsequent selection of a file
+to edit (|netrw-cr|) will use that window.
+
+Related topics: |netrw-cr|
+Associated setting variables: |g:netrw_chgwin|
+
+
10. Problems and Fixes *netrw-problems* {{{1
(This section is likely to grow as I get feedback)
@@ -2238,7 +2361,7 @@
Put the following line in your |.vimrc|:
>
let g:netrw_keepdir= 0
-<
+<
*netrw-p7*
P7. I use Chinese (or other non-ascii) characters in my filenames, and
netrw (Explore, Sexplore, Hexplore, etc) doesn't display them!
@@ -2266,7 +2389,7 @@
(Marlin Unruh) This program also works for me. It's a single
executable, so he/she can copy it into the Windows\System32
- folder and create a shortcut to it.
+ folder and create a shortcut to it.
(Dudley Fox) You might also wish to consider plink, as it
sounds most similar to what you are looking for. plink is an
@@ -2274,12 +2397,12 @@
http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter7.html#plink
- (Vissale Neang) Maybe you can try OpenSSH for windows, which
+ (Vissale Neang) Maybe you can try OpenSSH for windows, which
can be obtained from:
http://sshwindows.sourceforge.net/
- It doesn't need the full Cygwin package.
+ It doesn't need the full Cygwin package.
(Antoine Mechelynck) For individual Unix-like programs needed
for work in a native-Windows environment, I recommend getting
@@ -2290,7 +2413,7 @@
Unlike Cygwin, which sets up a Unix-like virtual machine on
top of Windows, GnuWin32 is a rewrite of Unix utilities with
Windows system calls, and its programs works quite well in the
- cmd.exe "Dos box".
+ cmd.exe "Dos box".
(dave) Download WinSCP and use that to connect to the server.
In Preferences > Editors, set gvim as your editor:
@@ -2317,7 +2440,7 @@
How to use a private key with 'pscp': >
http://www.tartarus.org/~simon/puttydoc/Chapter5.html
- 5.2.4 Using public key authentication with PSCP
+ 5.2.4 Using public key authentication with PSCP
<
(Ben Schmidt) I find the ssh included with cwRsync is
brilliant, and install cwRsync or cwRsyncServer on most
@@ -2375,6 +2498,16 @@
<leftmouse> in the browser window and then press the
<middlemouse> to select the file.
+ *netrw-p12*
+ P12. My directory isn't sorting correctly, or unwanted letters are
+ appearing in the listed filenames, or things aren't lining
+ up properly in the wide listing, ...
+
+ This may be due to an encoding problem. I myself usually use
+ utf-8, but really only use ascii (ie. bytes from 32-126).
+ Multibyte encodings use two (or more) bytes per character.
+ You may need to change |g:netrw_sepchr| and/or |g:netrw_xstrlen|.
+
==============================================================================
11. Debugging Netrw Itself *netrw-debug* {{{1
@@ -2429,6 +2562,69 @@
==============================================================================
12. History *netrw-history* {{{1
+ v136: Jan 14, 2009 * extended |g:Netrw_funcref| to also handle lists
+ of function references
+ Jan 14, 2009 * (reported by Marvin Renich) with spell check
+ enabled, some filenamess will still being
+ displayed as spelling errors.
+ v135: Oct 29, 2008 * using |simplify()| on directory names
+ (supporting handling ".."s in directory names)
+ Oct 31, 2008 * added special file highlighting for core dumps
+ under Unix/Linux. The default sorting sequence
+ now also gives core dumps priority.
+ Nov 10, 2008 * uses a call to netrw#Nread() instead of Nread
+ to avoid having to use fnameescape()
+ * fixed a tree redrawing problem (open directory,
+ open subdir, close subdir, close dir)
+ Nov 19, 2008 * sprinked some histdel("/",-1)s through the code
+ in an attempt to prevent netrw from changing
+ the search history.
+ Jan 02, 2009 * |g:Netrw_funcref| included
+ Jan 05, 2009 * Explore */ **/ *// **// all clear explorer
+ variables
+ Jan 05, 2009 * (Panagiotis Louridas) extended s:WinPath()
+ to remove cygdrive from non-cygwin Windows
+ paths. Improved the determination as to
+ whether or not to do so.
+ Jan 13, 2009 * included contains=@NoSpell in every syntax
+ group for syntax/netrw.vim .
+ v134: Sep 30, 2008 * (Sander Marechal) provided a bugfix involving
+ the use of the |netrw-t| command with a remote
+ directory.
+ Sep 30, 2008 * using "x" on a remote jpg was failing; fixed.
+ Oct 03, 2008 * bookmarks now go on a list and are stored to
+ the first directory on the |'runtimepath'| in
+ the hopes of making their retention reliable.
+ History now also goes to that directory.
+ Oct 07, 2008 * Included check that vim 7.0 or later is in use.
+ Oct 07, 2008 * Improved |g:netrw_retmap| handling.
+ Oct 12, 2008 * Based upon Sébastien Migniot's suggestion, if
+ cadaver isn't available then netrw will try to
+ use curl for the dav://... protocol.
+ Oct 13, 2008 * added @*/ to netrw buffers' |'iskeyword'|setting
+ This lets mf (|netrw-mf|) mark directories, links
+ and executables.
+ Oct 13, 2008 * avoids a second NetrwBrowse() refresh when
+ g:netrw_fastbrowse is <= 1 (slow, medium speed)
+ Oct 22, 2008 * |g:netrw_http_xcmd| may now be overridden
+ independently of |g:netrw_http_cmd|.
+ Oct 23, 2008 * [N] added to the various Explore commands to
+ let users specify the width/height of new
+ explorer windows, overriding |g:netrw_winsize|.
+ v133: Aug 10, 2008 * NetReadFixup() for win95 was missing some "a:"s
+ Aug 12, 2008 * (Jan Minář) an error condition in NetrwMethod()
+ wasn't being used, resulting in "b:netrw_fname
+ undefined" errors
+ Aug 12, 2008 * (François Ingeirest) asked that "hi link" be
+ changed to hi default link in the netrw syntax
+ files.
+ Aug 12, 2008 * using s:NetrwUnmarkList() more often. Filenames
+ were being left on the global list when removed
+ from the buffer-local lists.
+ Aug 14, 2008 * (Joshua Clayton) an errant extra ")" was left in
+ the rcp-handling portion of NetRead().
+ Sep 03, 2008 * added |'cursorline'| highlighting to thin, long,
+ and tree displays.
v132: Aug 06, 2008 * Fixed marked file-based obtain
Aug 08, 2008 * sourcing a file via ftp from a netrw-generated
buffer (or any buffer with |'nobl'|) left an
@@ -2543,7 +2739,7 @@
* executable files now displayed with trailing (*)
* symbolically linked files now displayed with
trailing (@)
- * Somewhen, s:NetrwMarkFileMove() got damaged. Its
+ * Somewhen, s:NetrwMarkFileMove() got damaged. It's
now restored (missing an endif, for example).
* |netrw-mu| implemented (unmarking marked files)
* many bugs have been removed from the marked file
@@ -2615,7 +2811,7 @@
the end of the s:NetrwBrowseChgDir() function;
they're now at the end of every if..elseif..else
block. The edit-a-file one is not quite at the end
- of its block; instead, its just before the edit.
+ of its block; instead, it's just before the edit.
Restores user options, then this new placement
allows ftplugins, autocmds, etc to change settings
(ex. ftplugin/cpp.vim sets cindent).
@@ -2668,7 +2864,7 @@
decipher the name.
May 07, 2007 * g:netrw_use_errorwindow now allows one to
have error messages go to a reliable window
- or to use a less reliable but recallable
+ or to use a less reliable but recallable
echoerr method
May 07, 2007 * g:netrw_scpport and g:netrw_sshport support
use of -P and -p, respectively, to set port
diff -Nur runtime.patched/doc/print.txt runtime/doc/print.txt
--- runtime.patched/doc/print.txt 2008-08-09 07:23:00.000000000 -0700
+++ runtime/doc/print.txt 2009-01-14 12:14:42.000000000 -0800
@@ -1,4 +1,4 @@
-*print.txt* For Vim version 7.2. Last change: 2008 Apr 30
+*print.txt* For Vim version 7.2. Last change: 2008 Dec 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -704,7 +704,7 @@
even.ps with your platform's print command. All the even pages should now
appear on the back of the odd pages.
-There a couple of points to bear in mind:
+There are a couple of points to bear in mind:
1. Position of the first page. If the first page is on top of the printout
when printing the odd pages then you need to reverse the order that the odd
diff -Nur runtime.patched/doc/quickfix.txt runtime/doc/quickfix.txt
--- runtime.patched/doc/quickfix.txt 2008-08-09 07:23:00.000000000 -0700
+++ runtime/doc/quickfix.txt 2009-06-03 03:05:26.000000000 -0700
@@ -1,4 +1,4 @@
-*quickfix.txt* For Vim version 7.2. Last change: 2008 Mar 14
+*quickfix.txt* For Vim version 7.2. Last change: 2009 May 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -630,14 +630,20 @@
Just like ":grep", but instead of making a new list of
errors the matches are appended to the current list.
Example: >
- :grep nothing %
+ :call setqflist([])
:bufdo grepadd! something %
< The first command makes a new error list which is
empty. The second command executes "grepadd" for each
listed buffer. Note the use of ! to avoid that
":grepadd" jumps to the first error, which is not
allowed with |:bufdo|.
-
+ An example that uses the argument list and avoids
+ errors for files without matches: >
+ :silent argdo try
+ \ | grepadd! something %
+ \ | catch /E480:/
+ \ | endtry"
+<
*:lgrepa* *:lgrepadd*
:lgrepa[dd][!] [arguments]
Same as ":grepadd", except the location list for the
diff -Nur runtime.patched/doc/quickref.txt runtime/doc/quickref.txt
--- runtime.patched/doc/quickref.txt 2008-08-09 07:23:00.000000000 -0700
+++ runtime/doc/quickref.txt 2009-01-28 08:23:53.000000000 -0800
@@ -1,4 +1,4 @@
-*quickref.txt* For Vim version 7.2. Last change: 2008 Jan 22
+*quickref.txt* For Vim version 7.2. Last change: 2009 Jan 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -40,13 +40,13 @@
|^| ^ to first non-blank character in the line
|$| N $ to the last character in the line (N-1 lines lower)
(also: <End> key)
-|g0| N g0 to first character in screen line (differs from "0"
+|g0| g0 to first character in screen line (differs from "0"
when lines wrap)
-|g^| N g^ to first non-blank character in screen line (differs
+|g^| g^ to first non-blank character in screen line (differs
from "^" when lines wrap)
|g$| N g$ to last character in screen line (differs from "$"
when lines wrap)
-|gm| N gm to middle of the screen line
+|gm| gm to middle of the screen line
|bar| N | to column N (default: 1)
|f| N f{char} to the Nth occurrence of {char} to the right
|F| N F{char} to the Nth occurrence of {char} to the left
diff -Nur runtime.patched/doc/quotes.txt runtime/doc/quotes.txt
--- runtime.patched/doc/quotes.txt 2008-08-09 07:23:00.000000000 -0700
+++ runtime/doc/quotes.txt 2009-07-26 04:41:20.000000000 -0700
@@ -247,7 +247,7 @@
memory usage, text alteration to name 3. (Mark Adam)
In fact, now if I want to know what a particular setting does in vi, I fire up
-VIM and check out it's help! (Nikhil Patel, USA)
+VIM and check out its help! (Nikhil Patel, USA)
As a vi user, VIM has made working with text a far more pleasant task than
before I encountered this program. (Steinar Knutsen, Norway)
diff -Nur runtime.patched/doc/recover.txt runtime/doc/recover.txt
--- runtime.patched/doc/recover.txt 2008-08-09 07:23:00.000000000 -0700
+++ runtime/doc/recover.txt 2009-04-22 14:26:12.000000000 -0700
@@ -1,4 +1,4 @@
-*recover.txt* For Vim version 7.2. Last change: 2006 Apr 24
+*recover.txt* For Vim version 7.2. Last change: 2009 Apr 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -181,7 +181,7 @@
Be sure that the recovery was successful before overwriting the original
file or deleting the swap file. It is good practice to write the recovered
file elsewhere and run 'diff' to find out if the changes you want are in the
-recovered file.
+recovered file. Or use |:DiffOrig|.
Once you are sure the recovery is ok delete the swap file. Otherwise, you
will continue to get warning messages that the ".swp" file already exists.
diff -Nur runtime.patched/doc/spell.txt runtime/doc/spell.txt
--- runtime.patched/doc/spell.txt 2009-11-20 13:52:20.058737644 -0800
+++ runtime/doc/spell.txt 2009-10-28 13:57:15.000000000 -0700
@@ -1,4 +1,4 @@
-*spell.txt* For Vim version 7.2. Last change: 2008 Nov 30
+*spell.txt* For Vim version 7.2. Last change: 2009 Oct 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1279,7 +1279,7 @@
*spell-ONLYINCOMPOUND*
The ONLYINCOMPOUND does exactly the same as NEEDCOMPOUND. Supported for
-compatiblity with Hunspell.
+compatibility with Hunspell.
*spell-COMPOUNDMIN*
The minimal character length of a word used for compounding is specified with
diff -Nur runtime.patched/doc/starting.txt runtime/doc/starting.txt
--- runtime.patched/doc/starting.txt 2009-11-20 13:52:21.222648639 -0800
+++ runtime/doc/starting.txt 2009-10-28 13:57:15.000000000 -0700
@@ -1,4 +1,4 @@
-*starting.txt* For Vim version 7.2. Last change: 2008 Nov 09
+*starting.txt* For Vim version 7.2. Last change: 2009 Oct 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -144,13 +144,12 @@
-u NORC no yes
--noplugin yes no
---startuptime {fname} *--startuptime*
+--startuptime={fname} *--startuptime*
During startup write timing messages to the file {fname}.
This can be used to find out where time is spent while loading
- your .vimrc, plugins and opening the first file.
+ your .vimrc and plugins.
When {fname} already exists new messages are appended.
- (Only available when compiled with the |+startuptime|
- feature).
+ {only when compiled with this feature}
*--literal*
--literal Take file names literally, don't expand wildcards. Not needed
@@ -338,12 +337,19 @@
*-C*
-C Compatible mode. Sets the 'compatible' option. You can use
this to get 'compatible', even though a .vimrc file exists.
- But the command ":set nocompatible" overrules it anyway.
- Also see |compatible-default|. {not in Vi}
+ Keep in mind that the command ":set nocompatible" in some
+ plugin or startup script overrules this, so you may end up
+ with 'nocmpatible' anyway. To find out, use: >
+ :verbose set compatible?
+< Several plugins won't work with 'compatible' set. You may
+ want to set it after startup this way: >
+ vim "+set cp" filename
+< Also see |compatible-default|. {not in Vi}
*-N*
-N Not compatible mode. Resets the 'compatible' option. You can
- use this to get 'nocompatible', when there is no .vimrc file.
+ use this to get 'nocompatible', when there is no .vimrc file
+ or when using "-u NONE".
Also see |compatible-default|. {not in Vi}
*-y* *easy*
@@ -361,6 +367,8 @@
Can also be done with ":set updatecount=0". You can switch it
on again by setting the 'updatecount' option to some value,
e.g., ":set uc=100".
+ NOTE: Don't combine -n with -b, making -nb, because that has a
+ different meaning: |-nb|.
'updatecount' is set to 0 AFTER executing commands from a
vimrc file, but before the GUI initializations. Thus it
overrides a setting for 'updatecount' in a vimrc file, but not
@@ -593,17 +601,8 @@
it. The second form specifies a file to read connection info
from. The third form specifies the hostname, address and
password for connecting to Netbeans. |netbeans-run|
-
-Example for using a script file to change a name in several files:
- Create a file "subs.vi" containing substitute commands and a :wq
- command: >
- :%s/Jones/Smith/g
- :%s/Allen/Peter/g
- :wq
-<
- Execute Vim on all files you want to change: >
-
- foreach i ( *.let ) vim -s subs.vi $i
+ {only available when compiled with the |+netbeans_intg|
+ feature; if not then -nb will make Vim exit}
If the executable is called "view", Vim will start in Readonly mode. This is
useful if you can make a hard or symbolic link from "view" to "vim".
@@ -777,10 +776,11 @@
nocp" command if you like.
For the Macintosh the $VIMRUNTIME/macmap.vim is read.
- *VIMINIT* *.vimrc* *_vimrc* *EXINIT* *.exrc* *_exrc*
+ *VIMINIT* *.vimrc* *_vimrc* *EXINIT* *.exrc* *_exrc* *$MYVIMRC*
c. Four places are searched for initializations. The first that exists
is used, the others are ignored. The $MYVIMRC environment variable is
- set to the file that was first found, unless $MYVIMRC was already set.
+ set to the file that was first found, unless $MYVIMRC was already set
+ and when using VIMINIT.
- The environment variable VIMINIT (see also |compatible-default|) (*)
The value of $VIMINIT is used as an Ex command line.
- The user vimrc file(s):
@@ -990,7 +990,7 @@
*info-message*
The |--help| and |--version| arguments cause Vim to print a message and then
-exit. Normally the message is send to stdout, thus can be redirected to a
+exit. Normally the message is sent to stdout, thus can be redirected to a
file with: >
vim --help >file
@@ -1441,7 +1441,7 @@
converted.
-MANUALLY READING AND WRITING
+MANUALLY READING AND WRITING *viminfo-read-write*
Two commands can be used to read and write the viminfo file manually. This
can be used to exchange registers between two running Vim programs: First
@@ -1504,7 +1504,7 @@
the list is edited.
If you get the |press-enter| prompt you can press "q"
and still get the prompt to enter a file number.
- Use ! to abondon a modified buffer. |abandon|
+ Use ! to abandon a modified buffer. |abandon|
{not when compiled with tiny or small features}
vim:tw=78:ts=8:ft=help:norl:
diff -Nur runtime.patched/doc/syntax.txt runtime/doc/syntax.txt
--- runtime.patched/doc/syntax.txt 2008-08-09 07:23:00.000000000 -0700
+++ runtime/doc/syntax.txt 2009-10-28 13:57:15.000000000 -0700
@@ -1,4 +1,4 @@
-*syntax.txt* For Vim version 7.2. Last change: 2008 Jul 22
+*syntax.txt* For Vim version 7.2. Last change: 2009 Oct 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -113,6 +113,9 @@
:syntax off $VIMRUNTIME/syntax/nosyntax.vim
Also see |syntax-loading|.
+NOTE: If displaying long lines is slow and switching off syntax highlighting
+makes it fast, consider setting the 'synmaxcol' option to a lower value.
+
==============================================================================
2. Syntax files *:syn-files*
@@ -198,8 +201,12 @@
Vim will only load the first syntax file found.
-NAMING CONVENTIONS
- *group-name* *{group-name}* *E669* *W18*
+NAMING CONVENTIONS *group-name* *{group-name}* *E669* *W18*
+
+A syntax group name is to be used for syntax items that match the same kind of
+thing. These are then linked to a highlight group that specifies the color.
+A syntax group name doesn't specify any color or attributes itself.
+
The name for a highlight or syntax group must consist of ASCII letters, digits
and the underscore. As a regexp: "[a-zA-Z0-9_]*"
@@ -379,8 +386,8 @@
:10,40TOhtml
-After you save the resulting file, you can view it with any HTML viewer, such
-as Netscape. The colors should be exactly the same as you see them in Vim.
+After you save the resulting file, you can view it with any browser. The
+colors should be exactly the same as you see them in Vim.
To restrict the conversion to a range of lines set "html_start_line" and
"html_end_line" to the first and last line to be converted. Example, using
@@ -398,15 +405,45 @@
Go back to the default to use 'number' by deleting the variable: >
:unlet html_number_lines
-Closed folds are put in the HTML as they are displayed. If you don't want
-this, use the |zR| command before invoking 2html, or use: >
- :let html_ignore_folding = 1
-
By default, HTML optimized for old browsers is generated. If you prefer using
cascading style sheets (CSS1) for the attributes (resulting in considerably
shorter and valid HTML 4 file), use: >
:let html_use_css = 1
+Closed folds are put in the HTML as they are displayed. If you don't want
+this, use the |zR| command before invoking 2html, or use: >
+ :let html_ignore_folding = 1
+
+You may want to generate HTML that includes all the data within the folds, and
+allow the user to view the folded data similar to how they would in Vim. To
+generate this dynamic fold information, use: >
+ :let html_dynamic_folds = 1
+
+Using html_dynamic_folds will imply html_use_css, because it would be far too
+difficult to do it for old browsers. However, html_ignore_folding overrides
+html_dynamic_folds.
+
+Using html_dynamic_folds will default to generating a foldcolumn in the html
+similar to Vim's foldcolumn, that will use javascript to open and close the
+folds in the HTML document. The width of this foldcolumn starts at the current
+setting of |'foldcolumn'| but grows to fit the greatest foldlevel in your
+document. If you do not want to show a foldcolumn at all, use: >
+ :let html_no_foldcolumn = 1
+
+Using this option, there will be no foldcolumn available to open the folds in
+the HTML. For this reason, another option is provided: html_hover_unfold.
+Enabling this option will use CSS 2.0 to allow a user to open a fold by
+hovering the mouse pointer over it. Note that old browsers (notably Internet
+Explorer 6) will not support this feature. Browser-specific markup for IE6 is
+included to fall back to the normal CSS1 code so that the folds show up
+correctly for this browser, but they will not be openable without a
+foldcolumn. Note that using html_hover_unfold will allow modern browsers with
+disabled javascript to view closed folds. To use this option, use: >
+ :let html_hover_unfold = 1
+
+Setting html_no_foldcolumn with html_dynamic_folds will automatically set
+html_hover_unfold, because otherwise the folds wouldn't be dynamic.
+
By default "<pre>" and "</pre>" is used around the text. This makes it show
up as you see it in Vim, but without wrapping. If you prefer wrapping, at the
risk of making some things look a bit different, use: >
@@ -525,9 +562,10 @@
pic PIC assembly (currently for PIC16F84)
The most flexible is to add a line in your assembly file containing: >
- :asmsyntax=nasm
+ asmsyntax=nasm
Replace "nasm" with the name of the real assembly syntax. This line must be
-one of the first five lines in the file.
+one of the first five lines in the file. No non-white text must be
+immediately before or after this text.
The syntax type can always be overruled for a specific buffer by setting the
b:asmsyntax variable: >
@@ -3414,8 +3452,9 @@
- The highlighted area will never be outside of the matched text.
- A negative offset for an end pattern may not always work, because the end
pattern may be detected when the highlighting should already have stopped.
-- Until Vim 7.2 the offsets were counted in bytes instead of characters. This
- didn't work well for multi-byte characters.
+- Before Vim 7.2 the offsets were counted in bytes instead of characters.
+ This didn't work well for multi-byte characters, so it was changed with the
+ Vim 7.2 release.
- The start of a match cannot be in a line other than where the pattern
matched. This doesn't work: "a\nb"ms=e. You can make the highlighting
start in another line, this does work: "a\nb"hs=e.
@@ -3466,7 +3505,8 @@
When using a start pattern with an offset, the start of the match is not
allowed to start in a following line. The highlighting can start in a
-following line though.
+following line though. Using the "\zs" item also requires that the start of
+the match doesn't move to another line.
The skip pattern can include the "\n", but the search for an end pattern will
continue in the first character of the next line, also when that character is
diff -Nur runtime.patched/doc/tags runtime/doc/tags
--- runtime.patched/doc/tags 2008-08-09 07:47:14.000000000 -0700
+++ runtime/doc/tags 2009-10-28 13:58:52.000000000 -0700
@@ -4,6 +4,8 @@
$ motion.txt /*$*
$HOME options.txt /*$HOME*
$HOME-use version5.txt /*$HOME-use*
+$MYGVIMRC gui.txt /*$MYGVIMRC*
+$MYVIMRC starting.txt /*$MYVIMRC*
$VIM starting.txt /*$VIM*
$VIM-use version5.txt /*$VIM-use*
$VIMRUNTIME starting.txt /*$VIMRUNTIME*
@@ -481,7 +483,6 @@
'nodg' options.txt /*'nodg'*
'nodiff' options.txt /*'nodiff'*
'nodigraph' options.txt /*'nodigraph'*
-'nodisable' options.txt /*'nodisable'*
'noea' options.txt /*'noea'*
'noeb' options.txt /*'noeb'*
'noed' options.txt /*'noed'*
@@ -518,6 +519,7 @@
'noimc' options.txt /*'noimc'*
'noimcmdline' options.txt /*'noimcmdline'*
'noimd' options.txt /*'noimd'*
+'noimdisable' options.txt /*'noimdisable'*
'noincsearch' options.txt /*'noincsearch'*
'noinf' options.txt /*'noinf'*
'noinfercase' options.txt /*'noinfercase'*
@@ -1230,6 +1232,7 @@
--serverlist remote.txt /*--serverlist*
--servername remote.txt /*--servername*
--socketid starting.txt /*--socketid*
+--startuptime starting.txt /*--startuptime*
--version starting.txt /*--version*
--windowid starting.txt /*--windowid*
-A starting.txt /*-A*
@@ -1768,7 +1771,6 @@
:Print various.txt /*:Print*
:Rexplore pi_netrw.txt /*:Rexplore*
:RmVimball pi_vimball.txt /*:RmVimball*
-:Sexplore pi_netrw.txt /*:Sexplore*
:TOhtml syntax.txt /*:TOhtml*
:Texplore pi_netrw.txt /*:Texplore*
:UseVimball pi_vimball.txt /*:UseVimball*
@@ -1781,6 +1783,9 @@
:_! cmdline.txt /*:_!*
:_# cmdline.txt /*:_#*
:_## cmdline.txt /*:_##*
+:_#0 cmdline.txt /*:_#0*
+:_#< cmdline.txt /*:_#<*
+:_#n cmdline.txt /*:_#n*
:_% cmdline.txt /*:_%*
:_%: cmdline.txt /*:_%:*
:_%< cmdline.txt /*:_%<*
@@ -1971,7 +1976,7 @@
:command-range map.txt /*:command-range*
:command-register map.txt /*:command-register*
:command-verbose map.txt /*:command-verbose*
-:comment eval.txt /*:comment*
+:comment cmdline.txt /*:comment*
:comp quickfix.txt /*:comp*
:compiler quickfix.txt /*:compiler*
:con eval.txt /*:con*
@@ -2087,6 +2092,7 @@
:enew! editing.txt /*:enew!*
:ex editing.txt /*:ex*
:exe eval.txt /*:exe*
+:exe-comment eval.txt /*:exe-comment*
:execute eval.txt /*:execute*
:exi editing.txt /*:exi*
:exit editing.txt /*:exit*
@@ -2434,6 +2440,8 @@
:nunme gui.txt /*:nunme*
:nunmenu gui.txt /*:nunmenu*
:o vi_diff.txt /*:o*
+:ol starting.txt /*:ol*
+:oldfiles starting.txt /*:oldfiles*
:om map.txt /*:om*
:omap map.txt /*:omap*
:omap_l map.txt /*:omap_l*
@@ -2862,6 +2870,8 @@
:unme gui.txt /*:unme*
:unmenu gui.txt /*:unmenu*
:unmenu-all gui.txt /*:unmenu-all*
+:uns various.txt /*:uns*
+:unsilent various.txt /*:unsilent*
:up editing.txt /*:up*
:update editing.txt /*:update*
:v repeat.txt /*:v*
@@ -4102,7 +4112,15 @@
E806 eval.txt /*E806*
E807 eval.txt /*E807*
E808 eval.txt /*E808*
+E809 cmdline.txt /*E809*
E81 map.txt /*E81*
+E810 diff.txt /*E810*
+E811 autocmd.txt /*E811*
+E812 autocmd.txt /*E812*
+E813 editing.txt /*E813*
+E814 editing.txt /*E814*
+E815 if_mzsch.txt /*E815*
+E816 diff.txt /*E816*
E82 message.txt /*E82*
E83 message.txt /*E83*
E84 windows.txt /*E84*
@@ -4304,6 +4322,7 @@
Russian russian.txt /*Russian*
S change.txt /*S*
SHELL starting.txt /*SHELL*
+SQLGetType ft_sql.txt /*SQLGetType*
SQLSetType ft_sql.txt /*SQLSetType*
Select visual.txt /*Select*
Select-mode visual.txt /*Select-mode*
@@ -4698,6 +4717,11 @@
c change.txt /*c*
c.vim syntax.txt /*c.vim*
cW change.txt /*cW*
+c_# cmdline.txt /*c_#*
+c_## cmdline.txt /*c_##*
+c_#< cmdline.txt /*c_#<*
+c_#n cmdline.txt /*c_#n*
+c_% cmdline.txt /*c_%*
c_<BS> cmdline.txt /*c_<BS>*
c_<C-Left> cmdline.txt /*c_<C-Left>*
c_<C-R> cmdline.txt /*c_<C-R>*
@@ -4733,6 +4757,7 @@
c_CTRL-C cmdline.txt /*c_CTRL-C*
c_CTRL-D cmdline.txt /*c_CTRL-D*
c_CTRL-E cmdline.txt /*c_CTRL-E*
+c_CTRL-F cmdline.txt /*c_CTRL-F*
c_CTRL-H cmdline.txt /*c_CTRL-H*
c_CTRL-I cmdline.txt /*c_CTRL-I*
c_CTRL-J cmdline.txt /*c_CTRL-J*
@@ -4773,6 +4798,7 @@
ceil() eval.txt /*ceil()*
ch.vim syntax.txt /*ch.vim*
change-list-jumps motion.txt /*change-list-jumps*
+change-name tips.txt /*change-name*
change-tabs change.txt /*change-tabs*
change.txt change.txt /*change.txt*
changed-5.1 version5.txt /*changed-5.1*
@@ -4836,6 +4862,7 @@
color-xterm syntax.txt /*color-xterm*
coloring syntax.txt /*coloring*
colortest.vim syntax.txt /*colortest.vim*
+command-line-window cmdline.txt /*command-line-window*
command-mode intro.txt /*command-mode*
compatible-default starting.txt /*compatible-default*
compile-changes-5 version5.txt /*compile-changes-5*
@@ -5022,6 +5049,7 @@
dd change.txt /*dd*
debug-gcc debug.txt /*debug-gcc*
debug-highlight debugger.txt /*debug-highlight*
+debug-leaks debug.txt /*debug-leaks*
debug-minidump debug.txt /*debug-minidump*
debug-mode repeat.txt /*debug-mode*
debug-scripts repeat.txt /*debug-scripts*
@@ -5512,7 +5540,6 @@
ft-xml-syntax syntax.txt /*ft-xml-syntax*
ft-xpm-syntax syntax.txt /*ft-xpm-syntax*
ft_ada.txt ft_ada.txt /*ft_ada.txt*
-ft_sql.txt ft_sql.txt /*ft_sql.txt*
ftdetect filetype.txt /*ftdetect*
ftp pi_netrw.txt /*ftp*
ftplugin usr_41.txt /*ftplugin*
@@ -5544,6 +5571,7 @@
g0 motion.txt /*g0*
g8 various.txt /*g8*
g:NetrwTopLvlMenu pi_netrw.txt /*g:NetrwTopLvlMenu*
+g:Netrw_funcref pi_netrw.txt /*g:Netrw_funcref*
g:ada#Comment ft_ada.txt /*g:ada#Comment*
g:ada#Ctags_Kinds ft_ada.txt /*g:ada#Ctags_Kinds*
g:ada#DotWordRegex ft_ada.txt /*g:ada#DotWordRegex*
@@ -5588,8 +5616,10 @@
g:netrw_altv pi_netrw.txt /*g:netrw_altv*
g:netrw_browse_split pi_netrw.txt /*g:netrw_browse_split*
g:netrw_browsex_viewer pi_netrw.txt /*g:netrw_browsex_viewer*
+g:netrw_chgwin pi_netrw.txt /*g:netrw_chgwin*
g:netrw_compress pi_netrw.txt /*g:netrw_compress*
g:netrw_ctags pi_netrw.txt /*g:netrw_ctags*
+g:netrw_cursorline pi_netrw.txt /*g:netrw_cursorline*
g:netrw_cygwin pi_netrw.txt /*g:netrw_cygwin*
g:netrw_dav_cmd pi_netrw.txt /*g:netrw_dav_cmd*
g:netrw_decompress pi_netrw.txt /*g:netrw_decompress*
@@ -5606,7 +5636,9 @@
g:netrw_ftpmode pi_netrw.txt /*g:netrw_ftpmode*
g:netrw_glob_escape pi_netrw.txt /*g:netrw_glob_escape*
g:netrw_hide pi_netrw.txt /*g:netrw_hide*
+g:netrw_home pi_netrw.txt /*g:netrw_home*
g:netrw_http_cmd pi_netrw.txt /*g:netrw_http_cmd*
+g:netrw_http_xcmd pi_netrw.txt /*g:netrw_http_xcmd*
g:netrw_ignorenetrc pi_netrw.txt /*g:netrw_ignorenetrc*
g:netrw_keepdir pi_netrw.txt /*g:netrw_keepdir*
g:netrw_list_cmd pi_netrw.txt /*g:netrw_list_cmd*
@@ -5629,6 +5661,7 @@
g:netrw_rsync_cmd pi_netrw.txt /*g:netrw_rsync_cmd*
g:netrw_scp_cmd pi_netrw.txt /*g:netrw_scp_cmd*
g:netrw_scpport pi_netrw.txt /*g:netrw_scpport*
+g:netrw_sepchr pi_netrw.txt /*g:netrw_sepchr*
g:netrw_sftp_cmd pi_netrw.txt /*g:netrw_sftp_cmd*
g:netrw_silent pi_netrw.txt /*g:netrw_silent*
g:netrw_sort_by pi_netrw.txt /*g:netrw_sort_by*
@@ -6054,6 +6087,7 @@
i_CTRL-P insert.txt /*i_CTRL-P*
i_CTRL-Q insert.txt /*i_CTRL-Q*
i_CTRL-R insert.txt /*i_CTRL-R*
+i_CTRL-R_= insert.txt /*i_CTRL-R_=*
i_CTRL-R_CTRL-O insert.txt /*i_CTRL-R_CTRL-O*
i_CTRL-R_CTRL-P insert.txt /*i_CTRL-R_CTRL-P*
i_CTRL-R_CTRL-R insert.txt /*i_CTRL-R_CTRL-R*
@@ -6228,6 +6262,7 @@
known-bugs todo.txt /*known-bugs*
l motion.txt /*l*
l:var eval.txt /*l:var*
+lCursor mbyte.txt /*lCursor*
lace.vim syntax.txt /*lace.vim*
lang-variable eval.txt /*lang-variable*
language-mapping map.txt /*language-mapping*
@@ -6483,6 +6518,7 @@
netrw pi_netrw.txt /*netrw*
netrw-% pi_netrw.txt /*netrw-%*
netrw-- pi_netrw.txt /*netrw--*
+netrw-C pi_netrw.txt /*netrw-C*
netrw-D pi_netrw.txt /*netrw-D*
netrw-O pi_netrw.txt /*netrw-O*
netrw-P pi_netrw.txt /*netrw-P*
@@ -6524,9 +6560,12 @@
netrw-explore-cmds pi_netrw.txt /*netrw-explore-cmds*
netrw-externapp pi_netrw.txt /*netrw-externapp*
netrw-file pi_netrw.txt /*netrw-file*
+netrw-filigree pi_netrw.txt /*netrw-filigree*
netrw-fixup pi_netrw.txt /*netrw-fixup*
netrw-ftp pi_netrw.txt /*netrw-ftp*
+netrw-ftype pi_netrw.txt /*netrw-ftype*
netrw-gb pi_netrw.txt /*netrw-gb*
+netrw-getftype pi_netrw.txt /*netrw-getftype*
netrw-gh pi_netrw.txt /*netrw-gh*
netrw-gx pi_netrw.txt /*netrw-gx*
netrw-handler pi_netrw.txt /*netrw-handler*
@@ -6543,6 +6582,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-mT pi_netrw.txt /*netrw-mT*
netrw-mb pi_netrw.txt /*netrw-mb*
netrw-mc pi_netrw.txt /*netrw-mc*
@@ -6571,6 +6611,7 @@
netrw-p1 pi_netrw.txt /*netrw-p1*
netrw-p10 pi_netrw.txt /*netrw-p10*
netrw-p11 pi_netrw.txt /*netrw-p11*
+netrw-p12 pi_netrw.txt /*netrw-p12*
netrw-p2 pi_netrw.txt /*netrw-p2*
netrw-p3 pi_netrw.txt /*netrw-p3*
netrw-p4 pi_netrw.txt /*netrw-p4*
@@ -6732,6 +6773,7 @@
objects index.txt /*objects*
obtaining-exted netbeans.txt /*obtaining-exted*
ocaml.vim syntax.txt /*ocaml.vim*
+oldfiles-variable eval.txt /*oldfiles-variable*
ole-activation if_ole.txt /*ole-activation*
ole-eval if_ole.txt /*ole-eval*
ole-gethwnd if_ole.txt /*ole-gethwnd*
@@ -6852,7 +6894,7 @@
posix vi_diff.txt /*posix*
posix-compliance vi_diff.txt /*posix-compliance*
posix-screen-size vi_diff.txt /*posix-screen-size*
-postgres ft_sql.txt /*postgres*
+postgress ft_sql.txt /*postgress*
postscr.vim syntax.txt /*postscr.vim*
postscript-cjk-printing print.txt /*postscript-cjk-printing*
postscript-print-encoding print.txt /*postscript-print-encoding*
@@ -6889,6 +6931,7 @@
profiling-variable eval.txt /*profiling-variable*
progname-variable eval.txt /*progname-variable*
progress.vim syntax.txt /*progress.vim*
+pronounce intro.txt /*pronounce*
psql ft_sql.txt /*psql*
ptcap.vim syntax.txt /*ptcap.vim*
pterm-mouse options.txt /*pterm-mouse*
@@ -7149,6 +7192,7 @@
setting-guifont gui.txt /*setting-guifont*
setting-guitablabel tabpage.txt /*setting-guitablabel*
setting-tabline tabpage.txt /*setting-tabline*
+setuid change.txt /*setuid*
setwinvar() eval.txt /*setwinvar()*
sftp pi_netrw.txt /*sftp*
sgml.vim syntax.txt /*sgml.vim*
@@ -7171,6 +7215,7 @@
sin() eval.txt /*sin()*
single-repeat repeat.txt /*single-repeat*
skeleton autocmd.txt /*skeleton*
+slice eval.txt /*slice*
slow-fast-terminal term.txt /*slow-fast-terminal*
slow-start starting.txt /*slow-start*
slow-terminal term.txt /*slow-terminal*
@@ -7195,6 +7240,7 @@
spell-ACCENT spell.txt /*spell-ACCENT*
spell-AUTHOR spell.txt /*spell-AUTHOR*
spell-BAD spell.txt /*spell-BAD*
+spell-BREAK spell.txt /*spell-BREAK*
spell-CHECKCOMPOUNDCASE spell.txt /*spell-CHECKCOMPOUNDCASE*
spell-CHECKCOMPOUNDDUP spell.txt /*spell-CHECKCOMPOUNDDUP*
spell-CHECKCOMPOUNDPATTERN spell.txt /*spell-CHECKCOMPOUNDPATTERN*
@@ -7214,6 +7260,7 @@
spell-COMPOUNDPERMITFLAG spell.txt /*spell-COMPOUNDPERMITFLAG*
spell-COMPOUNDROOT spell.txt /*spell-COMPOUNDROOT*
spell-COMPOUNDRULE spell.txt /*spell-COMPOUNDRULE*
+spell-COMPOUNDRULES spell.txt /*spell-COMPOUNDRULES*
spell-COMPOUNDSYLLABLE spell.txt /*spell-COMPOUNDSYLLABLE*
spell-COMPOUNDSYLMAX spell.txt /*spell-COMPOUNDSYLMAX*
spell-COMPOUNDWORDMAX spell.txt /*spell-COMPOUNDWORDMAX*
@@ -7224,6 +7271,7 @@
spell-FORBIDDENWORD spell.txt /*spell-FORBIDDENWORD*
spell-HOME spell.txt /*spell-HOME*
spell-KEEPCASE spell.txt /*spell-KEEPCASE*
+spell-KEY spell.txt /*spell-KEY*
spell-LANG spell.txt /*spell-LANG*
spell-LEMMA_PRESENT spell.txt /*spell-LEMMA_PRESENT*
spell-LOW spell.txt /*spell-LOW*
@@ -7311,9 +7359,11 @@
sql-predefined-objects ft_sql.txt /*sql-predefined-objects*
sql-type-default ft_sql.txt /*sql-type-default*
sql-types ft_sql.txt /*sql-types*
+sql.txt ft_sql.txt /*sql.txt*
sql.vim syntax.txt /*sql.vim*
sqlanywhere ft_sql.txt /*sqlanywhere*
sqlanywhere.vim syntax.txt /*sqlanywhere.vim*
+sqlgettype ft_sql.txt /*sqlgettype*
sqlinformix.vim syntax.txt /*sqlinformix.vim*
sqlj ft_sql.txt /*sqlj*
sqlserver ft_sql.txt /*sqlserver*
@@ -7364,12 +7414,14 @@
sub-replace-\= change.txt /*sub-replace-\\=*
sub-replace-expression change.txt /*sub-replace-expression*
sub-replace-special change.txt /*sub-replace-special*
+sublist eval.txt /*sublist*
submatch() eval.txt /*submatch()*
subscribe-maillist intro.txt /*subscribe-maillist*
substitute() eval.txt /*substitute()*
substitute-CR version6.txt /*substitute-CR*
suffixes cmdline.txt /*suffixes*
suspend starting.txt /*suspend*
+swap-exists-choices usr_11.txt /*swap-exists-choices*
swap-file recover.txt /*swap-file*
swapchoice-variable eval.txt /*swapchoice-variable*
swapcommand-variable eval.txt /*swapcommand-variable*
@@ -7650,6 +7702,7 @@
tear-off-menus gui.txt /*tear-off-menus*
telnet-CTRL-] tagsrch.txt /*telnet-CTRL-]*
temp-file-name eval.txt /*temp-file-name*
+tempfile change.txt /*tempfile*
template autocmd.txt /*template*
tempname() eval.txt /*tempname()*
term-dependent-settings term.txt /*term-dependent-settings*
@@ -7818,6 +7871,7 @@
v:mouse_col eval.txt /*v:mouse_col*
v:mouse_lnum eval.txt /*v:mouse_lnum*
v:mouse_win eval.txt /*v:mouse_win*
+v:oldfiles eval.txt /*v:oldfiles*
v:operator eval.txt /*v:operator*
v:prevcount eval.txt /*v:prevcount*
v:profiling eval.txt /*v:profiling*
@@ -7942,6 +7996,7 @@
v_y change.txt /*v_y*
v_~ change.txt /*v_~*
val-variable eval.txt /*val-variable*
+valgrind debug.txt /*valgrind*
values() eval.txt /*values()*
variables eval.txt /*variables*
various various.txt /*various*
@@ -8008,6 +8063,7 @@
viminfo-file-marks starting.txt /*viminfo-file-marks*
viminfo-file-name starting.txt /*viminfo-file-name*
viminfo-read starting.txt /*viminfo-read*
+viminfo-read-write starting.txt /*viminfo-read-write*
viminfo-write starting.txt /*viminfo-write*
vimrc starting.txt /*vimrc*
vimrc-filetype usr_05.txt /*vimrc-filetype*
diff -Nur runtime.patched/doc/tagsrch.txt runtime/doc/tagsrch.txt
--- runtime.patched/doc/tagsrch.txt 2008-08-09 07:23:00.000000000 -0700
+++ runtime/doc/tagsrch.txt 2009-02-22 13:51:57.000000000 -0800
@@ -1,4 +1,4 @@
-*tagsrch.txt* For Vim version 7.2. Last change: 2006 Apr 24
+*tagsrch.txt* For Vim version 7.2. Last change: 2009 Feb 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -176,7 +176,7 @@
3. Tag match list *tag-matchlist* *E427* *E428*
When there are several matching tags, these commands can be used to jump
-between them. Note that these command don't change the tag stack, they keep
+between them. Note that these commands don't change the tag stack, they keep
the same entry.
*:ts* *:tselect*
@@ -428,6 +428,10 @@
|+emacs_tags| feature enabled. Sorry, there is no explanation about Emacs tag
files here, it is only supported for backwards compatibility :-).
+Lines in Emacs tags files can be very long. Vim only deals with lines of up
+to about 510 bytes. To see whether lines are ignored set 'verbose' to 5 or
+higher.
+
*tags-option*
The 'tags' option is a list of file names. Each of these files is searched
for the tag. This can be used to use a different tags file than the default
diff -Nur runtime.patched/doc/tips.txt runtime/doc/tips.txt
--- runtime.patched/doc/tips.txt 2008-08-09 07:23:00.000000000 -0700
+++ runtime/doc/tips.txt 2009-02-22 13:51:57.000000000 -0800
@@ -1,4 +1,4 @@
-*tips.txt* For Vim version 7.2. Last change: 2006 Jul 24
+*tips.txt* For Vim version 7.2. Last change: 2009 Feb 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -6,6 +6,10 @@
Tips and ideas for using Vim *tips*
+These are just a few that we thought would be helpful for many users.
+You can find many more tips on the wiki. The URL can be found on
+http://www.vim.org
+
Don't forget to browse the user manual, it also contains lots of useful tips
|usr_toc.txt|.
@@ -18,11 +22,12 @@
Counting words, lines, etc. |count-items|
Restoring the cursor position |restore-position|
Renaming files |rename-files|
+Change a name in multiple files |change-name|
Speeding up external commands |speed-up|
Useful mappings |useful-mappings|
Compressing the help files |gzip-helpfile|
-Hex editing |hex-editing|
Executing shell commands in a window |shell-window|
+Hex editing |hex-editing|
Using <> notation in autocommands |autocmd-<>|
Highlighting matching parens |match-parens|
@@ -266,6 +271,25 @@
:q!
==============================================================================
+Change a name in multiple files *change-name*
+
+Example for using a script file to change a name in several files:
+
+ Create a file "subs.vim" containing substitute commands and a :update
+ command: >
+ :%s/Jones/Smith/g
+ :%s/Allen/Peter/g
+ :update
+<
+ Execute Vim on all files you want to change, and source the script for
+ each argument: >
+
+ vim *.let
+ argdo source subs.vim
+
+See |:argdo|.
+
+==============================================================================
Speeding up external commands *speed-up*
In some situations, execution of an external command can be very slow. This
diff -Nur runtime.patched/doc/todo.txt runtime/doc/todo.txt
--- runtime.patched/doc/todo.txt 2008-08-09 07:23:00.000000000 -0700
+++ runtime/doc/todo.txt 2009-10-28 13:57:15.000000000 -0700
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.2. Last change: 2008 Aug 09
+*todo.txt* For Vim version 7.2. Last change: 2009 Oct 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -30,31 +30,319 @@
*known-bugs*
-------------------- Known bugs and current work -----------------------
-":pedit %" with a BufReadPre autocommand causes the cursor to move to the
-first line. (Ingo Karkat, 2008 Jul 1) Ian Kelling is working on this.
+Crash with redir to unknown array. (Christian Brabandt, 2009 Oct 25)
+Analysis by Dominique Pelle.
+ vim -u NONE -N -c 'redir => temp[0] |echo 1| redir END'
-Have a look at patch for utf-8 line breaking. (Yongwei Wu, 2008 Mar 1, Mar 23)
+C syntax: Recognize comments in #define (Samuel Thibault, 2009 Sep 16)
+
+patch to close file desc on ":shell". (James Vega, 2009 Aug 11, Sep 11)
+
+Crash when assigning s: to variable, pointer becomes invalid later.
+(Yukihiro Nakadaira, 2009 Oct 12, confirmed by Dominique Pelle)
+
+Coverity: ask someone to create new user: Dominique.
+look into reported defects: http://scan.coverity.com/rung2.html
+
+Spanish messages and menus. (Omar Campagne, 2009 Oct 1)
+
+Patch to fix text formatting with small 'tw'. (Yukihiro Nakadaira, 2009 Sep
+26, update Sep 29)
+
+Bug with 'incsearch' going to wrong line. (Wolfram Kresse, 2009 Aug 17)
+Only with "vim -u NONE".
+
+Problem with editing file in binary mode. (Ingo Krabbe, 2009 Oct 8)
+
+Support .xz with the xz program, like with lzma.
+
+Patch to set v:key for map() function. (Hari Krishna Dara, 2009 Sep 26)
+
+Perl runtime files update. (Andy Lester, 2009 Aug 25)
+
+Gvimext patch to support wide file names. (Szabolcs Horvat 2008 Sep 10)
+
+Problem with stop directory in findfile(). (Adam Simpkins, 2009 Aug 26)
+
+Patch to support :browse for more commands. (Lech Lorens, 2009 Jul 18)
+
+New wordlist for Dutch: http://www.opentaal.org/bestanden/1_10/nl_NL-Pack
+
+Check for unused functions, idea:
+http://blog.flameeyes.eu/2008/01/17/today-how-to-identify-unused-exported-functions-and-variables
+
+In command line window ":close" doesn't work properly. (Tony Mechelynck, 2009
+Jun 1)
+
+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.
+
+Reproducable crash in syntax HL. (George Reilly, Dominique Pelle, 2009 May 9)
+
+Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
+
+For running gvim on an USB stick: avoid the OLE registration. Use a command
+line argument -noregister.
+
+submatch() may remove backslash. (Sergey Goldgaber, 2009 Jul 6)
+
+Still a problem with ":make" in the wrong directory. Caused by ":bufdo".
+(Ajit Thakkar, 2009 Jul 1) More information Jul 9, Jul 15.
+Caused by "doautoall syntaxset BufEnter *" in syntax/nosyntax.vim ?
+There also is a BufLeave/BufEnter aucmd to save/restore view.
+Does the patch to save/restore globaldir work?
+
+Patch for displaying 0x200c and 0x200d. (Ali Gholami Rudi, 2009 May 6)
+Probably needs a bit of work.
+
+List of encoding aliases. (Takao Fujiware, 2009 Jul 18)
+Are they all OK? Update Jul 22.
+
+Patch for Ruby sockets. (todesking/Ariya Mizutani, 2008 Jul 1,24)
+Confirmed by Anton Sharonov, 2008 Dec 26.
+
+Patch for Ruby 1.9. (Msaki Suketa, 2009 Jul 21, Jul 26)
+
+Patch for completion of ":find" arguments. (Nazri Ramliy, 2009 Feb 22, 26)
+8 For ":find" and ":sfind" expand files found in 'path'.
+Update 2009 Mar 28.
+
+Setting 'tags' to "tagsdir/*" does not find "tagsdir/tags". (Steven K. Wong,
+2009 Jul 18)
+
+":e dir<Tab>" with 'wildmode' set to "list" doesn't highlight directory names
+with a space. (Alexandre Provencio, 2009 Jun 9)
+
+Patch to add farsi handling to arabic.c (Ali Gholami Rudi, 2009 May 2)
+Added test, updates, June 23.
+
+Patch to add "focusonly" to 'scrollopt', so that scrollbind also applies in
+window that doesn't have focus. (Jonathon Mah, 2009 Jan 12)
+Needs more work.
+
+Problem with <script> mappings (Andy Wokula, 2009 Mar 8)
+
+Patch to support netbeans for Mac. (Kazuki Sakamoto, 2009 Jun 25)
+
+Patch to support clibpoard for Mac terminal. (Jjgod Jiang, 2009 Aug 1)
+
+When starting Vim with "gvim -f -u non_existent_file > foo.txt" there are a
+few control characters in the output. (Dale Wiles, 2009 May 28)
+
+'cmdwinheight is only used in last window when 'winheight' is a large value.
+(Tony Mechelynck, 2009 Apr 15)
+
+Status line containing winnr() isn't updated when splitting the window (Clark
+J. Wang, 2009 Mar 31)
+
+Patch for vertical line at certain column position, 'guidecolumn' option.
+(Pankaj Garg, 2009 Apr 14, aka Lone, Apr 15)
+Update 2009 May 2, 'margincolumn'
+
+Add different highlighting for a fold line depending on the fold level.
+Patch. (Noel Henson, 2009 Sep 13)
+
+When 'ft' changes redraw custom status line.
+
+":tab split fname" doesn't set the alternate file in the original window,
+because win_valid() always returns FALSE. Below win_new_tabpage() in
+ex_docmd.c.
+
+Space before comma in function defenition not allowed: "function x(a , b)"
+Give a more appropriate error message. Add a remark to the docs.
+
+string_convert() should be able to convert between utf-8 and utf-16le. Used
+for GTK clipboard. Avoid requirement for iconv.
+
+Now that colnr_T is int instead of unsigned, more type casts can be removed.
+
+'delcombine' does not work for the command line. (Tony Mechelynck, 2009 Jul
+20)
+
+Unwanted file name escaping: ":echo input('file:' , '', 'file')"
+And use file name completion on a file with spaces. (Frederic Hardy, 2009 Mar
+23)
+
+Don't load macmap.vim on startup, turn it into a plugin. (Ron Aaron,
+2009 Apr 7) Reminder Apr 14.
+
+Add "no_hlsearch" to winsaveview().
+
+Cursorline highlighting combines with Search ('hlsearch') but not with
+SpellBad. (Jim Karsten, 2009 Mar 18)
+
+When 'foldmethod' is "indent", using >> on a line just above a fold makes the
+cursor line folded. (Evan Laforge, 2009 Oct 17)
+
+When 'foldmethod' is "indent", adding an empty line below a fold and then
+indented text, creates a new fold instead of joining it with the previous one.
+(Evan Laforge, 2009 Oct 17)
+
+Bug: When reloading a buffer changed outside of Vim, BufRead autocommands
+are applied to the wrong buffer/window. (Ben Fritz, 2009 Apr 2, May 11)
+Ignore window options when not in the right window?
+Perhaps we need to use a hidden window for applying autocommands to a buffer
+that doesn't have a window.
+
+When using "ab foo bar" and mapping <Tab> to <Esc>, pressing <Tab> after foo
+doesn't trigger the abbreviation like <Esc> would. (Ramana Kumar, 2009 Sep 6)
+
+getbufvar() to get a window-local option value for a buffer that's not
+displayed in a window should return the value that's stored for that buffer.
+
+":he ctrl_u" can be auto-corrected to ":he ctrl-u".
+
+Patch to make synIDattr() work for GUI attributes in Vim without GUI feature.
+(Matt Wozniski, 2009 Apr 15)
+
+There should be a way after an abbreviation has expanded to go back to what
+was typed. CTRL-G h ? Would also undo last word or line break inserted
+perhaps. And undo CTRL-W. CTRL-G l would redo.
+
+Win32: A --remote command that has a directory name starting with a ( doesn't
+work, the backslash is removed, assuming that it escapes the (. (Valery
+Kondakoff, 2009 May 13)
+
+Win32 GUI: Changing manifest helps for dpi changes (Joe Castro, 2009 Mar 27)
+
+Win32: patch for cross compile xxd and GvimExt. (Markus Heidelberg, 2009 Mar
+18) Also update INSTALLpc.txt?
+Patch for xxd/Make_cyg.mak. (Chris Sutcliffe, 2009 Jun 10) Included in the
+above?
+
+Win32: patch for better font scaling. (George Reilly, 2009 Mar 26)
+
+Win32 GUI: last message from startup doesn't show up when there is an echoerr
+command. (Cyril Slobin, 2009 Mar 13)
+
+Win32: use different args for SearchPath()? (Yasuhiro Matsumoto, 2009 Jan 30)
+
+Win32: completion of file name ":e c:\!test" results in ":e c:\\!test", which
+does not work. (Nieko Maatjes, 2009 Jan 8, Ingo Karkat, 2009 Jan 22)
+
+Directory wrong in session file, caused by ":lcd" in BufEnter autocommand.
+(Felix Kater, 2009 Mar 3)
+
+maparg() doesn't return the flags, such as <buffer>, <script>, <silent>.
+These are needed to save and restore a mapping.
+Also: the rhs string is not always correct. (Hari Krishna Dara, 2009 Sept 29)
+
+Using ~ works OK on 'a' with composing char, but not on 0x0418 with composing
+char 0x0301. (Tony Mechelynck, 2009 Mar 4)
+
+6 In the quickfix window statusline add the command used to get the list of
+ errors, e.g. ":make foo", ":grep something *.c".
+ Patch by Lech Lorens, 2009 Mar 23.
+ Comments from Andreas Bernauer 24th, Dominique Pelle 24th
+ Docs patch by Dominique Pelle, Mar 25
+ Update 2009 Mar 28.
+ Fix for invalid memory access. (Lech Lorens, 2009 Apr 17)
+
+Inconsistent: starting with $LANG set to es_ES.utf-8 gives Spanish
+messages, even though locale is not supported. But ":lang messages
+es_ES.utf-8" gives an error and doesn't switch messages. (Dominique Pelle,
+2009 Jan 26)
+
+When $HOME contains special characters, sich as a comma, escape them when used
+in an option. (Michael Hordijk, 2009 May 5)
+Turn "esc" argument of expand_env_esc() into string of chars to be escaped.
+
+Can 'undolevels' be a buffer-local option? Helps for making big changes in
+one file only, set 'ul' to -1 only for that buffer.
+
+Should make 'ignorecase' global-local, so that it makes sense setting it from
+a modeline.
+
+Add cscope target to Makefile. (Tony Mechelynck, 2009 Jun 18, replies by
+Sergey Khorev)
+
+Consider making YankRing or something else that keeps a list of yanked text
+part of standard Vim. The "1 to "9 registers are not sufficient.
netrw: dragging status line causes selection of entry. Should check row
number to be below last visible line.
+Make do_do_join() work faster. Could at least do a binary search way of doing
+this. Hint from Dominique Pelle, Dec 10; Lee Naish, Dec 11.
+Patch from Milan Vancura, 2008 Dec 22. Update 2009 Jan 7 in two parts.
+
+After doing "su" $HOME can be the old user's home, thus ~root/file is not
+correct. Don't use it in the swap file.
+
+Completion for ":buf" doesn't work properly on Win32 when 'shellslash' is off.
+(Henrik Ohman, 2009, Jan 29)
+
+Allow patches to add something to version.c, like with an official patch, so
+that :version output shows which patches have been applied.
+
+Have a look at patch for utf-8 line breaking. (Yongwei Wu, 2008 Mar 1, Mar 23)
+Now at: http://vimgadgets.sourceforge.net/liblinebreak/
+
+Greek sigma character should be lower cased depending on the context. Can we
+make this work? (Dominique Pelle, 2009 Sep 24)
+
+Disable setting 'encoding' from a modeline? It usually causes problems, can't
+do any good. (Patch from Patrick Texier, 2008 Dec 9)
+
+When changing 'encoding' convert all the swap file names, so that we can
+still delete them. Also convert all buffer file names?
+
+Update src/testdir/main.aap.
+
+"vim -c 'sniff connect'" hangs Vim. (Dominique Pelle, 2008 Dec 7)
+
+Something wrong with session that has "cd" commands and "badd", in such a way
+that Vim doesn't find the edited file in the buffer list, causing the
+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)
+
+Redraw problem when appending digraph causes line to wrap. (James Vega, 2007
+Sep 18) Patch by Ian Kelling, 2008 Aug 8.
+
Runtime files for Clojure. (Toralf Wittner, 2008 Jun 25)
-Patch to add extra argument to glob() and globpath() to ignore 'wildignore'.
-(Ingo Karkat, 2008 Jun 25)
+MS-Windows: editing the first, empty buffer, 'ffs' set to "unix,dos", ":enew"
+doesn't set 'ff' to "unix". (Ben Fritz, 2008 Dec 5) Reusing the old buffer
+probably causes this.
+
+'scrollbind' is not respected when deleting lines or undo. (Milan Vancura,
+1009 Jan 16)
+
+Document that default font in Athena can be set with resources:
+ XtDefaultFont: "9x15"
+ XtDefaultFontSet: "9x15"
+(Richard Sherman, 2009 Apr 12)
+
+Having "Syntax" in 'eventignore' for :bufdo may cause problems, e.g. for
+":bufdo e" when buffers are open in windows. ex_listdo(eap) could set the
+option only for when jumping to another buffer, not when the command argument
+is executed.
Crash with dragn-n-drop of file combined with netrw (Marius Gedminas, 2008 Jun
11) I can't reproduce it. It's probably caused by a handle_drop() call
in combination with autocommands that invoke a ":redraw" command.
Another valgrind output Jun 30.
-When reallocating cmdline xp_pattern becomes invalid. Move expand_T xpc into
-ccline? (Dominique Pelle)
+":pedit %" with a BufReadPre autocommand causes the cursor to move to the
+first line. (Ingo Karkat, 2008 Jul 1) Ian Kelling is working on this.
Wildmenu not deleted: "gvim -u NONE", ":set nocp wildmenu cmdheight=3
laststatus=2", CTRL-D CTRL-H CTRL-H CTRL-H. (A.Politz, 2008 April 1)
Works OK with Vim in an xterm.
+Cursor line moves in other window when using CTRL-W J that doesn't change
+anything. (Dasn, 2009 Apr 7)
+
+On Unix "glob('does not exist~')" returns the string. Without the "~" it
+doesn't. (John Little, 2008 Nov 9)
+Shell expansion returns unexpanded string?
+Don't use shell when "~" is not at the start?
+
+":unlet $VAR" doesn't work.
+
When using ":e ++enc=foo file" and the file is already loaded with
'fileencoding' set to "bar", then do_ecmd() uses that buffer, even though the
fileencoding differs. Reload the buffer in this situation? Need to check for
@@ -62,8 +350,24 @@
Unfinished patch by Ian Kelling, 2008 Jul 11. Followup Jul 14, need to have
another look at it.
+Patch for c.vim and cpp.vim syntax files. (Chung-chieh Shan, 2008 Nov 26)
+
+c.vim: XXX in a comment is colored yellow, but not when it's after "#if 0".
+(Ilya Dogolazky, 2009 Aug 7)
+
+Win32: ":dis +" shows nothing, but "+p does insert text. Problem with "* and
+"+ being the same thing?
+
+You can type ":w ++bad=x fname", but the ++bad argument is ignored. Give an
+error message? Or is this easy to implement? (Nathan Stratton Treadway, 2008
+Aug 20) This is in ucs2bytes(), search for 0xBF. Using the ++bad argument is
+at the other match for 0xBF.
+
Fix for matchparen HL doesn't work. beep.
+When adding "-complete=file" to a user command this also changes how the
+argument is processed for <f-args>. (Ivan Tishchenko, 2008 Aug 19)
+
Win32: associating a type with Vim doesn't take care of space after a
backslash? (Robert Vibrant, 2008 Jun 5)
@@ -74,13 +378,43 @@
":help s/~" jumps to *s/\~*, while ":help s/\~" doesn't find anything. (Tim
Chase) Fix by Ian Kelling, 2008 Jul 14.
+":colorscheme" without arguments should echo the current color scheme name.
+
+After using ":recover" or recovering a file in another way, ":x" doesn't save
+what you see. Mark the buffer as modified? Only when the text is actually
+different from the original file?
+
+Use "\U12345678" for 32 bit Unicode characters? (Tony Mechelynck, 2009
+Apr 6) Or use "\u(123456)", similar to Perl.
+
+When mapping : to ; and ; to :, @; doesn't work like @: and @: doesn't work
+either. Matt Wozniski: nv_at() calls do_execreg() which uses
+put_in_typebuf(). Char mapped twice?
+
+Patch for colorscheme submenu. (Juergen Kraemer, 2008 Aug 20)
+
+Patch for Python 3 support. (Roland Puntaier, 2009 Sep 22)
+Includes changes for omnicompletion.
+Needs to be tested.
+
+8 Some file systems are case-sensitive, some are not. Turn
+ CASE_INSENSITIVE_FILENAME into an option, at least for completion.
+
+9 Make it possible to drag a tab page label to another position with the
+ mouse.
+Patch by Paul B. Mahol, 2008 Aug 29.
+
Despite adding save_subexpr() this still doesn't work properly:
Regexp: matchlist('12a4aaa', '^\(.\{-}\)\(\%5c\@<=a\+\)\(.\+\)\?')
Returns ['12a4', 'aaa', '4aaa'], should be ['12a4', 'aaa', '']
Backreference not cleared when retrying after \@<= fails?
(Brett Stahlman, 2008 March 8)
-Patch for 2html.vim to avoid "&nbsp;". (Markus Heidelberg, 2008 Jul 19)
+Problem with remote_send(). (Charles Campbell, 2008 Aug 12)
+
+Patch to support netbeans in Unix console Vim. (Xaview de Gaye, 2009 Apr 26)
+
+ftplugin for help file should set 'isk' to help file value.
Win32: remote editing fails when the current directory name contains "[".
(Ivan Tishchenko, Liu Yubao) Suggested patch by Chris Lubinski: Avoid
@@ -102,9 +436,14 @@
Only happens with "gvim -geometry "160x26+4+27" -u NONE -U NONE prop.c".
'lines' is 54. (2008 March 27)
+Problem with pointer wrapping around in getvcol(). (Wolfgang Kroworsch, 2008
+Oct 19) Check for "col" being "MAXCOL" separately?
+
Unexpectedly inserting a double quote. (Anton Woellert, 2008 Mar 23)
Works OK when 'cmdheight' is 2.
+Test54 should not use shell commands. Make it portable.
+
The utf class table is missing some entries:
0x2212, minus sign
0x2217, star
@@ -117,6 +456,12 @@
GUI: In Normal mode can't yank the modeless selection. Make "gy" do this?
Works like CTRL-Y in Command line mode.
+Mac: Move Carbon todo items to os_mac.txt. Note that this version is frozen,
+try the Cocoa version.
+
+Mac: Patch to disable antialias. (LC Mi, 2008 Aug 23) Tested on 10.5 and
+10.4.
+
Mac: After a ":vsplit" the left scrollbar doesn't appear until 'columns' is
changed or the window is resized.
@@ -134,12 +479,37 @@
with %nn%nn, which is taken as two characters instead of one.
Try to reproduce at work.
+Patch for default choice in file changed dialog. (Bjorn Winckler, 2008 Oct 19)
+Is there a way to list all the files first?
+
+When 'smartcase' is set and using CTRL-L to add to the search pattern it may
+result in no matches. Convert chars to lower case? (Erik Wognsen, 2009 Apr
+16)
+
Patch for redo register. (Ben Schmidt, 2007 Oct 19)
Await response to question to make the register writable.
+src/testdir/Make_dos.mak: not all tests are included, e.g., test49, without a
+remark why.
+
Problem with 'ts' set to 9 and 'showbreak' to ">>>". (Matthew Winn, 2007 Oct
1)
+In the swapfile dialog, add a H(elp) option that gives more info about what
+each choice does. Similar to ":help swap-exists-choices"
+
+try/catch not working for argument of return. (Matt Wozniski, 2008 Sep 15)
+
+Recognize and ignore BOM in error file. (Aleksey Baibarin)
+
+":tab help" always opens a new tab, while ":help" re-uses an existing window.
+Would be more consistent when an existing tab is re-used. (Tony Mechelynck)
+
+":tab drop filename" doesn't work nicely when "filename" is open in a window
+in another tab. (Tony Mechelynck, 2009 Feb 13)
+
+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.
@@ -147,6 +517,7 @@
- ~/vim/test/veryslow.js (file from Daniel Fetchinson)
- ~/vim/test/slowsearch
- ~/vim/test/rgb.vim
+- ~/vim/text/FeiqCfg.xml (file from Netjune)
- search for a.*e*exn in the vim executable. Go to last line to use
'hlsearch'.
@@ -160,6 +531,9 @@
C syntax: {} inside () causes following {} to be highlighted as error.
(Michalis Giannakidis, 2006 Jun 1)
+Can't easily close the help window, like ":pc" closes the preview window and
+":ccl" closes the quickfix window. Add ":hclose". (Chris Gaal)
+
When 'diffopt' has "context:0" a single deleted line causes two folds to merge
and mess up syncing. (Austin Jennings, 2008 Jan 31)
@@ -168,13 +542,24 @@
New PHP syntax file, use it? (Peter Hodge)
+Patch go make gui highlight settings work in Vim without +gui feature.
+(Matt Wozniski, 2009 Mar 27)
+
'foldcolumn' in modeline applied to wrong window when using a session. (Teemu
Likonen, March 19)
+Test 54 uses shell commands, that doesn't work on non-Unix systems. Use some
+other way to test buffer-local autocommands.
+
The documentation mentions the priority for ":2match" and ":3match", but it
appears the last one wins. (John Beckett, 2008 Jul 22) Caused by adding
matchadd()? Suggested patch by John, 2008 Jul 24.
+When 'encoding' is utf-8 the command line is redrawn as a whole on every
+character typed. (Tyler Spivey, 2008 Sep 3) Only redraw cmdline for
+'arabicshape' when there is a character on the command line for which
+(ARABIC_CHAR(u8c)) is TRUE.
+
Replace ccomplete.vim by cppcomplete.vim from www.vim.org? script 1520
by Vissale Neang. (Martin Stubenschrott)
Asked Vissale to make the scripts more friendly for the Vim distribution.
@@ -192,9 +577,6 @@
Problem with compound words? (Bert, 2008 May 6)
No warning for when flags are defined after they are used in an affix.
-With Visual selection, "r" and then CTRL-C Visual mode is stopped but the
-highlighting is not removed.
-
Screen redrawing when continuously updating the buffer and resizing the
terminal. (Yakov Lerner, 2006 Sept 7)
@@ -206,6 +588,9 @@
When opening quickfix window, disable spell checking?
+Problem with ".add" files when using two languages and restarting Vim. (Raul
+Coronado, 2008 Oct 30)
+
Popup menu redraw: Instead of first redrawing the text and then drawing the
popup menu over it, first draw the new popup menu, remember its position and
size and then redraw the text, skipping the characters under the popup menu.
@@ -214,13 +599,13 @@
When the popup menu is close to the edge of the window it is truncated. Patch
to anchor the popup menu in a different way. (James Vega, 2008 Jul 30)
-Spell checking: Add a way to specify punctuation characters. Add the
-superscript numbers by default: 0x2070, 0xb9, 0xb2, 0xb3, 0x2074 - 0x2079.
-
Windows 98: pasting from the clipboard with text from another application has
a trailing NUL. (Joachim Hofmann) Perhaps the length specified for CF_TEXT
isn't right?
+When a register contains illegal bytes, writing viminfo in utf-8 and reading
+it back doesn't result in utf-8. (Devin Bayer)
+
Command line completion: Scanning for tags doesn't check for typed key now and
then? Hangs for about 5 seconds. Appears to be caused by finding include
files with "foo/**" in 'path'. (Kalisiak, 2006 July 15)
@@ -239,6 +624,9 @@
However, for backwards compatibility escaping might be necessary. Check if
the user put quotes around the expanded item?
+Error E324 can be given when a cron script has wiped out our temp directory.
+Give a clear error message about this (and tell them not to wipe out /tmp).
+
Color for cUserLabel should differ from case label, so that a mistake in a
switch list is noticed:
switch (i)
@@ -254,23 +642,21 @@
go to Insert mode and add a few lines. Then backspacing every other time
moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)
-Redraw problem when appending digraph causes line to wrap. (James Vega, 2007
-Sep 18) Patch by Ian Kelling, 2008 Aug 8.
-
Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,
2007 Feb 8)
Patch for Win32 clipboard under Cygwin. (Frodak Baksik, Feb 15)
Sutcliffe says it works well.
Update 2007 May 22 for Vim 7.1
+ Update 2008 Dec 2008 for Vim 7.2.xx (Sharonov)
+
+Win32: Can't complete shell command names. Why is setting xp_context in
+set_one_cmd_context() inside #ifndef BACKSLASH_IN_FILENAME?
Win32: Patch for convert_filterW(). (Taro Muraoka, 2007 Mar 2)
Win32: Patch for cscope external command. (Mike Williams, 2007 Aug 7)
-":cscope find f filename" doesn't work because of the extra space. (Ethan
-Mallove)
-
Win32: XPM support only works with path without spaces. Patch by Mathias
Michaelis, 2006 Jun 9. Another patch for more path names, 2006 May 31.
New version: http://members.tcnet.ch/michaelis/vim/patches.zip (also for other
@@ -292,9 +678,6 @@
Win32: using CTRL-S in Insert mode doesn't remove the "+" from the tab pages
label. (Tsakiridis, 2007 Feb 18) Patch from Ian Kelling, 2008 Aug 6.
-When 'bomb' is changed the window title is updated to show/hide a "+", but the
-tab page label isn't. (Patrick Texier, 2008 Jun 24)
-
Win32: using "gvim --remote-tab-silent fname" sometimes gives an empty screen
with the more prompt. Caused by setting the guitablabel? (Thomas Michael
Engelke, 2007 Dec 20 - 2008 Jan 17)
@@ -307,9 +690,28 @@
Win32: patch for fullscreen mode. (Liushaolin, 2008 April 17)
+Win32: When 'shell' is cmd.exe this command fails:
+ echo system('"c:/path/echo.exe" "foo bar"')
+Should we set the default for 'shellxquote' to a double quote, when 'shell'
+contains "cmd" in the tail? (Benjamin Fritz, 2008 Oct 13)
+Also set 'shellcmdflag' to include /s.
+
+Win32: When there is 4 Gbyte of memory mch_avail_mem() doesn't work properly.
+Unfished patch by Jelle Geerts, 2008 Aug 24.
+Let mch_avail_mem() return Kbyte instead?
+
+Win32: With two monitors, gvim partly on both, and adding/removing a scrollbar
+Vim resizes and moves to one of the monitors. (Chris Monkiewicz, 2008 Oct)
+
+Win32: When 'shell' is bash shellescape() doesn't always do the right thing.
+Depends on 'shellslash', 'shellquote' and 'shellxquote', but shellescape()
+only takes 'shellslash' into account.
+
When file b is a link to file a and editing b twice you get the correct
warning for existing swap file, but when trying to recover it doesn't find the
-swapfile. (Matt Wozniski, 2008 Aug 5)
+swapfile. (Matt Wozniski, 2008 Aug 5) Patch by Ian Kelling, 2008 Aug 11.
+Another patch by James Vega, 2008 Aug 20, again 2008 Sep 3.
+Also solves: Problem finding swap file for recovery. (Gautam Iyer, 2006 May 16)
Pressing the 'pastetoggle' key doesn't update the statusline. (Jan Christoph
Ebersbach, 2008 Feb 1)
@@ -327,12 +729,16 @@
If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't work.
+Feature request: Command to go to previous tab, like what CTRL-W p does for
+windows. (Adam George)
+
+When using input() in a loop and then ":echo" the display column isn't right.
+(Benjamin Fritz, 2008 Aug 28) Patch by Ben Schmidt, 2008 Sep 2.
+
F1 - F4 in an xterm produce a different escape sequence when used with a
modifier key. Need to catch three different sequences. Use K_ZF1, like
K_ZHOME? (Dickey, 2007 Dec 2)
-Problem finding swap file for recovery. (Gautam Iyer, 2006 May 16)
-
UTF-8: mapping a multi-byte key where the second byte is 0x80 doesn't appear
to work. (Tony Mechelynck, 2007 March 2)
@@ -353,12 +759,13 @@
if_ruby.c.
Problem with cursorcolumn highlighting and folds. (John Mullin, 2008 Jul 18)
-
-Spell checking in popup menu: If the only problem is the case of the first
-character, don't offer "ignore" and "add to word list".
+Problem with cursorcolumn in wide characters. (Dominique Pelle, 2009 May 5)
":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?
@@ -369,7 +776,10 @@
Test 61 fails sometimes. This is a timing problem: "sleep 2" sometimes takes
longer than 2 seconds.
-Changing 'guifont' in the console causes an unnecessary redraw.
+Using ":au CursorMoved * cmd" invokes mch_FullName(), which can be slow.
+Can this be avoided? (Thomas Waba, 2008 Aug 24)
+Also for ":w" without a file name.
+The buffer has the full path in ffname, should pass this to the autocommand.
"vim -C" often has 'nocompatible', because it's set in some startup script.
Set 'compatible' after startup is done? Patch by James Vega, 2008 Feb 7.
@@ -393,11 +803,18 @@
Another problem is that file_pat_to_reg_pat() doesn't recognize "\\", so "\\("
will be seen as a path separator plus "\(".
+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?
+(Bob Hiestand, 2008 Aug 26, Aug 27)
+
Substituting an area with a line break with almost the same area does change
the Visual area. Can this be fixed? (James Vega, 2006 Sept 15)
@@ -409,13 +826,33 @@
GUI: When combining fg en bg make sure they are not equal.
+Spell checking: Add a way to specify punctuation characters. Add the
+superscript numbers by default: 0x2070, 0xb9, 0xb2, 0xb3, 0x2074 - 0x2079.
+
+Spell checking in popup menu: If the only problem is the case of the first
+character, don't offer "ignore" and "add to word list".
+
Use different pt_br dictionary for spell checking. (Jackson A. Aquino, 2006
Jun 5)
+Use different romanian dictionary for spell checking. (Andrei Popescu, Nov
+2008) Use http://downloads.sourceforge.net/rospell/ro_RO.3.2.zip
+Or the hunspell-ro.3.2.tar.gz file, it also has a iso-8859-2 list.
+
+In a C file with spell checking, in "% integer" "nteger" is seen as an error,
+but "]s" doesn't find it. "nteger" by itself is found. (Ralf Wildenhues, 2008
+Jul 22)
+
+There should be something about spell checking in the user manual.
+
+Spell menu: When using the Popup menu to select a replacement word,
+":spellrepeat" doesn't work. SpellReplace() uses setline(). Can it use "z="
+somehow? Or use a new function.
+
Mac: Using gvim: netrw window disappears. (Nick Lo, 2006 Jun 21)
-When 'ff' is "mac" then "ga" on a ^J shows 0x0d instead of 0x0a. Compare with
-using "ga" on a NUL when 'ff' is "unix". (Andy Wokula, 2008 Jul 16)
+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
@@ -423,13 +860,13 @@
The generated vim.bat can avoid the loop for NT. (Carl Zmola, 2006 Sep 3)
-In a C file with spell checking, in "% integer" "nteger" is seen as an error,
-but "]s" doesn't find it. "nteger" by itself is found. (Ralf Wildenhues, 2008
-Jul 22)
-
Session file creation: 'autochdir' causes trouble. Keep it off until after
loading all files.
+Win32: When 'autochdir' is on and 'encoding' is changed, files on the command
+line are opened again, but from the wrong directory. Apply 'autochdir' only
+after starting up?
+
When showing a diff between a non-existant file and an existing one, with the
cursor in the empty buffer, the other buffer only shows the last line. Change
the "insert" into a change from one line to many? (Yakov Lerner, 2008 May 27)
@@ -443,10 +880,6 @@
background make. ":bgcancel" interrupts it.
A.Politz may work on this.
-The spellfile plugin checks for a writable "spell" directory. A user may have
-a writable runtime directory without a "spell" directory, it could be created
-then.
-
These two abbreviations don't give the same result:
let asdfasdf = "xyz\<Left>"
cabbr XXX <C-R>=asdfasdf<CR>
@@ -489,6 +922,10 @@
Accessing file#var in a function should not need the g: prepended.
+When exiting detects a modified buffer, instead of opening the buffer in the
+current tab, use an existing tab, if possible. Like finding a window where
+the buffer is displayed. (Antonios Tsakiridis)
+
When ":cn" moves to an error in the same line the message isn't shortened.
Only skip shortening for ":cc"?
@@ -521,9 +958,6 @@
Another resizing problem when setting 'columns' and 'lines' to a very large
number. (Tony Mechelynck, 2007 Feb 6)
-GTK: when using the -geom argument with an offset from the right edge and the
-size is smaller than the default, the Vim window is not positioned properly.
-
After starting Vim, using '0 to jump somewhere in a file, ":sp" doesn't center
the cursor line. It works OK after some other commands.
@@ -531,8 +965,6 @@
Does multi-byte printing with ":hardcopy" work? Add remark in documentation
about this.
-There should be something about spell checking in the user manual.
-
Check: Running Vim in a console and still having connect to the X server for
copy/paste: is stopping the X server handled gracefully? Should catch the X
error and stop using the connection to the server.
@@ -540,18 +972,35 @@
Problem with 'cdpath' on MS-Windows when a directory is equal to $HOME. (2006
Jul 26, Gary Johnson)
+Using UTF-8 character with ":command" does not work properly. (Matt Wosniski,
+2008 Sep 29)
+
In the Netbeans interface add a "vimeval" function, so that the other side can
check the result of has("patch13").
+Cursor line at bottom of window instead of halfway after saving view and
+restoring. Only with 'nowrap'. (Robert Webb, 2008 Aug 25)
+
Add command modifier that skips wildcard expansion, so that you don't need to
put backslashes before special chars, only for white space.
+Syntax HL: open two windows on the same C code, delete a ")" in one window,
+resulting in highlighted "{" in that window, not in the other.
+
+In mswin.vim: Instead of mapping <C-V> for Insert mode in a complicated way,
+can it be done like ":imap <C-V> <MiddleMouse>" without negative side effects?
+
Win32: When the GUI tab pages line is displayed Vim jumps from the secondary
to the primary monitor. (Afton Lewis, 2007 Mar 9) Old resizing problem?
GTK: when the Tab pages bar appears or disappears while the window is
maximized the window is no longer maximized. Patch that has some idea but
doesn't work from Geoffrey Antos, 2008 May 5.
+Also: the window may no longer fit on the screen, thus the command line is not
+visible.
+
+GTK: when setting 'columns' in a startup script and doing ":vertical diffsplit"
+the window isn't redrawn properly, see two vertical bars.
The magic clipboard format "VimClipboard2" appears in several places. Should
be only one.
@@ -610,10 +1059,6 @@
Syntax HL: When using "nextgroup" and the group has an empty match, there is
no search at that position for another match. (Lukas Mai, 2008 April 11)
-Spell menu: When using the Popup menu to select a replacement word,
-":spellrepeat" doesn't work. SpellReplace() uses setline(). Can it use "z="
-somehow? Or use a new function.
-
In gvim the backspace key produces a backspace character, but on Linux the
VERASE key is Delete. Set VERASE to Backspace? (patch by Stephane Chazelas,
2007 Oct 16)
@@ -628,8 +1073,34 @@
Create a gvimtutor.1 file and change Makefiles to install it.
+When 'encoding' is utf-8 typing text at the end of the line causes previously
+typed characters to be redrawn. Caused by patch 7.1.329. (Tyler Spivey, 2008
+Sep 3, 11)
+
+When Vim in an xterm owns the selection and the user does ":shell" Vim doesn't
+respond to selection requests. Invoking XtDisownSelection() before executing
+the shell doesn't help. Would require forking and doing a message loop, like
+what happens for the GUI.
+
+X11: Putting more than about 262040 characters of text on the clipboard and
+pasting it in another Vim doesn't work. (Dominique Pelle, 2008 Aug 21-23)
+clip_x11_request_selection_cb() is called with zero value and length.
+Also: Get an error message from free() in the process that owns the selection.
+Seems to happen when the selection is requested the second time, but before
+clip_x11_convert_selection_cb() is invoked, thus in X library code.
+
+Add 'lazysize' option: Above this size Vim doesn't load everything before
+starting to edit a file. Things like 'fileencodings' only work up to this
+size, modelines only work at the top. Useful for large log files where you
+only want to look at the first few pages. Use zero to disable it.
+
+":vimgrep" does not recognize a recursive symlink. Is it possible to detect
+this, at least for Unix (using device/inode)?
+
Vim 7.3:
+- Use NSIS 2.45, it includes Windows 7 support.
+- Easier/standard way to disable default plugins.
- Add patch for 'relativenumber' option? Markus Heidelberg, 2008 Jun 27.
- Add blowfish encryption. Openssl has an implementation. Also by Paul
Kocher (LGPL), close to original. Mohsin also has some ideas.
@@ -639,6 +1110,7 @@
You can already yank lines and use :@" to execute them.
Most of do_source() would not be used, need a new function.
It's easy when not doing breakpoints or profiling.
+- Patch for Lisp support with ECL (Mikael Jansson, 2008 Oct 25)
More patches:
@@ -669,6 +1141,8 @@
vimtutor.vim. (Jan Minar, 2008 Jul 20)
- When fsync() fails there is no hint about what went wrong. Patch by Ben
Schmidt, 2008 Jul 22.
+- testdir/Make_dos_sh.mak for running tests with MingW. (Bill Mccarthy, 2008
+ Sep 13)
Awaiting updated patches:
@@ -1220,8 +1694,6 @@
8 ":gui" doesn't fork. Enabling the code in gui.c to fork causes a SEGV.
8 Define vim_mkdir() for Macintosh.
8 Define mch_writable() for Macintosh.
-8 Some file systems are case-sensitive, some are not. Turn
- CASE_INSENSITIVE_FILENAME into an option, at least for completion.
9 When DiskLock is running, using a swap file causes a crash. Appears to be
a problem with writing a file that starts with a dot. (Giacalone)
9 On G3 Mac, OS version 8, control strip causes characters messed up when
@@ -1238,6 +1710,13 @@
CTRL-Q. Add an option for it?
- When using e_secure in do_one_cmd() mention the command being executed,
otherwise it's not clear where it comes from.
+- When the quickfix window is open and executing ":echo 'hello'" using the
+ Command-line window, the text is immediately removed by the redrawing.
+ (Michael Henry, 2008 Nov 1)
+ Generic solution: When redrawing while there is a message on the
+ cmdline, don't erase the display but draw over the existing text.
+ Other solution, redraw after closing the cmdline window, before executing
+ the command.
9 For Turkish vim_tolower() and vim_toupper() also need to use utf_
functions for characters below 0x80. (Sertacyildiz)
9 When the last edited file is a help file, using '0 in a new Vim doesn't
@@ -1383,8 +1862,6 @@
8 With 'virtualedit' set and 'selection' "exclusive", a Visual selection
that ends in or after a tab, "d" doesn't delete (part of) the tab.
(Helmut Stiegler)
-8 With 'virtualedit' set, a blockwise Visual selection that starts and ends
- in a tab, "<" shifts too much. (Helmut Stiegler)
9 When jumping to a tag, the search pattern is put in the history. When
'magic' is on, the pattern may not work. Translate the pattern depending
on p_magic when putting it in the history? Alternative: Store value of
@@ -1615,7 +2092,12 @@
--------------------- extensions and improvements ----------------------
*extensions-improvements*
-Didn't make it into Vim 7.0:
+Most interesting new features to be added when all bugs have been fixed:
+- Using ":exe edit fname" has escaping problems. Use ":edit ++(fname)".
+ Thus use "++=" to give arguments as expressions, comma separated as if
+ calling a function.
+ With options: ":edit ++(['!', '++enc=abc'], ['+/pat'], fname)".
+ Alternative: Make a function for Ex commands: cmd_edit().
- Add COLUMN NUMBERS to ":" commands ":line1,line2[col1,col2]cmd". Block
can be selected with CTRL-V. Allow '$' (end of line) for col2.
- Add DEBUGGER INTERFACE. Implementation for gdb by Xavier de Gaye.
@@ -1640,10 +2122,13 @@
- STICKY CURSOR: Add a way of scrolling that leaves the cursor where it is.
Especially when using the scrollbar. Typing a cursor-movement command
scrolls back to where the cursor is.
+- Scroll commands by screen line. g CTRL-E and g CTRL-Y ? Requires the
+ first line to be able to start halfway.
- Running a shell command from the GUI still has limitations. Look into how
the terminal emulator of the Vim shell project can help:
http://vimshell.wana.at
-- Add Lua interface? (Wolfgang Oertl)
+- Add Lua interface? (Wolfgang Oertl) patch by Luis Carvalho, 2008 Sep 5
+ Patch for Make_ming.mak from Paul Moore (2008 Sep 1)
8 Add a command to jump to a certain kind of tag. Allow the user to specify
values for the optional fields. E.g., ":tag size type=m".
Also allow specifying the file and command, so that the result of
@@ -1739,8 +2224,6 @@
9 GUI implementation for the tab pages line for other systems.
7 GUI: Control over the appearance of the text in the labels (bold, color,
font, etc.)
-9 Make it possible to drag a tab page label to another position with the
- mouse.
8 Make GUI menu in tab pages line configurable. Like the popup menu.
8 balloons for the tab page labels that are shortened to show the full path.
8 :tabmove +N move tab page N pages forward
@@ -1790,7 +2273,6 @@
implement CHECKCOMPOUNDTRIPLE
Add CHECKCOMPOUNDCASE: when compounding make leading capital lower case.
How is it supposed to work?
-8 implement using CHECKCOMPOUNDPATTERN: match words with sl_comppat[].
- Add a command the repeats ]s and z=, showing the misspelled word in its
context. Thus to spell-check a whole file.
- suggestion for "KG" to "kg" when it's keepcase.
@@ -1813,8 +2295,6 @@
- PSEUDOROOT == NEEDAFFIX
- COMPOUNDROOT -> COMPOUNDED? For a word that already is a compound word
Or use COMPOUNDED2, COMPOUNDED3, etc.
-8 Alternate Dutch word list at www.nederlandsewoorden.nl (use script to
- obtain). But new Myspell wordlist will come (Hagen)
- CIRCUMFIX: when a word uses a prefix marked with the CIRCUMFIX flag, then
the word must also have a suffix marked with the CIRCUMFIX flag. It's a
bit primitive, since only one flag is used, which doesn't allow matching
@@ -1874,8 +2354,6 @@
8 Add "z/" and "z?" for searching in not folded text only.
9 Add search pattern item to only match in closed or open fold and/or fold
with certain level. Allows doing ":g/pat/cmd" to work on closed folds.
-8 Add different highlighting for a fold line depending on the fold level.
- (Noel Henson)
7 Use "++--", "+++--" for different levels instead of "+---" "+----".
8 When a closed fold is displayed open because of 'foldminlines', the
behavior of commands is still like the fold is closed. How to make the
@@ -1984,14 +2462,10 @@
Support CTRL-K _{mnemonic}_
7 In "-- INSERT (lang) --" show the name of the keymap used instead of
"lang". (Ilya Dogolazky)
-- Make 'langmap' accept multi-byte characters.
- Patch from Konstantin Korikov, 2006 Oct 15.
- Make 'breakat' accept multi-byte characters. Problem: can't use a lookup
table anymore (breakat_flags[]).
Simplistic solution: when 'formatoptions' contains "m" also break a line
at a multi-byte character >= 0x100.
-- Do we need the reverse of 'keymap', like 'langmap' but with files and
- multi-byte characters? E.g., when using a Russian keyboard.
- Add the possibility to enter mappings which are used whenever normal text
could be entered. E.g., for "f" command. But not in Normal mode. Sort
of opposite of 'langmap'. Use ":tmap" command?
@@ -2132,7 +2606,6 @@
words.
8 Add more command line completion for :syntax.
8 Add more command line completion for :highlight.
-8 Add more command line completion for :sign.
7 Should find a better way to parse the :syntax and :highlight commands.
Use tables or lists that can be shared by parsing for execution and
completion?
@@ -2276,6 +2749,7 @@
option or environment variable.
8 ":let &option" should list the value of the option.
8 ":let Func().foo = value" should work, also when "foo" doesn't exist.
+ Also: ":let Func()[foo] = value" should work. Same for a List.
7 Add synIDlist(), making the whole list of syntax items on the syntax stack
available as a List.
8 Add autocommand-event for when a variable is changed:
@@ -2328,8 +2802,6 @@
when starting up in a color terminal.
8 Avoid alloc() for scratch buffer use, esp. in syntax.c. It's very slow on
Win16.
-9 Setting GUI options in the console (e.g., 'guifont') should not cause a
- redraw.
8 Profiling shows that in_id_list() is used very often for C code. Can this
function be improved?
8 For an existing file, the page size of the swap file is always the
@@ -2541,6 +3013,9 @@
8 Use a mechanism similar to omni completion to figure out the kind of tab
for CTRL-] and jump to the appropriate matching tag (if there are
several).
+ Alternative: be able to define a function that takes the tag name and uses
+ taglist() to find the right location. With indication of using CTRL-] so
+ that the context can be taken into account. (Robert Webb)
7 Can CTRL-] (jump to tag) include a following "." and "->" to restrict the
number of possible matches? Check tags file for an item that has members.
(Flemming Madsen)
@@ -2700,6 +3175,12 @@
Autocommands:
- Put autocommand event names in a hashtable for faster lookup?
+8 When the SwapExists event is triggered, provide information about the
+ swap file, e.g., whether the process is running, file was modified, etc.
+ Must be possible to check the situation that it's probably OK to delete
+ the swap file. (Marc Merlin)
+8 When all the patterns for an event are "*" there is no need to expand
+ buffer names to a full path. This can be slow for NFS.
7 For autocommand events that trigger multiple times per buffer (e.g.,
CursorHold), go through the list once and cache the result for a specific
buffer. Invalidate the cache when adding/deleting autocommands or
@@ -2782,7 +3263,7 @@
WinClose - Just before closing a window
- Write the file now and then ('autosave'):
*'autosave'* *'as'* *'noautosave'* *'noas'*
- 'autosave' 'aw' number (default 0)
+ 'autosave' 'as' number (default 0)
Automatically write the current buffer to file N seconds after the
last change has been made and when |'modified'| is still set.
Default: 0 = do not autosave the buffer.
@@ -2931,7 +3412,6 @@
- For 'wildmenu': Simplify "../bar" when possible.
- When using <Up> in wildmenu mode for a submenu, should go back to the
current menu, not the first one. E.g., ":emenu File.Save<Up>".
-8 For ":find" and ":sfind" expand files found in 'path'.
8 When using backtick expansion, the external command may write a greeting
message. Add an option or commands to remove lines that match a regexp?
7 When listing matches of files, display the common path separately from the
@@ -2999,6 +3479,8 @@
cout << "a"
<< ") :"
<< "y";
+9 "} else" causes following lines to be indented too much. (Rouben
+ Rostamian, 2008 Aug 30)
8 Lisp indenting: "\\" confuses the indenter. (Dorai Sitaram, 2006 May 17)
8 Why are continuation lines outside of a {} block not indented? E.g.:
long_type foo =
@@ -3013,6 +3495,13 @@
"asdf"
}
);
+8 In C++ a function isn't recognized inside a namespace:
+ (Chow Loong Jin)
+ namespace {
+ int
+ func(int arg) {
+ }
+ }
6 Add 'cino' flag for this function argument layout: (Spencer Collyer)
func( arg1
, arg2
@@ -3099,8 +3588,6 @@
Virtual edit:
8 Make the horizontal scrollbar work to move the text further left.
-7 Add a mode where the cursor is only allowed to go one character after the
- end of the line?
7 Allow specifying it separately for Tabs and beyond end-of-line?
@@ -3307,6 +3794,8 @@
The vis.vim script has a ":S" command that does something like this.
Can use "g/" in Normal mode, uses the '< to '> area.
Use "&/" for searching the text in the Visual area?
+9 Add "v" offset: "/pat/v": search for pattern and start Visual mode on the
+ matching text.
8 Add a mechanism for recursiveness: "\@(([^()]*\@g[^()]*)\)". \@g stands
for "go recursive here" and \@( \) marks the recursive part.
Perl does it this way:
@@ -3317,6 +3806,9 @@
8 Show the progress every second. Could use the code that checks for CTRL-C
to find out how much time has passed. Or use SIGALRM. Where to show the
number?
+8 When using an expression for ":s", set the match position in a v:
+ variable. So that you can do ":%s/^/\=v:lnum/" to put a line number
+ before each line.
7 Support for approximate-regexps to find similar words (agrep
http://www.tgries.de/agrep/ tre: http://laurikari.net/tre/index.html).
8 Add an item for a big character range, so that one can search for a
@@ -3328,7 +3820,7 @@
7 Add an option to accept a match at the cursor position. Also for
search(). (Brett)
7 Add a flag to "/pat/" to discard an error. Useful to continue a mapping
- when a search fails. Could be "/pat/E" (e is already used for an offset).
+ when a search fails. Could be "/pat/E" (e is already used for end offset).
7 Add pattern item to use properties of Unicode characters. In Perl it's
"\p{L}" for a letter. See Regular Expression Pocket Reference.
8 Would it be possible to allow ":23,45/pat/flags" to search for "pat" in
@@ -3440,7 +3932,9 @@
storing the differences.
8 Search for pattern in undo tree, showing when it happened and the text
state, so that you can jump to it.
-- Persistent undo: store undo in a file.
+- Persistent undo: store undo in a file. Patch by Jordan Lewis, 2009 Feb
+ 20.
+ Older ideas:
Use timestamps, so that a version a certain time ago can be found and info
before some time/date can be flushed. 'undopersist' gives maximum time to
keep undo: "3h", "1d", "2w", "1y", etc. For the file use dot and
@@ -3831,16 +4325,15 @@
Govindachar)
7 Add a command that goes back to the position from before jumping to the
first quickfix location. ":cbefore"?
-6 In the quickfix window statusline add the command used to get the list of
- errors, e.g. ":make foo", ":grep something *.c".
+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.
More general: need a way to access command modifiers in a user command.
Assign them to a v: variable?
-7 Allow a window not to have a statusline. Makes it possible to use a
- window as a buffer-tab selection.
7 Add an invisible buffer which can be edited. For use in scripts that want
to manipulate text without changing the window layout.
8 Add a command to revert to the saved version of file; undo or redo until
@@ -3865,7 +4358,6 @@
etc. Combinations of Alt, Ctrl and Shift are also possible. Recognize
these to avoid inserting the raw byte sequence, handle like the key
without modifier (unless mapped).
-7 Support ":browse edit" in console, using explorer.vim?
6 Add "gG": like what "gj" is to "j": go to the N'th window line.
8 Add command like ":normal" that accepts <Key> notation like ":map".
9 Support ACLs on more systems.
@@ -3905,12 +4397,6 @@
3 Make "2d%" work like "d%d%" instead of "d2%"?
7 "g CTRL-O" jumps back to last used buffer. Skip CTRL-O jumps in the same
buffer. Make jumplist remember the last ten accessed buffers?
-- Keep a list of most recently used files for each window, use "[o" to go
- back (older file) and "]n" to go forward (newer file) (like ^O and ^I for
- jumps). (Webb) Use ":files" and ":ls" to list the files in history order.
-7 Add a history of recently accessed buffer. Maybe make "2 CTRL-^" jump to
- the 2nd previously visited buffer, "3 CTRL-^" to the third, etc. Or use
- "3 g CTRL-^" for this?
- Add code to disable the CAPS key when going from Insert to Normal mode.
- Set date/protection/etc. of the patchfile the same as the original file.
- Use growarray for termcodes[] in term.c
@@ -4096,7 +4582,7 @@
- Updatescript() can be done faster with a string instead of a char.
- Screen updating is inefficient with CTRL-F and CTRL-B when there are long
lines.
-- Uppercase characters in ex commands can be made lowercase?
+- Uppercase characters in Ex commands can be made lowercase?
8 Add option to show characters in text not as "|A" but as decimal ("^129"),
hex ("\x81") or octal ("\201") or meta (M-x). Nvi has the 'octal' option
to switch from hex to octal. Vile can show unprintable characters in hex
@@ -4156,7 +4642,7 @@
for use in macro's and the like.
- Keep output from listings in a window, so you can have a look at it while
working in another window. Put cmdline in a separate window?
-- Add possibility to put output of ex commands in a buffer or file, e.g. for
+- Add possibility to put output of Ex commands in a buffer or file, e.g. for
":set all". ":r :set all"?
- 'edit' option: When off changing the buffer is not possible (Really
read-only mode).
diff -Nur runtime.patched/doc/undo.txt runtime/doc/undo.txt
--- runtime.patched/doc/undo.txt 2008-08-09 07:23:00.000000000 -0700
+++ runtime/doc/undo.txt 2009-04-14 12:16:53.000000000 -0700
@@ -1,4 +1,4 @@
-*undo.txt* For Vim version 7.2. Last change: 2006 Apr 30
+*undo.txt* For Vim version 7.2. Last change: 2009 Apr 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -106,6 +106,10 @@
After this an "u" command will undo the delete command and the previous
change.
+To do the opposite, break a change into two undo blocks, in Insert mode use
+CTRL-G u. This is useful if you want an insert command to be undoable in
+parts. E.g., for each sentence. |i_CTRL-G_u|
+
==============================================================================
4. Undo branches *undo-branches* *undo-tree*
diff -Nur runtime.patched/doc/usr_04.txt runtime/doc/usr_04.txt
--- runtime.patched/doc/usr_04.txt 2008-08-09 07:23:00.000000000 -0700
+++ runtime/doc/usr_04.txt 2008-09-06 05:19:37.000000000 -0700
@@ -1,4 +1,4 @@
-*usr_04.txt* For Vim version 7.2. Last change: 2006 Jun 21
+*usr_04.txt* For Vim version 7.2. Last change: 2008 Sep 06
VIM USER MANUAL - by Bram Moolenaar
@@ -263,7 +263,7 @@
one of the other corners, diagonally. Use "O" to move to the other corner in
the same line.
-Note that "o" and "O" in Visual mode work very different from Normal mode,
+Note that "o" and "O" in Visual mode work very differently from Normal mode,
where they open a new line below or above the cursor.
==============================================================================
diff -Nur runtime.patched/doc/usr_05.txt runtime/doc/usr_05.txt
--- runtime.patched/doc/usr_05.txt 2008-08-09 07:23:00.000000000 -0700
+++ runtime/doc/usr_05.txt 2009-06-13 05:38:07.000000000 -0700
@@ -1,4 +1,4 @@
-*usr_05.txt* For Vim version 7.2. Last change: 2007 May 11
+*usr_05.txt* For Vim version 7.2. Last change: 2009 Jun 04
VIM USER MANUAL - by Bram Moolenaar
@@ -205,8 +205,8 @@
*restore-cursor* >
autocmd BufReadPost *
- \ if line("'\"") > 0 && line("'\"") <= line("$") |
- \ exe "normal g`\"" |
+ \ if line("'\"") > 1 && line("'\"") <= line("$") |
+ \ exe "normal! g`\"" |
\ endif
Another autocommand. This time it is used after reading any file. The
diff -Nur runtime.patched/doc/usr_06.txt runtime/doc/usr_06.txt
--- runtime.patched/doc/usr_06.txt 2008-08-09 07:23:00.000000000 -0700
+++ runtime/doc/usr_06.txt 2009-10-28 13:57:15.000000000 -0700
@@ -1,4 +1,4 @@
-*usr_06.txt* For Vim version 7.2. Last change: 2006 Apr 24
+*usr_06.txt* For Vim version 7.2. Last change: 2009 Oct 28
VIM USER MANUAL - by Bram Moolenaar
@@ -244,10 +244,14 @@
This also works on Unix, if you have a PostScript printer. Otherwise, you
will have to do a bit more work. You need to convert the text to HTML first,
-and then print it from a web browser such as Netscape.
+and then print it from a web browser.
Convert the current file to HTML with this command: >
+ :TOhtml
+
+In case that doesn't work: >
+
:source $VIMRUNTIME/syntax/2html.vim
You will see it crunching away, this can take quite a while for a large file.
diff -Nur runtime.patched/doc/usr_11.txt runtime/doc/usr_11.txt
--- runtime.patched/doc/usr_11.txt 2008-08-09 07:23:01.000000000 -0700
+++ runtime/doc/usr_11.txt 2009-04-22 14:26:12.000000000 -0700
@@ -1,4 +1,4 @@
-*usr_11.txt* For Vim version 7.2. Last change: 2006 Apr 24
+*usr_11.txt* For Vim version 7.2. Last change: 2009 Apr 18
VIM USER MANUAL - by Bram Moolenaar
@@ -6,9 +6,9 @@
Did your computer crash? And you just spent hours editing? Don't panic! Vim
-keeps enough information on harddisk to be able to restore most of your work.
-This chapter shows you how to get your work back and explains how the swap
-file is used.
+stores enough information to be able to restore most of your work. This
+chapter shows you how to get your work back and explains how the swap file is
+used.
|11.1| Basic recovery
|11.2| Where is the swap file?
@@ -214,7 +214,7 @@
that file, be prepared to redo your last changes.
-WHAT TO DO?
+WHAT TO DO? *swap-exists-choices*
If dialogs are supported you will be asked to select one of five choices:
diff -Nur runtime.patched/doc/usr_25.txt runtime/doc/usr_25.txt
--- runtime.patched/doc/usr_25.txt 2008-08-09 07:23:01.000000000 -0700
+++ runtime/doc/usr_25.txt 2009-07-26 04:41:20.000000000 -0700
@@ -304,7 +304,7 @@
One horizontal scrollbar will appear at the bottom of the Vim window.
If you don't have a scrollbar or don't want to use it, use these commands to
-scroll the text. The cursor will stay in the same place, but it's move back
+scroll the text. The cursor will stay in the same place, but it's moved back
into the visible text if necessary.
zh scroll right
@@ -547,7 +547,7 @@
What happens is that the "gr" command makes sure the new character takes the
right amount of screen space. Extra spaces or tabs are inserted to fill the
gap. Thus what actually happens is that a tab is replaced by "x" and then
-blanks added to make the text after it keep it's place. In this case a
+blanks added to make the text after it keep its place. In this case a
tab is inserted.
When you need to replace more than one character, you use the "R" command
to go to Replace mode (see |04.9|). This messes up the layout and replaces
diff -Nur runtime.patched/doc/usr_31.txt runtime/doc/usr_31.txt
--- runtime.patched/doc/usr_31.txt 2008-08-09 07:23:01.000000000 -0700
+++ runtime/doc/usr_31.txt 2009-07-26 04:43:37.000000000 -0700
@@ -245,7 +245,7 @@
:set lines=55
-You don't want to do this in a terminal, since it's size is fixed (except for
+You don't want to do this in a terminal, since its size is fixed (except for
an xterm that supports resizing).
The gvimrc file is searched for in the same locations as the vimrc file.
Normally its name is "~/.gvimrc" for Unix and "$VIM/_gvimrc" for MS-Windows.
diff -Nur runtime.patched/doc/usr_43.txt runtime/doc/usr_43.txt
--- runtime.patched/doc/usr_43.txt 2008-08-09 07:23:01.000000000 -0700
+++ runtime/doc/usr_43.txt 2009-01-14 12:14:54.000000000 -0800
@@ -1,4 +1,4 @@
-*usr_43.txt* For Vim version 7.2. Last change: 2006 Apr 24
+*usr_43.txt* For Vim version 7.2. Last change: 2008 Dec 28
VIM USER MANUAL - by Bram Moolenaar
@@ -57,7 +57,8 @@
Likewise, the mapping for "\c" will disappear when editing another buffer.
The ":map <buffer>" command creates a mapping that is local to the current
buffer. This works with any mapping command: ":map!", ":vmap", etc. The
-|<LocalLeader>| in the mapping is replaced with the value of "maplocalleader".
+|<LocalLeader>| in the mapping is replaced with the value of the
+"maplocalleader" variable.
You can find examples for filetype plugins in this directory: >
diff -Nur runtime.patched/doc/usr_44.txt runtime/doc/usr_44.txt
--- runtime.patched/doc/usr_44.txt 2008-08-09 07:23:01.000000000 -0700
+++ runtime/doc/usr_44.txt 2009-01-14 12:15:18.000000000 -0800
@@ -1,4 +1,4 @@
-*usr_44.txt* For Vim version 7.2. Last change: 2006 Apr 24
+*usr_44.txt* For Vim version 7.2. Last change: 2008 Dec 28
VIM USER MANUAL - by Bram Moolenaar
@@ -493,9 +493,9 @@
:runtime! syntax/c.vim
The ":runtime!" command searches 'runtimepath' for all "syntax/c.vim" files.
-This makes the C syntax be defined like for C files. If you have replaced the
-c.vim syntax file, or added items with an extra file, these will be loaded as
-well.
+This makes the C parts of the C++ syntax be defined like for C files. If you
+have replaced the c.vim syntax file, or added items with an extra file, these
+will be loaded as well.
After loading the C syntax items the specific C++ items can be defined.
For example, add keywords that are not used in C: >
@@ -503,8 +503,8 @@
This works just like in any other syntax file.
-Now consider the Perl language. It consists of two distinct parts: a
-documentation section in POD format, and a program written in Perl itself.
+Now consider the Perl language. A Perl script consists of two distinct parts:
+a documentation section in POD format, and a program written in Perl itself.
The POD section starts with "=head" and ends with "=cut".
You want to define the POD syntax in one file, and use it from the Perl
syntax file. The ":syntax include" command reads in a syntax file and stores
@@ -663,7 +663,7 @@
Choose a good, descriptive name for your syntax file. Use lowercase letters
and digits. Don't make it too long, it is used in many places: The name of
-the syntax file "name.vim", 'filetype', b:current_syntax the start of each
+the syntax file "name.vim", 'filetype', b:current_syntax and the start of each
syntax group (nameType, nameStatement, nameString, etc).
Start with a check for "b:current_syntax". If it is defined, some other
diff -Nur runtime.patched/doc/usr_45.txt runtime/doc/usr_45.txt
--- runtime.patched/doc/usr_45.txt 2008-08-09 07:23:01.000000000 -0700
+++ runtime/doc/usr_45.txt 2008-11-16 03:59:07.000000000 -0800
@@ -1,4 +1,4 @@
-*usr_45.txt* For Vim version 7.2. Last change: 2008 Apr 30
+*usr_45.txt* For Vim version 7.2. Last change: 2008 Nov 15
VIM USER MANUAL - by Bram Moolenaar
@@ -265,7 +265,7 @@
Suppose you have setup Vim to use Unicode, and you want to edit a file that is
in 16-bit Unicode. Sounds simple, right? Well, Vim actually uses utf-8
-encoding internally, thus the 16-bit encoding must be converted. Thus there
+encoding internally, thus the 16-bit encoding must be converted, since there
is a difference between the character set (Unicode) and the encoding (utf-8 or
16-bit).
Vim will try to detect what kind of file you are editing. It uses the
@@ -283,7 +283,7 @@
When you start editing that 16-bit Unicode file, and it has a BOM, Vim will
detect this and convert the file to utf-8 when reading it. The 'fileencoding'
option (without s at the end) is set to the detected value. In this case it
-is "ucs-2le". That means it's Unicode, two bytes and little-endian. This
+is "utf-16le". That means it's Unicode, 16-bit and little-endian. This
file format is common on MS-Windows (e.g., for registry files).
When writing the file, Vim will compare 'fileencoding' with 'encoding'. If
they are different, the text will be converted.
diff -Nur runtime.patched/doc/usr_90.txt runtime/doc/usr_90.txt
--- runtime.patched/doc/usr_90.txt 2008-08-09 07:23:01.000000000 -0700
+++ runtime/doc/usr_90.txt 2008-09-10 04:23:30.000000000 -0700
@@ -1,4 +1,4 @@
-*usr_90.txt* For Vim version 7.2. Last change: 2006 Apr 24
+*usr_90.txt* For Vim version 7.2. Last change: 2008 Sep 10
VIM USER MANUAL - by Bram Moolenaar
@@ -126,12 +126,12 @@
test results: ~
ALL DONE ~
-If there are one or two messages about failed tests, Vim might still work, but
-not perfectly. If you see a lot of error messages or Vim doesn't finish until
-the end, there must be something wrong. Either try to find out yourself, or
-find someone who can solve it. You could look in the |maillist-archive| for a
-solution. If everything else fails, you could ask in the vim |maillist| if
-someone can help you.
+If you get "TEST FAILURE" some test failed. If there are one or two messages
+about failed tests, Vim might still work, but not perfectly. If you see a lot
+of error messages or Vim doesn't finish until the end, there must be something
+wrong. Either try to find out yourself, or find someone who can solve it.
+You could look in the |maillist-archive| for a solution. If everything else
+fails, you could ask in the vim |maillist| if someone can help you.
INSTALLING
diff -Nur runtime.patched/doc/various.txt runtime/doc/various.txt
--- runtime.patched/doc/various.txt 2009-11-20 13:52:21.223062590 -0800
+++ runtime/doc/various.txt 2009-07-26 04:43:37.000000000 -0700
@@ -1,4 +1,4 @@
-*various.txt* For Vim version 7.2. Last change: 2008 Aug 06
+*various.txt* For Vim version 7.2. Last change: 2009 Jul 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -179,8 +179,8 @@
(to start Insert mode, see |:startinsert|). A ":"
command must be completed as well. And you can't use
"Q" or "gQ" to start Ex mode.
- {commands} cannot start with a space. Put a 1 (one)
- before it, 1 space is one space.
+ {commands} cannot start with a space. Put a count of
+ 1 (one) before it, "1 " is one space.
The 'insertmode' option is ignored for {commands}.
This command cannot be followed by another command,
since any '|' is considered part of the command.
@@ -347,7 +347,7 @@
N *+mouse_pterm* QNX only: pterm mouse handling |qnx-terminal|
N *+mouse_sysmouse* Unix only: *BSD console mouse handling |sysmouse|
N *+mouse_xterm* Unix only: xterm mouse handling |xterm-mouse|
-B *+multi_byte* Korean and other languages |multibyte|
+B *+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|
@@ -374,7 +374,6 @@
B *+signs* |:sign|
N *+smartindent* |'smartindent'|
m *+sniff* SniFF interface |sniff|
-N *+startuptime* |--startuptime| argument
N *+statusline* Options 'statusline', 'rulerformat' and special
formats of 'titlestring' and 'iconstring'
m *+sun_workshop* |workshop|
@@ -647,7 +646,7 @@
Note that the longer the {subject} you give, the less
matches will be found. You can get an idea how this
all works by using commandline completion (type CTRL-D
- after ":help subject").
+ after ":help subject" |c_CTRL-D|).
If there are several matches, you can have them listed
by hitting CTRL-D. Example: >
:help cont<Ctrl-D>
diff -Nur runtime.patched/doc/version5.txt runtime/doc/version5.txt
--- runtime.patched/doc/version5.txt 2008-08-09 07:23:01.000000000 -0700
+++ runtime/doc/version5.txt 2009-01-14 12:15:18.000000000 -0800
@@ -1,4 +1,4 @@
-*version5.txt* For Vim version 7.2. Last change: 2008 Jun 28
+*version5.txt* For Vim version 7.2. Last change: 2008 Dec 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -460,10 +460,10 @@
Regular expression patterns *added-regexp*
---------------------------
-Added specifying a range for the number of matches of a atom: "\{a,b}". |/\{|
+Added specifying a range for the number of matches of an atom: "\{a,b}". |/\{|
Added the "shortest match" regexp "\{-}" (Webb).
-Added "\s", matches a white character. Can replace "[ \t]". |/\s|
-Added "\S", matches a non-white character. Can replace "[^ \t]". |/\S|
+Added "\s", matches a white character. Can replace "[ \t]". |/\s|
+Added "\S", matches a non-white character. Can replace "[^ \t]". |/\S|
Overloaded tags *tag-overloaded*
diff -Nur runtime.patched/doc/version7.txt runtime/doc/version7.txt
--- runtime.patched/doc/version7.txt 2008-08-09 09:28:51.000000000 -0700
+++ runtime/doc/version7.txt 2009-01-14 12:14:42.000000000 -0800
@@ -1,4 +1,4 @@
-*version7.txt* For Vim version 7.2. Last change: 2008 Aug 09
+*version7.txt* For Vim version 7.2. Last change: 2008 Dec 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1868,7 +1868,7 @@
Win32: Cannot edit a file starting with # with --remote. Do escape % and #
when building the ":drop" command.
-A comment or | just after a expression-backtick argument was not recognized.
+A comment or | just after an expression-backtick argument was not recognized.
E.g. in :e `="foo"`"comment.
"(" does not stop at an empty sentence (single dot and white space) while ")"
@@ -4741,7 +4741,7 @@
Added argument to mode() to return a bit more detail about the current mode.
(Ben Schmidt)
-Added support for BSD console mouse: |sysmouse|. (Paul Mahol)
+Added support for BSD console mouse: |sysmouse|. (Paul B. Mahol)
Added the "newtab" value for the 'switchbuf' option. (partly by Yegappan
Lakshmanan)
@@ -5903,7 +5903,7 @@
Patch 7.1.188
Problem: When 'showmode' is off the message for changing a readonly file is
- given in the second column instead of the first. (Payl B. Mahol)
+ given in the second column instead of the first. (Payl B. Mahol)
Solution: Put the W10 message in the first column.
Files: src/edit.c
diff -Nur runtime.patched/doc/vim-fr.1 runtime/doc/vim-fr.1
--- runtime.patched/doc/vim-fr.1 2008-07-21 13:17:34.000000000 -0700
+++ runtime/doc/vim-fr.1 2008-12-08 13:08:57.000000000 -0800
@@ -2,6 +2,8 @@
.\" ([email protected])
.\" Mise � jour de la traduction par David Blanchet
.\" ([email protected]) 2006-06-10
+.\" Mise � jour de la traduction par Dominique Pell�
+.\" ([email protected]) 2008-11-29
.\"
.TH VIM 1 "22 F�vrier 2002"
.SH NOM
@@ -194,7 +196,7 @@
.TP
\-d
D�marre en mode Diff.
-Deux ou trois noms de fichiers doivent �tre sp�cifi�s.
+Deux, trois ou quatre noms de fichiers doivent �tre sp�cifi�s.
.B Vim
ouvrira alors tous les fichiers et affichera leurs diff�rences.
Fonctionne comme vimdiff(1).
diff -Nur runtime.patched/doc/vim-fr.UTF-8.1 runtime/doc/vim-fr.UTF-8.1
--- runtime.patched/doc/vim-fr.UTF-8.1 2008-07-21 13:17:40.000000000 -0700
+++ runtime/doc/vim-fr.UTF-8.1 2008-12-08 13:08:57.000000000 -0800
@@ -2,6 +2,8 @@
.\" ([email protected])
.\" Mise à jour de la traduction par David Blanchet
.\" ([email protected]) 2006-06-10
+.\" Mise à jour de la traduction par Dominique Pellé
+.\" ([email protected]) 2008-11-29
.\"
.TH VIM 1 "22 Février 2002"
.SH NOM
@@ -194,7 +196,7 @@
.TP
\-d
Démarre en mode Diff.
-Deux ou trois noms de fichiers doivent être spécifiés.
+Deux, trois ou quatre noms de fichiers doivent être spécifiés.
.B Vim
ouvrira alors tous les fichiers et affichera leurs différences.
Fonctionne comme vimdiff(1).
diff -Nur runtime.patched/doc/vim-pl.1 runtime/doc/vim-pl.1
--- runtime.patched/doc/vim-pl.1 2008-07-31 13:22:18.000000000 -0700
+++ runtime/doc/vim-pl.1 2009-09-18 03:29:11.000000000 -0700
@@ -1,4 +1,4 @@
-.TH VIM 1 "2002 Lut 22"
+.TH VIM 1 "2006 kwi 11"
.SH NAME
vim \- Vi rozbudowany, edytor tekstu dla programisty
.SH SYNOPSIS
@@ -13,7 +13,7 @@
[opcje] \-t znacznik
.br
.B vim
-[opcje] \-q [plik b��du]
+[opcje] \-q [plik_b��du]
.PP
.br
.B ex
@@ -35,10 +35,10 @@
u�ywany do edycji wszelkiego rodzaju plik�w tekstowych.
U�yteczny zw�aszcza przy edycji program�w.
.PP
-Posiada wiele usprawnie� w por�wnaniu z Vi: wielo poziomowe cofanie zmian,
+Posiada wiele usprawnie� w por�wnaniu z Vi: wielopoziomowe cofanie zmian,
wiele okien i bufor�w, pod�wietlanie sk�adni, edycja linii polece�,
uzupe�nianie nazw plik�w, pomoc on-line, wizualna selekcja, itd.
-Zobacz ":help vi_diff.txt" dla podsumowania r�ni� pomi�dzy
+Zobacz ":help vi_diff.txt" dla podsumowania r�nic pomi�dzy
.B Vimem
i Vi.
.PP
@@ -82,7 +82,7 @@
{znacznika} szuka si� w pliku tags, zwi�zany z nim plik staje si�
plikiem bie��cym i wykonuje si� powi�zane polecenie.
Zazwyczaj u�ywa si� tego sposobu dla program�w w C, w kt�rych wypadku
-{znacznik} powinien by� nazw� funkcji.
+{znacznik} mo�e by� nazw� funkcji.
W efekcie plik zawieraj�cy okre�lon� funkcj� staje si� plikiem
bie��cym a kursor jest umieszczony na pocz�tku funkcji.
Zobacz ":help tag-commands".
@@ -91,7 +91,7 @@
Zacznij w trybie quickFix.
Plik [plik_b��d�w] zostaje zinterpretowany i poka�e si� pierwszy b��d.
Je�li brak opcji [plik_b��d�w] nazwa pliku zostanie pobrana z opcji
-'errorfile' (domy�lnie "AztecC.Err" dla Amigi, "errros.err" dla innych
+\&'errorfile' (domy�lnie "AztecC.Err" dla Amigi, "errros.err" dla innych
system�w.
Do kolejnych b��d�w mo�na przeskoczy� dzi�ki poleceniu ":cn".
Zobacz ":help quickfix".
@@ -140,8 +140,8 @@
+/{wz�r}
W pierwszym pliku kursor zostanie umieszczony na pierwszym wyst�pieniu
{wz�r}.
-Zobacz ":help search-pattern" by dowiedzie� si� jakie s� mo�liwo�ci
-wzor�w wyszukiwania.
+Zobacz ":help search-pattern" by dowiedzie� si� jakie s� mo�liwe
+wzorce wyszukiwania.
.TP
+{polecenie}
.TP
@@ -164,7 +164,7 @@
\-\-cmd {polecenie}
Podobne do "\-c", ale polecenie jest wykonywane tu� przed
interpretacj� jakiegokolwiek pliku vimrc.
-Mo�na u�y� do 10 takich polece�, niezale�ni od polece� od "\-c"
+Mo�na u�y� do 10 takich polece�, niezale�nie od polece� od "\-c"
.TP
\-A
Je�li
@@ -190,7 +190,7 @@
.TP
\-d
Uruchom w trybie diff.
-Powinno by� dwa lub trzy nazwy plik�w jako argumenty.
+Powinno si� u�y� dw�ch, trzech lub czterech nazwy plik�w jako argument�w.
.B Vim
otworzy wszystkie te pliki i poka�e r�nice mi�dzy nimi.
Dzia�a jak vimdiff(1).
@@ -283,18 +283,18 @@
\-m
Zmiana pliku jest niemo�liwa.
Przestawia opcj� 'write'.
-Mo�na ca�y czas zmieni� zawarto�� bufora, ale zapisanie pliku nie jest
-mo�liwa.
+Mo�na zmienia� zawarto�� bufora, ale zapisanie pliku nie jest
+mo�liwe.
.TP
\-M
Opcje 'modifiable' i 'write' zostan� wy��czone, tak wi�c zmiany
-w pliku oraz ich zapisanie nie s� mo�liwe. Mo�na warto�� tych opcji
+w pliku oraz ich zapisanie nie s� mo�liwe. Warto�� tych opcji mo�na
zmieni�.
.TP
\-N
-Tryb niekompatibylny. Przestawia opcj� 'compatible'. Dzi�ki temu
+Tryb niekompatybilny. Przestawia opcj� 'compatible'. Dzi�ki temu
.B Vim
-b�dzie zachowywa� si� odrobin� lepiej, ale mniej zgodznie z Vi nawet
+b�dzie zachowywa� si� odrobin� lepiej, ale mniej zgodnie z Vi nawet
je�li nie istnieje plik .vimrc.
.TP
\-n
@@ -323,8 +323,8 @@
\-R
Tryb tylko do odczytu.
Zostanie ustawiona opcja 'readonly'.
-Ca�y czas mo�na zmienia� bufor, ale b�dzie istnia�a blokada przed przypadkowym
-zapisaniem pliku.
+Ca�y czas mo�na zmienia� bufor, ale b�dzie istnia�a blokada by chroni�
+przed przypadkowym zapisaniem pliku.
Je�li chcesz zapisa� plik dodaj wykrzyknik do polecenia Ex, np. ":w!".
Opcja \-R implikuje opcj� \-n (zobacz poni�ej).
Opcja 'readonly' mo�e zosta� przestawiona poprzez ":set noro".
@@ -427,15 +427,15 @@
.TP
\-\-literal
Potraktuj nazwy plik�w dos�ownie i nie rozwi�zuj kwantyfikator�w. Nie
-ma znaczenia na Uniksach gdzie pow�oka rozwi�zuje kwantyfikator�w
+ma znaczenia na Uniksach gdzie pow�oka rozwi�zuje kwantyfikatory.
.TP
\-\-noplugin
Pomi� �adowanie wtyczek. Implikowane przy \-u NONE.
.TP
\-\-remote
-Po��cz si� z serwerem Vima i edytuj w nim reszt� argument�w. Je�li nie
-znaleziono serwera zostanie zg�oszony b��d a pliki b�d� otwarte
-w bie��cym Vimie.
+Po��cz si� z serwerem Vima i edytuj w nim reszt� plik�w podanych jako
+argumenty. Je�li nie znaleziono serwera zostanie zg�oszony b��d a pliki zostan�
+otwarte w bie��cym Vimie.
.TP
\-\-remote\-expr {wyra�enie}
Po��cz z serwerem Vima, rozwi�� w nim {wyra�enie} i wypisz rozwi�zanie
@@ -449,7 +449,7 @@
serwera.
.TP
\-\-remote\-wait
-Tak samo jak \-remote, ale Vim nie zako�czy dop�ki pliki nie zostan�
+Tak samo jak \-remote, ale Vim nie zako�czy dop�ki pliki pozostan�
otwarte.
.TP
\-\-remote\-wait\-silent
@@ -487,6 +487,9 @@
.B Vima
U�yj ":help doc\-file\-list" aby uzyska� pe�n� list�.
.TP
+/usr/local/lib/vim/doc/tags
+Plik znacznik�w s�u�y do znajdowania informacji w plikach dokumentacji.
+.TP
/usr/local/lib/vim/syntax/syntax.vim
Globalne uruchamianie pod�wietlania sk�adni.
.TP
diff -Nur runtime.patched/doc/vim-pl.UTF-8.1 runtime/doc/vim-pl.UTF-8.1
--- runtime.patched/doc/vim-pl.UTF-8.1 2008-07-31 13:22:45.000000000 -0700
+++ runtime/doc/vim-pl.UTF-8.1 2009-09-18 03:29:11.000000000 -0700
@@ -1,4 +1,4 @@
-.TH VIM 1 "2002 Lut 22"
+.TH VIM 1 "2006 kwi 11"
.SH NAME
vim \- Vi rozbudowany, edytor tekstu dla programisty
.SH SYNOPSIS
@@ -13,7 +13,7 @@
[opcje] \-t znacznik
.br
.B vim
-[opcje] \-q [plik błędu]
+[opcje] \-q [plik_błędu]
.PP
.br
.B ex
@@ -35,10 +35,10 @@
używany do edycji wszelkiego rodzaju plików tekstowych.
Użyteczny zwłaszcza przy edycji programów.
.PP
-Posiada wiele usprawnień w porównaniu z Vi: wielo poziomowe cofanie zmian,
+Posiada wiele usprawnień w porównaniu z Vi: wielopoziomowe cofanie zmian,
wiele okien i buforów, podświetlanie składni, edycja linii poleceń,
uzupełnianie nazw plików, pomoc on-line, wizualna selekcja, itd.
-Zobacz ":help vi_diff.txt" dla podsumowania różnić pomiędzy
+Zobacz ":help vi_diff.txt" dla podsumowania różnic pomiędzy
.B Vimem
i Vi.
.PP
@@ -82,7 +82,7 @@
{znacznika} szuka się w pliku tags, związany z nim plik staje się
plikiem bieżącym i wykonuje się powiązane polecenie.
Zazwyczaj używa się tego sposobu dla programów w C, w których wypadku
-{znacznik} powinien być nazwą funkcji.
+{znacznik} może być nazwą funkcji.
W efekcie plik zawierający określoną funkcję staje się plikiem
bieżącym a kursor jest umieszczony na początku funkcji.
Zobacz ":help tag-commands".
@@ -91,7 +91,7 @@
Zacznij w trybie quickFix.
Plik [plik_błędów] zostaje zinterpretowany i pokaże się pierwszy błąd.
Jeśli brak opcji [plik_błędów] nazwa pliku zostanie pobrana z opcji
-'errorfile' (domyślnie "AztecC.Err" dla Amigi, "errros.err" dla innych
+\&'errorfile' (domyślnie "AztecC.Err" dla Amigi, "errros.err" dla innych
systemów.
Do kolejnych błędów można przeskoczyć dzięki poleceniu ":cn".
Zobacz ":help quickfix".
@@ -140,8 +140,8 @@
+/{wzór}
W pierwszym pliku kursor zostanie umieszczony na pierwszym wystąpieniu
{wzór}.
-Zobacz ":help search-pattern" by dowiedzieć się jakie są możliwości
-wzorów wyszukiwania.
+Zobacz ":help search-pattern" by dowiedzieć się jakie są możliwe
+wzorce wyszukiwania.
.TP
+{polecenie}
.TP
@@ -164,7 +164,7 @@
\-\-cmd {polecenie}
Podobne do "\-c", ale polecenie jest wykonywane tuż przed
interpretacją jakiegokolwiek pliku vimrc.
-Można użyć do 10 takich poleceń, niezależni od poleceń od "\-c"
+Można użyć do 10 takich poleceń, niezależnie od poleceń od "\-c"
.TP
\-A
Jeśli
@@ -190,7 +190,7 @@
.TP
\-d
Uruchom w trybie diff.
-Powinno być dwa lub trzy nazwy plików jako argumenty.
+Powinno się użyć dwóch, trzech lub czterech nazwy plików jako argumentów.
.B Vim
otworzy wszystkie te pliki i pokaże różnice między nimi.
Działa jak vimdiff(1).
@@ -283,18 +283,18 @@
\-m
Zmiana pliku jest niemożliwa.
Przestawia opcję 'write'.
-Można cały czas zmienić zawartość bufora, ale zapisanie pliku nie jest
-możliwa.
+Można zmieniać zawartość bufora, ale zapisanie pliku nie jest
+możliwe.
.TP
\-M
Opcje 'modifiable' i 'write' zostaną wyłączone, tak więc zmiany
-w pliku oraz ich zapisanie nie są możliwe. Można wartość tych opcji
+w pliku oraz ich zapisanie nie są możliwe. Wartość tych opcji można
zmienić.
.TP
\-N
-Tryb niekompatibylny. Przestawia opcję 'compatible'. Dzięki temu
+Tryb niekompatybilny. Przestawia opcję 'compatible'. Dzięki temu
.B Vim
-będzie zachowywał się odrobinę lepiej, ale mniej zgodznie z Vi nawet
+będzie zachowywał się odrobinę lepiej, ale mniej zgodnie z Vi nawet
jeśli nie istnieje plik .vimrc.
.TP
\-n
@@ -323,8 +323,8 @@
\-R
Tryb tylko do odczytu.
Zostanie ustawiona opcja 'readonly'.
-Cały czas można zmieniać bufor, ale będzie istniała blokada przed przypadkowym
-zapisaniem pliku.
+Cały czas można zmieniać bufor, ale będzie istniała blokada by chronić
+przed przypadkowym zapisaniem pliku.
Jeśli chcesz zapisać plik dodaj wykrzyknik do polecenia Ex, np. ":w!".
Opcja \-R implikuje opcję \-n (zobacz poniżej).
Opcja 'readonly' może zostać przestawiona poprzez ":set noro".
@@ -427,15 +427,15 @@
.TP
\-\-literal
Potraktuj nazwy plików dosłownie i nie rozwiązuj kwantyfikatorów. Nie
-ma znaczenia na Uniksach gdzie powłoka rozwiązuje kwantyfikatorów
+ma znaczenia na Uniksach gdzie powłoka rozwiązuje kwantyfikatory.
.TP
\-\-noplugin
Pomiń ładowanie wtyczek. Implikowane przy \-u NONE.
.TP
\-\-remote
-Połącz się z serwerem Vima i edytuj w nim resztę argumentów. Jeśli nie
-znaleziono serwera zostanie zgłoszony błąd a pliki będą otwarte
-w bieżącym Vimie.
+Połącz się z serwerem Vima i edytuj w nim resztę plików podanych jako
+argumenty. Jeśli nie znaleziono serwera zostanie zgłoszony błąd a pliki zostaną
+otwarte w bieżącym Vimie.
.TP
\-\-remote\-expr {wyrażenie}
Połącz z serwerem Vima, rozwiąż w nim {wyrażenie} i wypisz rozwiązanie
@@ -449,7 +449,7 @@
serwera.
.TP
\-\-remote\-wait
-Tak samo jak \-remote, ale Vim nie zakończy dopóki pliki nie zostaną
+Tak samo jak \-remote, ale Vim nie zakończy dopóki pliki pozostaną
otwarte.
.TP
\-\-remote\-wait\-silent
@@ -487,6 +487,9 @@
.B Vima
Użyj ":help doc\-file\-list" aby uzyskać pełną listę.
.TP
+/usr/local/lib/vim/doc/tags
+Plik znaczników służy do znajdowania informacji w plikach dokumentacji.
+.TP
/usr/local/lib/vim/syntax/syntax.vim
Globalne uruchamianie podświetlania składni.
.TP
diff -Nur runtime.patched/doc/vim-ru.1 runtime/doc/vim-ru.1
--- runtime.patched/doc/vim-ru.1 2008-07-21 13:18:09.000000000 -0700
+++ runtime/doc/vim-ru.1 2009-09-18 03:31:20.000000000 -0700
@@ -7,7 +7,7 @@
[�����] [���� ..]
.br
.B vim
-[�����] -
+[�����] \-
.br
.B vim
[�����] \-t �����
@@ -69,12 +69,12 @@
������ ������� ":next". ����� ������� ����, ��� �������� ���������� � �������
"�����" (-), ����� ������� ������ ���������� ��������� "--".
.TP
--
+\-
���� ����� �������� �� ������ ������������ �����. ������� ����� �����������
�� ������������ ������ ����������� (stderr), ������� ������ ����
����������.
.TP
--t {�����}
+\-t {�����}
��� ����� � ��������� ������� ������� ������� �� "�����", ������� �� ����� goto.
{�����} ������ � ����� �����, ��������������� ���� ���������� ��������, �
��������������� ������� �����������.
@@ -83,7 +83,7 @@
����, ���������� �������, ���������� ��������, � ������ ���������� � ������ �������.
��. ":help tag-commands".
.TP
--q [���� ������]
+\-q [���� ������]
������ ������ � ������ �������� �����������.
��� ���� ����������� [���� ������] � ������ ������ ��������� �� �����.
���� [���� ������] �� ������, ��� ����� ��ң��� �� �������� ����� 'errorfile'
@@ -101,21 +101,21 @@
ex
������ � ������ Ex. ��� �������� � ���������� �����
���������� ��������� ������� ":vi". ����� Ex ��������
-����� ���� "-e".
+����� ���� "\-e".
.TP
view
������ � ������ "������ ��� ������". �� ������ �������� �� ��������� ������
-�����. �� �� ����� ����� ������� ������ "-R".
+�����. �� �� ����� ����� ������� ������ "\-R".
.TP
gvim gview
������ � ����������� �����������. ����������� � ����� ����.
-�� �� ����� ����� ������� ��� ������� � ������ "-g".
+�� �� ����� ����� ������� ��� ������� � ������ "\-g".
.TP
rvim rview rgvim rgview
��� � ���������� �������, �� � �������������. ������ ��������� ������� ��������
��� ���������������� ������
.B Vim.
-������ ��������� "r" ����� ������������ ���� "-Z".
+������ ��������� "r" ����� ������������ ���� "\-Z".
.SH �����
����� ����� ���� ������� � ����� �������, �� ��� ����� �ͣ�
������. ����� ��� ���������� ����� ���� ���������� ��� �����
@@ -132,21 +132,21 @@
.TP
+{�������}
.TP
--c {�������}
+\-c {�������}
{�������} ����������� ����� �������� ������� ����� ��� ������� Ex.
���� {�������} �������� �������, �� ��� ������ ���� ��������� �
������� ������� (� ����������� �� ������������ ��������).
������: vim "+set si" main.c
.br
-����������: ����� ��������� �� ������ ������ "+" ��� "-c".
+����������: ����� ��������� �� ������ ������ "+" ��� "\-c".
.TP
---cmd {�������}
-��� "-c", �� ������� ����������� ����� ���������� ������ �����
+\-\-cmd {�������}
+��� "\-c", �� ������� ����������� ����� ���������� ������ �����
�������� (vimrc).
����� ��������� �� ������ ����� ������, ���������� �� ����������
-������ "-c".
+������ "\-c".
.TP
--A
+\-A
����
.B Vim
��� ������ � ���������� ��������� ����� ��� ������ ������,
@@ -158,34 +158,34 @@
.B Vim
��������� ������ � �������.
.TP
--b
+\-b
�������� �����.
������������ ��������� ��������� �����, �������� ��������� ������
��������� ��� ������������ �����.
.TP
--C
+\-C
����� �������������. �������� ����� 'compatible'.
.B Vim
����� �������� ����� ��� Vi, ���� ���� ���������� ���� .vimrc.
.TP
--d
+\-d
����� ������ ��������.
������ ���� ������� ��� ��� ��� ����� �����.
.B Vim
������� ��� ����� � ������� �������� ����� ����
(��� vimdiff(1)).
.TP
--d {����������}
+\-d {����������}
������� {����������} ��� ������������� � �������� ��������� (������ �� Amiga).
������:
"\-d con:20/30/600/150".
.TP
--e
+\-e
���������
.B Vim
� ������ Ex, ��� ����� ����������� ���� ����� ��� "ex".
.TP
--f
+\-f
����� ��������� ����������. ������
.B Vim
� ����������� ����������� �� ����� ��������� � �����������
@@ -198,25 +198,25 @@
������ ������ (��������, ��������� ��� ������ � ����������� ������).
�� ��������� Amiga ������� ":sh" � ":!" �� ����� ��������.
.TP
---nofork
+\-\-nofork
����� ��������� ����������. ������
.B Vim
� ����������� ����������� �� ����� ��������� � �����������
�� ����������� ţ ��������.
.TP
--F
+\-F
����
.B Vim
��� ������ � ���������� FKMAP ��� ������ ������ ������ ������
� �������� ���������� ��� ����� �����, ���� ���� ���������
.B Vim
� ������ �����, ����� ������, � ����ޣ����� �������
-'fkmap' � 'rightleft'.
+\&'fkmap' � 'rightleft'.
� ��������� ������
.B Vim
��������� ������ � ���������� �� ������.
.TP
--g
+\-g
����
.B Vim
��� ������ � ���������� ������������ ����������, ���� ����
@@ -224,13 +224,13 @@
.B Vim
��������� ������ � ���������� �� ������.
.TP
--h
+\-h
������� ������� ���������� �� ���������� � ������ ��������� ������.
����� �����
.B Vim
��������� ������.
.TP
--H
+\-H
����
.B Vim
��� ������ � ���������� ������ ������ ������ ������
@@ -241,69 +241,69 @@
.B Vim
��������� ������ � ���������� �� ������.
.TP
--i {viminfo}
+\-i {viminfo}
���� ������������ ���� viminfo, �� ���� ���� ������ ��� ������ ����� (������
"~/.viminfo" �� ���������). ����� ����� �������� ������������� ����� viminfo
��ԣ� �������� ����� "NONE".
.TP
--L
-�� ��, ��� � -r.
+\-L
+�� ��, ��� � \-r.
.TP
--l
+\-l
����� Lisp. ���������� ����� 'lisp' � 'showmatch'.
.TP
--m
+\-m
��������� ������ ���������. ��� ���� ����������� ����� 'write', �������
������ ������ ���������� �����������.
.TP
--N
+\-N
����� �������� �������������. ����������� 'compatible'.
.B Vim
����� �������� �����, �� �� ����� ��������� ��������� � Vi, ���� ����
����������� ���� �������� �������� (.vimrc).
.TP
--n
+\-n
�� ������������ ����-����. �������������� ��� ���� � ������ ����� ����������.
������ ��� ������ ����� �� ����� ��������� �������� (��������, ������ �����).
�� �� ����� ����� ������� �������� ":set uc=0". ������ -- ":set uc=200".
.TP
--o[N]
+\-o[N]
������� N ����, �����̣���� �� �����������. ���� N �� �������, �� �����������
�� ������ ���� �� ������ ����.
.TP
--O[N]
+\-O[N]
������� N ����, �����̣���� �� ���������. ���� N �� �������, �� �����������
�� ������ ���� �� ������ ����.
.TP
--R
+\-R
����� "������ ��� ������". ���������� ����� 'readonly'.
���� � ������ �������� ��� ��������������, �� ��� ����� �� ����� ������
�������� ������������. ��� ���������� ����� ���������� �������� ���������������
���� � ��������������� ������� Ex (��������, ":w!").
-���� "-R" ������������� �����, ��� ������������ � ���� "-n" (��. ����).
+���� "\-R" ������������� �����, ��� ������������ � ���� "\-n" (��. ����).
����� 'readonly' ����� ���� ��������� �� ������� ":set noro".
��. ":help 'readonly'".
.TP
--r
+\-r
������� ������ ����-������ � ���������� �� �� ������������� ��� �������������� ����� ����.
.TP
--r {����}
+\-r {����}
����� ��������������.
��� �������������� ����� ���� ����� ����������� ����-����.
����-���� ����� �� �� ���, ��� � ��������� ����, �� � ����������� ���������� ".swp".
��. ":help recovery".
.TP
--s
-����� �����. ������ ��� ������� ��� "Ex" ��� ���� ����� "-s" ������ ���� "-e".
+\-s
+����� �����. ������ ��� ������� ��� "Ex" ��� ���� ����� "\-s" ������ ���� "\-e".
.TP
--s {scriptin}
+\-s {scriptin}
����������� ���� �������� {scriptin}. ��� ����, ���������� ����� ��������������
� ���� ������, ��� ���� �� ��� ���� ������� �� �������.
�� �� ����� ����������� �������� ":source! {scriptin}".
���� ����� ����� ����������� �� ���������� ������ ���������, �� � ����������
���� �������������� � ����������.
.TP
--T {terminal}
+\-T {terminal}
��������
.B Vim
��� ������������� ���������. ���������� ������ � ��� ���������, �����
@@ -312,96 +312,96 @@
.B Vim
(�������� � ����) ��� ���������� � ������ termcap ��� terminfo.
.TP
--u {vimrc}
+\-u {vimrc}
������������ ������� �� ����� �������� {vimrc} ��� ���������.
��� ��������� ����� �������� ������������.
������ ��� �������������� ����������� ����� ������.
����� �������� ������������� ��������� �������� ������, ����� ������������
��� "NONE". ��. ":help initialization".
.TP
--U {gvimrc}
+\-U {gvimrc}
������������ ������� �� ����� �������� {gvimrc} ��� ��������� ������������
����������.
��� ��������� ����� �������� ��� ������������ ���������� ������������.
����� �������� ������������� ��������� �������� ������������ ���������� ������,
����� ������������ ��� "NONE". ��. ":help gui-init".
.TP
--V
+\-V
"���������" �����. �������� ��������� � ���, ����� ����� ��������, � �
������-������ ����� viminfo.
.TP
--v
+\-v
���������
.B Vim
� ������ Vi, ��� ����� ����������� ���� ����� ��� "vi". ����� ����� ������ ����
����������� ���� ����� ��� "ex".
.TP
--w {scriptout}
+\-w {scriptout}
��� �������, ���ģ���� � ���������� ������ �� ������� ���������� ������,
������������ � ���� {scriptout}.
������ � ��� ������, ����� �� ������ ������� ���� �������� ��� ������������
-������������� � "vim -s" ��� ":source!". ���� ���� {scriptout} ��� ����������,
+������������� � "vim \-s" ��� ":source!". ���� ���� {scriptout} ��� ����������,
�� ����� ������� ����� ����������� � ����� �����.
.TP
--W {scriptout}
-��� "-w", �� ��� ������������ ���� ����� �����������.
+\-W {scriptout}
+��� "\-w", �� ��� ������������ ���� ����� �����������.
.TP
--x
+\-x
��������� ������������ �����. ����� ������ ����������� ������ ������.
.TP
--X
+\-X
�� ������������ � X-�������. �������� �������� �� �������, �� ������ �����������
������������� ��������� ���� � ������ ������.
.TP
--Z
+\-Z
������������ �����. �������� ��� ��, ��� � ���������, ������������ � "r".
.TP
---
+\-\-
����� ������. ��� ��������� ��������� ��������������� ��� ����� ������.
����� ���� ������������ ��� ������ ������, ����� ������� ���������� � ������.
.TP
---help
-������� ������� ������� � ��������� ������. �� ��, ��� � "-h".
+\-\-help
+������� ������� ������� � ��������� ������. �� ��, ��� � "\-h".
.TP
---version
+\-\-version
������� ���������� � ������ ��������� � ��������� ������.
.TP
---remote
+\-\-remote
������������ � ������� Vim � ��������� ��� ������� �����, ��������� �
����������� ����������. ���� ������ �� ������, ��������� ��������������,
� ����� �������� � ������� ����� Vim.
.TP
---remote-expr {���������}
+\-\-remote\-expr {���������}
������������ � ������� Vim � ��������� �� � ��������� {���������}.
��������� ���������� ����� ������� � ����� ������������ ������ (stdout).
.TP
---remote-send {�����}
+\-\-remote\-send {�����}
������������ � ������� Vim � �������� ��� ��������� {�����}.
.TP
---remote-silent
-��� "--remote", �� ��� ������ ��������������, ���� ������ �� ������.
+\-\-remote\-silent
+��� "\-\-remote", �� ��� ������ ��������������, ���� ������ �� ������.
.TP
---remote-wait
-��� "--remote", �� Vim �� ����� ��������� ������ �� ��� ���, ���� �� �����
+\-\-remote\-wait
+��� "\-\-remote", �� Vim �� ����� ��������� ������ �� ��� ���, ���� �� �����
��������� ������ ���� ������.
.TP
---remote-wait-silent
-��� "--remote-wait", �� ��� ������ ��������������, ���� ������ �� ������.
+\-\-remote\-wait\-silent
+��� "\-\-remote\-wait", �� ��� ������ ��������������, ���� ������ �� ������.
.TP
---serverlist
+\-\-serverlist
������� ������ ���� ��������� �������� Vim.
.TP
---servername {���}
+\-\-servername {���}
������������ ��������� {���} � �������� ����� �������. ���� ����
-"--remote" �� ������, �� {���} ������������� ������ ����� Vim,
+"\-\-remote" �� ������, �� {���} ������������� ������ ����� Vim,
� ��������� ������ ��������� �� ��� �������, � �������� �������
������������.
.TP
---socketid {id}
+\-\-socketid {id}
������ ��� ������������ ���������� GTK: ������������ �������� GtkPlug ���
������� gvim � ��������� ����.
.TP
---echo-wid
+\-\-echo\-wid
������ ��� ������������ ���������� GTK: ������� ������������� ���� (Window ID)
� ����� ������������ ������ (stdout).
.SH ���������� �������
diff -Nur runtime.patched/doc/vim-ru.UTF-8.1 runtime/doc/vim-ru.UTF-8.1
--- runtime.patched/doc/vim-ru.UTF-8.1 2008-07-21 13:18:14.000000000 -0700
+++ runtime/doc/vim-ru.UTF-8.1 2009-09-18 03:26:13.000000000 -0700
@@ -7,7 +7,7 @@
[ключи] [файл ..]
.br
.B vim
-[ключи] -
+[ключи] \-
.br
.B vim
[ключи] \-t метка
@@ -69,12 +69,12 @@
помощи команды ":next". Чтобы править файл, имя которого начинается с символа
"дефис" (-), перед списком файлов необходимо поставить "--".
.TP
--
+\-
Файл будет прочитан из потока стандартного ввода. Команды будут считываться
из стандартного потока диагностики (stderr), который должен быть
терминалом.
.TP
--t {метка}
+\-t {метка}
Имя файла и начальная позиция курсора зависят от "метки", похожей на метку goto.
{метка} ищется в файле меток, соответствующий файл становится активным, а
соответствующая команда исполняется.
@@ -83,7 +83,7 @@
Файл, содержащий функцию, становится активным, а курсор помещается в начало функции.
См. ":help tag-commands".
.TP
--q [файл ошибок]
+\-q [файл ошибок]
Начать работу в режиме быстрого исправления.
При этом считывается [файл ошибок] и первая ошибка выводится на экран.
Если [файл ошибок] не указан, имя файла берётся из значения опции 'errorfile'
@@ -101,21 +101,21 @@
ex
Запуск в режиме Ex. Для перехода в нормальный режим
необходимо выполнить команду ":vi". Режим Ex включает
-также ключ "-e".
+также ключ "\-e".
.TP
view
Запуск в режиме "только для чтения". Вы будете защищены от случайной записи
-файла. То же самое можно сделать ключом "-R".
+файла. То же самое можно сделать ключом "\-R".
.TP
gvim gview
Версия с графическим интерфейсом. Запускается в новом окне.
-То же самое можно сделать при запуске с ключом "-g".
+То же самое можно сделать при запуске с ключом "\-g".
.TP
rvim rview rgvim rgview
Как и предыдущие команды, но с ограничениями. Нельзя запускать команды оболочки
или приостанавливать работу
.B Vim.
-Вместо приставки "r" можно использовать ключ "-Z".
+Вместо приставки "r" можно использовать ключ "\-Z".
.SH КЛЮЧИ
Ключи могут быть указаны в любом порядке, до или после имён
файлов. Ключи без аргументов могут быть объединены под одним
@@ -132,21 +132,21 @@
.TP
+{команда}
.TP
--c {команда}
+\-c {команда}
{команда} исполняется после загрузки первого файла как команда Ex.
Если {команда} содержит пробелы, то она должна быть заключена в
двойные кавычки (в зависимости от используемой оболочки).
Пример: vim "+set si" main.c
.br
-Примечание: Можно указывать до десяти команд "+" или "-c".
+Примечание: Можно указывать до десяти команд "+" или "\-c".
.TP
---cmd {команда}
-Как "-c", но команда исполняется перед обработкой любого файла
+\-\-cmd {команда}
+Как "\-c", но команда исполняется перед обработкой любого файла
настроек (vimrc).
Можно указывать до десяти таких команд, независимо от количества
-команд "-c".
+команд "\-c".
.TP
--A
+\-A
Если
.B Vim
был собран с поддержкой арабского языка для правки файлов,
@@ -158,34 +158,34 @@
.B Vim
завершает работу с ошибкой.
.TP
--b
+\-b
Двоичный режим.
Производится настройка некоторых опций, делающих возможной правку
двоичного или исполняемого файла.
.TP
--C
+\-C
Режим совместимости. Включает опцию 'compatible'.
.B Vim
будет работать почти как Vi, даже если существует файл .vimrc.
.TP
--d
+\-d
Режим поиска различий.
Должно быть указано два или три имени файла.
.B Vim
откроет все файлы и покажет различия между ними
(как vimdiff(1)).
.TP
--d {устройство}
+\-d {устройство}
Открыть {устройство} для использования в качестве терминала (только на Amiga).
Пример:
"\-d con:20/30/600/150".
.TP
--e
+\-e
Запустить
.B Vim
в режиме Ex, как будто исполняемый файл имеет имя "ex".
.TP
--f
+\-f
Режим активного приложения. Версия
.B Vim
с графическим интерфейсом не будет ветвиться и отключаться
@@ -198,25 +198,25 @@
сеанса правки (например, программа для работы с электронной почтой).
На платформе Amiga команды ":sh" и ":!" не будут работать.
.TP
---nofork
+\-\-nofork
Режим активного приложения. Версия
.B Vim
с графическим интерфейсом не будет ветвиться и отключаться
от запустившей её оболочки.
.TP
--F
+\-F
Если
.B Vim
был собран с поддержкой FKMAP для правки текста справа налево
и настроек клавиатуры для языка фарси, этот ключ запускает
.B Vim
в режиме фарси, иначе говоря, с включёнными опциями
-'fkmap' и 'rightleft'.
+\&'fkmap' и 'rightleft'.
В противном случае
.B Vim
завершает работу с сообщением об ошибке.
.TP
--g
+\-g
Если
.B Vim
был собран с поддержкой графического интерфейса, этот ключ
@@ -224,13 +224,13 @@
.B Vim
завершает работу с сообщением об ошибке.
.TP
--h
+\-h
Выводит краткую информацию об аргументах и ключах командной строки.
После этого
.B Vim
завершает работу.
.TP
--H
+\-H
Если
.B Vim
был собран с поддержкой правки текста справа налево
@@ -241,69 +241,69 @@
.B Vim
завершает работу с сообщением об ошибке.
.TP
--i {viminfo}
+\-i {viminfo}
Если используется файл viminfo, то этот ключ задаёт имя такого файла (вместо
"~/.viminfo" по умолчанию). Можно также избежать использования файла viminfo
путём указания имени "NONE".
.TP
--L
-То же, что и -r.
+\-L
+То же, что и \-r.
.TP
--l
+\-l
Режим Lisp. Включаются опции 'lisp' и 'showmatch'.
.TP
--m
+\-m
Изменение файлов запрещено. При этом отключается опция 'write', поэтому
запись файлов становится невозможной.
.TP
--N
+\-N
Режим неполной совместимости. Отключается 'compatible'.
.B Vim
будет работать лучше, но не будет полностью совместим с Vi, даже если
отсутствует файл сценария настроек (.vimrc).
.TP
--n
+\-n
Не использовать своп-файл. Восстановление при сбое в работе будет невозможно.
Удобно для правки файла на очень медленном носителе (например, гибком диске).
То же самое можно сделать командой ":set uc=0". Отмена -- ":set uc=200".
.TP
--o[N]
+\-o[N]
Открыть N окон, разделённых по горизонтали. Если N не указано, то открывается
по одному окну на каждый файл.
.TP
--O[N]
+\-O[N]
Открыть N окон, разделённых по вертикали. Если N не указано, то открывается
по одному окну на каждый файл.
.TP
--R
+\-R
Режим "только для чтения". Включается опция 'readonly'.
Файл в буфере доступен для редактирования, но его копию на диске нельзя
случайно перезаписать. Для сохранения файла необходимо добавить восклицательный
знак к соответствующей команде Ex (например, ":w!").
-Ключ "-R" подразумевает также, что используется и ключ "-n" (см. выше).
+Ключ "\-R" подразумевает также, что используется и ключ "\-n" (см. выше).
Опция 'readonly' может быть выключена по команде ":set noro".
См. ":help 'readonly'".
.TP
--r
+\-r
Вывести список своп-файлов и информацию об их использовании для восстановления после сбоя.
.TP
--r {файл}
+\-r {файл}
Режим восстановления.
Для восстановления после сбоя будет использован своп-файл.
Своп-файл имеет то же имя, что и текстовый файл, но с добавлением расширения ".swp".
См. ":help recovery".
.TP
--s
-Тихий режим. Только при запуске как "Ex" или если перед "-s" указан ключ "-e".
+\-s
+Тихий режим. Только при запуске как "Ex" или если перед "\-s" указан ключ "\-e".
.TP
--s {scriptin}
+\-s {scriptin}
Считывается файл сценария {scriptin}. При этом, содержимое файла воспринимается
в виде команд, как если бы они были набраны на консоли.
То же самое достигается командой ":source! {scriptin}".
Если конец файла считывается до завершения работы редактора, то в дальнейшем
ввод осуществляется с клавиатуры.
.TP
--T {terminal}
+\-T {terminal}
Сообщает
.B Vim
тип используемого терминала. Необходимо только в тех ситуациях, когда
@@ -312,96 +312,96 @@
.B Vim
(встроено в него) или определено в файлах termcap или terminfo.
.TP
--u {vimrc}
+\-u {vimrc}
Использовать команды из файла сценария {vimrc} для настройки.
Все остальные файлы настроек пропускаются.
Удобно для редактирования специальных типов файлов.
Чтобы избежать использования сценариев настроек вообще, можно использовать
имя "NONE". См. ":help initialization".
.TP
--U {gvimrc}
+\-U {gvimrc}
Использовать команды из файла сценария {gvimrc} для настройки графического
интерфейса.
Все остальные файлы настроек для графического интерфейса пропускаются.
Чтобы избежать использования сценариев настроек графического интерфейса вообще,
можно использовать имя "NONE". См. ":help gui-init".
.TP
--V
+\-V
"Болтливый" режим. Выводить сообщения о том, какие файлы читаются, и о
чтении-записи файла viminfo.
.TP
--v
+\-v
Запустить
.B Vim
в режиме Vi, как будто исполняемый файл имеет имя "vi". Имеет смысл только если
исполняемый файл имеет имя "ex".
.TP
--w {scriptout}
+\-w {scriptout}
Все символы, введённые с клавиатуры вплоть до момента завершения работы,
записываются в файл {scriptout}.
Удобно в том случае, когда вы хотите создать файл сценария для последующего
-использования с "vim -s" или ":source!". Если файл {scriptout} уже существует,
+использования с "vim \-s" или ":source!". Если файл {scriptout} уже существует,
то новые символы будут добавляются в конец файла.
.TP
--W {scriptout}
-Как "-w", но уже существующий файл будет перезаписан.
+\-W {scriptout}
+Как "\-w", но уже существующий файл будет перезаписан.
.TP
--x
+\-x
Шифровать записываемые файлы. Будет выдано приглашение ввести пароль.
.TP
--X
+\-X
Не подключаться к X-серверу. Ускоряет загрузку на консоли, но делает невозможным
использование заголовка окна и буфера обмена.
.TP
--Z
+\-Z
Ограниченный режим. Работает так же, как и программы, начинающиеся с "r".
.TP
---
+\-\-
Конец ключей. Все остальные аргументы рассматриваются как имена файлов.
Может быть использовано для правки файлов, имена которых начинаются с дефиса.
.TP
---help
-Вывести краткую справку и завершить работу. То же, что и "-h".
+\-\-help
+Вывести краткую справку и завершить работу. То же, что и "\-h".
.TP
---version
+\-\-version
Вывести информацию о версии программы и завершить работу.
.TP
---remote
+\-\-remote
Подключиться к серверу Vim и заставить его править файлы, указанные в
последующих аргументах. Если сервер не найден, выводится предупреждение,
а файлы правятся в местной копии Vim.
.TP
---remote-expr {выражение}
+\-\-remote\-expr {выражение}
Подключиться к серверу Vim и вычислить на нём указанное {выражение}.
Результат вычисления будет выведен в поток стандартного вывода (stdout).
.TP
---remote-send {ключи}
+\-\-remote\-send {ключи}
Подключиться к серверу Vim и передать ему указанные {ключи}.
.TP
---remote-silent
-Как "--remote", но без вывода предупреждения, если сервер не найден.
+\-\-remote\-silent
+Как "\-\-remote", но без вывода предупреждения, если сервер не найден.
.TP
---remote-wait
-Как "--remote", но Vim не будет завершать работу до тех пор, пока не будет
+\-\-remote\-wait
+Как "\-\-remote", но Vim не будет завершать работу до тех пор, пока не будет
выполнена правка всех файлов.
.TP
---remote-wait-silent
-Как "--remote-wait", но без вывода предупреждения, если сервер не найден.
+\-\-remote\-wait\-silent
+Как "\-\-remote\-wait", но без вывода предупреждения, если сервер не найден.
.TP
---serverlist
+\-\-serverlist
Вывести список всех доступных серверов Vim.
.TP
---servername {имя}
+\-\-servername {имя}
Использовать указанное {имя} в качестве имени сервера. Если ключ
-"--remote" не указан, то {имя} присваивается данной копии Vim,
+"\-\-remote" не указан, то {имя} присваивается данной копии Vim,
в противном случае указывает на имя сервера, к которому следует
подключиться.
.TP
---socketid {id}
+\-\-socketid {id}
Только для графического интерфейса GTK: использовать механизм GtkPlug для
запуска gvim в отдельном окне.
.TP
---echo-wid
+\-\-echo\-wid
Только для графического интерфейса GTK: вывести идентификатор окна (Window ID)
в поток стандартного вывода (stdout).
.SH ВСТРОЕННАЯ СПРАВКА
diff -Nur runtime.patched/doc/vimdiff-fr.1 runtime/doc/vimdiff-fr.1
--- runtime.patched/doc/vimdiff-fr.1 2005-04-01 03:23:37.000000000 -0800
+++ runtime/doc/vimdiff-fr.1 2008-12-08 13:08:57.000000000 -0800
@@ -1,18 +1,18 @@
.TH VIMDIFF 1 "30 mars 2001"
.SH NOM
-vimdiff \- ouvre deux ou trois versions d'un fichier dans Vim et affiche
-leurs diff�rences
+vimdiff \- ouvre deux, trois ou quatre versions d'un fichier dans Vim et
+affiche leurs diff�rences
.SH SYNOPSIS
.br
.B vimdiff
-[options] fichier1 fichier2 [fichier3]
+[options] fichier1 fichier2 [fichier3 [fichier4]]
.PP
.B gvimdiff
.SH DESCRIPTION
.B Vimdiff
d�marre
.B Vim
-avec deux (ou trois) fichiers.
+avec deux (ou trois ou quatre) fichiers.
Chaque fichier est ouvert dans sa propre fen�tre.
Les diff�rences entres ces fichiers sont mises en surbrillance.
C'est un outil tr�s pratique pour visualiser et reporter les
diff -Nur runtime.patched/doc/vimdiff-fr.UTF-8.1 runtime/doc/vimdiff-fr.UTF-8.1
--- runtime.patched/doc/vimdiff-fr.UTF-8.1 2005-04-01 03:25:59.000000000 -0800
+++ runtime/doc/vimdiff-fr.UTF-8.1 2008-12-08 13:08:57.000000000 -0800
@@ -1,18 +1,18 @@
.TH VIMDIFF 1 "30 mars 2001"
.SH NOM
-vimdiff \- ouvre deux ou trois versions d'un fichier dans Vim et affiche
-leurs différences
+vimdiff \- ouvre deux, trois ou quatre versions d'un fichier dans Vim et
+affiche leurs différences
.SH SYNOPSIS
.br
.B vimdiff
-[options] fichier1 fichier2 [fichier3]
+[options] fichier1 fichier2 [fichier3 [fichier4]]
.PP
.B gvimdiff
.SH DESCRIPTION
.B Vimdiff
démarre
.B Vim
-avec deux (ou trois) fichiers.
+avec deux (ou trois ou quatre) fichiers.
Chaque fichier est ouvert dans sa propre fenêtre.
Les différences entres ces fichiers sont mises en surbrillance.
C'est un outil très pratique pour visualiser et reporter les
diff -Nur runtime.patched/doc/vimdiff-pl.1 runtime/doc/vimdiff-pl.1
--- runtime.patched/doc/vimdiff-pl.1 2006-03-26 06:48:37.000000000 -0800
+++ runtime/doc/vimdiff-pl.1 2009-09-18 03:29:11.000000000 -0700
@@ -1,17 +1,17 @@
.TH VIMDIFF 1 "2001 Mar 30"
.SH NAZWA
-vimdiff \- edytuj dwie lub trzy wersje pliku w Vimie i zobacz r�nice
+vimdiff \- edytuj dwie, trzy lub cztery wersje pliku w Vimie i zobacz r�nice
.SH SYNOPSIS
.br
.B vimdiff
-[opcje] plik1 plik2 [plik3]
+[opcje] plik1 plik2 [plik3 [plik4]]
.PP
.B gvimdiff
.SH OPIS
.B Vimdiff
uruchomi
.B Vima
-z dwoma (lub trzema plikami), ka�dy z nich we w�asnym oknie.
+z dwoma (trzema lub czterema plikami), ka�dy z nich we w�asnym oknie.
R�nice mi�dzy plikami zostan� pod�wietlone.
Jest to dobry spos�b by przeanalizowa� r�nice i przenie�� zmiany z jednej
wersji pliku do innej.
@@ -25,14 +25,14 @@
W ka�dym oknie zostanie ustawiona opcja 'diff', kt�ra spowoduje
pod�wietlenie r�nic.
.br
-Opcje 'wrap' i 'scrollbind' zostan� ustawione by tekst dobrze si�
-przegl�da�o.
+Opcje 'wrap' i 'scrollbind' zostan� ustawione by tekst si�
+wygodnie przegl�da�o.
.br
-Opcja 'foldmethod' zostanie ustawiona na "diff", dzi�ki temu
+Opcja 'foldmethod' zostanie ustawiona na "diff", dzi�ki czemu
niezmienione linie zostan� zwini�te. 'foldcolumn' b�dzie r�wne 2 aby
�atwo wyszukiwa�, otwiera� i zamyka� zwini�cia.
.SH OPCJE
-Pionowy podzia� jest u�yty do wyr�wnania linii, tak jakby u�yto
+Pionowy podzia� zostanie u�yty do wyr�wnania linii, tak jakby u�yto
opcji "\-O". Aby uzyska� poziomy podzia� u�yj opcji "\-o".
.PP
Aby pozna� inne opcje zobacz vim(1).
diff -Nur runtime.patched/doc/vimdiff-pl.UTF-8.1 runtime/doc/vimdiff-pl.UTF-8.1
--- runtime.patched/doc/vimdiff-pl.UTF-8.1 2006-03-26 09:01:30.000000000 -0800
+++ runtime/doc/vimdiff-pl.UTF-8.1 2009-09-18 03:29:11.000000000 -0700
@@ -1,17 +1,17 @@
.TH VIMDIFF 1 "2001 Mar 30"
.SH NAZWA
-vimdiff \- edytuj dwie lub trzy wersje pliku w Vimie i zobacz różnice
+vimdiff \- edytuj dwie, trzy lub cztery wersje pliku w Vimie i zobacz różnice
.SH SYNOPSIS
.br
.B vimdiff
-[opcje] plik1 plik2 [plik3]
+[opcje] plik1 plik2 [plik3 [plik4]]
.PP
.B gvimdiff
.SH OPIS
.B Vimdiff
uruchomi
.B Vima
-z dwoma (lub trzema plikami), każdy z nich we własnym oknie.
+z dwoma (trzema lub czterema plikami), każdy z nich we własnym oknie.
Różnice między plikami zostaną podświetlone.
Jest to dobry sposób by przeanalizować różnice i przenieść zmiany z jednej
wersji pliku do innej.
@@ -25,14 +25,14 @@
W każdym oknie zostanie ustawiona opcja 'diff', która spowoduje
podświetlenie różnic.
.br
-Opcje 'wrap' i 'scrollbind' zostaną ustawione by tekst dobrze się
-przeglądało.
+Opcje 'wrap' i 'scrollbind' zostaną ustawione by tekst się
+wygodnie przeglądało.
.br
-Opcja 'foldmethod' zostanie ustawiona na "diff", dzięki temu
+Opcja 'foldmethod' zostanie ustawiona na "diff", dzięki czemu
niezmienione linie zostaną zwinięte. 'foldcolumn' będzie równe 2 aby
łatwo wyszukiwać, otwierać i zamykać zwinięcia.
.SH OPCJE
-Pionowy podział jest użyty do wyrównania linii, tak jakby użyto
+Pionowy podział zostanie użyty do wyrównania linii, tak jakby użyto
opcji "\-O". Aby uzyskać poziomy podział użyj opcji "\-o".
.PP
Aby poznać inne opcje zobacz vim(1).
diff -Nur runtime.patched/doc/vimdiff-ru.1 runtime/doc/vimdiff-ru.1
--- runtime.patched/doc/vimdiff-ru.1 2005-03-11 01:50:21.000000000 -0800
+++ runtime/doc/vimdiff-ru.1 2009-09-18 03:28:54.000000000 -0700
@@ -36,8 +36,8 @@
��������, ��������� � ��������� ����� �������.
.SH ����� �������
��� ������������ ����� ����� ������ ������������ ������������ ���������� ����,
-��� ���� �� ������������� ���� "-O". ��� ����, ����� ������������ ����������
-���� �� �����������, ������� ������� � ��������� ������ ���� "-o".
+��� ���� �� ������������� ���� "\-O". ��� ����, ����� ������������ ����������
+���� �� �����������, ������� ������� � ��������� ������ ���� "\-o".
.PP
��������� ����� ��������� ������ ��������������� �� �������� ����������� vim(1).
.SH ������ �����
diff -Nur runtime.patched/doc/vimdiff-ru.UTF-8.1 runtime/doc/vimdiff-ru.UTF-8.1
--- runtime.patched/doc/vimdiff-ru.UTF-8.1 2005-03-18 07:27:03.000000000 -0800
+++ runtime/doc/vimdiff-ru.UTF-8.1 2009-09-18 03:31:20.000000000 -0700
@@ -36,8 +36,8 @@
находить, открывать и закрывать такие складки.
.SH КЛЮЧИ ЗАПУСКА
Для выравнивания строк между окнами используется вертикальное разделение окон,
-как если бы использовался ключ "-O". Для того, чтобы использовать разделение
-окон по горизонтали, следует указать в командной строке ключ "-o".
+как если бы использовался ключ "\-O". Для того, чтобы использовать разделение
+окон по горизонтали, следует указать в командной строке ключ "\-o".
.PP
Остальные ключи командной строки рассматриваются на странице справочника vim(1).
.SH СМОТРИ ТАКЖЕ
diff -Nur runtime.patched/doc/vimtutor-fr.1 runtime/doc/vimtutor-fr.1
--- runtime.patched/doc/vimtutor-fr.1 2006-04-30 09:20:32.000000000 -0700
+++ runtime/doc/vimtutor-fr.1 2008-12-08 13:09:03.000000000 -0800
@@ -3,7 +3,7 @@
vimtutor \- tutoriel Vim
.SH SYNOPSIS
.br
-.B vimtutor [langue]
+.B vimtutor [-g] [langue]
.SH DESCRIPTION
.B Vimtutor
lance le tutoriel
@@ -17,6 +17,10 @@
.B Vim
\.
.PP
+L'argument optionnel -g lance vimtutor avec gvim plut�t qu'avec vim, si l'IHM
+graphique de vim est disponible, ou le lance avec vim si gvim n'est pas
+disponible.
+.PP
L'argument optionnel [langue] est le nom d'une langue, sp�cifi�e par son
symbole � deux lettres, tels que "it" ou "es". Si l'argument [langue] est omis,
la langue de la r�gion linguistique actuelle sera retenue. Si le tutoriel est
diff -Nur runtime.patched/doc/vimtutor-fr.UTF-8.1 runtime/doc/vimtutor-fr.UTF-8.1
--- runtime.patched/doc/vimtutor-fr.UTF-8.1 2006-04-30 09:20:41.000000000 -0700
+++ runtime/doc/vimtutor-fr.UTF-8.1 2008-12-08 13:08:46.000000000 -0800
@@ -3,7 +3,7 @@
vimtutor \- tutoriel Vim
.SH SYNOPSIS
.br
-.B vimtutor [langue]
+.B vimtutor [-g] [langue]
.SH DESCRIPTION
.B Vimtutor
lance le tutoriel
@@ -17,6 +17,10 @@
.B Vim
\.
.PP
+L'argument optionnel -g lance vimtutor avec gvim plutôt qu'avec vim, si l'IHM
+graphique de vim est disponible, ou le lance avec vim si gvim n'est pas
+disponible.
+.PP
L'argument optionnel [langue] est le nom d'une langue, spécifiée par son
symbole à deux lettres, tels que "it" ou "es". Si l'argument [langue] est omis,
la langue de la région linguistique actuelle sera retenue. Si le tutoriel est
diff -Nur runtime.patched/doc/vimtutor-pl.1 runtime/doc/vimtutor-pl.1
--- runtime.patched/doc/vimtutor-pl.1 2006-03-26 06:57:05.000000000 -0800
+++ runtime/doc/vimtutor-pl.1 2009-09-18 03:31:20.000000000 -0700
@@ -3,10 +3,10 @@
vimtutor \- nauczyciel Vima
.SH SYNOPSIS
.br
-.B vimtutor [j�zyk]
+.B vimtutor -g [j�zyk]
.SH OPIS
.B Vimtutor
-uruchamia nauczycie
+uruchamia nauczyciela
.B Vima.
Najpierw kopiuje w�a�ciwy plik, dzi�ki temu mo�na go zmienia� bez obaw
utraty tre�ci.
@@ -15,6 +15,9 @@
przyda si� ludziom, kt�rzy chc� si� nauczy� pierwszych polece�
.B Vima
.PP
+Opcjonalny argument \-g uruchamia vimtutor w gvimie a nie w Vimie je�li
+graficzna wersja Vima jest dost�pna, je�li nie zostanie uruchomiony Vim.
+.PP
Opcjonalny argument [j�zyk] jest dwu literowym kodem j�zyka, tak jak
"it" lub "es".
Je�li brak argumentu [j�zyk] zostanie u�yty j�zyk bie��cej
@@ -26,7 +29,7 @@
jest uruchamiany zawsze w trybie kompatybilno�ci z Vi
.SH PLIKI
.TP 15
-/usr/local/lib/vim/tutor/tutor[.languague]
+/usr/local/lib/vim/tutor/tutor[.j�zyk]
Tekstowe pliki
.B Vimtutora.
.TP 15
@@ -35,7 +38,7 @@
.B Vimtutora.
.SH AUTOR
.B Vimtutor
-zosta� pocz�tkowo napisany dla Vim przez Michaela C. Pierce'a
+zosta� pocz�tkowo napisany dla Vi przez Michaela C. Pierce'a
i Roberta K. Ware'a z Colorado School of Mines zainspirowani przez
Charlesa Smitha z Colorado State University.
E-mail: [email protected]
diff -Nur runtime.patched/doc/vimtutor-pl.UTF-8.1 runtime/doc/vimtutor-pl.UTF-8.1
--- runtime.patched/doc/vimtutor-pl.UTF-8.1 2006-03-26 09:01:45.000000000 -0800
+++ runtime/doc/vimtutor-pl.UTF-8.1 2009-09-18 03:26:13.000000000 -0700
@@ -3,10 +3,10 @@
vimtutor \- nauczyciel Vima
.SH SYNOPSIS
.br
-.B vimtutor [język]
+.B vimtutor -g [język]
.SH OPIS
.B Vimtutor
-uruchamia nauczycie
+uruchamia nauczyciela
.B Vima.
Najpierw kopiuje właściwy plik, dzięki temu można go zmieniać bez obaw
utraty treści.
@@ -15,6 +15,9 @@
przyda się ludziom, którzy chcą się nauczyć pierwszych poleceń
.B Vima
.PP
+Opcjonalny argument \-g uruchamia vimtutor w gvimie a nie w Vimie jeśli
+graficzna wersja Vima jest dostępna, jeśli nie zostanie uruchomiony Vim.
+.PP
Opcjonalny argument [język] jest dwu literowym kodem języka, tak jak
"it" lub "es".
Jeśli brak argumentu [język] zostanie użyty język bieżącej
@@ -26,7 +29,7 @@
jest uruchamiany zawsze w trybie kompatybilności z Vi
.SH PLIKI
.TP 15
-/usr/local/lib/vim/tutor/tutor[.languague]
+/usr/local/lib/vim/tutor/tutor[.język]
Tekstowe pliki
.B Vimtutora.
.TP 15
@@ -35,7 +38,7 @@
.B Vimtutora.
.SH AUTOR
.B Vimtutor
-został początkowo napisany dla Vim przez Michaela C. Pierce'a
+został początkowo napisany dla Vi przez Michaela C. Pierce'a
i Roberta K. Ware'a z Colorado School of Mines zainspirowani przez
Charlesa Smitha z Colorado State University.
E-mail: [email protected]
diff -Nur runtime.patched/doc/vimtutor.1 runtime/doc/vimtutor.1
--- runtime.patched/doc/vimtutor.1 2008-04-05 03:21:11.000000000 -0700
+++ runtime/doc/vimtutor.1 2009-09-18 03:28:54.000000000 -0700
@@ -3,7 +3,7 @@
vimtutor \- the Vim tutor
.SH SYNOPSIS
.br
-.B vimtutor [-g] [language]
+.B vimtutor [\-g] [language]
.SH DESCRIPTION
.B Vimtutor
starts the
@@ -18,7 +18,7 @@
.B Vim
commands.
.PP
-The optional argument -g starts vimtutor with gvim rather than vim, if the
+The optional argument \-g starts vimtutor with gvim rather than vim, if the
GUI version of vim is available, or falls back to Vim if gvim is not found.
.PP
The optional [language] argument is the two-letter name of a language, like
diff -Nur runtime.patched/doc/visual.txt runtime/doc/visual.txt
--- runtime.patched/doc/visual.txt 2008-08-09 07:23:01.000000000 -0700
+++ runtime/doc/visual.txt 2009-10-28 13:58:52.000000000 -0700
@@ -1,4 +1,4 @@
-*visual.txt* For Vim version 7.2. Last change: 2006 Sep 26
+*visual.txt* For Vim version 7.2. Last change: 2009 Oct 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -217,7 +217,7 @@
i[ inner [] block |v_i[|
Additionally the following commands can be used:
- : start ex command for highlighted lines (1) |v_:|
+ : start Ex command for highlighted lines (1) |v_:|
r change (4) |v_r|
s change |v_s|
C change (2)(4) |v_C|
@@ -309,8 +309,6 @@
LHS of the block determines the point from which to apply a right shift, and
padding includes TABs optimally according to 'ts' and 'et'. The LHS of the
block determines the point upto which to shift left.
- Note: v_< padding is buggy if the Visual Block starts and ends in the same
- TAB. (Vim 5.4c)
See |v_b_>_example|.
See |v_b_<_example|.
@@ -465,6 +463,10 @@
mode Vim automatically switches to Visual mode, so that the same behavior as
in Visual mode is effective. If you don't want this use |:xmap| or |:smap|.
+Users will expect printable characters to replace the selected area.
+Therefore avoid mapping printable characters in Select mode. Or use
+|:sunmap| after |:map| and |:vmap| to remove it for Select mode.
+
After the mapping or menu finishes, the selection is enabled again and Select
mode entered, unless the selected area was deleted, another buffer became
the current one or the window layout was changed.
diff -Nur runtime.patched/doc/windows.txt runtime/doc/windows.txt
--- runtime.patched/doc/windows.txt 2008-08-09 07:23:02.000000000 -0700
+++ runtime/doc/windows.txt 2009-10-08 14:17:02.000000000 -0700
@@ -1,4 +1,4 @@
-*windows.txt* For Vim version 7.2. Last change: 2008 Aug 09
+*windows.txt* For Vim version 7.2. Last change: 2009 Sep 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -35,6 +35,11 @@
==============================================================================
1. Introduction *windows-intro* *window*
+Summary:
+ A buffer is the in-memory text of a file.
+ A window is a viewport on a buffer.
+ A tab page is a collection of windows.
+
A window is a viewport onto a buffer. You can use multiple windows on one
buffer, or several windows on different buffers.
@@ -342,13 +347,13 @@
top-left window.
With count: go to Nth window (windows are numbered from
top-left to bottom-right). To obtain the window number see
- |bufwinnr()| and |winnr()|.
+ |bufwinnr()| and |winnr()|. When N is larger than the number
+ of windows go to the last window.
*CTRL-W_W*
CTRL-W W Without count: move cursor to window above/left of current
one. If there is no window above or left, go to bottom-right
- window. With count: go to Nth window (windows are numbered
- from top-left to bottom-right).
+ window. With count: go to Nth window, like with CTRL-W w.
CTRL-W t *CTRL-W_t* *CTRL-W_CTRL-T*
CTRL-W CTRL-T Move cursor to top-left window.
@@ -1175,7 +1180,8 @@
:setlocal buftype=nofile
:setlocal bufhidden=hide
:setlocal noswapfile
-< The buffer name can be used to identify the buffer.
+< The buffer name can be used to identify the buffer, if you
+ give it a meaningful name.
*unlisted-buffer*
unlisted The buffer is not in the buffer list. It is not used for
diff -Nur runtime.patched/doc/xxd-fr.1 runtime/doc/xxd-fr.1
--- runtime.patched/doc/xxd-fr.1 2006-04-30 09:20:38.000000000 -0700
+++ runtime/doc/xxd-fr.1 2008-12-08 13:08:46.000000000 -0800
@@ -135,7 +135,7 @@
D�bute au
.RI < d�calage >
absolu ou relatif dans fichier_entree.
-\fI+ fRindique que le d�calage est relatif � la position courante dans
+\fI+ \fRindique que le d�calage est relatif � la position courante dans
l'entr�e standard (sans effet si la lecture n'a pas lieu sur l'entr�e
standard). \fI\- \fRindique un d�calage en caract�res depuis la fin de
l'entr�e (utilis� avec \fI+\fR, d�signe la position avant la position
@@ -308,7 +308,7 @@
.PP
Cr�er un fichier d'un octet, contenant seulement le caract�re 'A'.
Les nombres apr�s '\-r \-s' s'ajoutent au num�ros de lignes trouv�es dans le
-fichier ; XXX in effects, les octets initiaux sont supprim�s.
+fichier ; les octets initiaux sont supprim�s.
.br
\fI% echo '010000: 41' | xxd \-r \-s \-0x10000 \> fichier\fR
.PP
diff -Nur runtime.patched/doc/xxd-fr.UTF-8.1 runtime/doc/xxd-fr.UTF-8.1
--- runtime.patched/doc/xxd-fr.UTF-8.1 2006-04-30 09:20:45.000000000 -0700
+++ runtime/doc/xxd-fr.UTF-8.1 2008-12-08 13:08:57.000000000 -0800
@@ -135,7 +135,7 @@
Débute au
.RI < décalage >
absolu ou relatif dans fichier_entree.
-\fI+ fRindique que le décalage est relatif à la position courante dans
+\fI+ \fRindique que le décalage est relatif à la position courante dans
l'entrée standard (sans effet si la lecture n'a pas lieu sur l'entrée
standard). \fI\- \fRindique un décalage en caractères depuis la fin de
l'entrée (utilisé avec \fI+\fR, désigne la position avant la position
@@ -308,7 +308,7 @@
.PP
Créer un fichier d'un octet, contenant seulement le caractère 'A'.
Les nombres après '\-r \-s' s'ajoutent au numéros de lignes trouvées dans le
-fichier ; XXX in effects, les octets initiaux sont supprimés.
+fichier ; les octets initiaux sont supprimés.
.br
\fI% echo '010000: 41' | xxd \-r \-s \-0x10000 \> fichier\fR
.PP
diff -Nur runtime.patched/doc/xxd-pl.1 runtime/doc/xxd-pl.1
--- runtime.patched/doc/xxd-pl.1 2006-09-26 13:17:26.000000000 -0700
+++ runtime/doc/xxd-pl.1 2009-09-18 03:29:11.000000000 -0700
@@ -18,7 +18,7 @@
\-r[evert] [opcje] [plik_we [plik_wy]]
.SH OPIS
.I xxd
-tworzy zrzut heksowy podanego pliku na standardowe wyj�cie.
+tworzy zrzut heksowy podanego pliku lub standardowego wej�cia.
Mo�e tak�e przetworzy� zrzut heksowy z powrotem do oryginalnej,
binarnej formy.
Podobnie jak
@@ -27,13 +27,13 @@
.BR uudecode (1)
pozwala na przekazanie danych binarnych w bezpiecznej w poczcie formie
ASCII, ale ma zalety dekodowania na standardowe wyj�cie.
-Ponadto mo�na go u�y� do przeprowadzenia �atania plik�w binarnych.
+Ponadto mo�na go u�y� do binarnego �atania plik�w.
.SH OPCJE
Je�li nie podano
.I plik_we
-xxd czyta ze standardowego wej�cie.
+xxd czyta ze standardowego wej�cia.
Je�li okre�lono
-.I plik_wy
+.I plik_we
jako znak
.RB \` \- '
wtedy dane wej�ciowe czytane s� ze standardowego wej�cia.
@@ -63,9 +63,9 @@
.TP
.IR \-b " | " \-bits
Prze��cza do zrzutu bitowego (cyfr binarnych) zamiast heksowego.
-Opcja ta zapisuje oktety ajko osiem cyfr 1 lub 0 zamias normalnego
+Opcja ta zapisuje oktety jako osiem cyfr 1 lub 0 zamiast normalnego
zrzutu heksowego. Ka�da linia jest poprzedzona przez
-heksadecymalny numer linii a za nim jego reprezentacja w ascii (lub
+heksadecymalny numer linii a po nim jego reprezentacj� w ascii (lub
ebcdic). Opcje linii polece� \-r, \-p, \-i nie dzia�aj� w tym
trybie.
.TP
@@ -103,7 +103,7 @@
.TP
.IR "\-l len " | "\-len len"
zako�cz po wypisaniu
-.RI < len>
+.RI < len >
oktet�w.
.TP
.IR \-p " | " \-ps " | " \-postscript " | " \-plain
@@ -117,7 +117,7 @@
.I \-r \-p
by odczyta� zwyk�y zrzut heksadecymalny bez numer�w linii
i okre�lonego uk�adu kolumn. Dodatkowe bia�e znaki i �amanie wierszy
-s� dozwolone wsz�dzie.
+s� wsz�dzie dozwolone.
.TP
.I \-seek offset
Kiedy u�yty po
@@ -129,11 +129,11 @@
.I \-s [+][\-]seek
zaczyna na
.RI < seek >
-bajt�w abs. (lub wzg.) offsecie pliku wej�ciowego.
-\fI+ fRwskazuje, �e seek jest wzgl�dne do bie��cej pozycji pliku (bez
+bajt�w bezwgl�dnego (lub wzgl�dnego) offsetu pliku wej�ciowego.
+\fI+ \fRwskazuje, �e seek jest wzgl�dne do bie��cej pozycji pliku (bez
znaczenia je�li nie wczytuje ze standardowego wej�cia). \fI\- \fRwskazuje
�e seek powinno by� o tyle znak�w od ko�ca wej�cia (lub je�li
-po��czone z \fI+\fR: przezhd bie��c� pozycj� pliku na standardowym
+po��czone z \fI+\fR: przed bie��c� pozycj� pliku na standardowym
wej�ciu).
Bez opcji \-s xxd zaczyna od bie��cej pozycji w pliku.
.TP
@@ -153,7 +153,7 @@
s� tylko przerwy, kt�re zostan� wype�nione bajtami null.
.PP
.I xxd \-r
-nigdy nie podaje b��d�w analizy. �mieci s� ignorowane.
+nigdy nie podaje b��d�w analizy. �mieci s� po cichu ignorowane.
.PP
W czasie edycji zrzut�w heksowych, prosz� zauwa�y� �e
.I xxd \-r
@@ -161,8 +161,8 @@
kolumn danych heksadecymalnych (zobacz opcj� \-c). Oznacza to tak�e,
�e zmiany w drukowanych kolumnach ascii (lub ebcdic) s� zawsze
ignorowane. Odwr�cenie zwyk�ego (lub postscriptowego) stylu zrzutu
-poprzez xxd \-r \-p nie zale�y od kolejno�ci kolumn. Tutaj cokolwiej
-co wygl�da jak para cyfr heks jest interpretowane.
+poprzez xxd \-r \-p nie zale�y od kolejno�ci kolumn. Tutaj cokolwiek
+co wygl�da jak para znak�w heks jest interpretowane.
.PP
Zauwa� r�nic� mi�dzy
.br
@@ -175,7 +175,7 @@
.I xxd \-s \+seek
mo�e by� r�ne od
.IR "xxd \-s seek" ,
-poniewa� lseek(2) jest u�yty do "przewini�cie" wej�cia. '+' robi
+poniewa� lseek(2) jest u�yty do "przewini�cie" wej�cia. '+' stanowi
r�nic� je�li �r�d�em wej�cia jest standardowe wej�cie i je�li pozycja
w pliku ze standardowego wej�cia nie jest pocz�tkiem pliku w chwili
uruchomienia xxd. Nast�puj�ce przyk�ady mog� wyja�ni� (lub bardziej
@@ -184,17 +184,17 @@
Przewi� standardowe wej�cie przed przeczytaniem; potrzebne poniewa�
`cat' ju� odczyta� do ko�ca standardowego wej�cia.
.br
-\fI% sh \-c 'cat > zwyk�a_kopia; xxd \-s 0 > hex_kopia' < plik
+\fI% sh \-c 'cat > zwyk�a_kopia; xxd \-s 0 > hex_kopia' < plik\fR
.PP
Zrzut heksowy od pozycji pliku 0x480 (=1024+128) w prz�d.
Znak `+' oznacza "wzgl�dny wobec bie��cej pozycji", st�d `128' dodaje
do 1k gdzie zako�czy� dd.
.br
-\fI% sh \-c 'dd of=plain_snippet bs=1k count=1; xxd \-s +128 > hex_snippet' < file
+\fI% sh \-c 'dd of=plain_snippet bs=1k count=1; xxd \-s +128 > hex_snippet' < file\fR
.PP
Zrzut heksowy od pozycji pliku 0x100 ( = 1024\-768) dalej.
.br
-\fI% sh \-c 'dd of=plain_snippet bs=1k count=1; xxd \-s +-768 > hex_snippet' < file
+\fI% sh \-c 'dd of=plain_snippet bs=1k count=1; xxd \-s +-768 > hex_snippet' < file\fR
.PP
Jakkolwiek, jest to rzadka sytuacja i u�ycie `+' jest rzadko
potrzebne.
@@ -206,14 +206,14 @@
.B pliku
\.
.br
-\fI% xxd \-s 0x30 plik
+\fI% xxd \-s 0x30 plik\fR
.PP
.br
Wypisz trzy linie (heksowe 0x30 bajt�w) z ko�ca
.B pliku
\.
.br
-\fI% xxd \-s \-0x30 plik
+\fI% xxd \-s \-0x30 plik\fR
.PP
.br
Wypisz 120 bajt�w jako ci�g�y zrzut heksowy z 20 oktetami na lini�.
diff -Nur runtime.patched/doc/xxd-pl.UTF-8.1 runtime/doc/xxd-pl.UTF-8.1
--- runtime.patched/doc/xxd-pl.UTF-8.1 2006-09-26 13:17:31.000000000 -0700
+++ runtime/doc/xxd-pl.UTF-8.1 2009-09-18 03:26:13.000000000 -0700
@@ -18,7 +18,7 @@
\-r[evert] [opcje] [plik_we [plik_wy]]
.SH OPIS
.I xxd
-tworzy zrzut heksowy podanego pliku na standardowe wyjście.
+tworzy zrzut heksowy podanego pliku lub standardowego wejścia.
Może także przetworzyć zrzut heksowy z powrotem do oryginalnej,
binarnej formy.
Podobnie jak
@@ -27,13 +27,13 @@
.BR uudecode (1)
pozwala na przekazanie danych binarnych w bezpiecznej w poczcie formie
ASCII, ale ma zalety dekodowania na standardowe wyjście.
-Ponadto można go użyć do przeprowadzenia łatania plików binarnych.
+Ponadto można go użyć do binarnego łatania plików.
.SH OPCJE
Jeśli nie podano
.I plik_we
-xxd czyta ze standardowego wejście.
+xxd czyta ze standardowego wejścia.
Jeśli określono
-.I plik_wy
+.I plik_we
jako znak
.RB \` \- '
wtedy dane wejściowe czytane są ze standardowego wejścia.
@@ -63,9 +63,9 @@
.TP
.IR \-b " | " \-bits
Przełącza do zrzutu bitowego (cyfr binarnych) zamiast heksowego.
-Opcja ta zapisuje oktety ajko osiem cyfr 1 lub 0 zamias normalnego
+Opcja ta zapisuje oktety jako osiem cyfr 1 lub 0 zamiast normalnego
zrzutu heksowego. Każda linia jest poprzedzona przez
-heksadecymalny numer linii a za nim jego reprezentacja w ascii (lub
+heksadecymalny numer linii a po nim jego reprezentacją w ascii (lub
ebcdic). Opcje linii poleceń \-r, \-p, \-i nie działają w tym
trybie.
.TP
@@ -103,7 +103,7 @@
.TP
.IR "\-l len " | "\-len len"
zakończ po wypisaniu
-.RI < len>
+.RI < len >
oktetów.
.TP
.IR \-p " | " \-ps " | " \-postscript " | " \-plain
@@ -117,7 +117,7 @@
.I \-r \-p
by odczytać zwykły zrzut heksadecymalny bez numerów linii
i określonego układu kolumn. Dodatkowe białe znaki i łamanie wierszy
-są dozwolone wszędzie.
+są wszędzie dozwolone.
.TP
.I \-seek offset
Kiedy użyty po
@@ -129,11 +129,11 @@
.I \-s [+][\-]seek
zaczyna na
.RI < seek >
-bajtów abs. (lub wzg.) offsecie pliku wejściowego.
-\fI+ fRwskazuje, że seek jest względne do bieżącej pozycji pliku (bez
+bajtów bezwględnego (lub względnego) offsetu pliku wejściowego.
+\fI+ \fRwskazuje, że seek jest względne do bieżącej pozycji pliku (bez
znaczenia jeśli nie wczytuje ze standardowego wejścia). \fI\- \fRwskazuje
że seek powinno być o tyle znaków od końca wejścia (lub jeśli
-połączone z \fI+\fR: przezhd bieżącą pozycją pliku na standardowym
+połączone z \fI+\fR: przed bieżącą pozycją pliku na standardowym
wejściu).
Bez opcji \-s xxd zaczyna od bieżącej pozycji w pliku.
.TP
@@ -153,7 +153,7 @@
są tylko przerwy, które zostaną wypełnione bajtami null.
.PP
.I xxd \-r
-nigdy nie podaje błędów analizy. Śmieci są ignorowane.
+nigdy nie podaje błędów analizy. Śmieci są po cichu ignorowane.
.PP
W czasie edycji zrzutów heksowych, proszę zauważyć że
.I xxd \-r
@@ -161,8 +161,8 @@
kolumn danych heksadecymalnych (zobacz opcję \-c). Oznacza to także,
że zmiany w drukowanych kolumnach ascii (lub ebcdic) są zawsze
ignorowane. Odwrócenie zwykłego (lub postscriptowego) stylu zrzutu
-poprzez xxd \-r \-p nie zależy od kolejności kolumn. Tutaj cokolwiej
-co wygląda jak para cyfr heks jest interpretowane.
+poprzez xxd \-r \-p nie zależy od kolejności kolumn. Tutaj cokolwiek
+co wygląda jak para znaków heks jest interpretowane.
.PP
Zauważ różnicę między
.br
@@ -175,7 +175,7 @@
.I xxd \-s \+seek
może być różne od
.IR "xxd \-s seek" ,
-ponieważ lseek(2) jest użyty do "przewinięcie" wejścia. '+' robi
+ponieważ lseek(2) jest użyty do "przewinięcie" wejścia. '+' stanowi
różnicę jeśli źródłem wejścia jest standardowe wejście i jeśli pozycja
w pliku ze standardowego wejścia nie jest początkiem pliku w chwili
uruchomienia xxd. Następujące przykłady mogą wyjaśnić (lub bardziej
@@ -184,17 +184,17 @@
Przewiń standardowe wejście przed przeczytaniem; potrzebne ponieważ
`cat' już odczytał do końca standardowego wejścia.
.br
-\fI% sh \-c 'cat > zwykła_kopia; xxd \-s 0 > hex_kopia' < plik
+\fI% sh \-c 'cat > zwykła_kopia; xxd \-s 0 > hex_kopia' < plik\fR
.PP
Zrzut heksowy od pozycji pliku 0x480 (=1024+128) w przód.
Znak `+' oznacza "względny wobec bieżącej pozycji", stąd `128' dodaje
do 1k gdzie zakończył dd.
.br
-\fI% sh \-c 'dd of=plain_snippet bs=1k count=1; xxd \-s +128 > hex_snippet' < file
+\fI% sh \-c 'dd of=plain_snippet bs=1k count=1; xxd \-s +128 > hex_snippet' < file\fR
.PP
Zrzut heksowy od pozycji pliku 0x100 ( = 1024\-768) dalej.
.br
-\fI% sh \-c 'dd of=plain_snippet bs=1k count=1; xxd \-s +-768 > hex_snippet' < file
+\fI% sh \-c 'dd of=plain_snippet bs=1k count=1; xxd \-s +-768 > hex_snippet' < file\fR
.PP
Jakkolwiek, jest to rzadka sytuacja i użycie `+' jest rzadko
potrzebne.
@@ -206,14 +206,14 @@
.B pliku
\.
.br
-\fI% xxd \-s 0x30 plik
+\fI% xxd \-s 0x30 plik\fR
.PP
.br
Wypisz trzy linie (heksowe 0x30 bajtów) z końca
.B pliku
\.
.br
-\fI% xxd \-s \-0x30 plik
+\fI% xxd \-s \-0x30 plik\fR
.PP
.br
Wypisz 120 bajtów jako ciągły zrzut heksowy z 20 oktetami na linię.
diff -Nur runtime.patched/filetype.vim runtime/filetype.vim
--- runtime.patched/filetype.vim 2008-08-03 12:38:46.000000000 -0700
+++ runtime/filetype.vim 2009-10-08 14:19:48.000000000 -0700
@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <[email protected]>
-" Last Change: 2008 Aug 03
+" Last Change: 2009 Sep 18
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -110,12 +110,15 @@
au BufNewFile,BufRead proftpd.conf* call s:StarSetf('apachestyle')
" Apache config file
-au BufNewFile,BufRead .htaccess setf apache
-au BufNewFile,BufRead httpd.conf*,srm.conf*,access.conf*,apache.conf*,apache2.conf*,/etc/apache2/*.conf* call s:StarSetf('apache')
+au BufNewFile,BufRead .htaccess,/etc/httpd/*.conf setf apache
+au BufNewFile,BufRead httpd.conf*,srm.conf*,access.conf*,apache.conf*,apache2.conf*,/etc/apache2/*.conf*,/etc/httpd/conf.d/*.conf* call s:StarSetf('apache')
" XA65 MOS6510 cross assembler
au BufNewFile,BufRead *.a65 setf a65
+" Applescript
+au BufNewFile,BufRead *.scpt setf applescript
+
" Applix ELF
au BufNewFile,BufRead *.am
\ if expand("<afile>") !~? 'Makefile.am\>' | setf elf | endif
@@ -350,10 +353,9 @@
\ if exists("cynlib_syntax_for_cpp")|setf cynlib|else|setf cpp|endif
" C++
+au BufNewFile,BufRead *.cxx,*.c++,*.hh,*.hxx,*.hpp,*.ipp,*.moc,*.tcc,*.inl setf cpp
if has("fname_case")
- au BufNewFile,BufRead *.cxx,*.c++,*.C,*.H,*.hh,*.hxx,*.hpp,*.moc,*.tcc,*.inl setf cpp
-else
- au BufNewFile,BufRead *.cxx,*.c++,*.hh,*.hxx,*.hpp,*.moc,*.tcc,*.inl setf cpp
+ au BufNewFile,BufRead *.C,*.H setf cpp
endif
" .h files can be C, Ch C++, ObjC or ObjC++.
@@ -364,9 +366,9 @@
func! s:FTheader()
if match(getline(1, min([line("$"), 200])), '^@\(interface\|end\|class\)') > -1
setf objc
- elseif exists("c_syntax_for_h")
+ elseif exists("g:c_syntax_for_h")
setf c
- elseif exists("ch_syntax_for_h")
+ elseif exists("g:ch_syntax_for_h")
setf ch
else
setf cpp
@@ -669,8 +671,9 @@
" Fetchmail RC file
au BufNewFile,BufRead .fetchmailrc setf fetchmail
-" FlexWiki
-au BufNewFile,BufRead *.wiki setf flexwiki
+" FlexWiki - disabled, because it has side effects when a .wiki file
+" is not actually FlexWiki
+"au BufNewFile,BufRead *.wiki setf flexwiki
" Focus Executable
au BufNewFile,BufRead *.fex,*.focexec setf focexec
@@ -704,7 +707,7 @@
au BufNewFile,BufRead *.mo,*.gdmo setf gdmo
" Gedcom
-au BufNewFile,BufRead *.ged setf gedcom
+au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom
" Git
autocmd BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit
@@ -896,7 +899,7 @@
au BufNewFile,BufRead *.jj,*.jjt setf javacc
" JavaScript, ECMAScript
-au BufNewFile,BufRead *.js,*.javascript,*.es setf javascript
+au BufNewFile,BufRead *.js,*.javascript,*.es,*.jsx setf javascript
" Java Server Pages
au BufNewFile,BufRead *.jsp setf jsp
@@ -1043,7 +1046,7 @@
let n = 1
while n < 10
let line = getline(n)
- if line =~ '^\s*\(#\s*\(include\|import\)\>\|/\*\)'
+ if line =~ '^\s*\(#\s*\(include\|import\)\>\|/\*\|//\)'
setf objc
return
endif
@@ -1070,6 +1073,9 @@
" Maya Extension Language
au BufNewFile,BufRead *.mel setf mel
+" Mercurial config (looks like generic config file)
+au BufNewFile,BufRead *.hgrc,*hgrc setf cfg
+
" Messages
au BufNewFile,BufRead /var/log/messages,/var/log/messages.*[0-9] setf messages
@@ -1260,7 +1266,7 @@
else
au BufNewFile,BufRead *.pl call s:FTpl()
endif
-au BufNewFile,BufRead *.plx setf perl
+au BufNewFile,BufRead *.plx,*.al setf perl
func! s:FTpl()
if exists("g:filetype_pl")
@@ -1552,6 +1558,7 @@
" Remind
au BufNewFile,BufRead .reminders* call s:StarSetf('remind')
+au BufNewFile,BufRead *.remind,*.rem setf remind
" Resolv.conf
au BufNewFile,BufRead resolv.conf setf resolv
@@ -1685,7 +1692,15 @@
if expand("<amatch>") =~ g:ft_ignore_pat
return
endif
- if a:name =~ '\<ksh\>'
+ if a:name =~ '\<csh\>'
+ " Some .sh scripts contain #!/bin/csh.
+ call SetFileTypeShell("csh")
+ return
+ elseif a:name =~ '\<tcsh\>'
+ " Some .sh scripts contain #!/bin/tcsh.
+ call SetFileTypeShell("tcsh")
+ return
+ elseif a:name =~ '\<ksh\>'
let b:is_kornshell = 1
if exists("b:is_bash")
unlet b:is_bash
@@ -1823,10 +1838,15 @@
let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
func! s:FTRules()
- if expand('<amatch>:p') =~ '^/etc/udev/\%(rules\.d/\)\=.*\.rules$'
+ let path = expand('<amatch>:p')
+ if path =~ '^/etc/udev/\%(rules\.d/\)\=.*\.rules$'
setf udevrules
return
endif
+ if path =~ '^/etc/ufw/'
+ setf conf " Better than hog
+ return
+ endif
try
let config_lines = readfile('/etc/udev/udev.conf')
catch /^Vim\%((\a\+)\)\=:E484/
@@ -1909,6 +1929,9 @@
" Sysctl
au BufNewFile,BufRead /etc/sysctl.conf setf sysctl
+" Synopsys Design Constraints
+au BufNewFile,BufRead *.sdc setf sdc
+
" Sudoers
au BufNewFile,BufRead /etc/sudoers,sudoers.tmp setf sudoers
@@ -1944,6 +1967,10 @@
" TAK
au BufNewFile,BufRead *.tak setf tak
+" Task
+au BufRead,BufNewFile {pending,completed,undo}.data setf taskdata
+au BufRead,BufNewFile *.task setf taskedit
+
" Tcl (JACL too)
au BufNewFile,BufRead *.tcl,*.tk,*.itcl,*.itk,*.jacl setf tcl
@@ -2079,8 +2106,13 @@
" Viminfo file
au BufNewFile,BufRead .viminfo,_viminfo setf viminfo
-" Virata Config Script File
-au BufRead,BufNewFile *.hw,*.module,*.pkg setf virata
+" Virata Config Script File or Drupal module
+au BufRead,BufNewFile *.hw,*.module,*.pkg
+ \ if getline(1) =~ '<?php' |
+ \ setf php |
+ \ else |
+ \ setf virata |
+ \ endif
" Visual Basic (also uses *.bas) or FORM
au BufNewFile,BufRead *.frm call s:FTVB("form")
@@ -2325,6 +2357,9 @@
\| let b:fvwm_version = 2 | call s:StarSetf('fvwm')
\|endif
+" Gedcom
+au BufNewFile,BufRead /tmp/lltmp* call s:StarSetf('gedcom')
+
" GTK RC
au BufNewFile,BufRead .gtkrc*,gtkrc* call s:StarSetf('gtkrc')
diff -Nur runtime.patched/ftplugin/abaqus.vim runtime/ftplugin/abaqus.vim
--- runtime.patched/ftplugin/abaqus.vim 2004-07-06 11:28:08.000000000 -0700
+++ runtime/ftplugin/abaqus.vim 2008-11-06 08:04:48.000000000 -0800
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: Abaqus finite element input file (www.abaqus.com)
" Maintainer: Carl Osterwisch <[email protected]>
-" Last Change: 2004 Jul 06
+" Last Change: 2008 Oct 5
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin") | finish | endif
@@ -13,13 +13,6 @@
let s:cpo_save = &cpoptions
set cpoptions&vim
-" Folding
-if version >= 600
- " Fold all lines that do not begin with *
- setlocal foldexpr=getline(v:lnum)[0]!=\"\*\"
- setlocal foldmethod=expr
-endif
-
" Set the format of the include file specification for Abaqus
" Used in :check gf ^wf [i and other commands
setlocal include=\\<\\cINPUT\\s*=
@@ -42,29 +35,43 @@
" Abaqus keywords and identifiers may include a - character
setlocal iskeyword+=-
+let b:undo_ftplugin = "setlocal include< includeexpr< isfname<"
+ \ . " comments< commentstring< define< iskeyword<"
+
+if has("folding")
+ " Fold all lines that do not begin with *
+ setlocal foldexpr=getline(v:lnum)[0]!=\"\*\"
+ setlocal foldmethod=expr
+ let b:undo_ftplugin .= " foldexpr< foldmethod<"
+endif
+
" Set the file browse filter (currently only supported under Win32 gui)
if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "Abaqus Input Files (*.inp *.inc)\t*.inp;*.inc\n" .
\ "Abaqus Results (*.dat)\t*.dat\n" .
\ "Abaqus Messages (*.pre *.msg *.sta)\t*.pre;*.msg;*.sta\n" .
\ "All Files (*.*)\t*.*\n"
+ let b:undo_ftplugin .= "|unlet b:browsefilter"
endif
-" Define keys used to move [count] sections backward or forward.
-" TODO: Make this do something intelligent in visual mode.
-nnoremap <silent> <buffer> [[ :call <SID>Abaqus_Jump('?^\*\a?')<CR>
-nnoremap <silent> <buffer> ]] :call <SID>Abaqus_Jump('/^\*\a/')<CR>
-function! <SID>Abaqus_Jump(motion) range
- let s:count = v:count1
- mark '
- while s:count > 0
- silent! execute a:motion
- let s:count = s:count - 1
- endwhile
-endfunction
+" Define patterns for the matchit plugin
+if exists("loaded_matchit") && !exists("b:match_words")
+ let b:match_ignorecase = 1
+ let b:match_words =
+ \ '\*part:\*end\s*part,' .
+ \ '\*assembly:\*end\s*assembly,' .
+ \ '\*instance:\*end\s*instance,' .
+ \ '\*step:\*end\s*step'
+ let b:undo_ftplugin .= "|unlet b:match_ignorecase b:match_words"
+endif
+
+" Define keys used to move [count] keywords backward or forward.
+noremap <silent><buffer> [[ ?^\*\a<CR>:nohlsearch<CR>
+noremap <silent><buffer> ]] /^\*\a<CR>:nohlsearch<CR>
" Define key to toggle commenting of the current line or range
-noremap <silent> <buffer> <m-c> :call <SID>Abaqus_ToggleComment()<CR>j
+noremap <silent><buffer> <LocalLeader><LocalLeader>
+ \ :call <SID>Abaqus_ToggleComment()<CR>j
function! <SID>Abaqus_ToggleComment() range
if strpart(getline(a:firstline), 0, 2) == "**"
" Un-comment all lines in range
@@ -75,5 +82,8 @@
endif
endfunction
+let b:undo_ftplugin .= "|unmap <buffer> [[|unmap <buffer> ]]"
+ \ . "|unmap <buffer> <LocalLeader><LocalLeader>"
+
" Restore saved compatibility options
let &cpoptions = s:cpo_save
diff -Nur runtime.patched/ftplugin/ant.vim runtime/ftplugin/ant.vim
--- runtime.patched/ftplugin/ant.vim 2004-06-07 07:32:41.000000000 -0700
+++ runtime/ftplugin/ant.vim 2009-01-28 08:23:42.000000000 -0800
@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: ant
-" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Changed: 2003 Sep 29
-" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
+" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Last Changed: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff -Nur runtime.patched/ftplugin/aspvbs.vim runtime/ftplugin/aspvbs.vim
--- runtime.patched/ftplugin/aspvbs.vim 2004-06-28 08:27:17.000000000 -0700
+++ runtime/ftplugin/aspvbs.vim 2009-01-28 08:23:28.000000000 -0800
@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: aspvbs
-" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Changed: 2004 Jun 28
-" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
+" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Last Changed: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff -Nur runtime.patched/ftplugin/changelog.vim runtime/ftplugin/changelog.vim
--- runtime.patched/ftplugin/changelog.vim 2007-05-21 11:25:11.000000000 -0700
+++ runtime/ftplugin/changelog.vim 2009-07-02 11:06:02.000000000 -0700
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: generic Changelog file
" Maintainer: Nikolai Weibull <[email protected]>
-" Latest Revision: 2007-05-21
+" Latest Revision: 2009-05-25
" Variables:
" g:changelog_timeformat (deprecated: use g:changelog_dateformat instead) -
" description: the timeformat used in ChangeLog entries.
@@ -46,73 +46,78 @@
endif
endif
- " Try to figure out a reasonable username of the form:
- " Full Name <user@host>.
- if !exists('g:changelog_username')
- if exists('$EMAIL') && $EMAIL != ''
- let g:changelog_username = $EMAIL
- elseif exists('$EMAIL_ADDRESS') && $EMAIL_ADDRESS != ''
- " This is some Debian junk if I remember correctly.
- let g:changelog_username = $EMAIL_ADDRESS
- else
- " Get the users login name.
- let login = system('whoami')
- if v:shell_error
- let login = 'unknown'
- else
- let newline = stridx(login, "\n")
- if newline != -1
- let login = strpart(login, 0, newline)
- endif
- endif
+ function! s:username()
+ if exists('g:changelog_username')
+ return g:changelog_username
+ elseif $EMAIL != ""
+ return $EMAIL
+ elseif $EMAIL_ADDRESS != ""
+ return $EMAIL_ADDRESS
+ endif
+
+ let login = s:login()
+ return printf('%s <%s@%s>', s:name(login), login, s:hostname())
+ endfunction
- " Try to get the full name from gecos field in /etc/passwd.
- if filereadable('/etc/passwd')
- for line in readfile('/etc/passwd')
- if line =~ '^' . login
- let name = substitute(line,'^\%([^:]*:\)\{4}\([^:]*\):.*$','\1','')
- " Only keep stuff before the first comma.
- let comma = stridx(name, ',')
- if comma != -1
- let name = strpart(name, 0, comma)
- endif
- " And substitute & in the real name with the login of our user.
- let amp = stridx(name, '&')
- if amp != -1
- let name = strpart(name, 0, amp) . toupper(login[0]) .
- \ strpart(login, 1) . strpart(name, amp + 1)
- endif
- endif
- endfor
- endif
+ function! s:login()
+ return s:trimmed_system_with_default('whoami', 'unknown')
+ endfunction
- " If we haven't found a name, try to gather it from other places.
- if !exists('name')
- " Maybe the environment has something of interest.
- if exists("$NAME")
- let name = $NAME
- else
- " No? well, use the login name and capitalize first
- " character.
- let name = toupper(login[0]) . strpart(login, 1)
- endif
+ function! s:trimmed_system_with_default(command, default)
+ return s:first_line(s:system_with_default(a:command, a:default))
+ endfunction
+
+ function! s:system_with_default(command, default)
+ let output = system(a:command)
+ if v:shell_error
+ return default
+ endif
+ return output
+ endfunction
+
+ function! s:first_line(string)
+ return substitute(a:string, '\n.*$', "", "")
+ endfunction
+
+ function! s:name(login)
+ for name in [s:gecos_name(a:login), $NAME, s:capitalize(a:login)]
+ if name != ""
+ return name
endif
+ endfor
+ endfunction
- " Get our hostname.
- let hostname = system('hostname')
- if v:shell_error
- let hostname = 'localhost'
- else
- let newline = stridx(hostname, "\n")
- if newline != -1
- let hostname = strpart(hostname, 0, newline)
- endif
+ function! s:gecos_name(login)
+ for line in s:try_reading_file('/etc/passwd')
+ if line =~ '^' . a:login . ':'
+ return substitute(s:passwd_field(line, 5), '&', s:capitalize(a:login), "")
endif
+ endfor
+ return ""
+ endfunction
- " And finally set the username.
- let g:changelog_username = name . ' <' . login . '@' . hostname . '>'
+ function! s:try_reading_file(path)
+ try
+ return readfile(a:path)
+ endtry
+ return []
+ endfunction
+
+ function! s:passwd_field(line, field)
+ let fields = split(a:line, ':', 1)
+ if len(fields) < field
+ return ""
endif
- endif
+ return fields[field - 1]
+ endfunction
+
+ function! s:capitalize(word)
+ return toupper(a:word[0]) . strpart(a:word, 1)
+ endfunction
+
+ function! s:hostname()
+ return s:trimmed_system_with_default('hostname', 'localhost')
+ endfunction
" Format used for new date entries.
if !exists('g:changelog_new_date_format')
@@ -178,7 +183,7 @@
" Ok, now we look for the end of the date entry, and add an entry.
call cursor(nextnonblank(line('.') + 1), 1)
if search(g:changelog_date_end_entry_search, 'W') > 0
- let p = line('.') - 1
+ let p = (line('.') == line('$')) ? line('.') : line('.') - 1
else
let p = line('.')
endif
@@ -217,7 +222,7 @@
endfunction
if exists(":NewChangelogEntry") != 2
- map <buffer> <silent> <Leader>o <Esc>:call <SID>new_changelog_entry()<CR>
+ noremap <buffer> <silent> <Leader>o <Esc>:call <SID>new_changelog_entry()<CR>
command! -nargs=0 NewChangelogEntry call s:new_changelog_entry()
endif
@@ -236,14 +241,48 @@
let &cpo = s:cpo_save
unlet s:cpo_save
else
+ let s:cpo_save = &cpo
+ set cpo&vim
+
" Add the Changelog opening mapping
- nmap <silent> <Leader>o :call <SID>open_changelog()<CR>
+ nnoremap <silent> <Leader>o :call <SID>open_changelog()<CR>
function! s:open_changelog()
- if !filereadable('ChangeLog')
+ let path = expand('%:p:h')
+ if exists('b:changelog_path')
+ let changelog = b:changelog_path
+ else
+ if exists('b:changelog_name')
+ let name = b:changelog_name
+ else
+ let name = 'ChangeLog'
+ endif
+ while isdirectory(path)
+ let changelog = path . '/' . name
+ if filereadable(changelog)
+ break
+ endif
+ let parent = substitute(path, '/\+[^/]*$', "", "")
+ if path == parent
+ break
+ endif
+ let path = parent
+ endwhile
+ endif
+ if !filereadable(changelog)
return
endif
- let buf = bufnr('ChangeLog')
+
+ if exists('b:changelog_entry_prefix')
+ let prefix = call(b:changelog_entry_prefix, [])
+ else
+ let prefix = substitute(strpart(expand('%:p'), strlen(path)), '^/\+', "", "") . ':'
+ endif
+ if !empty(prefix)
+ let prefix = ' ' . prefix
+ endif
+
+ let buf = bufnr(changelog)
if buf != -1
if bufwinnr(buf) != -1
execute bufwinnr(buf) . 'wincmd w'
@@ -251,9 +290,12 @@
execute 'sbuffer' buf
endif
else
- split ChangeLog
+ execute 'split' fnameescape(changelog)
endif
- call s:new_changelog_entry()
+ call s:new_changelog_entry(prefix)
endfunction
+
+ let &cpo = s:cpo_save
+ unlet s:cpo_save
endif
diff -Nur runtime.patched/ftplugin/config.vim runtime/ftplugin/config.vim
--- runtime.patched/ftplugin/config.vim 2004-07-09 11:26:18.000000000 -0700
+++ runtime/ftplugin/config.vim 2009-01-28 08:23:51.000000000 -0800
@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: config
-" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Changed: 2004 Jul 08
-" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
+" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Last Changed: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff -Nur runtime.patched/ftplugin/csc.vim runtime/ftplugin/csc.vim
--- runtime.patched/ftplugin/csc.vim 2004-06-07 07:32:41.000000000 -0700
+++ runtime/ftplugin/csc.vim 2009-01-28 08:23:56.000000000 -0800
@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: csc
-" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Changed: 2003 Sep 29
-" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
+" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Last Changed: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
diff -Nur runtime.patched/ftplugin/csh.vim runtime/ftplugin/csh.vim
--- runtime.patched/ftplugin/csh.vim 2004-06-07 07:32:41.000000000 -0700
+++ runtime/ftplugin/csh.vim 2009-01-28 08:23:52.000000000 -0800
@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: csh
-" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Changed: 2003 Sep 29
-" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
+" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Last Changed: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
diff -Nur runtime.patched/ftplugin/dosbatch.vim runtime/ftplugin/dosbatch.vim
--- runtime.patched/ftplugin/dosbatch.vim 2004-07-06 09:39:15.000000000 -0700
+++ runtime/ftplugin/dosbatch.vim 2009-06-03 03:05:59.000000000 -0700
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: MS-DOS .bat files
" Maintainer: Mike Williams <[email protected]>
-" Last Change: 5th February 2003
+" Last Change: 27th May 2009
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -12,10 +12,10 @@
let b:did_ftplugin = 1
" BAT comment formatting
-setlocal comments=b:rem,b:@rem,b:REM,b:@REM,b:::
+setlocal comments=b:rem,b:@rem,b:REM,b:@REM,:::
setlocal formatoptions-=t formatoptions+=rol
" Define patterns for the browse file filter
if has("gui_win32") && !exists("b:browsefilter")
- let b:browsefilter = "DOS Batch Files (*.bat, *.btm, *.cmd)\t*.bat;*.btm;*.cmd\nAll Files (*.*)\t*.*\n"
+ let b:browsefilter = "DOS Batch Files (*.bat, *.cmd)\t*.bat;*.cmd\nAll Files (*.*)\t*.*\n"
endif
diff -Nur runtime.patched/ftplugin/dtd.vim runtime/ftplugin/dtd.vim
--- runtime.patched/ftplugin/dtd.vim 2008-07-18 04:28:26.000000000 -0700
+++ runtime/ftplugin/dtd.vim 2009-01-28 08:23:52.000000000 -0800
@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: dtd
-" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Changed: 30 Jun 2008
-" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
+" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Last Changed: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
diff -Nur runtime.patched/ftplugin/html.vim runtime/ftplugin/html.vim
--- runtime.patched/ftplugin/html.vim 2008-07-18 04:29:43.000000000 -0700
+++ runtime/ftplugin/html.vim 2009-01-28 08:23:42.000000000 -0800
@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: html
-" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Changed: 2007 Nov 20
-" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
+" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Last Changed: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
diff -Nur runtime.patched/ftplugin/java.vim runtime/ftplugin/java.vim
--- runtime.patched/ftplugin/java.vim 2005-03-28 10:41:45.000000000 -0800
+++ runtime/ftplugin/java.vim 2009-01-28 08:23:52.000000000 -0800
@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: Java
-" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Change: 2005 Mar 28
-" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
+" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Last Change: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
diff -Nur runtime.patched/ftplugin/jsp.vim runtime/ftplugin/jsp.vim
--- runtime.patched/ftplugin/jsp.vim 2005-10-11 02:24:29.000000000 -0700
+++ runtime/ftplugin/jsp.vim 2009-01-28 08:23:56.000000000 -0800
@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: jsp
-" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Changed: 2005 Oct 10
-" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
+" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Last Changed: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff -Nur runtime.patched/ftplugin/mail.vim runtime/ftplugin/mail.vim
--- runtime.patched/ftplugin/mail.vim 2007-04-30 13:27:38.000000000 -0700
+++ runtime/ftplugin/mail.vim 2009-06-13 05:39:46.000000000 -0700
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: Mail
" Maintainer: Bram Moolenaar <[email protected]>
-" Last Change: 2007 Apr 30
+" Last Change: 2009 Jun 03
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -23,7 +23,7 @@
" Set 'formatoptions' to break text lines and keep the comment leader ">".
setlocal fo+=tcql
-" Add mappings, unless the user didn't want this.
+" Add mappings, unless the user doesn't want this.
if !exists("no_plugin_maps") && !exists("no_mail_maps")
" Quote text by inserting "> "
if !hasmapto('<Plug>MailQuote')
diff -Nur runtime.patched/ftplugin/man.vim runtime/ftplugin/man.vim
--- runtime.patched/ftplugin/man.vim 2007-11-30 11:52:58.000000000 -0800
+++ runtime/ftplugin/man.vim 2008-09-18 11:56:45.000000000 -0700
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: man
-" Maintainer: Nam SungHyun <[email protected]>
-" Last Change: 2007 Nov 30
+" Maintainer: SungHyun Nam <[email protected]>
+" Last Change: 2008 Sep 17
" To make the ":Man" command available before editing a manual page, source
" this script from your startup vimrc file.
diff -Nur runtime.patched/ftplugin/pascal.vim runtime/ftplugin/pascal.vim
--- runtime.patched/ftplugin/pascal.vim 2005-09-06 01:24:59.000000000 -0700
+++ runtime/ftplugin/pascal.vim 2009-01-28 08:23:28.000000000 -0800
@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: pascal
-" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Changed: 2005 Sep 05
-" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
+" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Last Changed: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
diff -Nur runtime.patched/ftplugin/perl.vim runtime/ftplugin/perl.vim
--- runtime.patched/ftplugin/perl.vim 2008-07-18 04:29:05.000000000 -0700
+++ runtime/ftplugin/perl.vim 2009-01-28 08:23:42.000000000 -0800
@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: Perl
-" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Change: 17 Jul 2008
-" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
+" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Last Change: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
diff -Nur runtime.patched/ftplugin/php.vim runtime/ftplugin/php.vim
--- runtime.patched/ftplugin/php.vim 2007-11-11 13:23:33.000000000 -0800
+++ runtime/ftplugin/php.vim 2009-01-28 08:23:28.000000000 -0800
@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: php
-" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Changed: 2007 Nov 10
-" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
+" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Last Changed: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff -Nur runtime.patched/ftplugin/sgml.vim runtime/ftplugin/sgml.vim
--- runtime.patched/ftplugin/sgml.vim 2004-06-07 07:32:41.000000000 -0700
+++ runtime/ftplugin/sgml.vim 2009-01-28 08:23:42.000000000 -0800
@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: sgml
-" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Changed: 2003 Sep 30
-" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
+" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Last Changed: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff -Nur runtime.patched/ftplugin/sh.vim runtime/ftplugin/sh.vim
--- runtime.patched/ftplugin/sh.vim 2004-06-07 07:32:41.000000000 -0700
+++ runtime/ftplugin/sh.vim 2009-01-28 08:23:28.000000000 -0800
@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: sh
-" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Changed: 2003 Sep 29
-" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
+" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Last Changed: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
diff -Nur runtime.patched/ftplugin/sql.vim runtime/ftplugin/sql.vim
--- runtime.patched/ftplugin/sql.vim 2008-02-27 08:35:22.000000000 -0800
+++ runtime/ftplugin/sql.vim 2009-10-08 14:18:41.000000000 -0700
@@ -1,8 +1,8 @@
" SQL filetype plugin file
" Language: SQL (Common for Oracle, Microsoft SQL Server, Sybase)
-" Version: 4.0
+" Version: 6.0
" Maintainer: David Fishburn <fishburn at ianywhere dot com>
-" Last Change: Wed 27 Feb 2008 04:35:21 PM Eastern Standard Time
+" Last Change: 2009 Aug 04
" Download: http://vim.sourceforge.net/script.php?script_id=454
" For more details please use:
@@ -29,6 +29,27 @@
"
" To change the default dialect, add the following to your vimrc:
" let g:sql_type_default = 'sqlanywhere'
+"
+" This file also creates a command, SQLGetType, which allows you to
+" determine what the current dialect is in use.
+" :SQLGetType
+"
+" History
+"
+" Version 6.0
+"
+" NF: Adds the command SQLGetType
+"
+" Version 5.0
+"
+" NF: Adds the ability to choose the keys to control SQL completion, just add
+" the following to your .vimrc:
+" let g:ftplugin_sql_omni_key = '<C-C>'
+" let g:ftplugin_sql_omni_key_right = '<Right>'
+" let g:ftplugin_sql_omni_key_left = '<Left>'
+"
+" BF: format-options - Auto-wrap comments using textwidth was turned off
+" by mistake.
" Only do this when not done yet for this buffer
@@ -44,7 +65,7 @@
" c Auto-wrap comments using textwidth, inserting the current comment
" leader automatically.
setlocal formatoptions-=t
-setlocal formatoptions-=c
+setlocal formatoptions+=c
" Functions/Commands to allow the user to change SQL syntax dialects
" through the use of :SQLSetType <tab> for completion.
@@ -154,6 +175,20 @@
endif
+" Functions/Commands to allow the user determine current SQL syntax dialect
+" This works with both Vim 6 and 7.
+
+if !exists("*SQL_GetType")
+ function SQL_GetType()
+ if exists('b:sql_type_override')
+ echomsg "Current SQL dialect in use:".b:sql_type_override
+ else
+ echomsg "Current SQL dialect in use:".g:sql_type_default
+ endif
+ endfunction
+ command! -nargs=0 SQLGetType :call SQL_GetType()
+endif
+
if exists("b:sql_type_override")
" echo 'sourcing buffer ftplugin/'.b:sql_type_override.'.vim'
if globpath(&runtimepath, 'ftplugin/'.b:sql_type_override.'.vim') != ''
@@ -311,6 +346,19 @@
\ ',index,subscription,synchronization,view,variable'
endif
+" Key to trigger SQL completion
+if !exists('g:ftplugin_sql_omni_key')
+ let g:ftplugin_sql_omni_key = '<C-C>'
+endif
+" Key to trigger drill into column list
+if !exists('g:ftplugin_sql_omni_key_right')
+ let g:ftplugin_sql_omni_key_right = '<Right>'
+endif
+" Key to trigger drill out of column list
+if !exists('g:ftplugin_sql_omni_key_left')
+ let g:ftplugin_sql_omni_key_left = '<Left>'
+endif
+
" Replace all ,'s with bars, except ones with numbers after them.
" This will most likely be a \{,1} string.
let s:ftplugin_sql_objects =
@@ -382,32 +430,32 @@
if !exists('g:omni_sql_no_default_maps')
" Static maps which use populate the completion list
" using Vim's syntax highlighting rules
- imap <buffer> <c-c>a <C-\><C-O>:call sqlcomplete#Map('syntax')<CR><C-X><C-O>
- imap <buffer> <c-c>k <C-\><C-O>:call sqlcomplete#Map('sqlKeyword')<CR><C-X><C-O>
- imap <buffer> <c-c>f <C-\><C-O>:call sqlcomplete#Map('sqlFunction')<CR><C-X><C-O>
- imap <buffer> <c-c>o <C-\><C-O>:call sqlcomplete#Map('sqlOption')<CR><C-X><C-O>
- imap <buffer> <c-c>T <C-\><C-O>:call sqlcomplete#Map('sqlType')<CR><C-X><C-O>
- imap <buffer> <c-c>s <C-\><C-O>:call sqlcomplete#Map('sqlStatement')<CR><C-X><C-O>
+ exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'a <C-\><C-O>:call sqlcomplete#Map("syntax")<CR><C-X><C-O>'
+ exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'k <C-\><C-O>:call sqlcomplete#Map("sqlKeyword")<CR><C-X><C-O>'
+ exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'f <C-\><C-O>:call sqlcomplete#Map("sqlFunction")<CR><C-X><C-O>'
+ exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'o <C-\><C-O>:call sqlcomplete#Map("sqlOption")<CR><C-X><C-O>'
+ exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'T <C-\><C-O>:call sqlcomplete#Map("sqlType")<CR><C-X><C-O>'
+ exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'s <C-\><C-O>:call sqlcomplete#Map("sqlStatement")<CR><C-X><C-O>'
" Dynamic maps which use populate the completion list
" using the dbext.vim plugin
- imap <buffer> <c-c>t <C-\><C-O>:call sqlcomplete#Map('table')<CR><C-X><C-O>
- imap <buffer> <c-c>p <C-\><C-O>:call sqlcomplete#Map('procedure')<CR><C-X><C-O>
- imap <buffer> <c-c>v <C-\><C-O>:call sqlcomplete#Map('view')<CR><C-X><C-O>
- imap <buffer> <c-c>c <C-\><C-O>:call sqlcomplete#Map('column')<CR><C-X><C-O>
- imap <buffer> <c-c>l <C-\><C-O>:call sqlcomplete#Map('column_csv')<CR><C-X><C-O>
+ exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'t <C-\><C-O>:call sqlcomplete#Map("table")<CR><C-X><C-O>'
+ exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'p <C-\><C-O>:call sqlcomplete#Map("procedure")<CR><C-X><C-O>'
+ exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'v <C-\><C-O>:call sqlcomplete#Map("view")<CR><C-X><C-O>'
+ exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'c <C-\><C-O>:call sqlcomplete#Map("column")<CR><C-X><C-O>'
+ exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'l <C-\><C-O>:call sqlcomplete#Map("column_csv")<CR><C-X><C-O>'
" The next 3 maps are only to be used while the completion window is
" active due to the <CR> at the beginning of the map
- imap <buffer> <c-c>L <C-Y><C-\><C-O>:call sqlcomplete#Map('column_csv')<CR><C-X><C-O>
+ exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'L <C-Y><C-\><C-O>:call sqlcomplete#Map("column_csv")<CR><C-X><C-O>'
" <C-Right> is not recognized on most Unix systems, so only create
" these additional maps on the Windows platform.
" If you would like to use these maps, choose a different key and make
" the same map in your vimrc.
- if has('win32')
- imap <buffer> <c-right> <C-R>=sqlcomplete#DrillIntoTable()<CR>
- imap <buffer> <c-left> <C-R>=sqlcomplete#DrillOutOfColumns()<CR>
- endif
+ " if has('win32')
+ exec 'imap <buffer> '.g:ftplugin_sql_omni_key_right.' <C-R>=sqlcomplete#DrillIntoTable()<CR>'
+ exec 'imap <buffer> '.g:ftplugin_sql_omni_key_left.' <C-R>=sqlcomplete#DrillOutOfColumns()<CR>'
+ " endif
" Remove any cached items useful for schema changes
- imap <buffer> <c-c>R <C-\><C-O>:call sqlcomplete#Map('resetCache')<CR><C-X><C-O>
+ exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'R <C-\><C-O>:call sqlcomplete#Map("resetCache")<CR><C-X><C-O>'
endif
if b:sql_compl_savefunc != ""
diff -Nur runtime.patched/ftplugin/svg.vim runtime/ftplugin/svg.vim
--- runtime.patched/ftplugin/svg.vim 2004-06-07 07:32:41.000000000 -0700
+++ runtime/ftplugin/svg.vim 2009-01-28 08:23:52.000000000 -0800
@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: svg
-" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Changed: 2003 Sep 29
-" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
+" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Last Changed: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff -Nur runtime.patched/ftplugin/tcl.vim runtime/ftplugin/tcl.vim
--- runtime.patched/ftplugin/tcl.vim 1969-12-31 16:00:00.000000000 -0800
+++ runtime/ftplugin/tcl.vim 2009-05-05 11:27:56.000000000 -0700
@@ -0,0 +1,36 @@
+" Vim filetype plugin file
+" Language: Tcl
+" Maintainer: Robert L Hicks <[email protected]>
+" Latest Revision: 2009-05-01
+
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+" Make sure the continuation lines below do not cause problems in
+" compatibility mode.
+let s:cpo_save = &cpo
+set cpo-=C
+
+setlocal comments=:#
+setlocal commentstring=#%s
+setlocal formatoptions+=croql
+
+" Change the browse dialog on Windows to show mainly Tcl-related files
+if has("gui_win32")
+ let b:browsefilter = "Tcl Source Files (.tcl)\t*.tcl\n" .
+ \ "Tcl Test Files (.test)\t*.test\n" .
+ \ "All Files (*.*)\t*.*\n"
+endif
+
+"-----------------------------------------------------------------------------
+
+" Undo the stuff we changed.
+let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isf< kp<" .
+ \ " | unlet! b:browsefilter"
+
+" Restore the saved compatibility options.
+let &cpo = s:cpo_save
+
+" vim: set et ts=4 sw=4 tw=78:
diff -Nur runtime.patched/ftplugin/tcsh.vim runtime/ftplugin/tcsh.vim
--- runtime.patched/ftplugin/tcsh.vim 2004-06-07 07:32:41.000000000 -0700
+++ runtime/ftplugin/tcsh.vim 2009-01-28 08:23:56.000000000 -0800
@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: tcsh
-" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Changed: 2003 Sep 29
-" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
+" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Last Changed: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff -Nur runtime.patched/ftplugin/verilog.vim runtime/ftplugin/verilog.vim
--- runtime.patched/ftplugin/verilog.vim 2006-04-30 14:41:53.000000000 -0700
+++ runtime/ftplugin/verilog.vim 2008-09-06 05:20:21.000000000 -0700
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: Verilog HDL
" Maintainer: Chih-Tsun Huang <[email protected]>
-" Last Change: Mon Sep 5 11:05:54 CST 2005 and 2006 April 30
+" Last Change: Wed Sep 3 15:24:49 CST 2008
" URL: http://larc.ee.nthu.edu.tw/~cthuang/vim/ftplugin/verilog.vim
" Only do this when not done yet for this buffer
@@ -12,6 +12,10 @@
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
+" Set 'cpoptions' to allow line continuations
+let s:cpo_save = &cpo
+set cpo&vim
+
" Undo the plugin effect
let b:undo_ftplugin = "setlocal fo< com< tw<"
\ . "| unlet! b:browsefilter b:match_ignorecase b:match_words"
@@ -28,8 +32,6 @@
setlocal tw=78
endif
-set cpo-=C
-
" Win32 can filter files in the browse dialog
if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "Verilog Source Files (*.v)\t*.v\n" .
@@ -49,3 +51,7 @@
\ '\<task\>:\<endtask\>,' .
\ '\<specify\>:\<endspecify\>'
endif
+
+" Reset 'cpoptions' back to the user's setting
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff -Nur runtime.patched/ftplugin/vim.vim runtime/ftplugin/vim.vim
--- runtime.patched/ftplugin/vim.vim 2008-02-27 07:36:46.000000000 -0800
+++ runtime/ftplugin/vim.vim 2009-01-28 08:23:56.000000000 -0800
@@ -1,7 +1,7 @@
" Vim filetype plugin
" Language: Vim
" Maintainer: Bram Moolenaar <[email protected]>
-" Last Change: 2008 Feb 27
+" Last Change: 2009 Jan 22
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -11,16 +11,20 @@
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
-let cpo_save = &cpo
+let s:cpo_save = &cpo
set cpo-=C
-let b:undo_ftplugin = "setl fo< com< tw< commentstring<"
+let b:undo_ftplugin = "setl fo< isk< com< tw< commentstring<"
\ . "| unlet! b:match_ignorecase b:match_words b:match_skip"
" Set 'formatoptions' to break comment lines but not other lines,
" and insert the comment leader when hitting <CR> or using "o".
setlocal fo-=t fo+=croql
+" To allow tag lookup via CTRL-] for autoload functions, '#' must be a
+" keyword character. E.g., for netrw#Nread().
+setlocal isk+=#
+
" Set 'comments' to format dashed lists in comments
setlocal com=sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"
@@ -53,8 +57,7 @@
let b:match_ignorecase = 0
let b:match_words =
\ '\<fu\%[nction]\>:\<retu\%[rn]\>:\<endf\%[unction]\>,' .
- \ '\<wh\%[ile]\>:\<brea\%[k]\>:\<con\%[tinue]\>:\<endw\%[hile]\>,' .
- \ '\<for\>:\<brea\%[k]\>:\<con\%[tinue]\>:\<endfo\%[r]\>,' .
+ \ '\<\(wh\%[ile]\|for\)\>:\<brea\%[k]\>:\<con\%[tinue]\>:\<end\(w\%[hile]\|fo\%[r]\)\>,' .
\ '\<if\>:\<el\%[seif]\>:\<en\%[dif]\>,' .
\ '\<try\>:\<cat\%[ch]\>:\<fina\%[lly]\>:\<endt\%[ry]\>,' .
\ '\<aug\%[roup]\s\+\%(END\>\)\@!\S:\<aug\%[roup]\s\+END\>,' .
@@ -64,7 +67,8 @@
\ synIDattr(synID(line("."),col("."),1),"name") =~? "comment\\|string"'
endif
-let &cpo = cpo_save
+let &cpo = s:cpo_save
+unlet s:cpo_save
" removed this, because 'cpoptions' is a global option.
" setlocal cpo+=M " makes \%( match \)
diff -Nur runtime.patched/ftplugin/xhtml.vim runtime/ftplugin/xhtml.vim
--- runtime.patched/ftplugin/xhtml.vim 2005-09-13 06:25:56.000000000 -0700
+++ runtime/ftplugin/xhtml.vim 2009-01-28 08:23:52.000000000 -0800
@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: xhtml
-" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Changed: 2004 Jul 08
-" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
+" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Last Changed: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff -Nur runtime.patched/ftplugin/xml.vim runtime/ftplugin/xml.vim
--- runtime.patched/ftplugin/xml.vim 2008-07-18 04:27:49.000000000 -0700
+++ runtime/ftplugin/xml.vim 2009-01-28 08:23:42.000000000 -0800
@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: xml
-" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Changed: 30 Jun 2008
-" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
+" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Last Changed: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
diff -Nur runtime.patched/ftplugin/xsd.vim runtime/ftplugin/xsd.vim
--- runtime.patched/ftplugin/xsd.vim 2004-06-07 07:32:41.000000000 -0700
+++ runtime/ftplugin/xsd.vim 2009-01-28 08:23:28.000000000 -0800
@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: xsd
-" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Changed: 2003 Sep 29
-" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
+" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Last Changed: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff -Nur runtime.patched/ftplugin/xslt.vim runtime/ftplugin/xslt.vim
--- runtime.patched/ftplugin/xslt.vim 2004-07-09 11:27:53.000000000 -0700
+++ runtime/ftplugin/xslt.vim 2009-01-28 08:23:56.000000000 -0800
@@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: xslt
-" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Changed: 2004 Jul 08
-" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
+" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Last Changed: 20 Jan 2009
+" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff -Nur runtime.patched/indent/cpp.vim runtime/indent/cpp.vim
--- runtime.patched/indent/cpp.vim 2004-06-07 07:32:33.000000000 -0700
+++ runtime/indent/cpp.vim 2008-12-01 12:32:47.000000000 -0800
@@ -1,7 +1,7 @@
" Vim indent file
" Language: C++
" Maintainer: Bram Moolenaar <[email protected]>
-" Last Change: 2001 Jun 12
+" Last Change: 2008 Nov 29
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -11,3 +11,5 @@
" C++ indenting is built-in, thus this is very simple
setlocal cindent
+
+let b:undo_indent = "setl cin<"
diff -Nur runtime.patched/indent/cuda.vim runtime/indent/cuda.vim
--- runtime.patched/indent/cuda.vim 1969-12-31 16:00:00.000000000 -0800
+++ runtime/indent/cuda.vim 2008-12-01 12:32:47.000000000 -0800
@@ -0,0 +1,15 @@
+" Vim indent file
+" Language: CUDA
+" Maintainer: Bram Moolenaar <[email protected]>
+" Last Change: 2008 Nov 29
+
+" Only load this indent file when no other was loaded.
+if exists("b:did_indent")
+ finish
+endif
+let b:did_indent = 1
+
+" It's just like C indenting
+setlocal cindent
+
+let b:undo_indent = "setl cin<"
diff -Nur runtime.patched/indent/mail.vim runtime/indent/mail.vim
--- runtime.patched/indent/mail.vim 1969-12-31 16:00:00.000000000 -0800
+++ runtime/indent/mail.vim 2009-06-13 05:40:02.000000000 -0700
@@ -0,0 +1,13 @@
+" Vim indent file
+" Language: Mail
+" Maintainer: Bram Moolenaar
+" Last Change: 2009 Jun 03
+
+if exists("b:did_indent")
+ finish
+endif
+let b:did_indent = 1
+
+" What works best is auto-indenting, disable other indenting.
+" For formatting see the ftplugin.
+setlocal autoindent nosmartindent nocindent indentexpr=
diff -Nur runtime.patched/indent/php.vim runtime/indent/php.vim
--- runtime.patched/indent/php.vim 2008-06-25 14:10:32.000000000 -0700
+++ runtime/indent/php.vim 2009-01-28 08:23:55.000000000 -0800
@@ -2,17 +2,10 @@
" Language: PHP
" Author: John Wellesz <John.wellesz (AT) teaser (DOT) fr>
" URL: http://www.2072productions.com/vim/indent/php.vim
-" Last Change: 2008 June 7th
+" Last Change: 2008 November 22nd
" Newsletter: http://www.2072productions.com/?to=php-indent-for-vim-newsletter.php
-" Version: 1.28
+" Version: 1.30
"
-" If you find a bug, please e-mail me at John.wellesz (AT) teaser (DOT) fr
-" with an example of code that breaks the algorithm.
-"
-" ---> The change log and all the comments have been removed from this file.
-"
-" For a complete change log and fully commented code, download the script on
-" 2072productions.com at the URI provided above.
"
" If you find a bug, please e-mail me at John.wellesz (AT) teaser (DOT) fr
" with an example of code that breaks the algorithm.
@@ -24,7 +17,7 @@
" NOTE: This script must be used with PHP syntax ON and with the php syntax
" 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.
+" the later is bunbdled by default with Vim 7.
"
"
" In the case you have syntax errors in your script such as HereDoc end
@@ -33,50 +26,19 @@
" they are followed by a ';').
"
"
-" NOTE: If you are editing file 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
-" '\s*$' correctly.
-" So you have to remove those useless characters first with a command like:
-"
-" :%s /\r$//g
-"
-" 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: PHP_autoformatcomment = 0 to not enable autoformating of comment by
-" default, if set to 0, this script will let the 'formatoptions' setting intact.
-"
-" Options: PHP_default_indenting = # of sw (default is 0), # of sw will be
-" added to the indent of each line of PHP code.
-"
-" Options: PHP_removeCRwhenUnix = 1 to make the script automatically remove CR
-" at end of lines (by default this option is unset), NOTE that you
-" MUST remove CR when the fileformat is UNIX else the indentation
-" won't be correct!
-"
-" Options: PHP_BracesAtCodeLevel = 1 to indent the '{' and '}' at the same
-" level than the code they contain.
-" Exemple:
-" Instead of:
-" if ($foo)
-" {
-" foo();
-" }
-"
-" You will write:
-" if ($foo)
-" {
-" foo();
-" }
+" 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
+" '\s*$' correctly.
+" So you have to remove those useless characters first with a command like:
"
-" NOTE: The script will be a bit slower if you use this option because
-" some optimizations won't be available.
+" :%s /\r$//g
"
-" Options: PHP_vintage_case_default_indent = 1 (defaults to 0) to add a meaningless indent
-" befaore 'case:' and 'default":' statement in switch block
+" 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
@@ -145,6 +107,7 @@
endif
if exists("*GetPhpIndent")
+ call ResetPhpOptions()
finish " XXX
endif
@@ -317,14 +280,13 @@
let s:notPhpHereDoc = '\%(break\|return\|continue\|exit\|else\)'
let s:blockstart = '\%(\%(\%(}\s*\)\=else\%(\s\+\)\=\)\=if\>\|else\>\|while\>\|switch\>\|for\%(each\)\=\>\|declare\>\|class\>\|interface\>\|abstract\>\|try\>\|catch\>\)'
-let s:autorestoptions = 0
-if ! s:autorestoptions
- au BufWinEnter,Syntax *.php,*.php3,*.php4,*.php5 call ResetOptions()
- let s:autorestoptions = 1
+let s:autoresetoptions = 0
+if ! s:autoresetoptions
+ let s:autoresetoptions = 1
endif
-function! ResetOptions()
- if ! b:optionsset
+function! ResetPhpOptions()
+ if ! b:optionsset && &filetype == "php"
if b:PHP_autoformatcomment
setlocal comments=s1:/*,mb:*,ex:*/,://,:#
@@ -341,6 +303,8 @@
endif
endfunc
+call ResetPhpOptions()
+
function! GetPhpIndent()
let b:GetLastRealCodeLNum_ADD = 0
@@ -360,7 +324,7 @@
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.28)'
+ echom 'Large indenting detected, speed optimizations engaged (v1.30)'
endif
let b:PHP_indentbeforelast = b:PHP_lastindented
endif
@@ -693,6 +657,7 @@
if !LastLineClosed
+
if last_line =~# '[{(]'.endline || last_line =~? '\h\w*\s*(.*,$' && pline !~ '[,(]'.endline
if !b:PHP_BracesAtCodeLevel || last_line !~# '^\s*{'
@@ -715,11 +680,11 @@
elseif last_line =~ '^\s*'.s:blockstart
let ind = ind + &sw
- elseif last_line =~# defaultORcase
+ elseif last_line =~# defaultORcase && cline !~# defaultORcase
let ind = ind + &sw
- elseif pline =~ '\%(;\%(\s*?>\)\=\|<<<''\=\a\w*''\=$\|^\s*}\|{\)'.endline . '\|' . defaultORcase
+ elseif pline =~ '\%(;\%(\s*?>\)\=\|<<<''\=\a\w*''\=$\|^\s*}\|{\)'.endline . '\|' . defaultORcase && cline !~# defaultORcase
let ind = ind + &sw
endif
diff -Nur runtime.patched/indent/xml.vim runtime/indent/xml.vim
--- runtime.patched/indent/xml.vim 2004-06-07 07:32:33.000000000 -0700
+++ runtime/indent/xml.vim 2009-06-03 03:05:10.000000000 -0700
@@ -1,10 +1,11 @@
" Language: xml
" Maintainer: Johannes Zellner <[email protected]>
-" Last Change: Tue, 27 Apr 2004 14:54:59 CEST
+" Last Change: 2009-05-26 00:17:25
" Notes: 1) does not indent pure non-xml code (e.g. embedded scripts)
" 2) will be confused by unbalanced tags in comments
" or CDATA sections.
-" TODO: implement pre-like tags, see xml_indent_open / xml_indent_close
+" 2009-05-26 patch by Nikolai Weibull
+" TODO: implement pre-like tags, see xml_indent_open / xml_indent_close
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -46,6 +47,9 @@
if '' != syn1 && syn1 !~ 'xml' && '' != syn2 && syn2 !~ 'xml'
" don't indent pure non-xml code
return 0
+ elseif syn1 =~ '^xmlComment' && syn2 =~ '^xmlComment'
+ " indent comments specially
+ return -1
endif
endif
return 1
@@ -74,8 +78,12 @@
endif
if a:use_syntax_check
- if 0 == <SID>XmlIndentSynCheck(lnum) || 0 == <SID>XmlIndentSynCheck(a:lnum)
+ let check_lnum = <SID>XmlIndentSynCheck(lnum)
+ let check_alnum = <SID>XmlIndentSynCheck(a:lnum)
+ if 0 == check_lnum || 0 == check_alnum
return indent(a:lnum)
+ elseif -1 == check_lnum || -1 == check_alnum
+ return -1
endif
endif
diff -Nur runtime.patched/keymap/dvorak.vim runtime/keymap/dvorak.vim
--- runtime.patched/keymap/dvorak.vim 1969-12-31 16:00:00.000000000 -0800
+++ runtime/keymap/dvorak.vim 2009-07-26 04:42:45.000000000 -0700
@@ -0,0 +1,82 @@
+" Maintainer: Ashish SHUKLA <[email protected]>
+" Last Changed: 2009 Jul 04
+"
+" All characters are ASCII, conversion to another encoding (e.g., UTF-8)
+" should work.
+
+let b:keymap_name = "en-dv"
+
+loadkeymap
+q '
+w ,
+e .
+r p
+t y
+y f
+u g
+i c
+o r
+p l
+[ /
+] =
+\\ \\
+a a
+s o
+d e
+f u
+g i
+h d
+j h
+k t
+l n
+; s
+' -
+z ;
+x q
+c j
+v k
+b x
+n b
+m m
+, w
+. v
+/ z
+Z :
+X Q
+C J
+V K
+B X
+N B
+M M
+< W
+> V
+? Z
+A A
+S O
+D E
+F U
+G I
+H D
+J H
+K T
+L N
+: S
+\" _
+Q "
+W <
+E >
+R P
+T Y
+Y F
+U G
+I C
+O R
+P L
+{ ?
+} +
+| |
+- [
+_ {
+= ]
++ }
+
diff -Nur runtime.patched/lang/menu_es_es.latin1.vim runtime/lang/menu_es_es.latin1.vim
--- runtime.patched/lang/menu_es_es.latin1.vim 2005-12-01 08:21:29.000000000 -0800
+++ runtime/lang/menu_es_es.latin1.vim 2009-09-18 03:27:34.000000000 -0700
@@ -1,7 +1,8 @@
" Menu Translations: Espa�ol
-" Maintainer: Alejandro L�pez-Valencia <[email protected]>
-" Version: 6.4.p0-1
-" Last Change: 2005 Dec 01
+" Previous translator: Alejandro L�pez-Valencia <[email protected]>
+" Last translator: Omar Campagne Polaino <[email protected]>
+" Version: 7.2.245
+" Last Change: 2009 Sep 03
"
" Quit when menu translations have already been done.
@@ -28,13 +29,14 @@
menutrans Co&pying &T�rminos\ de\ Licencia
menutrans Sponsor/Register Benefactor/Reg�strese
menutrans &Version &Versi�n\ e\ \informaci�n\ de\ configuraci�n
-menutrans &About &Acerca\ de\ Vim.
+menutrans &About &Acerca\ de\ Vim
" File menu
menutrans &File &Archivo
menutrans &Open\.\.\.<Tab>:e &Abrir\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp A&brir\ en\ otra\ ventana\.\.\.<Tab>:sp
menutrans &New<Tab>:enew &Nuevo<Tab>:enew
+menutrans Open\ Tab\.\.\.<Tab>:tabnew Abrir\ pes&ta�a\.\.\.<Tab>:tabnew
menutrans &Close<Tab>:close &Cerrar<Tab>:close
menutrans &Save<Tab>:w &Guardar<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav Guardar\ &como\.\.\.<Tab>:sav
@@ -65,11 +67,12 @@
menutrans Find\ and\ Rep&lace Buscar\ y\ R&eemplazar
menutrans Find\ and\ Rep&lace<Tab>:s Buscar\ y\ R&eemplazar<Tab>:s
menutrans Settings\ &Window &Ventana\ de\ opciones
+menutrans Startup\ &Settings Opciones\ de\ arranque
" Edit/Global Settings
menutrans &Global\ Settings Opciones\ &globales
-menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Activar/Desactivar\ &realzado\ de\ sintaxis<Tab>:set\ hls!
+menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Activar/Desactivar\ &resaltado\ de\ sintaxis<Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! Activar/Desactivar\ &ignorar\ may�sculas\ y\ min�sculas<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Activar/Desactivar\ &mostrar\ coincidencias<Tab>:set\ sm!
@@ -95,11 +98,11 @@
menutrans Toggle\ &Left\ Scrollbar Ocultar/Mostrar\ barra\ de\ desplazamiento\ i&zquierda
menutrans Toggle\ &Right\ Scrollbar Ocultar/Mostrar\ barra\ de\ desplazamiento\ &derecha
-let g:menutrans_path_dialog = "Introduzca la ruta de b�squeda para los ficheros.\nSepare los nombres de los directorios con una coma."
-let g:menutrans_tags_dialog = "Introduzca los nombres de los fichero de tags.\nSepare los nombres con una coma."
+let g:menutrans_path_dialog = "Introduzca la ruta de b�squeda para los archivos.\nSepare los nombres de los directorios con una coma."
+let g:menutrans_tags_dialog = "Introduzca los nombres de los archivos de tags.\nSepare los nombres con una coma."
" Edit/File Settings
-menutrans F&ile\ Settings Opciones\ del\ &fichero
+menutrans F&ile\ Settings Opciones\ del\ &archivo
" Boolean options
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Activar/Desactivar\ &numeraci�n\ de\ l�neas<Tab>:set\ nu!
@@ -118,8 +121,8 @@
menutrans Te&xt\ Width\.\.\. Anchura\ del\ te&xto\.\.\.
let g:menutrans_textwidth_dialog = "Introduzca el nuevo ancho del texto (0 para desactivar el quiebre de l�nea): "
-menutrans &File\ Format\.\.\. &Formato\ del\ fichero\.\.\.
-let g:menutrans_fileformat_dialog = "Seleccione el formato para escribir el fichero"
+menutrans &File\ Format\.\.\. &Formato\ del\ archivo\.\.\.
+let g:menutrans_fileformat_dialog = "Seleccione el formato para escribir el archivo"
menutrans C&olor\ Scheme Esquema\ de\ c&olores
menutrans blue azul
@@ -154,7 +157,7 @@
menutrans &Tools &Herramientas
menutrans &Jump\ to\ this\ tag<Tab>g^] &Saltar\ a\ este\ etiqueta<Tab>g^]
menutrans Jump\ &back<Tab>^T Saltar\ &atr�s<Tab>^T
-menutrans Build\ &Tags\ File Crear\ fichero\ de\ &etiquetas\
+menutrans Build\ &Tags\ File Crear\ archivo\ de\ &etiquetas\
menutrans &Diff Modo\ de\ &diferencias
menutrans &Folding &Plegado
menutrans &Make<Tab>:make Ejecutar\ �&Make�<Tab>:make
@@ -169,6 +172,24 @@
menutrans &Convert\ to\ HEX<Tab>:%!xxd Convertir\ a\ formato\ &hexadecimal<Tab>:%!xxd
menutrans Conve&rt\ back<Tab>:%!xxd\ -r &Convertir\ al\ formato\ original<Tab>:%!xxd\ -r
+" Tools.Spelling Menu
+menutrans &Spelling Correcci�n\ ortogr�fica
+menutrans &Spell\ Check\ On &Activar\ correcci�n\ ortogr�fica
+menutrans Spell\ Check\ &Off &Desactivar\ correcci�n\ ortogr�fica
+menutrans To\ &Next\ error<Tab>]s &Siguiente\ error<Tab>]s
+menutrans To\ &Previous\ error<Tab>[s Error\ &precedente<Tab>[s
+menutrans Suggest\ &Corrections<Tab>z= Sugerir\ &correcci�n<Tab>z=
+menutrans &Repeat\ correction<Tab>:spellrepall &Repetir\ correcci�n<Tab>:spellrepall
+an 40.335.205 &Tools.&Spelling.Castellano\ (es) :set spl=es spell<CR>
+menutrans Set\ language\ to\ "en" Ingl�s
+menutrans Set\ language\ to\ "en_au" Ingl�s\ (en_au)
+menutrans Set\ language\ to\ "en_ca" Ingl�s\ (en_ca)
+menutrans Set\ language\ to\ "en_gb" Ingl�s\ (en_gb)
+menutrans Set\ language\ to\ "en_nz" Ingl�s\ (en_nz)
+menutrans Set\ language\ to\ "en_us" Ingl�s\ (en_us)
+
+menutrans &Find\ More\ Languages &Buscar\ otras\ lenguas
+
" Tools.Fold Menu
menutrans &Enable/Disable\ folds<Tab>zi &Activar/Desactivar\ pliegues<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv &Ver\ l�nea\ del\ cursor<Tab>zv
@@ -182,7 +203,7 @@
" create and delete folds
menutrans Create\ &Fold<Tab>zf Crear\ &pliegue<Tab>zf
menutrans &Delete\ Fold<Tab>zd &Suprimir\ pliegue<Tab>zd
-menutrans Delete\ &All\ Folds<Tab>zD Suprimir\ &todos\ los\ pligues<Tab>zD
+menutrans Delete\ &All\ Folds<Tab>zD Suprimir\ &todos\ los\ pliegues<Tab>zD
" moving around in folds
menutrans Fold\ col&umn\ width A&nchura\ de\ columna\ del\ pliegue
@@ -203,7 +224,7 @@
menutrans &Alternate &Alternar
menutrans &Next Si&guiente
menutrans &Previous &Previo
-let g:menutrans_no_file = "[Sin fichero]"
+let g:menutrans_no_file = "[Sin archivo]"
" Window menu
menutrans &Window &Ventana
@@ -211,7 +232,7 @@
menutrans S&plit<Tab>^Ws &Dividir\ la\ ventana<Tab>^Ws
menutrans Sp&lit\ To\ #<Tab>^W^^ D&ividir\ en\ el\ marcador\ (#)<Tab>^W^^
menutrans Split\ &Vertically<Tab>^Wv Dividir\ &verticalmente<Tab>^Wv
-menutrans Split\ File\ E&xplorer &Abrir\ el\ �Explorador\ de\ ficheros�
+menutrans Split\ File\ E&xplorer &Abrir\ el\ �Explorador\ de\ archivos�
menutrans &Close<Tab>^Wc &Cerrar\ esta\ ventana<Tab>^Wc
menutrans Close\ &Other(s)<Tab>^Wo Cerrar\ &otra(s)\ ventana(s)<Tab>^Wo
menutrans Move\ &To Mov&er\ a
@@ -245,9 +266,9 @@
delfun Do_toolbar_tmenu
endif
fun Do_toolbar_tmenu()
- tmenu ToolBar.Open Abrir fichero
- tmenu ToolBar.Save Guardar fichero
- tmenu ToolBar.SaveAll Guardar todos los ficheros
+ tmenu ToolBar.Open Abrir archivo
+ tmenu ToolBar.Save Guardar archivo
+ tmenu ToolBar.SaveAll Guardar todos los archivos
tmenu ToolBar.Print Imprimir
tmenu ToolBar.Undo Deshacer
tmenu ToolBar.Redo Rehacer
@@ -273,7 +294,7 @@
tmenu ToolBar.RunScript Ejecutar un archivo de �rdenes
tmenu ToolBar.Make Ejecutar �Make�
tmenu ToolBar.Shell Abrir un int�rprete de comandos
- tmenu ToolBar.RunCtags Generar un fichero de etiquetas
+ tmenu ToolBar.RunCtags Generar un archivo de etiquetas
tmenu ToolBar.TagJump Saltar a una etiqueta
tmenu ToolBar.Help Ayuda
tmenu ToolBar.FindHelp Buscar en la ayuda...
@@ -282,15 +303,15 @@
" Syntax menu
menutrans &Syntax &Sintaxis
-menutrans &Show\ filetypes\ in\ menu &Mostrar\ listas\ de\ �tipo\ de\ fichero�
+menutrans &Show\ filetypes\ in\ menu &Mostrar\ listas\ de\ �tipo\ de\ archivo�
menutrans Set\ '&syntax'\ only Activar\ s�lo\ sintaxis
-menutrans Set\ '&filetype'\ too Activar\ tambi�n\ �tipo\ de\ fichero�
+menutrans Set\ '&filetype'\ too Activar\ tambi�n\ �tipo\ de\ archivo�
menutrans &Off &Desactivar\ sintaxis
-menutrans &Manual sintaxis\ &manual
-menutrans A&utomatic sintaxis\ a&utom�tica
-menutrans on/off\ for\ &This\ file Activar/Desactivar\ en\ es&te\ fichero
+menutrans &Manual Sintaxis\ &manual
+menutrans A&utomatic Sintaxis\ a&utom�tica
+menutrans on/off\ for\ &This\ file Activar/Desactivar\ en\ es&te\ archivo
menutrans Co&lor\ test &Prueba\ de\ colores
-menutrans &Highlight\ test Prueba\ de\ &realzado
+menutrans &Highlight\ test Prueba\ de\ &resaltado
menutrans &Convert\ to\ HTML &Convertir\ a\ HTML
" Find Help dialog text
diff -Nur runtime.patched/lang/menu_ko_kr.euckr.vim runtime/lang/menu_ko_kr.euckr.vim
--- runtime.patched/lang/menu_ko_kr.euckr.vim 2005-03-20 09:44:04.000000000 -0800
+++ runtime/lang/menu_ko_kr.euckr.vim 2008-09-18 11:56:27.000000000 -0700
@@ -1,6 +1,6 @@
" Menu Translations: Korean
-" Maintainer: Nam SungHyun <[email protected]>
-" Last Change: 2003 Apr 25
+" Maintainer: SungHyun Nam <[email protected]>
+" Last Change: 2008 Sep 17
" Quit when menu translations have already been done.
if exists("did_menu_trans")
diff -Nur runtime.patched/lang/menu_ko_kr.utf-8.vim runtime/lang/menu_ko_kr.utf-8.vim
--- runtime.patched/lang/menu_ko_kr.utf-8.vim 2005-03-20 09:43:37.000000000 -0800
+++ runtime/lang/menu_ko_kr.utf-8.vim 2008-09-18 11:56:27.000000000 -0700
@@ -1,6 +1,6 @@
" Menu Translations: Korean
-" Maintainer: Nam SungHyun <[email protected]>
-" Last Change: 2003 Apr 25
+" Maintainer: SungHyun Nam <[email protected]>
+" Last Change: 2008 Sep 17
" Quit when menu translations have already been done.
if exists("did_menu_trans")
diff -Nur runtime.patched/lang/menu_ko_kr.vim runtime/lang/menu_ko_kr.vim
--- runtime.patched/lang/menu_ko_kr.vim 2004-06-07 07:32:35.000000000 -0700
+++ runtime/lang/menu_ko_kr.vim 2008-09-18 11:56:44.000000000 -0700
@@ -1,5 +1,5 @@
" Menu Translations: Korean
-" Translated By: Nam SungHyun <[email protected]>
-" Last Change: 2003 Feb 24
+" Translated By: SungHyun Nam <[email protected]>
+" Last Change: 2008 Sep 17
source <sfile>:p:h/menu_ko_kr.euckr.vim
diff -Nur runtime.patched/macros/matchit.vim runtime/macros/matchit.vim
--- runtime.patched/macros/matchit.vim 2008-02-06 12:53:04.000000000 -0800
+++ runtime/macros/matchit.vim 2008-11-16 03:58:58.000000000 -0800
@@ -357,7 +357,7 @@
execute s:Ref(ini, d, "start", "len")
let ini = strpart(ini, 0, start) . backref . strpart(ini, start+len)
let tailBR = substitute(tailBR, s:notslash . '\zs\\' . d,
- \ escape(backref, '\\'), 'g')
+ \ escape(backref, '\\&'), 'g')
endif
let d = d-1
endwhile
diff -Nur runtime.patched/menu.vim runtime/menu.vim
--- runtime.patched/menu.vim 2008-06-30 13:54:27.000000000 -0700
+++ runtime/menu.vim 2009-03-22 12:39:49.000000000 -0700
@@ -2,7 +2,7 @@
" You can also use this as a start for your own set of menus.
"
" Maintainer: Bram Moolenaar <[email protected]>
-" Last Change: 2008 Jun 30
+" Last Change: 2009 Feb 26
" 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.
@@ -138,6 +138,7 @@
func! s:FnameEscape(fname)
if exists('*fnameescape')
return fnameescape(a:fname)
+ endif
return escape(a:fname, " \t\n*?[{`$\\%#'\"|!<")
endfunc
@@ -1016,10 +1017,9 @@
tmenu ToolBar.Copy Copy to clipboard
tmenu ToolBar.Paste Paste from Clipboard
if !has("gui_athena")
- tmenu ToolBar.Find Find...
+ tmenu ToolBar.Replace Find / Replace...
tmenu ToolBar.FindNext Find Next
tmenu ToolBar.FindPrev Find Previous
- tmenu ToolBar.Replace Find / Replace...
endif
tmenu ToolBar.LoadSesn Choose a session to load
tmenu ToolBar.SaveSesn Save current session
diff -Nur runtime.patched/plugin/gzip.vim runtime/plugin/gzip.vim
--- runtime.patched/plugin/gzip.vim 2005-07-26 06:17:59.000000000 -0700
+++ runtime/plugin/gzip.vim 2009-07-02 11:05:13.000000000 -0700
@@ -1,6 +1,6 @@
" Vim plugin for editing compressed files.
" Maintainer: Bram Moolenaar <[email protected]>
-" Last Change: 2005 Jul 26
+" Last Change: 2009 Jul 01
" Exit quickly when:
" - this plugin was already loaded
@@ -20,17 +20,21 @@
"
" Set binary mode before reading the file.
" Use "gzip -d", gunzip isn't always available.
- autocmd BufReadPre,FileReadPre *.gz,*.bz2,*.Z setlocal bin
+ autocmd BufReadPre,FileReadPre *.gz,*.bz2,*.Z,*.lzma setlocal bin
autocmd BufReadPost,FileReadPost *.gz call gzip#read("gzip -dn")
autocmd BufReadPost,FileReadPost *.bz2 call gzip#read("bzip2 -d")
autocmd BufReadPost,FileReadPost *.Z call gzip#read("uncompress")
+ autocmd BufReadPost,FileReadPost *.lzma call gzip#read("lzma -d")
autocmd BufWritePost,FileWritePost *.gz call gzip#write("gzip")
autocmd BufWritePost,FileWritePost *.bz2 call gzip#write("bzip2")
autocmd BufWritePost,FileWritePost *.Z call gzip#write("compress -f")
+ autocmd BufWritePost,FileWritePost *.lzma call gzip#write("lzma -z")
autocmd FileAppendPre *.gz call gzip#appre("gzip -dn")
autocmd FileAppendPre *.bz2 call gzip#appre("bzip2 -d")
autocmd FileAppendPre *.Z call gzip#appre("uncompress")
+ autocmd FileAppendPre *.lzma call gzip#appre("lzma -d")
autocmd FileAppendPost *.gz call gzip#write("gzip")
autocmd FileAppendPost *.bz2 call gzip#write("bzip2")
autocmd FileAppendPost *.Z call gzip#write("compress -f")
+ autocmd FileAppendPost *.lzma call gzip#write("lzma -z")
augroup END
diff -Nur runtime.patched/plugin/matchparen.vim runtime/plugin/matchparen.vim
--- runtime.patched/plugin/matchparen.vim 2008-02-27 13:39:32.000000000 -0800
+++ runtime/plugin/matchparen.vim 2008-09-06 05:19:39.000000000 -0700
@@ -1,6 +1,6 @@
" Vim plugin for showing matching parens
" Maintainer: Bram Moolenaar <[email protected]>
-" Last Change: 2008 Feb 27
+" Last Change: 2008 Sep 03
" Exit quickly when:
" - this plugin was already loaded (or disabled)
@@ -21,7 +21,7 @@
finish
endif
-let cpo_save = &cpo
+let s:cpo_save = &cpo
set cpo-=C
" The function that is invoked (very often) to define a ":match" highlighting
@@ -147,4 +147,5 @@
\ au! matchparen
command! DoMatchParen runtime plugin/matchparen.vim | windo doau CursorMoved
-let &cpo = cpo_save
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff -Nur runtime.patched/plugin/netrwPlugin.vim runtime/plugin/netrwPlugin.vim
--- runtime.patched/plugin/netrwPlugin.vim 2008-08-08 14:17:56.000000000 -0700
+++ runtime/plugin/netrwPlugin.vim 2009-01-14 12:14:45.000000000 -0800
@@ -1,6 +1,6 @@
" netrwPlugin.vim: Handles file transfer and remote directory listing across a network
" PLUGIN SECTION
-" Date: Aug 01, 2008
+" Date: Aug 10, 2008
" Maintainer: Charles E Campbell, Jr <[email protected]>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1
@@ -16,19 +16,16 @@
" But be doers of the Word, and not only hearers, deluding your own selves {{{1
" (James 1:22 RSV)
" =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
-" ---------------------------------------------------------------------
" Load Once: {{{1
if &cp || exists("g:loaded_netrwPlugin")
finish
endif
-let g:loaded_netrwPlugin = "v132"
-let s:keepcpo = &cpo
-if v:version < 700
- echohl WarningMsg | echo "***netrw*** you need vim version 7.0 for this version of netrw" | echohl None
+let g:loaded_netrwPlugin = "v135"
+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
+let s:keepcpo = &cpo
set cpo&vim
" ---------------------------------------------------------------------
@@ -52,8 +49,8 @@
au BufReadCmd file://* exe "silent doau BufReadPre ".fnameescape(netrw#RFC2396(expand("<amatch>")))|exe 'e '.fnameescape(substitute(netrw#RFC2396(expand("<amatch>")),'file://\(.*\)','\1',""))|exe "bwipe ".fnameescape(expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(netrw#RFC2396(expand("<amatch>")))
au BufReadCmd file://localhost/* exe "silent doau BufReadPre ".fnameescape(netrw#RFC2396(expand("<amatch>")))|exe 'e '.fnameescape(substitute(netrw#RFC2396(expand("<amatch>")),'file://localhost/\(.*\)','\1',""))|exe "bwipe ".fnameescape(substitute(expand("<amatch>"),'file://\(\k\+@\)\=','',''))|exe "silent doau BufReadPost ".fnameescape(netrw#RFC2396(expand("<amatch>")))
endif
- au BufReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufReadPre ".fnameescape(expand("<amatch>"))|exe '2Nread '.fnameescape(expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(expand("<amatch>"))
- au FileReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileReadPre ".fnameescape(expand("<amatch>"))|exe 'Nread '.fnameescape(expand("<amatch>"))|exe "silent doau FileReadPost ".fnameescape(expand("<amatch>"))
+ au BufReadCmd ftp://*,rcp://*,scp://*,http://*,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://*,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>"))
try
@@ -156,24 +153,6 @@
endfun
" ------------------------------------------------------------------------
-" NetReadFixup: this sort of function is typically written by the user {{{1
-" to handle extra junk that their system's ftp dumps
-" into the transfer. This function is provided as an
-" example and as a fix for a Windows 95 problem: in my
-" experience, win95's ftp always dumped four blank lines
-" at the end of the transfer.
-if has("win95") && exists("g:netrw_win95ftp") && g:netrw_win95ftp
- fun! NetReadFixup(method, line1, line2)
-" call Dfunc("NetReadFixup(method<".a:method."> line1=".a:line1." line2=".a:line2.")")
- if method == 3 " ftp (no <.netrc>)
- let fourblanklines= line2 - 3
- silent fourblanklines.",".line2."g/^\s*/d"
- endif
-" call Dret("NetReadFixup")
- endfun
-endif
-
-" ------------------------------------------------------------------------
" Modelines And Restoration: {{{1
let &cpo= s:keepcpo
unlet s:keepcpo
diff -Nur runtime.patched/scripts.vim runtime/scripts.vim
--- runtime.patched/scripts.vim 2009-11-20 13:52:19.789078744 -0800
+++ runtime/scripts.vim 2008-09-06 05:20:23.000000000 -0700
@@ -1,7 +1,7 @@
" Vim support file to detect file types in scripts
"
" Maintainer: Bram Moolenaar <[email protected]>
-" Last change: 2008 Aug 09
+" Last change: 2008 Sep 05
" This file is called by an autocommand for every file that has just been
" loaded into a buffer. It checks if the type of file can be recognized by
@@ -323,25 +323,26 @@
" CVS diff
else
- let lnum = 1
- while getline(lnum) =~ "^? " && lnum < line("$")
- let lnum = lnum + 1
+ let s:lnum = 1
+ while getline(s:lnum) =~ "^? " && s:lnum < line("$")
+ let s:lnum += 1
endwhile
- if getline(lnum) =~ '^Index:\s\+\f\+$'
+ if getline(s:lnum) =~ '^Index:\s\+\f\+$'
set ft=diff
" locale input files: Formal Definitions of Cultural Conventions
" filename must be like en_US, fr_FR@euro or en_US.UTF-8
elseif expand("%") =~ '\a\a_\a\a\($\|[.@]\)\|i18n$\|POSIX$\|translit_'
- let lnum = 1
- while lnum < 100 && lnum < line("$")
- if getline(lnum) =~ '^LC_\(IDENTIFICATION\|CTYPE\|COLLATE\|MONETARY\|NUMERIC\|TIME\|MESSAGES\|PAPER\|TELEPHONE\|MEASUREMENT\|NAME\|ADDRESS\)$'
+ let s:lnum = 1
+ while s:lnum < 100 && s:lnum < line("$")
+ if getline(s:lnum) =~ '^LC_\(IDENTIFICATION\|CTYPE\|COLLATE\|MONETARY\|NUMERIC\|TIME\|MESSAGES\|PAPER\|TELEPHONE\|MEASUREMENT\|NAME\|ADDRESS\)$'
setf fdcc
break
endif
- let lnum = lnum + 1
+ let s:lnum += 1
endwhile
endif
+ unlet s:lnum
endif
diff -Nur runtime.patched/spell/README.txt runtime/spell/README.txt
--- runtime.patched/spell/README.txt 2005-09-30 05:15:16.000000000 -0700
+++ runtime/spell/README.txt 2008-12-01 12:32:34.000000000 -0800
@@ -72,7 +72,7 @@
change too much, the OpenOffice people are not stupid. However, you may
want to remove obvious mistakes. And remove single-letter words that
aren't really words, they mess up the suggestions (English has this
- problem). You can use the "fixdup" Vim script to find duplicate words.
+ problem). You can use the "fixdup.vim" Vim script to find duplicate words.
3. Make the diff file. "aap diff" will do this for you. If a diff would be
too big you might consider writing a Vim script to do systematic changes.
Files runtime.patched/spell/af.latin1.spl and runtime/spell/af.latin1.spl differ
Files runtime.patched/spell/af.latin1.sug and runtime/spell/af.latin1.sug differ
Files runtime.patched/spell/af.utf-8.spl and runtime/spell/af.utf-8.spl differ
Files runtime.patched/spell/af.utf-8.sug and runtime/spell/af.utf-8.sug differ
Files runtime.patched/spell/am.utf-8.spl and runtime/spell/am.utf-8.spl differ
Files runtime.patched/spell/bg.cp1251.spl and runtime/spell/bg.cp1251.spl differ
Files runtime.patched/spell/bg.cp1251.sug and runtime/spell/bg.cp1251.sug differ
Files runtime.patched/spell/bg.utf-8.spl and runtime/spell/bg.utf-8.spl differ
Files runtime.patched/spell/bg.utf-8.sug and runtime/spell/bg.utf-8.sug differ
Files runtime.patched/spell/ca.latin1.spl and runtime/spell/ca.latin1.spl differ
Files runtime.patched/spell/ca.latin1.sug and runtime/spell/ca.latin1.sug differ
Files runtime.patched/spell/ca.utf-8.spl and runtime/spell/ca.utf-8.spl differ
Files runtime.patched/spell/ca.utf-8.sug and runtime/spell/ca.utf-8.sug differ
Files runtime.patched/spell/cs.cp1250.spl and runtime/spell/cs.cp1250.spl differ
Files runtime.patched/spell/cs.iso-8859-2.spl and runtime/spell/cs.iso-8859-2.spl differ
Files runtime.patched/spell/cs.utf-8.spl and runtime/spell/cs.utf-8.spl differ
Files runtime.patched/spell/cy.iso-8859-14.spl and runtime/spell/cy.iso-8859-14.spl differ
Files runtime.patched/spell/cy.utf-8.spl and runtime/spell/cy.utf-8.spl differ
Files runtime.patched/spell/da.latin1.spl and runtime/spell/da.latin1.spl differ
Files runtime.patched/spell/da.latin1.sug and runtime/spell/da.latin1.sug differ
Files runtime.patched/spell/da.utf-8.spl and runtime/spell/da.utf-8.spl differ
Files runtime.patched/spell/da.utf-8.sug and runtime/spell/da.utf-8.sug differ
Files runtime.patched/spell/de.latin1.spl and runtime/spell/de.latin1.spl differ
Files runtime.patched/spell/de.latin1.sug and runtime/spell/de.latin1.sug differ
Files runtime.patched/spell/de.utf-8.spl and runtime/spell/de.utf-8.spl differ
Files runtime.patched/spell/de.utf-8.sug and runtime/spell/de.utf-8.sug differ
Files runtime.patched/spell/el.iso-8859-7.spl and runtime/spell/el.iso-8859-7.spl differ
Files runtime.patched/spell/el.iso-8859-7.sug and runtime/spell/el.iso-8859-7.sug differ
Files runtime.patched/spell/el.utf-8.spl and runtime/spell/el.utf-8.spl differ
Files runtime.patched/spell/el.utf-8.sug and runtime/spell/el.utf-8.sug differ
Files runtime.patched/spell/eo.iso-8859-3.spl and runtime/spell/eo.iso-8859-3.spl differ
Files runtime.patched/spell/eo.utf-8.spl and runtime/spell/eo.utf-8.spl differ
Files runtime.patched/spell/es.latin1.spl and runtime/spell/es.latin1.spl differ
Files runtime.patched/spell/es.latin1.sug and runtime/spell/es.latin1.sug differ
Files runtime.patched/spell/es.utf-8.spl and runtime/spell/es.utf-8.spl differ
Files runtime.patched/spell/es.utf-8.sug and runtime/spell/es.utf-8.sug differ
diff -Nur runtime.patched/spell/fixdup.vim runtime/spell/fixdup.vim
--- runtime.patched/spell/fixdup.vim 1969-12-31 16:00:00.000000000 -0800
+++ runtime/spell/fixdup.vim 2008-12-01 12:32:34.000000000 -0800
@@ -0,0 +1,27 @@
+" Vim script to fix duplicate words in a .dic file vim: set ft=vim:
+"
+" Usage: Edit the .dic file and source this script.
+
+let deleted = 0
+
+" Start below the word count.
+let lnum = 2
+while lnum <= line('$')
+ let word = getline(lnum)
+ if word !~ '/'
+ if search('^' . word . '/', 'w') != 0
+ let deleted += 1
+ exe lnum . "d"
+ continue " don't increment lnum, it's already at the next word
+ endif
+ endif
+ let lnum += 1
+endwhile
+
+if deleted == 0
+ echomsg "No duplicate words found"
+elseif deleted == 1
+ echomsg "Deleted 1 duplicate word"
+else
+ echomsg printf("Deleted %d duplicate words", deleted)
+endif
Files runtime.patched/spell/fo.latin1.spl and runtime/spell/fo.latin1.spl differ
Files runtime.patched/spell/fo.latin1.sug and runtime/spell/fo.latin1.sug differ
Files runtime.patched/spell/fo.utf-8.spl and runtime/spell/fo.utf-8.spl differ
Files runtime.patched/spell/fo.utf-8.sug and runtime/spell/fo.utf-8.sug differ
Files runtime.patched/spell/fr.latin1.spl and runtime/spell/fr.latin1.spl differ
Files runtime.patched/spell/fr.latin1.sug and runtime/spell/fr.latin1.sug differ
Files runtime.patched/spell/fr.utf-8.spl and runtime/spell/fr.utf-8.spl differ
Files runtime.patched/spell/fr.utf-8.sug and runtime/spell/fr.utf-8.sug differ
Files runtime.patched/spell/ga.latin1.spl and runtime/spell/ga.latin1.spl differ
Files runtime.patched/spell/ga.latin1.sug and runtime/spell/ga.latin1.sug differ
Files runtime.patched/spell/ga.utf-8.spl and runtime/spell/ga.utf-8.spl differ
Files runtime.patched/spell/ga.utf-8.sug and runtime/spell/ga.utf-8.sug differ
Files runtime.patched/spell/gd.latin1.spl and runtime/spell/gd.latin1.spl differ
Files runtime.patched/spell/gd.latin1.sug and runtime/spell/gd.latin1.sug differ
Files runtime.patched/spell/gd.utf-8.spl and runtime/spell/gd.utf-8.spl differ
Files runtime.patched/spell/gd.utf-8.sug and runtime/spell/gd.utf-8.sug differ
Files runtime.patched/spell/gl.latin1.spl and runtime/spell/gl.latin1.spl differ
Files runtime.patched/spell/gl.latin1.sug and runtime/spell/gl.latin1.sug differ
Files runtime.patched/spell/gl.utf-8.spl and runtime/spell/gl.utf-8.spl differ
Files runtime.patched/spell/gl.utf-8.sug and runtime/spell/gl.utf-8.sug differ
Files runtime.patched/spell/he.iso-8859-8.spl and runtime/spell/he.iso-8859-8.spl differ
Files runtime.patched/spell/he.utf-8.spl and runtime/spell/he.utf-8.spl differ
Files runtime.patched/spell/hr.cp1250.spl and runtime/spell/hr.cp1250.spl differ
Files runtime.patched/spell/hr.iso-8859-2.spl and runtime/spell/hr.iso-8859-2.spl differ
Files runtime.patched/spell/hr.utf-8.spl and runtime/spell/hr.utf-8.spl differ
Files runtime.patched/spell/hu.cp1250.spl and runtime/spell/hu.cp1250.spl differ
Files runtime.patched/spell/hu.iso-8859-2.spl and runtime/spell/hu.iso-8859-2.spl differ
Files runtime.patched/spell/hu.utf-8.spl and runtime/spell/hu.utf-8.spl differ
Files runtime.patched/spell/id.latin1.spl and runtime/spell/id.latin1.spl differ
Files runtime.patched/spell/id.latin1.sug and runtime/spell/id.latin1.sug differ
Files runtime.patched/spell/id.utf-8.spl and runtime/spell/id.utf-8.spl differ
Files runtime.patched/spell/id.utf-8.sug and runtime/spell/id.utf-8.sug differ
Files runtime.patched/spell/it.latin1.spl and runtime/spell/it.latin1.spl differ
Files runtime.patched/spell/it.utf-8.spl and runtime/spell/it.utf-8.spl differ
Files runtime.patched/spell/ku.iso-8859-9.spl and runtime/spell/ku.iso-8859-9.spl differ
Files runtime.patched/spell/ku.utf-8.spl and runtime/spell/ku.utf-8.spl differ
Files runtime.patched/spell/la.latin1.spl and runtime/spell/la.latin1.spl differ
Files runtime.patched/spell/la.utf-8.spl and runtime/spell/la.utf-8.spl differ
Files runtime.patched/spell/lt.iso-8859-13.spl and runtime/spell/lt.iso-8859-13.spl differ
Files runtime.patched/spell/lt.utf-8.spl and runtime/spell/lt.utf-8.spl differ
Files runtime.patched/spell/lv.iso-8859-13.spl and runtime/spell/lv.iso-8859-13.spl differ
Files runtime.patched/spell/lv.utf-8.spl and runtime/spell/lv.utf-8.spl differ
Files runtime.patched/spell/mg.latin1.spl and runtime/spell/mg.latin1.spl differ
Files runtime.patched/spell/mg.latin1.sug and runtime/spell/mg.latin1.sug differ
Files runtime.patched/spell/mg.utf-8.spl and runtime/spell/mg.utf-8.spl differ
Files runtime.patched/spell/mg.utf-8.sug and runtime/spell/mg.utf-8.sug differ
Files runtime.patched/spell/mi.iso-8859-4.spl and runtime/spell/mi.iso-8859-4.spl differ
Files runtime.patched/spell/mi.utf-8.spl and runtime/spell/mi.utf-8.spl differ
Files runtime.patched/spell/ms.latin1.spl and runtime/spell/ms.latin1.spl differ
Files runtime.patched/spell/ms.latin1.sug and runtime/spell/ms.latin1.sug differ
Files runtime.patched/spell/ms.utf-8.spl and runtime/spell/ms.utf-8.spl differ
Files runtime.patched/spell/ms.utf-8.sug and runtime/spell/ms.utf-8.sug differ
Files runtime.patched/spell/nb.latin1.spl and runtime/spell/nb.latin1.spl differ
Files runtime.patched/spell/nb.latin1.sug and runtime/spell/nb.latin1.sug differ
Files runtime.patched/spell/nb.utf-8.spl and runtime/spell/nb.utf-8.spl differ
Files runtime.patched/spell/nb.utf-8.sug and runtime/spell/nb.utf-8.sug differ
Files runtime.patched/spell/nl.latin1.spl and runtime/spell/nl.latin1.spl differ
Files runtime.patched/spell/nl.latin1.sug and runtime/spell/nl.latin1.sug differ
Files runtime.patched/spell/nl.utf-8.spl and runtime/spell/nl.utf-8.spl differ
Files runtime.patched/spell/nl.utf-8.sug and runtime/spell/nl.utf-8.sug differ
Files runtime.patched/spell/nn.latin1.spl and runtime/spell/nn.latin1.spl differ
Files runtime.patched/spell/nn.latin1.sug and runtime/spell/nn.latin1.sug differ
Files runtime.patched/spell/nn.utf-8.spl and runtime/spell/nn.utf-8.spl differ
Files runtime.patched/spell/nn.utf-8.sug and runtime/spell/nn.utf-8.sug differ
Files runtime.patched/spell/ny.ascii.spl and runtime/spell/ny.ascii.spl differ
Files runtime.patched/spell/ny.iso-8859-14.spl and runtime/spell/ny.iso-8859-14.spl differ
Files runtime.patched/spell/ny.utf-8.spl and runtime/spell/ny.utf-8.spl differ
Files runtime.patched/spell/pl.cp1250.spl and runtime/spell/pl.cp1250.spl differ
Files runtime.patched/spell/pl.iso-8859-2.spl and runtime/spell/pl.iso-8859-2.spl differ
Files runtime.patched/spell/pl.utf-8.spl and runtime/spell/pl.utf-8.spl differ
Files runtime.patched/spell/pt.latin1.spl and runtime/spell/pt.latin1.spl differ
Files runtime.patched/spell/pt.utf-8.spl and runtime/spell/pt.utf-8.spl differ
Files runtime.patched/spell/ro.cp1250.spl and runtime/spell/ro.cp1250.spl differ
Files runtime.patched/spell/ro.iso-8859-2.spl and runtime/spell/ro.iso-8859-2.spl differ
Files runtime.patched/spell/ro.utf-8.spl and runtime/spell/ro.utf-8.spl differ
Files runtime.patched/spell/ru.cp1251.spl and runtime/spell/ru.cp1251.spl differ
Files runtime.patched/spell/ru.cp1251.sug and runtime/spell/ru.cp1251.sug differ
Files runtime.patched/spell/ru.koi8-r.spl and runtime/spell/ru.koi8-r.spl differ
Files runtime.patched/spell/ru.koi8-r.sug and runtime/spell/ru.koi8-r.sug differ
Files runtime.patched/spell/ru.utf-8.spl and runtime/spell/ru.utf-8.spl differ
Files runtime.patched/spell/ru.utf-8.sug and runtime/spell/ru.utf-8.sug differ
Files runtime.patched/spell/rw.latin1.spl and runtime/spell/rw.latin1.spl differ
Files runtime.patched/spell/rw.latin1.sug and runtime/spell/rw.latin1.sug differ
Files runtime.patched/spell/rw.utf-8.spl and runtime/spell/rw.utf-8.spl differ
Files runtime.patched/spell/rw.utf-8.sug and runtime/spell/rw.utf-8.sug differ
Files runtime.patched/spell/sk.cp1250.spl and runtime/spell/sk.cp1250.spl differ
Files runtime.patched/spell/sk.iso-8859-2.spl and runtime/spell/sk.iso-8859-2.spl differ
Files runtime.patched/spell/sk.utf-8.spl and runtime/spell/sk.utf-8.spl differ
Files runtime.patched/spell/sl.cp1250.spl and runtime/spell/sl.cp1250.spl differ
Files runtime.patched/spell/sl.iso-8859-2.spl and runtime/spell/sl.iso-8859-2.spl differ
Files runtime.patched/spell/sl.utf-8.spl and runtime/spell/sl.utf-8.spl differ
Files runtime.patched/spell/sv.latin1.spl and runtime/spell/sv.latin1.spl differ
Files runtime.patched/spell/sv.latin1.sug and runtime/spell/sv.latin1.sug differ
Files runtime.patched/spell/sv.utf-8.spl and runtime/spell/sv.utf-8.spl differ
Files runtime.patched/spell/sv.utf-8.sug and runtime/spell/sv.utf-8.sug differ
Files runtime.patched/spell/sw.latin1.spl and runtime/spell/sw.latin1.spl differ
Files runtime.patched/spell/sw.latin1.sug and runtime/spell/sw.latin1.sug differ
Files runtime.patched/spell/sw.utf-8.spl and runtime/spell/sw.utf-8.spl differ
Files runtime.patched/spell/sw.utf-8.sug and runtime/spell/sw.utf-8.sug differ
diff -Nur runtime.patched/spell/tet/main.aap runtime/spell/tet/main.aap
--- runtime.patched/spell/tet/main.aap 1969-12-31 16:00:00.000000000 -0800
+++ runtime/spell/tet/main.aap 2008-02-13 06:13:42.000000000 -0800
@@ -0,0 +1,79 @@
+# Aap recipe for Tetum Vim spell files.
+
+# Use a freshly compiled Vim if it exists.
+@if os.path.exists('../../../src/vim'):
+ VIM = ../../../src/vim
+@else:
+ :progsearch VIM vim
+
+SPELLDIR = ..
+FILES = tet_ID.aff tet_ID.dic
+
+# I don't hava a Tetum locale, use the Dutch one instead.
+all: $SPELLDIR/tet.latin1.spl $SPELLDIR/tet.utf-8.spl ../README_tet.txt
+
+$SPELLDIR/tet.latin1.spl : $FILES
+ :sys env LANG=nl_NL.ISO8859-1
+ $VIM -u NONE -e -c "mkspell! $SPELLDIR/tet tet_ID" -c q
+
+$SPELLDIR/tet.utf-8.spl : $FILES
+ :sys env LANG=nl_NL.UTF-8
+ $VIM -u NONE -e -c "mkspell! $SPELLDIR/tet tet_ID" -c q
+
+../README_tet.txt : README_tet_ID.txt
+ :copy $source $target
+
+#
+# Fetching the files from OpenOffice.org.
+#
+OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
+:attr {fetch = $OODIR/%file%} tet_ID.zip
+
+# The files don't depend on the .zip file so that we can delete it.
+# Only download the zip file if the targets don't exist.
+tet_ID.aff tet_ID.dic: {buildcheck=}
+ :assertpkg unzip patch
+ :fetch tet_ID.zip
+ :sys $UNZIP tet_ID.zip
+ :delete tet_ID.zip
+ @if not os.path.exists('tet_ID.orig.aff'):
+ :copy tet_ID.aff tet_ID.orig.aff
+ @if not os.path.exists('tet_ID.orig.dic'):
+ :copy tet_ID.dic tet_ID.orig.dic
+ @if os.path.exists('tet_ID.diff'):
+ :sys patch <tet_ID.diff
+
+
+# Generate diff files, so that others can get the OpenOffice files and apply
+# the diffs to get the Vim versions.
+
+diff:
+ :assertpkg diff
+ :sys {force} diff -a -C 1 tet_ID.orig.aff tet_ID.aff >tet_ID.diff
+ :sys {force} diff -a -C 1 tet_ID.orig.dic tet_ID.dic >>tet_ID.diff
+
+
+# Check for updated OpenOffice spell files. When there are changes the
+# ".new.aff" and ".new.dic" files are left behind for manual inspection.
+
+check:
+ :assertpkg unzip diff
+ :fetch tet_ID.zip
+ :mkdir tmp
+ :cd tmp
+ @try:
+ @import stat
+ :sys $UNZIP ../tet_ID.zip
+ :sys {force} diff ../tet_ID.orig.aff tet_ID.aff >d
+ @if os.stat('d')[stat.ST_SIZE] > 0:
+ :copy tet_ID.aff ../tet_ID.new.aff
+ :sys {force} diff ../tet_ID.orig.dic tet_ID.dic >d
+ @if os.stat('d')[stat.ST_SIZE] > 0:
+ :copy tet_ID.dic ../tet_ID.new.dic
+ @finally:
+ :cd ..
+ :delete {r}{f}{q} tmp
+ :delete tet_ID.zip
+
+
+# vim: set sts=4 sw=4 :
diff -Nur runtime.patched/spell/tet/tet_ID.diff runtime/spell/tet/tet_ID.diff
--- runtime.patched/spell/tet/tet_ID.diff 1969-12-31 16:00:00.000000000 -0800
+++ runtime/spell/tet/tet_ID.diff 2008-02-13 06:13:04.000000000 -0800
@@ -0,0 +1,26 @@
+*** tet_ID.orig.aff Wed Aug 31 21:14:37 2005
+--- tet_ID.aff Wed Aug 31 21:15:15 2005
+***************
+*** 19 ****
+--- 19,39 ----
+ TRY aineousrthlkmdbp'fTvgzLAINjSPEM�D-KH��FRUBGJ�Oc�wxCWXV���q��Z�Qy��
++
++ FOL ��������������������������������
++ LOW ��������������������������������
++ UPP ��������������������������������
++
++ SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ�������������������������������������������������������������
++ SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
++
++ MIDWORD '-
++
++ MAP 9
++ MAP a������
++ MAP e����
++ MAP i����
++ MAP o�����
++ MAP u����
++ MAP n�
++ MAP c�
++ MAP y��
++ MAP s�
Files runtime.patched/spell/tet.latin1.spl and runtime/spell/tet.latin1.spl differ
Files runtime.patched/spell/tet.latin1.sug and runtime/spell/tet.latin1.sug differ
Files runtime.patched/spell/tet.utf-8.spl and runtime/spell/tet.utf-8.spl differ
Files runtime.patched/spell/tet.utf-8.sug and runtime/spell/tet.utf-8.sug differ
Files runtime.patched/spell/th.utf-8.spl and runtime/spell/th.utf-8.spl differ
Files runtime.patched/spell/tl.latin1.spl and runtime/spell/tl.latin1.spl differ
Files runtime.patched/spell/tl.latin1.sug and runtime/spell/tl.latin1.sug differ
Files runtime.patched/spell/tl.utf-8.spl and runtime/spell/tl.utf-8.spl differ
Files runtime.patched/spell/tl.utf-8.sug and runtime/spell/tl.utf-8.sug differ
Files runtime.patched/spell/tn.cp1250.spl and runtime/spell/tn.cp1250.spl differ
Files runtime.patched/spell/tn.iso-8859-2.spl and runtime/spell/tn.iso-8859-2.spl differ
Files runtime.patched/spell/tn.utf-8.spl and runtime/spell/tn.utf-8.spl differ
Files runtime.patched/spell/uk.koi8-u.spl and runtime/spell/uk.koi8-u.spl differ
Files runtime.patched/spell/uk.utf-8.spl and runtime/spell/uk.utf-8.spl differ
Files runtime.patched/spell/yi-tr.utf-8.spl and runtime/spell/yi-tr.utf-8.spl differ
Files runtime.patched/spell/yi.latin1.spl and runtime/spell/yi.latin1.spl differ
Files runtime.patched/spell/yi.utf-8.spl and runtime/spell/yi.utf-8.spl differ
Files runtime.patched/spell/zu.ascii.spl and runtime/spell/zu.ascii.spl differ
Files runtime.patched/spell/zu.latin1.spl and runtime/spell/zu.latin1.spl differ
Files runtime.patched/spell/zu.utf-8.spl and runtime/spell/zu.utf-8.spl differ
diff -Nur runtime.patched/syntax/2html.vim runtime/syntax/2html.vim
--- runtime.patched/syntax/2html.vim 2008-07-17 14:03:05.000000000 -0700
+++ runtime/syntax/2html.vim 2009-07-26 04:44:10.000000000 -0700
@@ -1,13 +1,18 @@
" Vim syntax support file
" Maintainer: Bram Moolenaar <[email protected]>
-" Last Change: 2008 Jul 17
+" Last Change: 2009 Jul 14
" (modified by David Ne\v{c}as (Yeti) <[email protected]>)
" (XHTML support by Panagiotis Issaris <[email protected]>)
" (made w3 compliant by Edd Barrett <[email protected]>)
" (added html_font. Edd Barrett <[email protected]>)
+" (dynamic folding by Ben Fritz <[email protected]>)
" Transform a file into HTML, using the current syntax highlighting.
+" this file uses line continuations
+let s:cpo_sav = &cpo
+set cpo-=C
+
" Number lines when explicitely requested or when `number' is set
if exists("html_number_lines")
let s:numblines = html_number_lines
@@ -22,6 +27,37 @@
let s:htmlfont = "monospace"
endif
+" make copies of the user-defined settings that we may overrule
+if exists("html_dynamic_folds")
+ let s:html_dynamic_folds = 1
+endif
+if exists("html_hover_unfold")
+ let s:html_hover_unfold = 1
+endif
+if exists("html_use_css")
+ let s:html_use_css = 1
+endif
+
+" hover opening implies dynamic folding
+if exists("s:html_hover_unfold")
+ let s:html_dynamic_folds = 1
+endif
+
+" dynamic folding with no foldcolumn implies hover opens
+if exists("s:html_dynamic_folds") && exists("html_no_foldcolumn")
+ let s:html_hover_unfold = 1
+endif
+
+" ignore folding overrides dynamic folding
+if exists("html_ignore_folding") && exists("s:html_dynamic_folds")
+ unlet s:html_dynamic_folds
+endif
+
+" dynamic folding implies css
+if exists("s:html_dynamic_folds")
+ let s:html_use_css = 1
+endif
+
" When not in gui we can only guess the colors.
if has("gui_running")
let s:whatterm = "gui"
@@ -62,7 +98,7 @@
endfun
endif
-if !exists("html_use_css")
+if !exists("s:html_use_css")
" Return opening HTML tag for given highlight id
function! s:HtmlOpening(id)
let a = ""
@@ -150,6 +186,26 @@
return a
endfun
+if exists("s:html_dynamic_folds")
+
+ " compares two folds as stored in our list of folds
+ " A fold is "less" than another if it starts at an earlier line number,
+ " or ends at a later line number, ties broken by fold level
+ function! s:FoldCompare(f1, f2)
+ if a:f1.firstline != a:f2.firstline
+ " put it before if it starts earlier
+ return a:f1.firstline - a:f2.firstline
+ elseif a:f1.lastline != a:f2.lastline
+ " put it before if it ends later
+ return a:f2.lastline - a:f1.lastline
+ else
+ " if folds begin and end on the same lines, put lowest fold level first
+ return a:f1.level - a:f2.level
+ endif
+ endfunction
+
+endif
+
" Figure out proper MIME charset from the 'encoding' option.
if exists("html_use_encoding")
let s:html_encoding = html_use_encoding
@@ -223,13 +279,13 @@
let s:tag_close = '>'
endif
-" Cache html_no_pre incase we have to turn it on for non-css mode
+" Cache html_no_pre in case we have to turn it on for non-css mode
if exists("html_no_pre")
let s:old_html_no_pre = html_no_pre
endif
-if !exists("html_use_css")
- " Cant put font tags in <pre>
+if !exists("s:html_use_css")
+ " Can't put font tags in <pre>
let html_no_pre=1
endif
@@ -251,9 +307,86 @@
exe "normal! a<meta http-equiv=\"content-type\" content=\"text/html; charset=" . s:html_encoding . '"' . s:tag_close . "\n\e"
endif
-if exists("html_use_css")
- exe "normal! a<style type=\"text/css\">\n<!--\n-->\n</style>\n\e"
+if exists("s:html_use_css")
+ if exists("s:html_dynamic_folds")
+ if exists("s:html_hover_unfold")
+ " if we are doing hover_unfold, use css 2 with css 1 fallback for IE6
+ exe "normal! a".
+ \ "<style type=\"text/css\">\n<!--\n".
+ \ ".FoldColumn { text-decoration: none; white-space: pre; }\n\n".
+ \ "body * { margin: 0; padding: 0; }\n".
+ \ "\n".
+ \ ".open-fold > .Folded { display: none; }\n".
+ \ ".open-fold > .fulltext { display: inline; }\n".
+ \ ".closed-fold > .fulltext { display: none; }\n".
+ \ ".closed-fold > .Folded { display: inline; }\n".
+ \ "\n".
+ \ ".open-fold > .toggle-open { display: none; }\n".
+ \ ".open-fold > .toggle-closed { display: inline; }\n".
+ \ ".closed-fold > .toggle-open { display: inline; }\n".
+ \ ".closed-fold > .toggle-closed { display: none; }\n"
+ exe "normal! a\n/* opening a fold while hovering won't be supported by IE6 and other\n".
+ \ "similar browsers, but it should fail gracefully. */\n".
+ \ ".closed-fold:hover > .fulltext { display: inline; }\n".
+ \ ".closed-fold:hover > .toggle-filler { display: none; }\n".
+ \ ".closed-fold:hover > .Folded { display: none; }\n"
+ exe "normal! a-->\n</style>\n"
+ exe "normal! a<!--[if lt IE 7]>".
+ \ "<style type=\"text/css\">\n".
+ \ ".open-fold .Folded { display: none; }\n".
+ \ ".open-fold .fulltext { display: inline; }\n".
+ \ ".open-fold .toggle-open { display: none; }\n".
+ \ ".closed-fold .toggle-closed { display: inline; }\n".
+ \ "\n".
+ \ ".closed-fold .fulltext { display: none; }\n".
+ \ ".closed-fold .Folded { display: inline; }\n".
+ \ ".closed-fold .toggle-open { display: inline; }\n".
+ \ ".closed-fold .toggle-closed { display: none; }\n".
+ \ "</style>\n".
+ \ "<![endif]-->\n"
+ else
+ " if we aren't doing hover_unfold, use CSS 1 only
+ exe "normal! a<style type=\"text/css\">\n<!--\n".
+ \ ".FoldColumn { text-decoration: none; white-space: pre; }\n\n".
+ \ ".open-fold .Folded { display: none; }\n".
+ \ ".open-fold .fulltext { display: inline; }\n".
+ \ ".open-fold .toggle-open { display: none; }\n".
+ \ ".closed-fold .toggle-closed { display: inline; }\n".
+ \ "\n".
+ \ ".closed-fold .fulltext { display: none; }\n".
+ \ ".closed-fold .Folded { display: inline; }\n".
+ \ ".closed-fold .toggle-open { display: inline; }\n".
+ \ ".closed-fold .toggle-closed { display: none; }\n".
+ \ "-->\n</style>\n"
+ endif
+ else
+ " if we aren't doing any dynamic folding, no need for any special rules
+ exe "normal! a<style type=\"text/css\">\n<!--\n-->\n</style>\n\e"
+ endif
+endif
+
+" insert javascript to toggle folds open and closed
+if exists("s:html_dynamic_folds")
+ exe "normal! a\n".
+ \ "<script type='text/javascript'>\n".
+ \ "<!--\n".
+ \ "function toggleFold(objID)\n".
+ \ "{\n".
+ \ " var fold;\n".
+ \ " fold = document.getElementById(objID);\n".
+ \ " if(fold.className == 'closed-fold')\n".
+ \ " {\n".
+ \ " fold.className = 'open-fold';\n".
+ \ " }\n".
+ \ " else if (fold.className == 'open-fold')\n".
+ \ " {\n".
+ \ " fold.className = 'closed-fold';\n".
+ \ " }\n".
+ \ "}\n".
+ \ "-->\n".
+ \ "</script>\n\e"
endif
+
if exists("html_no_pre")
exe "normal! a</head>\n<body>\n\e"
else
@@ -265,7 +398,81 @@
" List of all id's
let s:idlist = ","
-" Loop over all lines in the original text.
+" First do some preprocessing for dynamic folding. Do this for the entire file
+" so we don't accidentally start within a closed fold or something.
+let s:allfolds = []
+
+if exists("s:html_dynamic_folds")
+ let s:lnum = 1
+ let s:end = line('$')
+ " save the fold text and set it to the default so we can find fold levels
+ let s:foldtext_save = &foldtext
+ set foldtext&
+
+ " we will set the foldcolumn in the html to the greater of the maximum fold
+ " level and the current foldcolumn setting
+ let s:foldcolumn = &foldcolumn
+
+ " get all info needed to describe currently closed folds
+ while s:lnum < s:end
+ if foldclosed(s:lnum) == s:lnum
+ " default fold text has '+-' and then a number of dashes equal to fold
+ " level, so subtract 2 from index of first non-dash after the dashes
+ " in order to get the fold level of the current fold
+ let s:level = match(foldtextresult(s:lnum), '+-*\zs[^-]') - 2
+ if s:level+1 > s:foldcolumn
+ let s:foldcolumn = s:level+1
+ endif
+ " store fold info for later use
+ let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': "closed-fold"}
+ call add(s:allfolds, s:newfold)
+ " open the fold so we can find any contained folds
+ execute s:lnum."foldopen"
+ else
+ let s:lnum = s:lnum + 1
+ endif
+ endwhile
+
+ " close all folds to get info for originally open folds
+ silent! %foldclose!
+ let s:lnum = 1
+
+ " the originally open folds will be all folds we encounter that aren't
+ " already in the list of closed folds
+ while s:lnum < s:end
+ if foldclosed(s:lnum) == s:lnum
+ " default fold text has '+-' and then a number of dashes equal to fold
+ " level, so subtract 2 from index of first non-dash after the dashes
+ " in order to get the fold level of the current fold
+ let s:level = match(foldtextresult(s:lnum), '+-*\zs[^-]') - 2
+ if s:level+1 > s:foldcolumn
+ let s:foldcolumn = s:level+1
+ endif
+ let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': "closed-fold"}
+ " only add the fold if we don't already have it
+ if empty(s:allfolds) || index(s:allfolds, s:newfold) == -1
+ let s:newfold.type = "open-fold"
+ call add(s:allfolds, s:newfold)
+ endif
+ " open the fold so we can find any contained folds
+ execute s:lnum."foldopen"
+ else
+ let s:lnum = s:lnum + 1
+ endif
+ endwhile
+
+ " sort the folds so that we only ever need to look at the first item in the
+ " list of folds
+ call sort(s:allfolds, "s:FoldCompare")
+
+ let &foldtext = s:foldtext_save
+ unlet s:foldtext_save
+
+ " close all folds again so we can get the fold text as we go
+ silent! %foldclose!
+endif
+
+" Now loop over all lines in the original text to convert to html.
" Use html_start_line and html_end_line if they are set.
if exists("html_start_line")
let s:lnum = html_start_line
@@ -284,6 +491,15 @@
let s:end = line("$")
endif
+" stack to keep track of all the folds containing the current line
+let s:foldstack = []
+
+if s:numblines
+ let s:margin = strlen(s:end) + 1
+else
+ let s:margin = 0
+endif
+
if has('folding') && !exists('html_ignore_folding')
let s:foldfillchar = &fillchars[matchend(&fillchars, 'fold:')]
if s:foldfillchar == ''
@@ -295,6 +511,7 @@
let s:difffillchar = '-'
endif
+let s:foldId = 0
while s:lnum <= s:end
@@ -303,12 +520,7 @@
if s:filler > 0
let s:n = s:filler
while s:n > 0
- if s:numblines
- " Indent if line numbering is on
- let s:new = repeat(s:LeadingSpace, strlen(s:end) + 1) . repeat(s:difffillchar, 3)
- else
- let s:new = repeat(s:difffillchar, 3)
- endif
+ let s:new = repeat(s:difffillchar, 3)
if s:n > 2 && s:n < s:filler && !exists("html_whole_filler")
let s:new = s:new . " " . s:filler . " inserted lines "
@@ -317,10 +529,16 @@
if !exists("html_no_pre")
" HTML line wrapping is off--go ahead and fill to the margin
- let s:new = s:new . repeat(s:difffillchar, &columns - strlen(s:new))
+ let s:new = s:new . repeat(s:difffillchar, &columns - strlen(s:new) - s:margin)
+ else
+ let s:new = s:new . repeat(s:difffillchar, 3)
endif
let s:new = s:HtmlFormat(s:new, "DiffDelete")
+ if s:numblines
+ " Indent if line numbering is on; must be after escaping.
+ let s:new = repeat(s:LeadingSpace, s:margin) . s:new
+ endif
exe s:newwin . "wincmd w"
exe "normal! a" . s:new . s:HtmlEndline . "\n\e"
exe s:orgwin . "wincmd w"
@@ -333,16 +551,18 @@
" Start the line with the line number.
if s:numblines
- let s:new = repeat(' ', strlen(s:end) - strlen(s:lnum)) . s:lnum . ' '
+ let s:numcol = repeat(' ', s:margin - 1 - strlen(s:lnum)) . s:lnum . ' '
else
- let s:new = ""
+ let s:numcol = ""
endif
- if has('folding') && !exists('html_ignore_folding') && foldclosed(s:lnum) > -1
+ let s:new = ""
+
+ if has('folding') && !exists('html_ignore_folding') && foldclosed(s:lnum) > -1 && !exists('s:html_dynamic_folds')
"
- " This is the beginning of a folded block
+ " This is the beginning of a folded block (with no dynamic folding)
"
- let s:new = s:new . foldtextresult(s:lnum)
+ let s:new = s:numcol . foldtextresult(s:lnum)
if !exists("html_no_pre")
" HTML line wrapping is off--go ahead and fill to the margin
let s:new = s:new . repeat(s:foldfillchar, &columns - strlen(s:new))
@@ -355,14 +575,96 @@
else
"
- " A line that is not folded.
+ " A line that is not folded, or doing dynamic folding.
"
let s:line = getline(s:lnum)
-
let s:len = strlen(s:line)
+ if exists("s:html_dynamic_folds")
+ " First insert a closing for any open folds that end on this line
+ while !empty(s:foldstack) && get(s:foldstack,0).lastline == s:lnum-1
+ let s:new = s:new."</span></span>"
+ call remove(s:foldstack, 0)
+ endwhile
+
+ " Now insert an opening any new folds that start on this line
+ let s:firstfold = 1
+ while !empty(s:allfolds) && get(s:allfolds,0).firstline == s:lnum
+ let s:foldId = s:foldId + 1
+ let s:new = s:new . "<span id='fold".s:foldId."' class='".s:allfolds[0].type."'>"
+
+ " Unless disabled, add a fold column for the opening line of a fold.
+ "
+ " Note that dynamic folds require using css so we just use css to take
+ " care of the leading spaces rather than using in the case of
+ " html_no_pre to make it easier
+ if !exists("html_no_foldcolumn")
+ " add fold column that can open the new fold
+ if s:allfolds[0].level > 1 && s:firstfold
+ let s:new = s:new . "<a class='toggle-open FoldColumn' href='javascript:toggleFold(\"fold".s:foldstack[0].id."\")'>"
+ let s:new = s:new . repeat('|', s:allfolds[0].level - 1) . "</a>"
+ endif
+ let s:new = s:new . "<a class='toggle-open FoldColumn' href='javascript:toggleFold(\"fold".s:foldId."\")'>+</a>"
+ let s:new = s:new . "<a class='toggle-open "
+ " If this is not the last fold we're opening on this line, we need
+ " to keep the filler spaces hidden if the fold is opened by mouse
+ " hover. If it is the last fold to open in the line, we shouldn't hide
+ " them, so don't apply the toggle-filler class.
+ if get(s:allfolds, 1, {'firstline': 0}).firstline == s:lnum
+ let s:new = s:new . "toggle-filler "
+ endif
+ let s:new = s:new . "FoldColumn' href='javascript:toggleFold(\"fold".s:foldId."\")'>"
+ let s:new = s:new . repeat(" ", s:foldcolumn - s:allfolds[0].level) . "</a>"
+
+ " add fold column that can close the new fold
+ let s:new = s:new . "<a class='toggle-closed FoldColumn' href='javascript:toggleFold(\"fold".s:foldId."\")'>"
+ if s:firstfold
+ let s:new = s:new . repeat('|', s:allfolds[0].level - 1)
+ endif
+ let s:new = s:new . "-"
+ " only add spaces if we aren't opening another fold on the same line
+ if get(s:allfolds, 1, {'firstline': 0}).firstline != s:lnum
+ let s:new = s:new . repeat(" ", s:foldcolumn - s:allfolds[0].level)
+ endif
+ let s:new = s:new . "</a>"
+ let s:firstfold = 0
+ endif
+
+ " add fold text, moving the span ending to the next line so collapsing
+ " of folds works correctly
+ let s:new = s:new . substitute(s:HtmlFormat(s:numcol . foldtextresult(s:lnum), "Folded"), '</span>', s:HtmlEndline.'\r\0', '')
+ let s:new = s:new . "<span class='fulltext'>"
+
+ " open the fold now that we have the fold text to allow retrieval of
+ " fold text for subsequent folds
+ execute s:lnum."foldopen"
+ call insert(s:foldstack, remove(s:allfolds,0))
+ let s:foldstack[0].id = s:foldId
+ endwhile
+
+ " Unless disabled, add a fold column for other lines.
+ "
+ " Note that dynamic folds require using css so we just use css to take
+ " care of the leading spaces rather than using in the case of
+ " html_no_pre to make it easier
+ if !exists("html_no_foldcolumn")
+ if empty(s:foldstack)
+ " add the empty foldcolumn for unfolded lines
+ let s:new = s:new . s:HtmlFormat(repeat(' ', s:foldcolumn), "FoldColumn")
+ else
+ " add the fold column for folds not on the opening line
+ if get(s:foldstack, 0).firstline < s:lnum
+ let s:new = s:new . "<a class='FoldColumn' href='javascript:toggleFold(\"fold".s:foldstack[0].id."\")'>"
+ let s:new = s:new . repeat('|', s:foldstack[0].level)
+ let s:new = s:new . repeat(' ', s:foldcolumn - s:foldstack[0].level) . "</a>"
+ endif
+ endif
+ endif
+ endif
+
+ " Now continue with the unfolded line text
if s:numblines
- let s:new = s:HtmlFormat(s:new, "lnr")
+ let s:new = s:new . s:HtmlFormat(s:numcol, "lnr")
endif
" Get the diff attribute, if any.
@@ -380,7 +682,7 @@
while s:col <= s:len && s:id == diff_hlID(s:lnum, s:col) | let s:col = s:col + 1 | endwhile
if s:len < &columns && !exists("html_no_pre")
" Add spaces at the end to mark the changed line.
- let s:line = s:line . repeat(' ', &columns - s:len)
+ let s:line = s:line . repeat(' ', &columns - virtcol([s:lnum, s:len]) - s:margin)
let s:len = &columns
endif
else
@@ -393,11 +695,27 @@
" Expand tabs
let s:expandedtab = strpart(s:line, s:startcol - 1, s:col - s:startcol)
- let idx = stridx(s:expandedtab, "\t")
- while idx >= 0
- let i = &ts - ((idx + s:startcol - 1) % &ts)
- let s:expandedtab = substitute(s:expandedtab, '\t', repeat(' ', i), '')
- let idx = stridx(s:expandedtab, "\t")
+ let s:offset = 0
+ let s:idx = stridx(s:expandedtab, "\t")
+ while s:idx >= 0
+ if has("multi_byte_encoding")
+ if s:startcol + s:idx == 1
+ let s:i = &ts
+ else
+ if s:idx == 0
+ let s:prevc = matchstr(s:line, '.\%' . (s:startcol + s:idx + s:offset) . 'c')
+ else
+ let s:prevc = matchstr(s:expandedtab, '.\%' . (s:idx + 1) . 'c')
+ endif
+ let s:vcol = virtcol([s:lnum, s:startcol + s:idx + s:offset - len(s:prevc)])
+ let s:i = &ts - (s:vcol % &ts)
+ endif
+ let s:offset -= s:i - 1
+ else
+ let s:i = &ts - ((s:idx + s:startcol - 1) % &ts)
+ endif
+ let s:expandedtab = substitute(s:expandedtab, '\t', repeat(' ', s:i), '')
+ let s:idx = stridx(s:expandedtab, "\t")
endwhile
" Output the text with the same synID, with class set to {s:id_name}
@@ -415,8 +733,22 @@
" Finish with the last line
exe s:newwin . "wincmd w"
+if exists("s:html_dynamic_folds")
+ " finish off any open folds
+ while !empty(s:foldstack)
+ exe "normal! a</span></span>"
+ call remove(s:foldstack, 0)
+ endwhile
+
+ " add fold column to the style list if not already there
+ let s:id = hlID('FoldColumn')
+ if stridx(s:idlist, "," . s:id . ",") == -1
+ let s:idlist = s:idlist . s:id . ","
+ endif
+endif
+
" Close off the font tag that encapsulates the whole <body>
-if !exists("html_use_css")
+if !exists("s:html_use_css")
exe "normal! a</font>\e"
endif
@@ -428,7 +760,7 @@
" Now, when we finally know which, we define the colors and styles
-if exists("html_use_css")
+if exists("s:html_use_css")
1;/<style type="text/+1
endif
@@ -445,7 +777,7 @@
" Normal/global attributes
" For Netscape 4, set <body> attributes too, though, strictly speaking, it's
" incorrect.
-if exists("html_use_css")
+if exists("s:html_use_css")
if exists("html_no_pre")
execute "normal! A\nbody { color: " . s:fgc . "; background-color: " . s:bgc . "; font-family: ". s:htmlfont ."; }\e"
else
@@ -455,12 +787,12 @@
execute "normal! ^cwbody\e"
endif
else
- execute '%s:<body>:<body bgcolor="' . s:bgc . '" text="' . s:fgc . '"><font face="'. s:htmlfont .'">'
+ execute '%s:<body>:<body bgcolor="' . s:bgc . '" text="' . s:fgc . '"><font face="'. s:htmlfont .'">'
endif
" Line numbering attributes
if s:numblines
- if exists("html_use_css")
+ if exists("s:html_use_css")
execute "normal! A\n.lnr { " . s:CSS1(hlID("LineNr")) . "}\e"
else
execute '%s+^<span class="lnr">\([^<]*\)</span>+' . s:HtmlOpening(hlID("LineNr")) . '\1' . s:HtmlClosing(hlID("LineNr")) . '+g'
@@ -479,14 +811,14 @@
" If the class has some attributes, export the style, otherwise DELETE all
" its occurences to make the HTML shorter
if s:attr != ""
- if exists("html_use_css")
+ if exists("s:html_use_css")
execute "normal! A\n." . s:id_name . " { " . s:attr . "}"
else
execute '%s+<span class="' . s:id_name . '">\([^<]*\)</span>+' . s:HtmlOpening(s:id) . '\1' . s:HtmlClosing(s:id) . '+g'
endif
else
execute '%s+<span class="' . s:id_name . '">\([^<]*\)</span>+\1+ge'
- if exists("html_use_css")
+ if exists("s:html_use_css")
1;/<style type="text/+1
endif
endif
@@ -531,16 +863,28 @@
" Save a little bit of memory (worth doing?)
unlet s:htmlfont
unlet s:old_et s:old_paste s:old_icon s:old_report s:old_title s:old_search
-unlet s:whatterm s:idlist s:lnum s:end s:fgc s:bgc s:old_magic
+unlet s:whatterm s:idlist s:lnum s:end s:margin s:fgc s:bgc s:old_magic
unlet! s:col s:id s:attr s:len s:line s:new s:expandedtab s:numblines
-unlet s:orgwin s:newwin s:orgbufnr
+unlet! s:orgwin s:newwin s:orgbufnr s:idx s:i s:offset
if !v:profiling
delfunc s:HtmlColor
delfunc s:HtmlFormat
delfunc s:CSS1
- if !exists("html_use_css")
+ if !exists("s:html_use_css")
delfunc s:HtmlOpening
delfunc s:HtmlClosing
endif
endif
-silent! unlet s:diffattr s:difffillchar s:foldfillchar s:HtmlSpace s:LeadingSpace s:HtmlEndline
+silent! unlet s:diffattr s:difffillchar s:foldfillchar s:HtmlSpace s:LeadingSpace s:HtmlEndline s:firstfold s:foldcolumn
+unlet s:foldstack s:allfolds s:foldId s:numcol
+
+if exists("s:html_dynamic_folds")
+ delfunc s:FoldCompare
+endif
+
+silent! unlet s:html_dynamic_folds s:html_hover_unfold s:html_use_css
+
+let &cpo = s:cpo_sav
+unlet s:cpo_sav
+
+" vim: noet sw=2 sts=2
diff -Nur runtime.patched/syntax/bzr.vim runtime/syntax/bzr.vim
--- runtime.patched/syntax/bzr.vim 2008-07-30 12:47:17.000000000 -0700
+++ runtime/syntax/bzr.vim 2009-01-28 08:23:50.000000000 -0800
@@ -2,9 +2,14 @@
" Language: Bazaar (bzr) commit file
" Maintainer: Dmitry Vasiliev <dima at hlabs dot spb dot ru>
" URL: http://www.hlabs.spb.ru/vim/bzr.vim
-" Revision: $Id: bzr.vim 683 2008-07-30 11:52:38Z hdima $
+" Last Change: 2009-01-27
" Filenames: bzr_log.*
-" Version: 1.1
+" Version: 1.2.1
+"
+" Thanks:
+"
+" Gioele Barabucci
+" for idea of diff highlighting
" For version 5.x: Clear all syntax items.
" For version 6.x: Quit when a syntax file was already loaded.
@@ -14,13 +19,21 @@
finish
endif
-syn region bzrRegion start="^-\{14} This line and the following will be ignored -\{14}$" end="\%$" contains=ALL contains=@NoSpell
+if exists("bzr_highlight_diff")
+ syn include @Diff syntax/diff.vim
+endif
+
syn match bzrRemoved "^removed:$" contained
syn match bzrAdded "^added:$" contained
syn match bzrRenamed "^renamed:$" contained
syn match bzrModified "^modified:$" contained
syn match bzrUnchanged "^unchanged:$" contained
syn match bzrUnknown "^unknown:$" contained
+syn cluster Statuses contains=bzrRemoved,bzrAdded,bzrRenamed,bzrModified,bzrUnchanged,bzrUnknown
+if exists("bzr_highlight_diff")
+ syn cluster Statuses add=@Diff
+endif
+syn region bzrRegion start="^-\{14} This line and the following will be ignored -\{14}$" end="\%$" contains=@NoSpell,@Statuses
" Synchronization.
syn sync clear
@@ -37,7 +50,6 @@
command -nargs=+ HiLink hi def link <args>
endif
- HiLink bzrRegion Comment
HiLink bzrRemoved Constant
HiLink bzrAdded Identifier
HiLink bzrModified Special
diff -Nur runtime.patched/syntax/c.vim runtime/syntax/c.vim
--- runtime.patched/syntax/c.vim 2008-03-19 13:44:52.000000000 -0700
+++ runtime/syntax/c.vim 2009-06-13 05:38:40.000000000 -0700
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: C
" Maintainer: Bram Moolenaar <[email protected]>
-" Last Change: 2008 Mar 19
+" Last Change: 2009 Jun 03
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -16,8 +16,13 @@
syn keyword cTodo contained TODO FIXME XXX
+" It's easy to accidentally add a space after a backslash that was intended
+" for line continuation. Some compilers allow it, which makes it
+" unpredicatable and should be avoided.
+syn match cBadContinuation contained "\\\s\+$"
+
" cCommentGroup allows adding matches for special things in comments
-syn cluster cCommentGroup contains=cTodo
+syn cluster cCommentGroup contains=cTodo,cBadContinuation
" String and Character constants
" Highlight special characters (those which have a backslash) differently
@@ -359,6 +364,7 @@
hi def link cComment Comment
hi def link cSpecial SpecialChar
hi def link cTodo Todo
+hi def link cBadContinuation Error
hi def link cCppSkip cCppOut
hi def link cCppOut2 cCppOut
hi def link cCppOut Comment
diff -Nur runtime.patched/syntax/config.vim runtime/syntax/config.vim
--- runtime.patched/syntax/config.vim 2004-06-07 07:32:35.000000000 -0700
+++ runtime/syntax/config.vim 2008-09-06 05:19:33.000000000 -0700
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: configure.in script: M4 with sh
" Maintainer: Christian Hammesr <[email protected]>
-" Last Change: 2001 May 09
+" Last Change: 2008 Sep 03
" Well, I actually even do not know much about m4. This explains why there
" is probably very much missing here, yet !
@@ -26,7 +26,7 @@
syn keyword configkeyword if then else fi test for in do done
syn keyword configspecial cat rm eval
syn region configstring start=+"+ skip=+\\"+ end=+"+
-syn region configstring start=+`+ skip=+\\'+ end=+'+
+syn region configstring start=+'+ skip=+\\'+ end=+'+
syn region configstring start=+`+ skip=+\\'+ end=+`+
" Define the default highlighting.
diff -Nur runtime.patched/syntax/cs.vim runtime/syntax/cs.vim
--- runtime.patched/syntax/cs.vim 2006-05-03 14:20:02.000000000 -0700
+++ runtime/syntax/cs.vim 2009-09-18 03:28:22.000000000 -0700
@@ -2,7 +2,7 @@
" Language: C#
" Maintainer: Anduin Withers <[email protected]>
" Former Maintainer: Johannes Zellner <[email protected]>
-" Last Change: Sun Apr 30 19:26:18 PDT 2006
+" Last Change: Fri Aug 14 13:56:37 PDT 2009
" Filenames: *.cs
" $Id: cs.vim,v 1.4 2006/05/03 21:20:02 vimboss Exp $
"
@@ -78,8 +78,8 @@
syn cluster xmlTagHook add=csXmlTag
syn match csXmlCommentLeader +\/\/\/+ contained
-syn match csXmlComment +\/\/\/.*$+ contains=csXmlCommentLeader,@csXml
-syntax include @csXml <sfile>:p:h/xml.vim
+syn match csXmlComment +\/\/\/.*$+ contains=csXmlCommentLeader,@csXml,@Spell
+syntax include @csXml syntax/xml.vim
hi def link xmlRegion Comment
@@ -100,7 +100,7 @@
" unicode characters
syn match csUnicodeNumber +\\\(u\x\{4}\|U\x\{8}\)+ contained contains=csUnicodeSpecifier
syn match csUnicodeSpecifier +\\[uU]+ contained
-syn region csVerbatimString start=+@"+ end=+"+ end=+$+ skip=+""+ contains=csVerbatimSpec,@Spell
+syn region csVerbatimString start=+@"+ end=+"+ skip=+""+ contains=csVerbatimSpec,@Spell
syn match csVerbatimSpec +@"+he=s+1 contained
syn region csString start=+"+ end=+"+ end=+$+ contains=csSpecialChar,csSpecialError,csUnicodeNumber,@Spell
syn match csCharacter "'[^']*'" contains=csSpecialChar,csSpecialCharError
diff -Nur runtime.patched/syntax/debchangelog.vim runtime/syntax/debchangelog.vim
--- runtime.patched/syntax/debchangelog.vim 2008-07-06 10:51:40.000000000 -0700
+++ runtime/syntax/debchangelog.vim 2009-09-18 03:28:22.000000000 -0700
@@ -3,7 +3,7 @@
" Maintainer: Debian Vim Maintainers <[email protected]>
" Former Maintainers: Gerfried Fuchs <[email protected]>
" Wichert Akkerman <[email protected]>
-" Last Change: 2008-01-16
+" Last Change: 2009 Jun 05
" URL: http://git.debian.org/?p=pkg-vim/vim.git;a=blob_plain;f=runtime/syntax/debchangelog.vim;hb=debian
" Standard syntax initialization
@@ -17,9 +17,9 @@
syn case ignore
" Define some common expressions we can use later on
-syn match debchangelogName contained "^[[:alpha:]][[:alnum:].+-]\+ "
+syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
syn match debchangelogUrgency contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\="
-syn match debchangelogTarget contained "\v %(%(old)=stable|frozen|unstable|%(testing-|%(old)=stable-)=proposed-updates|experimental|%(sarge|etch|lenny)-%(backports|volatile)|%(testing|%(old)=stable)-security|%(dapper|feisty|gutsy|hardy|intrepid)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
+syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(etch|lenny)-%(backports|volatile)|%(dapper|hardy|intrepid|jaunty|karmic)%(-%(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\+\)*"
diff -Nur runtime.patched/syntax/debcontrol.vim runtime/syntax/debcontrol.vim
--- runtime.patched/syntax/debcontrol.vim 2008-07-06 10:51:40.000000000 -0700
+++ runtime/syntax/debcontrol.vim 2009-09-18 03:30:48.000000000 -0700
@@ -3,7 +3,7 @@
" Maintainer: Debian Vim Maintainers <[email protected]>
" Former Maintainers: Gerfried Fuchs <[email protected]>
" Wichert Akkerman <[email protected]>
-" Last Change: 2008-02-23
+" Last Change: 2009 July 14
" URL: http://git.debian.org/?p=pkg-vim/vim.git;a=blob_plain;f=runtime/ftplugin/debcontrol.vim;hb=debian
" Comments are very welcome - but please make sure that you are commenting on
@@ -28,10 +28,10 @@
syn match debControlSpace " "
" Define some common expressions we can use later on
-syn match debcontrolArchitecture contained "\(all\|any\|alpha\|amd64\|arm\(e[bl]\)\=\|hppa\|i386\|ia64\|m32r\|m68k\|mipsel\|mips\|powerpc\|ppc64\|s390x\=\|sh[34]\(eb\)\=\|sh\|sparc64\|sparc\|hurd-i386\|kfreebsd-\(i386\|gnu\)\|knetbsd-i386\|netbsd-\(alpha\|i386\)\)"
+syn match debcontrolArchitecture contained "\(all\|any\|alpha\|amd64\|arm\(e[bl]\)\=\|avr32\|hppa\|i386\|ia64\|m32r\|m68k\|mipsel\|mips\|powerpc\|ppc64\|s390x\=\|sh[34]\(eb\)\=\|sh\|sparc64\|sparc\|hurd-i386\|kfreebsd-\(i386\|amd64\|gnu\)\|knetbsd-i386\|netbsd-\(alpha\|i386\)\)"
syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+"
syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)"
-syn match debcontrolSection contained "\(\(contrib\|non-free\|non-US/main\|non-US/contrib\|non-US/non-free\|restricted\|universe\|multiverse\)/\)\=\(admin\|base\|comm\|devel\|doc\|editors\|electronics\|embedded\|games\|gnome\|graphics\|hamradio\|interpreters\|kde\|libs\|libdevel\|mail\|math\|misc\|net\|news\|oldlibs\|otherosfs\|perl\|python\|science\|shells\|sound\|text\|tex\|utils\|web\|x11\|debian-installer\)"
+syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|java|kde|kernel|libs|libdevel|lisp|localization|mail|math|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)"
syn match debcontrolPackageType contained "u\?deb"
syn match debcontrolVariable contained "\${.\{-}}"
syn match debcontrolDmUpload contained "\cyes"
@@ -41,7 +41,7 @@
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 "\vgit://[[: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:]]*)?$"
" An email address
syn match debcontrolEmail "[_=[:alnum:]\.+-]\+@[[:alnum:]\./\-]\+"
@@ -53,7 +53,7 @@
syn case ignore
" List of all legal keys
-syn match debcontrolKey contained "^\(Source\|Package\|Section\|Priority\|Maintainer\|Uploaders\|Build-Depends\|Build-Conflicts\|Build-Depends-Indep\|Build-Conflicts-Indep\|Standards-Version\|Pre-Depends\|Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Essential\|Architecture\|Description\|Bugs\|Origin\|Enhances\|Homepage\|\(XS-\)\=Vcs-\(Browser\|Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\)\|XC-Package-Type\|\%(XS-\)\=DM-Upload-Allowed\): *"
+syn match debcontrolKey contained "^\%(Source\|Package\|Section\|Priority\|\%(XSBC-Original-\)\=Maintainer\|Uploaders\|Build-\%(Conflicts\|Depends\)\%(-Indep\)\=\|Standards-Version\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Essential\|Architecture\|Description\|Bugs\|Origin\|X[SB]-Python-Version\|Homepage\|\(XS-\)\=Vcs-\(Browser\|Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\)\|XC-Package-Type\|\%(XS-\)\=DM-Upload-Allowed\): *"
" Fields for which we do strict syntax checking
syn region debcontrolStrictField start="^Architecture" end="$" contains=debcontrolKey,debcontrolArchitecture,debcontrolSpace oneline
@@ -62,15 +62,15 @@
syn region debcontrolStrictField start="^Section" end="$" contains=debcontrolKey,debcontrolSection oneline
syn region debcontrolStrictField start="^XC-Package-Type" end="$" contains=debcontrolKey,debcontrolPackageType oneline
syn region debcontrolStrictField start="^Homepage" end="$" contains=debcontrolKey,debcontrolHTTPUrl oneline keepend
-syn region debcontrolStrictField start="^\%(XS-\)\?Vcs-\%(Browser\|Arch\|Bzr\|Darcs\|Hg\)" end="$" contains=debcontrolKey,debcontrolHTTPUrl oneline keepend
-syn region debcontrolStrictField start="^\%(XS-\)\?Vcs-Svn" end="$" contains=debcontrolKey,debcontrolVcsSvn,debcontrolHTTPUrl oneline keepend
-syn region debcontrolStrictField start="^\%(XS-\)\?Vcs-Cvs" end="$" contains=debcontrolKey,debcontrolVcsCvs oneline keepend
-syn region debcontrolStrictField start="^\%(XS-\)\?Vcs-Git" end="$" contains=debcontrolKey,debcontrolVcsGit oneline keepend
-syn region debcontrolStrictField start="^\%(XS-\)\?DM-Upload-Allowed" end="$" contains=debcontrolKey,debcontrolDmUpload oneline
+syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-\%(Browser\|Arch\|Bzr\|Darcs\|Hg\)" end="$" contains=debcontrolKey,debcontrolHTTPUrl oneline keepend
+syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Svn" end="$" contains=debcontrolKey,debcontrolVcsSvn,debcontrolHTTPUrl oneline keepend
+syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Cvs" end="$" contains=debcontrolKey,debcontrolVcsCvs oneline keepend
+syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Git" end="$" contains=debcontrolKey,debcontrolVcsGit oneline keepend
+syn region debcontrolStrictField start="^\%(XS-\)\=DM-Upload-Allowed" end="$" contains=debcontrolKey,debcontrolDmUpload oneline
" Catch-all for the other legal fields
-syn region debcontrolField start="^\(Maintainer\|Standards-Version\|Essential\|Bugs\|Origin\|X\(S\|B\)-Python-Version\|XSBC-Original-Maintainer\|\(XS-\)\?Vcs-Mtn\):" end="$" contains=debcontrolKey,debcontrolVariable,debcontrolEmail oneline
-syn region debcontrolMultiField start="^\(Build-\(Conflicts\|Depends\)\(-Indep\)\=\|\(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Uploaders\|Description\):" skip="^ " end="^$"me=s-1 end="^[^ ]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable
+syn region debcontrolField start="^\%(\%(XSBC-Original-\)\=Maintainer\|Standards-Version\|Essential\|Bugs\|Origin\|X[SB]-Python-Version\|\%(XS-\)\=Vcs-Mtn\):" end="$" contains=debcontrolKey,debcontrolVariable,debcontrolEmail oneline
+syn region debcontrolMultiField start="^\%(Build-\%(Conflicts\|Depends\)\%(-Indep\)\=\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Uploaders\|Description\):" skip="^ " end="^$"me=s-1 end="^[^ #]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable,debcontrolComment
" Associate our matches and regions with pretty colours
if version >= 508 || !exists("did_debcontrol_syn_inits")
diff -Nur runtime.patched/syntax/debsources.vim runtime/syntax/debsources.vim
--- runtime.patched/syntax/debsources.vim 2008-07-06 10:51:40.000000000 -0700
+++ runtime/syntax/debsources.vim 2009-09-18 03:28:22.000000000 -0700
@@ -2,7 +2,7 @@
" Language: Debian sources.list
" Maintainer: Debian Vim Maintainers <[email protected]>
" Former Maintainer: Matthijs Mohlmann <[email protected]>
-" Last Change: 2008-04-25
+" Last Change: 2009 Apr 17
" URL: http://git.debian.org/?p=pkg-vim/vim.git;a=blob_plain;f=runtime/syntax/debsources.vim;hb=debian
" Standard syntax initialization
@@ -19,11 +19,11 @@
syn match debsourcesKeyword /\(deb-src\|deb\|main\|contrib\|non-free\|restricted\|universe\|multiverse\)/
" Match comments
-syn match debsourcesComment /#.*/
+syn match debsourcesComment /#.*/ contains=@Spell
" Match uri's
syn match debsourcesUri +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++
-syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(sarge\|etch\|lenny\|\(old\)\=stable\|testing\|unstable\|sid\|experimental\|dapper\|feisty\|gutsy\|hardy\|intrepid\)\([-[:alnum:]_./]*\)+
+syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(etch\|lenny\|squeeze\|\(old\)\=stable\|testing\|unstable\|sid\|experimental\|dapper\|hardy\|intrepid\|jaunty\|karmic\)\([-[:alnum:]_./]*\)+
" Associate our matches and regions with pretty colours
hi def link debsourcesLine Error
diff -Nur runtime.patched/syntax/django.vim runtime/syntax/django.vim
--- runtime.patched/syntax/django.vim 2007-05-06 03:32:18.000000000 -0700
+++ runtime/syntax/django.vim 2009-01-14 12:15:05.000000000 -0800
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Django template
" Maintainer: Dave Hodder <[email protected]>
-" Last Change: 2007 Apr 21
+" Last Change: 2008 Dec 18
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -18,8 +18,9 @@
" Django template built-in tags and parameters
" 'comment' doesn't appear here because it gets special treatment
+syn keyword djangoStatement contained autoescape on off endautoescape
syn keyword djangoStatement contained and as block endblock by cycle debug else
-syn keyword djangoStatement contained extends filter endfilter firstof for
+syn keyword djangoStatement contained extends filter endfilter firstof for empty
syn keyword djangoStatement contained endfor if endif ifchanged endifchanged
syn keyword djangoStatement contained ifequal endifequal ifnotequal
syn keyword djangoStatement contained endifnotequal in include load not now or
@@ -35,15 +36,15 @@
" Django templete built-in filters
syn keyword djangoFilter contained add addslashes capfirst center cut date
syn keyword djangoFilter contained default default_if_none dictsort
-syn keyword djangoFilter contained dictsortreversed divisibleby escape
+syn keyword djangoFilter contained dictsortreversed divisibleby escape escapejs
syn keyword djangoFilter contained filesizeformat first fix_ampersands
-syn keyword djangoFilter contained floatformat get_digit join length length_is
+syn keyword djangoFilter contained floatformat force_escape get_digit iriencode join last length length_is
syn keyword djangoFilter contained linebreaks linebreaksbr linenumbers ljust
syn keyword djangoFilter contained lower make_list phone2numeric pluralize
-syn keyword djangoFilter contained pprint random removetags rjust slice slugify
+syn keyword djangoFilter contained pprint random removetags rjust safe slice slugify
syn keyword djangoFilter contained stringformat striptags
syn keyword djangoFilter contained time timesince timeuntil title
-syn keyword djangoFilter contained truncatewords unordered_list upper urlencode
+syn keyword djangoFilter contained truncatewords truncatewords_html unordered_list upper urlencode
syn keyword djangoFilter contained urlize urlizetrunc wordcount wordwrap yesno
" Keywords to highlight within comments
diff -Nur runtime.patched/syntax/dosbatch.vim runtime/syntax/dosbatch.vim
--- runtime.patched/syntax/dosbatch.vim 2008-05-10 13:38:38.000000000 -0700
+++ runtime/syntax/dosbatch.vim 2009-09-18 03:28:22.000000000 -0700
@@ -2,7 +2,7 @@
" Language: MSDOS batch file (with NT command extensions)
" Maintainer: Mike Williams <[email protected]>
" Filenames: *.bat
-" Last Change: 10th May 2008
+" Last Change: 6th September 2009
" Web Page: http://www.eandem.co.uk/mrw/vim
"
" Options Flags:
@@ -36,7 +36,7 @@
syn case match
syn keyword dosbatchOperator EQU NEQ LSS LEQ GTR GEQ
syn case ignore
-syn match dosbatchOperator "\s[-+\*/%]\s"
+syn match dosbatchOperator "\s[-+\*/%!~]\s"
syn match dosbatchOperator "="
syn match dosbatchOperator "[-+\*/%]="
syn match dosbatchOperator "\s\(&\||\|^\|<<\|>>\)=\=\s"
@@ -51,10 +51,10 @@
syn match dosbatchCmd "(\s*'[^']*'"lc=1 contains=dosbatchString,dosbatchVariable,dosBatchArgument,@dosbatchNumber,dosbatchImplicit,dosbatchStatement,dosbatchConditional,dosbatchRepeat,dosbatchOperator
" Numbers - surround with ws to not include in dir and filenames
-syn match dosbatchInteger "[[:space:]=(/:]\d\+"lc=1
-syn match dosbatchHex "[[:space:]=(/:]0x\x\+"lc=1
-syn match dosbatchBinary "[[:space:]=(/:]0b[01]\+"lc=1
-syn match dosbatchOctal "[[:space:]=(/:]0\o\+"lc=1
+syn match dosbatchInteger "[[:space:]=(/:,!~-]\d\+"lc=1
+syn match dosbatchHex "[[:space:]=(/:,!~-]0x\x\+"lc=1
+syn match dosbatchBinary "[[:space:]=(/:,!~-]0b[01]\+"lc=1
+syn match dosbatchOctal "[[:space:]=(/:,!~-]0\o\+"lc=1
syn cluster dosbatchNumber contains=dosbatchInteger,dosbatchHex,dosbatchBinary,dosbatchOctal
" Command line switches
@@ -69,15 +69,15 @@
syn match dosbatchIdentifier contained "\s\h\w*\>"
syn match dosbatchVariable "%\h\w*%"
syn match dosbatchVariable "%\h\w*:\*\=[^=]*=[^%]*%"
-syn match dosbatchVariable "%\h\w*:\~\d\+,\d\+%" contains=dosbatchInteger
+syn match dosbatchVariable "%\h\w*:\~[-]\=\d\+\(,[-]\=\d\+\)\=%" contains=dosbatchInteger
syn match dosbatchVariable "!\h\w*!"
-syn match dosbatchVariable "!\h\w*:\*\=[^=]*=[^%]*!"
-syn match dosbatchVariable "!\h\w*:\~\d\+,\d\+!" contains=dosbatchInteger
+syn match dosbatchVariable "!\h\w*:\*\=[^=]*=[^!]*!"
+syn match dosbatchVariable "!\h\w*:\~[-]\=\d\+\(,[-]\=\d\+\)\=!" contains=dosbatchInteger
syn match dosbatchSet "\s\h\w*[+-]\==\{-1}" contains=dosbatchIdentifier,dosbatchOperator
" Args to bat files and for loops, etc
syn match dosbatchArgument "%\(\d\|\*\)"
-syn match dosbatchArgument "%%[a-z]\>"
+syn match dosbatchArgument "%[a-z]\>"
if dosbatch_cmdextversion == 1
syn match dosbatchArgument "%\~[fdpnxs]\+\(\($PATH:\)\=[a-z]\|\d\)\>"
else
@@ -92,7 +92,9 @@
" Comments - usual rem but also two colons as first non-space is an idiom
syn match dosbatchComment "^rem\($\|\s.*$\)"lc=3 contains=dosbatchTodo,dosbatchSpecialChar,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell
+syn match dosbatchComment "^@rem\($\|\s.*$\)"lc=4 contains=dosbatchTodo,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell
syn match dosbatchComment "\srem\($\|\s.*$\)"lc=4 contains=dosbatchTodo,dosbatchSpecialChar,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell
+syn match dosbatchComment "\s@rem\($\|\s.*$\)"lc=5 contains=dosbatchTodo,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell
syn match dosbatchComment "\s*:\s*:.*$" contains=dosbatchTodo,dosbatchSpecialChar,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell
" Comments in ()'s - still to handle spaces before rem
diff -Nur runtime.patched/syntax/doxygen.vim runtime/syntax/doxygen.vim
--- runtime.patched/syntax/doxygen.vim 2008-07-22 11:41:00.000000000 -0700
+++ runtime/syntax/doxygen.vim 2009-01-28 08:23:36.000000000 -0800
@@ -2,8 +2,8 @@
" Language: doxygen on top of c, cpp, idl, java, php
" Maintainer: Michael Geddes <[email protected]>
" Author: Michael Geddes
-" Last Change: July 2008
-" Version: 1.22
+" Last Change: Jan 2009
+" Version: 1.23
"
" Copyright 2004-2008 Michael Geddes
" Please feel free to use, modify & distribute all or part of this script,
@@ -239,7 +239,7 @@
" #Link hilighting.
syn match doxygenHashLink /\([a-zA-Z_][0-9a-zA-Z_]*\)\?#\(\.[0-9a-zA-Z_]\@=\|[a-zA-Z0-9_]\+\|::\|()\)\+/ contained contains=doxygenHashSpecial
syn match doxygenHashSpecial /#/ contained
- syn match doxygenHyperLink /\(\s\|^\s*\*\?\)\@<=\(http\|https\|ftp\):\/\/[-0-9a-zA-Z_?&=+#%/.!':;@]\+/ contained
+ syn match doxygenHyperLink /\(\s\|^\s*\*\?\)\@<=\(http\|https\|ftp\):\/\/[-0-9a-zA-Z_?&=+#%/.!':;@~]\+/ contained
" Handle \page. This does not use doxygenBrief.
syn match doxygenPage "[\\@]page\>"me=s+1 contained skipwhite nextgroup=doxygenPagePage
diff -Nur runtime.patched/syntax/fortran.vim runtime/syntax/fortran.vim
--- runtime.patched/syntax/fortran.vim 2006-04-22 04:22:12.000000000 -0700
+++ runtime/syntax/fortran.vim 2008-11-06 08:05:04.000000000 -0800
@@ -2,7 +2,7 @@
" Language: Fortran95 (and Fortran90, Fortran77, F and elf90)
" Version: 0.88
" URL: http://www.unb.ca/chem/ajit/syntax/fortran.vim
-" Last Change: 2006 Apr. 22
+" Last Change: 2008 Nov 01
" Maintainer: Ajit J. Thakkar (ajit AT unb.ca); <http://www.unb.ca/chem/ajit/>
" Usage: Do :help fortran-syntax from Vim
" Credits:
@@ -300,7 +300,7 @@
syn match fortranLabelError "^.\{-,4}[^0-9 ]" contains=fortranTab
syn match fortranLabelError "^.\{4}\d\S"
endif
- syn match fortranComment excludenl "^[!c*].*$" contains=@fortranCommentGroup
+ syn match fortranComment excludenl "^[!c*].*$" contains=@fortranCommentGroup,@spell
syn match fortranLeftMargin transparent "^ \{5}"
syn match fortranContinueMark display "^.\{5}\S"lc=5
else
diff -Nur runtime.patched/syntax/fstab.vim runtime/syntax/fstab.vim
--- runtime.patched/syntax/fstab.vim 2008-01-16 12:52:16.000000000 -0800
+++ runtime/syntax/fstab.vim 2009-02-12 14:23:26.000000000 -0800
@@ -2,14 +2,15 @@
" Language: fstab file
" Maintaner: Radu Dineiu <[email protected]>
" URL: http://ld.yi.org/vim/fstab.vim
-" Last Change: 2008 Jan 16
-" Version: 0.92
+" Last Change: 2009 Feb 04
+" Version: 0.93
"
" Credits:
" David Necas (Yeti) <[email protected]>
" Stefano Zacchiroli <[email protected]>
" Georgi Georgiev <[email protected]>
" James Vega <[email protected]>
+" Elias Probst <[email protected]>
"
" Options:
" let fstab_unknown_fs_errors = 1
@@ -46,7 +47,7 @@
" 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 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 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
" Options
" -------
@@ -91,7 +92,21 @@
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
+syn keyword fsOptionsKeywords contained noload user_xattr nouser_xattr acl noacl
+
+" Options: ext4
+syn match fsOptionsKeywords contained /\<journal=/ nextgroup=fsOptionsExt4Journal
+syn match fsOptionsKeywords contained /\<data=/ nextgroup=fsOptionsExt4Data
+syn match fsOptionsKeywords contained /\<barrier=/ nextgroup=fsOptionsExt4Barrier
+syn match fsOptionsKeywords contained /\<journal_dev=/ nextgroup=fsOptionsNumber
+syn match fsOptionsKeywords contained /\<resuid=/ nextgroup=fsOptionsNumber
+syn match fsOptionsKeywords contained /\<resgid=/ nextgroup=fsOptionsNumber
+syn match fsOptionsKeywords contained /\<sb=/ nextgroup=fsOptionsNumber
+syn match fsOptionsKeywords contained /\<commit=/ nextgroup=fsOptionsNumber
+syn keyword fsOptionsExt4Journal contained update inum
+syn keyword fsOptionsExt4Data contained journal ordered writeback
+syn match fsOptionsExt4Barrier /[0-1]/
+syn keyword fsOptionsKeywords contained noload extents orlov oldalloc user_xattr nouser_xattr acl noacl reservation noreservation bsddf minixdf check=none nocheck debug grpid nogroupid sysvgroups bsdgroups quota noquota grpquota usrquota bh nobh
" Options: fat
syn match fsOptionsKeywords contained /\<blocksize=/ nextgroup=fsOptionsSize
@@ -241,6 +256,9 @@
HiLink fsOptionsExt2Errors String
HiLink fsOptionsExt3Journal String
HiLink fsOptionsExt3Data String
+ HiLink fsOptionsExt4Journal String
+ HiLink fsOptionsExt4Data String
+ HiLink fsOptionsExt4Barrier Number
HiLink fsOptionsFatCheck String
HiLink fsOptionsConv String
HiLink fsOptionsFatType Number
diff -Nur runtime.patched/syntax/gdb.vim runtime/syntax/gdb.vim
--- runtime.patched/syntax/gdb.vim 2004-06-07 07:32:35.000000000 -0700
+++ runtime/syntax/gdb.vim 2009-06-03 03:05:43.000000000 -0700
@@ -2,7 +2,7 @@
" Language: GDB command files
" Maintainer: Claudio Fleiner <[email protected]>
" URL: http://www.fleiner.com/vim/syntax/gdb.vim
-" Last Change: 2003 Jan 04
+" Last Change: 2009 May 25
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -35,7 +35,7 @@
" some commonly used abreviations
syn keyword gdbStatement c disp undisp disas p
-syn region gdbDocument matchgroup=gdbFuncDef start="\<document\>.*$" matchgroup=gdbFuncDef end="^end$"
+syn region gdbDocument matchgroup=gdbFuncDef start="\<document\>.*$" matchgroup=gdbFuncDef end="^end\s*$"
syn match gdbStatement "\<add-shared-symbol-files\>"
syn match gdbStatement "\<add-symbol-file\>"
diff -Nur runtime.patched/syntax/haskell.vim runtime/syntax/haskell.vim
--- runtime.patched/syntax/haskell.vim 2004-06-07 07:32:35.000000000 -0700
+++ runtime/syntax/haskell.vim 2009-01-14 12:15:20.000000000 -0800
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Haskell
" Maintainer: Haskell Cafe mailinglist <[email protected]>
-" Last Change: 2004 Feb 23
+" Last Change: 2008 Dec 15
" Original Author: John Williams <[email protected]>
"
" Thanks to Ryan Crumley for suggestions and John Meacham for
@@ -30,6 +30,7 @@
" in eol comment character class
" 2004 Feb 23: Made the leading comments somewhat clearer where it comes
" to attribution of work.
+" 2008 Dec 15: Added comments as contained element in import statements
" Remove any old syntax stuff hanging around
if version < 600
@@ -67,7 +68,7 @@
" because otherwise they would match as keywords at the start of a
" "literate" comment (see lhs.vim).
syn match hsModule "\<module\>"
-syn match hsImport "\<import\>.*"he=s+6 contains=hsImportMod
+syn match hsImport "\<import\>.*"he=s+6 contains=hsImportMod,hsLineComment,hsBlockComment
syn match hsImportMod contained "\<\(as\|qualified\|hiding\)\>"
syn match hsInfix "\<\(infix\|infixl\|infixr\)\>"
syn match hsStructure "\<\(class\|data\|deriving\|instance\|default\|where\)\>"
diff -Nur runtime.patched/syntax/help.vim runtime/syntax/help.vim
--- runtime.patched/syntax/help.vim 2006-05-12 23:42:22.000000000 -0700
+++ runtime/syntax/help.vim 2009-06-03 03:07:39.000000000 -0700
@@ -1,14 +1,14 @@
" Vim syntax file
" Language: Vim help file
" Maintainer: Bram Moolenaar ([email protected])
-" Last Change: 2006 May 13
+" Last Change: 2009 May 18
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
finish
endif
-syn match helpHeadline "^[-A-Z .]\+[ \t]\+\*"me=e-1
+syn match helpHeadline "^[-A-Z .][-A-Z0-9 .()]*[ \t]\+\*"me=e-1
syn match helpSectionDelim "^=\{3,}.*===$"
syn match helpSectionDelim "^-\{3,}.*--$"
syn region helpExample matchgroup=helpIgnore start=" >$" start="^>$" end="^[^ \t]"me=e-1 end="^<"
diff -Nur runtime.patched/syntax/java.vim runtime/syntax/java.vim
--- runtime.patched/syntax/java.vim 2007-12-20 15:14:48.000000000 -0800
+++ runtime/syntax/java.vim 2009-03-22 12:39:44.000000000 -0700
@@ -2,7 +2,7 @@
" Language: Java
" Maintainer: Claudio Fleiner <[email protected]>
" URL: http://www.fleiner.com/vim/syntax/java.vim
-" Last Change: 2007 Dec 21
+" Last Change: 2009 Mar 14
" Please check :help java.vim for comments on some of the options available.
@@ -15,6 +15,7 @@
endif
" we define it here so that included files can test for it
let main_syntax='java'
+ syn region javaFold start="{" end="}" transparent fold
endif
" don't use standard HiLink, it will not work with included syntax files
@@ -58,7 +59,7 @@
syn keyword javaClassDecl enum
syn match javaClassDecl "^class\>"
syn match javaClassDecl "[^.]\s*\<class\>"ms=s+1
-syn match javaAnnotation "@[_$a-zA-Z][_$a-zA-Z0-9_]*\>"
+syn match javaAnnotation "@\([_$a-zA-Z][_$a-zA-Z0-9]*\.\)*[_$a-zA-Z][_$a-zA-Z0-9]*\>"
syn match javaClassDecl "@interface\>"
syn keyword javaBranch break continue nextgroup=javaUserLabelRef skipwhite
syn match javaUserLabelRef "\k\+" contained
@@ -121,11 +122,6 @@
syn keyword javaLabel default
if !exists("java_allow_cpp_keywords")
- " The default used to be to highlight C++ keywords. But several people
- " don't like that, so default to not highlighting these.
- let java_allow_cpp_keywords = 1
-endif
-if !java_allow_cpp_keywords
syn keyword javaError auto delete extern friend inline redeclared
syn keyword javaError register signed sizeof struct template typedef union
syn keyword javaError unsigned operator
@@ -161,6 +157,11 @@
" syntax coloring for javadoc comments (HTML)
syntax include @javaHtml <sfile>:p:h/html.vim
unlet b:current_syntax
+ " HTML enables spell checking for all text that is not in a syntax item. This
+ " is wrong for Java (all identifiers would be spell-checked), so it's undone
+ " here.
+ syntax spell default
+
syn region javaDocComment start="/\*\*" end="\*/" keepend contains=javaCommentTitle,@javaHtml,javaDocTags,javaDocSeeTag,javaTodo,@Spell
syn region javaCommentTitle contained matchgroup=javaDocComment start="/\*\*" matchgroup=javaCommentTitle keepend end="\.$" end="\.[ \t\r<&]"me=e-1 end="[^{]@"me=s-2,he=s-1 end="\*/"me=s-1,he=s-1 contains=@javaHtml,javaCommentStar,javaTodo,@Spell,javaDocTags,javaDocSeeTag
@@ -179,7 +180,7 @@
" Strings and constants
syn match javaSpecialError contained "\\."
syn match javaSpecialCharError contained "[^']"
-syn match javaSpecialChar contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)"
+syn match javaSpecialChar contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\+\x\{4\}\)"
syn region javaString start=+"+ end=+"+ end=+$+ contains=javaSpecialChar,javaSpecialError,@Spell
" next line disabled, it can cause a crash for a long line
"syn match javaStringError +"\([^"\\]\|\\.\)*$+
@@ -192,7 +193,7 @@
syn match javaNumber "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"
" unicode characters
-syn match javaSpecial "\\u\d\{4\}"
+syn match javaSpecial "\\u\+\d\{4\}"
syn cluster javaTop add=javaString,javaCharacter,javaNumber,javaSpecial,javaStringError
diff -Nur runtime.patched/syntax/kconfig.vim runtime/syntax/kconfig.vim
--- runtime.patched/syntax/kconfig.vim 2006-04-19 13:49:04.000000000 -0700
+++ runtime/syntax/kconfig.vim 2009-06-03 03:05:43.000000000 -0700
@@ -1,6 +1,6 @@
" Vim syntax file
" Maintainer: Nikolai Weibull <[email protected]>
-" Latest Revision: 2006-04-14
+" Latest Revision: 2009-05-25
if exists("b:current_syntax")
finish
@@ -666,9 +666,9 @@
syn match kconfigComment display '#.*$' contains=kconfigTodo
-syn keyword kconfigKeyword config menuconfig comment menu mainmenu
+syn keyword kconfigKeyword config menuconfig comment mainmenu
-syn keyword kconfigConditional choice endchoice if endif
+syn keyword kconfigConditional menu endmenu choice endchoice if endif
syn keyword kconfigPreProc source
\ nextgroup=kconfigPath
diff -Nur runtime.patched/syntax/lex.vim runtime/syntax/lex.vim
--- runtime.patched/syntax/lex.vim 2005-09-06 10:27:26.000000000 -0700
+++ runtime/syntax/lex.vim 2009-10-08 14:18:57.000000000 -0700
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: Lex
-" Maintainer: Dr. Charles E. Campbell, Jr. <[email protected]>
-" Last Change: Sep 06, 2005
-" Version: 7
+" Maintainer: Charles E. Campbell, Jr. <[email protected]>
+" Last Change: Sep 11, 2009
+" Version: 10
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
"
" Option:
@@ -16,7 +16,7 @@
finish
endif
-" Read the C syntax to start with
+" Read the C/C++ syntax to start with
if version >= 600
if exists("lex_uses_cpp")
runtime! syntax/cpp.vim
@@ -36,32 +36,60 @@
" --- Lex stuff ---
" --- ========= ---
-"I'd prefer to use lex.* , but it doesn't handle forward definitions yet
+"I'd prefer to use lex.* , but vim doesn't handle forward definitions yet
syn cluster lexListGroup contains=lexAbbrvBlock,lexAbbrv,lexAbbrv,lexAbbrvRegExp,lexInclude,lexPatBlock,lexPat,lexBrace,lexPatString,lexPatTag,lexPatTag,lexPatComment,lexPatCodeLine,lexMorePat,lexPatSep,lexSlashQuote,lexPatCode,cInParen,cUserLabel,cOctalZero,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCppOut2,cCommentStartError,cParenError
-syn cluster lexListPatCodeGroup contains=lexAbbrvBlock,lexAbbrv,lexAbbrv,lexAbbrvRegExp,lexInclude,lexPatBlock,lexPat,lexBrace,lexPatTag,lexPatTag,lexPatComment,lexPatCodeLine,lexMorePat,lexPatSep,lexSlashQuote,cInParen,cUserLabel,cOctalZero,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCppOut2,cCommentStartError,cParenError
+syn cluster lexListPatCodeGroup contains=lexAbbrvBlock,lexAbbrv,lexAbbrv,lexAbbrvRegExp,lexInclude,lexPatBlock,lexPat,lexBrace,lexPatTag,lexPatTag,lexPatTagZoneStart,lexPatComment,lexPatCodeLine,lexMorePat,lexPatSep,lexSlashQuote,cInParen,cUserLabel,cOctalZero,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCppOut2,cCommentStartError,cParenError
" Abbreviations Section
-syn region lexAbbrvBlock start="^\(\h\+\s\|%{\)" end="^\ze%%$" skipnl nextgroup=lexPatBlock contains=lexAbbrv,lexInclude,lexAbbrvComment,lexStartState
+if has("folding")
+ syn region lexAbbrvBlock fold start="^\(\h\+\s\|%{\)" end="^\ze%%$" skipnl nextgroup=lexPatBlock contains=lexAbbrv,lexInclude,lexAbbrvComment,lexStartState
+else
+ syn region lexAbbrvBlock start="^\(\h\+\s\|%{\)" end="^\ze%%$" skipnl nextgroup=lexPatBlock contains=lexAbbrv,lexInclude,lexAbbrvComment,lexStartState
+endif
syn match lexAbbrv "^\I\i*\s"me=e-1 skipwhite contained nextgroup=lexAbbrvRegExp
syn match lexAbbrv "^%[sx]" contained
syn match lexAbbrvRegExp "\s\S.*$"lc=1 contained nextgroup=lexAbbrv,lexInclude
-syn region lexInclude matchgroup=lexSep start="^%{" end="%}" contained contains=ALLBUT,@lexListGroup
-syn region lexAbbrvComment start="^\s\+/\*" end="\*/" contains=@Spell
-syn region lexStartState matchgroup=lexAbbrv start="^%\a\+" end="$" contained
+if has("folding")
+ syn region lexInclude fold matchgroup=lexSep start="^%{" end="%}" contained contains=ALLBUT,@lexListGroup
+ syn region lexAbbrvComment fold start="^\s\+/\*" end="\*/" contains=@Spell
+ syn region lexStartState fold matchgroup=lexAbbrv start="^%\a\+" end="$" contained
+else
+ syn region lexInclude matchgroup=lexSep start="^%{" end="%}" contained contains=ALLBUT,@lexListGroup
+ syn region lexAbbrvComment start="^\s\+/\*" end="\*/" contains=@Spell
+ syn region lexStartState matchgroup=lexAbbrv start="^%\a\+" end="$" contained
+endif
"%% : Patterns {Actions}
-syn region lexPatBlock matchgroup=Todo start="^%%$" matchgroup=Todo end="^%%$" skipnl skipwhite contains=lexPat,lexPatTag,lexPatComment
-syn region lexPat start=+\S+ skip="\\\\\|\\." end="\s"me=e-1 contained nextgroup=lexMorePat,lexPatSep contains=lexPatString,lexSlashQuote,lexBrace
-syn region lexBrace start="\[" skip=+\\\\\|\\+ end="]" contained
-syn region lexPatString matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
-syn match lexPatTag "^<\I\i*\(,\I\i*\)*>*" contained nextgroup=lexPat,lexPatTag,lexMorePat,lexPatSep
+if has("folding")
+ syn region lexPatBlock fold matchgroup=Todo start="^%%$" matchgroup=Todo end="^%%$" skipnl skipwhite contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat
+ syn region lexPat fold start=+\S+ skip="\\\\\|\\." end="\s"me=e-1 contained nextgroup=lexMorePat,lexPatSep contains=lexPatTag,lexPatString,lexSlashQuote,lexBrace
+ syn region lexBrace fold start="\[" skip=+\\\\\|\\+ end="]" contained
+ syn region lexPatString fold matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
+else
+ syn region lexPatBlock matchgroup=Todo start="^%%$" matchgroup=Todo end="^%%$" skipnl skipwhite contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat
+ syn region lexPat start=+\S+ skip="\\\\\|\\." end="\s"me=e-1 contained nextgroup=lexMorePat,lexPatSep contains=lexPatTag,lexPatString,lexSlashQuote,lexBrace
+ syn region lexBrace start="\[" skip=+\\\\\|\\+ end="]" contained
+ syn region lexPatString matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
+endif
+syn match lexPatTag "^<\I\i*\(,\I\i*\)*>" contained nextgroup=lexPat,lexPatTag,lexMorePat,lexPatSep
+syn match lexPatTagZone "^<\I\i*\(,\I\i*\)*>\s*\ze{" contained nextgroup=lexPatTagZoneStart
syn match lexPatTag +^<\I\i*\(,\I\i*\)*>*\(\\\\\)*\\"+ contained nextgroup=lexPat,lexPatTag,lexMorePat,lexPatSep
-syn region lexPatComment start="^\s*/\*" end="\*/" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
+if has("folding")
+ syn region lexPatTagZoneStart matchgroup=lexPatTag fold start='{' end='}' contained contains=lexPat,lexPatComment
+ syn region lexPatComment start="\s\+/\*" end="\*/" fold skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
+else
+ syn region lexPatTagZoneStart matchgroup=lexPatTag start='{' end='}' contained contains=lexPat,lexPatComment
+ syn region lexPatComment start="\s\+/\*" end="\*/" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
+endif
syn match lexPatCodeLine ".*$" contained contains=ALLBUT,@lexListGroup
syn match lexMorePat "\s*|\s*$" skipnl contained nextgroup=lexPat,lexPatTag,lexPatComment
syn match lexPatSep "\s\+" contained nextgroup=lexMorePat,lexPatCode,lexPatCodeLine
syn match lexSlashQuote +\(\\\\\)*\\"+ contained
-syn region lexPatCode matchgroup=Delimiter start="{" matchgroup=Delimiter end="}" skipnl contained contains=ALLBUT,@lexListPatCodeGroup
+if has("folding")
+ syn region lexPatCode matchgroup=Delimiter start="{" end="}" fold skipnl contained contains=ALLBUT,@lexListPatCodeGroup
+else
+ syn region lexPatCode matchgroup=Delimiter start="{" end="}" skipnl contained contains=ALLBUT,@lexListPatCodeGroup
+endif
syn keyword lexCFunctions BEGIN input unput woutput yyleng yylook yytext
syn keyword lexCFunctions ECHO output winput wunput yyless yymore yywrap
@@ -80,9 +108,10 @@
syn sync match lexSyncPat groupthere lexPatBlock "^%%$"
" The default highlighting.
-hi def link lexSlashQuote lexPat
-hi def link lexBrace lexPat
hi def link lexAbbrvComment lexPatComment
+hi def link lexBrace lexPat
+hi def link lexPatTagZone lexPatTag
+hi def link lexSlashQuote lexPat
hi def link lexAbbrvRegExp Macro
hi def link lexAbbrv SpecialChar
diff -Nur runtime.patched/syntax/lhaskell.vim runtime/syntax/lhaskell.vim
--- runtime.patched/syntax/lhaskell.vim 2008-07-01 10:47:29.000000000 -0700
+++ runtime/syntax/lhaskell.vim 2009-05-14 11:53:07.000000000 -0700
@@ -4,8 +4,8 @@
" \begin{code} \end{code} blocks
" Maintainer: Haskell Cafe mailinglist <[email protected]>
" Original Author: Arthur van Leeuwen <[email protected]>
-" Last Change: 2008 Jul 01
-" Version: 1.02
+" Last Change: 2009 May 08
+" Version: 1.04
"
" Thanks to Ian Lynagh for thoughtful comments on initial versions and
" for the inspiration for writing this in the first place.
@@ -29,8 +29,10 @@
" 2004 February 20: Cleaned up the guessing and overriding a bit
" 2004 February 23: Cleaned up syntax highlighting for \begin{code} and
" \end{code}, added some clarification to the attributions
-" 2008 July 1: Removed % from guess list, as it totally breaks plain
-" text markup guessing
+" 2008 July 1: Removed % from guess list, as it totally breaks plain
+" text markup guessing
+" 2009 April 29: Fixed highlighting breakage in TeX mode,
+" thanks to Kalman Noel
"
@@ -73,14 +75,14 @@
" - \begin{env} (for env != code)
" - \part, \chapter, \section, \subsection, \subsubsection, etc
if b:lhs_markup == "unknown"
- if search('\\documentclass\|\\begin{\(code}\)\@!\|\\\(sub \)*section\|\\chapter|\\part','W') != 0
+ if search('\\documentclass\|\\begin{\(code}\)\@!\|\\\(sub\)*section\|\\chapter|\\part','W') != 0
let b:lhs_markup = "tex"
else
let b:lhs_markup = "plain"
endif
endif
-" If user wants us to highlight TeX syntax or guess thinks it's TeX, read it.
+" If user wants us to highlight TeX syntax or guess thinks it's TeX, read it.
if b:lhs_markup == "tex"
if version < 600
source <sfile>:p:h/tex.vim
@@ -91,6 +93,9 @@
" Tex.vim removes "_" from 'iskeyword', but we need it for Haskell.
setlocal isk+=_
endif
+ syntax cluster lhsTeXContainer contains=tex.*Zone,texAbstract
+else
+ syntax cluster lhsTeXContainer contains=.*
endif
" Literate Haskell is Haskell in between text, so at least read Haskell
@@ -101,8 +106,8 @@
syntax include @haskellTop syntax/haskell.vim
endif
-syntax region lhsHaskellBirdTrack start="^>" end="\%(^[^>]\)\@=" contains=@haskellTop,lhsBirdTrack
-syntax region lhsHaskellBeginEndBlock start="^\\begin{code}\s*$" matchgroup=NONE end="\%(^\\end{code}.*$\)\@=" contains=@haskellTop,@beginCode
+syntax region lhsHaskellBirdTrack start="^>" end="\%(^[^>]\)\@=" contains=@haskellTop,lhsBirdTrack containedin=@lhsTeXContainer
+syntax region lhsHaskellBeginEndBlock start="^\\begin{code}\s*$" matchgroup=NONE end="\%(^\\end{code}.*$\)\@=" contains=@haskellTop,@beginCode containedin=@lhsTeXContainer
syntax match lhsBirdTrack "^>" contained
diff -Nur runtime.patched/syntax/lilo.vim runtime/syntax/lilo.vim
--- runtime.patched/syntax/lilo.vim 2004-07-20 10:53:05.000000000 -0700
+++ runtime/syntax/lilo.vim 2009-01-28 08:24:01.000000000 -0800
@@ -1,10 +1,8 @@
" Vim syntax file
-" This is a GENERATED FILE. Please always refer to source file at the URI below.
" Language: lilo configuration (lilo.conf)
-" Maintainer: David Ne\v{c}as (Yeti) <[email protected]>
-" Last Change: 2004-07-20
-" URL: http://trific.ath.cx/Ftp/vim/syntax/lilo.vim
-
+" Maintainer: help wanted!
+" Previous Maintainer: David Necas (Yeti) <[email protected]>
+" Last Change: 2009-01-27
" Setup
if version >= 600
@@ -64,7 +62,7 @@
" String
syn keyword liloOption menu-title nextgroup=liloEqString,liloEqStringComment,liloError skipwhite skipempty
-syn keyword liloKernelOpt append nextgroup=liloEqString,liloEqStringComment,liloError skipwhite skipempty
+syn keyword liloKernelOpt append addappend nextgroup=liloEqString,liloEqStringComment,liloError skipwhite skipempty
syn keyword liloImageOpt fallback literal nextgroup=liloEqString,liloEqStringComment,liloError skipwhite skipempty
" Hex number
diff -Nur runtime.patched/syntax/lisp.vim runtime/syntax/lisp.vim
--- runtime.patched/syntax/lisp.vim 2007-11-14 08:37:14.000000000 -0800
+++ runtime/syntax/lisp.vim 2009-03-22 12:39:57.000000000 -0700
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: Lisp
" Maintainer: Dr. Charles E. Campbell, Jr. <[email protected]>
-" Last Change: Oct 19, 2007
-" Version: 20
+" Last Change: Mar 05, 2009
+" Version: 21
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
"
" Thanks to F Xavier Noria for a list of 978 Common Lisp symbols
@@ -534,7 +534,8 @@
" ---------------------------------------------------------------------
" Numbers: supporting integers and floating point numbers {{{1
-syn match lispNumber "-\=\(\.\d\+\|\d\+\(\.\d*\)\=\)\(e[-+]\=\d\+\)\="
+syn match lispNumber "-\=\(\.\d\+\|\d\+\(\.\d*\)\=\)\([dDeEfFlL][-+]\=\d\+\)\="
+syn match lispNumber "-\=\(\d\+/\d\+\)"
syn match lispSpecial "\*\w[a-z_0-9-]*\*"
syn match lispSpecial !#|[^()'`,"; \t]\+|#!
diff -Nur runtime.patched/syntax/logtalk.vim runtime/syntax/logtalk.vim
--- runtime.patched/syntax/logtalk.vim 2008-07-06 11:09:17.000000000 -0700
+++ runtime/syntax/logtalk.vim 2008-11-06 08:05:14.000000000 -0800
@@ -2,7 +2,7 @@
"
" Language: Logtalk
" Maintainer: Paulo Moura <[email protected]>
-" Last Change: June 16, 2008
+" Last Change: Oct 31, 2008
" Quit when a syntax file was already loaded:
@@ -51,9 +51,9 @@
" Logtalk opening entity directives
-syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- object(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkString,logtalkAtom,logtalkEntityRel
-syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- protocol(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkEntityRel
-syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- category(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkEntityRel
+syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- object(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkString,logtalkAtom,logtalkEntityRel,logtalkLineComment
+syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- protocol(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkEntityRel,logtalkLineComment
+syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- category(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkEntityRel,logtalkLineComment
" Logtalk closing entity directives
diff -Nur runtime.patched/syntax/mail.vim runtime/syntax/mail.vim
--- runtime.patched/syntax/mail.vim 2008-01-18 04:28:18.000000000 -0800
+++ runtime/syntax/mail.vim 2008-11-09 05:12:28.000000000 -0800
@@ -2,7 +2,7 @@
" Language: Mail file
" Previous Maintainer: Felix von Leitner <[email protected]>
" Maintainer: Gautam Iyer <[email protected]>
-" Last Change: Thu 17 Jan 2008 11:25:44 AM PST
+" Last Change: Thu 06 Nov 2008 10:10:55 PM PST
" Quit when a syntax file was already loaded
if exists("b:current_syntax")
@@ -24,28 +24,35 @@
" emails
" According to RFC 2822 any printable ASCII character can appear in a field
" name, except ':'.
-syn region mailHeader contains=@mailHeaderFields,@NoSpell start="^From .*\d\d\d\d$" skip="^\s" end="\v^[!-9;-~]*([^!-~]|$)"me=s-1
+syn region mailHeader contains=@mailHeaderFields,@NoSpell start="^From .*\d\d\d\d$" skip="^\s" end="\v^[!-9;-~]*([^!-~]|$)"me=s-1 fold
syn match mailHeaderKey contained contains=mailEmail,@NoSpell "^From\s.*\d\d\d\d$"
+
+" Nothing else depends on case.
+syn case ignore
+
+" Headers in properly quoted (with "> " or ">") emails are matched
+syn region mailHeader keepend contains=@mailHeaderFields,@mailQuoteExps,@NoSpell start="^\z(\(> \?\)*\)\v(newsgroups|x-([a-z\-])*|path|xref|message-id|from|((in-)?reply-)?to|b?cc|subject|return-path|received|date|replied):" skip="^\z1\s" end="\v^\z1[!-9;-~]*([^!-~]|$)"me=s-1 end="\v^\z1@!"me=s-1 end="\v^\z1(\> ?)+"me=s-1 fold
+
" Usenet headers
syn match mailHeaderKey contained contains=mailHeaderEmail,mailEmail,@NoSpell "\v(^(\> ?)*)@<=(Newsgroups|Followup-To|Message-ID|Supersedes|Control):.*$"
-syn case ignore
-" Nothing else depends on case. Headers in properly quoted (with "> " or ">")
-" emails are matched
-syn region mailHeader keepend contains=@mailHeaderFields,@mailQuoteExps,@NoSpell start="^\z(\(> \?\)*\)\v(newsgroups|x-([a-z\-])*|path|xref|message-id|from|((in-)?reply-)?to|b?cc|subject|return-path|received|date|replied):" skip="^\z1\s" end="\v^\z1[!-9;-~]*([^!-~]|$)"me=s-1 end="\v^\z1@!"me=s-1 end="\v^\z1(\> ?)+"me=s-1
syn region mailHeaderKey contained contains=mailHeaderEmail,mailEmail,@mailQuoteExps,@NoSpell start="\v(^(\> ?)*)@<=(to|b?cc):" skip=",$" end="$"
-syn match mailHeaderKey contained contains=mailHeaderEmail,mailEmail,@NoSpell "\v(^(\> ?)*)@<=(from|reply-to):.*$"
+syn match mailHeaderKey contained contains=mailHeaderEmail,mailEmail,@NoSpell "\v(^(\> ?)*)@<=(from|reply-to):.*$" fold
syn match mailHeaderKey contained contains=@NoSpell "\v(^(\> ?)*)@<=date:"
-syn match mailSubject contained "\v^subject:.*$"
+syn match mailSubject contained "\v^subject:.*$" fold
syn match mailSubject contained contains=@NoSpell "\v(^(\> ?)+)@<=subject:.*$"
" Anything in the header between < and > is an email address
syn match mailHeaderEmail contained contains=@NoSpell "<.\{-}>"
" Mail Signatures. (Begin with "-- ", end with change in quote level)
-syn region mailSignature keepend contains=@mailLinks,@mailQuoteExps start="^--\s$" end="^$" end="^\(> \?\)\+"me=s-1
-syn region mailSignature keepend contains=@mailLinks,@mailQuoteExps,@NoSpell start="^\z(\(> \?\)\+\)--\s$" end="^\z1$" end="^\z1\@!"me=s-1 end="^\z1\(> \?\)\+"me=s-1
+syn region mailSignature keepend contains=@mailLinks,@mailQuoteExps start="^--\s$" end="^$" end="^\(> \?\)\+"me=s-1 fold
+syn region mailSignature keepend contains=@mailLinks,@mailQuoteExps,@NoSpell start="^\z(\(> \?\)\+\)--\s$" end="^\z1$" end="^\z1\@!"me=s-1 end="^\z1\(> \?\)\+"me=s-1 fold
+
+" Treat verbatim Text special.
+syn region mailVerbatim contains=@NoSpell keepend start="^#v+$" end="^#v-$" fold
+syn region mailVerbatim contains=@mailQuoteExps,@NoSpell start="^\z(\(> \?\)\+\)#v+$" end="\z1#v-$" fold
" URLs start with a known protocol or www,web,w3.
syn match mailURL contains=@NoSpell `\v<(((https?|ftp|gopher)://|(mailto|file|news):)[^' <>"]+|(www|web|w3)[a-z0-9_-]*\.[a-z0-9._-]+\.[^' <>"]+)[a-z0-9/]`
@@ -59,13 +66,13 @@
syn match mailQuoteExp5 contained "\v^(\> ?){5}"
syn match mailQuoteExp6 contained "\v^(\> ?){6}"
-" Even and odd quoted lines. order is imporant here!
-syn match mailQuoted1 contains=mailHeader,@mailLinks,mailSignature,@NoSpell "^\([a-z]\+>\|[]|}>]\).*$"
-syn match mailQuoted2 contains=mailHeader,@mailLinks,mailSignature,@NoSpell "^\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{2}.*$"
-syn match mailQuoted3 contains=mailHeader,@mailLinks,mailSignature,@NoSpell "^\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{3}.*$"
-syn match mailQuoted4 contains=mailHeader,@mailLinks,mailSignature,@NoSpell "^\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{4}.*$"
-syn match mailQuoted5 contains=mailHeader,@mailLinks,mailSignature,@NoSpell "^\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{5}.*$"
-syn match mailQuoted6 contains=mailHeader,@mailLinks,mailSignature,@NoSpell "^\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{6}.*$"
+" Even and odd quoted lines. Order is important here!
+syn region mailQuoted6 keepend contains=mailVerbatim,mailHeader,@mailLinks,mailSignature,@NoSpell start="^\z(\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{5}\([a-z]\+>\|[]|}>]\)\)" end="^\z1\@!" fold
+syn region mailQuoted5 keepend contains=mailQuoted6,mailVerbatim,mailHeader,@mailLinks,mailSignature,@NoSpell start="^\z(\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{4}\([a-z]\+>\|[]|}>]\)\)" end="^\z1\@!" fold
+syn region mailQuoted4 keepend contains=mailQuoted5,mailQuoted6,mailVerbatim,mailHeader,@mailLinks,mailSignature,@NoSpell start="^\z(\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{3}\([a-z]\+>\|[]|}>]\)\)" end="^\z1\@!" fold
+syn region mailQuoted3 keepend contains=mailQuoted4,mailQuoted5,mailQuoted6,mailVerbatim,mailHeader,@mailLinks,mailSignature,@NoSpell start="^\z(\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{2}\([a-z]\+>\|[]|}>]\)\)" end="^\z1\@!" fold
+syn region mailQuoted2 keepend contains=mailQuoted3,mailQuoted4,mailQuoted5,mailQuoted6,mailVerbatim,mailHeader,@mailLinks,mailSignature,@NoSpell start="^\z(\(\([a-z]\+>\|[]|}>]\)[ \t]*\)\{1}\([a-z]\+>\|[]|}>]\)\)" end="^\z1\@!" fold
+syn region mailQuoted1 keepend contains=mailQuoted2,mailQuoted3,mailQuoted4,mailQuoted5,mailQuoted6,mailVerbatim,mailHeader,@mailLinks,mailSignature,@NoSpell start="^\z([a-z]\+>\|[]|}>]\)" end="^\z1\@!" fold
" Need to sync on the header. Assume we can do that within 100 lines
if exists("mail_minlines")
@@ -75,6 +82,7 @@
endif
" Define the default highlighting.
+hi def link mailVerbatim Special
hi def link mailHeader Statement
hi def link mailHeaderKey Type
hi def link mailSignature PreProc
diff -Nur runtime.patched/syntax/man.vim runtime/syntax/man.vim
--- runtime.patched/syntax/man.vim 2007-12-30 05:19:15.000000000 -0800
+++ runtime/syntax/man.vim 2008-09-18 11:56:38.000000000 -0700
@@ -1,9 +1,9 @@
" Vim syntax file
" Language: Man page
-" Maintainer: Nam SungHyun <[email protected]>
+" Maintainer: SungHyun Nam <[email protected]>
" Previous Maintainer: Gautam H. Mudunuri <[email protected]>
" Version Info:
-" Last Change: 2007 Dec 30
+" Last Change: 2008 Sep 17
" Additional highlighting by Johannes Tanzler <[email protected]>:
" * manSubHeading
diff -Nur runtime.patched/syntax/matlab.vim runtime/syntax/matlab.vim
--- runtime.patched/syntax/matlab.vim 2004-06-07 07:32:35.000000000 -0700
+++ runtime/syntax/matlab.vim 2009-09-18 03:30:32.000000000 -0700
@@ -1,8 +1,15 @@
" Vim syntax file
" Language: Matlab
-" Maintainer: Preben 'Peppe' Guldberg <[email protected]>
+" Maintainer: Maurizio Tranchero - [email protected]
+" Credits: Preben 'Peppe' Guldberg <[email protected]>
" Original author: Mario Eusebio
-" Last Change: 30 May 2003
+" Change History:
+" Sat Jul 25 16:14:55 CEST 2009
+" - spell check enabled only for comments (thanks to James Vega)
+"
+" Tue Apr 21 10:03:31 CEST 2009
+" - added object oriented support
+" - added multi-line comments %{ ...\n... %}
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -16,6 +23,9 @@
syn keyword matlabLabel case switch
syn keyword matlabConditional else elseif end if otherwise
syn keyword matlabRepeat do for while
+" MT_ADDON - added exception-specific keywords
+syn keyword matlabExceptions try catch
+syn keyword matlabOO classdef properties events methods
syn keyword matlabTodo contained TODO
@@ -31,7 +41,8 @@
"syn match matlabIdentifier "\<\a\w*\>"
" String
-syn region matlabString start=+'+ end=+'+ oneline
+" MT_ADDON - added 'skip' in order to deal with 'tic' escaping sequence
+syn region matlabString start=+'+ end=+'+ oneline skip=+''+ contains=@Spell
" If you don't like tabs
syn match matlabTab "\t"
@@ -50,7 +61,10 @@
syn match matlabSemicolon ";"
-syn match matlabComment "%.*$" contains=matlabTodo,matlabTab
+syn match matlabComment "%.*$" contains=matlabTodo,matlabTab,@Spell
+" MT_ADDON - correctly highlights words after '...' as comments
+syn match matlabComment "\.\.\..*$" contains=matlabTodo,matlabTab,@Spell
+syn region matlabMultilineComment start=+%{+ end=+%}+ contains=matlabTodo,matlabTab,@Spell
syn keyword matlabOperator break zeros default margin round ones rand
syn keyword matlabOperator ceil floor size clear zeros eye mean std cov
@@ -75,10 +89,11 @@
endif
HiLink matlabTransposeOperator matlabOperator
- HiLink matlabOperator Operator
- HiLink matlabLineContinuation Special
+ HiLink matlabOperator Operator
+ HiLink matlabLineContinuation Special
HiLink matlabLabel Label
HiLink matlabConditional Conditional
+ HiLink matlabExceptions Conditional
HiLink matlabRepeat Repeat
HiLink matlabTodo Todo
HiLink matlabString String
@@ -86,12 +101,14 @@
HiLink matlabTransposeOther Identifier
HiLink matlabNumber Number
HiLink matlabFloat Float
- HiLink matlabFunction Function
+ HiLink matlabFunction Function
HiLink matlabError Error
- HiLink matlabImplicit matlabStatement
+ HiLink matlabImplicit matlabStatement
HiLink matlabStatement Statement
+ HiLink matlabOO Statement
HiLink matlabSemicolon SpecialChar
HiLink matlabComment Comment
+ HiLink matlabMultilineComment Comment
HiLink matlabArithmeticOperator matlabOperator
HiLink matlabRelationalOperator matlabOperator
diff -Nur runtime.patched/syntax/mysql.vim runtime/syntax/mysql.vim
--- runtime.patched/syntax/mysql.vim 2007-12-19 20:09:52.000000000 -0800
+++ runtime/syntax/mysql.vim 2009-07-02 11:05:29.000000000 -0700
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: mysql
" Maintainer: Kenneth J. Pronovici <[email protected]>
-" Last Change: $LastChangedDate: 2007-12-19 10:59:39 -0600 (Wed, 19 Dec 2007) $
+" Last Change: $LastChangedDate: 2009-06-29 23:08:37 -0500 (Mon, 29 Jun 2009) $
" Filenames: *.mysql
" URL: ftp://cedar-solutions.com/software/mysql.vim
" Note: The definitions below are taken from the mysql user manual as of April 2002, for version 3.23
@@ -36,7 +36,7 @@
syn keyword mysqlKeyword natural no
syn keyword mysqlKeyword on optimize option optionally order outer outfile
syn keyword mysqlKeyword pack_keys partial password primary privileges procedure process processlist
-syn keyword mysqlKeyword read references reload rename replace restrict returns revoke row rows
+syn keyword mysqlKeyword read references reload rename replace restrict returns revoke right row rows
syn keyword mysqlKeyword second select show shutdown soname sql_big_result sql_big_selects sql_big_tables sql_log_off
syn keyword mysqlKeyword sql_log_update sql_low_priority_updates sql_select_limit sql_small_result sql_warnings starting
syn keyword mysqlKeyword status straight_join string
@@ -57,7 +57,7 @@
" Numbers and hexidecimal values
syn match mysqlNumber "-\=\<[0-9]*\>"
syn match mysqlNumber "-\=\<[0-9]*\.[0-9]*\>"
-syn match mysqlNumber "-\=\<[0-9]*e[+-]\=[0-9]*\>"
+syn match mysqlNumber "-\=\<[0-9][0-9]*e[+-]\=[0-9]*\>"
syn match mysqlNumber "-\=\<[0-9]*\.[0-9]*e[+-]\=[0-9]*\>"
syn match mysqlNumber "\<0x[abcdefABCDEF0-9]*\>"
diff -Nur runtime.patched/syntax/netrw.vim runtime/syntax/netrw.vim
--- runtime.patched/syntax/netrw.vim 2008-03-28 11:35:41.000000000 -0700
+++ runtime/syntax/netrw.vim 2009-01-14 12:14:39.000000000 -0800
@@ -1,7 +1,7 @@
" Language : Netrw Remote-Directory Listing Syntax
" Maintainer : Charles E. Campbell, Jr.
-" Last change: Feb 06, 2008
-" Version : 12
+" Last change: Jan 13, 2009
+" Version : 15
" ---------------------------------------------------------------------
" Syntax Clearing: {{{1
@@ -16,13 +16,14 @@
syn cluster NetrwGroup contains=netrwHide,netrwSortBy,netrwSortSeq,netrwQuickHelp,netrwVersion,netrwCopyTgt
syn cluster NetrwTreeGroup contains=netrwDir,netrwSymLink,netrwExe
-syn match netrwSpecial "\%(\S\+ \)*\S\+[*|=]\ze\%(\s\{2,}\|$\)" contains=netrwClassify
-syn match netrwDir "\.\{1,2}/" contains=netrwClassify
-syn match netrwDir "\%(\S\+ \)*\S\+/" contains=netrwClassify
-syn match netrwSizeDate "\<\d\+\s\d\{1,2}/\d\{1,2}/\d\{4}\s" contains=netrwDateSep skipwhite nextgroup=netrwTime
-syn match netrwSymLink "\%(\S\+ \)*\S\+@\ze\%(\s\{2,}\|$\)" contains=netrwClassify
-syn match netrwExe "\%(\S\+ \)*\S\+\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify
-syn match netrwTreeBar "^\%(| \)*" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
+syn match netrwPlain "\(\S\+ \)*\S\+" contains=@NoSpell
+syn match netrwSpecial "\%(\S\+ \)*\S\+[*|=]\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
+syn match netrwDir "\.\{1,2}/" contains=netrwClassify,@NoSpell
+syn match netrwDir "\%(\S\+ \)*\S\+/" contains=netrwClassify,@NoSpell
+syn match netrwSizeDate "\<\d\+\s\d\{1,2}/\d\{1,2}/\d\{4}\s" skipwhite contains=netrwDateSep,@NoSpell nextgroup=netrwTime
+syn match netrwSymLink "\%(\S\+ \)*\S\+@\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
+syn match netrwExe "\%(\S\+ \)*\S\+\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
+syn match netrwTreeBar "^\%([-+|] \)*" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
syn match netrwTreeBarSpace " " contained
syn match netrwClassify "[*=|@/]\ze\%(\s\{2,}\|$\)" contained
@@ -30,71 +31,76 @@
syn match netrwTime "\d\{1,2}:\d\{2}:\d\{2}" contained contains=netrwTimeSep
syn match netrwTimeSep ":"
-syn match netrwComment '".*\%(\t\|$\)' contains=@NetrwGroup
-syn match netrwHide '^"\s*\(Hid\|Show\)ing:' skipwhite nextgroup=netrwHidePat
+syn match netrwComment '".*\%(\t\|$\)' contains=@NetrwGroup,@NoSpell
+syn match netrwHide '^"\s*\(Hid\|Show\)ing:' skipwhite contains=@NoSpell nextgroup=netrwHidePat
syn match netrwSlash "/" contained
-syn match netrwHidePat "[^,]\+" contained skipwhite nextgroup=netrwHideSep
-syn match netrwHideSep "," contained transparent skipwhite nextgroup=netrwHidePat
+syn match netrwHidePat "[^,]\+" contained skipwhite contains=@NoSpell nextgroup=netrwHideSep
+syn match netrwHideSep "," contained skipwhite nextgroup=netrwHidePat
syn match netrwSortBy "Sorted by" contained transparent skipwhite nextgroup=netrwList
syn match netrwSortSeq "Sort sequence:" contained transparent skipwhite nextgroup=netrwList
syn match netrwCopyTgt "Copy/Move Tgt:" contained transparent skipwhite nextgroup=netrwList
-syn match netrwList ".*$" contained contains=netrwComma
+syn match netrwList ".*$" contained contains=netrwComma,@NoSpell
syn match netrwComma "," contained
-syn region netrwQuickHelp matchgroup=Comment start="Quick Help:\s\+" end="$" contains=netrwHelpCmd keepend contained
-syn match netrwHelpCmd "\S\ze:" contained skipwhite nextgroup=netrwCmdSep
+syn region netrwQuickHelp matchgroup=Comment start="Quick Help:\s\+" end="$" contains=netrwHelpCmd,@NoSpell keepend contained
+syn match netrwHelpCmd "\S\ze:" contained skipwhite contains=@NoSpell nextgroup=netrwCmdSep
syn match netrwCmdSep ":" contained nextgroup=netrwCmdNote
-syn match netrwCmdNote ".\{-}\ze " contained
-syn match netrwVersion "(netrw.*)" contained
+syn match netrwCmdNote ".\{-}\ze " contained contains=@NoSpell
+syn match netrwVersion "(netrw.*)" contained contains=@NoSpell
" -----------------------------
" Special filetype highlighting {{{1
" -----------------------------
if exists("g:netrw_special_syntax") && netrw_special_syntax
- syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar
- syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar
- syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar
- syn match netrwHdr "\(\S\+ \)*\S\+\.h\>" contains=netrwTreeBar
- syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar
- syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar
- syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar
- syn match netrwTags "\<tags\>" contains=netrwTreeBar
- syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar
- syn match netrwTilde "\(\S\+ \)*\S\+\~\>" contains=netrwTreeBar
- syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar
+ syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar,@NoSpell
+ if has("unix")
+ syn match netrwCoreDump "\<core\%(\.\d\+\)\=\>" contains=netrwTreeBar,@NoSpell
+ endif
+ syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwHdr "\(\S\+ \)*\S\+\.h\>" 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 netrwTilde "\(\S\+ \)*\S\+\~\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell
endif
" ---------------------------------------------------------------------
" Highlighting Links: {{{1
if !exists("did_drchip_netrwlist_syntax")
let did_drchip_netrwlist_syntax= 1
- hi link netrwClassify Function
- hi link netrwCmdSep Delimiter
- hi link netrwComment Comment
- hi link netrwDir Directory
- hi link netrwHelpCmd Function
- hi link netrwHidePat Statement
- hi link netrwList Statement
- hi link netrwVersion Identifier
- hi link netrwSymLink Question
- hi link netrwExe PreProc
- hi link netrwDateSep Delimiter
-
- hi link netrwTreeBar Special
- hi link netrwTimeSep netrwDateSep
- hi link netrwComma netrwComment
- hi link netrwHide netrwComment
- hi link netrwMarkFile Identifier
+ hi default link netrwClassify Function
+ hi default link netrwCmdSep Delimiter
+ hi default link netrwComment Comment
+ hi default link netrwDir Directory
+ hi default link netrwHelpCmd Function
+ hi default link netrwHidePat Statement
+ hi default link netrwHideSep netrwComment
+ hi default link netrwList Statement
+ hi default link netrwVersion Identifier
+ hi default link netrwSymLink Question
+ hi default link netrwExe PreProc
+ hi default link netrwDateSep Delimiter
+
+ hi default link netrwTreeBar Special
+ hi default link netrwTimeSep netrwDateSep
+ hi default link netrwComma netrwComment
+ hi default link netrwHide netrwComment
+ hi default link netrwMarkFile Identifier
" special syntax highlighting (see :he g:netrw_special_syntax)
- hi link netrwBak NonText
- hi link netrwCompress Folded
- hi link netrwData DiffChange
- hi link netrwLib DiffChange
- hi link netrwMakefile DiffChange
- hi link netrwObj Folded
- hi link netrwTilde Folded
- hi link netrwTmp Folded
- hi link netrwTags Folded
+ hi default link netrwBak NonText
+ hi default link netrwCompress Folded
+ hi default link netrwCoreDump WarningMsg
+ hi default link netrwData DiffChange
+ 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
endif
" Current Syntax: {{{1
diff -Nur runtime.patched/syntax/po.vim runtime/syntax/po.vim
--- runtime.patched/syntax/po.vim 2008-06-15 04:29:12.000000000 -0700
+++ runtime/syntax/po.vim 2008-09-18 11:56:38.000000000 -0700
@@ -1,10 +1,10 @@
" Vim syntax file
" Language: po (gettext)
" Maintainer: Dwayne Bailey <[email protected]>
-" Last Change: 2008 Jan 08
+" Last Change: 2008 Sep 17
" Contributors: Dwayne Bailey (Most advanced syntax highlighting)
" Leonardo Fontenelle (Spell checking)
-" Nam SungHyun <[email protected]> (Original maintainer)
+" SungHyun Nam <[email protected]> (Original maintainer)
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
diff -Nur runtime.patched/syntax/prolog.vim runtime/syntax/prolog.vim
--- runtime.patched/syntax/prolog.vim 2008-05-04 12:21:09.000000000 -0700
+++ runtime/syntax/prolog.vim 2009-04-22 14:26:14.000000000 -0700
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: PROLOG
" Maintainers: Thomas Koehler <[email protected]>
-" Last Change: 2008 April 5
+" Last Change: 2009 Apr 22
" URL: http://gott-gehabt/800_wer_wir_sind/thomas/Homepage/Computer/vim/syntax/prolog.vim
" There are two sets of highlighting in here:
@@ -63,7 +63,7 @@
syn match prologOperator "=\\=\|=:=\|\\==\|=<\|==\|>=\|\\=\|\\+\|<\|>\|="
syn match prologAsIs "===\|\\===\|<=\|=>"
- syn match prologNumber "\<[0123456789]*\>"
+ syn match prologNumber "\<[0123456789]*\>'\@!"
syn match prologCommentError "\*/"
syn match prologSpecialCharacter ";"
syn match prologSpecialCharacter "!"
diff -Nur runtime.patched/syntax/pyrex.vim runtime/syntax/pyrex.vim
--- runtime.patched/syntax/pyrex.vim 2004-06-07 07:32:36.000000000 -0700
+++ runtime/syntax/pyrex.vim 2009-10-28 13:56:59.000000000 -0700
@@ -2,7 +2,7 @@
" Language: Pyrex
" Maintainer: Marco Barisione <[email protected]>
" URL: http://marcobari.altervista.org/pyrex_vim.html
-" Last Change: 2004 May 16
+" Last Change: 2009 Oct 28
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -35,9 +35,9 @@
" This deletes "from" from the keywords and re-adds it as a
" match with lower priority than pyrexForFrom
-syn clear pythonPreCondit
-syn keyword pythonPreCondit import
-syn match pythonPreCondit "from"
+syn clear pythonInclude
+syn keyword pythonInclude import
+syn match pythonInclude "from"
" With "for[^:]*\zsfrom" VIM does not match "for" anymore, so
" I used the slower "\@<=" form
diff -Nur runtime.patched/syntax/python.vim runtime/syntax/python.vim
--- runtime.patched/syntax/python.vim 2006-10-15 14:04:19.000000000 -0700
+++ runtime/syntax/python.vim 2009-10-28 13:56:59.000000000 -0700
@@ -1,143 +1,252 @@
" Vim syntax file
" Language: Python
" Maintainer: Neil Schemenauer <[email protected]>
-" Updated: 2006-10-15
-" Added Python 2.4 features 2006 May 4 (Dmitry Vasiliev)
+" Last Change: 2009-10-13
+" Credits: Zvezdan Petkovic <[email protected]>
+" Neil Schemenauer <[email protected]>
+" Dmitry Vasiliev
"
-" Options to control Python syntax highlighting:
+" This version is a major rewrite by Zvezdan Petkovic.
"
-" For highlighted numbers:
+" - introduced highlighting of doctests
+" - updated keywords, built-ins, and exceptions
+" - corrected regular expressions for
"
-" let python_highlight_numbers = 1
+" * functions
+" * decorators
+" * strings
+" * escapes
+" * numbers
+" * space error
"
-" For highlighted builtin functions:
+" - corrected synchronization
+" - more highlighting is ON by default, except
+" - space error highlighting is OFF by default
"
-" let python_highlight_builtins = 1
+" Optional highlighting can be controlled using these variables.
"
-" For highlighted standard exceptions:
+" let python_no_builtin_highlight = 1
+" let python_no_doctest_code_highlight = 1
+" let python_no_doctest_highlight = 1
+" let python_no_exception_highlight = 1
+" let python_no_number_highlight = 1
+" let python_space_error_highlight = 1
"
-" let python_highlight_exceptions = 1
+" All the options above can be switched on together.
"
-" Highlight erroneous whitespace:
-"
-" let python_highlight_space_errors = 1
-"
-" If you want all possible Python highlighting (the same as setting the
-" preceding options):
-"
-" let python_highlight_all = 1
+" let python_highlight_all = 1
"
-" For version 5.x: Clear all syntax items
-" For version 6.x: Quit when a syntax file was already loaded
+" 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
-
-syn keyword pythonStatement break continue del
-syn keyword pythonStatement except exec finally
-syn keyword pythonStatement pass print raise
-syn keyword pythonStatement return try with
-syn keyword pythonStatement global assert
-syn keyword pythonStatement lambda yield
-syn keyword pythonStatement def class nextgroup=pythonFunction skipwhite
-syn match pythonFunction "[a-zA-Z_][a-zA-Z0-9_]*" contained
+" Keep Python keywords in alphabetical order inside groups for easy
+" comparison with the table in the 'Python Language Reference'
+" http://docs.python.org/reference/lexical_analysis.html#keywords.
+" Groups are in the order presented in NAMING CONVENTIONS in syntax.txt.
+" Exceptions come last at the end of each group (class and def below).
+"
+" Keywords 'with' and 'as' are new in Python 2.6
+" (use 'from __future__ import with_statement' in Python 2.5).
+"
+" Some compromises had to be made to support both Python 3.0 and 2.6.
+" We include Python 3.0 features, but when a definition is duplicated,
+" the last definition takes precedence.
+"
+" - 'False', 'None', and 'True' are keywords in Python 3.0 but they are
+" built-ins in 2.6 and will be highlighted as built-ins below.
+" - 'exec' is a built-in in Python 3.0 and will be highlighted as
+" built-in below.
+" - 'nonlocal' is a keyword in Python 3.0 and will be highlighted.
+" - 'print' is a built-in in Python 3.0 and will be highlighted as
+" built-in below (use 'from __future__ import print_function' in 2.6)
+"
+syn keyword pythonStatement False, None, True
+syn keyword pythonStatement as assert break continue del exec global
+syn keyword pythonStatement lambda nonlocal pass print return with yield
+syn keyword pythonStatement class def nextgroup=pythonFunction skipwhite
+syn keyword pythonConditional elif else if
syn keyword pythonRepeat for while
-syn keyword pythonConditional if elif else
syn keyword pythonOperator and in is not or
-" AS will be a keyword in Python 3
-syn keyword pythonPreCondit import from as
-syn match pythonComment "#.*$" contains=pythonTodo,@Spell
-syn keyword pythonTodo TODO FIXME XXX contained
+syn keyword pythonException except finally raise try
+syn keyword pythonInclude from import
" Decorators (new in Python 2.4)
syn match pythonDecorator "@" display nextgroup=pythonFunction skipwhite
+" The zero-length non-grouping match before the function name is
+" extremely important in pythonFunction. Without it, everything is
+" interpreted as a function inside the contained environment of
+" doctests.
+" A dot must be allowed because of @MyClass.myfunc decorators.
+syn match pythonFunction
+ \ "\%(\%(def\s\|class\s\|@\)\s*\)\@<=\h\%(\w\|\.\)*" contained
+
+syn match pythonComment "#.*$" contains=pythonTodo,@Spell
+syn keyword pythonTodo FIXME NOTE NOTES TODO XXX contained
-" strings
-syn region pythonString matchgroup=Normal start=+[uU]\='+ end=+'+ skip=+\\\\\|\\'+ contains=pythonEscape,@Spell
-syn region pythonString matchgroup=Normal start=+[uU]\="+ end=+"+ skip=+\\\\\|\\"+ contains=pythonEscape,@Spell
-syn region pythonString matchgroup=Normal start=+[uU]\="""+ end=+"""+ contains=pythonEscape,@Spell
-syn region pythonString matchgroup=Normal start=+[uU]\='''+ end=+'''+ contains=pythonEscape,@Spell
-syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]'+ end=+'+ skip=+\\\\\|\\'+ contains=@Spell
-syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]"+ end=+"+ skip=+\\\\\|\\"+ contains=@Spell
-syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]"""+ end=+"""+ contains=@Spell
-syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]'''+ end=+'''+ contains=@Spell
-syn match pythonEscape +\\[abfnrtv'"\\]+ contained
-syn match pythonEscape "\\\o\{1,3}" contained
-syn match pythonEscape "\\x\x\{2}" contained
-syn match pythonEscape "\(\\u\x\{4}\|\\U\x\{8}\)" contained
-syn match pythonEscape "\\$"
+" Triple-quoted strings can contain doctests.
+syn region pythonString
+ \ start=+[uU]\=\z(['"]\)+ end="\z1" skip="\\\\\|\\\z1"
+ \ contains=pythonEscape,@Spell
+syn region pythonString
+ \ start=+[uU]\=\z('''\|"""\)+ end="\z1" keepend
+ \ contains=pythonEscape,pythonSpaceError,pythonDoctest,@Spell
+syn region pythonRawString
+ \ start=+[uU]\=[rR]\z(['"]\)+ end="\z1" skip="\\\\\|\\\z1"
+ \ contains=@Spell
+syn region pythonRawString
+ \ start=+[uU]\=[rR]\z('''\|"""\)+ end="\z1" keepend
+ \ contains=pythonSpaceError,pythonDoctest,@Spell
+
+syn match pythonEscape +\\[abfnrtv'"\\]+ contained
+syn match pythonEscape "\\\o\{1,3}" contained
+syn match pythonEscape "\\x\x\{2}" contained
+syn match pythonEscape "\%(\\u\x\{4}\|\\U\x\{8}\)" contained
+" Python allows case-insensitive Unicode IDs: http://www.unicode.org/charts/
+syn match pythonEscape "\\N{\a\+\%(\s\a\+\)*}" contained
+syn match pythonEscape "\\$"
if exists("python_highlight_all")
- let python_highlight_numbers = 1
- let python_highlight_builtins = 1
- let python_highlight_exceptions = 1
- let python_highlight_space_errors = 1
+ if exists("python_no_builtin_highlight")
+ unlet python_no_builtin_highlight
+ endif
+ if exists("python_no_doctest_code_highlight")
+ unlet python_no_doctest_code_highlight
+ endif
+ if exists("python_no_doctest_highlight")
+ unlet python_no_doctest_highlight
+ endif
+ if exists("python_no_exception_highlight")
+ unlet python_no_exception_highlight
+ endif
+ if exists("python_no_number_highlight")
+ unlet python_no_number_highlight
+ endif
+ let python_space_error_highlight = 1
endif
-if exists("python_highlight_numbers")
+" It is very important to understand all details before changing the
+" regular expressions below or their order.
+" The word boundaries are *not* the floating-point number boundaries
+" because of a possible leading or trailing decimal point.
+" The expressions below ensure that all valid number literals are
+" highlighted, and invalid number literals are not. For example,
+"
+" - a decimal point in '4.' at the end of a line is highlighted,
+" - a second dot in 1.0.0 is not highlighted,
+" - 08 is not highlighted,
+" - 08e0 or 08j are highlighted,
+"
+" and so on, as specified in the 'Python Language Reference'.
+" http://docs.python.org/reference/lexical_analysis.html#numeric-literals
+if !exists("python_no_number_highlight")
" numbers (including longs and complex)
- syn match pythonNumber "\<0x\x\+[Ll]\=\>"
- syn match pythonNumber "\<\d\+[LljJ]\=\>"
- syn match pythonNumber "\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>"
- syn match pythonNumber "\<\d\+\.\([eE][+-]\=\d\+\)\=[jJ]\=\>"
- syn match pythonNumber "\<\d\+\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>"
-endif
-
-if exists("python_highlight_builtins")
- " builtin functions, types and objects, not really part of the syntax
- syn keyword pythonBuiltin True False bool enumerate set frozenset help
- syn keyword pythonBuiltin reversed sorted sum
- syn keyword pythonBuiltin Ellipsis None NotImplemented __import__ abs
- syn keyword pythonBuiltin apply buffer callable chr classmethod cmp
- syn keyword pythonBuiltin coerce compile complex delattr dict dir divmod
- syn keyword pythonBuiltin eval execfile file filter float getattr globals
- syn keyword pythonBuiltin hasattr hash hex id input int intern isinstance
- syn keyword pythonBuiltin issubclass iter len list locals long map max
- syn keyword pythonBuiltin min object oct open ord pow property range
- syn keyword pythonBuiltin raw_input reduce reload repr round setattr
- syn keyword pythonBuiltin slice staticmethod str super tuple type unichr
- syn keyword pythonBuiltin unicode vars xrange zip
-endif
-
-if exists("python_highlight_exceptions")
- " builtin exceptions and warnings
- syn keyword pythonException ArithmeticError AssertionError AttributeError
- syn keyword pythonException DeprecationWarning EOFError EnvironmentError
- syn keyword pythonException Exception FloatingPointError IOError
- syn keyword pythonException ImportError IndentationError IndexError
- syn keyword pythonException KeyError KeyboardInterrupt LookupError
- syn keyword pythonException MemoryError NameError NotImplementedError
- syn keyword pythonException OSError OverflowError OverflowWarning
- syn keyword pythonException ReferenceError RuntimeError RuntimeWarning
- syn keyword pythonException StandardError StopIteration SyntaxError
- syn keyword pythonException SyntaxWarning SystemError SystemExit TabError
- syn keyword pythonException TypeError UnboundLocalError UnicodeError
- syn keyword pythonException UnicodeEncodeError UnicodeDecodeError
- syn keyword pythonException UnicodeTranslateError
- syn keyword pythonException UserWarning ValueError Warning WindowsError
- syn keyword pythonException ZeroDivisionError
+ syn match pythonNumber "\<0[oO]\=\o\+[Ll]\=\>"
+ syn match pythonNumber "\<0[xX]\x\+[Ll]\=\>"
+ syn match pythonNumber "\<0[bB][01]\+[Ll]\=\>"
+ syn match pythonNumber "\<\%([1-9]\d*\|0\)[Ll]\=\>"
+ syn match pythonNumber "\<\d\+[jJ]\>"
+ syn match pythonNumber "\<\d\+[eE][+-]\=\d\+[jJ]\=\>"
+ syn match pythonNumber
+ \ "\<\d\+\.\%([eE][+-]\=\d\+\)\=[jJ]\=\%(\W\|$\)\@="
+ syn match pythonNumber
+ \ "\%(^\|\W\)\@<=\d*\.\d\+\%([eE][+-]\=\d\+\)\=[jJ]\=\>"
+endif
+
+" Group the built-ins in the order in the 'Python Library Reference' for
+" easier comparison.
+" http://docs.python.org/library/constants.html
+" http://docs.python.org/library/functions.html
+" http://docs.python.org/library/functions.html#non-essential-built-in-functions
+" Python built-in functions are in alphabetical order.
+if !exists("python_no_builtin_highlight")
+ " built-in constants
+ " 'False', 'True', and 'None' are also reserved words in Python 3.0
+ syn keyword pythonBuiltin False True None
+ syn keyword pythonBuiltin NotImplemented Ellipsis __debug__
+ " built-in functions
+ syn keyword pythonBuiltin abs all any bin bool chr classmethod
+ syn keyword pythonBuiltin compile complex delattr dict dir divmod
+ syn keyword pythonBuiltin enumerate eval filter float format
+ syn keyword pythonBuiltin frozenset getattr globals hasattr hash
+ syn keyword pythonBuiltin help hex id input int isinstance
+ syn keyword pythonBuiltin issubclass iter len list locals map max
+ syn keyword pythonBuiltin min next object oct open ord pow print
+ syn keyword pythonBuiltin property range repr reversed round set
+ syn keyword pythonBuiltin setattr slice sorted staticmethod str
+ syn keyword pythonBuiltin sum super tuple type vars zip __import__
+ " Python 2.6 only
+ syn keyword pythonBuiltin basestring callable cmp execfile file
+ syn keyword pythonBuiltin long raw_input reduce reload unichr
+ syn keyword pythonBuiltin unicode xrange
+ " Python 3.0 only
+ syn keyword pythonBuiltin ascii bytearray bytes exec memoryview
+ " non-essential built-in functions; Python 2.6 only
+ syn keyword pythonBuiltin apply buffer coerce intern
+endif
+
+" From the 'Python Library Reference' class hierarchy at the bottom.
+" http://docs.python.org/library/exceptions.html
+if !exists("python_no_exception_highlight")
+ " builtin base exceptions (only used as base classes for other exceptions)
+ syn keyword pythonExceptions BaseException Exception
+ syn keyword pythonExceptions ArithmeticError EnvironmentError
+ syn keyword pythonExceptions LookupError
+ " builtin base exception removed in Python 3.0
+ syn keyword pythonExceptions StandardError
+ " builtin exceptions (actually raised)
+ syn keyword pythonExceptions AssertionError AttributeError BufferError
+ syn keyword pythonExceptions EOFError FloatingPointError GeneratorExit
+ syn keyword pythonExceptions IOError ImportError IndentationError
+ syn keyword pythonExceptions IndexError KeyError KeyboardInterrupt
+ syn keyword pythonExceptions MemoryError NameError NotImplementedError
+ syn keyword pythonExceptions OSError OverflowError ReferenceError
+ syn keyword pythonExceptions RuntimeError StopIteration SyntaxError
+ syn keyword pythonExceptions SystemError SystemExit TabError TypeError
+ syn keyword pythonExceptions UnboundLocalError UnicodeError
+ syn keyword pythonExceptions UnicodeDecodeError UnicodeEncodeError
+ syn keyword pythonExceptions UnicodeTranslateError ValueError VMSError
+ syn keyword pythonExceptions WindowsError ZeroDivisionError
+ " builtin warnings
+ syn keyword pythonExceptions BytesWarning DeprecationWarning FutureWarning
+ syn keyword pythonExceptions ImportWarning PendingDeprecationWarning
+ syn keyword pythonExceptions RuntimeWarning SyntaxWarning UnicodeWarning
+ syn keyword pythonExceptions UserWarning Warning
endif
-if exists("python_highlight_space_errors")
+if exists("python_space_error_highlight")
" trailing whitespace
- syn match pythonSpaceError display excludenl "\S\s\+$"ms=s+1
+ syn match pythonSpaceError display excludenl "\s\+$"
" mixed tabs and spaces
- syn match pythonSpaceError display " \+\t"
- syn match pythonSpaceError display "\t\+ "
+ syn match pythonSpaceError display " \+\t"
+ syn match pythonSpaceError display "\t\+ "
endif
-" This is fast but code inside triple quoted strings screws it up. It
-" is impossible to fix because the only way to know if you are inside a
-" triple quoted string is to start from the beginning of the file. If
-" you have a fast machine you can try uncommenting the "sync minlines"
-" and commenting out the rest.
-syn sync match pythonSync grouphere NONE "):$"
-syn sync maxlines=200
-"syn sync minlines=2000
+" Do not spell doctests inside strings.
+" Notice that the end of a string, either ''', or """, will end the contained
+" doctest too. Thus, we do *not* need to have it as an end pattern.
+if !exists("python_no_doctest_highlight")
+ if !exists("python_no_doctest_code_higlight")
+ syn region pythonDoctest
+ \ start="^\s*>>>\s" end="^\s*$"
+ \ contained contains=ALLBUT,pythonDoctest,@Spell
+ syn region pythonDoctestValue
+ \ start=+^\s*\%(>>>\s\|\.\.\.\s\|"""\|'''\)\@!\S\++ end="$"
+ \ contained
+ else
+ syn region pythonDoctest
+ \ start="^\s*>>>" end="^\s*$"
+ \ contained contains=@NoSpell
+ endif
+endif
+
+" Sync at the beginning of class, function, or method definition.
+syn sync match pythonSync grouphere NONE "^\s*\%(def\|class\)\s\+\h\w*\s*("
if version >= 508 || !exists("did_python_syn_inits")
if version <= 508
@@ -147,35 +256,40 @@
command -nargs=+ HiLink hi def link <args>
endif
- " The default methods for highlighting. Can be overridden later
+ " The default highlight links. Can be overridden later.
HiLink pythonStatement Statement
- HiLink pythonFunction Function
HiLink pythonConditional Conditional
HiLink pythonRepeat Repeat
- HiLink pythonString String
- HiLink pythonRawString String
- HiLink pythonEscape Special
HiLink pythonOperator Operator
- HiLink pythonPreCondit PreCondit
+ HiLink pythonException Exception
+ HiLink pythonInclude Include
+ HiLink pythonDecorator Define
+ HiLink pythonFunction Function
HiLink pythonComment Comment
HiLink pythonTodo Todo
- HiLink pythonDecorator Define
- if exists("python_highlight_numbers")
- HiLink pythonNumber Number
+ HiLink pythonString String
+ HiLink pythonRawString String
+ HiLink pythonEscape Special
+ if !exists("python_no_number_highlight")
+ HiLink pythonNumber Number
endif
- if exists("python_highlight_builtins")
+ if !exists("python_no_builtin_highlight")
HiLink pythonBuiltin Function
endif
- if exists("python_highlight_exceptions")
- HiLink pythonException Exception
+ if !exists("python_no_exception_highlight")
+ HiLink pythonExceptions Structure
endif
- if exists("python_highlight_space_errors")
+ if exists("python_space_error_highlight")
HiLink pythonSpaceError Error
endif
+ if !exists("python_no_doctest_highlight")
+ HiLink pythonDoctest Special
+ HiLink pythonDoctestValue Define
+ endif
delcommand HiLink
endif
let b:current_syntax = "python"
-" vim: ts=8
+" vim:set sw=2 sts=2 ts=8 noet:
diff -Nur runtime.patched/syntax/readline.vim runtime/syntax/readline.vim
--- runtime.patched/syntax/readline.vim 2007-06-17 08:03:20.000000000 -0700
+++ runtime/syntax/readline.vim 2009-06-13 05:38:40.000000000 -0700
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: readline(3) configuration file
" Maintainer: Nikolai Weibull <[email protected]>
-" Latest Revision: 2007-06-17
+" Latest Revision: 2009-05-25
" readline_has_bash - if defined add support for bash specific
" settings/functions
@@ -128,6 +128,7 @@
\ arrow-key-prefix vi-back-to-indent vi-bword
\ vi-bWord vi-eword vi-eWord vi-fword vi-fWord
\ vi-next-word
+ \ vi-movement-mode
if exists("readline_has_bash")
syn keyword readlineFunctions contained
diff -Nur runtime.patched/syntax/remind.vim runtime/syntax/remind.vim
--- runtime.patched/syntax/remind.vim 2006-05-12 10:55:59.000000000 -0700
+++ runtime/syntax/remind.vim 2009-10-08 14:18:08.000000000 -0700
@@ -1,12 +1,13 @@
" Vim syntax file
" Language: Remind
" Maintainer: Davide Alberani <[email protected]>
-" Last Change: 10 May 2006
-" Version: 0.3
+" Last Change: 18 Sep 2009
+" Version: 0.5
" URL: http://erlug.linux.it/~da/vim/syntax/remind.vim
"
-" remind is a sophisticated reminder service; you can download remind from:
-" http://www.roaringpenguin.com/penguin/open_source_remind.php
+" remind is a sophisticated reminder service
+" you can download remind from:
+" http://www.roaringpenguin.com/penguin/open_source_remind.php
if version < 600
syntax clear
@@ -14,24 +15,30 @@
finish
endif
-" shut case off
+" shut case off.
syn case ignore
syn keyword remindCommands REM OMIT SET FSET UNSET
-syn keyword remindExpiry UNTIL SCANFROM SCAN WARN SCHED
+syn keyword remindExpiry UNTIL FROM SCANFROM SCAN WARN SCHED
syn keyword remindTag PRIORITY TAG
syn keyword remindTimed AT DURATION
syn keyword remindMove ONCE SKIP BEFORE AFTER
-syn keyword remindSpecial INCLUDE INC BANNER PUSH-OMIT-CONTEXT PUSH CLEAR-OMIT-CONTEXT CLEAR POP-OMIT-CONTEXT POP
+syn keyword remindSpecial INCLUDE INC BANNER PUSH-OMIT-CONTEXT PUSH CLEAR-OMIT-CONTEXT CLEAR POP-OMIT-CONTEXT POP COLOR
syn keyword remindRun MSG MSF RUN CAL SATISFY SPECIAL PS PSFILE SHADE MOON
syn keyword remindConditional IF ELSE ENDIF IFTRIG
+syn keyword remindDebug DEBUG DUMPVARS DUMP ERRMSG FLUSH PRESERVE
syn match remindComment "#.*$"
syn region remindString start=+'+ end=+'+ skip=+\\\\\|\\'+ oneline
syn region remindString start=+"+ end=+"+ skip=+\\\\\|\\"+ oneline
-syn keyword remindDebug DEBUG DUMPVARS DUMP ERRMSG FLUSH PRESERVE
syn match remindVar "\$[_a-zA-Z][_a-zA-Z0-9]*"
syn match remindSubst "%[^ ]"
syn match remindAdvanceNumber "\(\*\|+\|-\|++\|--\)[0-9]\+"
+" XXX: use different separators for dates and times?
+syn match remindDateSeparators "[/:@\.-]" contained
+syn match remindTimes "[0-9]\{1,2}[:\.][0-9]\{1,2}" contains=remindDateSeparators
+" XXX: why not match only valid dates? Ok, checking for 'Feb the 30' would
+" be impossible, but at least check for valid months and times.
+syn match remindDates "'[0-9]\{4}[/-][0-9]\{1,2}[/-][0-9]\{1,2}\(@[0-9]\{1,2}[:\.][0-9]\{1,2}\)\?'" contains=remindDateSeparators
" This will match trailing whitespaces that seem to break rem2ps.
" Courtesy of Michael Dunn.
syn match remindWarning display excludenl "\S\s\+$"ms=s+1
@@ -54,11 +61,14 @@
HiLink remindRun Function
HiLink remindConditional Conditional
HiLink remindComment Comment
+ HiLink remindTimes String
HiLink remindString String
HiLink remindDebug Debug
HiLink remindVar Identifier
HiLink remindSubst Constant
HiLink remindAdvanceNumber Number
+ HiLink remindDateSeparators Comment
+ HiLink remindDates String
HiLink remindWarning Error
delcommand HiLink
diff -Nur runtime.patched/syntax/rhelp.vim runtime/syntax/rhelp.vim
--- runtime.patched/syntax/rhelp.vim 2008-04-10 12:24:17.000000000 -0700
+++ runtime/syntax/rhelp.vim 2009-05-14 11:53:07.000000000 -0700
@@ -1,13 +1,14 @@
" Vim syntax file
" Language: R Help File
" Maintainer: Johannes Ranke <[email protected]>
-" Last Change: 2008 Apr 10
-" Version: 0.7.1
-" SVN: $Id: rhelp.vim 81 2008-04-10 08:30:11Z ranke $
+" Last Change: 2009 Mai 12
+" Version: 0.7.2
+" SVN: $Id: rhelp.vim 86 2009-05-12 19:23:47Z ranke $
" Remarks: - Now includes R syntax highlighting in the appropriate
" sections if an r.vim file is in the same directory or in the
" default debian location.
" - There is no Latex markup in equations
+" - Thanks to Will Gray for finding and fixing a bug
" Version Clears: {{{1
" For version 5.x: Clear all syntax items
@@ -57,7 +58,7 @@
" Links {{{1
syn region rhelpLink matchgroup=rhelpSection start="\\link{" end="}" contained keepend
-syn region rhelpLink matchgroup=rhelpSection start="\\link\[.*\]{" end="}" contained keepend
+syn region rhelpLink matchgroup=rhelpSection start="\\link\[.\{-}\]{" end="}" contained keepend
syn region rhelpLink matchgroup=rhelpSection start="\\linkS4class{" end="}" contained keepend
" Type Styles {{{1
diff -Nur runtime.patched/syntax/rnoweb.vim runtime/syntax/rnoweb.vim
--- runtime.patched/syntax/rnoweb.vim 2007-05-05 10:55:31.000000000 -0700
+++ runtime/syntax/rnoweb.vim 2009-05-05 12:48:52.000000000 -0700
@@ -1,9 +1,9 @@
" Vim syntax file
" Language: R noweb Files
" Maintainer: Johannes Ranke <[email protected]>
-" Last Change: 2007 M�r 30
-" Version: 0.8
-" SVN: $Id: rnoweb.vim,v 1.3 2007/05/05 17:55:31 vimboss Exp $
+" Last Change: 2009 May 05
+" Version: 0.9
+" SVN: $Id: rnoweb.vim 84 2009-05-03 19:52:47Z ranke $
" Remarks: - This file is inspired by the proposal of
" Fernando Henrique Ferraz Pereira da Rosa <[email protected]>
" http://www.ime.usp.br/~feferraz/en/sweavevim.html
@@ -25,6 +25,7 @@
unlet b:current_syntax
syn cluster texMatchGroup add=@rnoweb
+syn cluster texMathMatchGroup add=rnowebSexpr
syn cluster texEnvGroup add=@rnoweb
syn cluster texFoldGroup add=@rnoweb
syn cluster texDocGroup add=@rnoweb
diff -Nur runtime.patched/syntax/rst.vim runtime/syntax/rst.vim
--- runtime.patched/syntax/rst.vim 2006-07-03 16:49:39.000000000 -0700
+++ runtime/syntax/rst.vim 2009-06-13 05:38:40.000000000 -0700
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: reStructuredText documentation format
" Maintainer: Nikolai Weibull <[email protected]>
-" Latest Revision: 2006-07-04
+" Latest Revision: 2009-05-25
if exists("b:current_syntax")
finish
@@ -12,12 +12,9 @@
syn case ignore
-" FIXME: The problem with these two is that Vim doesn’t seem to like
-" matching across line boundaries.
-"
-" syn match rstSections /^.*\n[=`:.'"~^_*+#-]\+$/
+syn match rstSections "^\%(\([=`:.'"~^_*+#-]\)\1\+\n\)\=.\+\n\([=`:.'"~^_*+#-]\)\2\+$"
-" syn match rstTransition /^\s*[=`:.'"~^_*+#-]\{4,}\s*$/
+syn match rstTransition /^[=`:.'"~^_*+#-]\{4,}\s*$/
syn cluster rstCruft contains=rstEmphasis,rstStrongEmphasis,
\ rstInterpretedText,rstInlineLiteral,rstSubstitutionReference,
@@ -144,8 +141,8 @@
hi def link rstTodo Todo
hi def link rstComment Comment
-"hi def link rstSections Type
-"hi def link rstTransition Type
+hi def link rstSections Type
+hi def link rstTransition Type
hi def link rstLiteralBlock String
hi def link rstQuotedLiteralBlock String
hi def link rstDoctestBlock PreProc
diff -Nur runtime.patched/syntax/samba.vim runtime/syntax/samba.vim
--- runtime.patched/syntax/samba.vim 2004-09-21 02:51:35.000000000 -0700
+++ runtime/syntax/samba.vim 2009-09-18 03:27:18.000000000 -0700
@@ -2,8 +2,10 @@
" Language: samba configuration files (smb.conf)
" Maintainer: Rafael Garcia-Suarez <[email protected]>
" URL: http://rgarciasuarez.free.fr/vim/syntax/samba.vim
-" Last change: 2004 September 21
-
+" Last change: 2009 Aug 06
+"
+" New maintainer wanted!
+"
" Don't forget to run your config file through testparm(1)!
" For version 5.x: Clear all syntax items
@@ -51,7 +53,7 @@
syn keyword sambaKeyword contained netbios nis notify nt null offset ok ole
syn keyword sambaKeyword contained only open oplock oplocks options order os
syn keyword sambaKeyword contained output packet page panic passwd password
-syn keyword sambaKeyword contained passwords path permissions pipe port
+syn keyword sambaKeyword contained passwords path permissions pipe port ports
syn keyword sambaKeyword contained postexec postscript prediction preexec
syn keyword sambaKeyword contained prefered preferred preload preserve print
syn keyword sambaKeyword contained printable printcap printer printers
diff -Nur runtime.patched/syntax/scheme.vim runtime/syntax/scheme.vim
--- runtime.patched/syntax/scheme.vim 2007-06-16 13:09:14.000000000 -0700
+++ runtime/syntax/scheme.vim 2009-04-14 12:16:56.000000000 -0700
@@ -1,6 +1,6 @@
" Vim syntax file
-" Language: Scheme (R5RS)
-" Last Change: 2007 Jun 16
+" Language: Scheme (R5RS + some R6RS extras)
+" Last Change: 2009 Apr 12
" Maintainer: Sergey Khorev <[email protected]>
" Original author: Dirk van Deun <[email protected]>
@@ -26,8 +26,8 @@
" Fascist highlighting: everything that doesn't fit the rules is an error...
-syn match schemeError oneline ![^ \t()\[\]";]*!
-syn match schemeError oneline ")"
+syn match schemeError ![^ \t()\[\]";]*!
+syn match schemeError ")"
" Quoted and backquoted stuff
@@ -71,6 +71,8 @@
syn keyword schemeSyntax begin do delay set! else =>
syn keyword schemeSyntax quote quasiquote unquote unquote-splicing
syn keyword schemeSyntax define-syntax let-syntax letrec-syntax syntax-rules
+" R6RS
+syn keyword schemeSyntax define-record-type fields protocol
syn keyword schemeFunc not boolean? eq? eqv? equal? pair? cons car cdr set-car!
syn keyword schemeFunc set-cdr! caar cadr cdar cddr caaar caadr cadar caddr
@@ -109,30 +111,39 @@
syn keyword schemeFunc dynamic-wind port? values call-with-values
syn keyword schemeFunc scheme-report-environment null-environment
syn keyword schemeFunc interaction-environment
+" R6RS
+syn keyword schemeFunc make-eq-hashtable make-eqv-hashtable make-hashtable
+syn keyword schemeFunc hashtable? hashtable-size hashtable-ref hashtable-set!
+syn keyword schemeFunc hashtable-delete! hashtable-contains? hashtable-update!
+syn keyword schemeFunc hashtable-copy hashtable-clear! hashtable-keys
+syn keyword schemeFunc hashtable-entries hashtable-equivalence-function hashtable-hash-function
+syn keyword schemeFunc hashtable-mutable? equal-hash string-hash string-ci-hash symbol-hash
+syn keyword schemeFunc find for-all exists filter partition fold-left fold-right
+syn keyword schemeFunc remp remove remv remq memp assp cons*
" ... so that a single + or -, inside a quoted context, would not be
" interpreted as a number (outside such contexts, it's a schemeFunc)
-syn match schemeDelimiter oneline !\.[ \t\[\]()";]!me=e-1
-syn match schemeDelimiter oneline !\.$!
+syn match schemeDelimiter !\.[ \t\[\]()";]!me=e-1
+syn match schemeDelimiter !\.$!
" ... and a single dot is not a number but a delimiter
" This keeps all other stuff unhighlighted, except *stuff* and <stuff>:
-syn match schemeOther oneline ,[a-z!$%&*/:<=>?^_~+@#%-][-a-z!$%&*/:<=>?^_~0-9+.@#%]*,
-syn match schemeError oneline ,[a-z!$%&*/:<=>?^_~+@#%-][-a-z!$%&*/:<=>?^_~0-9+.@#%]*[^-a-z!$%&*/:<=>?^_~0-9+.@ \t\[\]()";]\+[^ \t\[\]()";]*,
+syn match schemeOther ,[a-z!$%&*/:<=>?^_~+@#%-][-a-z!$%&*/:<=>?^_~0-9+.@#%]*,
+syn match schemeError ,[a-z!$%&*/:<=>?^_~+@#%-][-a-z!$%&*/:<=>?^_~0-9+.@#%]*[^-a-z!$%&*/:<=>?^_~0-9+.@ \t\[\]()";]\+[^ \t\[\]()";]*,
-syn match schemeOther oneline "\.\.\."
-syn match schemeError oneline !\.\.\.[^ \t\[\]()";]\+!
+syn match schemeOther "\.\.\."
+syn match schemeError !\.\.\.[^ \t\[\]()";]\+!
" ... a special identifier
-syn match schemeConstant oneline ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*[ \t\[\]()";],me=e-1
-syn match schemeConstant oneline ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*$,
-syn match schemeError oneline ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*[^-a-z!$%&*/:<=>?^_~0-9+.@ \t\[\]()";]\+[^ \t\[\]()";]*,
-
-syn match schemeConstant oneline ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>[ \t\[\]()";],me=e-1
-syn match schemeConstant oneline ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>$,
-syn match schemeError oneline ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>[^-a-z!$%&*/:<=>?^_~0-9+.@ \t\[\]()";]\+[^ \t\[\]()";]*,
+syn match schemeConstant ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]\+\*[ \t\[\]()";],me=e-1
+syn match schemeConstant ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]\+\*$,
+syn match schemeError ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*[^-a-z!$%&*/:<=>?^_~0-9+.@ \t\[\]()";]\+[^ \t\[\]()";]*,
+
+syn match schemeConstant ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>[ \t\[\]()";],me=e-1
+syn match schemeConstant ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>$,
+syn match schemeError ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>[^-a-z!$%&*/:<=>?^_~0-9+.@ \t\[\]()";]\+[^ \t\[\]()";]*,
" Non-quoted lists, and strings:
@@ -153,23 +164,27 @@
" Writing out the complete description of Scheme numerals without
" using variables is a day's work for a trained secretary...
-syn match schemeOther oneline ![+-][ \t\[\]()";]!me=e-1
-syn match schemeOther oneline ![+-]$!
+syn match schemeOther ![+-][ \t\[\]()";]!me=e-1
+syn match schemeOther ![+-]$!
"
" This is a useful lax approximation:
-syn match schemeNumber oneline "[-#+0-9.][-#+/[email protected]]*"
-syn match schemeError oneline ![-#+0-9.][-#+/[email protected]]*[^-#+/[email protected] \t\[\]()";][^ \t\[\]()";]*!
+syn match schemeNumber "[-#+.]\=[0-9][-#+/[email protected]]*"
+syn match schemeError ![-#+0-9.][-#+/[email protected]]*[^-#+/[email protected] \t\[\]()";][^ \t\[\]()";]*!
-syn match schemeBoolean oneline "#[tf]"
-syn match schemeError oneline !#[tf][^ \t\[\]()";]\+!
+syn match schemeBoolean "#[tf]"
+syn match schemeError !#[tf][^ \t\[\]()";]\+!
+
+syn match schemeChar "#\\"
+syn match schemeChar "#\\."
+syn match schemeError !#\\.[^ \t\[\]()";]\+!
+syn match schemeChar "#\\space"
+syn match schemeError !#\\space[^ \t\[\]()";]\+!
+syn match schemeChar "#\\newline"
+syn match schemeError !#\\newline[^ \t\[\]()";]\+!
+
+" R6RS
+syn match schemeChar "#\\x[0-9a-fA-F]\+"
-syn match schemeChar oneline "#\\"
-syn match schemeChar oneline "#\\."
-syn match schemeError oneline !#\\.[^ \t\[\]()";]\+!
-syn match schemeChar oneline "#\\space"
-syn match schemeError oneline !#\\space[^ \t\[\]()";]\+!
-syn match schemeChar oneline "#\\newline"
-syn match schemeError oneline !#\\newline[^ \t\[\]()";]\+!
if exists("b:is_mzscheme") || exists("is_mzscheme")
" MzScheme extensions
@@ -177,11 +192,11 @@
syn region schemeComment start="#|" end="|#"
" #%xxx are the special MzScheme identifiers
- syn match schemeOther oneline "#%[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
+ syn match schemeOther "#%[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
" anything limited by |'s is identifier
- syn match schemeOther oneline "|[^|]\+|"
+ syn match schemeOther "|[^|]\+|"
- syn match schemeChar oneline "#\\\%(return\|tab\)"
+ syn match schemeChar "#\\\%(return\|tab\)"
" Modules require stmt
syn keyword schemeExtSyntax module require dynamic-require lib prefix all-except prefix-all-except rename
@@ -234,8 +249,8 @@
" multiline comment
syntax region schemeMultilineComment start=/#|/ end=/|#/ contains=schemeMultilineComment
- syn match schemeOther oneline "##[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
- syn match schemeExtSyntax oneline "#:[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
+ syn match schemeOther "##[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
+ syn match schemeExtSyntax "#:[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
syn keyword schemeExtSyntax unit uses declare hide foreign-declare foreign-parse foreign-parse/spec
syn keyword schemeExtSyntax foreign-lambda foreign-lambda* define-external define-macro load-library
@@ -266,7 +281,7 @@
endif
" suggested by Alex Queiroz
- syn match schemeExtSyntax oneline "#![-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
+ syn match schemeExtSyntax "#![-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
syn region schemeString start=+#<#\s*\z(.*\)+ end=+^\z1$+
endif
diff -Nur runtime.patched/syntax/sdc.vim runtime/syntax/sdc.vim
--- runtime.patched/syntax/sdc.vim 1969-12-31 16:00:00.000000000 -0800
+++ runtime/syntax/sdc.vim 2009-05-05 11:28:48.000000000 -0700
@@ -0,0 +1,41 @@
+" Vim syntax file
+" Language: SDC - Synopsys Design Constraints
+" Maintainer: Maurizio Tranchero - [email protected]
+" Last Change: Thu Mar 25 17:35:16 CET 2009
+" Credits: based on TCL Vim syntax file
+" Version: 0.3
+
+" Quit when a syntax file was already loaded
+if exists("b:current_syntax")
+ finish
+endif
+
+" Read the TCL syntax to start with
+runtime! syntax/tcl.vim
+
+" SDC-specific keywords
+syn keyword sdcCollections foreach_in_collection
+syn keyword sdcObjectsQuery get_clocks get_ports
+syn keyword sdcObjectsInfo get_point_info get_node_info get_path_info
+syn keyword sdcObjectsInfo get_timing_paths set_attribute
+syn keyword sdcConstraints set_false_path
+syn keyword sdcNonIdealities set_min_delay set_max_delay
+syn keyword sdcNonIdealities set_input_delay set_output_delay
+syn keyword sdcNonIdealities set_load set_min_capacitance set_max_capacitance
+syn keyword sdcCreateOperations create_clock create_timing_netlist update_timing_netlist
+
+" command flags highlighting
+syn match sdcFlags "[[:space:]]-[[:alpha:]]*\>"
+
+" Define the default highlighting.
+hi def link sdcCollections Repeat
+hi def link sdcObjectsInfo Operator
+hi def link sdcCreateOperations Operator
+hi def link sdcObjectsQuery Operator
+hi def link sdcConstraints Operator
+hi def link sdcNonIdealities Operator
+hi def link sdcFlags Special
+
+let b:current_syntax = "sdc"
+
+" vim: ts=8
diff -Nur runtime.patched/syntax/sgmllnx.vim runtime/syntax/sgmllnx.vim
--- runtime.patched/syntax/sgmllnx.vim 2004-06-07 07:32:35.000000000 -0700
+++ runtime/syntax/sgmllnx.vim 2008-09-18 11:56:21.000000000 -0700
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: SGML-linuxdoc (supported by old sgmltools-1.x)
" (for more information, visit www.sgmltools.org)
-" Maintainer: Nam SungHyun <[email protected]>
-" Last Change: 2001 Apr 26
+" Maintainer: SungHyun Nam <[email protected]>
+" Last Change: 2008 Sep 17
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
diff -Nur runtime.patched/syntax/sh.vim runtime/syntax/sh.vim
--- runtime.patched/syntax/sh.vim 2008-07-14 13:23:42.000000000 -0700
+++ runtime/syntax/sh.vim 2009-10-08 14:18:57.000000000 -0700
@@ -2,8 +2,8 @@
" Language: shell (sh) Korn shell (ksh) bash (sh)
" Maintainer: Dr. Charles E. Campbell, Jr. <[email protected]>
" Previous Maintainer: Lennart Schultz <[email protected]>
-" Last Change: Jul 11, 2008
-" Version: 102
+" Last Change: Sep 01, 2009
+" Version: 109
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
" For options and settings, please use: :help ft-sh-syntax
" This file includes many ideas from �ric Brunet ([email protected])
@@ -67,13 +67,13 @@
" Clusters: contains=@... clusters {{{1
"==================================
-syn cluster shErrorList contains=shDoError,shIfError,shInError,shCaseError,shEsacError,shCurlyError,shParenError,shTestError
+syn cluster shErrorList contains=shDoError,shIfError,shInError,shCaseError,shEsacError,shCurlyError,shParenError,shTestError,shOK
if exists("b:is_kornshell")
syn cluster ErrorList add=shDTestError
endif
-syn cluster shArithParenList contains=shArithmetic,shDeref,shDerefSimple,shEscape,shNumber,shOperator,shPosnParm,shExSingleQuote,shSingleQuote,shDoubleQuote,shStatement,shVariable,shAlias,shTest,shCtrlSeq,shSpecial,shParen
+syn cluster shArithParenList contains=shArithmetic,shDeref,shDerefSimple,shEcho,shEscape,shNumber,shOperator,shPosnParm,shExSingleQuote,shRedir,shSingleQuote,shDoubleQuote,shStatement,shVariable,shAlias,shTest,shCtrlSeq,shSpecial,shParen,bashSpecialVariables,bashStatement
syn cluster shArithList contains=@shArithParenList,shParenError
-syn cluster shCaseEsacList contains=shCaseStart,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote,shCtrlSeq,@shErrorList,shStringSpecial
+syn cluster shCaseEsacList contains=shCaseStart,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote,shCtrlSeq,@shErrorList,shStringSpecial,shExpr
syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq
syn cluster shColonList contains=@shCaseList
syn cluster shCommandSubList contains=shArithmetic,shDeref,shDerefSimple,shEscape,shNumber,shOperator,shPosnParm,shExSingleQuote,shSingleQuote,shDoubleQuote,shStatement,shVariable,shSubSh,shAlias,shTest,shCtrlSeq,shSpecial
@@ -84,7 +84,7 @@
syn cluster shEchoList contains=shArithmetic,shCommandSub,shDeref,shDerefSimple,shExpr,shExSingleQuote,shSingleQuote,shDoubleQuote,shCtrlSeq,shEchoQuote
syn cluster shExprList1 contains=shCharClass,shNumber,shOperator,shExSingleQuote,shSingleQuote,shDoubleQuote,shExpr,shDblBrace,shDeref,shDerefSimple,shCtrlSeq
syn cluster shExprList2 contains=@shExprList1,@shCaseList,shTest
-syn cluster shFunctionList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shOperator,shCtrlSeq
+syn cluster shFunctionList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shOption,shRedir,shSetList,shSource,shStatement,shVariable,shOperator,shCtrlSeq
if exists("b:is_kornshell") || exists("b:is_bash")
syn cluster shFunctionList add=shRepeat
syn cluster shFunctionList add=shDblBrace,shDblParen
@@ -94,19 +94,19 @@
syn cluster shHereListDQ contains=shBeginHere,@shDblQuoteList,shHerePayload
syn cluster shIdList contains=shCommandSub,shWrapLineOperator,shSetOption,shDeref,shDerefSimple,shRedir,shExSingleQuote,shSingleQuote,shDoubleQuote,shExpr,shCtrlSeq,shStringSpecial
syn cluster shLoopList contains=@shCaseList,shTestOpr,shExpr,shDblBrace,shConditional,shCaseEsac,shTest,@shErrorList,shSet
-syn cluster shSubShList contains=@shCaseList,shOperator
+syn cluster shSubShList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator
syn cluster shTestList contains=shCharClass,shComment,shCommandSub,shDeref,shDerefSimple,shDoubleQuote,shExpr,shExpr,shNumber,shOperator,shExSingleQuote,shSingleQuote,shTestOpr,shTest,shCtrlSeq
" Echo: {{{1
" ====
" This one is needed INSIDE a CommandSub, so that `echo bla` be correct
-syn region shEcho matchgroup=shStatement start="\<echo\>" skip="\\$" matchgroup=shOperator end="$" matchgroup=NONE end="[<>;&|()]"me=e-1 end="\d[<>]"me=e-2 end="#"me=e-1 contains=@shEchoList skipwhite nextgroup=shQuickComment
-syn region shEcho matchgroup=shStatement start="\<print\>" skip="\\$" matchgroup=shOperator end="$" matchgroup=NONE end="[<>;&|()]"me=e-1 end="\d[<>]"me=e-2 end="#"me=e-1 contains=@shEchoList skipwhite nextgroup=shQuickComment
+syn region shEcho matchgroup=shStatement start="\<echo\>" skip="\\$" matchgroup=shOperator end="$" matchgroup=NONE end="[<>;&|()]"me=e-1 end="\d[<>]"me=e-2 end="\s#"me=e-2 contains=@shEchoList skipwhite nextgroup=shQuickComment
+syn region shEcho matchgroup=shStatement start="\<print\>" skip="\\$" matchgroup=shOperator end="$" matchgroup=NONE end="[<>;&|()]"me=e-1 end="\d[<>]"me=e-2 end="\s#"me=e-2 contains=@shEchoList skipwhite nextgroup=shQuickComment
syn match shEchoQuote contained '\%(\\\\\)*\\["`']'
" This must be after the strings, so that ... \" will be correct
-syn region shEmbeddedEcho contained matchgroup=shStatement start="\<print\>" skip="\\$" matchgroup=shOperator end="$" matchgroup=NONE end="[<>;&|`)]"me=e-1 end="\d[<>]"me=e-2 end="#"me=e-1 contains=shNumber,shExSingleQuote,shSingleQuote,shDeref,shDerefSimple,shSpecialVar,shOperator,shDoubleQuote,shCharClass,shCtrlSeq
+syn region shEmbeddedEcho contained matchgroup=shStatement start="\<print\>" skip="\\$" matchgroup=shOperator end="$" matchgroup=NONE end="[<>;&|`)]"me=e-1 end="\d[<>]"me=e-2 end="\s#"me=e-2 contains=shNumber,shExSingleQuote,shSingleQuote,shDeref,shDerefSimple,shSpecialVar,shOperator,shDoubleQuote,shCharClass,shCtrlSeq
" Alias: {{{1
" =====
@@ -125,6 +125,7 @@
syn match shEsacError "\<esac\>"
syn match shCurlyError "}"
syn match shParenError ")"
+syn match shOK '\.\(done\|fi\|in\|esac\)'
if exists("b:is_kornshell")
syn match shDTestError "]]"
endif
@@ -152,13 +153,12 @@
" Subshells: {{{1
" ==========
-syn region shExpr transparent matchgroup=shExprRegion start="{" end="}" contains=@shExprList2
-syn region shSubSh transparent matchgroup=shSubShRegion start="(" end=")" contains=@shSubShList
+syn region shExpr transparent matchgroup=shExprRegion start="{" end="}" contains=@shExprList2 nextgroup=shMoreSpecial
+syn region shSubSh transparent matchgroup=shSubShRegion start="(" end=")" contains=@shSubShList nextgroup=shMoreSpecial
" Tests: {{{1
"=======
-"syn region shExpr transparent matchgroup=shRange start="\[" skip=+\\\\\|\\$+ end="\]" contains=@shTestList
-syn region shExpr matchgroup=shRange start="\[" skip=+\\\\\|\\$+ end="\]" contains=@shTestList
+syn region shExpr matchgroup=shRange start="\[" skip=+\\\\\|\\$+ end="\]" contains=@shTestList,shSpecial
syn region shTest transparent matchgroup=shStatement start="\<test\>" skip=+\\\\\|\\$+ matchgroup=NONE end="[;&|]"me=e-1 end="$" contains=@shExprList1
syn match shTestOpr contained "<=\|>=\|!=\|==\|-.\>\|-\(nt\|ot\|ef\|eq\|ne\|lt\|le\|gt\|ge\)\>\|[!<>]"
syn match shTestOpr contained '=' skipwhite nextgroup=shTestDoubleQuote,shTestSingleQuote,shTestPattern
@@ -203,10 +203,11 @@
" ====
syn match shCaseBar contained skipwhite "\(^\|[^\\]\)\(\\\\\)*\zs|" nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote
syn match shCaseStart contained skipwhite skipnl "(" nextgroup=shCase,shCaseBar
-syn region shCase contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment
if (g:sh_fold_enabled % (s:sh_fold_ifdofor * 2))/s:sh_fold_ifdofor
+ syn region shCase fold contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment
syn region shCaseEsac fold matchgroup=shConditional start="\<case\>" end="\<esac\>" contains=@shCaseEsacList
else
+ syn region shCase contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment
syn region shCaseEsac matchgroup=shConditional start="\<case\>" end="\<esac\>" contains=@shCaseEsacList
endif
syn keyword shCaseIn contained skipwhite skipnl in nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote
@@ -256,7 +257,7 @@
syn match shSource "^\.\s"
syn match shSource "\s\.\s"
-syn region shColon start="^\s*:" end="$\|" end="#"me=e-1 contains=@shColonList
+syn region shColon start="^\s*:" end="$\|" end="\s#"me=e-2 contains=@shColonList
" String And Character Constants: {{{1
"================================
@@ -274,8 +275,9 @@
syn region shDoubleQuote matchgroup=shOperator start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
syn match shStringSpecial "[^[:print:] \t]" contained
syn match shStringSpecial "\%(\\\\\)*\\[\\"'`$()#]"
-syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]"
+syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shMoreSpecial
syn match shSpecial "^\%(\\\\\)*\\[\\"'`$()#]"
+syn match shMoreSpecial "\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shMoreSpecial contained
" Comments: {{{1
"==========
@@ -338,13 +340,13 @@
syn match shVariable "\<\([bwglsav]:\)\=[a-zA-Z0-9.!@_%+,]*\ze=" nextgroup=shSetIdentifier
syn match shSetIdentifier "=" contained nextgroup=shPattern,shDeref,shDerefSimple,shDoubleQuote,shSingleQuote,shExSingleQuote
if exists("b:is_bash")
- syn region shSetList oneline matchgroup=shSet start="\<\(declare\|typeset\|local\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shOperator end="\ze[}|);&]" matchgroup=NONE end="\ze#\|=" contains=@shIdList
- syn region shSetList oneline matchgroup=shSet start="\<set\>\ze[^/]" end="\ze[;|)]\|$" matchgroup=shOperator end="\ze[}|);&]" matchgroup=NONE end="\ze[#=]" contains=@shIdList
+ syn region shSetList oneline matchgroup=shSet start="\<\(declare\|typeset\|local\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shOperator end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+#\|=" contains=@shIdList
+ syn region shSetList oneline matchgroup=shSet start="\<set\>\ze[^/]" end="\ze[;|)]\|$" matchgroup=shOperator end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]" contains=@shIdList
elseif exists("b:is_kornshell")
- syn region shSetList oneline matchgroup=shSet start="\<\(typeset\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shOperator end="\ze[}|);&]" matchgroup=NONE end="\ze[#=]" contains=@shIdList
- syn region shSetList oneline matchgroup=shSet start="\<set\>\ze[^/]" end="$" matchgroup=shOperator end="\ze[}|);&]" matchgroup=NONE end="\ze[#=]" contains=@shIdList
+ syn region shSetList oneline matchgroup=shSet start="\<\(typeset\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shOperator end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]" contains=@shIdList
+ syn region shSetList oneline matchgroup=shSet start="\<set\>\ze[^/]" end="$" matchgroup=shOperator end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]" contains=@shIdList
else
- syn region shSetList oneline matchgroup=shSet start="\<\(set\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shOperator end="\ze[}|);&]" matchgroup=NONE end="\ze[#=]" contains=@shIdList
+ syn region shSetList oneline matchgroup=shSet start="\<\(set\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shOperator end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]" contains=@shIdList
endif
" Functions: {{{1
@@ -511,6 +513,7 @@
hi def link shHereDoc shString
hi def link shHerePayload shHereDoc
hi def link shLoop shStatement
+hi def link shMoreSpecial shSpecial
hi def link shOption shCommandSub
hi def link shPattern shString
hi def link shParen shArithmetic
diff -Nur runtime.patched/syntax/sisu.vim runtime/syntax/sisu.vim
--- runtime.patched/syntax/sisu.vim 2008-05-27 12:24:19.000000000 -0700
+++ runtime/syntax/sisu.vim 2008-11-09 05:12:28.000000000 -0800
@@ -1,6 +1,6 @@
"SiSU Vim syntax file
"SiSU Maintainer: Ralph Amissah <[email protected]>
-"SiSU Markup: SiSU (sisu-0.66.0, 2008-02-24)
+"SiSU Markup: SiSU (sisu-0.69.0, 2008-09-16)
"(originally looked at Ruby Vim by Mirko Nasato)
if version < 600
@@ -81,6 +81,7 @@
syn region sisu_comment matchgroup=sisu_comment start="^%\{1,2\} " end="$"
"font face curly brackets
"syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_sem start="\S\+:{" end="}:[^<>,.!?:; ]\+" oneline
+syn region sisu_index matchgroup=sisu_index_block start="^={" end="}"
syn region sisu_control contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="\*{" end="}\*"
syn region sisu_control contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="!{" end="}!"
syn region sisu_underline contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="_{" end="}_"
@@ -162,7 +163,6 @@
hi def link sisu_fontface Include
hi def link sisu_strikeout DiffDelete
hi def link sisu_content_alt Special
-hi def link sisu_sem_content String
hi def link sisu_sem_content SpecialKey
hi def link sisu_sem_block Special
hi def link sisu_sem_marker Visual
@@ -173,6 +173,8 @@
hi def link sisu_sem_ex_content Comment
"hi def link sisu_sem_ex_content SpecialKey
hi def link sisu_sem_ex_block Comment
+hi def link sisu_index SpecialKey
+hi def link sisu_index_block Visual
hi def link sisu_content_endnote Special
hi def link sisu_control Define
hi def link sisu_ocn Include
diff -Nur runtime.patched/syntax/sqlanywhere.vim runtime/syntax/sqlanywhere.vim
--- runtime.patched/syntax/sqlanywhere.vim 2008-02-06 12:32:21.000000000 -0800
+++ runtime/syntax/sqlanywhere.vim 2009-10-08 14:18:57.000000000 -0700
@@ -2,10 +2,11 @@
" Vim syntax file
" Language: SQL, Adaptive Server Anywhere
" Maintainer: David Fishburn <fishburn at ianywhere dot com>
-" Last Change: Tue 29 Jan 2008 12:54:19 PM Eastern Standard Time
-" Version: 10.0.1
+" Last Change: 2009 Mar 15
+" Version: 11.0.1
-" Description: Updated to Adaptive Server Anywhere 10.0.1
+" Description: Updated to Adaptive Server Anywhere 11.0.1
+" Updated to Adaptive Server Anywhere 10.0.1
" Updated to Adaptive Server Anywhere 9.0.2
" Updated to Adaptive Server Anywhere 9.0.1
" Updated to Adaptive Server Anywhere 9.0.0
@@ -54,20 +55,24 @@
syn keyword sqlFunction strtouuid varexists
" 9.0.1 functions
-syn keyword sqlFunction acos asin atan atn2 cast ceiling convert cos cot
+syn keyword sqlFunction acos asin atan atn2 cast ceiling convert cos cot
syn keyword sqlFunction char_length coalesce dateformat datetime degrees exp
-syn keyword sqlFunction floor getdate insertstr
+syn keyword sqlFunction floor getdate insertstr
syn keyword sqlFunction log log10 lower mod pi power
-syn keyword sqlFunction property radians replicate round sign sin
+syn keyword sqlFunction property radians replicate round sign sin
syn keyword sqlFunction sqldialect tan truncate truncnum
syn keyword sqlFunction base64_encode base64_decode
syn keyword sqlFunction hash compress decompress encrypt decrypt
+" 11.0.1 functions
+syn keyword sqlFunction connection_extended_property text_handle_vector_match
+syn keyword sqlFunction read_client_file write_client_file
+
" string functions
syn keyword sqlFunction ascii char left ltrim repeat
syn keyword sqlFunction space right rtrim trim lcase ucase
syn keyword sqlFunction locate charindex patindex replace
-syn keyword sqlFunction errormsg csconvert
+syn keyword sqlFunction errormsg csconvert
" property functions
syn keyword sqlFunction db_id db_name property_name
@@ -358,125 +363,135 @@
syn keyword sqlFunction sa_set_http_header sa_set_http_option
syn keyword sqlFunction sa_http_variable_info sa_http_header_info
-" http functions 9.0.1
+" http functions 9.0.1
syn keyword sqlFunction http_encode http_decode
syn keyword sqlFunction html_encode html_decode
" keywords
-syn keyword sqlKeyword absolute accent action activ add address after
-syn keyword sqlKeyword algorithm allow_dup_row
-syn keyword sqlKeyword alter and any as append asc ascii ase at atomic
-syn keyword sqlKeyword attach attended audit authorization
+syn keyword sqlKeyword absolute accent action active add address aes_decrypt
+syn keyword sqlKeyword after aggregate algorithm allow_dup_row allowed
+syn keyword sqlKeyword alter and ansi_substring any as append apply asc ascii ase
+syn keyword sqlKeyword assign at atan2 atomic attach attended audit authorization
syn keyword sqlKeyword autoincrement autostop batch bcp before
-syn keyword sqlKeyword between blank blanks block
-syn keyword sqlKeyword both bottom unbounded break bufferpool
+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 break breaker bufferpool
syn keyword sqlKeyword build bulk by byte bytes cache calibrate calibration
syn keyword sqlKeyword cancel capability cascade cast
-syn keyword sqlKeyword catalog changes char char_convert check checksum
+syn keyword sqlKeyword catalog ceil changes char char_convert check checksum
syn keyword sqlKeyword class classes client cmp
-syn keyword sqlKeyword cluster clustered collation column columns
+syn keyword sqlKeyword cluster clustered collation
+syn keyword sqlKeyword column columns
syn keyword sqlKeyword command comment committed comparisons
syn keyword sqlKeyword compatible component compressed compute computes
-syn keyword sqlKeyword concat confirm conflict connection
+syn keyword sqlKeyword concat configuration confirm conflict connection
syn keyword sqlKeyword console consolidate consolidated
-syn keyword sqlKeyword constraint constraints continue
-syn keyword sqlKeyword convert copy count crc cross cube
+syn keyword sqlKeyword constraint constraints content continue
+syn keyword sqlKeyword convert coordinator copy count count_set_bits
+syn keyword sqlKeyword crc createtime cross cube cume_dist
syn keyword sqlKeyword current cursor data data database
syn keyword sqlKeyword current_timestamp current_user
-syn keyword sqlKeyword datatype dba dbfile
-syn keyword sqlKeyword dbspace dbspacename debug decoupled
-syn keyword sqlKeyword decrypted default defaults deferred definition
+syn keyword sqlKeyword databases datatype dba dbfile
+syn keyword sqlKeyword dbspace dbspaces dbspacename debug decoupled
+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 detach deterministic directory
-syn keyword sqlKeyword disable disabled distinct do domain download
+syn keyword sqlKeyword disable disabled distinct do domain download duplicate
syn keyword sqlKeyword dsetpass dttm dynamic each editproc ejb
-syn keyword sqlKeyword else elseif enable encapsulated encrypted end
-syn keyword sqlKeyword encoding endif engine erase error escape escapes event
-syn keyword sqlKeyword every except exception exclude exclusive exec
-syn keyword sqlKeyword existing exists expanded express
+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 event_parameter every except 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 fieldproc file filler
-syn keyword sqlKeyword fillfactor finish first first_keyword
-syn keyword sqlKeyword following force foreign format
-syn keyword sqlKeyword freepage french fresh full function go global
-syn keyword sqlKeyword group handler hash having header hexadecimal
-syn keyword sqlKeyword hidden high history hold holdlock
-syn keyword sqlKeyword hours id identified identity ignore
+syn keyword sqlKeyword fastfirstrow fieldproc file files filler
+syn keyword sqlKeyword fillfactor finish first first_keyword first_value
+syn keyword sqlKeyword following force foreign format forxml forxml_sep fp frame
+syn keyword sqlKeyword freepage french fresh full function gb get_bit go global
+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 inactive inactivity incremental index info
+syn keyword sqlKeyword in inactiv inactive inactivity included 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 into introduced iq is isolation jar java
+syn keyword sqlKeyword internal intersection into introduced invoker 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 last_keyword lateral left level like
-syn keyword sqlKeyword limit local location log
-syn keyword sqlKeyword logging login logscan long low lru main
-syn keyword sqlKeyword match materialized max maximum membership
-syn keyword sqlKeyword minutes mirror mode modify monitor mru
-syn keyword sqlKeyword name named national native natural new next no
+syn keyword sqlKeyword last_keyword last_value lateral ld left len lf ln level like
+syn keyword sqlKeyword limit local location log
+syn keyword sqlKeyword logging login logscan long low lru main manual mark
+syn keyword sqlKeyword match matched materialized max maximum mb membership
+syn keyword sqlKeyword merge metadata methods minimum minutes mirror mode modify monitor move mru
+syn keyword sqlKeyword multiplex name named national native natural new next no
syn keyword sqlKeyword noholdlock nolock nonclustered none not
-syn keyword sqlKeyword notify null nulls of off old on
-syn keyword sqlKeyword only optimization optimizer option
+syn keyword sqlKeyword notify null nullable_constant nulls object oem_string of off offline
+syn keyword sqlKeyword old on online only openstring optimization optimizer option
syn keyword sqlKeyword or order others out outer over
syn keyword sqlKeyword package packetsize padding page pages
-syn keyword sqlKeyword paglock parallel part partition partner password path
-syn keyword sqlKeyword pctfree plan preceding precision prefetch prefix
-syn keyword sqlKeyword preserve preview primary
-syn keyword sqlKeyword prior priqty private privileges procedure profile
-syn keyword sqlKeyword public publication publish publisher
-syn keyword sqlKeyword quote quotes range readcommitted readonly
+syn keyword sqlKeyword paglock parallel part partial partition partitions partner password path
+syn keyword sqlKeyword pctfree plan policy populate port postfilter preceding precision
+syn keyword sqlKeyword prefetch prefilter prefix preserve preview primary
+syn keyword sqlKeyword prior priority priqty private privileges procedure profile
+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 refresh relative relocate
+syn keyword sqlKeyword referencing refresh regex regexp regexp_substr relative relocate
syn keyword sqlKeyword rename repeatable repeatableread
-syn keyword sqlKeyword replicate rereceive resend reserve reset
+syn keyword sqlKeyword replicate request_timeout required rereceive resend reserve reset
syn keyword sqlKeyword resizing resolve resource respect
syn keyword sqlKeyword restrict result retain
-syn keyword sqlKeyword returns right
-syn keyword sqlKeyword rollup root row rowlock rows save
-syn keyword sqlKeyword schedule schema scripted scroll seconds secqty
+syn keyword sqlKeyword returns reverse right role
+syn keyword sqlKeyword rollup root row row_number rowlock rows save
+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 schedule schema scope scripted scroll seconds secqty security
syn keyword sqlKeyword send sensitive sent serializable
-syn keyword sqlKeyword server server session sets
+syn keyword sqlKeyword server server session set_bit set_bits sets
syn keyword sqlKeyword share simple since site size skip
-syn keyword sqlKeyword snapshot soapheader some sorted_data
-syn keyword sqlKeyword sqlcode sqlid sqlstate stacker stale statement
-syn keyword sqlKeyword statistics status stogroup store
-syn keyword sqlKeyword strip subpages subscribe subscription
-syn keyword sqlKeyword subtransaction synchronization
+syn keyword sqlKeyword snapshot soapheader soap_header split some sorted_data
+syn keyword sqlKeyword sqlcode sqlid sqlflagger sqlstate sqrt square
+syn keyword sqlKeyword stacker stale statement statistics status stddev_pop stddev_samp
+syn keyword sqlKeyword stemmer stogroup stoplist store
+syn keyword sqlKeyword strip stripesizekb striping subpages subscribe subscription
+syn keyword sqlKeyword subtransaction suser_id suser_name synchronization
syn keyword sqlKeyword syntax_error table tablock
-syn keyword sqlKeyword tablockx tb temp template temporary then
-syn keyword sqlKeyword ties timezone to top tracing
-syn keyword sqlKeyword transaction transactional tries true
+syn keyword sqlKeyword tablockx tb temp template temporary term then
+syn keyword sqlKeyword ties timezone to to_char to_nchar top traced_plan tracing
+syn keyword sqlKeyword transfer transaction transactional tries true
syn keyword sqlKeyword tsequal type tune uncommitted unconditionally
-syn keyword sqlKeyword unenforced unique union unknown unload
-syn keyword sqlKeyword updating updlock upgrade upload use user
+syn keyword sqlKeyword unenforced unicode unique union unistr unknown unlimited unload
+syn keyword sqlKeyword unpartition unquiesce updatetime updating updlock upgrade upload
+syn keyword sqlKeyword upper use user
syn keyword sqlKeyword using utc utilities validproc
syn keyword sqlKeyword value values varchar variable
-syn keyword sqlKeyword varying vcat verify view virtual wait
-syn keyword sqlKeyword warning web when where window with with_auto
+syn keyword sqlKeyword varying var_pop var_samp vcat verify versions view virtual wait
+syn keyword sqlKeyword warning wd web when where window with with_auto
syn keyword sqlKeyword with_auto with_cube with_rollup without
-syn keyword sqlKeyword with_lparen within word work workload writefile
-syn keyword sqlKeyword writers writeserver xlock zeros
+syn keyword sqlKeyword with_lparen within word work workload write writefile
+syn keyword sqlKeyword writeclientfile writer writers writeserver xlock zeros
" XML function support
-syn keyword sqlFunction openxml xmlelement xmlforest xmlgen xmlconcat xmlagg
-syn keyword sqlFunction xmlattributes
+syn keyword sqlFunction openxml xmlelement xmlforest xmlgen xmlconcat xmlagg
+syn keyword sqlFunction xmlattributes
syn keyword sqlKeyword raw auto elements explicit
" HTTP support
-syn keyword sqlKeyword authorization secure url service
+syn keyword sqlKeyword authorization secure url service next_soap_header
" HTTP 9.0.2 new procedure keywords
syn keyword sqlKeyword namespace certificate clientport proxy
" OLAP support 9.0.0
-syn keyword sqlKeyword covar_pop covar_samp corr regr_slope regr_intercept
+syn keyword sqlKeyword covar_pop covar_samp corr regr_slope regr_intercept
syn keyword sqlKeyword regr_count regr_r2 regr_avgx regr_avgy
syn keyword sqlKeyword regr_sxx regr_syy regr_sxy
" Alternate keywords
syn keyword sqlKeyword character dec options proc reference
-syn keyword sqlKeyword subtrans tran syn keyword
+syn keyword sqlKeyword subtrans tran syn keyword
syn keyword sqlOperator in any some all between exists
-syn keyword sqlOperator like escape not is and or
+syn keyword sqlOperator like escape not is and or
syn keyword sqlOperator intersect minus
syn keyword sqlOperator prior distinct
@@ -496,43 +511,38 @@
syn keyword sqlType char long varchar text
-syn keyword sqlType bigint decimal double float int integer numeric
+syn keyword sqlType bigint decimal double float int integer numeric
syn keyword sqlType smallint tinyint real
syn keyword sqlType money smallmoney
-syn keyword sqlType bit
-syn keyword sqlType date datetime smalldate time timestamp
+syn keyword sqlType bit
+syn keyword sqlType date datetime smalldate time timestamp
syn keyword sqlType binary image varbinary uniqueidentifier
syn keyword sqlType xml unsigned
" New types 10.0.0
syn keyword sqlType varbit nchar nvarchar
syn keyword sqlOption Allow_nulls_by_default
+syn keyword sqlOption Allow_read_client_file
+syn keyword sqlOption Allow_snapshot_isolation
+syn keyword sqlOption Allow_write_client_file
syn keyword sqlOption Ansi_blanks
syn keyword sqlOption Ansi_close_cursors_on_rollback
-syn keyword sqlOption Ansi_integer_overflow
syn keyword sqlOption Ansi_permissions
+syn keyword sqlOption Ansi_substring
syn keyword sqlOption Ansi_update_constraints
syn keyword sqlOption Ansinull
-syn keyword sqlOption Assume_distinct_servers
syn keyword sqlOption Auditing
syn keyword sqlOption Auditing_options
-syn keyword sqlOption Auto_commit
-syn keyword sqlOption Auto_refetch
-syn keyword sqlOption Automatic_timestamp
syn keyword sqlOption Background_priority
-syn keyword sqlOption Bell
-syn keyword sqlOption Blob_threshold
syn keyword sqlOption Blocking
syn keyword sqlOption Blocking_timeout
syn keyword sqlOption Chained
-syn keyword sqlOption Char_OEM_Translation
syn keyword sqlOption Checkpoint_time
syn keyword sqlOption Cis_option
syn keyword sqlOption Cis_rowset_size
syn keyword sqlOption Close_on_endtrans
-syn keyword sqlOption Command_delimiter
-syn keyword sqlOption Commit_on_exit
-syn keyword sqlOption Compression
+syn keyword sqlOption Collect_statistics_on_dml_updates
+syn keyword sqlOption Conn_auditing
syn keyword sqlOption Connection_authentication
syn keyword sqlOption Continue_after_raiserror
syn keyword sqlOption Conversion_error
@@ -543,125 +553,90 @@
syn keyword sqlOption Date_order
syn keyword sqlOption Debug_messages
syn keyword sqlOption Dedicated_task
+syn keyword sqlOption Default_dbspace
syn keyword sqlOption Default_timestamp_increment
syn keyword sqlOption Delayed_commit_timeout
syn keyword sqlOption Delayed_commits
-syn keyword sqlOption Delete_old_logs
-syn keyword sqlOption Describe_Java_Format
-syn keyword sqlOption Divide_by_zero_error
-syn keyword sqlOption Echo
syn keyword sqlOption Escape_character
syn keyword sqlOption Exclude_operators
syn keyword sqlOption Extended_join_syntax
-syn keyword sqlOption External_remote_options
syn keyword sqlOption Fire_triggers
syn keyword sqlOption First_day_of_week
-syn keyword sqlOption Float_as_double
syn keyword sqlOption For_xml_null_treatment
syn keyword sqlOption Force_view_creation
syn keyword sqlOption Global_database_id
-syn keyword sqlOption Headings
-syn keyword sqlOption Input_format
+syn keyword sqlOption Http_session_timeout
syn keyword sqlOption Integrated_server_name
syn keyword sqlOption Isolation_level
-syn keyword sqlOption ISQL_command_timing
-syn keyword sqlOption ISQL_escape_character
-syn keyword sqlOption ISQL_field_separator
-syn keyword sqlOption ISQL_log
-syn keyword sqlOption ISQL_plan
-syn keyword sqlOption ISQL_plan_cursor_sensitivity
-syn keyword sqlOption ISQL_plan_cursor_writability
-syn keyword sqlOption ISQL_quote
-syn keyword sqlOption Java_heap_size
-syn keyword sqlOption Java_input_output
-syn keyword sqlOption Java_namespace_size
-syn keyword sqlOption Java_page_buffer_size
+syn keyword sqlOption Java_location
+syn keyword sqlOption Java_main_userid
+syn keyword sqlOption Java_vm_options
syn keyword sqlOption Lock_rejected_rows
syn keyword sqlOption Log_deadlocks
-syn keyword sqlOption Log_detailed_plans
-syn keyword sqlOption Log_max_requests
syn keyword sqlOption Login_mode
syn keyword sqlOption Login_procedure
+syn keyword sqlOption Materialized_view_optimization
+syn keyword sqlOption Max_client_statements_cached
syn keyword sqlOption Max_cursor_count
syn keyword sqlOption Max_hash_size
syn keyword sqlOption Max_plans_cached
+syn keyword sqlOption Max_priority
+syn keyword sqlOption Max_query_tasks
syn keyword sqlOption Max_recursive_iterations
syn keyword sqlOption Max_statement_count
-syn keyword sqlOption Max_work_table_hash_size
+syn keyword sqlOption Max_temp_space
syn keyword sqlOption Min_password_length
syn keyword sqlOption Nearest_century
syn keyword sqlOption Non_keywords
-syn keyword sqlOption NULLS
-syn keyword sqlOption ODBC_describe_binary_as_varbinary
-syn keyword sqlOption ODBC_distinguish_char_and_varchar
-syn keyword sqlOption On_Charset_conversion_failure
-syn keyword sqlOption On_error
+syn keyword sqlOption Odbc_describe_binary_as_varbinary
+syn keyword sqlOption Odbc_distinguish_char_and_varchar
+syn keyword sqlOption Oem_string
+syn keyword sqlOption On_charset_conversion_failure
syn keyword sqlOption On_tsql_error
-syn keyword sqlOption Optimistic_wait_for_commit
syn keyword sqlOption Optimization_goal
syn keyword sqlOption Optimization_level
-syn keyword sqlOption Optimization_logging
syn keyword sqlOption Optimization_workload
-syn keyword sqlOption Output_format
-syn keyword sqlOption Output_length
-syn keyword sqlOption Output_nulls
-syn keyword sqlOption Percent_as_comment
syn keyword sqlOption Pinned_cursor_percent_of_cache
+syn keyword sqlOption Post_login_procedure
syn keyword sqlOption Precision
syn keyword sqlOption Prefetch
syn keyword sqlOption Preserve_source_format
syn keyword sqlOption Prevent_article_pkey_update
-syn keyword sqlOption Qualify_owners
-syn keyword sqlOption Query_plan_on_open
-syn keyword sqlOption Quiet
-syn keyword sqlOption Quote_all_identifiers
+syn keyword sqlOption Priority
+syn keyword sqlOption Query_mem_timeout
syn keyword sqlOption Quoted_identifier
syn keyword sqlOption Read_past_deleted
syn keyword sqlOption Recovery_time
syn keyword sqlOption Remote_idle_timeout
syn keyword sqlOption Replicate_all
-syn keyword sqlOption Replication_error
-syn keyword sqlOption Replication_error_piece
+syn keyword sqlOption Request_timeout
syn keyword sqlOption Return_date_time_as_string
-syn keyword sqlOption Return_java_as_string
-syn keyword sqlOption RI_Trigger_time
syn keyword sqlOption Rollback_on_deadlock
syn keyword sqlOption Row_counts
-syn keyword sqlOption Save_remote_passwords
syn keyword sqlOption Scale
-syn keyword sqlOption Screen_format
-syn keyword sqlOption Sort_Collation
-syn keyword sqlOption SQL_flagger_error_level
-syn keyword sqlOption SQL_flagger_warning_level
-syn keyword sqlOption SQLConnect
-syn keyword sqlOption SQLStart
-syn keyword sqlOption SR_Date_Format
-syn keyword sqlOption SR_Time_Format
-syn keyword sqlOption SR_TimeStamp_Format
-syn keyword sqlOption Statistics
+syn keyword sqlOption Secure_feature_key
+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 Subscribe_by_remote
syn keyword sqlOption Subsume_row_locks
-syn keyword sqlOption Suppress_TDS_debugging
-syn keyword sqlOption TDS_Empty_string_is_null
+syn keyword sqlOption Suppress_tds_debugging
+syn keyword sqlOption Synchronize_mirror_on_commit
+syn keyword sqlOption Tds_empty_string_is_null
syn keyword sqlOption Temp_space_limit_check
-syn keyword sqlOption Thread_count
-syn keyword sqlOption Thread_stack
-syn keyword sqlOption Thread_swaps
syn keyword sqlOption Time_format
syn keyword sqlOption Time_zone_adjustment
syn keyword sqlOption Timestamp_format
-syn keyword sqlOption Truncate_date_values
syn keyword sqlOption Truncate_timestamp_values
-syn keyword sqlOption Truncate_with_auto_commit
-syn keyword sqlOption Truncation_length
-syn keyword sqlOption Tsql_hex_constant
+syn keyword sqlOption Tsql_outer_joins
syn keyword sqlOption Tsql_variables
+syn keyword sqlOption Updatable_statement_isolation
syn keyword sqlOption Update_statistics
+syn keyword sqlOption Upgrade_database_capability
syn keyword sqlOption User_estimates
-syn keyword sqlOption Verify_all_columns
-syn keyword sqlOption Verify_threshold
+syn keyword sqlOption Verify_password_function
syn keyword sqlOption Wait_for_commit
+syn keyword sqlOption Webservice_namespace_host
" Strings and characters:
syn region sqlString start=+"+ end=+"+ contains=@Spell
diff -Nur runtime.patched/syntax/sshconfig.vim runtime/syntax/sshconfig.vim
--- runtime.patched/syntax/sshconfig.vim 2006-03-05 13:55:08.000000000 -0800
+++ runtime/syntax/sshconfig.vim 2009-07-26 04:44:10.000000000 -0700
@@ -1,23 +1,21 @@
" Vim syntax file
-" This is a GENERATED FILE. Please always refer to source file at the URI below.
-" Language: OpenSSH server configuration file (ssh_config)
-" Maintainer: David Ne\v{c}as (Yeti) <[email protected]>
-" Last Change: 2006-03-05
-" URL: http://trific.ath.cx/Ftp/vim/syntax/sshconfig.vim
+" Language: OpenSSH client configuration file (ssh_config)
+" Maintainer: David Necas (Yeti) <[email protected]>
+" Last Change: 2009-07-09
" Setup
if version >= 600
- if exists("b:current_syntax")
- finish
- endif
+ if exists("b:current_syntax")
+ finish
+ endif
else
- syntax clear
+ syntax clear
endif
if version >= 600
- setlocal iskeyword=_,-,a-z,A-Z,48-57
+ setlocal iskeyword=_,-,a-z,A-Z,48-57
else
- set iskeyword=_,-,a-z,A-Z,48-57
+ set iskeyword=_,-,a-z,A-Z,48-57
endif
syn case ignore
@@ -28,19 +26,21 @@
" Constants
syn keyword sshconfigYesNo yes no ask
-syn keyword sshconfigCipher blowfish des 3des
+syn keyword sshconfigYesNo any auto
syn keyword sshconfigCipher aes128-cbc 3des-cbc blowfish-cbc cast128-cbc
syn keyword sshconfigCipher aes192-cbc aes256-cbc aes128-ctr aes256-ctr
syn keyword sshconfigCipher arcfour arcfour128 arcfour256 cast128-cbc
syn keyword sshconfigMAC hmac-md5 hmac-sha1 hmac-ripemd160 hmac-sha1-96
syn keyword sshconfigMAC hmac-md5-96
+syn match sshconfigMAC "\<umac-64@openssh\.com\>"
syn keyword sshconfigHostKeyAlg ssh-rsa ssh-dss
syn keyword sshconfigPreferredAuth hostbased publickey password
syn keyword sshconfigPreferredAuth keyboard-interactive
syn keyword sshconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
syn keyword sshconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
-syn keyword sshconfigSysLogFacility DAEMON USER AUTH LOCAL0 LOCAL1 LOCAL2
-syn keyword sshconfigSysLogFacility LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
+syn keyword sshconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
+syn keyword sshconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
+syn match sshconfigVar "%[rhpldun]\>"
syn match sshconfigSpecial "[*?]"
syn match sshconfigNumber "\d\+"
syn match sshconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>"
@@ -49,57 +49,68 @@
" Keywords
syn keyword sshconfigHostSect Host
-syn keyword sshconfigKeyword AddressFamily BatchMode BindAddress
+syn keyword sshconfigKeyword AddressFamily
+syn keyword sshconfigKeyword BatchMode BindAddress
syn keyword sshconfigKeyword ChallengeResponseAuthentication CheckHostIP
syn keyword sshconfigKeyword Cipher Ciphers ClearAllForwardings
syn keyword sshconfigKeyword Compression CompressionLevel ConnectTimeout
syn keyword sshconfigKeyword ConnectionAttempts ControlMaster
-syn keyword sshconfigKeyword ControlPath DynamicForward EnableSSHKeysign
-syn keyword sshconfigKeyword EscapeChar ForwardAgent ForwardX11
-syn keyword sshconfigKeyword ForwardX11Trusted GSSAPIAuthentication
+syn keyword sshconfigKeyword ControlPath DynamicForward
+syn keyword sshconfigKeyword EnableSSHKeysign EscapeChar ExitOnForwardFailure
+syn keyword sshconfigKeyword ForwardAgent ForwardX11
+syn keyword sshconfigKeyword ForwardX11Trusted
+syn keyword sshconfigKeyword GSSAPIAuthentication
syn keyword sshconfigKeyword GSSAPIDelegateCredentials GatewayPorts
-syn keyword sshconfigKeyword GlobalKnownHostsFile HostKeyAlgorithms
-syn keyword sshconfigKeyword HashKnownHosts KbdInteractiveDevices
+syn keyword sshconfigKeyword GlobalKnownHostsFile
+syn keyword sshconfigKeyword HostKeyAlgorithms HashKnownHosts
syn keyword sshconfigKeyword HostKeyAlias HostName HostbasedAuthentication
-syn keyword sshconfigKeyword IdentitiesOnly IdentityFile LocalForward
-syn keyword sshconfigKeyword LogLevel MACs NoHostAuthenticationForLocalhost
-syn keyword sshconfigKeyword NumberOfPasswordPrompts PasswordAuthentication
+syn keyword sshconfigKeyword IdentitiesOnly IdentityFile
+syn keyword sshconfigKeyword KbdInteractiveAuthentication KbdInteractiveDevices
+syn keyword sshconfigKeyword LocalCommand LocalForward LogLevel
+syn keyword sshconfigKeyword MACs
+syn keyword sshconfigKeyword NoHostAuthenticationForLocalhost
+syn keyword sshconfigKeyword NumberOfPasswordPrompts
+syn keyword sshconfigKeyword PasswordAuthentication PermitLocalCommand
syn keyword sshconfigKeyword Port PreferredAuthentications Protocol
syn keyword sshconfigKeyword ProxyCommand PubkeyAuthentication
-syn keyword sshconfigKeyword RSAAuthentication RemoteForward
-syn keyword sshconfigKeyword RhostsAuthentication RhostsRSAAuthentication
+syn keyword sshconfigKeyword PermitLocalCommand
+syn keyword sshconfigKeyword RSAAuthentication RemoteForward RekeyLimit
+syn keyword sshconfigKeyword RhostsRSAAuthentication
syn keyword sshconfigKeyword SendEnv ServerAliveCountMax ServerAliveInterval
syn keyword sshconfigKeyword SmartcardDevice StrictHostKeyChecking
+syn keyword sshconfigKeyword Tunnel TunnelDevice
syn keyword sshconfigKeyword TCPKeepAlive UsePrivilegedPort User
-syn keyword sshconfigKeyword UserKnownHostsFile VerifyHostKeyDNS XAuthLocation
+syn keyword sshconfigKeyword UserKnownHostsFile
+syn keyword sshconfigKeyword VerifyHostKeyDNS VisualHostKey
+syn keyword sshconfigKeyword XAuthLocation
" Define the default highlighting
if version >= 508 || !exists("did_sshconfig_syntax_inits")
- if version < 508
- let did_sshconfig_syntax_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
-
- HiLink sshconfigComment Comment
- HiLink sshconfigTodo Todo
- HiLink sshconfigHostPort sshconfigConstant
- HiLink sshconfigNumber sshconfigConstant
- HiLink sshconfigConstant Constant
- HiLink sshconfigYesNo sshconfigEnum
- HiLink sshconfigCipher sshconfigEnum
- HiLink sshconfigMAC sshconfigEnum
- HiLink sshconfigHostKeyAlg sshconfigEnum
- HiLink sshconfigLogLevel sshconfigEnum
- HiLink sshconfigSysLogFacility sshconfigEnum
- HiLink sshconfigPreferredAuth sshconfigEnum
- HiLink sshconfigEnum Function
- HiLink sshconfigSpecial Special
- HiLink sshconfigKeyword Keyword
- HiLink sshconfigHostSect Type
- delcommand HiLink
+ if version < 508
+ let did_sshconfig_syntax_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+
+ HiLink sshconfigComment Comment
+ HiLink sshconfigTodo Todo
+ HiLink sshconfigHostPort sshconfigConstant
+ HiLink sshconfigNumber sshconfigConstant
+ HiLink sshconfigConstant Constant
+ HiLink sshconfigYesNo sshconfigEnum
+ HiLink sshconfigCipher sshconfigEnum
+ HiLink sshconfigMAC sshconfigEnum
+ HiLink sshconfigHostKeyAlg sshconfigEnum
+ HiLink sshconfigLogLevel sshconfigEnum
+ HiLink sshconfigSysLogFacility sshconfigEnum
+ HiLink sshconfigPreferredAuth sshconfigEnum
+ HiLink sshconfigVar sshconfigEnum
+ HiLink sshconfigEnum Identifier
+ HiLink sshconfigSpecial Special
+ HiLink sshconfigKeyword Keyword
+ HiLink sshconfigHostSect Type
+ delcommand HiLink
endif
let b:current_syntax = "sshconfig"
-
diff -Nur runtime.patched/syntax/sshdconfig.vim runtime/syntax/sshdconfig.vim
--- runtime.patched/syntax/sshdconfig.vim 2006-03-05 13:55:08.000000000 -0800
+++ runtime/syntax/sshdconfig.vim 2009-07-26 04:41:55.000000000 -0700
@@ -1,23 +1,21 @@
" Vim syntax file
-" This is a GENERATED FILE. Please always refer to source file at the URI below.
" Language: OpenSSH server configuration file (sshd_config)
-" Maintainer: David Ne\v{c}as (Yeti) <[email protected]>
-" Last Change: 2006-03-05
-" URL: http://trific.ath.cx/Ftp/vim/syntax/sshdconfig.vim
+" Maintainer: David Necas (Yeti) <[email protected]>
+" Last Change: 2009-07-09
" Setup
if version >= 600
- if exists("b:current_syntax")
- finish
- endif
+ if exists("b:current_syntax")
+ finish
+ endif
else
- syntax clear
+ syntax clear
endif
if version >= 600
- setlocal iskeyword=_,-,a-z,A-Z,48-57
+ setlocal iskeyword=_,-,a-z,A-Z,48-57
else
- set iskeyword=_,-,a-z,A-Z,48-57
+ set iskeyword=_,-,a-z,A-Z,48-57
endif
syn case ignore
@@ -27,78 +25,87 @@
syn keyword sshdconfigTodo TODO FIXME NOT contained
" Constants
-syn keyword sshdconfigYesNo yes no
+syn keyword sshdconfigYesNo yes no none
+syn keyword sshdconfigAddressFamily any inet inet6
syn keyword sshdconfigCipher aes128-cbc 3des-cbc blowfish-cbc cast128-cbc
syn keyword sshdconfigCipher aes192-cbc aes256-cbc aes128-ctr aes256-ctr
syn keyword sshdconfigCipher arcfour arcfour128 arcfour256 cast128-cbc
syn keyword sshdconfigMAC hmac-md5 hmac-sha1 hmac-ripemd160 hmac-sha1-96
syn keyword sshdconfigMAC hmac-md5-96
+syn match sshdconfigMAC "\<umac-64@openssh\.com\>"
syn keyword sshdconfigRootLogin without-password forced-commands-only
syn keyword sshdconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
syn keyword sshdconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
-syn keyword sshdconfigSysLogFacility DAEMON USER AUTH LOCAL0 LOCAL1 LOCAL2
-syn keyword sshdconfigSysLogFacility LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
+syn keyword sshdconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
+syn keyword sshdconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
syn match sshdconfigSpecial "[*?]"
syn match sshdconfigNumber "\d\+"
syn match sshdconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>"
syn match sshdconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>"
+" FIXME: this matches quite a few things which are NOT valid IPv6 addresses
syn match sshdconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}:\d\+\>"
syn match sshdconfigTime "\<\(\d\+[sSmMhHdDwW]\)\+\>"
" Keywords
-syn keyword sshdconfigKeyword AcceptEnv AddressFamily
+syn keyword sshdconfigMatch Host User Group Address
+syn keyword sshdconfigKeyword AcceptEnv AddressFamily AllowAgentForwarding
syn keyword sshdconfigKeyword AllowGroups AllowTcpForwarding
-syn keyword sshdconfigKeyword AllowUsers AuthorizedKeysFile Banner
-syn keyword sshdconfigKeyword ChallengeResponseAuthentication
+syn keyword sshdconfigKeyword AllowUsers AuthorizedKeysFile
+syn keyword sshdconfigKeyword Banner
+syn keyword sshdconfigKeyword ChallengeResponseAuthentication ChrootDirectory
syn keyword sshdconfigKeyword Ciphers ClientAliveCountMax
syn keyword sshdconfigKeyword ClientAliveInterval Compression
-syn keyword sshdconfigKeyword DenyGroups DenyUsers GSSAPIAuthentication
-syn keyword sshdconfigKeyword GSSAPICleanupCredentials GatewayPorts
-syn keyword sshdconfigKeyword HostKey HostbasedAuthentication
+syn keyword sshdconfigKeyword DenyGroups DenyUsers
+syn keyword sshdconfigKeyword ForceCommand
+syn keyword sshdconfigKeyword GatewayPorts GSSAPIAuthentication
+syn keyword sshdconfigKeyword GSSAPICleanupCredentials
+syn keyword sshdconfigKeyword HostbasedAuthentication HostKey
syn keyword sshdconfigKeyword IgnoreRhosts IgnoreUserKnownHosts
-syn keyword sshdconfigKeyword KerberosAuthentication KerberosOrLocalPasswd
-syn keyword sshdconfigKeyword KerberosTgtPassing KerberosTicketCleanup
-syn keyword sshdconfigKeyword KerberosGetAFSToken
-syn keyword sshdconfigKeyword KeyRegenerationInterval ListenAddress
-syn keyword sshdconfigKeyword LogLevel LoginGraceTime MACs MaxAuthTries
-syn keyword sshdconfigKeyword MaxStartups PasswordAuthentication
-syn keyword sshdconfigKeyword PermitEmptyPasswords PermitRootLogin
+syn keyword sshdconfigKeyword KerberosAuthentication KerberosGetAFSToken
+syn keyword sshdconfigKeyword KerberosOrLocalPasswd KerberosTicketCleanup
+syn keyword sshdconfigKeyword KeyRegenerationInterval
+syn keyword sshdconfigKeyword ListenAddress LoginGraceTime LogLevel
+syn keyword sshdconfigKeyword MACs Match MaxAuthTries MaxSessions MaxStartups
+syn keyword sshdconfigKeyword PasswordAuthentication PermitEmptyPasswords
+syn keyword sshdconfigKeyword PermitRootLogin PermitOpen PermitTunnel
syn keyword sshdconfigKeyword PermitUserEnvironment PidFile Port
syn keyword sshdconfigKeyword PrintLastLog PrintMotd Protocol
-syn keyword sshdconfigKeyword PubkeyAuthentication RSAAuthentication
-syn keyword sshdconfigKeyword RhostsAuthentication RhostsRSAAuthentication
-syn keyword sshdconfigKeyword ServerKeyBits StrictModes Subsystem
-syn keyword sshdconfigKeyword ShowPatchLevel
-syn keyword sshdconfigKeyword SyslogFacility TCPKeepAlive UseDNS
-syn keyword sshdconfigKeyword UseLogin UsePAM UsePrivilegeSeparation
+syn keyword sshdconfigKeyword PubkeyAuthentication
+syn keyword sshdconfigKeyword RhostsRSAAuthentication RSAAuthentication
+syn keyword sshdconfigKeyword ServerKeyBits ShowPatchLevel StrictModes
+syn keyword sshdconfigKeyword Subsystem SyslogFacility
+syn keyword sshdconfigKeyword TCPKeepAlive
+syn keyword sshdconfigKeyword UseDNS UseLogin UsePAM UsePrivilegeSeparation
syn keyword sshdconfigKeyword X11DisplayOffset X11Forwarding
syn keyword sshdconfigKeyword X11UseLocalhost XAuthLocation
" Define the default highlighting
if version >= 508 || !exists("did_sshdconfig_syntax_inits")
- if version < 508
- let did_sshdconfig_syntax_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
-
- HiLink sshdconfigComment Comment
- HiLink sshdconfigTodo Todo
- HiLink sshdconfigHostPort sshdconfigConstant
- HiLink sshdconfigTime sshdconfigConstant
- HiLink sshdconfigNumber sshdconfigConstant
- HiLink sshdconfigConstant Constant
- HiLink sshdconfigYesNo sshdconfigEnum
- HiLink sshdconfigCipher sshdconfigEnum
- HiLink sshdconfigMAC sshdconfigEnum
- HiLink sshdconfigRootLogin sshdconfigEnum
- HiLink sshdconfigLogLevel sshdconfigEnum
- HiLink sshdconfigSysLogFacility sshdconfigEnum
- HiLink sshdconfigEnum Function
- HiLink sshdconfigSpecial Special
- HiLink sshdconfigKeyword Keyword
- delcommand HiLink
+ if version < 508
+ let did_sshdconfig_syntax_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+
+ HiLink sshdconfigComment Comment
+ HiLink sshdconfigTodo Todo
+ HiLink sshdconfigHostPort sshdconfigConstant
+ HiLink sshdconfigTime sshdconfigConstant
+ HiLink sshdconfigNumber sshdconfigConstant
+ HiLink sshdconfigConstant Constant
+ HiLink sshdconfigYesNo sshdconfigEnum
+ HiLink sshdconfigAddressFamily sshdconfigEnum
+ HiLink sshdconfigCipher sshdconfigEnum
+ HiLink sshdconfigMAC sshdconfigEnum
+ HiLink sshdconfigRootLogin sshdconfigEnum
+ HiLink sshdconfigLogLevel sshdconfigEnum
+ HiLink sshdconfigSysLogFacility sshdconfigEnum
+ HiLink sshdconfigEnum Function
+ HiLink sshdconfigSpecial Special
+ HiLink sshdconfigKeyword Keyword
+ HiLink sshdconfigMatch Type
+ delcommand HiLink
endif
let b:current_syntax = "sshdconfig"
diff -Nur runtime.patched/syntax/taskdata.vim runtime/syntax/taskdata.vim
--- runtime.patched/syntax/taskdata.vim 1969-12-31 16:00:00.000000000 -0800
+++ runtime/syntax/taskdata.vim 2009-07-26 04:44:44.000000000 -0700
@@ -0,0 +1,43 @@
+" Vim syntax file
+" Language: task data
+" Maintainer: John Florian <[email protected]>
+" Updated: Wed Jul 8 19:46:20 EDT 2009
+
+
+" 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
+
+" Key Names for values.
+syn keyword taskdataKey description due end entry imask mask parent
+syn keyword taskdataKey priority project recur start status tags uuid
+syn match taskdataKey "annotation_\d\+"
+syn match taskdataUndo "^time.*$"
+syn match taskdataUndo "^\(old \|new \|---\)"
+
+" Values associated with key names.
+"
+" Strings
+syn region taskdataString matchgroup=Normal start=+"+ end=+"+
+ \ contains=taskdataEncoded,taskdataUUID,@Spell
+"
+" Special Embedded Characters (e.g., ",")
+syn match taskdataEncoded "&\a\+;" contained
+" UUIDs
+syn match taskdataUUID "\x\{8}-\(\x\{4}-\)\{3}\x\{12}" contained
+
+
+" The default methods for highlighting. Can be overridden later.
+hi def link taskdataEncoded Function
+hi def link taskdataKey Statement
+hi def link taskdataString String
+hi def link taskdataUUID Special
+hi def link taskdataUndo Type
+
+let b:current_syntax = "taskdata"
+
+" vim:noexpandtab
diff -Nur runtime.patched/syntax/taskedit.vim runtime/syntax/taskedit.vim
--- runtime.patched/syntax/taskedit.vim 1969-12-31 16:00:00.000000000 -0800
+++ runtime/syntax/taskedit.vim 2009-07-26 04:44:44.000000000 -0700
@@ -0,0 +1,35 @@
+" Vim syntax file
+" Language: support for 'task 42 edit'
+" Maintainer: John Florian <[email protected]>
+" Updated: Wed Jul 8 19:46:32 EDT 2009
+
+
+" 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
+
+syn match taskeditHeading "^\s*#\s*Name\s\+Editable details\s*$" contained
+syn match taskeditHeading "^\s*#\s*-\+\s\+-\+\s*$" contained
+syn match taskeditReadOnly "^\s*#\s*\(UU\)\?ID:.*$" contained
+syn match taskeditReadOnly "^\s*#\s*Status:.*$" contained
+syn match taskeditReadOnly "^\s*#\s*i\?Mask:.*$" contained
+syn match taskeditKey "^ *.\{-}:" nextgroup=taskeditString
+syn match taskeditComment "^\s*#.*$"
+ \ contains=taskeditReadOnly,taskeditHeading
+syn match taskeditString ".*$" contained contains=@Spell
+
+
+" The default methods for highlighting. Can be overridden later.
+hi def link taskeditComment Comment
+hi def link taskeditHeading Function
+hi def link taskeditKey Statement
+hi def link taskeditReadOnly Special
+hi def link taskeditString String
+
+let b:current_syntax = "taskedit"
+
+" vim:noexpandtab
diff -Nur runtime.patched/syntax/tcl.vim runtime/syntax/tcl.vim
--- runtime.patched/syntax/tcl.vim 2006-11-17 11:25:54.000000000 -0800
+++ runtime/syntax/tcl.vim 2009-06-03 03:07:39.000000000 -0700
@@ -1,13 +1,16 @@
" Vim syntax file
-" Language: TCL/TK
-" Maintainer: Brett Cannon <[email protected]>
+" Language: Tcl/Tk
+" Maintainer: Taylor Venable <[email protected]>
+" (previously Brett Cannon <[email protected]>)
" (previously Dean Copsey <[email protected]>)
" (previously Matt Neumann <[email protected]>)
" (previously Allan Kelly <[email protected]>)
" Original: Robin Becker <[email protected]>
-" Last Change: 2006 Nov 17
+" Last Change: 2009/04/06 02:38:36
+" Version: 1.13
+" URL: http://real.metasyntax.net:2357/cvs/cvsweb.cgi/Config/vim/syntax/tcl.vim
"
-" Keywords TODO: format clock click anchor
+" Keywords TODO: click anchor
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -17,19 +20,40 @@
finish
endif
-" A bunch of useful keywords
-syn keyword tclStatement tell socket subst open eof pwd glob list exec pid
-syn keyword tclStatement auto_load_index time unknown eval lrange fblocked
-syn keyword tclStatement lsearch auto_import gets lappend proc variable llength
-syn keyword tclStatement auto_execok return linsert error catch clock info
-syn keyword tclStatement split array fconfigure concat join lreplace source
-syn keyword tclStatement fcopy global auto_qualify update close cd auto_load
-syn keyword tclStatement file append format read package set binary namespace
-syn keyword tclStatement scan trace seek flush after vwait uplevel lset rename
-syn keyword tclStatement fileevent regexp upvar unset encoding expr load regsub
-syn keyword tclStatement interp exit puts incr lindex lsort tclLog string
+" Basic Tcl commands: http://www.tcl.tk/man/tcl8.5/TclCmd/contents.htm
+syn keyword tclCommand after append apply array bgerror binary catch cd chan clock
+syn keyword tclCommand close concat dde dict encoding eof error eval exec exit
+syn keyword tclCommand expr fblocked fconfigure fcopy file fileevent filename flush
+syn keyword tclCommand format gets glob global history incr info interp join
+syn keyword tclCommand lappend lassign lindex linsert list llength load lrange lrepeat
+syn keyword tclCommand lreplace lreverse lsearch lset lsort memory namespace open package
+syn keyword tclCommand pid proc puts pwd read regexp registry regsub rename return
+syn keyword tclCommand scan seek set socket source split string subst tell time
+syn keyword tclCommand trace unknown unload unset update uplevel upvar variable vwait
+
+" The 'Tcl Standard Library' commands: http://www.tcl.tk/man/tcl8.5/TclCmd/library.htm
+syn keyword tclCommand auto_execok auto_import auto_load auto_mkindex auto_mkindex_old
+syn keyword tclCommand auto_qualify auto_reset parray tcl_endOfWord tcl_findLibrary
+syn keyword tclCommand tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter
+syn keyword tclCommand tcl_wordBreakBefore
+
+" Commands that were added in Tcl 8.6
+
+syn keyword tclCommand my oo::copy oo::define oo::objdefine self
+syn keyword tclCommand coroutine tailcall throw yield
+
+" Global variables used by Tcl: http://www.tcl.tk/man/tcl8.5/TclCmd/tclvars.htm
+syn keyword tclVars env errorCode errorInfo tcl_library tcl_patchLevel tcl_pkgPath
+syn keyword tclVars tcl_platform tcl_precision tcl_rcFileName tcl_traceCompile
+syn keyword tclVars tcl_traceExec tcl_wordchars tcl_nonwordchars tcl_version argc argv
+syn keyword tclVars argv0 tcl_interactive geometry
+
+" Strings which expr accepts as boolean values, aside from zero / non-zero.
+syn keyword tclBoolean true false on off yes no
+
syn keyword tclLabel case default
syn keyword tclConditional if then else elseif switch
+syn keyword tclConditional try finally
syn keyword tclRepeat while for foreach break continue
syn keyword tcltkSwitch contained insert create polygon fill outline tag
@@ -63,9 +87,14 @@
syn keyword tcltkWidgetSwitch contained delete names types create
" variable reference
" ::optional::namespaces
-syn match tclVarRef "$\(\(::\)\?\([[:alnum:]_.]*::\)*\)\a[a-zA-Z0-9_.]*"
+syn match tclVarRef "$\(\(::\)\?\([[:alnum:]_]*::\)*\)\a[[:alnum:]_]*"
" ${...} may contain any character except '}'
syn match tclVarRef "${[^}]*}"
+
+" The syntactic unquote-splicing replacement for [expand].
+syn match tclExpand '\s{\*}'
+syn match tclExpand '^{\*}'
+
" menu, mane add
syn keyword tcltkWidgetSwitch contained active end last none cascade checkbutton command radiobutton separator
syn keyword tcltkWidgetSwitch contained activebackground actveforeground accelerator background bitmap columnbreak
@@ -130,11 +159,10 @@
" EXPR
" commands associated with expr
-syn keyword tcltkMaths contained acos cos hypot sinh
-syn keyword tcltkMaths contained asin cosh log sqrt
-syn keyword tcltkMaths contained atan exp log10 tan
-syn keyword tcltkMaths contained atan2 floor pow tanh
-syn keyword tcltkMaths contained ceil fmod sin
+syn keyword tcltkMaths contained abs acos asin atan atan2 bool ceil cos cosh double entier
+syn keyword tcltkMaths contained exp floor fmod hypot int isqrt log log10 max min pow rand
+syn keyword tcltkMaths contained round sin sinh sqrt srand tan tanh wide
+
syn region tcltkCommand matchgroup=tcltkCommandColor start="\<expr\>" matchgroup=NONE skip="^\s*$" end="]\|[^\\]*\s*$"me=e-1 contains=tclLineContinue,tcltkMaths,tclNumber,tclVarRef,tclString,tcltlWidgetSwitch,tcltkCommand,tcltkPackConf
" format
@@ -165,17 +193,26 @@
syn keyword tclTodo contained TODO
+" Sequences which are backslash-escaped: http://www.tcl.tk/man/tcl8.5/TclCmd/Tcl.htm#M16
+" Octal, hexadecimal, unicode codepoints, and the classics.
+" Tcl takes as many valid characters in a row as it can, so \xAZ in a string is newline followed by 'Z'.
+syn match tclSpecial contained '\\\([0-7]\{1,3}\|x\x\{1,2}\|u\x\{1,4}\|[abfnrtv]\)'
+syn match tclSpecial contained '\\[\[\]\{\}\"\$]'
-" String and Character contstants
-" Highlight special characters (those which have a backslash) differently
-syn match tclSpecial contained "\\\d\d\d\=\|\\."
+" Command appearing inside another command or inside a string.
+syn region tclEmbeddedStatement start='\[' end='\]' contained contains=tclCommand,tclNumber,tclLineContinue,tclString,tclVarRef,tclEmbeddedStatement
" A string needs the skip argument as it may legitimately contain \".
" Match at start of line
syn region tclString start=+^"+ end=+"+ contains=tclSpecial skip=+\\\\\|\\"+
"Match all other legal strings.
-syn region tclString start=+[^\\]"+ms=s+1 end=+"+ contains=tclSpecial skip=+\\\\\|\\"+
+syn region tclString start=+[^\\]"+ms=s+1 end=+"+ contains=tclSpecial,tclVarRef,tclEmbeddedStatement skip=+\\\\\|\\"+
+
+" Line continuation is backslash immediately followed by newline.
+syn match tclLineContinue '\\$'
-syn match tclLineContinue "\\\s*$"
+if exists('g:tcl_warn_continuation')
+ syn match tclNotLineContinue '\\\s\+$'
+endif
"integer number, or floating point number without a dot and with "f".
syn case ignore
@@ -208,13 +245,13 @@
endif
HiLink tcltkSwitch Special
+ HiLink tclExpand Special
HiLink tclLabel Label
HiLink tclConditional Conditional
HiLink tclRepeat Repeat
HiLink tclNumber Number
HiLink tclError Error
- HiLink tclStatement Statement
- "HiLink tclStatementColor Statement
+ HiLink tclCommand Statement
HiLink tclString String
HiLink tclComment Comment
HiLink tclSpecial Special
@@ -223,6 +260,9 @@
HiLink tcltkCommandColor Statement
HiLink tcltkWidgetColor Structure
HiLink tclLineContinue WarningMsg
+if exists('g:tcl_warn_continuation')
+ HiLink tclNotLineContinue ErrorMsg
+endif
HiLink tcltkStringSwitch Special
HiLink tcltkArraySwitch Special
HiLink tcltkLsortSwitch Special
@@ -232,7 +272,6 @@
HiLink tcltkNamespaceSwitch Special
HiLink tcltkWidgetSwitch Special
HiLink tcltkPackConfColor Identifier
- "HiLink tcltkLsort Statement
HiLink tclVarRef Identifier
delcommand HiLink
@@ -240,4 +279,4 @@
let b:current_syntax = "tcl"
-" vim: ts=8
+" vim: ts=8 noet
diff -Nur runtime.patched/syntax/tex.vim runtime/syntax/tex.vim
--- runtime.patched/syntax/tex.vim 2008-07-29 12:43:38.000000000 -0700
+++ runtime/syntax/tex.vim 2009-03-22 12:39:57.000000000 -0700
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: TeX
" Maintainer: Dr. Charles E. Campbell, Jr. <[email protected]>
-" Last Change: Jun 03, 2008
-" Version: 41
+" Last Change: Feb 05, 2009
+" Version: 45
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
"
" Notes: {{{1
@@ -103,6 +103,7 @@
syn cluster texEnvGroup contains=texMatcher,texMathDelim,texSpecialChar,texStatement
syn cluster texFoldGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texSectionMarker,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract
syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,@Spell
+syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,@Spell,texStyleMatcher
syn cluster texRefGroup contains=texMatcher,texComment,texDelimiter
if !exists("tex_no_math")
syn cluster texMathZones contains=texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ
@@ -188,7 +189,7 @@
" Preamble syntax-based folding support: {{{1
if g:tex_fold_enabled && has("folding")
- syn region texPreamble transparent fold start='\zs\\documentclass\>' end='\ze\\begin{document}' contains=@texMatchGroup
+ syn region texPreamble transparent fold start='\zs\\documentclass\>' end='\ze\\begin{document}' contains=texStyle,@texMatchGroup
endif
" TeX input: {{{1
@@ -309,7 +310,7 @@
exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd
exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
- exe 'HiLink '.grpname.' texMath'
+ exe 'hi def link '.grpname.' texMath'
if a:starform
let grpname = "texMathZone".a:sfx.'S'
let syncname = "texSyncMathZone".a:sfx.'S'
@@ -317,7 +318,7 @@
exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\*\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\*\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd
exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
- exe 'HiLink '.grpname.' texMath'
+ exe 'hi def link '.grpname.' texMath'
endif
endfun
@@ -399,7 +400,7 @@
" Separate lines used for verb` and verb# so that the end conditions {{{1
" will appropriately terminate. Ideally vim would let me save a
" character from the start pattern and re-use it in the end-pattern.
-syn region texZone start="\\begin{verbatim}" end="\\end{verbatim}\|%stopzone\>" contains=@Spell
+syn region texZone start="\\begin{[vV]erbatim}" end="\\end{[vV]erbatim}\|%stopzone\>" contains=@Spell
" listings package:
syn region texZone start="\\begin{lstlisting}" end="\\end{lstlisting}\|%stopzone\>" contains=@Spell
" moreverb package:
@@ -456,6 +457,14 @@
" TeX String Delimiters: {{{1
syn match texString "\(``\|''\|,,\)"
+" makeatletter -- makeatother sections
+if !exists("g:tex_no_error")
+ syn region texStyle matchgroup=texStatement start='\\makeatletter' end='\\makeatother' contains=@texStyleGroup contained
+ syn match texStyleStatement "\\[a-zA-Z@]\+" contained
+ syn region texStyleMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texStyleGroup,texError contained
+ syn region texStyleMatcher matchgroup=Delimiter start="\[" end="]" contains=@texStyleGroup,texError contained
+endif
+
" LaTeX synchronization: {{{1
syn sync maxlines=200
syn sync minlines=50
@@ -507,6 +516,7 @@
HiLink texMathDelimSet2 texMathDelim
HiLink texMathDelimKey texMathDelim
HiLink texMathMatcher texMath
+ HiLink texMathZoneV texMath
HiLink texMathZoneW texMath
HiLink texMathZoneX texMath
HiLink texMathZoneY texMath
@@ -516,6 +526,7 @@
HiLink texSectionMarker texCmdName
HiLink texSectionName texSection
HiLink texSpaceCode texStatement
+ HiLink texStyleStatement texStatement
HiLink texTypeSize texType
HiLink texTypeStyle texType
diff -Nur runtime.patched/syntax/updatedb.vim runtime/syntax/updatedb.vim
--- runtime.patched/syntax/updatedb.vim 2007-10-25 07:36:25.000000000 -0700
+++ runtime/syntax/updatedb.vim 2009-06-13 05:38:40.000000000 -0700
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: updatedb.conf(5) configuration file
" Maintainer: Nikolai Weibull <[email protected]>
-" Latest Revision: 2007-10-25
+" Latest Revision: 2009-05-25
if exists("b:current_syntax")
finish
@@ -18,7 +18,11 @@
syn match updatedbBegin display '^'
\ nextgroup=updatedbName,updatedbComment skipwhite
-syn keyword updatedbName contained PRUNEFS PRUNEPATHS PRUNE_BIND_MOUNTS
+syn keyword updatedbName contained
+ \ PRUNEFS
+ \ PRUNENAMES
+ \ PRUNEPATHS
+ \ PRUNE_BIND_MOUNTS
\ nextgroup=updatedbNameEq
syn match updatedbNameEq contained display '=' nextgroup=updatedbValue
diff -Nur runtime.patched/syntax/vim.vim runtime/syntax/vim.vim
--- runtime.patched/syntax/vim.vim 2008-07-29 12:43:38.000000000 -0700
+++ runtime/syntax/vim.vim 2009-10-08 14:18:08.000000000 -0700
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: Vim 7.2 script
" Maintainer: Dr. Charles E. Campbell, Jr. <[email protected]>
-" Last Change: July 29, 2008
-" Version: 7.2-82
+" Last Change: Aug 17, 2009
+" Version: 7.2-93
" Automatically generated keyword lists: {{{1
" Quit when a syntax file was already loaded {{{2
@@ -16,11 +16,11 @@
syn cluster vimCommentGroup contains=vimTodo,@Spell
" regular vim commands {{{2
-syn keyword vimCommand contained abc[lear] argdo argu[ment] bel[owright] bN[ext] breakd[el] b[uffer] caddb[uffer] cb[uffer] cex[pr] cg[etfile] checkt[ime] cnew[er] col[der] con[tinue] cq[uit] delc[ommand] diffoff diffu[pdate] dr[op] echom[sg] em[enu] endt[ry] exu[sage] fin[d] foldc[lose] fu[nction] ha[rdcopy] helpt[ags] if is[earch] ju[mps] kee[pmarks] lan[guage] lc[d] lefta[bove] lgetb[uffer] lgrepa[dd] lla[st] lmapc[lear] lnf[ile] loc[kmarks] lpf[ile] lt[ag] mak[e] menut[ranslate] mkvie[w] mzf[ile] n[ext] nu[mber] opt[ions] perld[o] pp[op] P[rint] promptr[epl] ptj[ump] ptp[revious] pw[d] q[uit] redi[r] reg[isters] rew[ind] rubyd[o] sal[l] sba[ll] sbn[ext] sb[uffer] setf[iletype] sfir[st] sim[alt] sm[ap] sn[ext] snor[emap] so[urce] spellr[epall] spr[evious] star[tinsert] stopi[nsert] sunmenu t tabe[dit] tabm[ove] tabo[nly] ta[g] tclf[ile] tj[ump] tn[ext] tr[ewind] tu[nmenu] undol[ist] verb[ose] vim[grep] vmapc[lear] wh[ile] win[size] wq wv[iminfo] xm[ap] XMLent xnoremenu
-syn keyword vimCommand contained abo[veleft] arge[dit] as[cii] bf[irst] bo[tright] breakl[ist] buffers cad[dexpr] cc cf[ile] c[hange] cla[st] cn[ext] colo[rscheme] cope[n] cr[ewind] d[elete] diffpatch dig[raphs] ds[earch] echon emenu* endw[hile] f[ile] fini[sh] folddoc[losed] go[to] h[elp] hid[e] ij[ump] isp[lit] k laddb[uffer] la[st] lch[dir] lex[pr] lgete[xpr] lh[elpgrep] lli[st] lnew[er] lNf[ile] lockv[ar] lp[revious] lv[imgrep] ma[rk] mk[exrc] mkv[imrc] mz[scheme] N[ext] omapc[lear] pc[lose] po[p] pre[serve] profd[el] ps[earch] ptl[ast] ptr[ewind] pyf[ile] quita[ll] red[o] res[ize] ri[ght] rubyf[ile] san[dbox] sbf[irst] sbN[ext] scripte[ncoding] setg[lobal] sh[ell] sla[st] smapc[lear] sN[ext] snoreme spelld[ump] spellu[ndo] sre[wind] startr[eplace] sts[elect] sus[pend] tab tabf[ind] tabnew tabp[revious] tags te[aroff] tl[ast] tN[ext] try una[bbreviate] unh[ide] ve[rsion] vimgrepa[dd] vne[w] winc[md] wn[ext] wqa[ll] X xmapc[lear] XMLns xunme
-syn keyword vimCommand contained al[l] argg[lobal] bad[d] bl[ast] bp[revious] br[ewind] bun[load] caddf[ile] ccl[ose] cfir[st] changes cl[ist] cN[ext] comc[lear] co[py] cuna[bbrev] delf[unction] diffpu[t] di[splay] dsp[lit] e[dit] endfo[r] ene[w] files fir[st] foldd[oopen] gr[ep] helpf[ind] his[tory] il[ist] iuna[bbrev] keepalt lad[dexpr] later lcl[ose] lf[ile] lg[etfile] l[ist] lmak[e] lne[xt] ln[oremap] lol[der] lr[ewind] lvimgrepa[dd] marks mks[ession] mod[e] nbkey nmapc[lear] on[ly] ped[it] popu prev[ious] prof[ile] pta[g] ptn[ext] pts[elect] py[thon] r[ead] redr[aw] ret[ab] rightb[elow] ru[ntime] sa[rgument] sbl[ast] sbp[revious] scrip[tnames] setl[ocal] sign sl[eep] sme sni[ff] snoremenu spe[llgood] spellw[rong] sta[g] stj[ump] sun[hide] sv[iew] tabc[lose] tabfir[st] tabn[ext] tabr[ewind] tc[l] tf[irst] tm to[pleft] ts[elect] u[ndo] unlo[ckvar] vert[ical] vi[sual] vs[plit] windo wN[ext] w[rite] xa[ll] xme xn[oremap] xunmenu
-syn keyword vimCommand contained arga[dd] argl[ocal] ba[ll] bm[odified] brea[k] bro[wse] bw[ipeout] cal[l] cd cgetb[uffer] chd[ir] clo[se] cnf[ile] comp[iler] cpf[ile] cw[indow] delm[arks] diffsplit dj[ump] earlier el[se] endf[unction] ex filetype fix[del] foldo[pen] grepa[dd] helpg[rep] iabc[lear] imapc[lear] j[oin] keepj[umps] laddf[ile] lb[uffer] le[ft] lfir[st] lgr[ep] ll lm[ap] lN[ext] lo[adview] lop[en] ls lw[indow] mat[ch] mksp[ell] m[ove] new noh[lsearch] o[pen] pe[rl] popu[p] p[rint] promptf[ind] ptf[irst] ptN[ext] pu[t] qa[ll] rec[over] redraws[tatus] retu[rn] rub[y] rv[iminfo] sav[eas] sbm[odified] sbr[ewind] se[t] sf[ind] sil[ent] sm[agic] smenu sno[magic] sor[t] spelli[nfo] sp[lit] startg[replace] st[op] sunme syncbind tabd[o] tabl[ast] tabN[ext] tabs tcld[o] th[row] tm[enu] tp[revious] tu undoj[oin] up[date] vie[w] viu[sage] wa[ll] winp[os] wp[revious] ws[verb] x[it] xmenu xnoreme y[ank]
-syn keyword vimCommand contained argd[elete] ar[gs] bd[elete] bn[ext] breaka[dd] bufdo cabc[lear] cat[ch] ce[nter] cgete[xpr] che[ckpath] cmapc[lear] cNf[ile] conf[irm] cp[revious] debugg[reedy] diffg[et] diffthis dl[ist] echoe[rr] elsei[f] en[dif] exi[t] fina[lly] fo[ld] for
+syn keyword vimCommand contained abc[lear] argdo argu[ment] bel[owright] bN[ext] breakd[el] b[uffer] caddb[uffer] cb[uffer] cex[pr] cg[etfile] checkt[ime] cnew[er] col[der] con[tinue] cq[uit] delc[ommand] diffoff diffu[pdate] dr[op] echom[sg] em[enu] en[dif] ex files fini[sh] foldc[lose] for grepa[dd] helpg[rep] iabc[lear] imapc[lear] j[oin] keepj[umps] laddf[ile] lb[uffer] le[ft] lfir[st] lgr[ep] ll lmapc[lear] lnf[ile] lockv[ar] lp[revious] lv[imgrep] ma[rk] mk[exrc] mkv[imrc] mz[scheme] N[ext] ol[dfiles] opt[ions] perld[o] pp[op] P[rint] promptr[epl] ptj[ump] ptp[revious] pw[d] q[uit] redi[r] reg[isters] rew[ind] rubyd[o] sal[l] sba[ll] sbn[ext] sb[uffer] setf[iletype] sfir[st] sim[alt] sm[ap] sN[ext] snoremenu spe[llgood] spellw[rong] sta[g] stj[ump] sun[hide] sv[iew] tabc[lose] tabfir[st] tabn[ext] tabr[ewind] tc[l] tf[irst] tm to[pleft] ts[elect] u[ndo] unlo[ckvar] vert[ical] vi[sual] vs[plit] windo wN[ext] w[rite] xa[ll] xmenu xnoremenu
+syn keyword vimCommand contained abo[veleft] arge[dit] as[cii] bf[irst] bo[tright] breakl[ist] buffers cad[dexpr] cc cf[ile] c[hange] cla[st] cn[ext] colo[rscheme] cope[n] cr[ewind] d[elete] diffpatch dig[raphs] ds[earch] echon emenu* endt[ry] exi[t] filetype fir[st] folddoc[losed] fu[nction] ha[rdcopy] helpt[ags] if is[earch] ju[mps] kee[pmarks] lan[guage] lc[d] lefta[bove] lgetb[uffer] lgrepa[dd] lla[st] lnew[er] lNf[ile] lol[der] lr[ewind] lvimgrepa[dd] marks mks[ession] mod[e] nbkey nmapc[lear] omapc[lear] pc[lose] po[p] pre[serve] profd[el] ps[earch] ptl[ast] ptr[ewind] pyf[ile] quita[ll] red[o] res[ize] ri[ght] rubyf[ile] san[dbox] sbf[irst] sbN[ext] scripte[ncoding] setg[lobal] sh[ell] sla[st] sme sni[ff] sor[t] spelli[nfo] sp[lit] startg[replace] st[op] sunme syncbind tabd[o] tabl[ast] tabN[ext] tabs tcld[o] th[row] tm[enu] tp[revious] tu undoj[oin] up[date] vie[w] viu[sage] wa[ll] winp[os] wp[revious] ws[verb] x[it] XMLent xunme
+syn keyword vimCommand contained al[l] argg[lobal] bad[d] bl[ast] bp[revious] br[ewind] bun[load] caddf[ile] ccl[ose] cfir[st] changes cl[ist] cN[ext] comc[lear] co[py] cuna[bbrev] delf[unction] diffpu[t] di[splay] dsp[lit] e[dit] endfo[r] endw[hile] exu[sage] fina[lly] fix[del] foldd[oopen] go[to] h[elp] hid[e] ij[ump] isp[lit] k laddb[uffer] la[st] lch[dir] lex[pr] lgete[xpr] lh[elpgrep] lli[st] lne[xt] lo[adview] lop[en] ls lw[indow] mat[ch] mksp[ell] m[ove] new noh[lsearch] on[ly] ped[it] popu prev[ious] prof[ile] pta[g] ptn[ext] pts[elect] py[thon] r[ead] redr[aw] ret[ab] rightb[elow] ru[ntime] sa[rgument] sbl[ast] sbp[revious] scrip[tnames] setl[ocal] sign sl[eep] smenu sno[magic] so[urce] spellr[epall] spr[evious] star[tinsert] stopi[nsert] sunmenu t tabe[dit] tabm[ove] tabo[nly] ta[g] tclf[ile] tj[ump] tn[ext] tr[ewind] tu[nmenu] undol[ist] verb[ose] vim[grep] vmapc[lear] wh[ile] win[size] wq wv[iminfo] xmapc[lear] XMLns xunmenu
+syn keyword vimCommand contained arga[dd] argl[ocal] ba[ll] bm[odified] brea[k] bro[wse] bw[ipeout] cal[l] cd cgetb[uffer] chd[ir] clo[se] cnf[ile] comp[iler] cpf[ile] cw[indow] delm[arks] diffsplit dj[ump] earlier el[se] endf[unction] ene[w] f[ile] fin[d] fo[ld] foldo[pen] gr[ep] helpf[ind] his[tory] il[ist] iuna[bbrev] keepalt lad[dexpr] later lcl[ose] lf[ile] lg[etfile] l[ist] lmak[e] lN[ext] loc[kmarks] lpf[ile] lt[ag] mak[e] menut[ranslate] mkvie[w] mzf[ile] n[ext] nu[mber] o[pen] pe[rl] popu[p] p[rint] promptf[ind] ptf[irst] ptN[ext] pu[t] qa[ll] rec[over] redraws[tatus] retu[rn] rub[y] rv[iminfo] sav[eas] sbm[odified] sbr[ewind] se[t] sf[ind] sil[ent] sm[agic] sn[ext] snoreme spelld[ump] spellu[ndo] sre[wind] startr[eplace] sts[elect] sus[pend] tab tabf[ind] tabnew tabp[revious] tags te[aroff] tl[ast] tN[ext] try una[bbreviate] unh[ide] ve[rsion] vimgrepa[dd] vne[w] winc[md] wn[ext] wqa[ll] X xme xnoreme y[ank]
+syn keyword vimCommand contained argd[elete] ar[gs] bd[elete] bn[ext] breaka[dd] bufdo cabc[lear] cat[ch] ce[nter] cgete[xpr] che[ckpath] cmapc[lear] cNf[ile] conf[irm] cp[revious] debugg[reedy] diffg[et] diffthis dl[ist] echoe[rr] elsei[f]
syn match vimCommand contained "\<z[-+^.=]"
" vimOptions are caught only when contained in a vimSet {{{2
@@ -33,7 +33,7 @@
syn keyword vimOption contained altkeymap arabic autowrite backupcopy bdir bin bomb bt cd ci cinw co completefunc cp cscopetag csto debug dict dir eb enc errorbells expandtab fdl fenc fileformat fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatekey iminsert inde insertmode iskeyword keymodel laststatus lisp lpl magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paste pex pmbcs printencoding prompt rdt ri
" vimOptions: These are the turn-off setting variants {{{2
-syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobk nobuflisted nocin noconfirm nocopyindent nocscopeverbose nocuc nocursorline nodg nodisable noeb noedcompatible noendofline noequalalways noesckeys noex noexrc nofk nofoldenable nogdefault nohid nohk nohkmapp nohls noic noignorecase noimc noimd noinf noinsertmode nojoinspaces nolazyredraw nolinebreak nolist nolpl noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw noremap norevins norightleft norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx novisualbell nowarn noweirdinvert nowfw nowinfixheight nowiv nowrap nowrite nowritebackup
+syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobk nobuflisted nocin noconfirm nocopyindent nocscopeverbose nocuc nocursorline nodg noimdisable noeb noedcompatible noendofline noequalalways noesckeys noex noexrc nofk nofoldenable nogdefault nohid nohk nohkmapp nohls noic noignorecase noimc noimd noinf noinsertmode nojoinspaces nolazyredraw nolinebreak nolist nolpl noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw noremap norevins norightleft norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx novisualbell nowarn noweirdinvert nowfw nowinfixheight nowiv nowrap nowrite nowritebackup
syn keyword vimOption contained noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa nobeval nobiosk nobl nocf nocindent noconsk nocp nocst nocul nodeco nodiff noea noed noek noeol noerrorbells noet noexpandtab nofen nofkmap nogd noguipty nohidden nohkmap nohkp nohlsearch noicon noim noimcmdline noincsearch noinfercase nois nojs nolbr nolisp noloadplugins nolz nomacatsui nomh nomod nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly norestorescreen nori norightleftcmd norlc nors noruler nosc noscrollbind nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast novb nowa nowb nowfh nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
syn keyword vimOption contained noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobioskey nobomb noci nocompatible noconskey nocscopetag nocsverb nocursorcolumn nodelcombine nodigraph
@@ -99,8 +99,9 @@
syn match vimCmdSep "[:|]\+" skipwhite nextgroup=vimAddress,vimAutoCmd,vimCommand,vimExtCmd,vimFilter,vimLet,vimMap,vimMark,vimSet,vimSyntax,vimUserCmd
syn match vimIsCommand "\<\h\w*\>" contains=vimCommand
syn match vimVar "\<[bwglsav]:\K\k*\>"
-syn match vimVar contained "\<\K\k*\>"
-syn keyword vimCommand contained in
+syn match vimVar contained "\<\K\k*\>"
+syn match vimFBVar contained "\<[bwglsav]:\K\k*\>"
+syn keyword vimCommand contained in
" Insertions And Appends: insert append {{{2
" =======================
@@ -127,7 +128,7 @@
" Augroup : vimAugroupError removed because long augroups caused sync'ing problems. {{{2
" ======= : Trade-off: Increasing synclines with slower editing vs augroup END error checking.
-syn cluster vimAugroupList contains=vimIsCommand,vimFunction,vimFunctionError,vimLineComment,vimSpecFile,vimOper,vimNumber,vimComment,vimString,vimSubst,vimMark,vimRegister,vimAddress,vimFilter,vimCmplxRepeat,vimComment,vimLet,vimSet,vimAutoCmd,vimRegion,vimSynLine,vimNotation,vimCtrlChar,vimFuncVar,vimContinue
+syn cluster vimAugroupList contains=vimIsCommand,vimFuncName,vimFunction,vimFunctionError,vimLineComment,vimSpecFile,vimOper,vimNumber,vimOperParen,vimComment,vimString,vimSubst,vimMark,vimRegister,vimAddress,vimFilter,vimCmplxRepeat,vimComment,vimLet,vimSet,vimAutoCmd,vimRegion,vimSynLine,vimNotation,vimCtrlChar,vimFuncVar,vimContinue
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'a'
syn region vimAugroup fold start="\<aug\%[roup]\>\s\+\K\k*" end="\<aug\%[roup]\>\s\+[eE][nN][dD]\>" contains=vimAugroupKey,vimAutoCmd,@vimAugroupList keepend
else
@@ -141,156 +142,154 @@
" Operators: {{{2
" =========
-syn cluster vimOperGroup contains=vimOper,vimOperParen,vimNumber,vimString,vimRegister,vimContinue
-syn match vimOper "\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}" skipwhite nextgroup=vimString,vimSpecFile
-syn match vimOper "||\|&&\|[-+.]" skipwhite nextgroup=vimString,vimSpecFile
-syn region vimOperParen oneline matchgroup=vimOper start="(" end=")" contains=@vimOperGroup
-syn region vimOperParen oneline matchgroup=vimSep start="{" end="}" contains=@vimOperGroup nextgroup=vimVar
+syn cluster vimOperGroup contains=vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,vimContinue
+syn match vimOper "\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}" skipwhite nextgroup=vimString,vimSpecFile
+syn match vimOper "||\|&&\|[-+.]" skipwhite nextgroup=vimString,vimSpecFile
+syn region vimOperParen oneline matchgroup=vimParenSep start="(" end=")" contains=@vimOperGroup
+syn region vimOperParen oneline matchgroup=vimSep start="{" end="}" contains=@vimOperGroup nextgroup=vimVar,vimFuncVar
if !exists("g:vimsyn_noerror")
- syn match vimOperError ")"
+ syn match vimOperError ")"
endif
" Functions : Tag is provided for those who wish to highlight tagged functions {{{2
" =========
-syn cluster vimFuncList contains=vimCommand,vimFuncKey,Tag,vimFuncSID
-syn cluster vimFuncBodyList contains=vimAddress,vimAutoCmd,vimCmplxRepeat,vimComment,vimComment,vimContinue,vimCtrlChar,vimEcho,vimEchoHL,vimExecute,vimIf,vimFunc,vimFunction,vimFunctionError,vimFuncVar,vimIsCommand,vimLet,vimLineComment,vimMap,vimMark,vimNorm,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegion,vimRegister,vimSet,vimSpecFile,vimString,vimSubst,vimSynLine,vimUserCommand
-if !exists("g:vimsyn_noerror")
- syn match vimFunctionError "\<fu\%[nction]!\=\s\+\zs\U\i\{-}\ze\s*(" contains=vimFuncKey,vimFuncBlank nextgroup=vimFuncBody
-endif
-syn match vimFunction "\<fu\%[nction]!\=\s\+\(\(<[sS][iI][dD]>\|[Ss]:\|\u\|\i\+#\)\i*\|\(g:\)\=\(\I\i*\.\)\+\I\i*\)\ze\s*(" contains=@vimFuncList nextgroup=vimFuncBody
+syn cluster vimFuncList contains=vimCommand,vimFunctionError,vimFuncKey,Tag,vimFuncSID
+syn cluster vimFuncBodyList contains=vimAbb,vimAddress,vimAugroupKey,vimAutoCmd,vimCmplxRepeat,vimComment,vimComment,vimContinue,vimCtrlChar,vimEcho,vimEchoHL,vimExecute,vimIf,vimIsCommand,vimFBVar,vimFunc,vimFunction,vimFuncVar,vimHighlight,vimIsCommand,vimLet,vimLineComment,vimMap,vimMark,vimNorm,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegion,vimRegister,vimSet,vimSpecFile,vimString,vimSubst,vimSynLine,vimUserCommand
+syn match vimFunction "\<fu\%[nction]!\=\s\+\%(<[sS][iI][dD]>\|[sSgGbBwWtTlL]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)*\ze\s*(" contains=@vimFuncList nextgroup=vimFuncBody
+
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'f'
- syn region vimFuncBody contained fold start="\ze(" matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\)" contains=@vimFuncBodyList
+ syn region vimFuncBody contained fold start="\ze(" matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\)" contains=@vimFuncBodyList
else
- syn region vimFuncBody contained start="\ze(" matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\)" contains=@vimFuncBodyList
+ syn region vimFuncBody contained start="\ze(" matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\)" contains=@vimFuncBodyList
endif
-syn match vimFuncVar contained "a:\(\I\i*\|\d\+\)"
-syn match vimFuncSID contained "\c<sid>\|\<s:"
-syn keyword vimFuncKey contained fu[nction]
-syn match vimFuncBlank contained "\s\+"
+syn match vimFuncVar contained "a:\(\K\k*\|\d\+\)"
+syn match vimFuncSID contained "\c<sid>\|\<s:"
+syn keyword vimFuncKey contained fu[nction]
+syn match vimFuncBlank contained "\s\+"
-syn keyword vimPattern contained start skip end
+syn keyword vimPattern contained start skip end
" Special Filenames, Modifiers, Extension Removal: {{{2
" ===============================================
-syn match vimSpecFile "<c\(word\|WORD\)>" nextgroup=vimSpecFileMod,vimSubst
-syn match vimSpecFile "<\([acs]file\|amatch\|abuf\)>" nextgroup=vimSpecFileMod,vimSubst
-syn match vimSpecFile "\s%[ \t:]"ms=s+1,me=e-1 nextgroup=vimSpecFileMod,vimSubst
-syn match vimSpecFile "\s%$"ms=s+1 nextgroup=vimSpecFileMod,vimSubst
-syn match vimSpecFile "\s%<"ms=s+1,me=e-1 nextgroup=vimSpecFileMod,vimSubst
-syn match vimSpecFile "#\d\+\|[#%]<\>" nextgroup=vimSpecFileMod,vimSubst
-syn match vimSpecFileMod "\(:[phtre]\)\+" contained
+syn match vimSpecFile "<c\(word\|WORD\)>" nextgroup=vimSpecFileMod,vimSubst
+syn match vimSpecFile "<\([acs]file\|amatch\|abuf\)>" nextgroup=vimSpecFileMod,vimSubst
+syn match vimSpecFile "\s%[ \t:]"ms=s+1,me=e-1 nextgroup=vimSpecFileMod,vimSubst
+syn match vimSpecFile "\s%$"ms=s+1 nextgroup=vimSpecFileMod,vimSubst
+syn match vimSpecFile "\s%<"ms=s+1,me=e-1 nextgroup=vimSpecFileMod,vimSubst
+syn match vimSpecFile "#\d\+\|[#%]<\>" nextgroup=vimSpecFileMod,vimSubst
+syn match vimSpecFileMod "\(:[phtre]\)\+" contained
" User-Specified Commands: {{{2
" =======================
-syn cluster vimUserCmdList contains=vimAddress,vimSyntax,vimHighlight,vimAutoCmd,vimCmplxRepeat,vimComment,vimCtrlChar,vimEscapeBrace,vimFilter,vimFunc,vimFunction,vimIsCommand,vimMark,vimNotation,vimNumber,vimOper,vimRegion,vimRegister,vimLet,vimSet,vimSetEqual,vimSetString,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange,vimSynLine
-syn keyword vimUserCommand contained com[mand]
-syn match vimUserCmd "\<com\%[mand]!\=\>.*$" contains=vimUserAttrb,vimUserCommand,@vimUserCmdList
-syn match vimUserAttrb contained "-n\%[args]=[01*?+]" contains=vimUserAttrbKey,vimOper
-syn match vimUserAttrb contained "-com\%[plete]=" contains=vimUserAttrbKey,vimOper nextgroup=vimUserAttrbCmplt,vimUserCmdError
-syn match vimUserAttrb contained "-ra\%[nge]\(=%\|=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey
-syn match vimUserAttrb contained "-cou\%[nt]=\d\+" contains=vimNumber,vimOper,vimUserAttrbKey
-syn match vimUserAttrb contained "-bang\=\>" contains=vimOper,vimUserAttrbKey
-syn match vimUserAttrb contained "-bar\>" contains=vimOper,vimUserAttrbKey
-syn match vimUserAttrb contained "-re\%[gister]\>" contains=vimOper,vimUserAttrbKey
+syn cluster vimUserCmdList contains=vimAddress,vimSyntax,vimHighlight,vimAutoCmd,vimCmplxRepeat,vimComment,vimCtrlChar,vimEscapeBrace,vimFilter,vimFunc,vimFuncName,vimFunction,vimFunctionError,vimIsCommand,vimMark,vimNotation,vimNumber,vimOper,vimRegion,vimRegister,vimLet,vimSet,vimSetEqual,vimSetString,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange,vimSynLine
+syn keyword vimUserCommand contained com[mand]
+syn match vimUserCmd "\<com\%[mand]!\=\>.*$" contains=vimUserAttrb,vimUserCommand,@vimUserCmdList
+syn match vimUserAttrb contained "-n\%[args]=[01*?+]" contains=vimUserAttrbKey,vimOper
+syn match vimUserAttrb contained "-com\%[plete]=" contains=vimUserAttrbKey,vimOper nextgroup=vimUserAttrbCmplt,vimUserCmdError
+syn match vimUserAttrb contained "-ra\%[nge]\(=%\|=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey
+syn match vimUserAttrb contained "-cou\%[nt]=\d\+" contains=vimNumber,vimOper,vimUserAttrbKey
+syn match vimUserAttrb contained "-bang\=\>" contains=vimOper,vimUserAttrbKey
+syn match vimUserAttrb contained "-bar\>" contains=vimOper,vimUserAttrbKey
+syn match vimUserAttrb contained "-re\%[gister]\>" contains=vimOper,vimUserAttrbKey
if !exists("g:vimsyn_noerror")
- syn match vimUserCmdError contained "\S\+\>"
+ syn match vimUserCmdError contained "\S\+\>"
endif
syn case ignore
-syn keyword vimUserAttrbKey contained bar ban[g] cou[nt] ra[nge] com[plete] n[args] re[gister]
-syn keyword vimUserAttrbCmplt contained augroup buffer command dir environment event expression file function help highlight mapping menu option something tag tag_listfiles var
-syn keyword vimUserAttrbCmplt contained custom customlist nextgroup=vimUserAttrbCmpltFunc,vimUserCmdError
-syn match vimUserAttrbCmpltFunc contained ",\%([sS]:\|<[sS][iI][dD]>\)\=\%(\h\w*\%(#\u\w*\)\+\|\u\w*\)"hs=s+1 nextgroup=vimUserCmdError
+syn keyword vimUserAttrbKey contained bar ban[g] cou[nt] ra[nge] com[plete] n[args] re[gister]
+syn keyword vimUserAttrbCmplt contained augroup buffer command dir environment event expression file function help highlight mapping menu option shellcmd something tag tag_listfiles var
+syn keyword vimUserAttrbCmplt contained custom customlist nextgroup=vimUserAttrbCmpltFunc,vimUserCmdError
+syn match vimUserAttrbCmpltFunc contained ",\%([sS]:\|<[sS][iI][dD]>\)\=\%(\h\w*\%(#\u\w*\)\+\|\u\w*\)"hs=s+1 nextgroup=vimUserCmdError
syn case match
-syn match vimUserAttrbCmplt contained "custom,\u\w*"
+syn match vimUserAttrbCmplt contained "custom,\u\w*"
" Lower Priority Comments: after some vim commands... {{{2
" =======================
-syn match vimComment excludenl +\s"[^\-:.%#=*].*$+lc=1 contains=@vimCommentGroup,vimCommentString
-syn match vimComment +\<endif\s\+".*$+lc=5 contains=@vimCommentGroup,vimCommentString
-syn match vimComment +\<else\s\+".*$+lc=4 contains=@vimCommentGroup,vimCommentString
-syn region vimCommentString contained oneline start='\S\s\+"'ms=e end='"'
+syn match vimComment excludenl +\s"[^\-:.%#=*].*$+lc=1 contains=@vimCommentGroup,vimCommentString
+syn match vimComment +\<endif\s\+".*$+lc=5 contains=@vimCommentGroup,vimCommentString
+syn match vimComment +\<else\s\+".*$+lc=4 contains=@vimCommentGroup,vimCommentString
+syn region vimCommentString contained oneline start='\S\s\+"'ms=e end='"'
" Environment Variables: {{{2
" =====================
-syn match vimEnvvar "\$\I\i*"
-syn match vimEnvvar "\${\I\i*}"
+syn match vimEnvvar "\$\I\i*"
+syn match vimEnvvar "\${\I\i*}"
" In-String Specials: {{{2
" Try to catch strings, if nothing else matches (therefore it must precede the others!)
" vimEscapeBrace handles ["] []"] (ie. "s don't terminate string inside [])
-syn region vimEscapeBrace oneline contained transparent start="[^\\]\(\\\\\)*\[\zs\^\=\]\=" skip="\\\\\|\\\]" end="]"me=e-1
-syn match vimPatSepErr contained "\\)"
-syn match vimPatSep contained "\\|"
-syn region vimPatSepZone oneline contained matchgroup=vimPatSepZ start="\\%\=\ze(" skip="\\\\" end="\\)\|[^\]['"]" contains=@vimStringGroup
-syn region vimPatRegion contained transparent matchgroup=vimPatSepR start="\\[z%]\=(" end="\\)" contains=@vimSubstList oneline
-syn match vimNotPatSep contained "\\\\"
-syn cluster vimStringGroup contains=vimEscapeBrace,vimPatSep,vimNotPatSep,vimPatSepErr,vimPatSepZone,@Spell
-syn region vimString oneline keepend start=+[^:a-zA-Z>!\\@]"+lc=1 skip=+\\\\\|\\"+ end=+"+ contains=@vimStringGroup
-syn region vimString oneline keepend start=+[^:a-zA-Z>!\\@]'+lc=1 end=+'+
-syn region vimString oneline start=+=!+lc=1 skip=+\\\\\|\\!+ end=+!+ contains=@vimStringGroup
-syn region vimString oneline start="=+"lc=1 skip="\\\\\|\\+" end="+" contains=@vimStringGroup
-syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/" contains=@vimStringGroup
-syn match vimString contained +"[^"]*\\$+ skipnl nextgroup=vimStringCont
-syn match vimStringCont contained +\(\\\\\|.\)\{-}[^\\]"+
+syn region vimEscapeBrace oneline contained transparent start="[^\\]\(\\\\\)*\[\zs\^\=\]\=" skip="\\\\\|\\\]" end="]"me=e-1
+syn match vimPatSepErr contained "\\)"
+syn match vimPatSep contained "\\|"
+syn region vimPatSepZone oneline contained matchgroup=vimPatSepZ start="\\%\=\ze(" skip="\\\\" end="\\)\|[^\]['"]" contains=@vimStringGroup
+syn region vimPatRegion contained transparent matchgroup=vimPatSepR start="\\[z%]\=(" end="\\)" contains=@vimSubstList oneline
+syn match vimNotPatSep contained "\\\\"
+syn cluster vimStringGroup contains=vimEscapeBrace,vimPatSep,vimNotPatSep,vimPatSepErr,vimPatSepZone,@Spell
+syn region vimString oneline keepend start=+[^:a-zA-Z>!\\@]"+lc=1 skip=+\\\\\|\\"+ end=+"+ contains=@vimStringGroup
+syn region vimString oneline keepend start=+[^:a-zA-Z>!\\@]'+lc=1 end=+'+
+syn region vimString oneline start=+=!+lc=1 skip=+\\\\\|\\!+ end=+!+ contains=@vimStringGroup
+syn region vimString oneline start="=+"lc=1 skip="\\\\\|\\+" end="+" contains=@vimStringGroup
+syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/" contains=@vimStringGroup
+syn match vimString contained +"[^"]*\\$+ skipnl nextgroup=vimStringCont
+syn match vimStringCont contained +\(\\\\\|.\)\{-}[^\\]"+
" Substitutions: {{{2
" =============
-syn cluster vimSubstList contains=vimPatSep,vimPatRegion,vimPatSepErr,vimSubstTwoBS,vimSubstRange,vimNotation
-syn cluster vimSubstRepList contains=vimSubstSubstr,vimSubstTwoBS,vimNotation
-syn cluster vimSubstList add=vimCollection
-syn match vimSubst "\(:\+\s*\|^\s*\||\s*\)\<s\%[ubstitute][:[:alpha:]]\@!" nextgroup=vimSubstPat
-syn match vimSubst "s\%[ubstitute][:[:alpha:]]\@!" nextgroup=vimSubstPat contained
-syn match vimSubst "/\zss\%[ubstitute]\ze/" nextgroup=vimSubstPat
-syn match vimSubst1 contained "s\%[ubstitute]\>" nextgroup=vimSubstPat
-syn region vimSubstPat contained matchgroup=vimSubstDelim start="\z([^a-zA-Z( \t[\]&]\)"rs=s+1 skip="\\\\\|\\\z1" end="\z1"re=e-1,me=e-1 contains=@vimSubstList nextgroup=vimSubstRep4 oneline
-syn region vimSubstRep4 contained matchgroup=vimSubstDelim start="\z(.\)" skip="\\\\\|\\\z1" end="\z1" matchgroup=vimNotation end="<[cC][rR]>" contains=@vimSubstRepList nextgroup=vimSubstFlagErr oneline
-syn region vimCollection contained transparent start="\\\@<!\[" skip="\\\[" end="\]" contains=vimCollClass
-syn match vimCollClassErr contained "\[:.\{-\}:\]"
-syn match vimCollClass contained transparent "\[:\(alnum\|alpha\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|xdigit\|return\|tab\|escape\|backspace\):\]"
-syn match vimSubstSubstr contained "\\z\=\d"
-syn match vimSubstTwoBS contained "\\\\"
-syn match vimSubstFlagErr contained "[^< \t\r|]\+" contains=vimSubstFlags
-syn match vimSubstFlags contained "[&cegiIpr]\+"
+syn cluster vimSubstList contains=vimPatSep,vimPatRegion,vimPatSepErr,vimSubstTwoBS,vimSubstRange,vimNotation
+syn cluster vimSubstRepList contains=vimSubstSubstr,vimSubstTwoBS,vimNotation
+syn cluster vimSubstList add=vimCollection
+syn match vimSubst "\(:\+\s*\|^\s*\||\s*\)\<s\%[ubstitute][:[:alpha:]]\@!" nextgroup=vimSubstPat
+syn match vimSubst "s\%[ubstitute][:#[:alpha:]]\@!" nextgroup=vimSubstPat contained
+syn match vimSubst "/\zss\%[ubstitute]\ze/" nextgroup=vimSubstPat
+syn match vimSubst1 contained "s\%[ubstitute]\>" nextgroup=vimSubstPat
+syn region vimSubstPat contained matchgroup=vimSubstDelim start="\z([^a-zA-Z( \t[\]&]\)"rs=s+1 skip="\\\\\|\\\z1" end="\z1"re=e-1,me=e-1 contains=@vimSubstList nextgroup=vimSubstRep4 oneline
+syn region vimSubstRep4 contained matchgroup=vimSubstDelim start="\z(.\)" skip="\\\\\|\\\z1" end="\z1" matchgroup=vimNotation end="<[cC][rR]>" contains=@vimSubstRepList nextgroup=vimSubstFlagErr oneline
+syn region vimCollection contained transparent start="\\\@<!\[" skip="\\\[" end="\]" contains=vimCollClass
+syn match vimCollClassErr contained "\[:.\{-\}:\]"
+syn match vimCollClass contained transparent "\[:\(alnum\|alpha\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|xdigit\|return\|tab\|escape\|backspace\):\]"
+syn match vimSubstSubstr contained "\\z\=\d"
+syn match vimSubstTwoBS contained "\\\\"
+syn match vimSubstFlagErr contained "[^< \t\r|]\+" contains=vimSubstFlags
+syn match vimSubstFlags contained "[&cegiIpr]\+"
" 'String': {{{2
-syn match vimString "[^(,]'[^']\{-}\zs'"
+syn match vimString "[^(,]'[^']\{-}\zs'"
" Marks, Registers, Addresses, Filters: {{{2
-syn match vimMark "'[a-zA-Z0-9]\ze[-+,!]" nextgroup=vimOper,vimMarkNumber,vimSubst
-syn match vimMark "'[<>]\ze[-+,!]" nextgroup=vimOper,vimMarkNumber,vimSubst
-syn match vimMark ",\zs'[<>]\ze" nextgroup=vimOper,vimMarkNumber,vimSubst
-syn match vimMark "[!,:]\zs'[a-zA-Z0-9]" nextgroup=vimOper,vimMarkNumber,vimSubst
-syn match vimMark "\<norm\%[al]\s\zs'[a-zA-Z0-9]" nextgroup=vimOper,vimMarkNumber,vimSubst
-syn match vimMarkNumber "[-+]\d\+" nextgroup=vimSubst contained contains=vimOper
-syn match vimPlainMark contained "'[a-zA-Z0-9]"
-
-syn match vimRegister '[^,;]\zs"[a-zA-Z0-9.%#:_\-/]\ze[^a-zA-Z_":]'
-syn match vimRegister '\<norm\s\+\zs"[a-zA-Z0-9]'
-syn match vimRegister '\<normal\s\+\zs"[a-zA-Z0-9]'
-syn match vimRegister '@"'
-syn match vimPlainRegister contained '"[a-zA-Z0-9\-:.%#*+=]'
+syn match vimMark "'[a-zA-Z0-9]\ze[-+,!]" nextgroup=vimOper,vimMarkNumber,vimSubst
+syn match vimMark "'[<>]\ze[-+,!]" nextgroup=vimOper,vimMarkNumber,vimSubst
+syn match vimMark ",\zs'[<>]\ze" nextgroup=vimOper,vimMarkNumber,vimSubst
+syn match vimMark "[!,:]\zs'[a-zA-Z0-9]" nextgroup=vimOper,vimMarkNumber,vimSubst
+syn match vimMark "\<norm\%[al]\s\zs'[a-zA-Z0-9]" nextgroup=vimOper,vimMarkNumber,vimSubst
+syn match vimMarkNumber "[-+]\d\+" nextgroup=vimSubst contained contains=vimOper
+syn match vimPlainMark contained "'[a-zA-Z0-9]"
+
+syn match vimRegister '[^,;[{]\zs"[a-zA-Z0-9.%#:_\-/]\ze[^a-zA-Z_":]'
+syn match vimRegister '\<norm\s\+\zs"[a-zA-Z0-9]'
+syn match vimRegister '\<normal\s\+\zs"[a-zA-Z0-9]'
+syn match vimRegister '@"'
+syn match vimPlainRegister contained '"[a-zA-Z0-9\-:.%#*+=]'
-syn match vimAddress ",\zs[.$]" skipwhite nextgroup=vimSubst1
-syn match vimAddress "%\ze\a" skipwhite nextgroup=vimString,vimSubst1
+syn match vimAddress ",\zs[.$]" skipwhite nextgroup=vimSubst1
+syn match vimAddress "%\ze\a" skipwhite nextgroup=vimString,vimSubst1
-syn match vimFilter contained "^!.\{-}\(|\|$\)" contains=vimSpecFile
-syn match vimFilter contained "\A!.\{-}\(|\|$\)"ms=s+1 contains=vimSpecFile
+syn match vimFilter contained "^!.\{-}\(|\|$\)" contains=vimSpecFile
+syn match vimFilter contained "\A!.\{-}\(|\|$\)"ms=s+1 contains=vimSpecFile
" Complex repeats (:h complex-repeat) {{{2
-"syn match vimCmplxRepeat '[^a-zA-Z_/\\()]q[0-9a-zA-Z"]'lc=1
-"syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\)'
+syn match vimCmplxRepeat '[^a-zA-Z_/\\()]q[0-9a-zA-Z"]'lc=1
+syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\)'
" Set command and associated set-options (vimOptions) with comment {{{2
-syn region vimSet matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|set\)\>" skip="\%(\\\\\)*\\." end="$" matchgroup=vimNotation end="<[cC][rR]>" keepend oneline contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vimSetString,vimSetMod
-syn region vimSetEqual contained start="=" skip="\\\\\|\\\s" end="[| \t]\|$"me=e-1 contains=vimCtrlChar,vimSetSep,vimNotation oneline
-syn region vimSetString contained start=+="+hs=s+1 skip=+\\\\\|\\"+ end=+"+ contains=vimCtrlChar
-syn match vimSetSep contained "[,:]"
-syn match vimSetMod contained "&vim\|[!&]\|all&"
+syn region vimSet matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|set\)\>" skip="\%(\\\\\)*\\." end="$" matchgroup=vimNotation end="<[cC][rR]>" keepend oneline contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vimSetString,vimSetMod
+syn region vimSetEqual contained start="[=:]\|[-+^]=" skip="\\\\\|\\\s" end="[| \t]\|$"me=e-1 contains=vimCtrlChar,vimSetSep,vimNotation oneline
+syn region vimSetString contained start=+="+hs=s+1 skip=+\\\\\|\\"+ end=+"+ contains=vimCtrlChar
+syn match vimSetSep contained "[,:]"
+syn match vimSetMod contained "&vim\=\|[!&?<]\|all&"
" Let {{{2
" ===
-syn keyword vimLet let unl[et] skipwhite nextgroup=vimVar
+syn keyword vimLet let unl[et] skipwhite nextgroup=vimVar,vimFuncVar
" Abbreviations {{{2
" =============
@@ -298,232 +297,234 @@
" Autocmd {{{2
" =======
-syn match vimAutoEventList contained "\(!\s\+\)\=\(\a\+,\)*\a\+" contains=vimAutoEvent nextgroup=vimAutoCmdSpace
-syn match vimAutoCmdSpace contained "\s\+" nextgroup=vimAutoCmdSfxList
-syn match vimAutoCmdSfxList contained "\S*"
-syn keyword vimAutoCmd au[tocmd] do[autocmd] doautoa[ll] skipwhite nextgroup=vimAutoEventList
+syn match vimAutoEventList contained "\(!\s\+\)\=\(\a\+,\)*\a\+" contains=vimAutoEvent nextgroup=vimAutoCmdSpace
+syn match vimAutoCmdSpace contained "\s\+" nextgroup=vimAutoCmdSfxList
+syn match vimAutoCmdSfxList contained "\S*"
+syn keyword vimAutoCmd au[tocmd] do[autocmd] doautoa[ll] skipwhite nextgroup=vimAutoEventList
" Echo and Execute -- prefer strings! {{{2
" ================
-syn region vimEcho oneline excludenl matchgroup=vimCommand start="\<ec\%[ho]\>" skip="\(\\\\\)*\\|" end="$\||" contains=vimFunc,vimString,varVar
-syn region vimExecute oneline excludenl matchgroup=vimCommand start="\<exe\%[cute]\>" skip="\(\\\\\)*\\|" end="$\||\|<[cC][rR]>" contains=vimIsCommand,vimString,vimOper,vimVar,vimNotation,vimOperParen
-syn match vimEchoHL "echohl\=" skipwhite nextgroup=vimGroup,vimHLGroup,vimEchoHLNone
+syn region vimEcho oneline excludenl matchgroup=vimCommand start="\<ec\%[ho]\>" skip="\(\\\\\)*\\|" end="$\||" contains=vimFunc,vimFuncVar,vimString,vimVar
+syn region vimExecute oneline excludenl matchgroup=vimCommand start="\<exe\%[cute]\>" skip="\(\\\\\)*\\|" end="$\||\|<[cC][rR]>" contains=vimFuncVar,vimIsCommand,vimOper,vimNotation,vimOperParen,vimString,vimVar
+syn match vimEchoHL "echohl\=" skipwhite nextgroup=vimGroup,vimHLGroup,vimEchoHLNone
syn case ignore
-syn keyword vimEchoHLNone none
+syn keyword vimEchoHLNone none
syn case match
" Maps {{{2
" ====
-syn match vimMap "\<map\>!\=\ze\s*[^(]" skipwhite nextgroup=vimMapMod,vimMapLhs
-syn keyword vimMap cm[ap] cno[remap] im[ap] ino[remap] ln[oremap] nm[ap] nn[oremap] no[remap] om[ap] ono[remap] snor[emap] vm[ap] vn[oremap] xn[oremap] skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs
-syn keyword vimMap mapc[lear]
-syn match vimMapLhs contained "\S\+" contains=vimNotation,vimCtrlChar skipwhite nextgroup=vimMapRhs
-syn match vimMapBang contained "!" skipwhite nextgroup=vimMapMod,vimMapLhs
-syn match vimMapMod contained "\c<\(buffer\|expr\|\(local\)\=leader\|plug\|script\|sid\|unique\|silent\)\+>" contains=vimMapModKey,vimMapModErr skipwhite nextgroup=vimMapMod,vimMapLhs
-syn match vimMapRhs contained ".*" contains=vimNotation,vimCtrlChar skipnl nextgroup=vimMapRhsExtend
-syn match vimMapRhsExtend contained "^\s*\\.*$" contains=vimContinue
+syn match vimMap "\<map\>!\=\ze\s*[^(]" skipwhite nextgroup=vimMapMod,vimMapLhs
+syn keyword vimMap cm[ap] cno[remap] im[ap] ino[remap] lm[ap] ln[oremap] nm[ap] nn[oremap] no[remap] om[ap] ono[remap] smap snor[emap] vm[ap] vn[oremap] xm[ap] xn[oremap] skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs
+syn keyword vimMap mapc[lear]
+syn keyword vimUnmap cu[nmap] iu[nmap] lu[nmap] nun[map] ou[nmap] sunm[ap] unm[ap] unm[ap] vu[nmap] xu[nmap] skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs
+syn match vimMapLhs contained "\S\+" contains=vimNotation,vimCtrlChar skipwhite nextgroup=vimMapRhs
+syn match vimMapBang contained "!" skipwhite nextgroup=vimMapMod,vimMapLhs
+syn match vimMapMod contained "\c<\(buffer\|expr\|\(local\)\=leader\|plug\|script\|sid\|unique\|silent\)\+>" contains=vimMapModKey,vimMapModErr skipwhite nextgroup=vimMapMod,vimMapLhs
+syn match vimMapRhs contained ".*" contains=vimNotation,vimCtrlChar skipnl nextgroup=vimMapRhsExtend
+syn match vimMapRhsExtend contained "^\s*\\.*$" contains=vimContinue
syn case ignore
-syn keyword vimMapModKey contained buffer expr leader localleader plug script sid silent unique
+syn keyword vimMapModKey contained buffer expr leader localleader plug script sid silent unique
syn case match
" Menus {{{2
" =====
-syn cluster vimMenuList contains=vimMenuBang,vimMenuPriority,vimMenuName,vimMenuMod
-syn keyword vimCommand am[enu] an[oremenu] aun[menu] cme[nu] cnoreme[nu] cunme[nu] ime[nu] inoreme[nu] iunme[nu] me[nu] nme[nu] nnoreme[nu] noreme[nu] nunme[nu] ome[nu] onoreme[nu] ounme[nu] unme[nu] vme[nu] vnoreme[nu] vunme[nu] skipwhite nextgroup=@vimMenuList
-syn match vimMenuName "[^ \t\\<]\+" contained nextgroup=vimMenuNameMore,vimMenuMap
-syn match vimMenuPriority "\d\+\(\.\d\+\)*" contained skipwhite nextgroup=vimMenuName
-syn match vimMenuNameMore "\c\\\s\|<tab>\|\\\." contained nextgroup=vimMenuName,vimMenuNameMore contains=vimNotation
-syn match vimMenuMod contained "\c<\(script\|silent\)\+>" skipwhite contains=vimMapModKey,vimMapModErr nextgroup=@vimMenuList
-syn match vimMenuMap "\s" contained skipwhite nextgroup=vimMenuRhs
-syn match vimMenuRhs ".*$" contained contains=vimString,vimComment,vimIsCommand
-syn match vimMenuBang "!" contained skipwhite nextgroup=@vimMenuList
+syn cluster vimMenuList contains=vimMenuBang,vimMenuPriority,vimMenuName,vimMenuMod
+syn keyword vimCommand am[enu] an[oremenu] aun[menu] cme[nu] cnoreme[nu] cunme[nu] ime[nu] inoreme[nu] iunme[nu] me[nu] nme[nu] nnoreme[nu] noreme[nu] nunme[nu] ome[nu] onoreme[nu] ounme[nu] unme[nu] vme[nu] vnoreme[nu] vunme[nu] skipwhite nextgroup=@vimMenuList
+syn match vimMenuName "[^ \t\\<]\+" contained nextgroup=vimMenuNameMore,vimMenuMap
+syn match vimMenuPriority "\d\+\(\.\d\+\)*" contained skipwhite nextgroup=vimMenuName
+syn match vimMenuNameMore "\c\\\s\|<tab>\|\\\." contained nextgroup=vimMenuName,vimMenuNameMore contains=vimNotation
+syn match vimMenuMod contained "\c<\(script\|silent\)\+>" skipwhite contains=vimMapModKey,vimMapModErr nextgroup=@vimMenuList
+syn match vimMenuMap "\s" contained skipwhite nextgroup=vimMenuRhs
+syn match vimMenuRhs ".*$" contained contains=vimString,vimComment,vimIsCommand
+syn match vimMenuBang "!" contained skipwhite nextgroup=@vimMenuList
" Angle-Bracket Notation (tnx to Michael Geddes) {{{2
" ======================
syn case ignore
-syn match vimNotation "\(\\\|<lt>\)\=<\([scamd]-\)\{0,4}x\=\(f\d\{1,2}\|[^ \t:]\|cr\|lf\|linefeed\|return\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|right\|left\|help\|undo\|insert\|ins\|k\=home\|k\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|space\|k\=\(page\)\=\(\|down\|up\)\)>" contains=vimBracket
-syn match vimNotation "\(\\\|<lt>\)\=<\([scam2-4]-\)\{0,4}\(right\|left\|middle\)\(mouse\)\=\(drag\|release\)\=>" contains=vimBracket
-syn match vimNotation "\(\\\|<lt>\)\=<\(bslash\|plug\|sid\|space\|bar\|nop\|nul\|lt\)>" contains=vimBracket
-syn match vimNotation '\(\\\|<lt>\)\=<C-R>[0-9a-z"%#:.\-=]'he=e-1 contains=vimBracket
-syn match vimNotation '\(\\\|<lt>\)\=<\%(q-\)\=\(line[12]\|count\|bang\|reg\|args\|f-args\|lt\)>' contains=vimBracket
-syn match vimNotation "\(\\\|<lt>\)\=<\([cas]file\|abuf\|amatch\|cword\|cWORD\|client\)>" contains=vimBracket
-syn match vimBracket contained "[\\<>]"
+syn match vimNotation "\(\\\|<lt>\)\=<\([scamd]-\)\{0,4}x\=\(f\d\{1,2}\|[^ \t:]\|cr\|lf\|linefeed\|return\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|right\|left\|help\|undo\|insert\|ins\|k\=home\|k\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|space\|k\=\(page\)\=\(\|down\|up\)\)>" contains=vimBracket
+syn match vimNotation "\(\\\|<lt>\)\=<\([scam2-4]-\)\{0,4}\(right\|left\|middle\)\(mouse\)\=\(drag\|release\)\=>" contains=vimBracket
+syn match vimNotation "\(\\\|<lt>\)\=<\(bslash\|plug\|sid\|space\|bar\|nop\|nul\|lt\)>" contains=vimBracket
+syn match vimNotation '\(\\\|<lt>\)\=<C-R>[0-9a-z"%#:.\-=]'he=e-1 contains=vimBracket
+syn match vimNotation '\(\\\|<lt>\)\=<\%(q-\)\=\(line[12]\|count\|bang\|reg\|args\|f-args\|lt\)>' contains=vimBracket
+syn match vimNotation "\(\\\|<lt>\)\=<\([cas]file\|abuf\|amatch\|cword\|cWORD\|client\)>" contains=vimBracket
+syn match vimBracket contained "[\\<>]"
syn case match
" User Function Highlighting {{{2
" (following Gautam Iyer's suggestion)
" ==========================
-syn match vimFunc "\%(\%([gGsS]:\|<[sS][iI][dD]>\)\=\%([a-zA-Z0-9_.]\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*(" contains=vimFuncName,vimUserFunc,vimExecute
-syn match vimUserFunc contained "\%(\%([gGsS]:\|<[sS][iI][dD]>\)\=\%([a-zA-Z0-9_.]\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\<if\>" contains=vimNotation
-syn match vimNotFunc "\<if\>\|\<el\%[seif]\>"
+syn match vimFunc "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%([a-zA-Z0-9_.]\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*(" contains=vimFuncName,vimUserFunc,vimExecute
+syn match vimUserFunc contained "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%([a-zA-Z0-9_.]\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\<if\>" contains=vimNotation
+syn match vimNotFunc "\<if\>\|\<el\%[seif]\>\|\<return\>\|\<while\>"
" Errors And Warnings: {{{2
" ====================
if !exists("g:vimsyn_noerror")
- syn match vimElseIfErr "\<else\s\+if\>"
- syn match vimBufnrWarn /\<bufnr\s*(\s*["']\.['"]\s*)/
+ syn match vimFunctionError "\s\zs\%(<[sS][iI][dD]>\|[sSgGbBwWtTlL]:\)\=[a-z0-9]\i\{-}\ze\s*(" contained contains=vimFuncKey,vimFuncBlank
+ syn match vimElseIfErr "\<else\s\+if\>"
+ syn match vimBufnrWarn /\<bufnr\s*(\s*["']\.['"]\s*)/
endif
" Norm {{{2
" ====
-syn match vimNorm "\<norm\%[al]!\=" skipwhite nextgroup=vimNormCmds
-syn match vimNormCmds contained ".*$"
+syn match vimNorm "\<norm\%[al]!\=" skipwhite nextgroup=vimNormCmds
+syn match vimNormCmds contained ".*$"
" Syntax {{{2
"=======
-syn match vimGroupList contained "@\=[^ \t,]*" contains=vimGroupSpecial,vimPatSep
-syn match vimGroupList contained "@\=[^ \t,]*," nextgroup=vimGroupList contains=vimGroupSpecial,vimPatSep
-syn keyword vimGroupSpecial contained ALL ALLBUT
-if !exists("g:vimsyn_noerror")
- syn match vimSynError contained "\i\+"
- syn match vimSynError contained "\i\+=" nextgroup=vimGroupList
-endif
-syn match vimSynContains contained "\<contain\(s\|edin\)=" nextgroup=vimGroupList
-syn match vimSynKeyContainedin contained "\<containedin=" nextgroup=vimGroupList
-syn match vimSynNextgroup contained "nextgroup=" nextgroup=vimGroupList
+syn match vimGroupList contained "@\=[^ \t,]*" contains=vimGroupSpecial,vimPatSep
+syn match vimGroupList contained "@\=[^ \t,]*," nextgroup=vimGroupList contains=vimGroupSpecial,vimPatSep
+syn keyword vimGroupSpecial contained ALL ALLBUT
+if !exists("g:vimsyn_noerror")
+ syn match vimSynError contained "\i\+"
+ syn match vimSynError contained "\i\+=" nextgroup=vimGroupList
+endif
+syn match vimSynContains contained "\<contain\(s\|edin\)=" nextgroup=vimGroupList
+syn match vimSynKeyContainedin contained "\<containedin=" nextgroup=vimGroupList
+syn match vimSynNextgroup contained "nextgroup=" nextgroup=vimGroupList
-syn match vimSyntax "\<sy\%[ntax]\>" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
-syn match vimAuSyntax contained "\s+sy\%[ntax]" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
+syn match vimSyntax "\<sy\%[ntax]\>" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
+syn match vimAuSyntax contained "\s+sy\%[ntax]" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
" Syntax: case {{{2
-syn keyword vimSynType contained case skipwhite nextgroup=vimSynCase,vimSynCaseError
+syn keyword vimSynType contained case skipwhite nextgroup=vimSynCase,vimSynCaseError
if !exists("g:vimsyn_noerror")
- syn match vimSynCaseError contained "\i\+"
+ syn match vimSynCaseError contained "\i\+"
endif
-syn keyword vimSynCase contained ignore match
+syn keyword vimSynCase contained ignore match
" Syntax: clear {{{2
-syn keyword vimSynType contained clear skipwhite nextgroup=vimGroupList
+syn keyword vimSynType contained clear skipwhite nextgroup=vimGroupList
" Syntax: cluster {{{2
-syn keyword vimSynType contained cluster skipwhite nextgroup=vimClusterName
-syn region vimClusterName contained matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" matchgroup=vimSep end="$\||" contains=vimGroupAdd,vimGroupRem,vimSynContains,vimSynError
-syn match vimGroupAdd contained "add=" nextgroup=vimGroupList
-syn match vimGroupRem contained "remove=" nextgroup=vimGroupList
+syn keyword vimSynType contained cluster skipwhite nextgroup=vimClusterName
+syn region vimClusterName contained matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" matchgroup=vimSep end="$\||" contains=vimGroupAdd,vimGroupRem,vimSynContains,vimSynError
+syn match vimGroupAdd contained "add=" nextgroup=vimGroupList
+syn match vimGroupRem contained "remove=" nextgroup=vimGroupList
" Syntax: include {{{2
-syn keyword vimSynType contained include skipwhite nextgroup=vimGroupList
+syn keyword vimSynType contained include skipwhite nextgroup=vimGroupList
" Syntax: keyword {{{2
-syn cluster vimSynKeyGroup contains=vimSynNextgroup,vimSynKeyOpt,vimSynKeyContainedin
-syn keyword vimSynType contained keyword skipwhite nextgroup=vimSynKeyRegion
-syn region vimSynKeyRegion contained oneline keepend matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" matchgroup=vimSep end="|\|$" contains=@vimSynKeyGroup
-syn match vimSynKeyOpt contained "\<\(conceal\|contained\|transparent\|skipempty\|skipwhite\|skipnl\)\>"
+syn cluster vimSynKeyGroup contains=vimSynNextgroup,vimSynKeyOpt,vimSynKeyContainedin
+syn keyword vimSynType contained keyword skipwhite nextgroup=vimSynKeyRegion
+syn region vimSynKeyRegion contained oneline keepend matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" matchgroup=vimSep end="|\|$" contains=@vimSynKeyGroup
+syn match vimSynKeyOpt contained "\<\(conceal\|contained\|transparent\|skipempty\|skipwhite\|skipnl\)\>"
" Syntax: match {{{2
-syn cluster vimSynMtchGroup contains=vimMtchComment,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation
-syn keyword vimSynType contained match skipwhite nextgroup=vimSynMatchRegion
-syn region vimSynMatchRegion contained keepend matchgroup=vimGroupName start="\k\+" matchgroup=vimSep end="|\|$" contains=@vimSynMtchGroup
-syn match vimSynMtchOpt contained "\<\(conceal\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|extend\|skipnl\|fold\)\>"
+syn cluster vimSynMtchGroup contains=vimMtchComment,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation
+syn keyword vimSynType contained match skipwhite nextgroup=vimSynMatchRegion
+syn region vimSynMatchRegion contained keepend matchgroup=vimGroupName start="\k\+" matchgroup=vimSep end="|\|$" contains=@vimSynMtchGroup
+syn match vimSynMtchOpt contained "\<\(conceal\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|extend\|skipnl\|fold\)\>"
if has("conceal")
- syn match vimSynMtchOpt contained "\<cchar=" nextgroup=VimSynMtchCchar
- syn match vimSynMtchCchar contained "."
+ syn match vimSynMtchOpt contained "\<cchar=" nextgroup=VimSynMtchCchar
+ syn match vimSynMtchCchar contained "."
endif
" Syntax: off and on {{{2
-syn keyword vimSynType contained enable list manual off on reset
+syn keyword vimSynType contained enable list manual off on reset
" Syntax: region {{{2
-syn cluster vimSynRegPatGroup contains=vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange,vimSubstSubstr,vimPatRegion,vimPatSepErr,vimNotation
-syn cluster vimSynRegGroup contains=vimSynContains,vimSynNextgroup,vimSynRegOpt,vimSynReg,vimSynMtchGrp
-syn keyword vimSynType contained region skipwhite nextgroup=vimSynRegion
-syn region vimSynRegion contained keepend matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" end="|\|$" contains=@vimSynRegGroup
-syn match vimSynRegOpt contained "\<\(conceal\(ends\)\=\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|keepend\|oneline\|extend\|skipnl\|fold\)\>"
-syn match vimSynReg contained "\(start\|skip\|end\)="he=e-1 nextgroup=vimSynRegPat
-syn match vimSynMtchGrp contained "matchgroup=" nextgroup=vimGroup,vimHLGroup
-syn region vimSynRegPat contained extend start="\z([-`~!@#$%^&*_=+;:'",./?]\)" skip="\\\\\|\\\z1" end="\z1" contains=@vimSynRegPatGroup skipwhite nextgroup=vimSynPatMod,vimSynReg
-syn match vimSynPatMod contained "\(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\([-+]\d\+\)\="
-syn match vimSynPatMod contained "\(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\([-+]\d\+\)\=," nextgroup=vimSynPatMod
-syn match vimSynPatMod contained "lc=\d\+"
-syn match vimSynPatMod contained "lc=\d\+," nextgroup=vimSynPatMod
-syn region vimSynPatRange contained start="\[" skip="\\\\\|\\]" end="]"
-syn match vimSynNotPatRange contained "\\\\\|\\\["
-syn match vimMtchComment contained '"[^"]\+$'
+syn cluster vimSynRegPatGroup contains=vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange,vimSubstSubstr,vimPatRegion,vimPatSepErr,vimNotation
+syn cluster vimSynRegGroup contains=vimSynContains,vimSynNextgroup,vimSynRegOpt,vimSynReg,vimSynMtchGrp
+syn keyword vimSynType contained region skipwhite nextgroup=vimSynRegion
+syn region vimSynRegion contained keepend matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" end="|\|$" contains=@vimSynRegGroup
+syn match vimSynRegOpt contained "\<\(conceal\(ends\)\=\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|keepend\|oneline\|extend\|skipnl\|fold\)\>"
+syn match vimSynReg contained "\(start\|skip\|end\)="he=e-1 nextgroup=vimSynRegPat
+syn match vimSynMtchGrp contained "matchgroup=" nextgroup=vimGroup,vimHLGroup
+syn region vimSynRegPat contained extend start="\z([-`~!@#$%^&*_=+;:'",./?]\)" skip="\\\\\|\\\z1" end="\z1" contains=@vimSynRegPatGroup skipwhite nextgroup=vimSynPatMod,vimSynReg
+syn match vimSynPatMod contained "\(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\([-+]\d\+\)\="
+syn match vimSynPatMod contained "\(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\([-+]\d\+\)\=," nextgroup=vimSynPatMod
+syn match vimSynPatMod contained "lc=\d\+"
+syn match vimSynPatMod contained "lc=\d\+," nextgroup=vimSynPatMod
+syn region vimSynPatRange contained start="\[" skip="\\\\\|\\]" end="]"
+syn match vimSynNotPatRange contained "\\\\\|\\\["
+syn match vimMtchComment contained '"[^"]\+$'
" Syntax: sync {{{2
" ============
syn keyword vimSynType contained sync skipwhite nextgroup=vimSyncC,vimSyncLines,vimSyncMatch,vimSyncError,vimSyncLinebreak,vimSyncLinecont,vimSyncRegion
if !exists("g:vimsyn_noerror")
- syn match vimSyncError contained "\i\+"
+ syn match vimSyncError contained "\i\+"
endif
-syn keyword vimSyncC contained ccomment clear fromstart
-syn keyword vimSyncMatch contained match skipwhite nextgroup=vimSyncGroupName
-syn keyword vimSyncRegion contained region skipwhite nextgroup=vimSynReg
-syn match vimSyncLinebreak contained "\<linebreaks=" skipwhite nextgroup=vimNumber
-syn keyword vimSyncLinecont contained linecont skipwhite nextgroup=vimSynRegPat
-syn match vimSyncLines contained "\(min\|max\)\=lines=" nextgroup=vimNumber
-syn match vimSyncGroupName contained "\k\+" skipwhite nextgroup=vimSyncKey
-syn match vimSyncKey contained "\<groupthere\|grouphere\>" skipwhite nextgroup=vimSyncGroup
-syn match vimSyncGroup contained "\k\+" skipwhite nextgroup=vimSynRegPat,vimSyncNone
-syn keyword vimSyncNone contained NONE
+syn keyword vimSyncC contained ccomment clear fromstart
+syn keyword vimSyncMatch contained match skipwhite nextgroup=vimSyncGroupName
+syn keyword vimSyncRegion contained region skipwhite nextgroup=vimSynReg
+syn match vimSyncLinebreak contained "\<linebreaks=" skipwhite nextgroup=vimNumber
+syn keyword vimSyncLinecont contained linecont skipwhite nextgroup=vimSynRegPat
+syn match vimSyncLines contained "\(min\|max\)\=lines=" nextgroup=vimNumber
+syn match vimSyncGroupName contained "\k\+" skipwhite nextgroup=vimSyncKey
+syn match vimSyncKey contained "\<groupthere\|grouphere\>" skipwhite nextgroup=vimSyncGroup
+syn match vimSyncGroup contained "\k\+" skipwhite nextgroup=vimSynRegPat,vimSyncNone
+syn keyword vimSyncNone contained NONE
" Additional IsCommand, here by reasons of precedence {{{2
" ====================
-syn match vimIsCommand "<Bar>\s*\a\+" transparent contains=vimCommand,vimNotation
+syn match vimIsCommand "<Bar>\s*\a\+" transparent contains=vimCommand,vimNotation
" Highlighting {{{2
" ============
-syn cluster vimHighlightCluster contains=vimHiLink,vimHiClear,vimHiKeyList,vimComment
-syn match vimHighlight "\<hi\%[ghlight]\>" skipwhite nextgroup=vimHiBang,@vimHighlightCluster
-syn match vimHiBang contained "!" skipwhite nextgroup=@vimHighlightCluster
-
-syn match vimHiGroup contained "\i\+"
+syn cluster vimHighlightCluster contains=vimHiLink,vimHiClear,vimHiKeyList,vimComment
+syn match vimHighlight "\<hi\%[ghlight]\>" skipwhite nextgroup=vimHiBang,vimGroup,@vimHighlightCluster
+syn match vimHiBang contained "!" skipwhite nextgroup=@vimHighlightCluster
+
+syn match vimHiGroup contained "\i\+"
syn case ignore
-syn keyword vimHiAttrib contained none bold inverse italic reverse standout underline undercurl
-syn keyword vimFgBgAttrib contained none bg background fg foreground
+syn keyword vimHiAttrib contained none bold inverse italic reverse standout underline undercurl
+syn keyword vimFgBgAttrib contained none bg background fg foreground
syn case match
-syn match vimHiAttribList contained "\i\+" contains=vimHiAttrib
-syn match vimHiAttribList contained "\i\+,"he=e-1 contains=vimHiAttrib nextgroup=vimHiAttribList
+syn match vimHiAttribList contained "\i\+" contains=vimHiAttrib
+syn match vimHiAttribList contained "\i\+,"he=e-1 contains=vimHiAttrib nextgroup=vimHiAttribList
syn case ignore
-syn keyword vimHiCtermColor contained black blue brown cyan darkBlue darkcyan darkgray darkgreen darkgrey darkmagenta darkred darkyellow gray green grey lightblue lightcyan lightgray lightgreen lightgrey lightmagenta lightred magenta red white yellow
+syn keyword vimHiCtermColor contained black blue brown cyan darkBlue darkcyan darkgray darkgreen darkgrey darkmagenta darkred darkyellow gray green grey lightblue lightcyan lightgray lightgreen lightgrey lightmagenta lightred magenta red white yellow
syn case match
-syn match vimHiFontname contained "[a-zA-Z\-*]\+"
-syn match vimHiGuiFontname contained "'[a-zA-Z\-* ]\+'"
-syn match vimHiGuiRgb contained "#\x\{6}"
+syn match vimHiFontname contained "[a-zA-Z\-*]\+"
+syn match vimHiGuiFontname contained "'[a-zA-Z\-* ]\+'"
+syn match vimHiGuiRgb contained "#\x\{6}"
if !exists("g:vimsyn_noerror")
- syn match vimHiCtermError contained "[^0-9]\i*"
+ syn match vimHiCtermError contained "[^0-9]\i*"
endif
" Highlighting: hi group key=arg ... {{{2
-syn cluster vimHiCluster contains=vimHiGroup,vimHiTerm,vimHiCTerm,vimHiStartStop,vimHiCtermFgBg,vimHiGui,vimHiGuiFont,vimHiGuiFgBg,vimHiKeyError,vimNotation
-syn region vimHiKeyList contained oneline start="\i\+" skip="\\\\\|\\|" end="$\||" contains=@vimHiCluster
+syn cluster vimHiCluster contains=vimHiGroup,vimHiTerm,vimHiCTerm,vimHiStartStop,vimHiCtermFgBg,vimHiGui,vimHiGuiFont,vimHiGuiFgBg,vimHiKeyError,vimNotation
+syn region vimHiKeyList contained oneline start="\i\+" skip="\\\\\|\\|" end="$\||" contains=@vimHiCluster
if !exists("g:vimsyn_noerror")
- syn match vimHiKeyError contained "\i\+="he=e-1
+ syn match vimHiKeyError contained "\i\+="he=e-1
endif
-syn match vimHiTerm contained "\cterm="he=e-1 nextgroup=vimHiAttribList
-syn match vimHiStartStop contained "\c\(start\|stop\)="he=e-1 nextgroup=vimHiTermcap,vimOption
-syn match vimHiCTerm contained "\ccterm="he=e-1 nextgroup=vimHiAttribList
-syn match vimHiCtermFgBg contained "\ccterm[fb]g="he=e-1 nextgroup=vimNumber,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError
-syn match vimHiGui contained "\cgui="he=e-1 nextgroup=vimHiAttribList
-syn match vimHiGuiFont contained "\cfont="he=e-1 nextgroup=vimHiFontname
-syn match vimHiGuiFgBg contained "\cgui\%([fb]g\|sp\)="he=e-1 nextgroup=vimHiGroup,vimHiGuiFontname,vimHiGuiRgb,vimFgBgAttrib
-syn match vimHiTermcap contained "\S\+" contains=vimNotation
+syn match vimHiTerm contained "\cterm="he=e-1 nextgroup=vimHiAttribList
+syn match vimHiStartStop contained "\c\(start\|stop\)="he=e-1 nextgroup=vimHiTermcap,vimOption
+syn match vimHiCTerm contained "\ccterm="he=e-1 nextgroup=vimHiAttribList
+syn match vimHiCtermFgBg contained "\ccterm[fb]g="he=e-1 nextgroup=vimNumber,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError
+syn match vimHiGui contained "\cgui="he=e-1 nextgroup=vimHiAttribList
+syn match vimHiGuiFont contained "\cfont="he=e-1 nextgroup=vimHiFontname
+syn match vimHiGuiFgBg contained "\cgui\%([fb]g\|sp\)="he=e-1 nextgroup=vimHiGroup,vimHiGuiFontname,vimHiGuiRgb,vimFgBgAttrib
+syn match vimHiTermcap contained "\S\+" contains=vimNotation
" Highlight: clear {{{2
-syn keyword vimHiClear contained clear nextgroup=vimHiGroup
+syn keyword vimHiClear contained clear nextgroup=vimHiGroup
" Highlight: link {{{2
-syn region vimHiLink contained oneline matchgroup=vimCommand start="\<\(def\s\+\)\=link\>\|\<def\>" end="$" contains=vimHiGroup,vimGroup,vimHLGroup,vimNotation
+syn region vimHiLink contained oneline matchgroup=vimCommand start="\<\(def\s\+\)\=link\>\|\<def\>" end="$" contains=vimHiGroup,vimGroup,vimHLGroup,vimNotation
" Control Characters {{{2
" ==================
-syn match vimCtrlChar "[--]"
+syn match vimCtrlChar "[--]"
" Beginners - Patterns that involve ^ {{{2
" =========
-syn match vimLineComment +^[ \t:]*".*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle
-syn match vimCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
-syn match vimContinue "^\s*\\"
-syn region vimString start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue
-syn match vimCommentTitleLeader '"\s\+'ms=s+1 contained
+syn match vimLineComment +^[ \t:]*".*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle
+syn match vimCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
+syn match vimContinue "^\s*\\"
+syn region vimString start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue
+syn match vimCommentTitleLeader '"\s\+'ms=s+1 contained
" Searches And Globals: {{{2
" ====================
-syn match vimSearch '^\s*[/?].*' contains=vimSearchDelim
-syn match vimSearchDelim '^\s*\zs[/?]\|[/?]$' contained
-syn region vimGlobal matchgroup=Statement start='\<g\%[lobal]!\=/' skip='\\.' end='/'
-syn region vimGlobal matchgroup=Statement start='\<v\%[global]!\=/' skip='\\.' end='/'
+syn match vimSearch '^\s*[/?].*' contains=vimSearchDelim
+syn match vimSearchDelim '^\s*\zs[/?]\|[/?]$' contained
+syn region vimGlobal matchgroup=Statement start='\<g\%[lobal]!\=/' skip='\\.' end='/'
+syn region vimGlobal matchgroup=Statement start='\<v\%[global]!\=/' skip='\\.' end='/'
" Scripts : perl,ruby : Benoit Cerrina {{{2
" ======= python,tcl: Johannes Zellner
@@ -541,94 +542,127 @@
endif
" [-- perl --] {{{3
-if (g:vimsyn_embed =~ 'p' && has("perl")) && filereadable(expand("<sfile>:p:h")."/perl.vim")
+let s:perlpath= expand("<sfile>:p:h")."/perl.vim"
+if !filereadable(s:perlpath)
+ let s:perlpath= globpath(&rtp,"syntax/perl.vim")
+endif
+if (g:vimsyn_embed =~ 'p' && has("perl")) && filereadable(s:perlpath)
unlet! b:current_syntax
- syn include @vimPerlScript <sfile>:p:h/perl.vim
+ exe "syn include @vimPerlScript ".s:perlpath
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'p'
- syn region vimPerlRegion fold matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPerlScript
- syn region vimPerlRegion fold matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+ contains=@vimPerlScript
+ syn region vimPerlRegion fold matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPerlScript
+ syn region vimPerlRegion fold matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+ contains=@vimPerlScript
else
- syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPerlScript
- syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+ contains=@vimPerlScript
+ syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPerlScript
+ syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+ contains=@vimPerlScript
endif
+ syn cluster vimFuncBodyList add=vimPerlRegion
else
syn region vimEmbedError start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+
syn region vimEmbedError start=+pe\%[rl]\s*<<\s*$+ end=+\.$+
endif
+unlet s:perlpath
" [-- ruby --] {{{3
-if (g:vimsyn_embed =~ 'r' && has("ruby")) && filereadable(expand("<sfile>:p:h")."/ruby.vim")
+let s:rubypath= expand("<sfile>:p:h")."/ruby.vim"
+if !filereadable(s:rubypath)
+ let s:rubypath= globpath(&rtp,"syntax/ruby.vim")
+endif
+if (g:vimsyn_embed =~ 'r' && has("ruby")) && filereadable(s:rubypath)
unlet! b:current_syntax
- syn include @vimRubyScript <sfile>:p:h/ruby.vim
+ exe "syn include @vimRubyScript ".s:rubypath
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'r'
- syn region vimRubyRegion fold matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimRubyScript
+ syn region vimRubyRegion fold matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimRubyScript
else
- syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimRubyScript
+ syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimRubyScript
endif
- syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*$+ end=+\.$+ contains=@vimRubyScript
+ syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*$+ end=+\.$+ contains=@vimRubyScript
+ syn cluster vimFuncBodyList add=vimRubyRegion
else
syn region vimEmbedError start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+
syn region vimEmbedError start=+rub[y]\s*<<\s*$+ end=+\.$+
endif
+unlet s:rubypath
" [-- python --] {{{3
-if (g:vimsyn_embed =~ 'P' && has("python")) && filereadable(expand("<sfile>:p:h")."/python.vim")
+let s:pythonpath= expand("<sfile>:p:h")."/python.vim"
+if !filereadable(s:pythonpath)
+ let s:pythonpath= globpath(&rtp,"syntax/python.vim")
+endif
+if (g:vimsyn_embed =~ 'P' && has("python")) && filereadable(s:pythonpath)
unlet! b:current_syntax
- syn include @vimPythonScript <sfile>:p:h/python.vim
+ exe "syn include @vimPythonScript ".s:pythonpath
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'P'
- syn region vimPythonRegion fold matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPythonScript
- syn region vimPythonRegion fold matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
+ syn region vimPythonRegion fold matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPythonScript
+ syn region vimPythonRegion fold matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
else
- syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPythonScript
- syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
+ syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPythonScript
+ syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
endif
+ syn cluster vimFuncBodyList add=vimPythonRegion
else
syn region vimEmbedError start=+py\%[thon]\s*<<\s*\z(.*\)$+ end=+^\z1$+
syn region vimEmbedError start=+py\%[thon]\s*<<\s*$+ end=+\.$+
endif
+unlet s:pythonpath
" [-- tcl --] {{{3
if has("win32") || has("win95") || has("win64") || has("win16")
" apparently has("tcl") has been hanging vim on some windows systems with cygwin
- let trytcl= (&shell !~ '\<\%(bash\>\|4[nN][tT]\|\<zsh\)\>\%(\.exe\)\=$')
+ let s:trytcl= (&shell !~ '\<\%(bash\>\|4[nN][tT]\|\<zsh\)\>\%(\.exe\)\=$')
else
- let trytcl= 1
+ let s:trytcl= 1
endif
-if trytcl
- if (g:vimsyn_embed =~ 't' && has("tcl")) && filereadable(expand("<sfile>:p:h")."/tcl.vim")
+if s:trytcl
+ let s:tclpath= expand("<sfile>:p:h")."/tcl.vim"
+ if !filereadable(s:tclpath)
+ let s:tclpath= globpath(&rtp,"syntax/tcl.vim")
+ endif
+ if (g:vimsyn_embed =~ 't' && has("tcl")) && filereadable(s:tclpath)
unlet! b:current_syntax
- syn include @vimTclScript <sfile>:p:h/tcl.vim
+ exe "syn include @vimTclScript ".s:tclpath
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 't'
- syn region vimTclRegion fold matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimTclScript
- syn region vimTclRegion fold matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+ contains=@vimTclScript
+ syn region vimTclRegion fold matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimTclScript
+ syn region vimTclRegion fold matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+ contains=@vimTclScript
else
- syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimTclScript
- syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+ contains=@vimTclScript
+ syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimTclScript
+ syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+ contains=@vimTclScript
endif
+ syn cluster vimFuncBodyList add=vimTclScript
+ else
+ syn region vimEmbedError start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
+ syn region vimEmbedError start=+tc[l]\=\s*<<\s*$+ end=+\.$+
endif
+ unlet s:tclpath
else
syn region vimEmbedError start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
syn region vimEmbedError start=+tc[l]\=\s*<<\s*$+ end=+\.$+
endif
-unlet trytcl
+unlet s:trytcl
" [-- mzscheme --] {{{3
-if (g:vimsyn_embed =~ 'm' && has("mzscheme")) && filereadable(expand("<sfile>:p:h")."/scheme.vim")
+let s:mzschemepath= expand("<sfile>:p:h")."/scheme.vim"
+if !filereadable(s:mzschemepath)
+ let s:mzschemepath= globpath(&rtp,"syntax/scheme.vim")
+endif
+if (g:vimsyn_embed =~ 'm' && has("mzscheme")) && filereadable(s:mzschemepath)
unlet! b:current_syntax
let iskKeep= &isk
- syn include @vimMzSchemeScript <sfile>:p:h/scheme.vim
+ exe "syn include @vimMzSchemeScript ".s:mzschemepath
let &isk= iskKeep
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'm'
- syn region vimMzSchemeRegion fold matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimMzSchemeScript
- syn region vimMzSchemeRegion fold matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+ contains=@vimMzSchemeScript
+ syn region vimMzSchemeRegion fold matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimMzSchemeScript
+ syn region vimMzSchemeRegion fold matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+ contains=@vimMzSchemeScript
else
- syn region vimMzSchemeRegion matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimMzSchemeScript
- syn region vimMzSchemeRegion matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+ contains=@vimMzSchemeScript
+ syn region vimMzSchemeRegion matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimMzSchemeScript
+ syn region vimMzSchemeRegion matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+ contains=@vimMzSchemeScript
endif
+ syn cluster vimFuncBodyList add=vimMzSchemeRegion
else
syn region vimEmbedError start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+
syn region vimEmbedError start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+
endif
+unlet s:mzschemepath
" Synchronize (speed) {{{2
"============
@@ -643,6 +677,7 @@
syn sync linecont "^\s\+\\"
syn sync match vimAugroupSyncA groupthere NONE "\<aug\%[roup]\>\s\+[eE][nN][dD]"
+" ====================
" Highlighting Settings {{{2
" ====================
@@ -709,15 +744,15 @@
hi def link vimMenuNameMore vimMenuName
hi def link vimMtchComment vimComment
hi def link vimNorm vimCommand
+hi def link vimNotFunc vimCommand
hi def link vimNotPatSep vimString
-hi def link vimPatSepR vimPatSep
-hi def link vimPatSepZ vimPatSep
hi def link vimPatSepErr vimPatSep
+hi def link vimPatSepR vimPatSep
hi def link vimPatSepZone vimString
+hi def link vimPatSepZ vimPatSep
hi def link vimPlainMark vimMark
hi def link vimPlainRegister vimRegister
hi def link vimSearch vimString
-hi def link vimSearchDelim Statement
hi def link vimSetMod vimOption
hi def link vimSetString vimString
hi def link vimSpecFileMod vimSpecFile
@@ -738,11 +773,11 @@
hi def link vimSynRegPat vimString
hi def link vimSyntax vimCommand
hi def link vimSynType vimSpecial
+hi def link vimUnmap vimMap
hi def link vimUserAttrbCmplt vimSpecial
hi def link vimUserAttrbKey vimOption
hi def link vimUserAttrb vimSpecial
hi def link vimUserCommand vimCommand
-hi def link vimUserFunc Normal
hi def link vimAutoEvent Type
hi def link vimBracket Delimiter
@@ -759,24 +794,25 @@
hi def link vimFuncName Function
hi def link vimFuncSID Special
hi def link vimFuncVar Identifier
-hi def link vimGroup Type
hi def link vimGroupSpecial Special
-hi def link vimHLMod PreProc
+hi def link vimGroup Type
hi def link vimHiAttrib PreProc
hi def link vimHiTerm Type
+hi def link vimHLMod PreProc
hi def link vimKeyword Statement
hi def link vimMark Number
hi def link vimMenuName PreProc
hi def link vimNotation Special
-hi def link vimNotFunc vimCommand
hi def link vimNumber Number
+hi def link vimOperError Error
hi def link vimOper Operator
hi def link vimOption PreProc
-hi def link vimOperError Error
+hi def link vimParenSep Delimiter
hi def link vimPatSep SpecialChar
hi def link vimPattern Type
hi def link vimRegister SpecialChar
hi def link vimScriptDelim Comment
+hi def link vimSearchDelim Statement
hi def link vimSep Delimiter
hi def link vimSetSep Statement
hi def link vimSpecFile Identifier
@@ -786,18 +822,19 @@
hi def link vimSubstDelim Delimiter
hi def link vimSubstFlags Special
hi def link vimSubstSubstr SpecialChar
-hi def link vimSynCase Type
hi def link vimSynCaseError Error
-hi def link vimSynError Error
-hi def link vimSynOption Special
-hi def link vimSynReg Type
+hi def link vimSynCase Type
hi def link vimSyncC Type
hi def link vimSyncError Error
hi def link vimSyncKey Type
hi def link vimSyncNone Type
+hi def link vimSynError Error
+hi def link vimSynOption Special
+hi def link vimSynReg Type
hi def link vimTodo Todo
-hi def link vimUserCmdError Error
hi def link vimUserAttrbCmpltFunc Special
+hi def link vimUserCmdError Error
+hi def link vimUserFunc Normal
hi def link vimWarn WarningMsg
" Current Syntax Variable: {{{2
diff -Nur runtime.patched/syntax/xml.vim runtime/syntax/xml.vim
--- runtime.patched/syntax/xml.vim 2006-04-11 14:32:00.000000000 -0700
+++ runtime/syntax/xml.vim 2009-07-26 04:44:44.000000000 -0700
@@ -3,7 +3,7 @@
" Maintainer: Johannes Zellner <[email protected]>
" Author and previous maintainer:
" Paul Siegmann <[email protected]>
-" Last Change: Mi, 13 Apr 2005 22:40:09 CEST
+" Last Change: 2009-07-13 21:26:55
" Filenames: *.xml
" $Id: xml.vim,v 1.3 2006/04/11 21:32:00 vimboss Exp $
@@ -216,7 +216,7 @@
syn region xmlComment
\ start=+<!+
\ end=+>+
- \ contains=xmlCommentPart,xmlCommentError
+ \ contains=xmlCommentStart,xmlCommentError
\ extend
\ fold
@@ -228,11 +228,12 @@
syn region xmlComment
\ start=+<!+
\ end=+>+
- \ contains=xmlCommentPart,xmlCommentError
+ \ contains=xmlCommentStart,xmlCommentError
\ extend
endif
+syn match xmlCommentStart contained "<!" nextgroup=xmlCommentPart
syn keyword xmlTodo contained TODO FIXME XXX
syn match xmlCommentError contained "[^><!]"
syn region xmlCommentPart
@@ -320,6 +321,7 @@
hi def link xmlString String
hi def link xmlComment Comment
+hi def link xmlCommentStart xmlComment
hi def link xmlCommentPart Comment
hi def link xmlCommentError Error
hi def link xmlError Error
diff -Nur runtime.patched/syntax/yacc.vim runtime/syntax/yacc.vim
--- runtime.patched/syntax/yacc.vim 2008-03-03 12:33:51.000000000 -0800
+++ runtime/syntax/yacc.vim 2008-12-08 13:08:36.000000000 -0800
@@ -1,95 +1,85 @@
" Vim syntax file
" Language: Yacc
" Maintainer: Charles E. Campbell, Jr. <[email protected]>
-" Last Change: Jan 09, 2008
-" Version: 5
+" Last Change: Oct 21, 2008
+" Version: 7
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
"
" Options: {{{1
" g:yacc_uses_cpp : if this variable exists, then C++ is loaded rather than C
-" g:yacc_minlines : see :help :he syn-sync-minlines -- default 50
-" g:yacc_maxlines : see :help :he syn-sync-maxlines -- default 200
" ---------------------------------------------------------------------
-" For version 5.x: Clear all syntax items {{{1
-" For version 6.x: Quit when a syntax file was already loaded
+" this version of syntax/yacc.vim requires 6.0 or later
if version < 600
- syntax clear
-elseif exists("b:current_syntax")
- finish
+ finish
+endif
+if exists("b:current_syntax")
+ syntax clear
+endif
+
+" ---------------------------------------------------------------------
+" Folding Support {{{1
+if has("folding")
+ com! -nargs=+ HiFold <args> fold
+else
+ com! -nargs=+ HiFold <args>
endif
" ---------------------------------------------------------------------
" Read the C syntax to start with {{{1
-if version >= 600
- if exists("g:yacc_uses_cpp")
- runtime! syntax/cpp.vim
- else
- runtime! syntax/c.vim
- endif
-elseif exists("g:yacc_uses_cpp")
- so <sfile>:p:h/cpp.vim
+if exists("g:yacc_uses_cpp")
+ syn include @yaccCode <sfile>:p:h/cpp.vim
else
- so <sfile>:p:h/c.vim
+ syn include @yaccCode <sfile>:p:h/c.vim
endif
" ---------------------------------------------------------------------
-" Clusters {{{1
-syn cluster yaccActionGroup contains=yaccDelim,cInParen,cTodo,cIncluded,yaccDelim,yaccCurlyError,yaccUnionCurly,yaccUnion,cUserLabel,cOctalZero,cCppOut2,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCommentStartError,cParenError
-syn cluster yaccUnionGroup contains=yaccKey,cComment,yaccCurly,cType,cStructure,cStorageClass,yaccUnionCurly
-
-" ---------------------------------------------------------------------
-" Yacc stuff {{{1
-syn match yaccDelim "^\s*[:|;]"
-syn match yaccOper "@\d\+"
-
-syn match yaccKey "^\s*%\(token\|type\|left\|right\|start\|ident\|nonassoc\)\>"
-syn match yaccKey "\s%\(prec\|expect\)\>"
-syn match yaccKey "\$\(<[a-zA-Z_][a-zA-Z_0-9]*>\)\=[\$0-9]\+"
-syn keyword yaccKeyActn yyerrok yyclearin
-
-syn match yaccUnionStart "^%union" skipwhite skipnl nextgroup=yaccUnion
-syn region yaccUnion contained matchgroup=yaccCurly start="{" matchgroup=yaccCurly end="}" contains=@yaccUnionGroup
-syn region yaccUnionCurly contained matchgroup=yaccCurly start="{" matchgroup=yaccCurly end="}" contains=@yaccUnionGroup
-syn match yaccBrkt contained "[<>]"
-syn match yaccType "<[a-zA-Z_][a-zA-Z0-9_]*>" contains=yaccBrkt
-syn match yaccDefinition "^[A-Za-z][A-Za-z0-9_]*\_s*:"
-
-" ---------------------------------------------------------------------
-" special Yacc separators {{{1
-syn match yaccSectionSep "^[ \t]*%%"
-syn match yaccSep "^[ \t]*%{"
-syn match yaccSep "^[ \t]*%}"
+" Yacc Clusters: {{{1
+syn cluster yaccInitCluster contains=yaccKey,yaccKeyActn,yaccBrkt,yaccType,yaccString,yaccUnionStart,yaccHeader2,yaccComment
+syn cluster yaccRulesCluster contains=yaccNonterminal,yaccString
+
+" ---------------------------------------------------------------------
+" Yacc Sections: {{{1
+HiFold syn region yaccInit start='.'ms=s-1,rs=s-1 matchgroup=yaccSectionSep end='^%%$'me=e-2,re=e-2 contains=@yaccInitCluster nextgroup=yaccRules skipwhite skipempty contained
+HiFold syn region yaccInit2 start='\%^.'ms=s-1,rs=s-1 matchgroup=yaccSectionSep end='^%%$'me=e-2,re=e-2 contains=@yaccInitCluster nextgroup=yaccRules skipwhite skipempty
+HiFold syn region yaccHeader2 matchgroup=yaccSep start="^\s*\zs%{" end="^\s*%}" contains=@yaccCode nextgroup=yaccInit skipwhite skipempty contained
+HiFold syn region yaccHeader matchgroup=yaccSep start="^\s*\zs%{" end="^\s*%}" contains=@yaccCode nextgroup=yaccInit skipwhite skipempty
+HiFold syn region yaccRules matchgroup=yaccSectionSep start='^%%$' end='^%%$'me=e-2,re=e-2 contains=@yaccRulesCluster nextgroup=yaccEndCode skipwhite skipempty contained
+HiFold syn region yaccEndCode matchgroup=yaccSectionSep start='^%%$' end='\%$' contains=@yaccCode contained
+
+" ---------------------------------------------------------------------
+" Yacc Commands: {{{1
+syn match yaccDelim "[:|]" contained
+syn match yaccOper "@\d\+" contained
+
+syn match yaccKey "^\s*%\(token\|type\|left\|right\|start\|ident\|nonassoc\)\>" contained
+syn match yaccKey "\s%\(prec\|expect\)\>" contained
+syn match yaccKey "\$\(<[a-zA-Z_][a-zA-Z_0-9]*>\)\=[\$0-9]\+" contained
+syn keyword yaccKeyActn yyerrok yyclearin contained
+
+syn match yaccUnionStart "^%union" skipwhite skipnl nextgroup=yaccUnion contained
+HiFold syn region yaccUnion matchgroup=yaccCurly start="{" matchgroup=yaccCurly end="}" contains=@yaccCode contained
+syn match yaccBrkt "[<>]" contained
+syn match yaccType "<[a-zA-Z_][a-zA-Z0-9_]*>" contains=yaccBrkt contained
+
+HiFold syn region yaccNonterminal start="^\s*\a\w*\ze\_s*\(/\*\_.\{-}\*/\)\=\_s*:" matchgroup=yaccDelim end=";" matchgroup=yaccSectionSep end='^%%$'me=e-2,re=e-2 contains=yaccAction,yaccDelim,yaccString,yaccComment contained
+syn region yaccComment start="/\*" end="\*/"
+syn match yaccString "'[^']*'" contained
+
" ---------------------------------------------------------------------
" I'd really like to highlight just the outer {}. Any suggestions??? {{{1
-syn match yaccCurlyError "[{}]"
-syn region yaccAction matchgroup=yaccCurly start="{" end="}" contains=ALLBUT,@yaccActionGroup
+syn match yaccCurlyError "[{}]"
+HiFold syn region yaccAction matchgroup=yaccCurly start="{" end="}" contains=@yaccCode contained
" ---------------------------------------------------------------------
" Yacc synchronization: {{{1
-if exists("g:yacc_maxlines")
- exe "syn sync maxlines=".g:yacc_maxlines
-else
- syn sync maxlines=200
-endif
-if exists("g:yacc_minlines")
- exe "syn sync minlines=".g:yacc_minlines
-else
- syn sync minlines=50
-endif
+syn sync fromstart
" ---------------------------------------------------------------------
" Define the default highlighting. {{{1
-" 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_yacc_syn_inits")
- if version < 508
- let did_yacchdl_syn_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
+if !exists("did_yacc_syn_inits")
+ command -nargs=+ HiLink hi def link <args>
" Internal yacc highlighting links {{{2
HiLink yaccBrkt yaccStmt
@@ -98,13 +88,15 @@
HiLink yaccUnionStart yaccKey
" External yacc highlighting links {{{2
+ HiLink yaccComment Comment
HiLink yaccCurly Delimiter
HiLink yaccCurlyError Error
- HiLink yaccDefinition Function
- HiLink yaccDelim Function
+ HiLink yaccNonterminal Function
+ HiLink yaccDelim Delimiter
HiLink yaccKeyActn Special
HiLink yaccSectionSep Todo
HiLink yaccSep Delimiter
+ HiLink yaccString String
HiLink yaccStmt Statement
HiLink yaccType Type
@@ -113,6 +105,10 @@
delcommand HiLink
endif
+
+" ---------------------------------------------------------------------
+" Cleanup: {{{1
+delcommand HiFold
let b:current_syntax = "yacc"
" ---------------------------------------------------------------------
diff -Nur runtime.patched/tutor/Makefile runtime/tutor/Makefile
--- runtime.patched/tutor/Makefile 2008-06-21 11:38:51.000000000 -0700
+++ runtime/tutor/Makefile 2009-10-28 13:59:08.000000000 -0700
@@ -9,6 +9,7 @@
tutor.ca.utf-8 \
tutor.de.utf-8 \
tutor.el tutor.el.cp737 \
+ tutor.eo \
tutor.es.utf-8 \
tutor.fr.utf-8 \
tutor.hr tutor.hr.cp1250 \
@@ -27,6 +28,9 @@
tutor.ca.utf-8: tutor.ca
iconv -f ISO-8859-1 -t UTF-8 tutor.ca > tutor.ca.utf-8
+tutor.eo: tutor.eo.utf-8
+ iconv -f UTF-8 -t ISO-8859-3 tutor.eo.utf-8 > tutor.eo
+
tutor.de.utf-8: tutor.de
iconv -f ISO-8859-1 -t UTF-8 tutor.de > tutor.de.utf-8
diff -Nur runtime.patched/tutor/tutor.eo runtime/tutor/tutor.eo
--- runtime.patched/tutor/tutor.eo 1969-12-31 16:00:00.000000000 -0800
+++ runtime/tutor/tutor.eo 2009-10-28 13:59:08.000000000 -0700
@@ -0,0 +1,989 @@
+==============================================================================
+= B o n v e n o n al la I n s t r u i l o de V I M - Versio 1.7.eo.2 =
+==============================================================================
+
+ Vim estas tre potenca redaktilo, kiu havas multajn komandojn, tro da ili
+ por �ion klarigi en instruilo kiel �i tiu. �i tiu instruilo estas
+ fasonita por priskribi sufi�ajn komandojn, por ke vi kapablu uzi Vim
+ kun sufi�a facileco.
+
+ La tempo bezonata por plenumi la kurson estas 25-30 minutoj, kaj dependas
+ de kiom da tempo estas uzata por eksperimenti.
+
+ ATENTU:
+ La komandoj en la lecionoj �an�os la tekston. Kopiu tiun �i dosieron
+ por ekzerci vin (se vi lan�is "vimtutor", tiam estas jam kopio).
+
+ Gravas memori, ke �i tiu instruilo estas organizata por instrui per
+ la uzo. Tio signifas, ke vi devas plenumi la komandojn por bone lerni
+ ilin. Se vi nur legas la tekston, vi forgesos la komandojn!
+
+ Nun, certigu, ke la majuskla baskulo NE estas en re�imo majuskla,
+ kaj premu la klavon j sufi�e da fojoj por movi la kursoron, kaj por
+ ke la leciono 1.1 plenigu la ekranon.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 1.1: MOVI LA KURSORON
+
+
+ ** Por movi la kursoron, premu la h,j,k,l klavojn kiel montrite. **
+ ^
+ k Konsilo: La klavo h estas la plej liva kaj movas liven.
+ < h l > La klavo l estas la plej dekstra kaj movas dekstren.
+ j La klavo j aspektas kiel malsuprena sago.
+ v
+ 1. Movu la kursoron sur la ekrano �is kiam vi sentas vin komforta.
+
+ 2. Premu la klavon (j) �is kiam �i ripetas.
+ Vi nun scias, kiel movi�i al la sekvanta leciono
+
+ 3. Uzante la malsuprenan klavon, movi�u al la leciono 1.2.
+
+RIMARKO: Se vi dubas pri tio, kion vi premis, premu <ESK> por reiri al
+ la normala re�imo. Tiam repremu la deziratan komandon.
+
+RIMARKO: La klavoj de la kursoro devus anka� funkcii. Sed uzante hjkl,
+ vi kapablos movi�i pli rapide post kiam vi kutimi�os.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 1.2: ELIRI EL VIM
+
+
+ !! RIMARKO: Anta� ol plenumi iujn subajn pa�ojn ajn, legu la tutan lecionon!!
+
+ 1. Premu la klavon <ESK> (por certigi, ke vi estas en normala re�imo).
+
+ 2. Tajpu: :q! <Enenklavo>.
+ Tio eliras el la rekdaktilo, SEN konservi la �an�ojn, kiujn vi faris.
+
+ 3. Kiam vi vidas la �elinviton, tajpu la komandon kiun vi uzis por eniri
+ en �i tiu instruilo. Tio estus: vimtutor <Enenklavo>
+
+ 4. Se vi memoris tiujn pa�ojn kaj sentas vin memfida, plenumu la pa�ojn
+ 1 �is 3 por eliri kaj reeniri la redaktilon.
+
+RIMARKO: :q! <Enenklavo> eliras sen konservi la �an�ojn, kiujn vi faris.
+ Post kelkaj lecionoj, vi lernos kiel konservi la �an�ojn al dosiero.
+
+ 5. Movu la kursoron suben �is la leciono 1.3.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 1.3: REDAKTO DE TEKSTO - FORVI�O
+
+
+ ** Premu x por forvi�i la signon sub la kursoro. **
+
+ 1. Movu la kursoron al la suba linio markita per --->.
+
+ 2. Por korekti la erarojn, movu la kursoron �is kiam �i estas sur la
+ forvi�enda signo.
+
+ 3. Premu la klavon x por forvi�i la nedeziratan signon.
+
+ 4. Ripetu pa�ojn 2 �is 4 �is kiam la frazo estas �usta.
+
+
+---> La boovinno saaltiss ssur laa luuno.
+
+ 5. Post kiam la linio estas �usta, iru al la leciono 1.4
+
+RIMARKO: Trairante la instruilon, ne provu memori, lernu per la uzo.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 1.4: REDAKTO DE TEKSTO - ENMETO
+
+
+ ** Premu i por enmeti tekston. **
+
+ 1. Movu la kursoron al la unua suba linio markita per --->.
+
+ 2. Por igi la unuan linion sama kiel la dua, movu la kursoron sur la unuan
+ signon post kie la teksto estas enmetenda.
+
+ 3. Premu i kaj tajpu la bezonatajn aldonojn.
+
+ 4. Premu <ESK> kiam la eraroj estas korektitaj por reiri al la normala
+ re�imo. Ripetu la pa�ojn 2 �is 4 por korekti la frazon.
+
+---> Mank en �i linio.
+---> Mankas tekston en �i tiu linio.
+
+ 5. Kiam vi sentas vin komforta pri enmeto de teksto, movi�u al la
+ leciono 1.5.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 1.5: REDAKTO DE TEKSTO - POSTALDONO
+
+
+ ** Premu A por postaldoni tekston. **
+
+ 1. Movu la kursoron al la unua suba linio markita per --->.
+ Ne gravas sur kiu signo estas la kursoro.
+
+ 2. Premu majusklan A kaj tajpu la bezonatajn aldonojn.
+
+ 3. Post kiam la teksto estas aldonita, premu <ESK> por reiri al la normala
+ re�imo.
+
+ 4. Movu la kursoron al la dua linio markita per ---> kaj ripetu la
+ pa�ojn 2 kaj 3 por korekti la frazon.
+
+---> Mankas teksto el ti
+ Mankas teksto el tiu linio.
+---> Mankas anka� teks
+ Mankas anka� teksto �i tie.
+
+ 5 Kiam vi sentas vin komforta pri postaldono de teksto, movi�u al la
+ leciono 1.6
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 1.6: REDAKTI DOSIERON
+
+ ** Uzu :wq por konservi dosieron kaj eliri. **
+
+ !! RIMARKO: Anta� ol plenumi iun suban pa�on ajn, legu la tutan lecionon!!
+
+ 1. Eliru el la instruilo kiel vi faris en la leciono 1.2: :q!
+
+ 2. �e la �elinvito, tajpu �i tiun komandon: vim tutor <Enenklavo>
+ 'vim' estas la komando por lan�i la redaktilon Vim, 'tutor' estas la
+ dosiernomo de la dosiero, kiun vi volas redakti. Uzu dosieron, kiu
+ �an�eblas.
+
+ 3. Enmetu kaj forvi�u tekston, kiel vi lernis en la anta�aj lecionoj.
+
+ 4. Konservu la dosieron kun �an�oj kaj eliru el Vim per: :wq <Enenklavo>
+
+ 5. Relan�u la instruilon vimtutor kaj movi�u suben al la sekvanta resumo.
+
+ 6. Post kiam vi legis la suprajn pa�ojn, kaj komprenis ilin: faru ilin.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 1 RESUMO
+
+
+ 1. La kursoro movi�as a� per la sagoklavoj, a� per la klavoj hjkl.
+ h (liven) j (suben) k (supren) l (dekstren)
+
+ 2. Por lan�i Vim el la �elinvito, tajpu: vim DOSIERNOMO <Enenklavo>
+
+ 3. Por eliri el Vim, tajpu: <ESK> :q! <Enenklavo> por rezigni la �an�ojn
+
+ 4. Por forvi�i la signojn �e la pozicio de la kursoro, tajpu: x
+
+ 5. Por enmeti a� postaldoni tekston, tajpu:
+ i tajpu enmetendan tekston <ESK>
+ enmetas tekston anta� la kursoro
+
+ A tajpu la postaldonendan tekston <ESK>
+ postaldonas post la kursoro
+
+RIMARKO: Premo de <ESK> iras al la normala re�imo, a� rezignas la
+ nedeziratan a� parte plenumita komando.
+
+Nun da�rigu al la leciono 2.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 2.1: KOMANDOJ DE FORVI�O
+
+
+ ** Tajpu dw por forvi�i vorton. **
+
+ 1. Premu <ESK> por certigi, ke vi estas en normala re�imo.
+
+ 2. Movu la kursoron al la linio markita per --->.
+
+ 3. Movu la kursoron al la komenco de vorto, kiu forvi�endas.
+
+ 4. Tajpu dw por forvi�i la vorton.
+
+ RIMARKO: La litero d aperos en la lasta linio sur la ekrano kiam vi
+ tajpas �in. Vim atendas �is kiam vi tajpas w . Se vi vidas
+ alian signon ol d vi tajpis ion mise; premu <ESK> kaj
+ rekomencu.
+
+---> Estas iuj vortoj kiuj Zamenhof ne devus esti akuzativo en �i tiu frazo.
+
+ 5. Ripetu pa�ojn 3 kaj 4 �is kiam la frazo estas �usta kaj movi�u al la
+ leciono 2.2.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 2.2: PLIAJ KOMANDOJ DE FORVI�O
+
+
+ ** Tajpu d$ por forvi�i la finon de la linio. **
+
+ 1. Premu <ESK> por certigi, ke vi estas en normala re�imo.
+
+ 2. Movu la kursoron sur la suban linion markita per --->.
+
+ 3. Movu la kursoron �e la fino de la �usta linio (POST la unua . ).
+
+ 4. Tajpu d$ por foriv�i �is la fino de la linio.
+
+---> Iu tajpis la finon de �i tiu linio dufoje. fino de �i tiu linio dufoje.
+
+
+ 5. Movi�u al la leciono 2.3 por kompreni kio okazas.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 2.3: PRI OPERATOROJ KAJ MOVOJ
+
+
+ Multaj komandoj, kiuj �an�as la tekston, estas faritaj de operatoro kaj
+ movo. La formato de komando de forvi�o per la operatoro de forvi�o d
+ estas kiel sekvas:
+
+ d movo
+
+ Kie:
+ d - estas la operatoro de movo
+ movo - estas tio, pri kio la operatoro operacios (listigita sube)
+
+ Mallonga listo de movoj:
+ w - �is la komenco de la sekvanta vorto, krom �ia unua signo.
+ e - �is la fino de la nuna vorto, krom la lasta signo.
+ $ - �is la fino de la linio, krom la lasta signo.
+
+ Do tajpo de 'de' forvi�os ekde la kursoro �is la fino de la vorto.
+
+RIMARKO: Premo de nur la movo en Normala re�imo sen operatoro movos
+ la kursoron kiel specifite.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 2.4: UZI NOMBRON POR MOVO
+
+ ** Tajpo de nombro anta� movo ripetas �in la�foje. **
+
+ 1. Movu la kursoron �e la komenco de la suba linio markita per --->.
+
+ 2. Tajpu 2w por movi la kursoron je du vortoj anta�en.
+
+ 3. Tajpu 3e por movi la kursoron �e la fino de la tria vorto anta�en.
+
+ 4. Tajpu 0 (nul) por movi�i �e la komenco de la linio.
+
+
+ 5. Ripetu pa�ojn 2 �is 3 kun malsamaj nombroj.
+
+---> Tio estas nur linio kun vortoj, kie vi povas movi�i.
+
+ 6. Movi�u al la leciono 2.5.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 2.5: UZI NOMBRON POR FORVI�I PLI
+
+
+ ** Tajpo de nombro kun operatoro ripetas �in la�foje. **
+
+ En la kombina�o de la operatoro de forvi�o, kaj movo kiel menciita
+ �i-supre, eblas aldoni nombron anta� la movo por pli forvi�i:
+ d nombro movo
+
+ 1. Movu la kursoron �e la unua MAJUSKLA vorto en la linio markita per --->.
+
+ 2. Tajpu d2w por forvi�i la du MAJUSKLAJN vortojn
+
+ 3. Ripetu pa�ojn 1 �is 2 per malsama nombro por forvi�i la sinsekvajn
+ MAJUSKLAJN vortojn per unu komando
+
+---> Tiu AB CDE linio FGHI JK LMN OP de vortoj estas Q RS TUV purigita.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 2.6: OPERACII SUR LINIOJ
+
+
+ ** Tajpu dd por forvi�i tutan linion. **
+
+ Pro la ofteco de forvi�o de tuta linio, la verkisto de Vi decidis, ke
+ estus pli facile simple tajpi du d-ojn por forvi�i linion.
+
+ 1. Movu la kursoron sur la duan linion en la suba frazo.
+ 2. Tajpu dd por forvi�i la linion.
+ 3. Nun movi�u al la kvara linio.
+ 4. Tajpu 2dd por forvi�i du liniojn.
+
+---> 1) Rozoj estas ru�aj,
+---> 2) �limo estas amuza,
+---> 3) Violoj estas bluaj,
+---> 4) Mi havas a�ton,
+---> 5) Horlo�oj diras kioma horo estas,
+---> 6) Sukero estas dol�a,
+---> 7) Kaj tiel vi estas.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 2.7: LA KOMANDO DE MALFARO
+
+
+ ** Premu u por malfari la lastajn komandojn, U por ripari la tutan linion. **
+
+ 1. Movu la kursoron �e la suba linio markita per ---> kaj metu �in sur
+ la unuan eraron.
+ 2. Tajpu x por forvi�i la unuan nedeziratan signon.
+ 3. Nun tajpu u por malfari la lastan plenumitan komandon.
+ 4. �i-foje, riparu �iujn erarojn en la linio kaj �ia originala stato.
+ 5. Nun tajpu majusklan U por igi la linion al �ia anta�a stato.
+ 6. Nun tajpu u kelkfoje por malfari la U kaj anta�ajn komandojn.
+ 7. Nun tajpu CTRL-R (premante la CTRL klavon dum vi premas R) kelkfoje
+ por refari la komandojn (malfari la malfarojn).
+
+---> Koorektii la erarojn sur tiuu �i liniio kaj remettu illlin per malfaro.
+
+ 8. Tiuj estas tre utilaj komandoj. Nun movi�u al la leciono 2 RESUMO.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 2 RESUMO
+
+
+ 1. Por forvi�i ekde la kursoro �is la sekvanta vorto, tajpu: dw
+ 2. Por forvi�i ekde la kursoro �is la fino de la linio, tajpu: d$
+ 3. Por forvi�i tutan linion, tajpu: dd
+
+ 4. Por ripeti movon, anta�metu nombron: 2w
+ 5. La formato de �an�a komando estas:
+ operatoro [nombro] movo
+
+ kie:
+ operatoro - estas tio, kio farendas, kiel d por forvi�i
+ [nombro] - estas opcia nombro por ripeti la movon
+ movo - movas sur la teksto por operacii, kiel ekzemple w (vorto),
+ $ (�is fino de linio), ktp.
+
+ 6. Por movi�i al la komenco de la linio, uzu nul: 0
+
+ 7. Por malfari anta�ajn agojn, tajpu: u (minuskla u)
+ Por malfari �iujn �an�ojn sur la linio, tajpu: U (majuskla U)
+ Por refari la malfarojn, tajpu: CTRL-R
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 3.1 LA KOMANDO DE METO
+
+
+ ** Tajpu p por meti tekston forvi�itan anta�e post la kursoro. **
+
+ 1. Movu la kursoron �e la unua ---> suba linio.
+
+ 2. Tajpu dd por forvi�i la linion kaj konservi �in ene de re�istro de Vim.
+
+ 3. Movu la kursoron �e la linio c), SUPER kie la forvi�ita linio devus esti.
+
+ 4. Tajpu p por meti la linion sub la kursoron.
+
+ 5. Ripetu la pa�ojn 2 �is 4 por meti �iujn liniojn en la �usta ordo.
+
+---> d) �u anka� vi povas lerni?
+---> b) Violoj estas bluaj,
+---> c) Inteligenteco lerneblas,
+---> a) Rozoj estas ru�aj,
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 3.2 LA KOMANDO DE ANSTATA�IGO
+
+
+ ** Tajpu rx por anstata�igi la signon �e la kursoro per x . **
+
+
+ 1. Movu la kursoron �e la unua suba linio markita per --->.
+
+ 2. Movu la kursoron �is la unua eraro.
+
+ 3. Tajpu r kaj la signon, kiu devus esti tie.
+
+ 4. Ripetu pa�ojn 2 kaj 3 �is kiam la unua linio egalas la duan.
+
+---> Kiem tiu lanio estis tajpita, iu pramis la na�uftajn klovojn!
+---> Kiam tiu linio estis tajpita, iu premis la ne�ustajn klavojn!
+
+ 5. Nun movi�u al la leciono 3.3.
+
+Rimarko: Memoru, ke vi devus lerni per uzo, kaj ne per memorado.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 3.3 LA OPERATORO DE �AN�O
+
+
+ ** Por �an�i �is la fino de la vorto, tajpu ce . **
+
+ 1. Movu la kursoron �e la unua suba linio markita per --->.
+
+ 2. Metu la kursoron sur la d en lduzw
+
+ 3. Tajpu ce kaj la �ustan vorton (en tiu �i kazo, tajpu inio ).
+
+ 4. Premu <ESK> kaj movi�u al la sekvanta signo, kiu bezonas �an�on.
+
+ 5. Ripetu la pa�ojn 3 kaj 4 �is kiam la unua frazo egalas la duan.
+
+---> Tiu lduzw havas kelkajn vortojn, kiii bezas �an�on per la �an�ooto.
+---> Tiu linio havas kelkajn vortojn, kiuj bezonas �an�on per la �an�operatoro.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 3.4 PLIAJ �AN�OJ PER c
+
+
+ ** La operatoro de �an�o uzeblas kun la sama movo kiel forvi�o. **
+
+ 1. La operatoro de �an�o funkcias sammaniere kiel forvi�o. La formato estas:
+
+ c [nombro] movo
+
+ 2. La movoj estas samaj, kiel ekzemple w (vorto) kaj $ (fino de linio).
+
+ 3. Movi�u �e la unua suba linio markita per --->.
+
+ 4. Movu la kursoron al la unua eraro.
+
+ 5. Tajpu c$ kaj tajpu la reston de la linio kiel la dua kaj premu <ESK>.
+
+---> La fino de �i tiu linio bezonas helpon por igi �in same kiel la dua.
+---> La fino de �i tiu linio bezonas korektojn per uzo de la komando c$
+
+RIMARKO: Vi povas uzi la klavon Retropa�o por korekti erarojn dum vi tajpas.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 3 RESUMO
+
+
+ 1. Por remeti tekston, kiun vi �us forvi�is, tajpu p. Tio metas la
+ forvi�itan tekston POST la kursoro (se linio estis forvi�ita, �i
+ iros en la linion sub la kursoro).
+
+ 2. Por anstata�igi la signon sub la kursoro, tajpu r kaj tiam la signon
+ kion vi deziras havi tie.
+
+ 3. La operatoro de �an�o ebligas al vi �an�i ekde la kursoro, �is kie
+ la movo iras. Ekz. tajpu ce por �an�i ekde la kursoro �is la fino
+ de la vorto, c$ por �an�i �is la fino de la linio.
+
+ 4. La formato de �an�o estas:
+
+ c [nombro] movo
+
+Nun da�rigu al la sekvanta leciono.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 4.1: POZICIO DE KURSORO KAJ STATO DE DOSIERO
+
+
+ ** Tajpu CTRL-G por montri vian pozicion en la dosiero kaj la dosierstaton.
+ Tajpu G por movi�i al linio en la dosiero. **
+
+ RIMARKO: Legu la tutan lecionon anta� ol plenumi iun pa�on ajn!!
+
+ 1. Premu la klavon Ctrl kaj premu g . Oni nomas tion CTRL-G.
+ Mesa�o aperos �e la suba parto de la pa�o kun la dosiernomo kaj la
+ pozicio en la dosiero. Memoru la numeron de la linio por pa�o 3.
+
+ RIMARKO: Vi eble vidas la pozicion de la kursoro �e la suba dekstra
+ angulo de la ekrano. Tio okazas kiam la agordo 'ruler' estas
+ �altita (vidu :help 'ruler')
+
+ 2. Premu G por movi�i �e la subo de la dosiero.
+ Tajpu gg por movi�i �e la komenco de la dosiero.
+
+ 3. Tajpu la numeron de la linio kie vi estis kaj poste G . Tio removos
+ vin al la linio, kie vi estis kiam vi unue premis CTRL-G.
+
+ 4. Se vi sentas vin komforta, plenumu pa�ojn 1 �is 3.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 4.2 LA KOMANDO DE SER�O
+
+
+ ** Tajpu / kaj poste frazon por ser�i la frazon. **
+
+ 1. En normala re�imo, tajpu la / signon. Rimarku, ke �i kaj la kursoro
+ aperas �e la suba parto de la ekrano kiel por la : komando.
+
+ 2. Nun tajpu 'errarro' <Enenklavo>.
+ Tio estas la vorto, kion vi volas ser�i.
+
+ 3. Por ser�i la saman frazon denove, simple tajpu n .
+ Por ser�i la saman frazon denove en la retrodirekto, tajpu N .
+
+ 4. Por ser�i frazon en la retrodirekto, uzu ? anstata� / .
+
+ 5. Por reiri tien, el kie vi venis, premu CTRL-O (Premu Ctrl kaj o
+ literon o). Ripetu por pli retroiri. CTRL-I iras anta�en.
+
+---> "errarro" ne estas maniero por literumi eraro; errarro estas eraro.
+
+RIMARKO: Kiam la ser�o atingas la finon de la dosiero, �i da�ras �e la
+ komenco, krom se la agordo 'wrapscan' estas mal�altita.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 4.3 SER�O DE KONGRUAJ KRAMPOJ
+
+
+ ** Tajpu % por trovi kongruan ), ] a� } **
+
+ 1. Poziciu la kursoron sur iun (, [ a� { en la linio markita per --->.
+
+ 2. Nun tajpu la % signon.
+
+ 3. La kursoro movi�as al la kongrua krampo.
+
+ 4. Tajpu % por movi la kursoron al la alia kongrua krampo.
+
+ 5. Movu la kursoron al la alia (, ), [, ], {, } kaj observu tion,
+ kion % faras.
+
+---> �i tiu ( estas testa linio kun (-oj, [-oj, ]-oj kaj {-oj, }-oj en �i. ))
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 4.4 LA KOMANDO DE ANSTATA�IGO
+
+
+ ** Tajpu :s/malnova/nova/g por anstata�igi 'nova' per 'malnova'. **
+
+ 1. Movu la kursoron al la suba linio markita per --->.
+
+ 2. Tajpu :s/laa/la <Enenklavo> . Rimarku, ke la komando �an�as nur la
+ unuan okaza�on de "laa" en la linio.
+
+ 3. Nun tajpu :s/laa/la/g . Aldono de g opcio signifas mallokan
+ anstata�igon en la linio. �i �an�as �iujn okaza�ojn de "laa" en la
+ linio.
+
+---> laa plej bona tempo por vidi florojn estas en laa printempo.
+
+ 4. Por �an�i �iujn okaza�ojn de iu �ena signo inter du linioj,
+ tajpu :#,#s/malnova/nova/g kie #,# estas la numeroj de linioj de la
+ intervalo de la linioj kie la anstata�igo
+ okazos.
+ Tajpu :%s/malnova/nova/g por �an�i �iujn okaza�ojn en la tuta
+ dosiero.
+ Tajpu :s/malnova/nova/gc por trovi �iujn okaza�ojn en la tuta
+ dosiero, kun invitilo �u anstata�igi
+ a� ne.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 4 RESUMO
+
+ 1. CTRL-G vidigas vian pozicion en la dosiero kaj la staton de la dosiero.
+ G movas la kursoron al la fino de la dosiero.
+ numero G movas la kursoron al numero de tiu linio.
+ gg movas la kursoron al la unua linio.
+
+ 2. Tajpo de / kaj frazon ser�as la frazon anta�en.
+ Tajpo de ? kaj frazon ser�as la frazon malanta�en.
+ Post ser�o, tajpu n por trovi la sekvantan okaza�on en la sama direkto a�
+ N por ser�i en la mala direkto.
+ CTRL-O movas vin al la anta�aj pozicioj, CTRL-I al la novaj pozicioj.
+
+ 3. Tajpo de % kiam la kursoro estas sur (,),[,],{ a� } movi�as al �ia
+ kongruo.
+
+ 4. Por anstata�igi 'nova' en la unua 'malnova' en linio :s/malnova/nova
+ Por anstata�igi 'nova' en �iuj 'malnova'-oj en linio :s/malnova/nova/g
+ Por anstata�igi frazon inter du #-aj linioj :#,#s/malnova/nova/g
+ Por anstata�igi �iujn okaza�ojn en la dosiero :%s/malnova/nova/g
+ Por demandi konfirmon �iu-foje, aldonu 'c' :%s/malnova/nova/gc
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 5.1 KIEL PLENUMI EKSTERAN KOMANDON
+
+
+ ** Tajpu :! sekvata de ekstera komando por plenumi la komandon. **
+
+ 1. Tajpu la konatan komandon : por pozicii la kursoron �e la suba parto
+ de la ekrano. Tio ebligas tajpadon de komando en komanda linio.
+
+ 2. Nun tajpu la ! (krisigno) signon. Tio ebligas al vi plenumi iun
+ eksteran �elan komandon ajn.
+
+ 3. Ekzemple, tajpu ls post ! kaj tajpu <Enenklavo>. Tio listigos la
+ enhavon de la dosierujo, same kiel se vi estis en �ela invito.
+ A� uzu :!dir se ls ne funkcias.
+
+RIMARKO: Eblas plenumi iun eksteran komandon ajn tiamaniere, anka� kun
+ argumentoj.
+
+RIMARKO: �iuj : komandoj devas fini�i per tajpo de <Enenklavo>
+ Ekde nun, ni ne plu mencios tion.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 5.2 PLI PRI KONSERVO DE DOSIERO
+
+
+ ** Por konservi la faritajn �an�ojn en la teksto, tajpu :w DOSIERNOMO. **
+
+ 1. Tajpu !dir a� !ls por akiri liston de via dosierujo.
+ Vi jam scias, ke vi devas tajpi <Enenklavo> post tio.
+
+ 2. Elektu dosieron, kiu ne jam ekzistas, kiel ekzemple TESTO.
+
+ 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
+ dosierujon.
+
+RIMARKO: Se vi volus eliri el Vim kaj restartigi �in denove per vim TESTO,
+ la dosiero estus precize same kiel kopio de la instruilo kiam vi
+ konservis �in.
+
+ 5. Nun forvi�u la dosieron tajpante (MS-DOS): :!del TESTO
+ a� (UNIKSO): :!rm TESTO
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 5.3 APARTIGI KONSERVENDAN TESTON
+
+
+ ** Por konservi parton de la dosiero, tajpu v movo :w DOSIERNOMO **
+
+ 1. Movu la kursoron al tiu linio.
+
+ 2. Premu v kaj movu la kursoron al la kvina suba ero. Rimarku, ke la
+ teksto emfazi�as.
+
+ 3. Premu la : signon. �e la fino de la ekrano :'<,'> aperos.
+
+ 4. Tajpu w TESTO , kie TESTO estas dosiernomo, kiu ne jam ekzistas.
+ Kontrolu, ke vi vidas :'<,'>w TESTO anta� premi <Enenklavo>.
+
+ 5. Vim konservos la apartigitajn liniojn al la dosiero TESTO. Uzu :dir
+ a� :!ls por vidigi �in. Ne forvi�u �in. Ni uzos �in en la sekvanta
+ leciono.
+
+RIMARKO: Premo de v komencas Viduman apartigon. Vi povas movi la kursoron
+ por pligrandigi a� malpligrandigi la apartigon. Tiam vi povas uzi
+ operatoron por plenumi ion kun la teksto. Ekzemple, d forvi�as
+ la tekston.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 5.4 AKIRI KAJ KUNFANDI DOSIEROJN
+
+
+ ** Por enmeti la enhavon de dosiero, tajpu :r DOSIERNOMON **
+
+ 1. Movu la kursoron �us super �i tiu linio.
+
+RIMARKO: Post plenumo de pa�o 2, vi vidos tekston el la leciono 5.3. Tiam
+ movi�u SUBEN por vidi tiun lecionon denove.
+
+ 2. Nun akiru vian dosieron TESTO uzante la komandon :r TESTO kie TESTO
+ estas la nomo de la dosiero, kiun vi uzis.
+ La dosiero, kion vi akiras, estas metita sub la linio de la kursoro.
+
+ 3. Por kontroli, �u la dosiero akiri�is, retromovu la kursoron kaj rimarku,
+ ke estas nun du kopioj de la leciono 5.3, la originala kaj la versio mem
+ de la dosiero.
+
+RIMARKO: Vi nun povas legi la eliron de ekstera komando. Ekzemple,
+ :r !ls legas la eliron de la komando ls kaj metas �in sub la
+ kursoron.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 5 RESUMO
+
+
+ 1. :!komando plenumas eksteran komandon.
+
+ Iuj utilaj ekzemploj estas:
+ (MS-DOS) (UNIKSO)
+ :!dir :!ls - listigas dosierujon
+ :!del DOSIERNOMO :!rm DOSIERNOMO - forvi�as la dosieron DOSIERNOMO
+
+ 2. :w DOSIERNOMO konservas la nunan dosieron de Vim al disko kun la
+ nomo DOSIERNOMO.
+
+ 3. v movo :w DOSIERNOMO konservas la Viduman apartigon de linioj en
+ dosiero DOSIERNOMO.
+
+ 4. :r DOSIERNOMO akiras la dosieron DOSIERNOMO el la disko kaj metas
+ �in sub la pozicion de la kursoro.
+
+ 5. :r !dir legas la eligon de la komando dir kaj metas �in sub la
+ pozicion de la kursoro.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 6.1 LA KOMANDO DE MALFERMO
+
+
+ ** Tajpu o por malfermi linion sub la kursoro kaj eniri Enmetan re�imon. **
+
+ 1. Movu la kursoron al la suba linio markita per --->.
+
+ 2. Tajpu la minusklan literon o por malfermi linion SUB la kursoro kaj
+ eniri la Enmetan re�imon.
+
+ 3. Nun tajpu tekston kaj premu <ESK> por eliri la Enmetan re�imon.
+
+---> Post tajpo de o la kursoro movi�as al la malfermata linio en
+ Enmeta re�imo.
+
+ 4. Por malfermi linion SUPER la kursoro, nur tajpu majusklan O ,
+ anstata� minusklan o. Provu tion per la suba linio.
+
+---> Malfermu linion SUPER tiu tajpante O dum la kursoro estas sur tiu linio.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 6.2 LA KOMANDO DE POSTALDONO
+
+
+ ** Tajpu a por enmeti POST la kursoro. **
+
+ 1. Movu la kursoron �e la komenco de la linio markita per --->.
+
+ 2. Premu e �is kiam la kursoro estas �e la fino de li.
+
+ 3. Tajpu a (minuskle) por aldoni tekston POST la kursoro.
+
+ 4. Kompletigu la vorton same kiel la linio sub �i. Premu <ESK> por
+ eliri la Enmetan re�imon.
+
+ 5. Uzu e por movi�i al la sekvanta nekompleta vorto kaj ripetu
+ pa�ojn 3 kaj 4.
+
+---> �i tiu lin ebligos vin ekz vin postal tekston al linio.
+---> �i tiu linio ebligos vin ekzerci vin postaldoni tekston al linio.
+
+RIMARKO: �iu a, i kaj A iras al la sama Enmeta re�imo, la nura malsamo
+ estas tie, kie la signoj estas enmetitaj.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 6.3 ALIA MANIERO POR ANSTATA�IGI
+
+
+ ** Tajpu majusklan R por anstata�igi pli ol unu signo. **
+
+ 1. Movu la kursoron al la unua suba linio markita per --->. Movu la
+ kursoron al la komenco de la unua xxx .
+
+ 2. Nun premu R kaj tajpu la nombron sub �i en la dua linio, por ke �i
+ anstata�igu la xxx .
+
+ 3. Premu <ESK> por foriri la Anstata�igan re�imon. Rimarku, ke la cetera
+ parto de la linio restas ne�an�ata.
+
+ 4. Ripetu la pa�ojn por anstata�igi la restantajn xxx.
+
+---> Aldono de 123 al xxx donas al vi xxx.
+---> Aldono de 123 al 456 donas al vi 579.
+
+RIMARKO: Anstata�iga re�imo estas same kiel Enmeta re�imo, sed �iu signo
+ tajpita forvi�as ekzistan signon.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 6.4 KOPII KAJ ALGLUI TEKSTON
+
+
+ ** Uzu la y operatoron por kopii tekston, kaj p por alglui �in **
+
+
+ 1. Iru al la linio markita per ---> sube kaj poziciu la kursoron post "a)".
+
+ 2. Komencu la Viduman re�imon per v kaj movu la kursoron �us anta� "unua".
+
+ 3. Tajpu y por kopii la emfazitan tekston.
+
+ 4. Movu la kursoron �e la fino de la linio: j$
+
+ 5. Tajpu p por alglui la tekston. Tiam tajpu: a dua <ESK> .
+
+ 6. Uzu Viduman re�imon por apartigi " ero.", kopiu �in per y , movi�u
+ �e la fino de la sekvanta linio per j$ kaj algluu la tekston tie
+ per p .
+
+---> a) tio estas la unua ero.
+ b)
+
+RIMARKO: vi povas anka� uzi y kiel operatoro; yw kopias unu vorton.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 6.5 AGORDI OPCION
+
+
+ ** Agordu opcion por ke ser�o a� anstata�igo ignoru usklecon **
+
+ 1. Ser�u 'ignori' per tajpo de /ignori <Enenklavo>
+ Ripetu plurfoje premante n .
+
+ 2. �altu la opcion 'ic' (ignori usklecon) per: :set ic
+
+ 3. Nun ser�u 'ignori' denove premante n
+ Rimarku, ke Ignori kaj IGNORI estas nun troveblas.
+
+ 4. �altu la opciojn 'hlsearch' kaj 'incsearch': :set hls is
+
+ 5. Nun retajpu la ser�an komandon kaj vidu kio okazas: /ignore <Enenklavo>
+
+ 6. Por mal�alti ignoron de uskleco: :set noic
+
+RIMARKO: Por forigi emfazon de kongruo, tajpu: :nohlsearch
+RIMARKO: Se vi deziras ignori usklecon por nur unu ser�a komando, uzu \c
+ en la frazo: /ignore\c <Enenklavo>
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 6 RESUMO
+
+ 1. Tajpu o por malfermi linion SUB la kursoro kaj eki en Enmeta re�imo.
+ 1. Tajpu O por malfermi linion SUPER la kursoro.
+
+ 2. Tajpu a por enmeti tekston POST la kursoro.
+ Tajpu A por enmeti tekston post la fino de la linio.
+
+ 3. La e komando movas la kursoron al la fino de vorto.
+
+ 4. la y operatoro kopias tekston, p algluas �in.
+
+ 5. Tajpo de majuskla R eniras la Anstata�igan re�imon �is kiam
+ <ESK> estas premita.
+
+ 6. Tajpo de ":set xxx" �altas la opcion "xxx". Iuj opcioj estas:
+ 'ic' 'ignorecase' ignori usklecon dum ser�o
+ 'is' 'incsearch' montru partan kongruon dum ser�o
+ 'hls' 'hlsearch' emfazas �iujn kongruajn frazojn
+ Vi povas uzi a� la longan, a� la mallongan nomon de opcio.
+
+ 7. Anta�aldonu "no" por mal�alti la opcion: :set noic
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 7.1 AKIRI HELPON
+
+
+ ** Uzu la helpan sistemon **
+
+ Vim havas ampleksan helpan sistemon. Por komenci�i, provu unu el la tiuj
+ tri:
+ - premu la klavon <HELPO> (se vi havas �in)
+ - premu la klavon <F1> (se vi havas �in)
+ - tajpu :help <Enenklavo>
+
+ Legu la tekston en la helpfenestro por trovi kiel helpo funkcias.
+ Tajpu CTRL-W CTRL-W por salti de unu fenestro al la alia.
+ Tajpu :q <Enenklavo> por fermi la helpan fenestron.
+
+ Vi povas trovi helpon pri io ajn aldonante argumenton al la komando
+ ":help". Provu tiujn (ne forgesu premi <Enenklavo>):
+
+ :help w
+ :help c_CTRL-D
+ :help insert-index
+ :help user-manual
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 7.2 KREI STARTAN SKRIPTON
+
+
+ ** Ebligu kapablojn de Vim **
+
+ Vim havas multe pli da kapabloj ol Vi, sed la plej multaj estas defa�lte
+ mal�altitaj. Por ekuzi la kapablojn, vi devas krei dosieron "vimrc.
+
+ 1. Ekredaktu la dosieron "vimrc". Tio dependas de via sistemo:
+ :e ~/.vimrc por Unikso
+ :e $VIM/_vimrc por MS-Vindozo
+
+ 2. Nun legu la enhavon de la ekzempla "vimrc"
+ :r $VIMRUNTIME/vimrc_example.vim
+
+ 3. Konservu la dosieron per:
+ :w
+
+ La sekvantan fojon, kiam vi lan�as Vim, �i uzos sintaksan emfazon.
+ Vi povas aldoni �iujn viajn preferatajn agordojn al tiu dosiero "vimrc".
+ Por pli da informoj, tajpu :help vimrc-intro
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 7.3 KOMPLETIGO
+
+
+ ** Kompletigo de komanda linio per CTRL-D kaj <TAB> **
+
+ 1. Certigu ke Vim estas en kongrua re�imo: :set nocp
+
+ 2. Rigardu tiujn dosierojn, kiuj ekzistas en la dosierujo: :!ls a� :!dir
+
+ 3. Tajpu la komencon de komando: :e
+
+ 4. Premu CTRL-D kaj Vim montros liston de komandoj, kiuj komencas per "e".
+
+ 5. Premu <TAB> kaj Vim kompletigos la nomon de la komando al ":edit".
+
+ 6. Nun aldonu spaceton kaj la komencon de ekzistanta nomo: :edit DOSI
+
+ 7. Premu <TAB>. Vim kompletigos la nomon (se �i estas unika)
+
+RIMARKO: Kompletigo funkcias por multaj komandoj. Nur provu premi CTRL-D kaj
+ <TAB>. Estas aparte utila por :help .
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leciono 7 RESUMO
+
+
+ 1. Tajpu :help a� premu <F1> a� <Helpo> por malfermi helpan fenestron.
+
+ 2. Tajpu :help kmd por trovi helpon pri kmd.
+
+ 3. Tajpu CTRL-W CTRL-W por salti al alia fenestro.
+
+ 4. Tajpu :q to fermi la helpan fenestron.
+
+ 5. Kreu komencan skripton vimrc por konservi viajn agordojn.
+
+ 6. Kiam vi tajpas : komandon, premu CTRL-D por vidi �iujn kompleteblojn.
+ Premu <TAB> por uzi unu kompletigon.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Tio konkludas la instruilon de Vim. �i celis doni mallongan superrigardon
+ de la redaktilo Vim, nur tio kio sufi�as por ebligi al vi facilan uzon de
+ la redaktilo. Estas nepre nekompleta, �ar Vim havas multajn multajn pliajn
+ komandojn. Legu la manlibron: ":help user-manual".
+
+ Tiu instruilo estis verkita de Michael C. Pierce kaj Robert K. Ware,
+ el la Koloradia Lernejo de Minejoj (Colorado School of Mines) uzante
+ ideojn provizitajn de Charles Smith el la Stata Universitato de Koloradio
+ (Colorado State University)
+
+ Retpo�to: [email protected].
+
+ Modifita por Vim de Bram Moolenaar.
+
+ Tradukita en Esperanto de Dominique Pell�, 2008-04-01
+ Retpo�to: [email protected]
+ Lasta �an�o: 2009-02-01
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff -Nur runtime.patched/tutor/tutor.eo.utf-8 runtime/tutor/tutor.eo.utf-8
--- runtime.patched/tutor/tutor.eo.utf-8 2008-04-05 12:35:18.000000000 -0700
+++ runtime/tutor/tutor.eo.utf-8 2009-02-12 14:23:27.000000000 -0800
@@ -1,5 +1,5 @@
==============================================================================
-= B o n v e n o n al la I n s t r u i l o de V I M - Versio 1.0.eo =
+= B o n v e n o n al la I n s t r u i l o de V I M - Versio 1.7.eo.2 =
==============================================================================
Vim estas tre potenca redaktilo, kiu havas multajn komandojn, tro da ili
@@ -54,15 +54,15 @@
1. Premu la klavon <ESK> (por certigi, ke vi estas en normala reĝimo).
2. Tajpu: :q! <Enenklavo>.
- Tio eliras el la rekdaktilo, SEN konservi la ŝanĝojn, kion vi faris.
+ Tio eliras el la rekdaktilo, SEN konservi la ŝanĝojn, kiujn vi faris.
- 3. Kiam vi vidas la ŝelinviton, tajpu la komandon kiun vi uzis por eniri
+ 3. Kiam vi vidas la ŝelinviton, tajpu la komandon kiun vi uzis por eniri
en ĉi tiu instruilo. Tio estus: vimtutor <Enenklavo>
4. Se vi memoris tiujn paŝojn kaj sentas vin memfida, plenumu la paŝojn
1 ĝis 3 por eliri kaj reeniri la redaktilon.
-RIMARKO: :q! <Enenklavo> eliras sen konservi la ŝanĝojn kion vi faris.
+RIMARKO: :q! <Enenklavo> eliras sen konservi la ŝanĝojn, kiujn vi faris.
Post kelkaj lecionoj, vi lernos kiel konservi la ŝanĝojn al dosiero.
5. Movu la kursoron suben ĝis la leciono 1.3.
@@ -79,7 +79,7 @@
forviŝenda signo.
3. Premu la klavon x por forviŝi la nedeziratan signon.
-
+
4. Ripetu paŝojn 2 ĝis 4 ĝis kiam la frazo estas ĝusta.
@@ -99,7 +99,7 @@
1. Movu la kursoron al la unua suba linio markita per --->.
- 2. Por igi la unuan linion sama ol la dua, movu la kursoron sur la unuan
+ 2. Por igi la unuan linion sama kiel la dua, movu la kursoron sur la unuan
signon post kie la teksto estas enmetenda.
3. Premu i kaj tajpu la bezonatajn aldonojn.
@@ -124,12 +124,12 @@
1. Movu la kursoron al la unua suba linio markita per --->.
Ne gravas sur kiu signo estas la kursoro.
- 2. Premu A kaj tajpu la bezonatajn aldonojn.
+ 2. Premu majusklan A kaj tajpu la bezonatajn aldonojn.
3. Post kiam la teksto estas aldonita, premu <ESK> por reiri al la normala
reĝimo.
- 4. Movu la kursoron al la dua linio markita per ---> kaj ripetu la
+ 4. Movu la kursoron al la dua linio markita per ---> kaj ripetu la
paŝojn 2 kaj 3 por korekti la frazon.
---> Mankas teksto el ti
@@ -157,7 +157,7 @@
3. Enmetu kaj forviŝu tekston, kiel vi lernis en la antaŭaj lecionoj.
- 4. Konservu la dosieron kun ŝanĝoj kaj eliru el Vim per: :qw <Enenklavo>
+ 4. Konservu la dosieron kun ŝanĝoj kaj eliru el Vim per: :wq <Enenklavo>
5. Relanĉu la instruilon vimtutor kaj moviĝu suben al la sekvanta resumo.
@@ -167,6 +167,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 1 RESUMO
+
1. La kursoro moviĝas aŭ per la sagoklavoj, aŭ per la klavoj hjkl.
h (liven) j (suben) k (supren) l (dekstren)
@@ -217,6 +218,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 2.2: PLIAJ KOMANDOJ DE FORVIŜO
+
** Tajpu d$ por forviŝi la finon de la linio. **
1. Premu <ESK> por certigi, ke vi estas en normala reĝimo.
@@ -249,7 +251,7 @@
movo - estas tio, pri kio la operatoro operacios (listigita sube)
Mallonga listo de movoj:
- w - ĝis la komenco de la sekvanta vorto, krom ĝian unuan signon.
+ w - ĝis la komenco de la sekvanta vorto, krom ĝia unua signo.
e - ĝis la fino de la nuna vorto, krom la lasta signo.
$ - ĝis la fino de la linio, krom la lasta signo.
@@ -283,6 +285,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 2.5: UZI NOMBRON POR FORVIŜI PLI
+
** Tajpo de nombro kun operatoro ripetas ĝin laŭfoje. **
En la kombinaĵo de la operatoro de forviŝo, kaj movo kiel menciita
@@ -302,6 +305,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 2.6: OPERACII SUR LINIOJ
+
** Tajpu dd por forviŝi tutan linion. **
Pro la ofteco de forviŝo de tuta linio, la verkisto de Vi decidis, ke
@@ -324,6 +328,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 2.7: LA KOMANDO DE MALFARO
+
** Premu u por malfari la lastajn komandojn, U por ripari la tutan linion. **
1. Movu la kursoron ĉe la suba linio markita per ---> kaj metu ĝin sur
@@ -344,6 +349,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 2 RESUMO
+
1. Por forviŝi ekde la kursoro ĝis la sekvanta vorto, tajpu: dw
2. Por forviŝi ekde la kursoro ĝis la fino de la linio, tajpu: d$
3. Por forviŝi tutan linion, tajpu: dd
@@ -368,6 +374,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 3.1 LA KOMANDO DE METO
+
** Tajpu p por meti tekston forviŝitan antaŭe post la kursoro. **
1. Movu la kursoron ĉe la unua ---> suba linio.
@@ -389,6 +396,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 3.2 LA KOMANDO DE ANSTATAŬIGO
+
** Tajpu rx por anstataŭigi la signon ĉe la kursoro per x . **
@@ -402,7 +410,7 @@
---> Kiem tiu lanio estis tajpita, iu pramis la naĝuftajn klovojn!
---> Kiam tiu linio estis tajpita, iu premis la neĝustajn klavojn!
-
+
5. Nun moviĝu al la leciono 3.3.
Rimarko: Memoru, ke vi devus lerni per uzo, kaj ne per memorado.
@@ -411,6 +419,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 3.3 LA OPERATORO DE ŜANĜO
+
** Por ŝanĝi ĝis la fino de la vorto, tajpu ce . **
1. Movu la kursoron ĉe la unua suba linio markita per --->.
@@ -430,7 +439,8 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 3.4 PLIAJ ŜANĜOJ PER c
- ** La operatoro de ŝanĝo uzeblas kun la sama movo ol forviŝo. **
+
+ ** La operatoro de ŝanĝo uzeblas kun la sama movo kiel forviŝo. **
1. La operatoro de ŝanĝo funkcias sammaniere kiel forviŝo. La formato estas:
@@ -453,6 +463,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 3 RESUMO
+
1. Por remeti tekston, kiun vi ĵus forviŝis, tajpu p. Tio metas la
forviŝitan tekston POST la kursoro (se linio estis forviŝita, ĝi
iros en la linion sub la kursoro).
@@ -474,6 +485,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 4.1: POZICIO DE KURSORO KAJ STATO DE DOSIERO
+
** Tajpu CTRL-G por montri vian pozicion en la dosiero kaj la dosierstaton.
Tajpu G por moviĝi al linio en la dosiero. **
@@ -483,7 +495,7 @@
Mesaĝo aperos ĉe la suba parto de la paĝo kun la dosiernomo kaj la
pozicio en la dosiero. Memoru la numeron de la linio por paŝo 3.
- RIMARKO: Vi eble vidas la pozicion de la kursoro ĉe la suba dekstra
+ RIMARKO: Vi eble vidas la pozicion de la kursoro ĉe la suba dekstra
angulo de la ekrano. Tio okazas kiam la agordo 'ruler' estas
ŝaltita (vidu :help 'ruler')
@@ -499,6 +511,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 4.2 LA KOMANDO DE SERĈO
+
** Tajpu / kaj poste frazon por serĉi la frazon. **
1. En normala reĝimo, tajpu la / signon. Rimarku, ke ĝi kaj la kursoro
@@ -524,7 +537,8 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 4.3 SERĈO DE KONGRUAJ KRAMPOJ
- ** Tajpu % por trovi kongruan ), [ aŭ } **
+
+ ** Tajpu % por trovi kongruan ), ] aŭ } **
1. Poziciu la kursoron sur iun (, [ aŭ { en la linio markita per --->.
@@ -548,7 +562,7 @@
1. Movu la kursoron al la suba linio markita per --->.
- 2. Tajpu :s/laa/la <Enenklavo> . Rimarku, ke la komando ŝanĝas nur la
+ 2. Tajpu :s/laa/la <Enenklavo> . Rimarku, ke la komando ŝanĝas nur la
unuan okazaĵon de "laa" en la linio.
3. Nun tajpu :s/laa/la/g . Aldono de g opcio signifas mallokan
@@ -573,7 +587,7 @@
1. CTRL-G vidigas vian pozicion en la dosiero kaj la staton de la dosiero.
G movas la kursoron al la fino de la dosiero.
- numero G movas la kursoron al tiu numero de linio.
+ numero G movas la kursoron al numero de tiu linio.
gg movas la kursoron al la unua linio.
2. Tajpo de / kaj frazon serĉas la frazon antaŭen.
@@ -595,6 +609,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 5.1 KIEL PLENUMI EKSTERAN KOMANDON
+
** Tajpu :! sekvata de ekstera komando por plenumi la komandon. **
1. Tajpu la konatan komandon : por pozicii la kursoron ĉe la suba parto
@@ -603,7 +618,7 @@
2. Nun tajpu la ! (krisigno) signon. Tio ebligas al vi plenumi iun
eksteran ŝelan komandon ajn.
- 3. Ekzemple, tajpu ls post ! kaj tajpu <Enenklavo>. Tio listigos la
+ 3. Ekzemple, tajpu ls post ! kaj tajpu <Enenklavo>. Tio listigos la
enhavon de la dosierujo, same kiel se vi estis en ŝela invito.
Aŭ uzu :!dir se ls ne funkcias.
@@ -617,6 +632,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 5.2 PLI PRI KONSERVO DE DOSIERO
+
** Por konservi la faritajn ŝanĝojn en la teksto, tajpu :w DOSIERNOMO. **
1. Tajpu !dir aŭ !ls por akiri liston de via dosierujo.
@@ -626,7 +642,7 @@
3. Nun tajpu: :w TESTO (kie TESTO estas la elektita dosiernomo)
- 4. Tio konservas la tutan dosieron (instruilo de Vim) per la nomo TESTO.
+ 4. Tio konservas la tutan dosieron (instruilon de Vim) kun la nomo TESTO.
Por kontroli tion, tajpu :!dir aŭ !ls denove por vidigi vian
dosierujon.
@@ -641,11 +657,12 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 5.3 APARTIGI KONSERVENDAN TESTON
+
** Por konservi parton de la dosiero, tajpu v movo :w DOSIERNOMO **
1. Movu la kursoron al tiu linio.
-
- 2. Premu v kaj movu la kursoron al la kvina suba ero. Rimarku, ke la
+
+ 2. Premu v kaj movu la kursoron al la kvina suba ero. Rimarku, ke la
teksto emfaziĝas.
3. Premu la : signon. Ĉe la fino de la ekrano :'<,'> aperos.
@@ -654,10 +671,10 @@
Kontrolu, ke vi vidas :'<,'>w TESTO antaŭ premi <Enenklavo>.
5. Vim konservos la apartigitajn liniojn al la dosiero TESTO. Uzu :dir
- aŭ :!ls por vidigi ĝin. Ne jam forviŝu ĝin. Ni uzos ĝin en la
- sekvanta leciono.
+ aŭ :!ls por vidigi ĝin. Ne forviŝu ĝin. Ni uzos ĝin en la sekvanta
+ leciono.
-RIMARKO: PREMO DE v komencas Viduman apartigon. Vi povas movi la kursoron
+RIMARKO: Premo de v komencas Viduman apartigon. Vi povas movi la kursoron
por pligrandigi aŭ malpligrandigi la apartigon. Tiam vi povas uzi
operatoron por plenumi ion kun la teksto. Ekzemple, d forviŝas
la tekston.
@@ -682,7 +699,7 @@
ke estas nun du kopioj de la leciono 5.3, la originala kaj la versio mem
de la dosiero.
-RIMARKO: Vi nun povas legi la eliron de ekstera komando. Ekzemple,
+RIMARKO: Vi nun povas legi la eliron de ekstera komando. Ekzemple,
:r !ls legas la eliron de la komando ls kaj metas ĝin sub la
kursoron.
@@ -701,7 +718,7 @@
2. :w DOSIERNOMO konservas la nunan dosieron de Vim al disko kun la
nomo DOSIERNOMO.
- 3. v movo :w DOSIERNOMO konservas la Viduman apartigo de linioj en
+ 3. v movo :w DOSIERNOMO konservas la Viduman apartigon de linioj en
dosiero DOSIERNOMO.
4. :r DOSIERNOMO akiras la dosieron DOSIERNOMO el la disko kaj metas
@@ -748,7 +765,7 @@
4. Kompletigu la vorton same kiel la linio sub ĝi. Premu <ESK> por
eliri la Enmetan reĝimon.
- 5. Uzu e por moviĝi al la sekvanta nekompleta vorto kaj ripetu
+ 5. Uzu e por moviĝi al la sekvanta nekompleta vorto kaj ripetu
paŝojn 3 kaj 4.
---> Ĉi tiu lin ebligos vin ekz vin postal tekston al linio.
@@ -804,7 +821,7 @@
per p .
---> a) tio estas la unua ero.
- b)
+ b)
RIMARKO: vi povas ankaŭ uzi y kiel operatoro; yw kopias unu vorton.
@@ -812,7 +829,8 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 6.5 AGORDI OPCION
- ** Agordu opcion por ke serĉo aŭ anstataŭgo ignoru usklecon **
+
+ ** Agordu opcion por ke serĉo aŭ anstataŭigo ignoru usklecon **
1. Serĉu 'ignori' per tajpo de /ignori <Enenklavo>
Ripetu plurfoje premante n .
@@ -857,9 +875,11 @@
7. Antaŭaldonu "no" por malŝalti la opcion: :set noic
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 7.1 AKIRI HELPON
+
** Uzu la helpan sistemon **
Vim havas ampleksan helpan sistemon. Por komenciĝi, provu unu el la tiuj
@@ -884,22 +904,23 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 7.2 KREI STARTAN SKRIPTON
- ** Ebligu eblecojn de Vim **
- Vim havas multe pli da eblecoj ol Vi, sed la plej multaj estas defaŭlte
- malŝaltitaj. Por ekuzi la eblecojn, vi devas krei dosieron "vimrc.
+ ** Ebligu kapablojn de Vim **
+
+ Vim havas multe pli da kapabloj ol Vi, sed la plej multaj estas defaŭlte
+ malŝaltitaj. Por ekuzi la kapablojn, vi devas krei dosieron "vimrc.
1. Ekredaktu la dosieron "vimrc". Tio dependas de via sistemo:
:e ~/.vimrc por Unikso
:e $VIM/_vimrc por MS-Vindozo
- 2. Nun legu la enhavon de la ekzempla "vimrc"
+ 2. Nun legu la enhavon de la ekzempla "vimrc"
:r $VIMRUNTIME/vimrc_example.vim
3. Konservu la dosieron per:
:w
- La sekvanta fojo, kiam vi lanĉas Vim, ĝi uzos sintaksan emfazon.
+ La sekvantan fojon, kiam vi lanĉas Vim, ĝi uzos sintaksan emfazon.
Vi povas aldoni ĉiujn viajn preferatajn agordojn al tiu dosiero "vimrc".
Por pli da informoj, tajpu :help vimrc-intro
@@ -907,6 +928,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Leciono 7.3 KOMPLETIGO
+
** Kompletigo de komanda linio per CTRL-D kaj <TAB> **
1. Certigu ke Vim estas en kongrua reĝimo: :set nocp
@@ -962,6 +984,6 @@
Tradukita en Esperanto de Dominique Pellé, 2008-04-01
Retpoŝto: [email protected]
- Lasta ŝanĝo: 2008-04-02
+ Lasta ŝanĝo: 2009-02-01
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff -Nur runtime.patched/tutor/tutor.es runtime/tutor/tutor.es
--- runtime.patched/tutor/tutor.es 2004-06-07 07:32:39.000000000 -0700
+++ runtime/tutor/tutor.es 2009-01-14 12:15:24.000000000 -0800
@@ -117,7 +117,7 @@
RESUMEN DE LA LECCI�N 1
- 1. El cursor se mueve utilizamdo las teclas de las flechas o las teclas hjkl.
+ 1. El cursor se mueve utilizando las teclas de las flechas o las teclas hjkl.
h (izquierda) j (abajo) k (arriba) l (derecha)
2. Para acceder a Vim (desde el s�mbolo del sistema %) escriba:
diff -Nur runtime.patched/tutor/tutor.es.utf-8 runtime/tutor/tutor.es.utf-8
--- runtime.patched/tutor/tutor.es.utf-8 2008-06-21 11:19:12.000000000 -0700
+++ runtime/tutor/tutor.es.utf-8 2009-01-14 12:14:56.000000000 -0800
@@ -117,7 +117,7 @@
RESUMEN DE LA LECCIÓN 1
- 1. El cursor se mueve utilizamdo las teclas de las flechas o las teclas hjkl.
+ 1. El cursor se mueve utilizando las teclas de las flechas o las teclas hjkl.
h (izquierda) j (abajo) k (arriba) l (derecha)
2. Para acceder a Vim (desde el símbolo del sistema %) escriba:
diff -Nur runtime.patched/tutor/tutor.fr runtime/tutor/tutor.fr
--- runtime.patched/tutor/tutor.fr 2004-06-07 07:32:39.000000000 -0700
+++ runtime/tutor/tutor.fr 2008-12-08 13:08:55.000000000 -0800
@@ -1,5 +1,5 @@
===============================================================================
-= B i e n v e n u e dans le T u t o r i e l de V I M - Version 1.5.fr.2 =
+= B i e n v e n u e dans le T u t o r i e l de V I M - Version 1.7.fr.1 =
===============================================================================
Vim est un �diteur tr�s puissant qui a trop de commandes pour pouvoir
@@ -7,93 +7,100 @@
d�crire suffisamment afin de vous permettre d'utiliser simplement Vim.
Le temps requis pour suivre ce cours est d'environ 25 � 30 minutes, selon
- le temps que vous passerez � exp�rimenter. Les commandes utilis�es dans
- les le�ons modifieront le texte. Faites une copie de ce fichier afin de
- vous entra�ner dessus (si vous avez lanc� "vimtutor" ceci est d�j� une
- copie).
+ le temps que vous passerez � exp�rimenter.
+
+ ATTENTION :
+ Les commandes utilis�es dans les le�ons modifieront le texte. Faites une
+ copie de ce fichier afin de vous entra�ner dessus (si vous avez lanc�
+ "vimtutor" ceci est d�j� une copie).
Il est important de garder en t�te que ce cours est con�u pour apprendre
- par la pratique. Cela signifie que vous devez ex�cuter les commandes
- pour les apprendre correctement. Si vous vous contentez de lire le
- texte, vous oublierez les commandes !
-
- Maintenant, v�rifiez que votre clavier n'est PAS verouill� en majuscules,
- et appuyez la touche j le nombre de fois suffisant pour que la le�on
- 1.1 remplisse compl�tement l'�cran.
+ par la pratique. Cela signifie que vous devez ex�cuter les commandes
+ pour les apprendre correctement. Si vous vous contentez de lire le texte,
+ vous oublierez les commandes !
+
+ Maintenant, v�rifiez que votre clavier n'est PAS verrouill� en
+ majuscules, et appuyez la touche j le nombre de fois suffisant pour
+ que la Le�on 1.1 remplisse compl�tement l'�cran.
+
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 1.1 : D�PLACEMENT DU CURSEUR
+ Le�on 1.1 : D�PLACEMENT DU CURSEUR
** Pour d�placer le curseur, appuyez les touches h,j,k,l comme indiqu�. **
- ^
- k Astuce: La touche h est � gauche et d�place � gauche.
- < h l > La touche l est � droite et d�place � droite.
- j La touche j ressemble � une fl�che vers le bas.
- v
+ ^
+ k Astuce : La touche h est � gauche et d�place � gauche.
+ < h l > La touche l est � droite et d�place � droite.
+ j La touche j ressemble � une fl�che vers le bas.
+ v
1. D�placez le curseur sur l'�cran jusqu'� vous sentir � l'aise.
2. Maintenez la touche Bas (j) enfonc�e jusqu'� ce qu'elle se r�p�te.
----> Maintenant vous �tes capable de vous d�placer jusqu'� la le�on suivante.
+ Maintenant vous �tes capable de vous d�placer jusqu'� la le�on suivante.
3. En utilisant la touche Bas, allez � la Le�on 1.2.
-Note: Si jamais vous doutez de ce que vous venez de taper, appuyez <�chap>
- pour revenir en mode Normal. Puis retapez la commande que vous vouliez.
+NOTE : Si jamais vous doutez de ce que vous venez de taper, appuyez <�chap>
+ pour revenir en mode Normal. Puis retapez la commande que vous vouliez.
-Note: Les touches fl�ch�es devraient �galement fonctionner. Mais en utilisant
- hjkl vous pourrez vous d�placer beaucoup plus rapidement, une fois que
- vous aurez pris l'habitude.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 1.2 : ENTR�E ET SORTIE DE VIM
+NOTE : Les touches fl�ch�es devraient �galement fonctionner. Mais en utilisant
+ hjkl vous pourrez vous d�placer beaucoup plus rapidement, une fois que
+ vous aurez pris l'habitude.
- !! NOTE: Avant d'effectuer les �tapes ci-dessous, lisez toute cette le�on !!
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Le�on 1.2 : SORTIR DE VIM
- 1. Appuyez la touche <�chap> (pour �tre s�r d'�tre en mode Normal).
- 2. Tapez: :q! <Entr�e>
+ !! NOTE : Avant d'effectuer les �tapes ci-dessous, lisez toute cette le�on !!
----> Ceci quitte l'�diteur SANS sauver les changements que vous avez faits.
- Si vous voulez enregistrer les changements et sortir, tapez:
- :wq <Entr�e>
+ 1. Appuyez la touche <�chap> (pour �tre s�r d'�tre en mode Normal).
- 3. Lorsque l'invite du 'shell' vous sera pr�sent�e, tapez la commande qui
- vous a amen� dans ce tutoriel. Cela pourrait �tre: vimtutor <Entr�e>
- Normalement, vous utiliseriez: vim tutor <Entr�e>
+ 2. Tapez : :q! <Entr�e>
+ Ceci quitte l'�diteur SANS enregistrer les changements que vous avez
+ faits.
----> 'vim' lance l'�diteur, 'tutor' est le fichier que vous souhaitez �diter.
+ 3. Lorsque l'invite du shell vous sera pr�sent�e, tapez la commande qui
+ vous a men� dans ce tutoriel. Cela pourrait �tre : vimtutor <Entr�e>
4. Si vous avez m�moris� ces �tapes et �tes confiant, effectuez les �tapes
- 1 � 3 pour sortir puis rentrer dans l'�diteur. D�placez ensuite le
- curseur jusqu'� la Le�on 1.3.
+ 1 � 3 pour sortir puis rentrer dans l'�diteur.
+
+NOTE : :q! <Entr�e> annule tous le changements que vous avez fait. Dans
+ quelques le�ons, vous apprendrez � enregistrer les changements.
+
+ 5. D�placez le curseur � la Le�on 1.3.
+
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 1.3 : �DITION DE TEXTE - EFFACEMENT
+ Le�on 1.3 : �DITION DE TEXTE - EFFACEMENT
- ** En mode Normal, appuyez x pour effacer le caract�re sous le curseur. **
+ ** Appuyez x pour effacer le caract�re sous le curseur. **
1. D�placez le curseur sur la ligne marqu�e ---> ci-dessous.
2. Pour corriger les erreurs, d�placez le curseur jusqu'� ce qu'il soit
sur un caract�re � effacer.
- 3. Appuyez la touche x pour effacer le caract�re redondant.
+ 3. Appuyez la touche x pour effacer le caract�re redondant.
4. R�p�tez les �tapes 2 � 4 jusqu'� ce que la phrase soit correcte.
---> La vvache � saut�� au-ddessus dde la luune.
- 5. Maintenant que la ligne est correcte, passez � la le�on 1.4.
+ 5. Maintenant que la ligne est correcte, passez � la Le�on 1.4.
-NOTE: En avan�ant dans ce cours, n'essayez pas de m�moriser, apprenez par
- la pratique.
+NOTE : En avan�ant dans ce cours, n'essayez pas de m�moriser, apprenez par
+ la pratique.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 1.4 : �DITION DE TEXTE - INSERTION
+ Le�on 1.4 : �DITION DE TEXTE - INSERTION
- ** En mode Normal, appuyez i pour ins�rer du texte. **
+ ** Appuyez i pour ins�rer du texte. **
1. D�placez le curseur sur la premi�re ligne marqu�e ---> ci-dessous.
@@ -108,38 +115,94 @@
---> Il mnqe caract�res cette .
---> Il manque des caract�res dans cette ligne.
- 5. Une fois que vous �tes � l'aise avec l'insertion de texte, allez au
- r�sum� ci-dessous.
+ 5. Une fois que vous �tes � l'aise avec l'insertion de texte, allez � la
+ Le�on 1.5.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Le�on 1.5 : �DITION DE TEXTE - AJOUTER
+
+
+ ** Appuyez A pour ajouter du text. **
+
+ 1. D�placez le curseur sur la premi�re ligne ci-dessous marqu�e --->.
+ Peu importe sur quel caract�re se trouve le curseur sur cette ligne.
+
+ 2. Appuyez A et tapez les ajouts n�cessaires.
+
+ 3. Quand le texte a �t� ajout�, appuyez <�chap> pour revenir en mode
+ Normal.
+
+ 4. D�placez le curseur sur la seconde ligne marqu�e ---> et r�p�tez les
+ �tapes 2 et 3 pour corriger la phrase.
+
+---> Il manque du texte � partir de cet
+ Il manque du texte � partir de cette ligne.
+---> Il manque aussi du te
+ Il manque aussi du texte ici.
+
+ 5. Quand vous vous sentez suffisamment � l'aise pour ajouter du texte,
+ allez � la Le�on 1.6.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Le�on 1.6 : �DITER UN FICHIER
+
+
+ ** Utilisez :wq pour enregistrer un fichier et sortir. **
+
+!! NOTE : Lisez toute la le�on avant d'ex�cuter les instructions ci-dessous !!
+
+ 1. Sortez de ce tutoriel comme vous l'avez fait dans la Le�on 1.2 : :q!
+ Ou, si vous avez acc�s � un autre terminal, ex�cutez y les actions
+ qui suivent.
+
+ 2. � l'invite du shell, tapez cette commande : vim tutor <Entr�e>
+ 'vim' est la commande pour d�marrer l'�diteur Vim, 'tutor' est le
+ nom du fichier que vous souhaitez �diter. Utilisez un fichier qui peut
+ �tre modifi�.
+
+ 3. Ins�rez et effacez du texte comme vous l'avez appris dans les le�ons
+ pr�c�dentes.
+
+ 4. Enregistrez le fichier avec les changements et sortez de Vim avec :
+ :wq <Entr�e>
+
+ 5. Si vous avez quitt� vimtutor � l'�tape 1, recommencez vimtutor et
+ d�placez-vous en bas vers le r�sum� suivant.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- R�SUM� DE LA LE�ON 1
+ R�SUM� DE LA LE�ON 1
+
1. Le curseur se d�place avec les touches fl�ch�es ou les touches hjkl.
- h (gauche) j (bas) k (haut) l (droite)
+ h (gauche) j (bas) k (haut) l (droite)
+
+ 2. Pour d�marrer Vim � l'invite du shell tapez : vim FICHIER <Entr�e>
- 2. Pour entrer dans Vim (� l'invite %) tapez: vim FICHIER <Entr�e>
+ 3. Pour quitter Vim tapez : <�chap> :q! <Entr�e> pour perdre tous les
+ changements.
+ OU tapez : <�chap> :wq <Entr�e> pour enregistrer les
+ changements.
- 3. Pour quitter Vim tapez: <�chap> :q! <Entr�e> pour perdre tous les
- changements.
- OU tapez: <�chap> :wq <Entr�e> pour enregistrer les
- changements.
+ 4. Pour effacer un caract�re sous le curseur tapez : x
- 4. Pour effacer un caract�re sous le curseur en mode Normal tapez: x
+ 5. Pour ins�rer ou ajouter du texte tapez :
+ i tapez le texte � ins�rer avant le curseur <�chap>
+ A tapez le texte � ajouter apr�s le curseur <�chap>
- 5. Pour ins�rer du texte au niveau du curseur en mode Normal tapez:
- i tapez le texte <�chap>
+NOTE : Appuyer <�chap> vous place en mode Normal ou annule une commande
+ partiellement tap�e dont vous ne voulez plus.
-NOTE: Appuyer <�chap> vous place en mode Normal ou annule une commande
- partiellement tap�e dont vous ne voudriez plus.
+Passez maintenant � la le�on 2.
-Passez maintenant � la Le�on 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 2.1 : EFFACEMENTS
+ Le�on 2.1 : COMMANDES D'EFFACEMENT
- ** Tapez dw pour effacer jusqu'� la fin d'un mot. **
+ ** Tapez dw pour effacer un mot. **
1. Appuyez <�chap> pour �tre s�r d'�tre en mode Normal.
@@ -147,91 +210,139 @@
3. Placez le curseur sur le d�but d'un mot qui a besoin d'�tre effac�.
- 4. Tapez dw pour faire dispara�tre ce mot.
+ 4. Tapez dw pour faire dispara�tre ce mot.
-NOTE: Les lettres dw appara�tront sur la derni�re ligne de l'�cran lors de
- votre frappe. Si vous avez mal tap� quelque chose, appuyez <�chap> et
- recommencez.
+NOTE : La lettre d appara�tra sur la derni�re ligne de l'�cran lors de
+ votre frappe. Vim attend que vous tapiez w . Si vous voyez un autre
+ caract�re que d vous avez tap� autre chose ; appuyez <�chap> et
+ recommencez.
---> Il y a quelques dr�le mots qui n'ont rien � faire papier sur cette ligne.
5. R�p�tez les �tapes 3 et 4 jusqu'� ce que la phrase soit correcte et allez
� la Le�on 2.2.
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 2.2 : PLUS D'EFFACEMENTS
+ Le�on 2.2 : PLUS DE COMMANDES D'EFFACEMENTS
- ** Tapez d$ pour effacer jusqu'� la fin de la ligne. **
+ ** Tapez d$ pour effacer jusqu'� la fin de la ligne. **
1. Appuyez <�chap> pour �tre s�r d'�tre en mode Normal.
2. D�placez le curseur sur la ligne marqu�e ---> ci-dessous.
- 3. D�placez le curseur jusqu'� la fin correcte de la ligne
- (APR�S le premier . ).
+ 3. D�placez le curseur jusqu'� la fin de la ligne correcte (APR�S le
+ premier . ).
- 4. Tapez d$ pour effacer jusqu'� la fin de la ligne.
+ 4. Tapez d$ pour effacer jusqu'� la fin de la ligne.
---> Quelqu'un a tap� la fin de cette ligne deux fois. cette ligne deux fois.
5. Allez � la Le�on 2.3 pour comprendre ce qui se passe.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Le�on 2.3 : � PROPOS DES OP�RATEURS ET DES MOUVEMENTS
+
+
+ Plusieurs commandes qui changent le texte sont constitu�es d'un op�rateur
+ et d'un mouvement. Le format pour une commande d'effacement avec l'op�rateur
+ d d'effacement est le suivant :
+ d mouvement
+
+ O� :
+ d - est l'op�rateur d'effacement
+ mouvement - est le mouvement sur lequel agit l'op�rateur (list�s
+ ci-dessous)
+
+ Une courte liste de mouvements :
+ w - jusqu'au d�but du prochain mot, en EXCLUANT son premier caract�re.
+ e - jusqu'� la fin du mot courant, en EXCLUANT son denier caract�re.
+ $ - jusqu'� la fin de la ligne, en INCLUANT son dernier caract�re.
+
+ Ainsi, taper de va effacer depuis le curseur jusqu'� la fin du mot.
+
+NOTE : Le seul appui d'un mouvement en mode Normal, sans commande, d�place le
+ curseur comme indiqu�.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 2.3 : DES COMMANDES ET DES OBJETS
+ Le�on 2.4 : UTILISER UN QUANTIFICATEUR AVEC UN MOUVEMENT
- Le format de la commande d'effacement d est le suivant:
+ ** Taper un nombre avant un mouvement le r�p�te autant de fois. **
- [nombre] d objet OU d [nombre] objet
- o�:
- nombre - est combien de fois ex�cuter la commande (optionnel, d�faut: 1).
- d - est la commande d'effacement.
- objet - est ce sur quoi la commande va op�rer (liste ci-dessous).
+ 1. D�placez le curseur au d�but de la ligne marqu�e ---> ci-dessous.
- Une courte liste d'objets:
- w - du curseur jusqu'� la fin du mot, y compris l'espace qui suit.
- e - du curseur jusqu'� la fin du mot, SANS l'espace qui suit.
- $ - du curseur jusqu'� la fin de la ligne.
+ 2. Tapez 2w pour d�placer le curseur de 2 mots vers l'avant.
-NOTE: Pour les aventureux, le seul appui d' objet en mode Normal, sans
- commande, d�place le curseur comme indiqu� dans la liste des objets.
+ 3. Tapez 3e pour d�placer le curseur � la fin du troisi�me mot vers
+ l'avant.
+ 4. Tapez 0 (z�ro) pour d�placer au d�but de la ligne.
+ 5. R�p�tez les �tapes 2 et 3 avec des quantificateurs diff�rents.
+
+---> Ceci est juste une ligne avec des mots o� vous pouvez vous d�placer.
+
+ 6. D�placez-vous � la Le�on 2.5.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 2.4 : UNE EXCEPTION � 'COMMANDE-OBJET'
+ Le�on 2.5 : UTILISER UN QUANTIFICATEUR POUR EFFACER PLUS
+
+
+ ** Taper un nombre avec un op�rateur le r�p�te autant de fois. **
- ** Tapez dd pour effacer une ligne compl�te. **
+ Outre la combinaison de l'op�rateur d'effacement avec un d�placement
+ mentionn� ci-dessus, vous pouvez ins�rer un nombre (quantificateur)
+ pour effacez encore plus :
+ d nombre d�placement
+
+ 1. D�placez le curseur vers le premier mot en MAJUSCULES dans la ligne
+ marqu�e --->.
+
+ 2. Tapez d2w pour effacer les deux mots en MAJUSCULES.
+
+ 3. R�p�tez les �tapes 1 et 2 avec des quantificateurs diff�rents pour
+ effacer les mots suivants en MAJUSCULES � l'aide d'une commande.
+
+---> Cette ABC DE ligne FGHI JK LMN OP de mots est Q RS TUV nettoy�e.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Le�on 2.6 : OP�REZ SUR DES LIGNES
+
+
+ ** Tapez dd pour effacer une ligne compl�te. **
Vu le nombre de fois o� l'on efface des lignes compl�tes, les concepteurs
- de Vi ont d�cid� qu'il serait plus facile de taper simplement deux d � la
- suite pour effacer une ligne.
+ de Vi ont d�cid� qu'il serait plus facile de taper simplement deux d
+ pour effacer une ligne.
1. Placez le curseur sur la seconde ligne de la phrase ci-dessous.
- 2. Tapez dd pour effacer la ligne.
+ 2. Tapez dd pour effacer la ligne.
3. Maintenant allez � la quatri�me ligne.
- 4. Tapez 2dd (rappelez-vous, nombre-commande-objet) pour effacer les
- deux lignes.
+ 4. Tapez 2dd pour effacer deux lignes.
+
+---> 1) Les roses sont rouges,
+---> 2) La boue c'est dr�le,
+---> 3) Les violettes sont bleues,
+---> 4) J'ai une voiture,
+---> 5) Les horloges donnent l'heure,
+---> 6) Le sucre est doux
+---> 7) Tout comme vous.
- 1) Les roses sont rouges,
- 2) La boue c'est dr�le,
- 3) Les violettes sont bleues,
- 4) J'ai une voiture,
- 5) Les horloges donnent l'heure,
- 6) Le sucre est doux
- 7) Tout comme vous.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 2.5 : L'ANNULATION
+ Le�on 2.7 : L'ANNULATION
- ** Tapez u pour annuler les derni�res commandes. **
- ** Tapez U pour r�cup�rer toute une ligne. **
+
+ ** Tapez u pour annuler les derni�res commandes. **
+ ** Tapez U pour r�cup�rer toute une ligne. **
1. D�placez le curseur sur la ligne marqu�e ---> ci-dessous et placez-le sur
la premi�re erreur.
@@ -239,10 +350,10 @@
3. Puis tapez u pour annuler la derni�re commande ex�cut�e.
4. Cette fois, corrigez toutes les erreurs de la ligne avec la commande x .
5. Puis tapez un U majuscule pour remettre la ligne dans son �tat initial.
- 6. Puis tapez u deux-trois fois pour annuler le U et les commandes
+ 6. Puis tapez u deux-trois fois pour annuler le U et les commandes
pr�c�dentes.
- 7. Maintenant tapez Ctrl-R (maintenez la touche Ctrl enfonc�e pendant que
- vous appuyez sur R) deux-trois fois pour refaire les commandes (annuler
+ 7. Maintenant tapez CTRL-R (maintenez la touche CTRL enfonc�e pendant que
+ vous appuyez R) deux-trois fois pour refaire les commandes (annuler
les annulations).
---> Coorrigez les erreurs suur ccette ligne et reemettez-les avvec 'annuler'.
@@ -250,57 +361,64 @@
8. Ce sont des commandes tr�s utiles. Maintenant, allez au r�sum� de la
Le�on 2.
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- R�SUM� DE LA LE�ON 2
+ R�SUM� DE LA LE�ON 2
+
+
+ 1. Pour effacer du curseur jusqu'au mot suivant tapez : dw
+
+ 2. Pour effacer du curseur jusqu'� la fin d'une ligne tapez : d$
+ 3. Pour effacer toute une ligne tapez : dd
- 1. Pour effacer du curseur jusqu'� la fin d'un mot tapez: dw
+ 4. Pour r�p�ter un d�placement ajoutez un quantificateur : 2w
- 2. Pour effacer du curseur jusqu'� la fin d'une ligne tapez: d$
+ 5. Le format d'une commande de changement est :
- 3. Pour effacer toute une ligne tapez: dd
+ op�rateur [nombre] d�placement
- 4. Le format d'une commande en mode Normal est:
+ O� :
+ op�rateur - est ce qu'il faut faire, comme d pour effacer.
+ [nombre] - un quantificateur optionnel pour r�p�ter le d�placement.
+ d�placement - d�place le long du texte � op�rer, tel que w (mot),
+ $ (jusqu'� la fin de ligne), etc.
- [nombre] commande objet OU commande [nombre] objet
- o�:
- nombre - est combien de fois r�p�ter la commande
- commande - est ce qu'il faut faire, par exemple d pour effacer
- objet - est ce sur quoi la commande devrait agir, par exemple w (mot),
- $ (jusqu'� la fin de la ligne), etc.
+ 6. Pour se d�placer au d�but de ligne, utilisez un z�ro : 0
+
+ 5. Pour annuler des actions pr�c�dentes, tapez : u (u minuscule)
+ Pour annuler tous les changements sur une ligne tapez : U (U majuscule)
+ Pour annuler l'annulation tapez : CTRL-R
- 5. Pour annuler des actions pr�c�dentes, tapez: u (u minuscule)
- Pour annuler tous les changements sur une ligne tapez: U (U majuscule)
- Pour annuler l'annulation tapez: Ctrl-R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 3.1 : LE COLLAGE
+ Le�on 3.1 : LE COLLAGE
- ** Tapez p pour placer apr�s le curseur ce qui vient d'�tre effac�. **
+ ** Tapez p pour placer apr�s le curseur ce qui vient d'�tre effac�. **
- 1. Placez le curseur sur la premi�re ligne du "po�me" ci-dessous.
+ 1. Placez le curseur sur la premi�re ligne ci-dessous marqu�e --->.
- 2. Tapez dd pour effacer la ligne et la placer dans le tampon de Vim.
+ 2. Tapez dd pour effacer la ligne et la placer dans un registre de Vim.
- 3. D�placez le curseur sur la ligne qui PR�C�DE l'endroit o� vous voulez
- remettre la ligne effac�e.
+ 3. D�placez le curseur sur la ligne c) au dessus o� vous voulez remettre la
+ ligne effac�e.
- 4. En mode Normal, tapez p pour remettre la ligne.
+ 4. En mode Normal, tapez p pour remettre la ligne en dessous du curseur.
5. R�p�tez les �tapes 2 � 4 pour mettre toutes les lignes dans le bon ordre.
- d) Et vous, qu'apprenez-vous ?
- b) Les violettes sont bleues,
- c) L'intelligence s'apprend,
- a) Les roses sont rouges,
+---> d) Et vous, qu'apprenez-vous ?
+---> b) Les violettes sont bleues,
+---> c) L'intelligence s'apprend,
+---> a) Les roses sont rouges,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 3.2 : LE REMPLACEMENT
+ Le�on 3.2 : LA COMMANDE DE REMPLACEMENT
- ** Tapez r et un caract�re pour remplacer le caract�re sous le curseur. **
+ ** Tapez rx pour remplacer un caract�re sous le curseur par x . **
1. D�placez le curseur sur la premi�re ligne marqu�e ---> ci-dessous.
@@ -308,31 +426,32 @@
3. Tapez r suivi du caract�re qui doit corriger l'erreur.
- 4. R�p�tez les �tapes 2 et 3 jusqu'� ce que la premi�re ligne soit correcte.
+ 4. R�p�tez les �tapes 2 et 3 jusqu'� ce que la premi�re ligne soit �gale
+ � la seconde.
---> Quand cette ligne a �t� sauvie, quelqu'un a lait des faunes de frappe !
---> Quand cette ligne a �t� saisie, quelqu'un a fait des fautes de frappe !
5. Maintenant, allez � la Le�on 3.3.
-NOTE: N'oubliez pas que vous devriez apprendre par la pratique, pas par
- m�morisation.
+NOTE : N'oubliez pas que vous devriez apprendre par la pratique, pas par
+ m�morisation.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 3.3 : LE CHANGEMENT
+ Le�on 3.3 : L'OP�RATEUR DE CHANGEMENT
- ** Pour changer tout ou partie d'un mot, tapez cw .**
+ ** Pour changer jusqu'� la fin d'un mot, tapez ce .**
1. D�placez le curseur sur la premi�re ligne marqu�e ---> ci-dessous.
- 2. Placez le curseur sur le u de luhko.
+ 2. Placez le curseur sur le u de luhko.
- 3. Tapez cw et corrigez le mot (dans notre cas, tapez 'igne'.)
+ 3. Tapez ce et corrigez le mot (dans notre cas, tapez 'igne'.)
- 4. Appuyez <�chap> et placez-vous sur l'erreur suivante (le premier
- caract�re qui doit �tre chang�).
+ 4. Appuyez <�chap> et placez-vous sur le prochain caract�re qui doit
+ �tre chang�).
5. R�p�tez les �tapes 3 et 4 jusqu'� ce que la premi�re phrase soit
identique � la seconde.
@@ -340,171 +459,189 @@
---> Cette luhko contient quelques myqa qui ont ricne d'�tre chantufip.
---> Cette ligne contient quelques mots qui ont besoin d'�tre chang�s.
-Notez que cw efface le mot et vous place ensuite en mode Insertion.
+Notez que ce efface le mot et vous place ensuite en mode Insertion.
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 3.4 : PLUS DE CHANGEMENTS AVEC c
+ Le�on 3.4 : PLUS DE CHANGEMENTS AVEC c
- ** Le changement fonctionne avec les m�mes objets que l'effacement. **
+ ** L'op�rateur de changement fonctionne avec les m�mes d�placements
+ que l'effacement. **
- 1. Le changement fonctionne de la m�me mani�re que l'effacement.
- Le format est:
+ 1. L'op�rateur de changement fonctionne de la m�me mani�re que
+ l'effacement. Le format est :
- [nombre] c objet OU c [nombre] objet
+ c [nombre] d�placement
- 2. Les objets sont �galement les m�mes: w (mot), $ (fin de ligne), etc.
+ 2. Les d�placements sont identiques : w (mot) et $ (fin de ligne).
- 3. D�placez-vous � la premi�re ligne marqu�e ---> ci-dessous.
+ 3. D�placez-vous sur la premi�re ligne marqu�e ---> ci-dessous.
4. Placez le curseur sur la premi�re erreur.
- 5. Tapez c$ pour changer la fin de la ligne, rendez-l� identique � la
- seconde ligne, puis tapez <�chap>.
+ 5. Tapez c$ et tapez le reste de la ligne afin qu'elle soit identique
+ � la seconde ligne, puis tapez <�chap>.
---> La fin de cette ligne doit �tre rendue identique � la seconde.
----> La fin de cette ligne doit �tre corrig�e avec la commande c$ .
+---> La fin de cette ligne doit �tre corrig�e avec la commande c$ .
+
+NOTE : Vous pouvez utilisez la touche Retour Arri�re pour corriger les
+ erreurs lorsque vous tapez.
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- R�SUM� DE LA LE�ON 3
+ R�SUM� DE LA LE�ON 3
- 1. Pour remettre du texte qui vient d'�tre effac�, tapez p . Cela Place le
+ 1. Pour remettre le texte qui a d�j� �t� effac�, tapez p . Cela Place le
texte effac� APR�S le curseur (si une ligne compl�te a �t� effac�e, elle
sera plac�e sous la ligne du curseur).
2. Pour remplacer le caract�re sous le curseur, tapez r suivi du caract�re
qui remplacera l'original.
- 3. Le changement vous permet de changer l'objet sp�cifi�, du curseur jusqu'�
- la fin de l'objet. Par exemple, tapez cw pour changer du curseur
- jusqu'� la fin du mot, c$ pour changer jusqu'� la fin d'une ligne.
+ 3. L'op�rateur de changement vous permet de changer depuis la position du
+ curseur jusqu'o� le d�placement vous am�ne. Par exemple, tapez ce
+ pour changer du curseur jusqu'� la fin du mot, c$ pour changer jusqu'�
+ la fin d'une ligne.
- 4. Le format pour le changement est:
+ 4. Le format pour le changement est :
- [nombre] c objet OU c [nombre] objet
+ c [nombre] d�placement
Passez maintenant � la le�on suivante.
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 4.1 : POSITION ET �TAT DU FICHIER
+ Le�on 4.1 : POSITION DU CURSEUR ET �TAT DU FICHIER
- ** Tapez Ctrl-G pour afficher votre position dans le fichier et son �tat.
- Utilisez Maj-G pour vous rendre � une ligne donn�e du fichier. **
+ ** Tapez CTRL-G pour afficher votre position dans le fichier et son �tat.
+ Tapez G pour vous rendre � une ligne donn�e du fichier. **
- Note: Lisez toute cette le�on avant d'effectuer l'une des �tapes !
+NOTE : Lisez toute cette le�on avant d'effectuer l'une des �tapes !!
- 1. Maintenez enfonc�e la touche Ctrl et appuyez sur G . Une ligne d'�tat
- va appara�tre en bas de l'�cran avec le nom du fichier et le num�ro de la
- ligne o� vous �tes. Notez ce num�ro, il servira lors de l'�tape 3.
+ 1. Maintenez enfonc�e la touche CTRL et appuyez sur g . On appelle cela
+ CTRL-G. Une ligne d'�tat va appara�tre en bas de l'�cran avec le nom
+ du fichier et le num�ro de la ligne o� vous �tes. Notez ce num�ro, il
+ servira lors de l'�tape 3.
- 2. Tapez G majuscule (Maj-G) pour vous rendre � la fin du fichier.
+NOTE : Vous pouvez peut-�tre voir le curseur en bas � droite de l'�cran.
+ Ceci arrive quand l'option 'ruler' est activ�e (voir :help 'ruler')
- 3. Tapez le num�ro de la ligne o� vous �tiez suivi de Maj-G. Cela vous
- ram�nera � la ligne o� vous �tiez au d�part.
- (Lorsque vous tapez les chiffres, ils n'apparaissent PAS � l'�cran).
+ 2. Tapez G pour vous d�placer � la fin du fichier.
+ Tapez gg pour vous d�placer au d�but du fichier.
- 4. Si vous vous sentez pr�t � faire ceci, effectuez les �tapes 1 � 3.
+ 3. Tapez le num�ro de la ligne o� vous �tiez suivi de G . Cela vous
+ ram�nera � la ligne o� vous �tiez au d�part quand vous aviez appuy�
+ CTRL-G.
+ 4. Si vous vous sentez pr�t � faire ceci, effectuez les �tapes 1 � 3.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 4.2 : LA RECHERCHE
+ Le�on 4.2 : LA RECHERCHE
- ** Tapez / suivi d'un texte pour rechercher ce texte. **
+ ** Tapez / suivi d'un texte pour rechercher ce texte. **
1. Tapez le caract�re / en mode Normal. Notez que celui-ci et le curseur
apparaissent en bas de l'�cran, comme lorsque l'on utilise : .
- 2. Puis tapez 'errreuur' <Entr�e>. C'est le mot que vous voulez rechercher.
-
- 3. Pour rechercher � nouveau le m�me texte, tapez simplement n .
- Pour rechercher le m�me texte dans la direction oppos�e, tapez Maj-N .
+ 2. Puis tapez 'errreuur' <Entr�e>. C'est le mot que vous voulez rechercher.
- 4. Si vous voulez rechercher un texte vers le haut du fichier, utilisez ?
- � la place de / .
+ 3. Pour rechercher � nouveau le m�me texte, tapez simplement n .
+ Pour rechercher le m�me texte dans la direction oppos�e, tapez N .
----> erreur ne s'�crit pas "errreuur"; errreuur est une erreur.
+ 4. Pour rechercher une phrase dans la direction oppos�e, utilisez ?
+ au lieu de / .
-Note: Quand la recherche atteint la fin du fichier, elle reprend au d�but.
+---> erreur ne s'�crit pas "errreuur" ; errreuur est une erreur.
+NOTE : Quand la recherche atteint la fin du fichier, elle reprend au d�but
+ sauf si l'option 'wrapscan' est d�activ�e.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 4.3 : RECHERCHE DES PARENTH�SES CORRESPONDANTES
+ Le�on 4.3 : RECHERCHE DES PARENTH�SES CORRESPONDANTES
- ** Tapez % pour trouver des ), ] ou } correspondants. **
+ ** Tapez % pour trouver des ), ] ou } correspondants. **
1. Placez le curseur sur l'un des (, [ ou { de la ligne marqu�e --->
ci-dessous.
2. Puis tapez le caract�re % .
- 3. Le curseur devrait se placer sur la parenth�se correspondante.
+ 3. Le curseur se d�placera sur la parenth�se out crochet correspondant.
- 4. Tapez % pour replacer le curseur sur l'autre parenth�se.
+ 4. Tapez % pour replacer le curseur sur la parenth�se ou crochet
+ correspondant.
----> Voici ( une ligne de test contenant des (, des [ ] et des { } )).
-
-Note: Cette fonctionnalit� est tr�s utile lors du d�bogage d'un programme qui
- contient des parenth�ses d�s�quilibr�es !
+ 5. D�placez le curseur sur un autre (,),[,],{ ou } et regardez ce que
+ fait % .
+---> Voici ( une ligne de test contenant des (, des [ ] et des { } )).
+NOTE : Cette fonctionnalit� est tr�s utile lors du d�bogage d'un programme qui
+ contient des parenth�ses d�s�quilibr�es !
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 4.4 : UNE MANI�RE DE CORRIGER LES ERREURS
+ Le�on 4.4 : LA COMMANDE DE SUBSTITUTION
- ** Tapez :s/ancien/nouveau/g pour remplacer 'ancien' par 'nouveau'. **
+ ** Tapez :s/ancien/nouveau/g pour remplacer 'ancien' par 'nouveau'. **
1. D�placez le curseur sur la ligne marqu�e ---> ci-dessous.
2. Tapez :s/lee/le <Entr�e> . Notez que cette commande change seulement la
- premi�re occurence sur la ligne.
+ premi�re occurrence de "lee" dans la ligne.
- 3. Puis tapez :s/lee/le/g qui ordonne de faire une substitution globale
- sur la ligne. Cela change toutes les occurences sur la ligne
+ 3. Puis tapez :s/lee/le/g . L'ajout du drapeau g ordonne de faire une
+ substitution globale sur la ligne, et change toutes les occurrences de
+ "lee" sur la ligne.
----> lee meilleur moment pour regarder lees fleurs est pendant lee Printemps.
+---> lee meilleur moment pour regarder lees fleurs est pendant lee printemps.
- 4. Pour changer toutes les occurences d'un texte, entre deux lignes,
- tapez :#,#s/ancien/nouveau/g o� #,# sont les num�ros des deux lignes.
- Tapez :%s/ancien/nouveau/g pour changer chaque occurence dans tout
- le fichier.
+ 4. Pour changer toutes les occurrences d'un texte, entre deux lignes,
+ tapez :#,#s/ancien/nouveau/g o� #,# sont les num�ros de lignes de la
+ plage o� la substitution doit �tre faite.
+ Tapez :%s/ancien/nouveau/g pour changer toutes les occurrences dans
+ tout le fichier.
+ Tapez :%s/ancien/nouveau/gc pour trouver toutes les occurrences dans
+ tout le fichier avec une invite pour
+ confirmer ou infirmer chaque substitution.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- R�SUM� DE LA LE�ON 4
+ R�SUM� DE LA LE�ON 4
- 1. Ctrl-G affiche votre position dans le fichier et l'�tat de celui-ci.
- Maj-G vous place � la fin du fichier. Un num�ro de ligne suivi de Maj-G
- vous place � cette ligne.
+ 1. CTRL-G affiche la position dans le fichier et l'�tat de celui-ci.
+ G d�place � la fin du fichier.
+ nombre G d�place au num�ro de ligne.
+ gg d�place � la premi�re ligne.
2. Taper / suivi d'un texte recherche ce texte vers l'AVANT.
Taper ? suivi d'un texte recherche ce texte vers l'ARRI�RE.
- Apr�s une recherche tapez n pour trouver l'occurence suivante dans la
- m�me direction ou Maj-N pour rechercher dans la direction oppos�e.
+ Apr�s une recherche tapez n pour trouver l'occurrence suivante dans la
+ m�me direction ou Maj-N pour rechercher dans la direction oppos�e.
3. Taper % lorsque le curseur est sur (, ), [, ], { ou } d�place
celui-ci sur le caract�re correspondant.
- 4. Pour remplacer le premier aa par bb sur une ligne tapez :s/aa/bb
- Pour remplacer tous les aa par bb sur une ligne tapez :s/aa/bb/g
- Pour remplacer du texte entre deux num�ros de ligne tapez :#,#s/aa/bb/g
- Pour remplacer toutes les occurences dans le fichier tapez :%s/aa/bb/g
- Pour demander une confirmation � chaque fois ajoutez 'c' :%s/aa/bb/gc
+ 4. Pour remplacer le premier aa par bb sur une ligne tapez :s/aa/bb
+ Pour remplacer tous les aa par bb sur une ligne tapez :s/aa/bb/g
+ Pour remplacer du texte entre deux num�ros de ligne tapez :#,#s/aa/bb/g
+ Pour remplacer toutes les occurrences dans le fichier tapez :%s/aa/bb/g
+ Pour demander une confirmation � chaque fois ajoutez 'c' :%s/aa/bb/gc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 5.1 : COMMENT EX�CUTER UNE COMMANDE EXTERNE
+ Le�on 5.1 : COMMENT EX�CUTER UNE COMMANDE EXTERNE
** Tapez :! suivi d'une commande externe pour ex�cuter cette commande. **
@@ -516,294 +653,386 @@
n'importe quelle commande valide pour votre interpr�teur (shell).
3. Par exemple, tapez ls apr�s le ! et appuyez <Entr�e>. Ceci affichera
- la liste des fichiers du dossier courant, comme si vous aviez tap� la
- commande � l'invite du shell. Utilisez :!dir si :!ls ne marche pas.
-
-Note: Il est possible d'ex�cuter n'importe quelle commande externe de cette
- mani�re.
+ la liste des fichiers du r�pertoire courant, comme si vous aviez tap� la
+ commande � l'invite du shell. Utilisez :!dir si :!ls ne marche pas.
-Note: Toutes les commandes : doivent finir par la frappe de <Entr�e>.
+NOTE : Il est possible d'ex�cuter n'importe quelle commande externe de cette
+ mani�re, avec ou sans argument.
+NOTE : Toutes les commandes : doivent finir par la frappe de <Entr�e>.
+ � partir de maintenant, nous ne le mentionnerons plus.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 5.2 : PLUS DE D�TAILS SUR L'ENREGISTREMENT DE FICHIERS
+ Le�on 5.2 : PLUS DE D�TAILS SUR L'ENREGISTREMENT DE FICHIERS
- ** Pour enregistrer les changements faits au fichier, tapez :w FICHIER . **
+ ** Pour enregistrer les changements faits au texte, tapez :w FICHIER . **
- 1. Tapez :!dir ou :!ls pour avoir la liste des fichiers du dossier
- courant. Vous savez d�j� qu'il faut appuyer <Entr�e> apr�s cela.
+ 1. Tapez :!dir ou :!ls pour avoir la liste des fichiers dans le
+ r�pertoire courant. Vous savez d�j� qu'il faut appuyer <Entr�e> apr�s
+ cela.
2. Choisissez un nom de fichier qui n'existe pas encore, par exemple TEST.
3. Puis tapez :w TEST (o� TEST est le nom que vous avez choisi).
- 4. Cela sauvegarde tout le fichier (Tutoriel Vim) sous le nom TEST.
- Pour le v�rifier, tapez :!dir pour revisualiser le contenu du dossier.
+ 4. Cela enregistre tout le fichier (Tutoriel Vim) sous le nom TEST.
+ Pour le v�rifier, tapez :!dir ou :!ls de nouveau pour revisualiser
+ votre r�pertoire.
-Notez que si vous quittez Vim et y retournez avec le fichier TEST, celui-ci
-sera une copie exacte du cours au moment o� vous l'avez sauv�.
+NOTE : Si vous quittez Vim et le red�marrez de nouveau avec le fichier TEST,
+ celui-ci sera une copie exacte de ce cours au moment o� vous l'avez
+ enregistr�.
- 5. Maintenant, effacez le fichier en tapant (MS-DOS): :!del TEST
- ou (Unix): :!rm TEST
+ 5. Maintenant, effacez le fichier en tapant (MS-DOS) : :!del TEST
+ ou (Unix) : :!rm TEST
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 5.3 : UN ENREGISTREMENT S�LECTIF
+ Le�on 5.3 : S�LECTION DU TEXTE � ENREGISTRER
- ** Pour enregistrer une portion de fichier, tapez :#,#w FICHIER **
+ ** Pour enregistrer une portion du fichier,
+ tapez : v d�placement :w FICHIER **
- 1. Tapez � nouveau :!dir ou :!ls pour visualiser le contenu du dossier
- courant et choisissez un nom de fichier, tel que TEST.
+ 1. D�placez le curseur sur cette ligne.
- 2. D�placez le curseur jusqu'en haut de cette page et tapez Ctrl-G pour
- conna�tre le num�ro de cette ligne. NOTEZ CE NUM�RO !
+ 2. Appuyez v et d�placez le curseur vers la cinqui�me ligne plus bas.
+ Remarquez que le texte est en surbrillance.
- 3. Puis rendez-vous au bas de cette page et tapez � nouveau Ctrl-G .
- NOTEZ �GALEMENT CE NUM�RO !
+ 3. Appuyez : . En bas de l'�cran :'<,'> va appara�tre.
- 4. Pour enregistrer SEULEMENT une portion d'un fichier, tapez :#,#w TEST
- o� #,# sont les deux num�ros que vous avez not�s (haut,bas) et TEST est
- le nom du fichier.
+ 4. Tapez w TEST , o� TEST est un nom de fichier qui n'existe pas.
+ V�rifiez que vous voyez :'<,'>w TEST avant de d'appuyer sur Entr�e.
- 5. Une fois encore, v�rifiez la pr�sence du fichier avec :!dir mais NE
- L'EFFACEZ PAS.
+ 5. Vim va enregistrer les lignes s�lectionn�es dans le fichier TEST.
+ Utilisez :!dir ou !ls pour le voir. Ne l'effacez pas encore !
+ Nous allons l'utiliser dans la le�on suivante.
+NOTE : L'appui de v d�marre la s�lection Visuelle. Vous pouvez d�placer le
+ curseur pour agrandir ou r�tr�cir la s�lection. Puis vous pouvez
+ utiliser un op�rateur pour faire quelque chose sur le texte. Par
+ exemple, d efface le texte.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 5.4 : R�CUP�RATION ET FUSION DE FICHIERS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Le�on 5.4 : R�CUP�RATION ET FUSION DE FICHIERS
- ** Pour ins�rer le contenu d'un fichier, tapez :r FICHIER **
- 1. Tapez :!dir pour v�rifier que votre fichier TEST est encore l�.
+ ** Pour ins�rer le contenu d'un fichier, tapez :r FICHIER **
- 2. Placez le curseur en haut de cette page.
+ 1. Placez le curseur juste au dessus de cette ligne.
-NOTE: Apr�s avoir suivi l'�tape 3 vous verrez � l'�cran la Le�on 5.3.
- D�placez-vous vers le bas jusqu'� revenir � cette le�on.
+NOTE : Apr�s avoir ex�cut� l'�tape 2 vous verrez du texte de la Le�on 5.3.
+ Puis d�placez vous vers le bas pour voir cette le�on � nouveau.
- 3. Maintenant r�cup�rez votre fichier TEST en utilisant la commande :r TEST
+ 2. Maintenant r�cup�rez votre fichier TEST en utilisant la commande :r TEST
o� TEST est le nom de votre fichier.
-
-NOTE: Le fichier que vous r�cup�rez est plac� l� o� se trouve le curseur.
+ Le fichier que vous r�cup�rez est plac� au dessous de la ligne du curseur.
4. Pour v�rifier que le fichier a bien �t� ins�r�, remontez et v�rifiez
qu'il y a maintenant deux copies de la Le�on 5.3, l'originale et celle
contenue dans le fichier.
+NOTE : Vous pouvez aussi lire la sortie d'une commande externe. Par exemple,
+ :r !ls lit la sortie de la commande ls et la place sous la ligne du
+ curseur.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- R�SUM� DE LA LE�ON 5
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ R�SUM� DE LA LE�ON 5
- 1. :!commande ex�cute une commande externe.
-
- Quelques exemples pratiques:
- (MS-DOS) (Unix)
- :!dir :!ls affiche le contenu du dossier courant.
- :!del FICHIER :!rm FICHIER efface FICHIER.
- 2. :w FICHIER enregistre le fichier Vim courant sur le disque avec pour
- nom FICHIER.
+ 1. :!commande ex�cute une commande externe.
- 3. :#,#w FICHIER enregistre les lignes # � # dans le fichier FICHIER.
+ Quelques exemples pratiques :
+ (MS-DOS) (Unix)
+ :!dir :!ls affiche le contenu du r�pertoire courant.
+ :!del FICHIER :!rm FICHIER efface FICHIER.
- 4. :r FICHIER r�cup�re le fichier FICHIER et l'ins�re dans le fichier
- courant � partir de la position du curseur.
+ 2. :w FICHIER enregistre le fichier Vim courant sur le disque avec pour
+ nom FICHIER.
+ 3. v d�placement :w FICHIER sauvegarde les lignes de la s�lection Visuelle
+ dans le fichier FICHIER.
+ 4. :r FICHIER r�cup�re le contenu du fichier FICHIER et l'ins�re sous la
+ position du curseur.
+ 5. :r !dir lit la sortie de la commande dir et l'ins�re sous la position
+ du curseur.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 6.1 : L'OUVERTURE
+ Le�on 6.1 : LA COMMANDE D'OUVERTURE
** Tapez o pour ouvrir une ligne sous le curseur et y aller en Insertion. **
1. D�placez le curseur sur la ligne marqu�e ---> ci-dessous.
- 2. Tapez o (minuscule) pour ouvrir une ligne SOUS le curseur et vous y
- placer en mode Insertion.
+ 2. Tapez la lettre o minuscule pour ouvrir une ligne SOUS le curseur et
+ vous y placer en mode Insertion.
- 3. Puis recopiez la ligne marqu�e ---> et appuyez sur <�chap> pour quitter
- le mode Insertion.
+ 3. Puis tapez du texte et appuyez <�chap> pour sortir du mode Insertion.
----> En tapant o le curseur se met sur la ligne ouverte, en mode Insertion.
+---> En tapant o le curseur se met sur la ligne ouverte, en mode Insertion.
4. Pour ouvrir une ligne au DESSUS du curseur, tapez simplement un O
majuscule, plut�t qu'un o minuscule. Faites un essai sur la ligne
ci-dessous.
-Ouvrez une ligne ci-dessus en tapant MAJ-O lorsque le curseur est ici.
+---> Ouvrez une ligne ci-dessus en tapant O lorsque le curseur est ici.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 6.2 : L'AJOUT
+ Le�on 6.2 : LA COMMANDE D'AJOUT
+
+
+ ** Tapez a pour ins�rer du texte APR�S le curseur. **
+ 1. Placez le curseur au d�but de la ligne marqu�e ---> ci-dessous.
- ** Tapez a pour ins�rer du texte APR�S le curseur. **
+ 2. Appuyez e jusqu'� ce que le curseur soit sur la fin de li .
- 1. Placez le curseur � la fin de la premi�re ligne marqu�e ---> ci-dessous
- en tapant $ en mode Normal.
+ 3. Appuyez a (minuscule) pour ajouter du texte APR�S le curseur.
- 2. Tapez un a (minuscule) pour ajouter du texte APR�S le caract�re situ�
- sous le curseur. ( A majuscule ajoute du texte � la fin de la ligne).
+ 4. Compl�tez le mot comme dans la ligne dessous. Appuyez <�chap> pour
+ sortir du mode Insertion.
-Note: Ceci �vite de taper i , le dernier caract�re, le texte � ins�rer,
- <�chap>, curseur-�-droite, et finalement x , juste pour ajouter du
- texte � la fin d'une ligne !
+ 5. Utilisez e pour vous d�placer vers le mot incomplet suivant et
+ r�p�tez les �tapes 3 et 4.
- 3. Maintenant, compl�tez la premi�re ligne. Notez �galement que l'ajout est
- identique au mode Insertion, hormis la position o� le texte est ins�r�.
+---> Cette li vous perm de pratiq l'ajout de t dans une ligne.
+---> Cette ligne vous permet de pratiquer l'ajout de texte dans une ligne.
----> Cette ligne vous permet de pratiquer
----> Cette ligne vous permet de pratiquer l'ajout de texte en fin de ligne.
+NOTE : a, i, A vont tous dans le m�me mode Insertion, la seule diff�rence
+ est l'endroit o� les caract�res sont ins�r�s.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 6.3 : UNE AUTRE VERSION DU REMPLACEMENT
+ Le�on 6.3 : UNE AUTRE MANI�RE DE REMPLACER
** Tapez un R majuscule pour remplacer plus d'un caract�re. **
1. D�placez le curseur sur la premi�re ligne marqu�e ---> ci-dessous.
+ D�placez le curseur sur le d�but du premier xxx .
- 2. Placez le curseur au d�but du premier mot qui diff�re de la seconde ligne
- marqu�e ---> (le mot 'celle').
+ 2. Appuyez maintenant R et tapez le nombre dessous dans la deuxi�me ligne,
+ de mani�re � remplacer le xxx .
- 3. Puis tapez R et remplacez le reste du texte de la premi�re ligne en
- tapant par dessus celui-ci, de mani�re � rendre la premi�re ligne
- identique � la seconde.
+ 3. Appuyez <�chap> pour quitter le mode Remplacement. Notez que le reste de
+ la ligne demeure inchang�.
+
+ 4. R�p�tez les �tapes pour remplacer les xxx restants.
+
+
+---> L'ajout de 123 � xxx donne xxx.
+---> L'ajout de 123 � 456 donne 579.
+
+NOTE : Le mode Remplacement est comme le mode Insertion, mais tous les
+ caract�res tap�s effacent un caract�re existant.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Le�on 6.4 : COPIER ET COLLER DU TEXTE
+
+
+ ** Utilisez l'op�rateur y pour copier du texte et p pour le coller **
+
+ 1. Allez � la ligne marqu�e ---> ci-dessous et placez le curseur apr�s "a)".
----> Pour rendre cette ligne identique � celle du dessous utilisez le clavier.
----> Pour rendre cette ligne identique � la seconde, tapez R et la correction.
+ 2. D�marrez le mode Visuel avec v et d�placez le curseur juste devant
+ "premier".
- 4. Notez que lorsque vous appuyez <�chap>, le texte qui n'a pas encore �t�
- remplac� reste.
+ 3. Tapez y pour copier le texte en surbrillance.
+ 4. D�placez la curseur � la fin de la ligne suivante : j$
+ 5. Tapez p pour coller le texte. Puis tapez : un second <�chap> .
+
+ 6. Utilisez le mode Visuel pour s�lectionner "�l�ment", copiez le avec y ,
+ d�placez vous � la fin de la ligne suivant avec j$ et collez le texte
+ � cet endroit avec p .
+
+---> a) ceci est le premier �l�ment.
+ b)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 6.4 : R�GLAGE DES OPTIONS
+ Le�on 6.4 : R�GLAGE DES OPTIONS
- ** R�glons une option afin que la recherche et la substitution ignorent la
- casse des caract�res. **
+ ** R�glons une option afin que la recherche et la substitution ignore la
+ casse des caract�res. **
- 1. Recherchez 'ignore' en tapant /ignore .
+ 1. Recherchez 'ignore' en tapant : /ignore <Entr�e>
R�p�tez ceci plusieurs fois en utilisant la touche n .
- 2. Activez l'option 'ic' (Ignorer casse) en tapant :set ic .
+ 2. Activez l'option 'ic' (ignorer casse) en tapant :set ic .
- 3. Puis poursuivez votre recherche en utilisant n .
- R�p�tez cette recherche plusieurs fois avec la touche n .
+ 3. Puis cherchez 'ignore' de nouveau en utilisant n .
+ Remarquez que Ignore et IGNORE sont maintenant aussi trouv�s.
4. Activez les options 'hlsearch' et 'incsearch' avec :set hls is .
5. Puis recommencez une recherche, et faites bien attention � ce qui se
- produit: /ignore .
+ produit : /ignore <Entr�e>
- 6. Pour interrompre la mise en surbrillance des r�sultats, tapez:
- :nohlsearch
+ 6. Pour d�sactiver 'ignorer casse', entrez : :set noic
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- R�SUM� DE LA LE�ON 6
+NOTE : Pour enlever la surbrillance des r�sultats, entrez : :nohlsearch
+NOTE : Si vous voulez ignorer la casse uniquement pour une recherche, utilisez
+ \c dans la phrase : /ignore\c <Entr�e>
- 1. Taper o ouvre une ligne SOUS le curseur et y place celui-ci en mode
- Insertion. Taper un O majuscule ouvre une ligne au DESSUS de la ligne
- o� se trouve le curseur.
- 2. Tapez un a pour ins�rer du texte APR�S le caract�re o� se trouve le
- curseur. Taper un A majuscule ajoute du texte automatiquement � la fin
- de la ligne.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ R�SUM� DE LA LE�ON 6
- 3. Taper un R majuscule active le mode Remplacement jusqu'� ce que la
- touche <�chap> soit appuy�e pour en sortir.
- 4. Taper :set xxx active l'option 'xxx'.
+ 1. Taper o ouvre une ligne SOUS le curseur et d�marre le mode Insertion.
+ Taper O ouvre une ligne au DESSUS du curseur.
+ 2. Taper a pour ins�rer du texte APR�S le curseur.
+ Taper A pour ins�rer du texte apr�s la fin de ligne.
+ 3. Taper e d�place � la fin du mot.
+ 4. Taper y copie du texte, p le colle.
+ 5. Taper R majuscule active le mode Remplacement jusqu'� ce qu' <�chap>
+ soit appuy�.
+ 6. Taper ":set xxx" active l'option "xxx". Quelques options sont :
+ 'ic' 'ingnorecase' pour ignorer la casse lors des recherches.
+ 'is' 'incsearch' pour montrer les appariements partiels.
+ 'hls' 'hlsearch' pour mettre en surbrillance les appariements.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 7 : ACC�DER � L'AIDE EN LIGNE
+ Le�on 7.1 : OBTENIR DE L'AIDE
- ** Utiliser le syst�me d'aide en ligne. **
- Vim a un syst�me complet d'aide en ligne. Pour y acc�der, essayez l'une de
- ces trois m�thodes:
- - appuyez la touche <Help> (si vous en avez une)
- - appuyez la touche <F1> (si vous en avez une)
- - tapez :help <Entr�e>
+ ** Utiliser le syst�me d'aide en ligne. **
- Tapez :q <Entr�e> pour fermer la fen�tre d'aide.
+ Vim a un syst�me complet d'aide en ligne. Pour y acc�der, essayez l'une de
+ ces trois m�thodes :
+ - appuyez la touche <Help> (si vous en avez une)
+ - appuyez la touche <F1> (si vous en avez une)
+ - tapez :help <Entr�e>
+
+
+ Lisez le texte dans la fen�tre d'aide pour savoir comment fonctionne l'aide.
+ Tapez CTRL-W CTRL-W pour sauter d'une fen�tre � l'autre.
+ Tapez :q <Entr�e> pour fermer la fen�tre d'aide.
Vous pouvez acc�der � l'aide sur � peu pr�s n'importe quel sujet en donnant
des arguments � la commande :help . Essayez par exemple (n'oubliez pas
- d'appuyer sur <Entr�e>):
+ d'appuyer sur <Entr�e>) :
- :help w
- :help c_<T
- :help insert-index
- :help user-manual
+ :help w
+ :help c_CTRL-D
+ :help c_<T
+ :help insert-index
+ :help user-manual
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Le�on 8 : CR�ER UN SCRIPT DE D�MARRAGE
+ Le�on 7.2 : CR�ER UN SCRIPT DE D�MARRAGE
- ** Activer les fonctionnalit�s de Vim. **
+ ** Activer les fonctionnalit�s de Vim. **
Vim a beaucoup plus de fonctionnalit�s que Vi, mais la plupart de celles-ci
- sont d�sactiv�es par d�faut. Pour commencer � les utiliser, vous devez
+ sont d�sactiv�es par d�faut. Pour commencer � les utiliser, vous devez
cr�er un fichier "vimrc".
- 1. Commencez � �diter le fichier "vimrc". Ceci d�pend de votre syst�me:
- :edit ~/.vimrc pour Unix
- :edit $VIM/_vimrc pour MS-Windows
+ 1. Commencez � �diter le fichier "vimrc". Ceci d�pend de votre syst�me :
+ :edit ~/.vimrc pour Unix
+ :edit $VIM/_vimrc pour MS-Windows
- 2. Int�grez maintenant le texte du fichier "vimrc" d'exemple:
- :read $VIMRUNTIME/vimrc_example.vim
+ 2. Lisez maintenant le fichier d'exemple "vimrc" :
+ :r $VIMRUNTIME/vimrc_example.vim
- 3. Enregistrez le fichier avec:
- :write
+ 3. Enregistrez le fichier avec :
+ :w
- La prochaine fois que vous d�marrerez Vim, le surlignage syntactique sera
- activ�. Vous pouvez ajouter tous vos r�glages pr�f�r�s dans ce fichier.
+ La prochaine fois que vous d�marrerez Vim, la coloration syntaxique sera
+ activ�e. Vous pouvez ajouter tous vos r�glages pr�f�r�s dans ce fichier
+ "vimrc". Pour plus d'informations, tapez :help vimrc-intro
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Le�on 7.3 : COMPL�TEMENT
+
+
+ ** Compl�tement de ligne de commande avec CTRL-D et <TAB> **
+
+ 1. Mettez Vim soit en mode non compatible : set nocp
+
+ 2. Regardez quels fichiers existent dans le r�pertoire : !ls ou !dir
+
+ 3. Tapez le d�but d'une commande : :e
+
+ 4. Appuyez CTRL-D et Vim affichera une liste de commandes qui commencent
+ par "e".
+
+ 5. Appuyez <TAB> et Vim compl�tera le nom de la commande : ":edit"
+
+ 6. Ajoutez maintenant un espace et le d�but d'un fichier existant :
+ :edit FIC
+
+ 7 Appuyez <TAB>. Vim va compl�ter le nom (s'il est unique).
+
+NOTE : Le compl�tement fonctionne pour de nombreuse commandes. Essayez
+ d'appuyer CTRL-D et <TAB>. C'est utile en particulier pour :help .
- Ceci conclut le Tutoriel Vim. Le but �tait de vous donner un bref aper�u de
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ R�SUM� DE LA LE�ON 7
+
+
+ 1. Tapez :help ou appuyez <F1> ou <Aide> pour ouvrir la fen�tre d'aide.
+
+ 2. Tapez :help cmd pour trouver l'aide sur cmd .
+
+ 3. Tapez CTRL-W CTRL-W pour sauter � une autre fen�tre.
+
+ 4. Tapez :q pour fermer la fen�tre d'aide.
+
+ 5. Cr�ez un script de d�marrage vimrc pour conserver vos r�glages pr�f�r�s.
+
+ 6. Quand vous tapez une commande : appuyez CTRL-D pour voir les
+ compl�tements possibles. Appuyez <TAB> pour utiliser un compl�tement.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Ceci conclut le Tutoriel Vim. Le but �tait de vous donner un bref aper�u de
l'�diteur Vim, juste assez pour vous permettre d'utiliser l'�diteur
- relativement facilement. Il est loin d'�tre complet, vu que Vim a beaucoup
- beaucoup plus de commandes. Un Manuel de l'utilisateur est disponible en
- anglais: :help user-manual .
+ relativement facilement. Il est loin d'�tre complet, vu que Vim a beaucoup
+ beaucoup plus de commandes. Un Manuel de l'utilisateur est disponible en
+ anglais : :help user-manual .
Pour continuer � d�couvrir et � apprendre Vim, il existe un livre traduit en
fran�ais. Il parle plus de Vi que de Vim, mais pourra vous �tre utile.
- L'�diteur Vi - Collection Pr�cis et concis - par Arnold Robbins
- �diteur: O'Reilly France
- ISBN: 2-84177-102-4
+ L'�diteur Vi - Collection Pr�cis et concis - par Arnold Robbins
+ �diteur : O'Reilly France
+ ISBN : 2-84177-102-4
Deux livres en anglais sont �galement mentionn�s dans la version originale
de ce tutoriel, dont un qui traite sp�cifiquement de Vim. Merci de vous y
- r�f�rer si vous �tes int�ress�.
+ r�f�rer si vous �tes int�ress�s.
Ce tutoriel a �t� �crit par Michael C. Pierce et Robert K. Ware de l'�cole
des Mines du Colorado et reprend des id�es fournies par Charles Smith,
- Universt� d'�tat du Colorado. E-mail: [email protected].
+ Universit� d'�tat du Colorado. E-mail : [email protected].
Modifi� pour Vim par Bram Moolenar.
-
Traduit en Fran�ais par Adrien Beau, en avril 2001.
- E-mail: [email protected]
- Last Change: 2003 May 29
+ Derni�res mises � jour par Dominique Pell�.
+
+ E-mail : [email protected]
+ Last Change : 2008 Nov 23
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff -Nur runtime.patched/tutor/tutor.fr.utf-8 runtime/tutor/tutor.fr.utf-8
--- runtime.patched/tutor/tutor.fr.utf-8 2008-06-21 11:19:12.000000000 -0700
+++ runtime/tutor/tutor.fr.utf-8 2008-12-08 13:08:38.000000000 -0800
@@ -1,5 +1,5 @@
===============================================================================
-= B i e n v e n u e dans le T u t o r i e l de V I M - Version 1.5.fr.2 =
+= B i e n v e n u e dans le T u t o r i e l de V I M - Version 1.7.fr.1 =
===============================================================================
Vim est un éditeur très puissant qui a trop de commandes pour pouvoir
@@ -7,93 +7,100 @@
décrire suffisamment afin de vous permettre d'utiliser simplement Vim.
Le temps requis pour suivre ce cours est d'environ 25 à 30 minutes, selon
- le temps que vous passerez à expérimenter. Les commandes utilisées dans
- les leçons modifieront le texte. Faites une copie de ce fichier afin de
- vous entraîner dessus (si vous avez lancé "vimtutor" ceci est déjà une
- copie).
+ le temps que vous passerez à expérimenter.
+
+ ATTENTION :
+ Les commandes utilisées dans les leçons modifieront le texte. Faites une
+ copie de ce fichier afin de vous entraîner dessus (si vous avez lancé
+ "vimtutor" ceci est déjà une copie).
Il est important de garder en tête que ce cours est conçu pour apprendre
- par la pratique. Cela signifie que vous devez exécuter les commandes
- pour les apprendre correctement. Si vous vous contentez de lire le
- texte, vous oublierez les commandes !
-
- Maintenant, vérifiez que votre clavier n'est PAS verouillé en majuscules,
- et appuyez la touche j le nombre de fois suffisant pour que la leçon
- 1.1 remplisse complètement l'écran.
+ par la pratique. Cela signifie que vous devez exécuter les commandes
+ pour les apprendre correctement. Si vous vous contentez de lire le texte,
+ vous oublierez les commandes !
+
+ Maintenant, vérifiez que votre clavier n'est PAS verrouillé en
+ majuscules, et appuyez la touche j le nombre de fois suffisant pour
+ que la Leçon 1.1 remplisse complètement l'écran.
+
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 1.1 : DÉPLACEMENT DU CURSEUR
+ Leçon 1.1 : DÉPLACEMENT DU CURSEUR
** Pour déplacer le curseur, appuyez les touches h,j,k,l comme indiqué. **
- ^
- k Astuce: La touche h est à gauche et déplace à gauche.
- < h l > La touche l est à droite et déplace à droite.
- j La touche j ressemble à une flèche vers le bas.
- v
+ ^
+ k Astuce : La touche h est à gauche et déplace à gauche.
+ < h l > La touche l est à droite et déplace à droite.
+ j La touche j ressemble à une flèche vers le bas.
+ v
1. Déplacez le curseur sur l'écran jusqu'à vous sentir à l'aise.
2. Maintenez la touche Bas (j) enfoncée jusqu'à ce qu'elle se répète.
----> Maintenant vous êtes capable de vous déplacer jusqu'à la leçon suivante.
+ Maintenant vous êtes capable de vous déplacer jusqu'à la leçon suivante.
3. En utilisant la touche Bas, allez à la Leçon 1.2.
-Note: Si jamais vous doutez de ce que vous venez de taper, appuyez <Échap>
- pour revenir en mode Normal. Puis retapez la commande que vous vouliez.
+NOTE : Si jamais vous doutez de ce que vous venez de taper, appuyez <Échap>
+ pour revenir en mode Normal. Puis retapez la commande que vous vouliez.
-Note: Les touches fléchées devraient également fonctionner. Mais en utilisant
- hjkl vous pourrez vous déplacer beaucoup plus rapidement, une fois que
- vous aurez pris l'habitude.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 1.2 : ENTRÉE ET SORTIE DE VIM
+NOTE : Les touches fléchées devraient également fonctionner. Mais en utilisant
+ hjkl vous pourrez vous déplacer beaucoup plus rapidement, une fois que
+ vous aurez pris l'habitude.
- !! NOTE: Avant d'effectuer les étapes ci-dessous, lisez toute cette leçon !!
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leçon 1.2 : SORTIR DE VIM
- 1. Appuyez la touche <Échap> (pour être sûr d'être en mode Normal).
- 2. Tapez: :q! <Entrée>
+ !! NOTE : Avant d'effectuer les étapes ci-dessous, lisez toute cette leçon !!
----> Ceci quitte l'éditeur SANS sauver les changements que vous avez faits.
- Si vous voulez enregistrer les changements et sortir, tapez:
- :wq <Entrée>
+ 1. Appuyez la touche <Échap> (pour être sûr d'être en mode Normal).
- 3. Lorsque l'invite du 'shell' vous sera présentée, tapez la commande qui
- vous a amené dans ce tutoriel. Cela pourrait être: vimtutor <Entrée>
- Normalement, vous utiliseriez: vim tutor <Entrée>
+ 2. Tapez : :q! <Entrée>
+ Ceci quitte l'éditeur SANS enregistrer les changements que vous avez
+ faits.
----> 'vim' lance l'éditeur, 'tutor' est le fichier que vous souhaitez éditer.
+ 3. Lorsque l'invite du shell vous sera présentée, tapez la commande qui
+ vous a mené dans ce tutoriel. Cela pourrait être : vimtutor <Entrée>
4. Si vous avez mémorisé ces étapes et êtes confiant, effectuez les étapes
- 1 à 3 pour sortir puis rentrer dans l'éditeur. Déplacez ensuite le
- curseur jusqu'à la Leçon 1.3.
+ 1 à 3 pour sortir puis rentrer dans l'éditeur.
+
+NOTE : :q! <Entrée> annule tous le changements que vous avez fait. Dans
+ quelques leçons, vous apprendrez à enregistrer les changements.
+
+ 5. Déplacez le curseur à la Leçon 1.3.
+
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 1.3 : ÉDITION DE TEXTE - EFFACEMENT
+ Leçon 1.3 : ÉDITION DE TEXTE - EFFACEMENT
- ** En mode Normal, appuyez x pour effacer le caractère sous le curseur. **
+ ** Appuyez x pour effacer le caractère sous le curseur. **
1. Déplacez le curseur sur la ligne marquée ---> ci-dessous.
2. Pour corriger les erreurs, déplacez le curseur jusqu'à ce qu'il soit
sur un caractère à effacer.
- 3. Appuyez la touche x pour effacer le caractère redondant.
+ 3. Appuyez la touche x pour effacer le caractère redondant.
4. Répétez les étapes 2 à 4 jusqu'à ce que la phrase soit correcte.
---> La vvache à sautéé au-ddessus dde la luune.
- 5. Maintenant que la ligne est correcte, passez à la leçon 1.4.
+ 5. Maintenant que la ligne est correcte, passez à la Leçon 1.4.
-NOTE: En avançant dans ce cours, n'essayez pas de mémoriser, apprenez par
- la pratique.
+NOTE : En avançant dans ce cours, n'essayez pas de mémoriser, apprenez par
+ la pratique.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 1.4 : ÉDITION DE TEXTE - INSERTION
+ Leçon 1.4 : ÉDITION DE TEXTE - INSERTION
- ** En mode Normal, appuyez i pour insérer du texte. **
+ ** Appuyez i pour insérer du texte. **
1. Déplacez le curseur sur la première ligne marquée ---> ci-dessous.
@@ -108,38 +115,94 @@
---> Il mnqe caractères cette .
---> Il manque des caractères dans cette ligne.
- 5. Une fois que vous êtes à l'aise avec l'insertion de texte, allez au
- résumé ci-dessous.
+ 5. Une fois que vous êtes à l'aise avec l'insertion de texte, allez à la
+ Leçon 1.5.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leçon 1.5 : ÉDITION DE TEXTE - AJOUTER
+
+
+ ** Appuyez A pour ajouter du text. **
+
+ 1. Déplacez le curseur sur la première ligne ci-dessous marquée --->.
+ Peu importe sur quel caractère se trouve le curseur sur cette ligne.
+
+ 2. Appuyez A et tapez les ajouts nécessaires.
+
+ 3. Quand le texte a été ajouté, appuyez <Échap> pour revenir en mode
+ Normal.
+
+ 4. Déplacez le curseur sur la seconde ligne marquée ---> et répétez les
+ étapes 2 et 3 pour corriger la phrase.
+
+---> Il manque du texte à partir de cet
+ Il manque du texte à partir de cette ligne.
+---> Il manque aussi du te
+ Il manque aussi du texte ici.
+
+ 5. Quand vous vous sentez suffisamment à l'aise pour ajouter du texte,
+ allez à la Leçon 1.6.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leçon 1.6 : ÉDITER UN FICHIER
+
+
+ ** Utilisez :wq pour enregistrer un fichier et sortir. **
+
+!! NOTE : Lisez toute la leçon avant d'exécuter les instructions ci-dessous !!
+
+ 1. Sortez de ce tutoriel comme vous l'avez fait dans la Leçon 1.2 : :q!
+ Ou, si vous avez accès à un autre terminal, exécutez y les actions
+ qui suivent.
+
+ 2. À l'invite du shell, tapez cette commande : vim tutor <Entrée>
+ 'vim' est la commande pour démarrer l'éditeur Vim, 'tutor' est le
+ nom du fichier que vous souhaitez éditer. Utilisez un fichier qui peut
+ être modifié.
+
+ 3. Insérez et effacez du texte comme vous l'avez appris dans les leçons
+ précédentes.
+
+ 4. Enregistrez le fichier avec les changements et sortez de Vim avec :
+ :wq <Entrée>
+
+ 5. Si vous avez quitté vimtutor à l'étape 1, recommencez vimtutor et
+ déplacez-vous en bas vers le résumé suivant.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- RÉSUMÉ DE LA LEÇON 1
+ RÉSUMÉ DE LA LEÇON 1
+
1. Le curseur se déplace avec les touches fléchées ou les touches hjkl.
- h (gauche) j (bas) k (haut) l (droite)
+ h (gauche) j (bas) k (haut) l (droite)
+
+ 2. Pour démarrer Vim à l'invite du shell tapez : vim FICHIER <Entrée>
- 2. Pour entrer dans Vim (à l'invite %) tapez: vim FICHIER <Entrée>
+ 3. Pour quitter Vim tapez : <Échap> :q! <Entrée> pour perdre tous les
+ changements.
+ OU tapez : <Échap> :wq <Entrée> pour enregistrer les
+ changements.
- 3. Pour quitter Vim tapez: <Échap> :q! <Entrée> pour perdre tous les
- changements.
- OU tapez: <Échap> :wq <Entrée> pour enregistrer les
- changements.
+ 4. Pour effacer un caractère sous le curseur tapez : x
- 4. Pour effacer un caractère sous le curseur en mode Normal tapez: x
+ 5. Pour insérer ou ajouter du texte tapez :
+ i tapez le texte à insérer avant le curseur <Échap>
+ A tapez le texte à ajouter après le curseur <Échap>
- 5. Pour insérer du texte au niveau du curseur en mode Normal tapez:
- i tapez le texte <Échap>
+NOTE : Appuyer <Échap> vous place en mode Normal ou annule une commande
+ partiellement tapée dont vous ne voulez plus.
-NOTE: Appuyer <Échap> vous place en mode Normal ou annule une commande
- partiellement tapée dont vous ne voudriez plus.
+Passez maintenant à la leçon 2.
-Passez maintenant à la Leçon 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 2.1 : EFFACEMENTS
+ Leçon 2.1 : COMMANDES D'EFFACEMENT
- ** Tapez dw pour effacer jusqu'à la fin d'un mot. **
+ ** Tapez dw pour effacer un mot. **
1. Appuyez <Échap> pour être sûr d'être en mode Normal.
@@ -147,91 +210,139 @@
3. Placez le curseur sur le début d'un mot qui a besoin d'être effacé.
- 4. Tapez dw pour faire disparaître ce mot.
+ 4. Tapez dw pour faire disparaître ce mot.
-NOTE: Les lettres dw apparaîtront sur la dernière ligne de l'écran lors de
- votre frappe. Si vous avez mal tapé quelque chose, appuyez <Échap> et
- recommencez.
+NOTE : La lettre d apparaîtra sur la dernière ligne de l'écran lors de
+ votre frappe. Vim attend que vous tapiez w . Si vous voyez un autre
+ caractère que d vous avez tapé autre chose ; appuyez <Échap> et
+ recommencez.
---> Il y a quelques drôle mots qui n'ont rien à faire papier sur cette ligne.
5. Répétez les étapes 3 et 4 jusqu'à ce que la phrase soit correcte et allez
à la Leçon 2.2.
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 2.2 : PLUS D'EFFACEMENTS
+ Leçon 2.2 : PLUS DE COMMANDES D'EFFACEMENTS
- ** Tapez d$ pour effacer jusqu'à la fin de la ligne. **
+ ** Tapez d$ pour effacer jusqu'à la fin de la ligne. **
1. Appuyez <Échap> pour être sûr d'être en mode Normal.
2. Déplacez le curseur sur la ligne marquée ---> ci-dessous.
- 3. Déplacez le curseur jusqu'à la fin correcte de la ligne
- (APRÈS le premier . ).
+ 3. Déplacez le curseur jusqu'à la fin de la ligne correcte (APRÈS le
+ premier . ).
- 4. Tapez d$ pour effacer jusqu'à la fin de la ligne.
+ 4. Tapez d$ pour effacer jusqu'à la fin de la ligne.
---> Quelqu'un a tapé la fin de cette ligne deux fois. cette ligne deux fois.
5. Allez à la Leçon 2.3 pour comprendre ce qui se passe.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leçon 2.3 : À PROPOS DES OPÉRATEURS ET DES MOUVEMENTS
+
+
+ Plusieurs commandes qui changent le texte sont constituées d'un opérateur
+ et d'un mouvement. Le format pour une commande d'effacement avec l'opérateur
+ d d'effacement est le suivant :
+ d mouvement
+
+ Où :
+ d - est l'opérateur d'effacement
+ mouvement - est le mouvement sur lequel agit l'opérateur (listés
+ ci-dessous)
+
+ Une courte liste de mouvements :
+ w - jusqu'au début du prochain mot, en EXCLUANT son premier caractère.
+ e - jusqu'à la fin du mot courant, en EXCLUANT son denier caractère.
+ $ - jusqu'à la fin de la ligne, en INCLUANT son dernier caractère.
+
+ Ainsi, taper de va effacer depuis le curseur jusqu'à la fin du mot.
+
+NOTE : Le seul appui d'un mouvement en mode Normal, sans commande, déplace le
+ curseur comme indiqué.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 2.3 : DES COMMANDES ET DES OBJETS
+ Leçon 2.4 : UTILISER UN QUANTIFICATEUR AVEC UN MOUVEMENT
- Le format de la commande d'effacement d est le suivant:
+ ** Taper un nombre avant un mouvement le répète autant de fois. **
- [nombre] d objet OU d [nombre] objet
- où:
- nombre - est combien de fois exécuter la commande (optionnel, défaut: 1).
- d - est la commande d'effacement.
- objet - est ce sur quoi la commande va opérer (liste ci-dessous).
+ 1. Déplacez le curseur au début de la ligne marquée ---> ci-dessous.
- Une courte liste d'objets:
- w - du curseur jusqu'à la fin du mot, y compris l'espace qui suit.
- e - du curseur jusqu'à la fin du mot, SANS l'espace qui suit.
- $ - du curseur jusqu'à la fin de la ligne.
+ 2. Tapez 2w pour déplacer le curseur de 2 mots vers l'avant.
-NOTE: Pour les aventureux, le seul appui d' objet en mode Normal, sans
- commande, déplace le curseur comme indiqué dans la liste des objets.
+ 3. Tapez 3e pour déplacer le curseur à la fin du troisième mot vers
+ l'avant.
+ 4. Tapez 0 (zéro) pour déplacer au début de la ligne.
+ 5. Répétez les étapes 2 et 3 avec des quantificateurs différents.
+
+---> Ceci est juste une ligne avec des mots où vous pouvez vous déplacer.
+
+ 6. Déplacez-vous à la Leçon 2.5.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 2.4 : UNE EXCEPTION À 'COMMANDE-OBJET'
+ Leçon 2.5 : UTILISER UN QUANTIFICATEUR POUR EFFACER PLUS
+
+
+ ** Taper un nombre avec un opérateur le répète autant de fois. **
- ** Tapez dd pour effacer une ligne complète. **
+ Outre la combinaison de l'opérateur d'effacement avec un déplacement
+ mentionné ci-dessus, vous pouvez insérer un nombre (quantificateur)
+ pour effacez encore plus :
+ d nombre déplacement
+
+ 1. Déplacez le curseur vers le premier mot en MAJUSCULES dans la ligne
+ marquée --->.
+
+ 2. Tapez d2w pour effacer les deux mots en MAJUSCULES.
+
+ 3. Répétez les étapes 1 et 2 avec des quantificateurs différents pour
+ effacer les mots suivants en MAJUSCULES à l'aide d'une commande.
+
+---> Cette ABC DE ligne FGHI JK LMN OP de mots est Q RS TUV nettoyée.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leçon 2.6 : OPÉREZ SUR DES LIGNES
+
+
+ ** Tapez dd pour effacer une ligne complète. **
Vu le nombre de fois où l'on efface des lignes complètes, les concepteurs
- de Vi ont décidé qu'il serait plus facile de taper simplement deux d à la
- suite pour effacer une ligne.
+ de Vi ont décidé qu'il serait plus facile de taper simplement deux d
+ pour effacer une ligne.
1. Placez le curseur sur la seconde ligne de la phrase ci-dessous.
- 2. Tapez dd pour effacer la ligne.
+ 2. Tapez dd pour effacer la ligne.
3. Maintenant allez à la quatrième ligne.
- 4. Tapez 2dd (rappelez-vous, nombre-commande-objet) pour effacer les
- deux lignes.
+ 4. Tapez 2dd pour effacer deux lignes.
+
+---> 1) Les roses sont rouges,
+---> 2) La boue c'est drôle,
+---> 3) Les violettes sont bleues,
+---> 4) J'ai une voiture,
+---> 5) Les horloges donnent l'heure,
+---> 6) Le sucre est doux
+---> 7) Tout comme vous.
- 1) Les roses sont rouges,
- 2) La boue c'est drôle,
- 3) Les violettes sont bleues,
- 4) J'ai une voiture,
- 5) Les horloges donnent l'heure,
- 6) Le sucre est doux
- 7) Tout comme vous.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 2.5 : L'ANNULATION
+ Leçon 2.7 : L'ANNULATION
- ** Tapez u pour annuler les dernières commandes. **
- ** Tapez U pour récupérer toute une ligne. **
+
+ ** Tapez u pour annuler les dernières commandes. **
+ ** Tapez U pour récupérer toute une ligne. **
1. Déplacez le curseur sur la ligne marquée ---> ci-dessous et placez-le sur
la première erreur.
@@ -239,10 +350,10 @@
3. Puis tapez u pour annuler la dernière commande exécutée.
4. Cette fois, corrigez toutes les erreurs de la ligne avec la commande x .
5. Puis tapez un U majuscule pour remettre la ligne dans son état initial.
- 6. Puis tapez u deux-trois fois pour annuler le U et les commandes
+ 6. Puis tapez u deux-trois fois pour annuler le U et les commandes
précédentes.
- 7. Maintenant tapez Ctrl-R (maintenez la touche Ctrl enfoncée pendant que
- vous appuyez sur R) deux-trois fois pour refaire les commandes (annuler
+ 7. Maintenant tapez CTRL-R (maintenez la touche CTRL enfoncée pendant que
+ vous appuyez R) deux-trois fois pour refaire les commandes (annuler
les annulations).
---> Coorrigez les erreurs suur ccette ligne et reemettez-les avvec 'annuler'.
@@ -250,57 +361,64 @@
8. Ce sont des commandes très utiles. Maintenant, allez au résumé de la
Leçon 2.
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- RÉSUMÉ DE LA LEÇON 2
+ RÉSUMÉ DE LA LEÇON 2
+
+
+ 1. Pour effacer du curseur jusqu'au mot suivant tapez : dw
+
+ 2. Pour effacer du curseur jusqu'à la fin d'une ligne tapez : d$
+ 3. Pour effacer toute une ligne tapez : dd
- 1. Pour effacer du curseur jusqu'à la fin d'un mot tapez: dw
+ 4. Pour répéter un déplacement ajoutez un quantificateur : 2w
- 2. Pour effacer du curseur jusqu'à la fin d'une ligne tapez: d$
+ 5. Le format d'une commande de changement est :
- 3. Pour effacer toute une ligne tapez: dd
+ opérateur [nombre] déplacement
- 4. Le format d'une commande en mode Normal est:
+ Où :
+ opérateur - est ce qu'il faut faire, comme d pour effacer.
+ [nombre] - un quantificateur optionnel pour répéter le déplacement.
+ déplacement - déplace le long du texte à opérer, tel que w (mot),
+ $ (jusqu'à la fin de ligne), etc.
- [nombre] commande objet OU commande [nombre] objet
- où:
- nombre - est combien de fois répéter la commande
- commande - est ce qu'il faut faire, par exemple d pour effacer
- objet - est ce sur quoi la commande devrait agir, par exemple w (mot),
- $ (jusqu'à la fin de la ligne), etc.
+ 6. Pour se déplacer au début de ligne, utilisez un zéro : 0
+
+ 5. Pour annuler des actions précédentes, tapez : u (u minuscule)
+ Pour annuler tous les changements sur une ligne tapez : U (U majuscule)
+ Pour annuler l'annulation tapez : CTRL-R
- 5. Pour annuler des actions précédentes, tapez: u (u minuscule)
- Pour annuler tous les changements sur une ligne tapez: U (U majuscule)
- Pour annuler l'annulation tapez: Ctrl-R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 3.1 : LE COLLAGE
+ Leçon 3.1 : LE COLLAGE
- ** Tapez p pour placer après le curseur ce qui vient d'être effacé. **
+ ** Tapez p pour placer après le curseur ce qui vient d'être effacé. **
- 1. Placez le curseur sur la première ligne du "poème" ci-dessous.
+ 1. Placez le curseur sur la première ligne ci-dessous marquée --->.
- 2. Tapez dd pour effacer la ligne et la placer dans le tampon de Vim.
+ 2. Tapez dd pour effacer la ligne et la placer dans un registre de Vim.
- 3. Déplacez le curseur sur la ligne qui PRÉCÈDE l'endroit où vous voulez
- remettre la ligne effacée.
+ 3. Déplacez le curseur sur la ligne c) au dessus où vous voulez remettre la
+ ligne effacée.
- 4. En mode Normal, tapez p pour remettre la ligne.
+ 4. En mode Normal, tapez p pour remettre la ligne en dessous du curseur.
5. Répétez les étapes 2 à 4 pour mettre toutes les lignes dans le bon ordre.
- d) Et vous, qu'apprenez-vous ?
- b) Les violettes sont bleues,
- c) L'intelligence s'apprend,
- a) Les roses sont rouges,
+---> d) Et vous, qu'apprenez-vous ?
+---> b) Les violettes sont bleues,
+---> c) L'intelligence s'apprend,
+---> a) Les roses sont rouges,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 3.2 : LE REMPLACEMENT
+ Leçon 3.2 : LA COMMANDE DE REMPLACEMENT
- ** Tapez r et un caractère pour remplacer le caractère sous le curseur. **
+ ** Tapez rx pour remplacer un caractère sous le curseur par x . **
1. Déplacez le curseur sur la première ligne marquée ---> ci-dessous.
@@ -308,31 +426,32 @@
3. Tapez r suivi du caractère qui doit corriger l'erreur.
- 4. Répétez les étapes 2 et 3 jusqu'à ce que la première ligne soit correcte.
+ 4. Répétez les étapes 2 et 3 jusqu'à ce que la première ligne soit égale
+ à la seconde.
---> Quand cette ligne a été sauvie, quelqu'un a lait des faunes de frappe !
---> Quand cette ligne a été saisie, quelqu'un a fait des fautes de frappe !
5. Maintenant, allez à la Leçon 3.3.
-NOTE: N'oubliez pas que vous devriez apprendre par la pratique, pas par
- mémorisation.
+NOTE : N'oubliez pas que vous devriez apprendre par la pratique, pas par
+ mémorisation.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 3.3 : LE CHANGEMENT
+ Leçon 3.3 : L'OPÉRATEUR DE CHANGEMENT
- ** Pour changer tout ou partie d'un mot, tapez cw .**
+ ** Pour changer jusqu'à la fin d'un mot, tapez ce .**
1. Déplacez le curseur sur la première ligne marquée ---> ci-dessous.
- 2. Placez le curseur sur le u de luhko.
+ 2. Placez le curseur sur le u de luhko.
- 3. Tapez cw et corrigez le mot (dans notre cas, tapez 'igne'.)
+ 3. Tapez ce et corrigez le mot (dans notre cas, tapez 'igne'.)
- 4. Appuyez <Échap> et placez-vous sur l'erreur suivante (le premier
- caractère qui doit être changé).
+ 4. Appuyez <Échap> et placez-vous sur le prochain caractère qui doit
+ être changé).
5. Répétez les étapes 3 et 4 jusqu'à ce que la première phrase soit
identique à la seconde.
@@ -340,171 +459,189 @@
---> Cette luhko contient quelques myqa qui ont ricne d'être chantufip.
---> Cette ligne contient quelques mots qui ont besoin d'être changés.
-Notez que cw efface le mot et vous place ensuite en mode Insertion.
+Notez que ce efface le mot et vous place ensuite en mode Insertion.
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 3.4 : PLUS DE CHANGEMENTS AVEC c
+ Leçon 3.4 : PLUS DE CHANGEMENTS AVEC c
- ** Le changement fonctionne avec les mêmes objets que l'effacement. **
+ ** L'opérateur de changement fonctionne avec les mêmes déplacements
+ que l'effacement. **
- 1. Le changement fonctionne de la même manière que l'effacement.
- Le format est:
+ 1. L'opérateur de changement fonctionne de la même manière que
+ l'effacement. Le format est :
- [nombre] c objet OU c [nombre] objet
+ c [nombre] déplacement
- 2. Les objets sont également les mêmes: w (mot), $ (fin de ligne), etc.
+ 2. Les déplacements sont identiques : w (mot) et $ (fin de ligne).
- 3. Déplacez-vous à la première ligne marquée ---> ci-dessous.
+ 3. Déplacez-vous sur la première ligne marquée ---> ci-dessous.
4. Placez le curseur sur la première erreur.
- 5. Tapez c$ pour changer la fin de la ligne, rendez-là identique à la
- seconde ligne, puis tapez <Échap>.
+ 5. Tapez c$ et tapez le reste de la ligne afin qu'elle soit identique
+ à la seconde ligne, puis tapez <Échap>.
---> La fin de cette ligne doit être rendue identique à la seconde.
----> La fin de cette ligne doit être corrigée avec la commande c$ .
+---> La fin de cette ligne doit être corrigée avec la commande c$ .
+
+NOTE : Vous pouvez utilisez la touche Retour Arrière pour corriger les
+ erreurs lorsque vous tapez.
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- RÉSUMÉ DE LA LEÇON 3
+ RÉSUMÉ DE LA LEÇON 3
- 1. Pour remettre du texte qui vient d'être effacé, tapez p . Cela Place le
+ 1. Pour remettre le texte qui a déjà été effacé, tapez p . Cela Place le
texte effacé APRÈS le curseur (si une ligne complète a été effacée, elle
sera placée sous la ligne du curseur).
2. Pour remplacer le caractère sous le curseur, tapez r suivi du caractère
qui remplacera l'original.
- 3. Le changement vous permet de changer l'objet spécifié, du curseur jusqu'à
- la fin de l'objet. Par exemple, tapez cw pour changer du curseur
- jusqu'à la fin du mot, c$ pour changer jusqu'à la fin d'une ligne.
+ 3. L'opérateur de changement vous permet de changer depuis la position du
+ curseur jusqu'où le déplacement vous amène. Par exemple, tapez ce
+ pour changer du curseur jusqu'à la fin du mot, c$ pour changer jusqu'à
+ la fin d'une ligne.
- 4. Le format pour le changement est:
+ 4. Le format pour le changement est :
- [nombre] c objet OU c [nombre] objet
+ c [nombre] déplacement
Passez maintenant à la leçon suivante.
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 4.1 : POSITION ET ÉTAT DU FICHIER
+ Leçon 4.1 : POSITION DU CURSEUR ET ÉTAT DU FICHIER
- ** Tapez Ctrl-G pour afficher votre position dans le fichier et son état.
- Utilisez Maj-G pour vous rendre à une ligne donnée du fichier. **
+ ** Tapez CTRL-G pour afficher votre position dans le fichier et son état.
+ Tapez G pour vous rendre à une ligne donnée du fichier. **
- Note: Lisez toute cette leçon avant d'effectuer l'une des étapes !
+NOTE : Lisez toute cette leçon avant d'effectuer l'une des étapes !!
- 1. Maintenez enfoncée la touche Ctrl et appuyez sur G . Une ligne d'état
- va apparaître en bas de l'écran avec le nom du fichier et le numéro de la
- ligne où vous êtes. Notez ce numéro, il servira lors de l'étape 3.
+ 1. Maintenez enfoncée la touche CTRL et appuyez sur g . On appelle cela
+ CTRL-G. Une ligne d'état va apparaître en bas de l'écran avec le nom
+ du fichier et le numéro de la ligne où vous êtes. Notez ce numéro, il
+ servira lors de l'étape 3.
- 2. Tapez G majuscule (Maj-G) pour vous rendre à la fin du fichier.
+NOTE : Vous pouvez peut-être voir le curseur en bas à droite de l'écran.
+ Ceci arrive quand l'option 'ruler' est activée (voir :help 'ruler')
- 3. Tapez le numéro de la ligne où vous étiez suivi de Maj-G. Cela vous
- ramènera à la ligne où vous étiez au départ.
- (Lorsque vous tapez les chiffres, ils n'apparaissent PAS à l'écran).
+ 2. Tapez G pour vous déplacer à la fin du fichier.
+ Tapez gg pour vous déplacer au début du fichier.
- 4. Si vous vous sentez prêt à faire ceci, effectuez les étapes 1 à 3.
+ 3. Tapez le numéro de la ligne où vous étiez suivi de G . Cela vous
+ ramènera à la ligne où vous étiez au départ quand vous aviez appuyé
+ CTRL-G.
+ 4. Si vous vous sentez prêt à faire ceci, effectuez les étapes 1 à 3.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 4.2 : LA RECHERCHE
+ Leçon 4.2 : LA RECHERCHE
- ** Tapez / suivi d'un texte pour rechercher ce texte. **
+ ** Tapez / suivi d'un texte pour rechercher ce texte. **
1. Tapez le caractère / en mode Normal. Notez que celui-ci et le curseur
apparaissent en bas de l'écran, comme lorsque l'on utilise : .
- 2. Puis tapez 'errreuur' <Entrée>. C'est le mot que vous voulez rechercher.
-
- 3. Pour rechercher à nouveau le même texte, tapez simplement n .
- Pour rechercher le même texte dans la direction opposée, tapez Maj-N .
+ 2. Puis tapez 'errreuur' <Entrée>. C'est le mot que vous voulez rechercher.
- 4. Si vous voulez rechercher un texte vers le haut du fichier, utilisez ?
- à la place de / .
+ 3. Pour rechercher à nouveau le même texte, tapez simplement n .
+ Pour rechercher le même texte dans la direction opposée, tapez N .
----> erreur ne s'écrit pas "errreuur"; errreuur est une erreur.
+ 4. Pour rechercher une phrase dans la direction opposée, utilisez ?
+ au lieu de / .
-Note: Quand la recherche atteint la fin du fichier, elle reprend au début.
+---> erreur ne s'écrit pas "errreuur" ; errreuur est une erreur.
+NOTE : Quand la recherche atteint la fin du fichier, elle reprend au début
+ sauf si l'option 'wrapscan' est déactivée.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 4.3 : RECHERCHE DES PARENTHÈSES CORRESPONDANTES
+ Leçon 4.3 : RECHERCHE DES PARENTHÈSES CORRESPONDANTES
- ** Tapez % pour trouver des ), ] ou } correspondants. **
+ ** Tapez % pour trouver des ), ] ou } correspondants. **
1. Placez le curseur sur l'un des (, [ ou { de la ligne marquée --->
ci-dessous.
2. Puis tapez le caractère % .
- 3. Le curseur devrait se placer sur la parenthèse correspondante.
+ 3. Le curseur se déplacera sur la parenthèse out crochet correspondant.
- 4. Tapez % pour replacer le curseur sur l'autre parenthèse.
+ 4. Tapez % pour replacer le curseur sur la parenthèse ou crochet
+ correspondant.
----> Voici ( une ligne de test contenant des (, des [ ] et des { } )).
-
-Note: Cette fonctionnalité est très utile lors du débogage d'un programme qui
- contient des parenthèses déséquilibrées !
+ 5. Déplacez le curseur sur un autre (,),[,],{ ou } et regardez ce que
+ fait % .
+---> Voici ( une ligne de test contenant des (, des [ ] et des { } )).
+NOTE : Cette fonctionnalité est très utile lors du débogage d'un programme qui
+ contient des parenthèses déséquilibrées !
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 4.4 : UNE MANIÈRE DE CORRIGER LES ERREURS
+ Leçon 4.4 : LA COMMANDE DE SUBSTITUTION
- ** Tapez :s/ancien/nouveau/g pour remplacer 'ancien' par 'nouveau'. **
+ ** Tapez :s/ancien/nouveau/g pour remplacer 'ancien' par 'nouveau'. **
1. Déplacez le curseur sur la ligne marquée ---> ci-dessous.
2. Tapez :s/lee/le <Entrée> . Notez que cette commande change seulement la
- première occurence sur la ligne.
+ première occurrence de "lee" dans la ligne.
- 3. Puis tapez :s/lee/le/g qui ordonne de faire une substitution globale
- sur la ligne. Cela change toutes les occurences sur la ligne
+ 3. Puis tapez :s/lee/le/g . L'ajout du drapeau g ordonne de faire une
+ substitution globale sur la ligne, et change toutes les occurrences de
+ "lee" sur la ligne.
----> lee meilleur moment pour regarder lees fleurs est pendant lee Printemps.
+---> lee meilleur moment pour regarder lees fleurs est pendant lee printemps.
- 4. Pour changer toutes les occurences d'un texte, entre deux lignes,
- tapez :#,#s/ancien/nouveau/g où #,# sont les numéros des deux lignes.
- Tapez :%s/ancien/nouveau/g pour changer chaque occurence dans tout
- le fichier.
+ 4. Pour changer toutes les occurrences d'un texte, entre deux lignes,
+ tapez :#,#s/ancien/nouveau/g où #,# sont les numéros de lignes de la
+ plage où la substitution doit être faite.
+ Tapez :%s/ancien/nouveau/g pour changer toutes les occurrences dans
+ tout le fichier.
+ Tapez :%s/ancien/nouveau/gc pour trouver toutes les occurrences dans
+ tout le fichier avec une invite pour
+ confirmer ou infirmer chaque substitution.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- RÉSUMÉ DE LA LEÇON 4
+ RÉSUMÉ DE LA LEÇON 4
- 1. Ctrl-G affiche votre position dans le fichier et l'état de celui-ci.
- Maj-G vous place à la fin du fichier. Un numéro de ligne suivi de Maj-G
- vous place à cette ligne.
+ 1. CTRL-G affiche la position dans le fichier et l'état de celui-ci.
+ G déplace à la fin du fichier.
+ nombre G déplace au numéro de ligne.
+ gg déplace à la première ligne.
2. Taper / suivi d'un texte recherche ce texte vers l'AVANT.
Taper ? suivi d'un texte recherche ce texte vers l'ARRIÈRE.
- Après une recherche tapez n pour trouver l'occurence suivante dans la
- même direction ou Maj-N pour rechercher dans la direction opposée.
+ Après une recherche tapez n pour trouver l'occurrence suivante dans la
+ même direction ou Maj-N pour rechercher dans la direction opposée.
3. Taper % lorsque le curseur est sur (, ), [, ], { ou } déplace
celui-ci sur le caractère correspondant.
- 4. Pour remplacer le premier aa par bb sur une ligne tapez :s/aa/bb
- Pour remplacer tous les aa par bb sur une ligne tapez :s/aa/bb/g
- Pour remplacer du texte entre deux numéros de ligne tapez :#,#s/aa/bb/g
- Pour remplacer toutes les occurences dans le fichier tapez :%s/aa/bb/g
- Pour demander une confirmation à chaque fois ajoutez 'c' :%s/aa/bb/gc
+ 4. Pour remplacer le premier aa par bb sur une ligne tapez :s/aa/bb
+ Pour remplacer tous les aa par bb sur une ligne tapez :s/aa/bb/g
+ Pour remplacer du texte entre deux numéros de ligne tapez :#,#s/aa/bb/g
+ Pour remplacer toutes les occurrences dans le fichier tapez :%s/aa/bb/g
+ Pour demander une confirmation à chaque fois ajoutez 'c' :%s/aa/bb/gc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 5.1 : COMMENT EXÉCUTER UNE COMMANDE EXTERNE
+ Leçon 5.1 : COMMENT EXÉCUTER UNE COMMANDE EXTERNE
** Tapez :! suivi d'une commande externe pour exécuter cette commande. **
@@ -516,294 +653,386 @@
n'importe quelle commande valide pour votre interpréteur (shell).
3. Par exemple, tapez ls après le ! et appuyez <Entrée>. Ceci affichera
- la liste des fichiers du dossier courant, comme si vous aviez tapé la
- commande à l'invite du shell. Utilisez :!dir si :!ls ne marche pas.
-
-Note: Il est possible d'exécuter n'importe quelle commande externe de cette
- manière.
+ la liste des fichiers du répertoire courant, comme si vous aviez tapé la
+ commande à l'invite du shell. Utilisez :!dir si :!ls ne marche pas.
-Note: Toutes les commandes : doivent finir par la frappe de <Entrée>.
+NOTE : Il est possible d'exécuter n'importe quelle commande externe de cette
+ manière, avec ou sans argument.
+NOTE : Toutes les commandes : doivent finir par la frappe de <Entrée>.
+ À partir de maintenant, nous ne le mentionnerons plus.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 5.2 : PLUS DE DÉTAILS SUR L'ENREGISTREMENT DE FICHIERS
+ Leçon 5.2 : PLUS DE DÉTAILS SUR L'ENREGISTREMENT DE FICHIERS
- ** Pour enregistrer les changements faits au fichier, tapez :w FICHIER . **
+ ** Pour enregistrer les changements faits au texte, tapez :w FICHIER . **
- 1. Tapez :!dir ou :!ls pour avoir la liste des fichiers du dossier
- courant. Vous savez déjà qu'il faut appuyer <Entrée> après cela.
+ 1. Tapez :!dir ou :!ls pour avoir la liste des fichiers dans le
+ répertoire courant. Vous savez déjà qu'il faut appuyer <Entrée> après
+ cela.
2. Choisissez un nom de fichier qui n'existe pas encore, par exemple TEST.
3. Puis tapez :w TEST (où TEST est le nom que vous avez choisi).
- 4. Cela sauvegarde tout le fichier (Tutoriel Vim) sous le nom TEST.
- Pour le vérifier, tapez :!dir pour revisualiser le contenu du dossier.
+ 4. Cela enregistre tout le fichier (Tutoriel Vim) sous le nom TEST.
+ Pour le vérifier, tapez :!dir ou :!ls de nouveau pour revisualiser
+ votre répertoire.
-Notez que si vous quittez Vim et y retournez avec le fichier TEST, celui-ci
-sera une copie exacte du cours au moment où vous l'avez sauvé.
+NOTE : Si vous quittez Vim et le redémarrez de nouveau avec le fichier TEST,
+ celui-ci sera une copie exacte de ce cours au moment où vous l'avez
+ enregistré.
- 5. Maintenant, effacez le fichier en tapant (MS-DOS): :!del TEST
- ou (Unix): :!rm TEST
+ 5. Maintenant, effacez le fichier en tapant (MS-DOS) : :!del TEST
+ ou (Unix) : :!rm TEST
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 5.3 : UN ENREGISTREMENT SÉLECTIF
+ Leçon 5.3 : SÉLECTION DU TEXTE À ENREGISTRER
- ** Pour enregistrer une portion de fichier, tapez :#,#w FICHIER **
+ ** Pour enregistrer une portion du fichier,
+ tapez : v déplacement :w FICHIER **
- 1. Tapez à nouveau :!dir ou :!ls pour visualiser le contenu du dossier
- courant et choisissez un nom de fichier, tel que TEST.
+ 1. Déplacez le curseur sur cette ligne.
- 2. Déplacez le curseur jusqu'en haut de cette page et tapez Ctrl-G pour
- connaître le numéro de cette ligne. NOTEZ CE NUMÉRO !
+ 2. Appuyez v et déplacez le curseur vers la cinquième ligne plus bas.
+ Remarquez que le texte est en surbrillance.
- 3. Puis rendez-vous au bas de cette page et tapez à nouveau Ctrl-G .
- NOTEZ ÉGALEMENT CE NUMÉRO !
+ 3. Appuyez : . En bas de l'écran :'<,'> va apparaître.
- 4. Pour enregistrer SEULEMENT une portion d'un fichier, tapez :#,#w TEST
- où #,# sont les deux numéros que vous avez notés (haut,bas) et TEST est
- le nom du fichier.
+ 4. Tapez w TEST , où TEST est un nom de fichier qui n'existe pas.
+ Vérifiez que vous voyez :'<,'>w TEST avant de d'appuyer sur Entrée.
- 5. Une fois encore, vérifiez la présence du fichier avec :!dir mais NE
- L'EFFACEZ PAS.
+ 5. Vim va enregistrer les lignes sélectionnées dans le fichier TEST.
+ Utilisez :!dir ou !ls pour le voir. Ne l'effacez pas encore !
+ Nous allons l'utiliser dans la leçon suivante.
+NOTE : L'appui de v démarre la sélection Visuelle. Vous pouvez déplacer le
+ curseur pour agrandir ou rétrécir la sélection. Puis vous pouvez
+ utiliser un opérateur pour faire quelque chose sur le texte. Par
+ exemple, d efface le texte.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 5.4 : RÉCUPÉRATION ET FUSION DE FICHIERS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leçon 5.4 : RÉCUPÉRATION ET FUSION DE FICHIERS
- ** Pour insérer le contenu d'un fichier, tapez :r FICHIER **
- 1. Tapez :!dir pour vérifier que votre fichier TEST est encore là.
+ ** Pour insérer le contenu d'un fichier, tapez :r FICHIER **
- 2. Placez le curseur en haut de cette page.
+ 1. Placez le curseur juste au dessus de cette ligne.
-NOTE: Après avoir suivi l'étape 3 vous verrez à l'écran la Leçon 5.3.
- Déplacez-vous vers le bas jusqu'à revenir à cette leçon.
+NOTE : Après avoir exécuté l'étape 2 vous verrez du texte de la Leçon 5.3.
+ Puis déplacez vous vers le bas pour voir cette leçon à nouveau.
- 3. Maintenant récupérez votre fichier TEST en utilisant la commande :r TEST
+ 2. Maintenant récupérez votre fichier TEST en utilisant la commande :r TEST
où TEST est le nom de votre fichier.
-
-NOTE: Le fichier que vous récupérez est placé là où se trouve le curseur.
+ Le fichier que vous récupérez est placé au dessous de la ligne du curseur.
4. Pour vérifier que le fichier a bien été inséré, remontez et vérifiez
qu'il y a maintenant deux copies de la Leçon 5.3, l'originale et celle
contenue dans le fichier.
+NOTE : Vous pouvez aussi lire la sortie d'une commande externe. Par exemple,
+ :r !ls lit la sortie de la commande ls et la place sous la ligne du
+ curseur.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- RÉSUMÉ DE LA LEÇON 5
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ RÉSUMÉ DE LA LEÇON 5
- 1. :!commande exécute une commande externe.
-
- Quelques exemples pratiques:
- (MS-DOS) (Unix)
- :!dir :!ls affiche le contenu du dossier courant.
- :!del FICHIER :!rm FICHIER efface FICHIER.
- 2. :w FICHIER enregistre le fichier Vim courant sur le disque avec pour
- nom FICHIER.
+ 1. :!commande exécute une commande externe.
- 3. :#,#w FICHIER enregistre les lignes # à # dans le fichier FICHIER.
+ Quelques exemples pratiques :
+ (MS-DOS) (Unix)
+ :!dir :!ls affiche le contenu du répertoire courant.
+ :!del FICHIER :!rm FICHIER efface FICHIER.
- 4. :r FICHIER récupère le fichier FICHIER et l'insère dans le fichier
- courant à partir de la position du curseur.
+ 2. :w FICHIER enregistre le fichier Vim courant sur le disque avec pour
+ nom FICHIER.
+ 3. v déplacement :w FICHIER sauvegarde les lignes de la sélection Visuelle
+ dans le fichier FICHIER.
+ 4. :r FICHIER récupère le contenu du fichier FICHIER et l'insère sous la
+ position du curseur.
+ 5. :r !dir lit la sortie de la commande dir et l'insère sous la position
+ du curseur.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 6.1 : L'OUVERTURE
+ Leçon 6.1 : LA COMMANDE D'OUVERTURE
** Tapez o pour ouvrir une ligne sous le curseur et y aller en Insertion. **
1. Déplacez le curseur sur la ligne marquée ---> ci-dessous.
- 2. Tapez o (minuscule) pour ouvrir une ligne SOUS le curseur et vous y
- placer en mode Insertion.
+ 2. Tapez la lettre o minuscule pour ouvrir une ligne SOUS le curseur et
+ vous y placer en mode Insertion.
- 3. Puis recopiez la ligne marquée ---> et appuyez sur <Échap> pour quitter
- le mode Insertion.
+ 3. Puis tapez du texte et appuyez <Échap> pour sortir du mode Insertion.
----> En tapant o le curseur se met sur la ligne ouverte, en mode Insertion.
+---> En tapant o le curseur se met sur la ligne ouverte, en mode Insertion.
4. Pour ouvrir une ligne au DESSUS du curseur, tapez simplement un O
majuscule, plutôt qu'un o minuscule. Faites un essai sur la ligne
ci-dessous.
-Ouvrez une ligne ci-dessus en tapant MAJ-O lorsque le curseur est ici.
+---> Ouvrez une ligne ci-dessus en tapant O lorsque le curseur est ici.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 6.2 : L'AJOUT
+ Leçon 6.2 : LA COMMANDE D'AJOUT
+
+
+ ** Tapez a pour insérer du texte APRÈS le curseur. **
+ 1. Placez le curseur au début de la ligne marquée ---> ci-dessous.
- ** Tapez a pour insérer du texte APRÈS le curseur. **
+ 2. Appuyez e jusqu'à ce que le curseur soit sur la fin de li .
- 1. Placez le curseur à la fin de la première ligne marquée ---> ci-dessous
- en tapant $ en mode Normal.
+ 3. Appuyez a (minuscule) pour ajouter du texte APRÈS le curseur.
- 2. Tapez un a (minuscule) pour ajouter du texte APRÈS le caractère situé
- sous le curseur. ( A majuscule ajoute du texte à la fin de la ligne).
+ 4. Complétez le mot comme dans la ligne dessous. Appuyez <Échap> pour
+ sortir du mode Insertion.
-Note: Ceci évite de taper i , le dernier caractère, le texte à insérer,
- <Échap>, curseur-à-droite, et finalement x , juste pour ajouter du
- texte à la fin d'une ligne !
+ 5. Utilisez e pour vous déplacer vers le mot incomplet suivant et
+ répétez les étapes 3 et 4.
- 3. Maintenant, complétez la première ligne. Notez également que l'ajout est
- identique au mode Insertion, hormis la position où le texte est inséré.
+---> Cette li vous perm de pratiq l'ajout de t dans une ligne.
+---> Cette ligne vous permet de pratiquer l'ajout de texte dans une ligne.
----> Cette ligne vous permet de pratiquer
----> Cette ligne vous permet de pratiquer l'ajout de texte en fin de ligne.
+NOTE : a, i, A vont tous dans le même mode Insertion, la seule différence
+ est l'endroit où les caractères sont insérés.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 6.3 : UNE AUTRE VERSION DU REMPLACEMENT
+ Leçon 6.3 : UNE AUTRE MANIÈRE DE REMPLACER
** Tapez un R majuscule pour remplacer plus d'un caractère. **
1. Déplacez le curseur sur la première ligne marquée ---> ci-dessous.
+ Déplacez le curseur sur le début du premier xxx .
- 2. Placez le curseur au début du premier mot qui diffère de la seconde ligne
- marquée ---> (le mot 'celle').
+ 2. Appuyez maintenant R et tapez le nombre dessous dans la deuxième ligne,
+ de manière à remplacer le xxx .
- 3. Puis tapez R et remplacez le reste du texte de la première ligne en
- tapant par dessus celui-ci, de manière à rendre la première ligne
- identique à la seconde.
+ 3. Appuyez <Échap> pour quitter le mode Remplacement. Notez que le reste de
+ la ligne demeure inchangé.
+
+ 4. Répétez les étapes pour remplacer les xxx restants.
+
+
+---> L'ajout de 123 à xxx donne xxx.
+---> L'ajout de 123 à 456 donne 579.
+
+NOTE : Le mode Remplacement est comme le mode Insertion, mais tous les
+ caractères tapés effacent un caractère existant.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leçon 6.4 : COPIER ET COLLER DU TEXTE
+
+
+ ** Utilisez l'opérateur y pour copier du texte et p pour le coller **
+
+ 1. Allez à la ligne marquée ---> ci-dessous et placez le curseur après "a)".
----> Pour rendre cette ligne identique à celle du dessous utilisez le clavier.
----> Pour rendre cette ligne identique à la seconde, tapez R et la correction.
+ 2. Démarrez le mode Visuel avec v et déplacez le curseur juste devant
+ "premier".
- 4. Notez que lorsque vous appuyez <Échap>, le texte qui n'a pas encore été
- remplacé reste.
+ 3. Tapez y pour copier le texte en surbrillance.
+ 4. Déplacez la curseur à la fin de la ligne suivante : j$
+ 5. Tapez p pour coller le texte. Puis tapez : un second <Échap> .
+
+ 6. Utilisez le mode Visuel pour sélectionner "élément", copiez le avec y ,
+ déplacez vous à la fin de la ligne suivant avec j$ et collez le texte
+ à cet endroit avec p .
+
+---> a) ceci est le premier élément.
+ b)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 6.4 : RÉGLAGE DES OPTIONS
+ Leçon 6.4 : RÉGLAGE DES OPTIONS
- ** Réglons une option afin que la recherche et la substitution ignorent la
- casse des caractères. **
+ ** Réglons une option afin que la recherche et la substitution ignore la
+ casse des caractères. **
- 1. Recherchez 'ignore' en tapant /ignore .
+ 1. Recherchez 'ignore' en tapant : /ignore <Entrée>
Répétez ceci plusieurs fois en utilisant la touche n .
- 2. Activez l'option 'ic' (Ignorer casse) en tapant :set ic .
+ 2. Activez l'option 'ic' (ignorer casse) en tapant :set ic .
- 3. Puis poursuivez votre recherche en utilisant n .
- Répétez cette recherche plusieurs fois avec la touche n .
+ 3. Puis cherchez 'ignore' de nouveau en utilisant n .
+ Remarquez que Ignore et IGNORE sont maintenant aussi trouvés.
4. Activez les options 'hlsearch' et 'incsearch' avec :set hls is .
5. Puis recommencez une recherche, et faites bien attention à ce qui se
- produit: /ignore .
+ produit : /ignore <Entrée>
- 6. Pour interrompre la mise en surbrillance des résultats, tapez:
- :nohlsearch
+ 6. Pour désactiver 'ignorer casse', entrez : :set noic
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- RÉSUMÉ DE LA LEÇON 6
+NOTE : Pour enlever la surbrillance des résultats, entrez : :nohlsearch
+NOTE : Si vous voulez ignorer la casse uniquement pour une recherche, utilisez
+ \c dans la phrase : /ignore\c <Entrée>
- 1. Taper o ouvre une ligne SOUS le curseur et y place celui-ci en mode
- Insertion. Taper un O majuscule ouvre une ligne au DESSUS de la ligne
- où se trouve le curseur.
- 2. Tapez un a pour insérer du texte APRÈS le caractère où se trouve le
- curseur. Taper un A majuscule ajoute du texte automatiquement à la fin
- de la ligne.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ RÉSUMÉ DE LA LEÇON 6
- 3. Taper un R majuscule active le mode Remplacement jusqu'à ce que la
- touche <Échap> soit appuyée pour en sortir.
- 4. Taper :set xxx active l'option 'xxx'.
+ 1. Taper o ouvre une ligne SOUS le curseur et démarre le mode Insertion.
+ Taper O ouvre une ligne au DESSUS du curseur.
+ 2. Taper a pour insérer du texte APRÈS le curseur.
+ Taper A pour insérer du texte après la fin de ligne.
+ 3. Taper e déplace à la fin du mot.
+ 4. Taper y copie du texte, p le colle.
+ 5. Taper R majuscule active le mode Remplacement jusqu'à ce qu' <Échap>
+ soit appuyé.
+ 6. Taper ":set xxx" active l'option "xxx". Quelques options sont :
+ 'ic' 'ingnorecase' pour ignorer la casse lors des recherches.
+ 'is' 'incsearch' pour montrer les appariements partiels.
+ 'hls' 'hlsearch' pour mettre en surbrillance les appariements.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 7 : ACCÉDER À L'AIDE EN LIGNE
+ Leçon 7.1 : OBTENIR DE L'AIDE
- ** Utiliser le système d'aide en ligne. **
- Vim a un système complet d'aide en ligne. Pour y accéder, essayez l'une de
- ces trois méthodes:
- - appuyez la touche <Help> (si vous en avez une)
- - appuyez la touche <F1> (si vous en avez une)
- - tapez :help <Entrée>
+ ** Utiliser le système d'aide en ligne. **
- Tapez :q <Entrée> pour fermer la fenêtre d'aide.
+ Vim a un système complet d'aide en ligne. Pour y accéder, essayez l'une de
+ ces trois méthodes :
+ - appuyez la touche <Help> (si vous en avez une)
+ - appuyez la touche <F1> (si vous en avez une)
+ - tapez :help <Entrée>
+
+
+ Lisez le texte dans la fenêtre d'aide pour savoir comment fonctionne l'aide.
+ Tapez CTRL-W CTRL-W pour sauter d'une fenêtre à l'autre.
+ Tapez :q <Entrée> pour fermer la fenêtre d'aide.
Vous pouvez accéder à l'aide sur à peu près n'importe quel sujet en donnant
des arguments à la commande :help . Essayez par exemple (n'oubliez pas
- d'appuyer sur <Entrée>):
+ d'appuyer sur <Entrée>) :
- :help w
- :help c_<T
- :help insert-index
- :help user-manual
+ :help w
+ :help c_CTRL-D
+ :help c_<T
+ :help insert-index
+ :help user-manual
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Leçon 8 : CRÉER UN SCRIPT DE DÉMARRAGE
+ Leçon 7.2 : CRÉER UN SCRIPT DE DÉMARRAGE
- ** Activer les fonctionnalités de Vim. **
+ ** Activer les fonctionnalités de Vim. **
Vim a beaucoup plus de fonctionnalités que Vi, mais la plupart de celles-ci
- sont désactivées par défaut. Pour commencer à les utiliser, vous devez
+ sont désactivées par défaut. Pour commencer à les utiliser, vous devez
créer un fichier "vimrc".
- 1. Commencez à éditer le fichier "vimrc". Ceci dépend de votre système:
- :edit ~/.vimrc pour Unix
- :edit $VIM/_vimrc pour MS-Windows
+ 1. Commencez à éditer le fichier "vimrc". Ceci dépend de votre système :
+ :edit ~/.vimrc pour Unix
+ :edit $VIM/_vimrc pour MS-Windows
- 2. Intégrez maintenant le texte du fichier "vimrc" d'exemple:
- :read $VIMRUNTIME/vimrc_example.vim
+ 2. Lisez maintenant le fichier d'exemple "vimrc" :
+ :r $VIMRUNTIME/vimrc_example.vim
- 3. Enregistrez le fichier avec:
- :write
+ 3. Enregistrez le fichier avec :
+ :w
- La prochaine fois que vous démarrerez Vim, le surlignage syntactique sera
- activé. Vous pouvez ajouter tous vos réglages préférés dans ce fichier.
+ La prochaine fois que vous démarrerez Vim, la coloration syntaxique sera
+ activée. Vous pouvez ajouter tous vos réglages préférés dans ce fichier
+ "vimrc". Pour plus d'informations, tapez :help vimrc-intro
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leçon 7.3 : COMPLÈTEMENT
+
+
+ ** Complètement de ligne de commande avec CTRL-D et <TAB> **
+
+ 1. Mettez Vim soit en mode non compatible : set nocp
+
+ 2. Regardez quels fichiers existent dans le répertoire : !ls ou !dir
+
+ 3. Tapez le début d'une commande : :e
+
+ 4. Appuyez CTRL-D et Vim affichera une liste de commandes qui commencent
+ par "e".
+
+ 5. Appuyez <TAB> et Vim complétera le nom de la commande : ":edit"
+
+ 6. Ajoutez maintenant un espace et le début d'un fichier existant :
+ :edit FIC
+
+ 7 Appuyez <TAB>. Vim va compléter le nom (s'il est unique).
+
+NOTE : Le complètement fonctionne pour de nombreuse commandes. Essayez
+ d'appuyer CTRL-D et <TAB>. C'est utile en particulier pour :help .
- Ceci conclut le Tutoriel Vim. Le but était de vous donner un bref aperçu de
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ RÉSUMÉ DE LA LEÇON 7
+
+
+ 1. Tapez :help ou appuyez <F1> ou <Aide> pour ouvrir la fenêtre d'aide.
+
+ 2. Tapez :help cmd pour trouver l'aide sur cmd .
+
+ 3. Tapez CTRL-W CTRL-W pour sauter à une autre fenêtre.
+
+ 4. Tapez :q pour fermer la fenêtre d'aide.
+
+ 5. Créez un script de démarrage vimrc pour conserver vos réglages préférés.
+
+ 6. Quand vous tapez une commande : appuyez CTRL-D pour voir les
+ complètements possibles. Appuyez <TAB> pour utiliser un complètement.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Ceci conclut le Tutoriel Vim. Le but était de vous donner un bref aperçu de
l'éditeur Vim, juste assez pour vous permettre d'utiliser l'éditeur
- relativement facilement. Il est loin d'être complet, vu que Vim a beaucoup
- beaucoup plus de commandes. Un Manuel de l'utilisateur est disponible en
- anglais: :help user-manual .
+ relativement facilement. Il est loin d'être complet, vu que Vim a beaucoup
+ beaucoup plus de commandes. Un Manuel de l'utilisateur est disponible en
+ anglais : :help user-manual .
Pour continuer à découvrir et à apprendre Vim, il existe un livre traduit en
français. Il parle plus de Vi que de Vim, mais pourra vous être utile.
- L'éditeur Vi - Collection Précis et concis - par Arnold Robbins
- Éditeur: O'Reilly France
- ISBN: 2-84177-102-4
+ L'éditeur Vi - Collection Précis et concis - par Arnold Robbins
+ Éditeur : O'Reilly France
+ ISBN : 2-84177-102-4
Deux livres en anglais sont également mentionnés dans la version originale
de ce tutoriel, dont un qui traite spécifiquement de Vim. Merci de vous y
- référer si vous êtes intéressé.
+ référer si vous êtes intéressés.
Ce tutoriel a été écrit par Michael C. Pierce et Robert K. Ware de l'École
des Mines du Colorado et reprend des idées fournies par Charles Smith,
- Universté d'État du Colorado. E-mail: [email protected].
+ Université d'État du Colorado. E-mail : [email protected].
Modifié pour Vim par Bram Moolenar.
-
Traduit en Français par Adrien Beau, en avril 2001.
- E-mail: [email protected]
- Last Change: 2003 May 29
+ Dernières mises à jour par Dominique Pellé.
+
+ E-mail : [email protected]
+ Last Change : 2008 Nov 23
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff -Nur runtime.patched/tutor/tutor.hu runtime/tutor/tutor.hu
--- runtime.patched/tutor/tutor.hu 2006-10-09 12:37:11.000000000 -0700
+++ runtime/tutor/tutor.hu 2008-11-06 08:04:54.000000000 -0800
@@ -1,5 +1,5 @@
===============================================================================
-= � d v � z � l j � k a V I M T u t o r b a n - 1.5-�s verzi� ===
+== � d v � z � l j � k a V I M - o k t a t � b a n - 1.5-�s verzi� ==
===============================================================================
A Vim egy nagyon hat�kony szerkeszt�, amelnyek rengeteg utas�t�sa
@@ -38,7 +38,7 @@
2. Tartsa lenyomva a lefel�t (j), akkor ism�tl�dik!
---> Most tudja, hogyan mehet a k�vetkez� leck�re.
- 3. A lefel� fomb haszn�lat�val menjen a 1.2. leck�re!
+ 3. A lefel� gomb haszn�lat�val menjen a 1.2. leck�re!
Megj: Ha nem biztos benne, mit nyomott meg, nyomja meg az <ESC>-et, hogy
norm�l m�dba ker�lj�n, �s ism�telje meg a parancsot!
@@ -60,8 +60,8 @@
Ha menteni szeretn� a v�ltoz�sokat �s kil�pni, �rja:
:wq <ENTER>
- 3. Amikor a shell promptot l�tja, �rja be a parancsot, amely ebbe a
- tutorba hozza:
+ 3. Amikor a shell promptot l�tja, �rja be a parancsot, amely ebbe az
+ oktat�ba hozza:
Ez val�sz�n�leg: vimtutor <ENTER>
Norm�lis esetben ezt �rn�: vim tutor.hu <ENTER>
@@ -230,7 +230,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 2.5. lecke: A VISSZAVON�S (UNDO) PARANCS
+ 2.5. lecke: A VISSZAVON�S (UNDO) PARANCS
** u g�pel�s�vel visszavonhat� az utols� parancs, U az eg�sz sort helyre�ll�tja. **
@@ -245,9 +245,9 @@
7. CTRL-R (CTRL gomb lenyom�sa mellett �ss�n R-t) p�rszor csin�lja �jra a
visszavont parancsokat (redo)!
----> Jav��tsd a hhib�kaat ebbben a sooorban majd �ll�tsa visszaaa az eredetit.
+---> Jav��tsa a hhib�kaat ebbben a sooorban majd �ll�tsa visszaaa az eredetit.
- 8. Ezek nagyon hasznos parancsok. Most ugarjon a 2. lecke �sszefoglal�j�ra.
+ 8. Ezek nagyon hasznos parancsok. Most ugorjon a 2. lecke �sszefoglal�j�ra.
@@ -257,7 +257,7 @@
1. T�rl�s a kurzort�l a sz� v�g�ig: dw
- 2. T�rl�s a kurzort�l a sz� v�g�ig: d$
+ 2. T�rl�s a kurzort�l a sor v�g�ig: d$
3. Eg�sz sor t�rl�se: dd
@@ -275,7 +275,7 @@
Visszavon�sok visszavon�sa: CTRL-R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 3.1. lecke: A PUT PARANCS
+ 3.1. lecke: A BEILLESZT�S (PUT) PARANCS
** p le�t�s�vel az utols�nak t�r�ltet a kurzor ut�n illeszhetj�k. **
@@ -284,8 +284,8 @@
2. dd le�t�s�vel t�r�lj�k a sort �s elt�rol�dik a Vim puffer�ben.
- 3. Mozgassuk a kurzort AF�L� a sor f�l�, ahov� mozgatni szeretn�nk a
- t�r�lt sort.
+ 3. Mozgassuk a kurzort azel�tt a sor EL�TTI sorba, ahov� mozgatni
+ szeretn�nk a t�r�lt sort.
4. Norm�l m�dban �rjunk p bet�t a t�r�lt sor beilleszt�s�hez.
@@ -299,7 +299,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 3.2. lecke: A REPLACE PARANCS
+ 3.2. lecke: AZ �T�R�S (REPLACE) PARANCS
** r �s a karakterek le�t�s�vel a kurzor alatti karaktert megv�ltoztatjuk. **
@@ -321,7 +321,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 3.3. lecke: A CHANGE PARANCS
+ 3.3. lecke: A CSERE (CHANGE) PARANCS
** A sz� egy r�sz�nek megv�ltoztat�s�hoz �rjuk: cw . **
@@ -415,7 +415,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 4.2. lecke: A SEARCH PARANCS
+ 4.2. lecke: A KERES�S (SEARCH) PARANCS
** / majd a k�v�nt kifejez�s be�r�s�val kereshetj�k meg a kifejez�st. **
@@ -459,7 +459,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 4.4. lecke: A HIB�K KIJAV�T�S�NAK EGY M�DJA
+ 4.4. lecke: A HIB�K KIJAV�T�S�NAK EGY M�DJA
** :s/�j/r�gi/g beg�pel�s�vel az '�j'-ra cser�lj�k a 'r�gi'-t. **
@@ -470,10 +470,10 @@
sorban.
3. Most ezt �rjuk: :s/eggy/egg/g amely glob�lisan helyettes�t
- a sorban.
+ a sorban, azaz minden el�fordul�st.
Ez a sorban minden el�fordul�st helyettes�t.
----> eggy hegy meggy, szembe j�n eggy m�sik heggy.
+---> eggy heggy meggy, szembe j�n eggy m�sik heggy.
4. K�t sor k�z�tt a karaktersor minden el�fordul�s�nak helyettes�t�se:
:#,#s/r�gi/�j/g ahol #,# a k�t sor sorsz�ma.
@@ -530,7 +530,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 5.2. lecke: B�VEBBEN A F�JLOK �R�S�R�L
+ 5.2. lecke: B�VEBBEN A F�JLOK �R�S�R�L
** A f�jlok v�ltoz�sait �gy �rhatjuk ki :w F�JLN�V. **
@@ -542,12 +542,12 @@
3. �rja: :w TESZT (ahol TESZT a v�lasztott f�jln�v)!
- 4. Ez elmenti a teljes f�jlt (a Vim Tutort) TESZT n�ven.
+ 4. Ez elmenti a teljes f�jlt (a Vim oktat�j�t) TESZT n�ven.
Ellen�rz�sk�pp �rjuk ism�t :!dir hogy l�ssuk a k�nyvt�rat!
(Felfel� gombbal : ut�n az el�z� utas�t�sok visszahozhat�ak.)
Megj: Ha �n kil�pne a Vimb�l �s �s visszat�rne a TESZT f�jln�vvel, akkor a
- f�jl a tutor ment�skori pontos m�solata lenne.
+ f�jl az oktat� ment�skori pontos m�solata lenne.
5. T�vol�tsa el a f�jlt (MS-DOS): :!del TESZT
vagy (Unix): :!rm TESZT
@@ -626,7 +626,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 6.1. lecke: A OPEN PARANCS
+ 6.1. lecke: A MEGNYIT�S (OPEN) PARANCS
** o be�r�s�val nyithat egy �j sort a kurzor alatt �s v�lthat besz�r� m�dba **
@@ -684,16 +684,17 @@
1. Mozgassuk a kurzort az els� ---> kezdet� sorra!
- 2. Place the cursor at the beginning of the first word that is different
- from the second line marked ---> (the word 'last').
+ 2. Helyezze a kurzort az els� sz� elej�re amely elt�r a m�sodik
+ ---> kezdet� sor tartalm�t�l (a 'az utols�val' r�szt�l).
- 3. Now type R and replace the remainder of the text on the first line by
- typing over the old text to make the first line the same as the second.
+ 3. Nyomjon R karaktert �s �rja �t a sz�veg marad�k�t az els� sorban
+ �gy, hogy a k�t sor egyez� legyen.
----> 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.
+---> Az els� sort tegye azonoss� az utols�val: haszn�lja a gombokat.
+---> Az els� sort tegye azonoss� a m�sodikkal: �rjon R-t �s az �j sz�veget.
- 4. Note that when you press <ESC> to exit, any unaltered text remains.
+ 4. Jegyezz�k meg, ha <ESC>-et nyomok, akkor a v�ltozatlanuk hagyott
+ sz�vegek v�ltozatlanok maradnak.
@@ -726,16 +727,16 @@
6. LECKE �SSZEFOGLAL�JA
- 1. Typing o opens a line BELOW the cursor and places the cursor on the open
- line in Insert mode.
- Typing a capital O opens the line ABOVE the line the cursor is on.
+ 1. o be�r�s�val �j sort nyitunk meg a sor ALATT �s a kurzor az �j
+ sorban lesz besz�r�s-m�dban.
+ Nagy O a sor FELETT nyit �j sort, �s oda ker�l a kurzor.
- 2. Type an a to insert text AFTER the character the cursor is on.
- Typing a capital A automatically appends text to the end of the line.
+ 2. a be�r�s�val az aktu�lis karaktert�l UT�N (jobbra) sz�rhatunk be sz�veget.
+ Nagy A automatikusan a sor legv�g�hez adja hozz� a sz�veget.
- 3. Typing a capital R enters Replace mode until <ESC> is pressed to exit.
+ 3. A nagy R be�t�s�vel �t�r� (replace) m�dba ker�l�nk <ESC> lenyom�s�ig.
- 4. Typing ":set xxx" sets the option "xxx"
+ 4. ":set xxx" be�r�s�val az "xxx" opci� �ll�that� be.
@@ -746,7 +747,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 7. lecke: ON-LINE HELP PARANCSOK
+ 7. lecke: AZ ON-LINE S�G� PARANCSAI
** Az online s�g�rendszer haszn�lata **
@@ -801,8 +802,9 @@
tud�knak: ":help user-manual". (egyel�re nem tud magyarul)
Tov�bbi magyar olvasnival�k �rhet�ek el az al�bbi oldalr�l.
- http://ubuntu.hu/index.php?title=Vim
+ http://wiki.hup.hu/index.php/Vim
+ Angol olvasm�nyok:
For further reading and studying, this book is recommended:
Vim - Vi Improved - by Steve Oualline
Publisher: New Riders
@@ -816,8 +818,13 @@
It is a good book to get to know almost anything you want to do with Vi.
The sixth edition also includes information on Vim.
- This tutorial was written by Michael C. Pierce and Robert K. Ware,
- Colorado School of Mines using ideas supplied by Charles Smith,
- Colorado State University. E-mail: [email protected].
+ Ezt az oktat�t Michael C. Pierce �s Robert K. Ware �rta, a Colorado
+ School of Mines dolgoz�i Charles Smith (Colorado State University)
+ t�mogat�s�val.
+
+ E-mail: [email protected].
+
+ A Vimhez idom�totta Bram Moolenaar.
+
+ Magyar�totta: Horv�th �rp�d <[email protected]>, 2006-2008
- Modified for Vim by Bram Moolenaar.
diff -Nur runtime.patched/tutor/tutor.hu.cp1250 runtime/tutor/tutor.hu.cp1250
--- runtime.patched/tutor/tutor.hu.cp1250 2008-01-18 11:51:48.000000000 -0800
+++ runtime/tutor/tutor.hu.cp1250 2008-11-06 08:05:19.000000000 -0800
@@ -1,5 +1,5 @@
===============================================================================
-= � d v � z � l j � k a V I M T u t o r b a n - 1.5-�s verzi� ===
+== � d v � z � l j � k a V I M - o k t a t � b a n - 1.5-�s verzi� ==
===============================================================================
A Vim egy nagyon hat�kony szerkeszt�, amelnyek rengeteg utas�t�sa
@@ -38,7 +38,7 @@
2. Tartsa lenyomva a lefel�t (j), akkor ism�tl�dik!
---> Most tudja, hogyan mehet a k�vetkez� leck�re.
- 3. A lefel� fomb haszn�lat�val menjen a 1.2. leck�re!
+ 3. A lefel� gomb haszn�lat�val menjen a 1.2. leck�re!
Megj: Ha nem biztos benne, mit nyomott meg, nyomja meg az <ESC>-et, hogy
norm�l m�dba ker�lj�n, �s ism�telje meg a parancsot!
@@ -60,8 +60,8 @@
Ha menteni szeretn� a v�ltoz�sokat �s kil�pni, �rja:
:wq <ENTER>
- 3. Amikor a shell promptot l�tja, �rja be a parancsot, amely ebbe a
- tutorba hozza:
+ 3. Amikor a shell promptot l�tja, �rja be a parancsot, amely ebbe az
+ oktat�ba hozza:
Ez val�sz�n�leg: vimtutor <ENTER>
Norm�lis esetben ezt �rn�: vim tutor.hu <ENTER>
@@ -230,7 +230,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 2.5. lecke: A VISSZAVON�S (UNDO) PARANCS
+ 2.5. lecke: A VISSZAVON�S (UNDO) PARANCS
** u g�pel�s�vel visszavonhat� az utols� parancs, U az eg�sz sort helyre�ll�tja. **
@@ -245,9 +245,9 @@
7. CTRL-R (CTRL gomb lenyom�sa mellett �ss�n R-t) p�rszor csin�lja �jra a
visszavont parancsokat (redo)!
----> Jav��tsd a hhib�kaat ebbben a sooorban majd �ll�tsa visszaaa az eredetit.
+---> Jav��tsa a hhib�kaat ebbben a sooorban majd �ll�tsa visszaaa az eredetit.
- 8. Ezek nagyon hasznos parancsok. Most ugarjon a 2. lecke �sszefoglal�j�ra.
+ 8. Ezek nagyon hasznos parancsok. Most ugorjon a 2. lecke �sszefoglal�j�ra.
@@ -257,7 +257,7 @@
1. T�rl�s a kurzort�l a sz� v�g�ig: dw
- 2. T�rl�s a kurzort�l a sz� v�g�ig: d$
+ 2. T�rl�s a kurzort�l a sor v�g�ig: d$
3. Eg�sz sor t�rl�se: dd
@@ -275,7 +275,7 @@
Visszavon�sok visszavon�sa: CTRL-R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 3.1. lecke: A PUT PARANCS
+ 3.1. lecke: A BEILLESZT�S (PUT) PARANCS
** p le�t�s�vel az utols�nak t�r�ltet a kurzor ut�n illeszhetj�k. **
@@ -284,8 +284,8 @@
2. dd le�t�s�vel t�r�lj�k a sort �s elt�rol�dik a Vim puffer�ben.
- 3. Mozgassuk a kurzort AF�L� a sor f�l�, ahov� mozgatni szeretn�nk a
- t�r�lt sort.
+ 3. Mozgassuk a kurzort azel�tt a sor EL�TTI sorba, ahov� mozgatni
+ szeretn�nk a t�r�lt sort.
4. Norm�l m�dban �rjunk p bet�t a t�r�lt sor beilleszt�s�hez.
@@ -299,7 +299,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 3.2. lecke: A REPLACE PARANCS
+ 3.2. lecke: AZ �T�R�S (REPLACE) PARANCS
** r �s a karakterek le�t�s�vel a kurzor alatti karaktert megv�ltoztatjuk. **
@@ -321,7 +321,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 3.3. lecke: A CHANGE PARANCS
+ 3.3. lecke: A CSERE (CHANGE) PARANCS
** A sz� egy r�sz�nek megv�ltoztat�s�hoz �rjuk: cw . **
@@ -415,7 +415,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 4.2. lecke: A SEARCH PARANCS
+ 4.2. lecke: A KERES�S (SEARCH) PARANCS
** / majd a k�v�nt kifejez�s be�r�s�val kereshetj�k meg a kifejez�st. **
@@ -459,7 +459,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 4.4. lecke: A HIB�K KIJAV�T�S�NAK EGY M�DJA
+ 4.4. lecke: A HIB�K KIJAV�T�S�NAK EGY M�DJA
** :s/�j/r�gi/g beg�pel�s�vel az '�j'-ra cser�lj�k a 'r�gi'-t. **
@@ -470,10 +470,10 @@
sorban.
3. Most ezt �rjuk: :s/eggy/egg/g amely glob�lisan helyettes�t
- a sorban.
+ a sorban, azaz minden el�fordul�st.
Ez a sorban minden el�fordul�st helyettes�t.
----> eggy hegy meggy, szembe j�n eggy m�sik heggy.
+---> eggy heggy meggy, szembe j�n eggy m�sik heggy.
4. K�t sor k�z�tt a karaktersor minden el�fordul�s�nak helyettes�t�se:
:#,#s/r�gi/�j/g ahol #,# a k�t sor sorsz�ma.
@@ -530,7 +530,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 5.2. lecke: B�VEBBEN A F�JLOK �R�S�R�L
+ 5.2. lecke: B�VEBBEN A F�JLOK �R�S�R�L
** A f�jlok v�ltoz�sait �gy �rhatjuk ki :w F�JLN�V. **
@@ -542,12 +542,12 @@
3. �rja: :w TESZT (ahol TESZT a v�lasztott f�jln�v)!
- 4. Ez elmenti a teljes f�jlt (a Vim Tutort) TESZT n�ven.
+ 4. Ez elmenti a teljes f�jlt (a Vim oktat�j�t) TESZT n�ven.
Ellen�rz�sk�pp �rjuk ism�t :!dir hogy l�ssuk a k�nyvt�rat!
(Felfel� gombbal : ut�n az el�z� utas�t�sok visszahozhat�ak.)
Megj: Ha �n kil�pne a Vimb�l �s �s visszat�rne a TESZT f�jln�vvel, akkor a
- f�jl a tutor ment�skori pontos m�solata lenne.
+ f�jl az oktat� ment�skori pontos m�solata lenne.
5. T�vol�tsa el a f�jlt (MS-DOS): :!del TESZT
vagy (Unix): :!rm TESZT
@@ -626,7 +626,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 6.1. lecke: A OPEN PARANCS
+ 6.1. lecke: A MEGNYIT�S (OPEN) PARANCS
** o be�r�s�val nyithat egy �j sort a kurzor alatt �s v�lthat besz�r� m�dba **
@@ -684,16 +684,17 @@
1. Mozgassuk a kurzort az els� ---> kezdet� sorra!
- 2. Place the cursor at the beginning of the first word that is different
- from the second line marked ---> (the word 'last').
+ 2. Helyezze a kurzort az els� sz� elej�re amely elt�r a m�sodik
+ ---> kezdet� sor tartalm�t�l (a 'az utols�val' r�szt�l).
- 3. Now type R and replace the remainder of the text on the first line by
- typing over the old text to make the first line the same as the second.
+ 3. Nyomjon R karaktert �s �rja �t a sz�veg marad�k�t az els� sorban
+ �gy, hogy a k�t sor egyez� legyen.
----> 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.
+---> Az els� sort tegye azonoss� az utols�val: haszn�lja a gombokat.
+---> Az els� sort tegye azonoss� a m�sodikkal: �rjon R-t �s az �j sz�veget.
- 4. Note that when you press <ESC> to exit, any unaltered text remains.
+ 4. Jegyezz�k meg, ha <ESC>-et nyomok, akkor a v�ltozatlanuk hagyott
+ sz�vegek v�ltozatlanok maradnak.
@@ -726,16 +727,16 @@
6. LECKE �SSZEFOGLAL�JA
- 1. Typing o opens a line BELOW the cursor and places the cursor on the open
- line in Insert mode.
- Typing a capital O opens the line ABOVE the line the cursor is on.
+ 1. o be�r�s�val �j sort nyitunk meg a sor ALATT �s a kurzor az �j
+ sorban lesz besz�r�s-m�dban.
+ Nagy O a sor FELETT nyit �j sort, �s oda ker�l a kurzor.
- 2. Type an a to insert text AFTER the character the cursor is on.
- Typing a capital A automatically appends text to the end of the line.
+ 2. a be�r�s�val az aktu�lis karaktert�l UT�N (jobbra) sz�rhatunk be sz�veget.
+ Nagy A automatikusan a sor legv�g�hez adja hozz� a sz�veget.
- 3. Typing a capital R enters Replace mode until <ESC> is pressed to exit.
+ 3. A nagy R be�t�s�vel �t�r� (replace) m�dba ker�l�nk <ESC> lenyom�s�ig.
- 4. Typing ":set xxx" sets the option "xxx"
+ 4. ":set xxx" be�r�s�val az "xxx" opci� �ll�that� be.
@@ -746,7 +747,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 7. lecke: ON-LINE HELP PARANCSOK
+ 7. lecke: AZ ON-LINE S�G� PARANCSAI
** Az online s�g�rendszer haszn�lata **
@@ -801,8 +802,9 @@
tud�knak: ":help user-manual". (egyel�re nem tud magyarul)
Tov�bbi magyar olvasnival�k �rhet�ek el az al�bbi oldalr�l.
- http://ubuntu.hu/index.php?title=Vim
+ http://wiki.hup.hu/index.php/Vim
+ Angol olvasm�nyok:
For further reading and studying, this book is recommended:
Vim - Vi Improved - by Steve Oualline
Publisher: New Riders
@@ -816,8 +818,13 @@
It is a good book to get to know almost anything you want to do with Vi.
The sixth edition also includes information on Vim.
- This tutorial was written by Michael C. Pierce and Robert K. Ware,
- Colorado School of Mines using ideas supplied by Charles Smith,
- Colorado State University. E-mail: [email protected].
+ Ezt az oktat�t Michael C. Pierce �s Robert K. Ware �rta, a Colorado
+ School of Mines dolgoz�i Charles Smith (Colorado State University)
+ t�mogat�s�val.
+
+ E-mail: [email protected].
+
+ A Vimhez idom�totta Bram Moolenaar.
+
+ Magyar�totta: Horv�th �rp�d <[email protected]>, 2006-2008
- Modified for Vim by Bram Moolenaar.
diff -Nur runtime.patched/tutor/tutor.hu.utf-8 runtime/tutor/tutor.hu.utf-8
--- runtime.patched/tutor/tutor.hu.utf-8 2006-10-06 11:00:07.000000000 -0700
+++ runtime/tutor/tutor.hu.utf-8 2008-11-06 08:05:19.000000000 -0800
@@ -1,5 +1,5 @@
===============================================================================
-= Ü d v ö z ö l j ü k a V I M T u t o r b a n - 1.5-ös verzió ===
+== Ü d v ö z ö l j ü k a V I M - o k t a t ó b a n - 1.5-ös verzió ==
===============================================================================
A Vim egy nagyon hatékony szerkesztő, amelnyek rengeteg utasítása
@@ -38,7 +38,7 @@
2. Tartsa lenyomva a lefelét (j), akkor ismétlődik!
---> Most tudja, hogyan mehet a következő leckére.
- 3. A lefelé fomb használatával menjen a 1.2. leckére!
+ 3. A lefelé gomb használatával menjen a 1.2. leckére!
Megj: Ha nem biztos benne, mit nyomott meg, nyomja meg az <ESC>-et, hogy
normál módba kerüljön, és ismételje meg a parancsot!
@@ -60,8 +60,8 @@
Ha menteni szeretné a változásokat és kilépni, írja:
:wq <ENTER>
- 3. Amikor a shell promptot látja, írja be a parancsot, amely ebbe a
- tutorba hozza:
+ 3. Amikor a shell promptot látja, írja be a parancsot, amely ebbe az
+ oktatóba hozza:
Ez valószínűleg: vimtutor <ENTER>
Normális esetben ezt írná: vim tutor.hu <ENTER>
@@ -230,7 +230,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 2.5. lecke: A VISSZAVONÁS (UNDO) PARANCS
+ 2.5. lecke: A VISSZAVONÁS (UNDO) PARANCS
** u gépelésével visszavonható az utolsó parancs, U az egész sort helyreállítja. **
@@ -245,9 +245,9 @@
7. CTRL-R (CTRL gomb lenyomása mellett üssön R-t) párszor csinálja újra a
visszavont parancsokat (redo)!
----> Javíítsd a hhibákaat ebbben a sooorban majd állítsa visszaaa az eredetit.
+---> Javíítsa a hhibákaat ebbben a sooorban majd állítsa visszaaa az eredetit.
- 8. Ezek nagyon hasznos parancsok. Most ugarjon a 2. lecke összefoglalójára.
+ 8. Ezek nagyon hasznos parancsok. Most ugorjon a 2. lecke összefoglalójára.
@@ -257,7 +257,7 @@
1. Törlés a kurzortól a szó végéig: dw
- 2. Törlés a kurzortól a szó végéig: d$
+ 2. Törlés a kurzortól a sor végéig: d$
3. Egész sor törlése: dd
@@ -275,7 +275,7 @@
Visszavonások visszavonása: CTRL-R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 3.1. lecke: A PUT PARANCS
+ 3.1. lecke: A BEILLESZTÉS (PUT) PARANCS
** p leütésével az utolsónak töröltet a kurzor után illeszhetjük. **
@@ -284,8 +284,8 @@
2. dd leütésével töröljük a sort és eltérolódik a Vim pufferében.
- 3. Mozgassuk a kurzort AFÖLÉ a sor fölé, ahová mozgatni szeretnénk a
- törölt sort.
+ 3. Mozgassuk a kurzort azelőtt a sor ELŐTTI sorba, ahová mozgatni
+ szeretnénk a törölt sort.
4. Normál módban írjunk p betűt a törölt sor beillesztéséhez.
@@ -299,7 +299,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 3.2. lecke: A REPLACE PARANCS
+ 3.2. lecke: AZ ÁTÍRÁS (REPLACE) PARANCS
** r és a karakterek leütésével a kurzor alatti karaktert megváltoztatjuk. **
@@ -321,7 +321,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 3.3. lecke: A CHANGE PARANCS
+ 3.3. lecke: A CSERE (CHANGE) PARANCS
** A szó egy részének megváltoztatásához írjuk: cw . **
@@ -415,7 +415,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 4.2. lecke: A SEARCH PARANCS
+ 4.2. lecke: A KERESÉS (SEARCH) PARANCS
** / majd a kívánt kifejezés beírásával kereshetjük meg a kifejezést. **
@@ -459,7 +459,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 4.4. lecke: A HIBÁK KIJAVÍTÁSÁNAK EGY MÓDJA
+ 4.4. lecke: A HIBÁK KIJAVÍTÁSÁNAK EGY MÓDJA
** :s/új/régi/g begépelésével az 'új'-ra cseréljük a 'régi'-t. **
@@ -470,10 +470,10 @@
sorban.
3. Most ezt írjuk: :s/eggy/egg/g amely globálisan helyettesít
- a sorban.
+ a sorban, azaz minden előfordulást.
Ez a sorban minden előfordulást helyettesít.
----> eggy hegy meggy, szembe jön eggy másik heggy.
+---> eggy heggy meggy, szembe jön eggy másik heggy.
4. Két sor között a karaktersor minden előfordulásának helyettesítése:
:#,#s/régi/új/g ahol #,# a két sor sorszáma.
@@ -530,7 +530,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 5.2. lecke: BŐVEBBEN A FÁJLOK ÍRÁSÁRÓL
+ 5.2. lecke: BŐVEBBEN A FÁJLOK ÍRÁSÁRÓL
** A fájlok változásait így írhatjuk ki :w FÁJLNÉV. **
@@ -542,12 +542,12 @@
3. Írja: :w TESZT (ahol TESZT a választott fájlnév)!
- 4. Ez elmenti a teljes fájlt (a Vim Tutort) TESZT néven.
+ 4. Ez elmenti a teljes fájlt (a Vim oktatóját) TESZT néven.
Ellenőrzésképp írjuk ismét :!dir hogy lássuk a könyvtárat!
(Felfelé gombbal : után az előző utasítások visszahozhatóak.)
Megj: Ha Ön kilépne a Vimből és és visszatérne a TESZT fájlnévvel, akkor a
- fájl a tutor mentéskori pontos másolata lenne.
+ fájl az oktató mentéskori pontos másolata lenne.
5. Távolítsa el a fájlt (MS-DOS): :!del TESZT
vagy (Unix): :!rm TESZT
@@ -626,7 +626,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 6.1. lecke: A OPEN PARANCS
+ 6.1. lecke: A MEGNYITÁS (OPEN) PARANCS
** o beírásával nyithat egy új sort a kurzor alatt és válthat beszúró módba **
@@ -684,16 +684,17 @@
1. Mozgassuk a kurzort az első ---> kezdetű sorra!
- 2. Place the cursor at the beginning of the first word that is different
- from the second line marked ---> (the word 'last').
+ 2. Helyezze a kurzort az első szó elejére amely eltér a második
+ ---> kezdetű sor tartalmától (a 'az utolsóval' résztől).
- 3. Now type R and replace the remainder of the text on the first line by
- typing over the old text to make the first line the same as the second.
+ 3. Nyomjon R karaktert és írja ét a szöveg maradékát az első sorban
+ úgy, hogy a két sor egyező legyen.
----> 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.
+---> Az első sort tegye azonossá az utolsóval: használja a gombokat.
+---> Az első sort tegye azonossá a másodikkal: írjon R-t és az új szöveget.
- 4. Note that when you press <ESC> to exit, any unaltered text remains.
+ 4. Jegyezzük meg, ha <ESC>-et nyomok, akkor a változatlanuk hagyott
+ szövegek változatlanok maradnak.
@@ -726,16 +727,16 @@
6. LECKE ÖSSZEFOGLALÓJA
- 1. Typing o opens a line BELOW the cursor and places the cursor on the open
- line in Insert mode.
- Typing a capital O opens the line ABOVE the line the cursor is on.
+ 1. o beírásával új sort nyitunk meg a sor ALATT és a kurzor az új
+ sorban lesz beszúrás-módban.
+ Nagy O a sor FELETT nyit új sort, és oda kerül a kurzor.
- 2. Type an a to insert text AFTER the character the cursor is on.
- Typing a capital A automatically appends text to the end of the line.
+ 2. a beírásával az aktuális karaktertől UTÁN (jobbra) szúrhatunk be szöveget.
+ Nagy A automatikusan a sor legvégéhez adja hozzá a szöveget.
- 3. Typing a capital R enters Replace mode until <ESC> is pressed to exit.
+ 3. A nagy R beütésével átíró (replace) módba kerülünk <ESC> lenyomásáig.
- 4. Typing ":set xxx" sets the option "xxx"
+ 4. ":set xxx" beírásával az "xxx" opció állítható be.
@@ -746,7 +747,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 7. lecke: ON-LINE HELP PARANCSOK
+ 7. lecke: AZ ON-LINE SÚGÓ PARANCSAI
** Az online súgórendszer használata **
@@ -801,8 +802,9 @@
tudóknak: ":help user-manual". (egyelőre nem tud magyarul)
További magyar olvasnivalók érhetőek el az alábbi oldalról.
- http://ubuntu.hu/index.php?title=Vim
+ http://wiki.hup.hu/index.php/Vim
+ Angol olvasmányok:
For further reading and studying, this book is recommended:
Vim - Vi Improved - by Steve Oualline
Publisher: New Riders
@@ -816,8 +818,13 @@
It is a good book to get to know almost anything you want to do with Vi.
The sixth edition also includes information on Vim.
- This tutorial was written by Michael C. Pierce and Robert K. Ware,
- Colorado School of Mines using ideas supplied by Charles Smith,
- Colorado State University. E-mail: [email protected].
+ Ezt az oktatót Michael C. Pierce és Robert K. Ware írta, a Colorado
+ School of Mines dolgozói Charles Smith (Colorado State University)
+ támogatásával.
+
+ E-mail: [email protected].
+
+ A Vimhez idomította Bram Moolenaar.
+
+ Magyarította: Horváth Árpád <[email protected]>, 2006-2008
- Modified for Vim by Bram Moolenaar.
diff -Nur runtime.patched/tutor/tutor.ja.euc runtime/tutor/tutor.ja.euc
--- runtime.patched/tutor/tutor.ja.euc 2006-02-20 13:27:09.000000000 -0800
+++ runtime/tutor/tutor.ja.euc 2009-09-18 03:29:43.000000000 -0700
@@ -257,7 +257,7 @@
** �����Ԥ����������֤��Υ⡼���������˿��ͤ��פ��ޤ��� **
- 1. �ʲ��� ---> �ȼ����줿�Ȥ���Ƭ�˥���������ư���ޤ���
+ 1. �ʲ��� ---> �ȼ����줿�Ԥ���Ƭ�˥���������ư���ޤ���
2. 2dw ���פ���ñ��2��ʬ��ư���ޤ���
@@ -741,7 +741,7 @@
** ��������μ��ΰ��֤���ƥ����Ȥ��ɲä���ˤ� a �ȥ����פ��ޤ� **
- 1. ��������� ---> �Ǽ����줿�Ȥذ�ư���ޤ��礦��
+ 1. ��������� ---> �Ǽ����줿�Ԥذ�ư���ޤ��礦��
2. e ���� li �ν�ü���ޤǥ���������ư���ޤ���
@@ -764,7 +764,7 @@
** 1ʸ���ʾ���֤�������ˤ���ʸ���� R �ȥ����פ��ޤ��礦 **
- 1. �ʲ��� ---> �ȼ����줿�Ȥ˥���������ư���ޤ����ǽ�� xxx ����Ƭ�˰�ư��
+ 1. �ʲ��� ---> �ȼ����줿�Ԥ˥���������ư���ޤ����ǽ�� xxx ����Ƭ�˰�ư��
�ޤ���
2. R ���ơ�2���ܤο��ͤ��פ��뤳�Ȥǡ�xxx ���ִ�����ޤ���
diff -Nur runtime.patched/tutor/tutor.ja.sjis runtime/tutor/tutor.ja.sjis
--- runtime.patched/tutor/tutor.ja.sjis 2006-02-20 13:27:09.000000000 -0800
+++ runtime/tutor/tutor.ja.sjis 2009-09-18 03:29:43.000000000 -0700
@@ -257,7 +257,7 @@
** ������s�������J��Ԃ��̃��[�V�����̑O�ɐ��l���^�C�v���܂��B **
- 1. �ȉ��� ---> �Ǝ����ꂽ�Ƃ̐擪�ɃJ�[�\�����ړ����܂��B
+ 1. �ȉ��� ---> �Ǝ����ꂽ�s�̐擪�ɃJ�[�\�����ړ����܂��B
2. 2dw ���^�C�v���ĒP��2���ړ����܂��B
@@ -741,7 +741,7 @@
** �J�[�\���̎��̈ʒu����e�L�X�g��lj�����ɂ� a �ƃ^�C�v���܂� **
- 1. �J�[�\���� ---> �Ŏ����ꂽ�Ƃֈړ����܂��傤�B
+ 1. �J�[�\���� ---> �Ŏ����ꂽ�s�ֈړ����܂��傤�B
2. e �������� li �̏I�[���܂ŃJ�[�\�����ړ����܂��B
@@ -764,7 +764,7 @@
** 1�����ȏ��u��������ɂ͑啶���� R �ƃ^�C�v���܂��傤 **
- 1. �ȉ��� ---> �Ǝ����ꂽ�ƂɃJ�[�\�����ړ����܂��B�ŏ��� xxx �̐擪�Ɉړ���
+ 1. �ȉ��� ---> �Ǝ����ꂽ�s�ɃJ�[�\�����ړ����܂��B�ŏ��� xxx �̐擪�Ɉړ���
�܂��B
2. R �������āA2�s�ڂ̐��l���^�C�v���邱�ƂŁAxxx ���u������܂��B
diff -Nur runtime.patched/tutor/tutor.ja.utf-8 runtime/tutor/tutor.ja.utf-8
--- runtime.patched/tutor/tutor.ja.utf-8 2006-02-17 02:40:38.000000000 -0800
+++ runtime/tutor/tutor.ja.utf-8 2009-09-18 03:26:29.000000000 -0700
@@ -257,7 +257,7 @@
** 何回も行いたい繰り返しのモーションの前に数値をタイプします。 **
- 1. 以下の ---> と示された業の先頭にカーソルを移動します。
+ 1. 以下の ---> と示された行の先頭にカーソルを移動します。
2. 2dw をタイプして単語2つ分移動します。
@@ -741,7 +741,7 @@
** カーソルの次の位置からテキストを追加するには a とタイプします **
- 1. カーソルを ---> で示された業へ移動しましょう。
+ 1. カーソルを ---> で示された行へ移動しましょう。
2. e を押して li の終端部までカーソルを移動します。
@@ -764,7 +764,7 @@
** 1文字以上を置き換えるには大文字の R とタイプしましょう **
- 1. 以下の ---> と示された業にカーソルを移動します。最初の xxx の先頭に移動し
+ 1. 以下の ---> と示された行にカーソルを移動します。最初の xxx の先頭に移動し
ます。
2. R を押して、2行目の数値をタイプすることで、xxx が置換されます。
diff -Nur runtime.patched/tutor/tutor.pl runtime/tutor/tutor.pl
--- runtime.patched/tutor/tutor.pl 2008-06-26 13:52:38.000000000 -0700
+++ runtime/tutor/tutor.pl 2009-01-14 12:15:35.000000000 -0800
@@ -2,9 +2,9 @@
= W i t a j w t u t o r i a l u V I M - a - Wersja 1.7. =
===============================================================================
- Vim to pot�ny edytor, kt�ry posiada wiele polece�, zbyt du�o by
+ Vim to pot�ny edytor, kt�ry posiada wiele polece�, zbyt du�o, by
wyja�ni� je wszystkie w tym tutorialu. Ten przewodnik ma nauczy�
- Ci� pos�ugiwa� si� wystarczaj�co wieloma komendami by� m�g� �atwo
+ Ci� pos�ugiwa� si� wystarczaj�co wieloma komendami, by� m�g� �atwo
u�ywa� Vima jako edytora og�lnego przeznaczenia.
Czas potrzebny na uko�czenie tutoriala to 25 do 30 minut i zale�y
@@ -13,14 +13,14 @@
UWAGA:
Polecenia wykonywane w czasie lekcji zmodyfikuj� tekst. Zr�b
wcze�niej kopi� tego pliku do �wicze� (je�li zacz��e� komend�
- "vimtutor" to ju� pracujesz na kopii).
+ "vimtutor", to ju� pracujesz na kopii).
- Pami�taj �e przewodnik ten zosta� zaprojektowany do nauki poprzez
- �wiczenia. Oznacza to, �e musisz wykonywa� polecenia by nauczy� si� ich
- prawid�owo. Je�li b�dziesz jedynie czyta� tekst szybko zapomnisz wiele
+ Pami�taj, �e przewodnik ten zosta� zaprojektowany do nauki poprzez
+ �wiczenia. Oznacza to, �e musisz wykonywa� polecenia, by nauczy� si� ich
+ prawid�owo. Je�li b�dziesz jedynie czyta� tekst, szybko zapomnisz wiele
polece�!
- Teraz upewnij si�, �e nie masz wci�ni�tego CapsLocka i wciskaj j
+ Teraz upewnij si�, �e nie masz wci�ni�tego Caps Locka i wciskaj j
tak d�ugo dop�ki Lekcja 1.1. nie wype�ni ca�kowicie ekranu.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -40,28 +40,28 @@
3. U�ywaj�c strza�ki w d� przejd� do nast�pnej lekcji.
-Uwaga: Je�li nie jeste� pewien czego� co wpisa�e�, wci�nij <ESC> by wr�ci� do
+Uwaga: Je�li nie jeste� pewien czego� co wpisa�e�, wci�nij <ESC>, by wr�ci� do
trybu Normal. Wtedy powt�rz polecenie.
Uwaga: Klawisze kursora tak�e powinny dzia�a�, ale u�ywaj�c hjkl b�dziesz
- w stanie porusza� si� o wiele szybciej jak si� tylko przyzwyczaisz.
+ w stanie porusza� si� o wiele szybciej, jak si� tylko przyzwyczaisz.
Naprawd�!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 1.2.: WYCHODZENIE Z VIM-a
- !! UWAGA: Przed wykonaniem jakiegokolwiek polecenia przeczytaj ca�� lekcj�.!!
+ !! UWAGA: Przed wykonaniem jakiegokolwiek polecenia przeczytaj ca�� lekcj� !!
1. Wci�nij <ESC> (aby upewni� si�, �e jeste� w trybie Normal).
2. Wpisz: :q!<ENTER>.
- To spowoduje wyj�cie z edytora PORZUCAJ�C wszelkie zmiany jakie
- zd��y�e� zrobi�. Je�li chcesz zapami�ta� zmiany i wyj��
+ To spowoduje wyj�cie z edytora PORZUCAJ�C wszelkie zmiany, jakie
+ zd��y�e� zrobi�. Je�li chcesz zapami�ta� zmiany i wyj��,
wpisz: :wq<ENTER>
3. Kiedy widzisz znak zach�ty pow�oki wpisz komend�, �eby wr�ci�
do tutoriala. Czyli: vimtutor<ENTER>
- 4. Je�li chcesz zapami�ta� polecenia, wykonaj kroki 1. do 3. aby
+ 4. Je�li chcesz zapami�ta� polecenia, wykonaj kroki 1. do 3., aby
wyj�� i wr�ci� do edytora.
UWAGA: :q!<ENTER> porzuca wszelkie zmiany jakie zrobi�e�. W nast�pnych
@@ -85,7 +85,7 @@
---> Kkrowa prrzeskoczy�a prrzez ksii�ycc.
- 5. Teraz kiedy zdanie jest poprawione przejd� do Lekcji 1.4.
+ 5. Teraz, kiedy zdanie jest poprawione, przejd� do Lekcji 1.4.
UWAGA: Ucz si� przez �wiczenie, nie wkuwanie.
@@ -101,18 +101,18 @@
1. Przenie� kursor do pierwszej linii poni�ej oznaczonej --->.
- 2. Aby poprawi� pierwszy wiersz, ustaw kursor na pierwszym znaku PO tym
+ 2. Aby poprawi� pierwszy wiersz, ustaw kursor na pierwszym znaku PO tym,
gdzie tekst ma by� wstawiony.
3. Wci�nij i a nast�pnie wpisz konieczne poprawki.
- 4. Po poprawieniu b��du wci�nij <ESC> by wr�ci� do trybu Normal.
- Powtarzaj kroki 2. do 4. aby poprawi� ca�e zdanie.
+ 4. Po poprawieniu b��du wci�nij <ESC>, by wr�ci� do trybu Normal.
+ Powtarzaj kroki 2. do 4., aby poprawi� ca�e zdanie.
---> W tej brkje troch� .
---> W tej linii brakuje troch� tekstu.
- 5. Kiedy czujesz si� swobodnie wstawiaj�c tekst przejd� do
+ 5. Kiedy czujesz si� swobodnie wstawiaj�c tekst, przejd� do
podsumowania poni�ej.
@@ -129,7 +129,7 @@
3. Kiedy tekst zosta� dodany, wci�nij <ESC> i wr�� do trybu Normalnego.
- 4. Przenie� kursor do drugiej linii oznaczonej ---> i powt�rz kroki 2 i 3
+ 4. Przenie� kursor do drugiej linii oznaczonej ---> i powt�rz kroki 2. i 3.,
aby poprawi� zdanie.
---> Brakuje tu tro
@@ -137,27 +137,27 @@
---> Tu te� troch� bra
Tu te� troch� brakuje.
- 5. Kiedy ju� utrwali�e� �wiczenie przejd� do lekcji 1.6.
+ 5. Kiedy ju� utrwali�e� �wiczenie, przejd� do lekcji 1.6.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 1.6.: EDYCJA PLIKU
** U�yj :wq aby zapisa� plik i wyj��. **
- !! UWAGA: zanim wykonasz jakiekolwiek polecenia przeczyaj ca�� lekcj� !!
+ !! UWAGA: zanim wykonasz jakiekolwiek polecenia przeczytaj ca�� lekcj� !!
1. Zako�cz tutorial tak jak w lekcji 1.2.: :q!
- Lub je�li masz dost�p do innego terminala zr�b kolejne kroki tam.
+ lub, je�li masz dost�p do innego terminala, wykonaj kolejne kroki tam.
2. W pow�oce wydaj polecenie: vim tutor<ENTER>
- "vim" jest poleceniem uruchamiaj�cym edytor Vim. 'tutor' to nazwa pliku
- jaki chcesz edytowa�. U�yj pliku jaki mo�e zosta� zmieniony.
+ "vim" jest poleceniem uruchamiaj�cym edytor Vim. 'tutor' to nazwa pliku,
+ jaki chcesz edytowa�. U�yj pliku, kt�ry mo�e zosta� zmieniony.
- 3. Dodaj i usu� tekst tak jak si� nauczy�e� w poprzednich lekcjach.
+ 3. Dodaj i usu� tekst tak, jak si� nauczy�e� w poprzednich lekcjach.
4. Zapisz plik ze zmianami i opu�� Vima: :wq<ENTER>
- 5. Je�li zako�czy�e� vimtutor w kroku 1. uruchom go ponownie i przejd�
+ 5. Je�li zako�czy�e� vimtutor w kroku 1., uruchom go ponownie i przejd�
do podsumowania poni�ej.
6. Po przeczytaniu wszystkich krok�w i ich zrozumieniu: wykonaj je.
@@ -168,14 +168,14 @@
1. Poruszasz kursorem u�ywaj�c "strza�ek" i klawiszy hjkl .
h (w lewo) j (w d�) k (do g�ry) l (w prawo)
- 2. By wej�� do Vima (z pow�oki) wpisz:
+ 2. By wej�� do Vima, (z pow�oki) wpisz:
vim NAZWA_PLIKU<ENTER>
- 3. By wyj�� z Vima wpisz:
- <ESC> :q!<ENTER> by usun�c wszystkie zmiany.
+ 3. By wyj�� z Vima, wpisz:
+ <ESC> :q!<ENTER> by usun�� wszystkie zmiany.
LUB: <ESC> :wq<ENTER> by zmiany zachowa�.
- 4. By usun�� znak pod kursorem wci�nij: x
+ 4. By usun�� znak pod kursorem, wci�nij: x
5. By wstawi� tekst przed kursorem lub doda�:
i wpisz tekst <ESC> wstawi przed kursorem
@@ -189,18 +189,18 @@
Lekcja 2.1.: POLECENIE DELETE (usuwanie)
- ** Wpisz dw by usun�c wyraz. **
+ ** Wpisz dw by usun�� wyraz. **
- 1. Wci�nij <ESC> by upewni� si�, �e jeste� w trybie Normal.
+ 1. Wci�nij <ESC>, by upewni� si�, �e jeste� w trybie Normal.
2. Przenie� kursor do linii poni�ej oznaczonej --->.
- 3. Przesu� kursor na pocz�tek wyrazu, kt�re chcesz usun��.
+ 3. Przesu� kursor na pocz�tek wyrazu, kt�ry chcesz usun��.
4. Wpisz dw by usun�� wyraz.
UWAGA: Litera d pojawi si� na dole ekranu. Vim czeka na wpisanie w .
- Je�li zobaczysz inny znak oznacza to, �e wpisa�e� co� �le, wci�nij
+ Je�li zobaczysz inny znak, oznacza to, �e wpisa�e� co� �le; wci�nij
<ESC> i zacznij od pocz�tku.
---> Jest tu par� papier wyraz�w, kt�re kamie� nie nale�� do no�yce tego zdania.
@@ -225,7 +225,7 @@
---> Kto� wpisa� koniec tego zdania dwukrotnie. zdania dwukrotnie.
- 5. Przejd� do Lekcji 2.3. by zrozumie� co si� sta�o.
+ 5. Przejd� do Lekcji 2.3., by zrozumie� co si� sta�o.
@@ -235,12 +235,12 @@
Lekcja 2.3.: O OPERATORACH I RUCHACH
- Wiele polece� zmieniaj�cych tekst s� z�o�one z operatora i ruchu.
- Format dla polecenia usuwaj�cego z operatorem d jest taki:
+ Wiele polece� zmieniaj�cych tekst jest z�o�onych z operatora i ruchu.
+ Format dla polecenia usuwaj�cego z operatorem d jest nast�puj�cy:
d ruch
- Gdzie:
+ gdzie:
d - operator usuwania.
ruch - na czym polecenie b�dzie wykonywane (lista poni�ej).
@@ -252,7 +252,7 @@
W ten spos�b wpisanie de usunie znaki od kursora do ko�ca wyrazu.
UWAGA: Wpisanie tylko ruchu w trybie Normal bez operatora przeniesie kursor
- tak jak to okre�lono.
+ tak, jak to okre�lono.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 2.4.: U�YCIE MNO�NIKA DLA RUCHU
@@ -266,32 +266,32 @@
3. Wpisz 3e aby przenie�� kursor do ko�ca trzeciego wyrazu w prz�d.
- 4. Wpisz 0 (zero) aby przenie�� kursor do pocz�tku linii.
+ 4. Wpisz 0 (zero), aby przenie�� kursor na pocz�tek linii.
5. Powt�rz kroki 2. i 3. z innymi liczbami.
- ---> To jest zwyk�y wiersz z wyrazami po kt�rych mo�esz si� porusza�.
+ ---> To jest zwyk�y wiersz z wyrazami, po kt�rych mo�esz si� porusza�.
6. Przejd� do lekcji 2.5.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Lekcja 2.5.: U�YCIE MNO�NIKA BY WI�CEJ USUN��
+ Lekcja 2.5.: U�YCIE MNO�NIKA, BY WI�CEJ USUN��
** Wpisanie liczby z operatorem powtarza go odpowiedni� ilo�� razy. **
W wy�ej wspomnianej kombinacji operatora usuwania i ruchu podaj mno�nik
- przed ruchem by wi�cej usun��:
+ przed ruchem, by wi�cej usun��:
d liczba ruch
1. Przenie� kursor do pierwszego wyrazu KAPITALIKAMI w linii zaznaczonej --->.
2. Wpisz 2dw aby usun�� dwa wyrazy KAPITALIKAMI.
- 3. Powtarzaj kroki 1. i 2. z innymi mno�nikami aby usun�� kolejne wyrazy
+ 3. Powtarzaj kroki 1. i 2. z innymi mno�nikami, aby usun�� kolejne wyrazy
KAPITALIKAMI jednym poleceniem
---> ta ASD WE linia QWE ASDF ZXCV FG wyraz�w zosta�a ERT FGH CF oczyszczona.
@@ -312,7 +312,7 @@
1. Przenie� kursor do drugiego zdania z wierszyka poni�ej.
2. Wpisz dd aby usun�� wiersz.
3. Teraz przenie� si� do czwartego wiersza.
- 4. Wpisz 2dd aby usun�c dwa wiersze.
+ 4. Wpisz 2dd aby usun�� dwa wiersze.
---> 1) R�e s� czerwone,
---> 2) B�oto jest fajne,
@@ -335,12 +335,12 @@
2. Wpisz x aby usun�� pierwszy niechciany znak.
3. Teraz wci�nij u aby cofn�� skutki ostatniego polecenia.
4. Tym razem popraw wszystkie b��dy w linii u�ywaj�c polecenia x .
- 5. Teraz wci�nij wielkie U aby przywr�ci� lini� do oryginalnego stanu.
- 6. Teraz wci�nij u kilka razy by cofn�� U i poprzednie polecenia.
+ 5. Teraz wci�nij wielkie U aby przywr�ci� lini� do oryginalnego stanu.
+ 6. Teraz wci�nij u kilka razy, by cofn�� U i poprzednie polecenia.
7. Teraz wpisz CTRL-R (trzymaj r�wnocze�nie wci�ni�te klawisze CTRL i R)
kilka razy, by cofn�� cofni�cia.
----> Poopraw bl�dyyy w teej liniii i zaamiie� je prrzez coofnij.
+---> Poopraw b��dyyy w teej liniii i zaamiie� je prrzez coofnij.
8. To s� bardzo po�yteczne polecenia.
@@ -350,22 +350,22 @@
LEKCJA 2. PODSUMOWANIE
- 1. By usun�� znaki od kursora do nast�pnego wyrazu wpisz: dw
- 2. By usun�� znaki od kursora do ko�ca linii wpisz: d$
+ 1. By usun�� znaki od kursora do nast�pnego wyrazu, wpisz: dw
+ 2. By usun�� znaki od kursora do ko�ca linii, wpisz: d$
3. By usun�� ca�� lini�: dd
- 4. By powt�rzy� ruch poprzed� go liczb�: 2w
+ 4. By powt�rzy� ruch, poprzed� go liczb�: 2w
5. Format polecenia zmiany to:
operator [liczba] ruch
gdzie:
- operator - to co trzeba zrobi� (np. d dla usuwania)
+ operator - to, co trzeba zrobi� (np. d dla usuwania)
[liczba] - opcjonalne, ile razy powt�rzy� ruch
ruch - przenosi nad tekstem do operowania, takim jak w (wyraz),
- $ (do ko�ca linii), etc.
+ $ (do ko�ca linii) etc.
- 6. By przej�� do pocz�tku linii u�yj zera: 0
- 7. By cofn�� poprzednie polecenie, wpisz: u (ma�e u)
- By cofn�� wszystkie zmiany w linii wpisz: U (wielkie U)
- By cofn�� cofni�cia wpisz: CTRL-R
+ 6. By przej�� do pocz�tku linii, u�yj zera: 0
+ 7. By cofn�� poprzednie polecenie, wpisz: u (ma�e u)
+ By cofn�� wszystkie zmiany w linii, wpisz: U (wielkie U)
+ By cofn�� cofni�cie, wpisz: CTRL-R
@@ -379,7 +379,7 @@
2. Wpisz dd aby usun�� lini� i przechowa� j� w rejestrze Vima.
- 3. Przenie� kursor do linii c), POWY�EJ tej gdzie usuni�ta linia powinna
+ 3. Przenie� kursor do linii c), POWY�EJ tej, gdzie usuni�ta linia powinna
si� znajdowa�.
4. Wci�nij p by wstawi� lini� poni�ej kursora.
@@ -404,21 +404,21 @@
3. Wpisz r a potem znak jaki powinien go zast�pi�.
- 4. Powtarzaj kroki 2. i 3. dop�ki pierwsza linia nie b�dzie taka jak druga.
+ 4. Powtarzaj kroki 2. i 3. dop�ki pierwsza linia nie b�dzie taka, jak druga.
----> Kjedy ten wiersz bi� wst�kiwany kto� wcizn�� per� z�ych klawirzy!
----> Kiedy ten wiersz by� wstukiwany kto� wcisn�� par� z�ych klawiszy!
+---> Kjedy ten wiersz bi� wst�kiwany, kto� wcizn�� per� z�ych klawirzy!
+---> Kiedy ten wiersz by� wstukiwany, kto� wcisn�� par� z�ych klawiszy!
5. Teraz czas na Lekcj� 3.3.
-UWAGA: Pami�taj by uczy� si� �wicz�c, a nie pami�ciowo.
+UWAGA: Pami�taj, by uczy� si� �wicz�c, a nie pami�ciowo.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 3.3.: OPERATOR CHANGE (zmie�)
- ** By zmieni� do ko�ca wyrazu wpisz ce . **
+ ** By zmieni� do ko�ca wyrazu, wpisz ce . **
1. Przenie� kursor do pierwszej linii poni�ej oznaczonej --->.
@@ -428,7 +428,7 @@
4. Wci�nij <ESC> i przejd� do nast�pnej planowanej zmiany.
- 5. Powtarzaj kroki 3. i 4. dop�ki pierwsze zdanie nie b�dzie takie same
+ 5. Powtarzaj kroki 3. i 4. dop�ki pierwsze zdanie nie b�dzie takie same,
jak drugie.
---> Ta lunos ma pire s��w, kt�re t�ina zbnic u�ifajonc pcmazu zmie�.
@@ -442,13 +442,13 @@
Lekcja 3.4.: WI�CEJ ZMIAN U�YWAJ�C c
- ** Polecenie change u�ywa takich samych ruch�w jak delete. **
+ ** Polecenie change u�ywa takich samych ruch�w, jak delete. **
- 1. Operator change dzia�a tak samo jak delete. Format wygl�da tak:
+ 1. Operator change dzia�a tak samo, jak delete. Format wygl�da tak:
c [liczba] ruch
- 2. Ruchy s� tak�e takie same, np.: w (wyraz), $ (koniec linii), etc.
+ 2. Ruchy s� tak�e takie same, np.: w (wyraz), $ (koniec linii) etc.
3. Przenie� si� do pierwszej linii poni�ej oznaczonej --->
@@ -456,7 +456,7 @@
5. Wpisz c$ , popraw koniec wiersza i wci�nij <ESC>.
----> Koniec tego wiersza musi by� poprawiony aby wygl�da� tak jak drugi.
+---> Koniec tego wiersza musi by� poprawiony, aby wygl�da� tak, jak drugi.
---> Koniec tego wiersza musi by� poprawiony u�ywaj�c polecenia c$ .
UWAGA: Mo�esz u�ywa� <BS> aby poprawia� b��dy w czasie pisania.
@@ -469,11 +469,11 @@
polecenie wstawia skasowany tekst PO kursorze (je�li ca�a linia
zosta�a usuni�ta, zostanie ona umieszczona w linii poni�ej kursora).
- 2. By zamieni� znak pod kursorem wci�nij r a potem znak, kt�ry ma zast�pi�
+ 2. By zamieni� znak pod kursorem, wci�nij r a potem znak, kt�ry ma zast�pi�
oryginalny.
- 3. Operator change pozwala Ci na zast�pienie od kursora do miejsca gdzie
- zabra�by ci� ruch. Np. wpisz ce aby zamieni� tekst od kursora do ko�ca
+ 3. Operator change pozwala Ci na zast�pienie od kursora do miejsca, gdzie
+ zabra�by Ci� ruch. Np. wpisz ce aby zamieni� tekst od kursora do ko�ca
wyrazu, c$ aby zmieni� tekst do ko�ca linii.
4. Format do polecenia change (zmie�):
@@ -497,12 +497,12 @@
Zapami�taj numer linii dla potrzeb kroku 3.
UWAGA: Mo�esz te� zobaczy� pozycj� kursora w prawym, dolnym rogu ekranu.
- Dzieje si� tak kiedy ustawiona jest opcja 'ruler' (wyja�nione w lekcji 6.).
+ Dzieje si� tak kiedy ustawiona jest opcja 'ruler' (wi�cej w lekcji 6.).
2. Wci�nij G aby przej�� na koniec pliku.
Wci�nij gg aby przej�� do pocz�tku pliku.
- 3. Wpisz numer linii, w kt�rej by�e� a potem G . To przeniesie ci�
+ 3. Wpisz numer linii, w kt�rej by�e� a potem G . To przeniesie Ci�
z powrotem do linii, w kt�rej by�e� kiedy wcisn��e� CTRL-G.
4. Je�li czujesz si� wystarczaj�co pewnie, wykonaj kroki 1-3.
@@ -511,10 +511,10 @@
Lekcja 4.2.: POLECENIE SZUKAJ
- ** Wpisz / a nast�pnie wyra�enie aby je znale��. **
+ ** Wpisz / a nast�pnie wyra�enie, aby je znale��. **
- 1. W trybie Normal wpisz / . Zauwa�, �e znak ten, oraz kursor pojawi�
- si� na dole ekranu tak samo jak polecenie : .
+ 1. W trybie Normal wpisz / . Zauwa�, �e znak ten oraz kursor pojawi�
+ si� na dole ekranu tak samo, jak polecenie : .
2. Teraz wpisz b�ond<ENTER> . To jest s�owo, kt�rego chcesz szuka�.
@@ -523,11 +523,11 @@
4. Je�li chcesz szuka� frazy do ty�u, u�yj polecenia ? zamiast / .
- 5. Aby wr�ci� gdzie by�e� wci�nij CTRL-O. Powtarzaj by wr�ci� dalej. CTRL-I
+ 5. Aby wr�ci� gdzie by�e�, wci�nij CTRL-O. Powtarzaj, by wr�ci� dalej. CTRL-I
idzie do przodu.
-Uwaga: 'b�ond' to nie jest metoda by przeliterowa� b��d; 'b�ond' to b��d.
-Uwaga: Kiedy szukanie osi�gnie koniec pliku b�dzie kontynuowa�o od pocz�tku
+Uwaga: 'b�ond' to nie jest metoda, by przeliterowa� b��d; 'b�ond' to b��d.
+Uwaga: Kiedy szukanie osi�gnie koniec pliku, b�dzie kontynuowane od pocz�tku
o ile opcja 'wrapscan' nie zosta�a przestawiona.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -571,16 +571,16 @@
4. Aby zmieni� wszystkie wyst�pienia �a�cucha znak�w pomi�dzy dwoma liniami,
wpisz: :#,#s/stare/nowe/g gdzie #,# s� numerami linii ograniczaj�cych
- region gdzie ma nast�pi� zamiana.
+ region, gdzie ma nast�pi� zamiana.
wpisz :%s/stare/nowe/g by zmieni� wszystkie wyst�pienia w ca�ym pliku.
wpisz :%s/stare/nowe/gc by zmieni� wszystkie wyst�pienia w ca�ym
- pliku, prosz�c o potwierdzenie za ka�dym razem
+ pliku, prosz�c o potwierdzenie za ka�dym razem.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LEKCJA 4. PODSUMOWANIE
1. CTRL-G poka�e Twoj� pozycj� w pliku i status pliku. SHIFT-G przenosi
- ci� do ko�ca pliku.
+ Ci� do ko�ca pliku.
G przenosi do ko�ca pliku.
liczba G przenosi do linii [liczba].
gg przenosi do pierwszej linii.
@@ -588,22 +588,22 @@
2. Wpisanie / a nast�pnie �a�cucha znak�w szuka �a�cucha DO PRZODU.
Wpisanie ? a nast�pnie �a�cucha znak�w szuka �a�cucha DO TY�U.
Po wyszukiwaniu wci�nij n by znale�� nast�pne wyst�pienie szukanej
- frazy tym samym kierunku lub N by szuka� w kierunku przeciwnym.
+ frazy w tym samym kierunku lub N by szuka� w kierunku przeciwnym.
CTRL-O przenosi do starszych pozycji, CTRL-I do nowszych.
3. Wpisanie % gdy kursor znajduje si� na (,),[,],{, lub } lokalizuje
paruj�cy znak.
- 4. By zamieni� pierwszy stary na nowy w linii wpisz :s/stary/nowy
- By zamieni� wszystkie stary na nowy w linii wpisz :s/stary/nowy/g
+ 4. By zamieni� pierwszy stary na nowy w linii, wpisz :s/stary/nowy
+ By zamieni� wszystkie stary na nowy w linii, wpisz :s/stary/nowy/g
By zamieni� frazy pomi�dzy dwoma liniami # wpisz :#,#s/stary/nowy/g
- By zamieni� wszystkie wyst�pienia w pliku wpisz :%s/stary/nowy/g
- By Vim prosi� Ci� o potwierdzenie dodaj 'c' :%s/stary/nowy/gc
+ By zamieni� wszystkie wyst�pienia w pliku, wpisz :%s/stary/nowy/g
+ By Vim prosi� Ci� o potwierdzenie, dodaj 'c' :%s/stary/nowy/gc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Lekcja 5.1.: JAK WYKONA� POLECENIA ZEWN�TRZNE
+ Lekcja 5.1.: JAK WYKONA� POLECENIA ZEWN�TRZNE?
- ** Wpisz :! a nast�pnie zewn�trzne polecenie by je wykona�. **
+ ** Wpisz :! a nast�pnie zewn�trzne polecenie, by je wykona�. **
1. Wpisz znajome polecenie : by ustawi� kursor na dole ekranu. To pozwala
na wprowadzenie komendy linii polece�.
@@ -626,20 +626,20 @@
Lekcja 5.2.: WI�CEJ O ZAPISYWANIU PLIK�W
- ** By zachowa� zmiany w tek�ci wpisz :w NAZWA_PLIKU . **
+ ** By zachowa� zmiany w tek�cie, wpisz :w NAZWA_PLIKU . **
1. Wpisz :!dir lub :!ls by zobaczy� spis plik�w w katalogu.
- Ju� wiesz, �e musisz wcisn�� <ENTER> po tym.
+ Ju� wiesz, �e musisz po tym wcisn�� <ENTER>.
- 2. Wybierz nazw� pliku jaka jeszcze nie istnieje, np. TEST.
+ 2. Wybierz nazw� pliku, jaka jeszcze nie istnieje, np. TEST.
3. Teraz wpisz: :w TEST (gdzie TEST jest nazw� pliku jak� wybra�e�.)
4. To polecenie zapami�ta ca�y plik (Vim Tutor) pod nazw� TEST.
- By to sprawdzi� wpisz :!dir lub :!ls , �eby znowu zobaczy� list� plik�w.
+ By to sprawdzi�, wpisz :!dir lub :!ls �eby znowu zobaczy� list� plik�w.
Uwaga: Zauwa�, �e gdyby� teraz wyszed� z Vima, a nast�pnie wszed� ponownie
- poleceniem vim TEST , plik by�by dok�adn� kopi� tutoriala kiedy go
+ poleceniem vim TEST , plik by�by dok�adn� kopi� tutoriala, kiedy go
zapisywa�e�.
5. Teraz usu� plik wpisuj�c (MS-DOS): :!del TEST
@@ -649,7 +649,7 @@
Lekcja 5.3.: WYBRANIE TEKSTU DO ZAPISU
- ** By zachowa� cz�� pliku wpisz v ruch :w NAZWA_PLIKU **
+ ** By zachowa� cz�� pliku, wpisz v ruch :w NAZWA_PLIKU **
1. Przenie� kursor do tego wiersza.
@@ -664,26 +664,26 @@
5. Vim zapisze wybrane linie do pliku TEST. U�yj :!dir lub :!ls , �eby to
zobaczy�. Jeszcze go nie usuwaj! U�yjemy go w nast�pnej lekcji.
-UWAGA: Wci�ni�cie v zaczyna tryb Wizualny. Mo�esz porusza� kursorem by
- zmieni� rozmiary zaznaczenia. Mo�esz te� u�y� operatora by zrobi� co�
+UWAGA: Wci�ni�cie v zaczyna tryb Wizualny. Mo�esz porusza� kursorem, by
+ zmieni� rozmiary zaznaczenia. Mo�esz te� u�y� operatora, by zrobi� co�
z tekstem. Na przyk�ad d usuwa tekst.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 5.4.: WSTAWIANIE I ��CZENIE PLIK�W
- ** By wstawi� zawarto�� pliku wpisz :r NAZWA_PLIKU **
+ ** By wstawi� zawarto�� pliku, wpisz :r NAZWA_PLIKU **
1. Umie�� kursor tu� powy�ej tej linii.
UWAGA: Po wykonaniu kroku 2. zobaczysz tekst z Lekcji 5.3. Potem przejd�
- do DO�U by zobaczy� ponownie t� lekcj�.
+ do DO�U, by zobaczy� ponownie t� lekcj�.
2. Teraz wczytaj plik TEST u�ywaj�c polecenia :r TEST , gdzie TEST
jest nazw� pliku.
Wczytany plik jest umieszczony poni�ej linii z kursorem.
- 3. By sprawdzi� czy plik zosta� wczytany cofnij kursor i zobacz, �e
+ 3. By sprawdzi� czy plik zosta� wczytany, cofnij kursor i zobacz, �e
teraz s� dwie kopie Lekcji 5.3., orygina� i kopia z pliku.
UWAGA: Mo�esz te� wczyta� wyj�cie zewn�trznego polecenia. Na przyk�ad
@@ -723,14 +723,14 @@
1. Przenie� kursor do linii poni�ej oznaczonej --->.
- 2. Wpisz o (ma�e) by otworzy� lini� PONI�EJ kursora i przenie�� si�
+ 2. Wpisz o (ma�e), by otworzy� lini� PONI�EJ kursora i przenie�� si�
do trybu Insert (wprowadzanie).
3. Wpisz troch� tekstu i wci�nij <ESC> by wyj�� z trybu Insert (wprowadzanie).
---> Po wci�ni�ciu o kursor znajdzie si� w otwartej linii w trybie Insert.
- 4. By otworzy� lini� POWY�EJ kursora wci�nij wielkie O zamiast ma�ego
+ 4. By otworzy� lini� POWY�EJ kursora, wci�nij wielkie O zamiast ma�ego
o . Wypr�buj to na linii poni�ej.
---> Otw�rz lini� powy�ej wciskaj�c SHIFT-O gdy kursor b�dzie na tej linii.
@@ -747,9 +747,9 @@
2. Wciskaj e dop�ki kursor nie b�dzie na ko�cu li .
- 3. Wpisz a (ma�e) aby doda� tekst ZA znakiem pod kursorem.
+ 3. Wpisz a (ma�e), aby doda� tekst ZA znakiem pod kursorem.
- 4. Doko�cz wyraz tak jak w linii poni�ej. Wci�nij <ESC> aby opu�ci� tryb
+ 4. Doko�cz wyraz tak, jak w linii poni�ej. Wci�nij <ESC> aby opu�ci� tryb
Insert.
5. U�yj e by przej�� do kolejnego niedoko�czonego wyrazu i powtarzaj kroki
@@ -758,7 +758,7 @@
---> Ta li poz Ci �wi dodaw teks do ko� lin
---> Ta linia pozwoli Ci �wiczy� dodawanie tekstu do ko�ca linii.
-Uwaga: a , i oraz A prowadz� do trybu Insert, jedyn� r�nic� jest miejsce
+Uwaga: a , i oraz A prowadz� do trybu Insert, jedyn� r�nic� jest miejsce,
gdzie nowe znaki b�d� dodawane.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 6.3.: INNA WERSJA REPLACE (zamiana)
@@ -791,16 +791,16 @@
1. Przejd� do linii oznaczonej ---> i umie�� kursor za "a)".
- 2. Wejd� w tryb Visual v i przenie� kursor na pocz�tek "pierwszy".
+ 2. Wejd� w tryb Wizualny v i przenie� kursor na pocz�tek "pierwszy".
- 3. Wci�nij y aby yankowa� (kopiowa�) pod�wietlony tekst.
+ 3. Wci�nij y aby kopiowa� (yankowa�) pod�wietlony tekst.
4. Przenie� kursor do ko�ca nast�pnej linii: j$
- 5. Wci�nij p aby wpakowa� (paste) tekst. Dodaj: a drugi<ESC> .
+ 5. Wci�nij p aby wklei� (wpakowa�) tekst. Dodaj: a drugi<ESC> .
- 6. U�yj trybu Wizualnego aby wybra� " element.", yankuj go y , przejd� do
- ko�ca nast�pnej linii j$ i upakuj tam tekst z p .
+ 6. U�yj trybu Wizualnego, aby wybra� " element.", yankuj go y , przejd� do
+ ko�ca nast�pnej linii j$ i upakuj tam tekst z p .
---> a) to jest pierwszy element.
b)
@@ -810,7 +810,7 @@
Lekcja 6.5.: USTAWIANIE OPCJI
-** Ustawianie opcji tak by szukaj lub substytucja ignorowa�y wielko�� liter **
+** Ustawianie opcji tak, by szukaj lub substytucja ignorowa�y wielko�� liter **
1. Szukaj 'ignore' wpisuj�c: /ignore<ENTER>
Powt�rz szukanie kilka razy naciskaj�c klawisz n .
@@ -828,7 +828,7 @@
6. Aby wy��czy� ignorowanie wielko�ci liter: :set noic
-Uwaga: Aby usun�� pod�wietlanie dopasowa� wpisz: :nohlsearch
+Uwaga: Aby usun�� pod�wietlanie dopasowa�, wpisz: :nohlsearch
Uwaga: Aby ignorowa� wielko�� liter dla jednego wyszukiwania: /ignore\c<ENTER>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LEKCJA 6. PODSUMOWANIE
@@ -837,36 +837,36 @@
1. Wpisanie o otwiera lini� PONI�EJ kursora.
Wpisanie O otwiera lini� POWY�EJ kursora.
- 2. Wpisanie a by wstawi� tekst ZA znakiem na, kt�rym jest kursor.
+ 2. Wpisanie a wstawia tekst ZA znakiem, na kt�rym jest kursor.
Wpisanie A dodaje tekst na ko�cu linii.
3. Polecenie e przenosi do ko�ca wyrazu.
- 4. Operator y yankuje (kopiuje) tekst, p pakuje (wkleja, paste) go.
+ 4. Operator y yankuje (kopiuje) tekst, p pakuje (wkleja) go.
5. Wpisanie wielkiego R wprowadza w tryb Replace (zamiana) dop�ki
nie zostanie wci�ni�ty <ESC>.
- 6. Wpisanie ":set xxx" ustawia opcj� "xxx". Nietk�re opcje:
+ 6. Wpisanie ":set xxx" ustawia opcj� "xxx". Niekt�re opcje:
'ic' 'ignorecase' ignoruj wielko�� znak�w
'is' 'incsearch' poka� cz�ciowe dopasowania
'hls' 'hlsearch' pod�wietl wszystkie dopasowania
- Mo�esz u�y� zar�wno d�ugiej jak i kr�tkiej formy.
- 7. Dodaj "no" aby wy��czy� opcj�: :set noic
+ Mo�esz u�y� zar�wno d�ugiej, jak i kr�tkiej formy.
+ 7. Dodaj "no", aby wy��czy� opcj�: :set noic
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- LEKCJA 7.1. JAK UZYSKA� POMOC
+ LEKCJA 7.1. JAK UZYSKA� POMOC?
** U�ycie systemu pomocy on-line **
- Vim posiada bardzo dobry system pomocy on-line. By zacz�� spr�buj jednej
+ Vim posiada bardzo dobry system pomocy on-line. By zacz��, spr�buj jednej
z trzech mo�liwo�ci:
- wci�nij klawisz <HELP> (je�li taki masz)
- wci�nij klawisz <F1> (je�li taki masz)
- wpisz :help<ENTER>
- Przeczytaj tekst w oknie pomocy aby dowiedzie� si� jak dzia�a pomoc.
+ Przeczytaj tekst w oknie pomocy, aby dowiedzie� si� jak dzia�a pomoc.
wpisz CTRL-W CTRL-W aby przeskoczy� z jednego okna do innego
wpisz :q<ENTER> aby zamkn�� okno pomocy.
@@ -894,10 +894,10 @@
3. Zapisz plik:
:w
- Nast�pnym razem gdy zaczniesz prac� w Vimie b�dzie on u�ywa� pod�wietlania
+ Nast�pnym razem, gdy zaczniesz prac� w Vimie b�dzie on u�ywa� pod�wietlania
sk�adni. Mo�esz doda� wszystkie swoje ulubione ustawienia do tego pliku
"vimrc".
- Aby uzyska� wi�cej informacji wpisz :help vimrc-intro
+ Aby uzyska� wi�cej informacji, wpisz :help vimrc-intro
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 7.3.: UZUPE�NIANIE
@@ -907,11 +907,11 @@
1. Upewnij si�, �e Vim nie jest w trybie kompatybilno�ci: :set nocp
- 2. Zerknij jakie pliki s� w bie��cm katalogu: :!ls lub :!dir
+ 2. Zerknij, jakie pliki s� w bie��cym katalogu: :!ls lub :!dir
3. Wpisz pocz�tek polecenia: :e
- 4. Wci�nij CTRL-D i Vim poka�e list� polece� jakie zaczynaj� si� na "e".
+ 4. Wci�nij CTRL-D i Vim poka�e list� polece�, jakie zaczynaj� si� na "e".
5. Wci�nij <TAB> i Vim uzupe�ni polecenie do ":edit".
@@ -925,7 +925,7 @@
Lekcja 7. PODSUMOWANIE
- 1. Wpisz :help lub wci�nij <F1> lub <Help> aby otworzy� okno pomocy.
+ 1. Wpisz :help albo wci�nij <F1> lub <Help> aby otworzy� okno pomocy.
2. Wpisz :help cmd aby uzyska� pomoc o cmd .
@@ -945,14 +945,14 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Tutaj si� ko�czy tutorial Vima. Zosta� on pomy�lany tak aby da� kr�tki
+ Tutaj si� ko�czy tutorial Vima. Zosta� on pomy�lany tak, aby da� kr�tki
przegl�d jego mo�liwo�ci, wystarczaj�cy by� m�g� go u�ywa�. Jest on
- daleki od kompletno�ci poniewa� Vim ma o wiele, wiele wi�cej polece�.
+ daleki od kompletno�ci, poniewa� Vim ma o wiele, wiele wi�cej polece�.
Dla dalszej nauki rekomendujemy ksi��k�:
Vim - Vi Improved - autor Steve Oualline
Wydawca: New Riders
- Pierwsza ksi�zka ca�kowicie po�wi�cona Vimowi. U�yteczna zw�aszcza dla
+ Pierwsza ksi��ka ca�kowicie po�wi�cona Vimowi. U�yteczna zw�aszcza dla
pocz�tkuj�cych. Zawiera wiele przyk�ad�w i ilustracji.
Zobacz http://iccf-holland.org./click5.html
@@ -960,7 +960,7 @@
polecenia:
Learning the Vi Editor - autor Linda Lamb
Wydawca: O'Reilly & Associates Inc.
- To dobra ksi��ka by dowiedzie� si� niemal wszystkiego co chcia�by� zrobi�
+ To dobra ksi��ka, by dowiedzie� si� niemal wszystkiego, co chcia�by� zrobi�
z Vi. Sz�sta edycja zawiera te� informacje o Vimie.
Po polsku wydano:
@@ -991,4 +991,5 @@
rev. Marzec 2002
2nd rev. Wrzesie� 2004
3rd rev. Marzec 2006
+ 4th rev. Grudzie� 2008
Wszelkie uwagi prosz� kierowa� na: [email protected]
diff -Nur runtime.patched/tutor/tutor.pl.cp1250 runtime/tutor/tutor.pl.cp1250
--- runtime.patched/tutor/tutor.pl.cp1250 2008-06-26 13:52:38.000000000 -0700
+++ runtime/tutor/tutor.pl.cp1250 2009-01-14 12:15:25.000000000 -0800
@@ -2,9 +2,9 @@
= W i t a j w t u t o r i a l u V I M - a - Wersja 1.7. =
===============================================================================
- Vim to pot�ny edytor, kt�ry posiada wiele polece�, zbyt du�o by
+ Vim to pot�ny edytor, kt�ry posiada wiele polece�, zbyt du�o, by
wyja�ni� je wszystkie w tym tutorialu. Ten przewodnik ma nauczy�
- Ci� pos�ugiwa� si� wystarczaj�co wieloma komendami by� m�g� �atwo
+ Ci� pos�ugiwa� si� wystarczaj�co wieloma komendami, by� m�g� �atwo
u�ywa� Vima jako edytora og�lnego przeznaczenia.
Czas potrzebny na uko�czenie tutoriala to 25 do 30 minut i zale�y
@@ -13,14 +13,14 @@
UWAGA:
Polecenia wykonywane w czasie lekcji zmodyfikuj� tekst. Zr�b
wcze�niej kopi� tego pliku do �wicze� (je�li zacz��e� komend�
- "vimtutor" to ju� pracujesz na kopii).
+ "vimtutor", to ju� pracujesz na kopii).
- Pami�taj �e przewodnik ten zosta� zaprojektowany do nauki poprzez
- �wiczenia. Oznacza to, �e musisz wykonywa� polecenia by nauczy� si� ich
- prawid�owo. Je�li b�dziesz jedynie czyta� tekst szybko zapomnisz wiele
+ Pami�taj, �e przewodnik ten zosta� zaprojektowany do nauki poprzez
+ �wiczenia. Oznacza to, �e musisz wykonywa� polecenia, by nauczy� si� ich
+ prawid�owo. Je�li b�dziesz jedynie czyta� tekst, szybko zapomnisz wiele
polece�!
- Teraz upewnij si�, �e nie masz wci�ni�tego CapsLocka i wciskaj j
+ Teraz upewnij si�, �e nie masz wci�ni�tego Caps Locka i wciskaj j
tak d�ugo dop�ki Lekcja 1.1. nie wype�ni ca�kowicie ekranu.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -40,28 +40,28 @@
3. U�ywaj�c strza�ki w d� przejd� do nast�pnej lekcji.
-Uwaga: Je�li nie jeste� pewien czego� co wpisa�e�, wci�nij <ESC> by wr�ci� do
+Uwaga: Je�li nie jeste� pewien czego� co wpisa�e�, wci�nij <ESC>, by wr�ci� do
trybu Normal. Wtedy powt�rz polecenie.
Uwaga: Klawisze kursora tak�e powinny dzia�a�, ale u�ywaj�c hjkl b�dziesz
- w stanie porusza� si� o wiele szybciej jak si� tylko przyzwyczaisz.
+ w stanie porusza� si� o wiele szybciej, jak si� tylko przyzwyczaisz.
Naprawd�!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 1.2.: WYCHODZENIE Z VIM-a
- !! UWAGA: Przed wykonaniem jakiegokolwiek polecenia przeczytaj ca�� lekcj�.!!
+ !! UWAGA: Przed wykonaniem jakiegokolwiek polecenia przeczytaj ca�� lekcj� !!
1. Wci�nij <ESC> (aby upewni� si�, �e jeste� w trybie Normal).
2. Wpisz: :q!<ENTER>.
- To spowoduje wyj�cie z edytora PORZUCAJ�C wszelkie zmiany jakie
- zd��y�e� zrobi�. Je�li chcesz zapami�ta� zmiany i wyj��
+ To spowoduje wyj�cie z edytora PORZUCAJ�C wszelkie zmiany, jakie
+ zd��y�e� zrobi�. Je�li chcesz zapami�ta� zmiany i wyj��,
wpisz: :wq<ENTER>
3. Kiedy widzisz znak zach�ty pow�oki wpisz komend�, �eby wr�ci�
do tutoriala. Czyli: vimtutor<ENTER>
- 4. Je�li chcesz zapami�ta� polecenia, wykonaj kroki 1. do 3. aby
+ 4. Je�li chcesz zapami�ta� polecenia, wykonaj kroki 1. do 3., aby
wyj�� i wr�ci� do edytora.
UWAGA: :q!<ENTER> porzuca wszelkie zmiany jakie zrobi�e�. W nast�pnych
@@ -85,7 +85,7 @@
---> Kkrowa prrzeskoczy�a prrzez ksii�ycc.
- 5. Teraz kiedy zdanie jest poprawione przejd� do Lekcji 1.4.
+ 5. Teraz, kiedy zdanie jest poprawione, przejd� do Lekcji 1.4.
UWAGA: Ucz si� przez �wiczenie, nie wkuwanie.
@@ -101,18 +101,18 @@
1. Przenie� kursor do pierwszej linii poni�ej oznaczonej --->.
- 2. Aby poprawi� pierwszy wiersz, ustaw kursor na pierwszym znaku PO tym
+ 2. Aby poprawi� pierwszy wiersz, ustaw kursor na pierwszym znaku PO tym,
gdzie tekst ma by� wstawiony.
3. Wci�nij i a nast�pnie wpisz konieczne poprawki.
- 4. Po poprawieniu b��du wci�nij <ESC> by wr�ci� do trybu Normal.
- Powtarzaj kroki 2. do 4. aby poprawi� ca�e zdanie.
+ 4. Po poprawieniu b��du wci�nij <ESC>, by wr�ci� do trybu Normal.
+ Powtarzaj kroki 2. do 4., aby poprawi� ca�e zdanie.
---> W tej brkje troch� .
---> W tej linii brakuje troch� tekstu.
- 5. Kiedy czujesz si� swobodnie wstawiaj�c tekst przejd� do
+ 5. Kiedy czujesz si� swobodnie wstawiaj�c tekst, przejd� do
podsumowania poni�ej.
@@ -129,7 +129,7 @@
3. Kiedy tekst zosta� dodany, wci�nij <ESC> i wr�� do trybu Normalnego.
- 4. Przenie� kursor do drugiej linii oznaczonej ---> i powt�rz kroki 2 i 3
+ 4. Przenie� kursor do drugiej linii oznaczonej ---> i powt�rz kroki 2. i 3.,
aby poprawi� zdanie.
---> Brakuje tu tro
@@ -137,27 +137,27 @@
---> Tu te� troch� bra
Tu te� troch� brakuje.
- 5. Kiedy ju� utrwali�e� �wiczenie przejd� do lekcji 1.6.
+ 5. Kiedy ju� utrwali�e� �wiczenie, przejd� do lekcji 1.6.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 1.6.: EDYCJA PLIKU
** U�yj :wq aby zapisa� plik i wyj��. **
- !! UWAGA: zanim wykonasz jakiekolwiek polecenia przeczyaj ca�� lekcj� !!
+ !! UWAGA: zanim wykonasz jakiekolwiek polecenia przeczytaj ca�� lekcj� !!
1. Zako�cz tutorial tak jak w lekcji 1.2.: :q!
- Lub je�li masz dost�p do innego terminala zr�b kolejne kroki tam.
+ lub, je�li masz dost�p do innego terminala, wykonaj kolejne kroki tam.
2. W pow�oce wydaj polecenie: vim tutor<ENTER>
- "vim" jest poleceniem uruchamiaj�cym edytor Vim. 'tutor' to nazwa pliku
- jaki chcesz edytowa�. U�yj pliku jaki mo�e zosta� zmieniony.
+ "vim" jest poleceniem uruchamiaj�cym edytor Vim. 'tutor' to nazwa pliku,
+ jaki chcesz edytowa�. U�yj pliku, kt�ry mo�e zosta� zmieniony.
- 3. Dodaj i usu� tekst tak jak si� nauczy�e� w poprzednich lekcjach.
+ 3. Dodaj i usu� tekst tak, jak si� nauczy�e� w poprzednich lekcjach.
4. Zapisz plik ze zmianami i opu�� Vima: :wq<ENTER>
- 5. Je�li zako�czy�e� vimtutor w kroku 1. uruchom go ponownie i przejd�
+ 5. Je�li zako�czy�e� vimtutor w kroku 1., uruchom go ponownie i przejd�
do podsumowania poni�ej.
6. Po przeczytaniu wszystkich krok�w i ich zrozumieniu: wykonaj je.
@@ -168,14 +168,14 @@
1. Poruszasz kursorem u�ywaj�c "strza�ek" i klawiszy hjkl .
h (w lewo) j (w d�) k (do g�ry) l (w prawo)
- 2. By wej�� do Vima (z pow�oki) wpisz:
+ 2. By wej�� do Vima, (z pow�oki) wpisz:
vim NAZWA_PLIKU<ENTER>
- 3. By wyj�� z Vima wpisz:
- <ESC> :q!<ENTER> by usun�c wszystkie zmiany.
+ 3. By wyj�� z Vima, wpisz:
+ <ESC> :q!<ENTER> by usun�� wszystkie zmiany.
LUB: <ESC> :wq<ENTER> by zmiany zachowa�.
- 4. By usun�� znak pod kursorem wci�nij: x
+ 4. By usun�� znak pod kursorem, wci�nij: x
5. By wstawi� tekst przed kursorem lub doda�:
i wpisz tekst <ESC> wstawi przed kursorem
@@ -189,18 +189,18 @@
Lekcja 2.1.: POLECENIE DELETE (usuwanie)
- ** Wpisz dw by usun�c wyraz. **
+ ** Wpisz dw by usun�� wyraz. **
- 1. Wci�nij <ESC> by upewni� si�, �e jeste� w trybie Normal.
+ 1. Wci�nij <ESC>, by upewni� si�, �e jeste� w trybie Normal.
2. Przenie� kursor do linii poni�ej oznaczonej --->.
- 3. Przesu� kursor na pocz�tek wyrazu, kt�re chcesz usun��.
+ 3. Przesu� kursor na pocz�tek wyrazu, kt�ry chcesz usun��.
4. Wpisz dw by usun�� wyraz.
UWAGA: Litera d pojawi si� na dole ekranu. Vim czeka na wpisanie w .
- Je�li zobaczysz inny znak oznacza to, �e wpisa�e� co� �le, wci�nij
+ Je�li zobaczysz inny znak, oznacza to, �e wpisa�e� co� �le; wci�nij
<ESC> i zacznij od pocz�tku.
---> Jest tu par� papier wyraz�w, kt�re kamie� nie nale�� do no�yce tego zdania.
@@ -225,7 +225,7 @@
---> Kto� wpisa� koniec tego zdania dwukrotnie. zdania dwukrotnie.
- 5. Przejd� do Lekcji 2.3. by zrozumie� co si� sta�o.
+ 5. Przejd� do Lekcji 2.3., by zrozumie� co si� sta�o.
@@ -235,12 +235,12 @@
Lekcja 2.3.: O OPERATORACH I RUCHACH
- Wiele polece� zmieniaj�cych tekst s� z�o�one z operatora i ruchu.
- Format dla polecenia usuwaj�cego z operatorem d jest taki:
+ Wiele polece� zmieniaj�cych tekst jest z�o�onych z operatora i ruchu.
+ Format dla polecenia usuwaj�cego z operatorem d jest nast�puj�cy:
d ruch
- Gdzie:
+ gdzie:
d - operator usuwania.
ruch - na czym polecenie b�dzie wykonywane (lista poni�ej).
@@ -252,7 +252,7 @@
W ten spos�b wpisanie de usunie znaki od kursora do ko�ca wyrazu.
UWAGA: Wpisanie tylko ruchu w trybie Normal bez operatora przeniesie kursor
- tak jak to okre�lono.
+ tak, jak to okre�lono.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 2.4.: U�YCIE MNO�NIKA DLA RUCHU
@@ -266,32 +266,32 @@
3. Wpisz 3e aby przenie�� kursor do ko�ca trzeciego wyrazu w prz�d.
- 4. Wpisz 0 (zero) aby przenie�� kursor do pocz�tku linii.
+ 4. Wpisz 0 (zero), aby przenie�� kursor na pocz�tek linii.
5. Powt�rz kroki 2. i 3. z innymi liczbami.
- ---> To jest zwyk�y wiersz z wyrazami po kt�rych mo�esz si� porusza�.
+ ---> To jest zwyk�y wiersz z wyrazami, po kt�rych mo�esz si� porusza�.
6. Przejd� do lekcji 2.5.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Lekcja 2.5.: U�YCIE MNO�NIKA BY WI�CEJ USUN��
+ Lekcja 2.5.: U�YCIE MNO�NIKA, BY WI�CEJ USUN��
** Wpisanie liczby z operatorem powtarza go odpowiedni� ilo�� razy. **
W wy�ej wspomnianej kombinacji operatora usuwania i ruchu podaj mno�nik
- przed ruchem by wi�cej usun��:
+ przed ruchem, by wi�cej usun��:
d liczba ruch
1. Przenie� kursor do pierwszego wyrazu KAPITALIKAMI w linii zaznaczonej --->.
2. Wpisz 2dw aby usun�� dwa wyrazy KAPITALIKAMI.
- 3. Powtarzaj kroki 1. i 2. z innymi mno�nikami aby usun�� kolejne wyrazy
+ 3. Powtarzaj kroki 1. i 2. z innymi mno�nikami, aby usun�� kolejne wyrazy
KAPITALIKAMI jednym poleceniem
---> ta ASD WE linia QWE ASDF ZXCV FG wyraz�w zosta�a ERT FGH CF oczyszczona.
@@ -312,7 +312,7 @@
1. Przenie� kursor do drugiego zdania z wierszyka poni�ej.
2. Wpisz dd aby usun�� wiersz.
3. Teraz przenie� si� do czwartego wiersza.
- 4. Wpisz 2dd aby usun�c dwa wiersze.
+ 4. Wpisz 2dd aby usun�� dwa wiersze.
---> 1) R�e s� czerwone,
---> 2) B�oto jest fajne,
@@ -335,12 +335,12 @@
2. Wpisz x aby usun�� pierwszy niechciany znak.
3. Teraz wci�nij u aby cofn�� skutki ostatniego polecenia.
4. Tym razem popraw wszystkie b��dy w linii u�ywaj�c polecenia x .
- 5. Teraz wci�nij wielkie U aby przywr�ci� lini� do oryginalnego stanu.
- 6. Teraz wci�nij u kilka razy by cofn�� U i poprzednie polecenia.
+ 5. Teraz wci�nij wielkie U aby przywr�ci� lini� do oryginalnego stanu.
+ 6. Teraz wci�nij u kilka razy, by cofn�� U i poprzednie polecenia.
7. Teraz wpisz CTRL-R (trzymaj r�wnocze�nie wci�ni�te klawisze CTRL i R)
kilka razy, by cofn�� cofni�cia.
----> Poopraw bl�dyyy w teej liniii i zaamiie� je prrzez coofnij.
+---> Poopraw b��dyyy w teej liniii i zaamiie� je prrzez coofnij.
8. To s� bardzo po�yteczne polecenia.
@@ -350,22 +350,22 @@
LEKCJA 2. PODSUMOWANIE
- 1. By usun�� znaki od kursora do nast�pnego wyrazu wpisz: dw
- 2. By usun�� znaki od kursora do ko�ca linii wpisz: d$
+ 1. By usun�� znaki od kursora do nast�pnego wyrazu, wpisz: dw
+ 2. By usun�� znaki od kursora do ko�ca linii, wpisz: d$
3. By usun�� ca�� lini�: dd
- 4. By powt�rzy� ruch poprzed� go liczb�: 2w
+ 4. By powt�rzy� ruch, poprzed� go liczb�: 2w
5. Format polecenia zmiany to:
operator [liczba] ruch
gdzie:
- operator - to co trzeba zrobi� (np. d dla usuwania)
+ operator - to, co trzeba zrobi� (np. d dla usuwania)
[liczba] - opcjonalne, ile razy powt�rzy� ruch
ruch - przenosi nad tekstem do operowania, takim jak w (wyraz),
- $ (do ko�ca linii), etc.
+ $ (do ko�ca linii) etc.
- 6. By przej�� do pocz�tku linii u�yj zera: 0
- 7. By cofn�� poprzednie polecenie, wpisz: u (ma�e u)
- By cofn�� wszystkie zmiany w linii wpisz: U (wielkie U)
- By cofn�� cofni�cia wpisz: CTRL-R
+ 6. By przej�� do pocz�tku linii, u�yj zera: 0
+ 7. By cofn�� poprzednie polecenie, wpisz: u (ma�e u)
+ By cofn�� wszystkie zmiany w linii, wpisz: U (wielkie U)
+ By cofn�� cofni�cie, wpisz: CTRL-R
@@ -379,7 +379,7 @@
2. Wpisz dd aby usun�� lini� i przechowa� j� w rejestrze Vima.
- 3. Przenie� kursor do linii c), POWY�EJ tej gdzie usuni�ta linia powinna
+ 3. Przenie� kursor do linii c), POWY�EJ tej, gdzie usuni�ta linia powinna
si� znajdowa�.
4. Wci�nij p by wstawi� lini� poni�ej kursora.
@@ -404,21 +404,21 @@
3. Wpisz r a potem znak jaki powinien go zast�pi�.
- 4. Powtarzaj kroki 2. i 3. dop�ki pierwsza linia nie b�dzie taka jak druga.
+ 4. Powtarzaj kroki 2. i 3. dop�ki pierwsza linia nie b�dzie taka, jak druga.
----> Kjedy ten wiersz bi� wst�kiwany kto� wcizn�� per� z�ych klawirzy!
----> Kiedy ten wiersz by� wstukiwany kto� wcisn�� par� z�ych klawiszy!
+---> Kjedy ten wiersz bi� wst�kiwany, kto� wcizn�� per� z�ych klawirzy!
+---> Kiedy ten wiersz by� wstukiwany, kto� wcisn�� par� z�ych klawiszy!
5. Teraz czas na Lekcj� 3.3.
-UWAGA: Pami�taj by uczy� si� �wicz�c, a nie pami�ciowo.
+UWAGA: Pami�taj, by uczy� si� �wicz�c, a nie pami�ciowo.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 3.3.: OPERATOR CHANGE (zmie�)
- ** By zmieni� do ko�ca wyrazu wpisz ce . **
+ ** By zmieni� do ko�ca wyrazu, wpisz ce . **
1. Przenie� kursor do pierwszej linii poni�ej oznaczonej --->.
@@ -428,7 +428,7 @@
4. Wci�nij <ESC> i przejd� do nast�pnej planowanej zmiany.
- 5. Powtarzaj kroki 3. i 4. dop�ki pierwsze zdanie nie b�dzie takie same
+ 5. Powtarzaj kroki 3. i 4. dop�ki pierwsze zdanie nie b�dzie takie same,
jak drugie.
---> Ta lunos ma pire s��w, kt�re t�ina zbnic u�ifajonc pcmazu zmie�.
@@ -442,13 +442,13 @@
Lekcja 3.4.: WI�CEJ ZMIAN U�YWAJ�C c
- ** Polecenie change u�ywa takich samych ruch�w jak delete. **
+ ** Polecenie change u�ywa takich samych ruch�w, jak delete. **
- 1. Operator change dzia�a tak samo jak delete. Format wygl�da tak:
+ 1. Operator change dzia�a tak samo, jak delete. Format wygl�da tak:
c [liczba] ruch
- 2. Ruchy s� tak�e takie same, np.: w (wyraz), $ (koniec linii), etc.
+ 2. Ruchy s� tak�e takie same, np.: w (wyraz), $ (koniec linii) etc.
3. Przenie� si� do pierwszej linii poni�ej oznaczonej --->
@@ -456,7 +456,7 @@
5. Wpisz c$ , popraw koniec wiersza i wci�nij <ESC>.
----> Koniec tego wiersza musi by� poprawiony aby wygl�da� tak jak drugi.
+---> Koniec tego wiersza musi by� poprawiony, aby wygl�da� tak, jak drugi.
---> Koniec tego wiersza musi by� poprawiony u�ywaj�c polecenia c$ .
UWAGA: Mo�esz u�ywa� <BS> aby poprawia� b��dy w czasie pisania.
@@ -469,11 +469,11 @@
polecenie wstawia skasowany tekst PO kursorze (je�li ca�a linia
zosta�a usuni�ta, zostanie ona umieszczona w linii poni�ej kursora).
- 2. By zamieni� znak pod kursorem wci�nij r a potem znak, kt�ry ma zast�pi�
+ 2. By zamieni� znak pod kursorem, wci�nij r a potem znak, kt�ry ma zast�pi�
oryginalny.
- 3. Operator change pozwala Ci na zast�pienie od kursora do miejsca gdzie
- zabra�by ci� ruch. Np. wpisz ce aby zamieni� tekst od kursora do ko�ca
+ 3. Operator change pozwala Ci na zast�pienie od kursora do miejsca, gdzie
+ zabra�by Ci� ruch. Np. wpisz ce aby zamieni� tekst od kursora do ko�ca
wyrazu, c$ aby zmieni� tekst do ko�ca linii.
4. Format do polecenia change (zmie�):
@@ -497,12 +497,12 @@
Zapami�taj numer linii dla potrzeb kroku 3.
UWAGA: Mo�esz te� zobaczy� pozycj� kursora w prawym, dolnym rogu ekranu.
- Dzieje si� tak kiedy ustawiona jest opcja 'ruler' (wyja�nione w lekcji 6.).
+ Dzieje si� tak kiedy ustawiona jest opcja 'ruler' (wi�cej w lekcji 6.).
2. Wci�nij G aby przej�� na koniec pliku.
Wci�nij gg aby przej�� do pocz�tku pliku.
- 3. Wpisz numer linii, w kt�rej by�e� a potem G . To przeniesie ci�
+ 3. Wpisz numer linii, w kt�rej by�e� a potem G . To przeniesie Ci�
z powrotem do linii, w kt�rej by�e� kiedy wcisn��e� CTRL-G.
4. Je�li czujesz si� wystarczaj�co pewnie, wykonaj kroki 1-3.
@@ -511,10 +511,10 @@
Lekcja 4.2.: POLECENIE SZUKAJ
- ** Wpisz / a nast�pnie wyra�enie aby je znale��. **
+ ** Wpisz / a nast�pnie wyra�enie, aby je znale��. **
- 1. W trybie Normal wpisz / . Zauwa�, �e znak ten, oraz kursor pojawi�
- si� na dole ekranu tak samo jak polecenie : .
+ 1. W trybie Normal wpisz / . Zauwa�, �e znak ten oraz kursor pojawi�
+ si� na dole ekranu tak samo, jak polecenie : .
2. Teraz wpisz b�ond<ENTER> . To jest s�owo, kt�rego chcesz szuka�.
@@ -523,11 +523,11 @@
4. Je�li chcesz szuka� frazy do ty�u, u�yj polecenia ? zamiast / .
- 5. Aby wr�ci� gdzie by�e� wci�nij CTRL-O. Powtarzaj by wr�ci� dalej. CTRL-I
+ 5. Aby wr�ci� gdzie by�e�, wci�nij CTRL-O. Powtarzaj, by wr�ci� dalej. CTRL-I
idzie do przodu.
-Uwaga: 'b�ond' to nie jest metoda by przeliterowa� b��d; 'b�ond' to b��d.
-Uwaga: Kiedy szukanie osi�gnie koniec pliku b�dzie kontynuowa�o od pocz�tku
+Uwaga: 'b�ond' to nie jest metoda, by przeliterowa� b��d; 'b�ond' to b��d.
+Uwaga: Kiedy szukanie osi�gnie koniec pliku, b�dzie kontynuowane od pocz�tku
o ile opcja 'wrapscan' nie zosta�a przestawiona.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -571,16 +571,16 @@
4. Aby zmieni� wszystkie wyst�pienia �a�cucha znak�w pomi�dzy dwoma liniami,
wpisz: :#,#s/stare/nowe/g gdzie #,# s� numerami linii ograniczaj�cych
- region gdzie ma nast�pi� zamiana.
+ region, gdzie ma nast�pi� zamiana.
wpisz :%s/stare/nowe/g by zmieni� wszystkie wyst�pienia w ca�ym pliku.
wpisz :%s/stare/nowe/gc by zmieni� wszystkie wyst�pienia w ca�ym
- pliku, prosz�c o potwierdzenie za ka�dym razem
+ pliku, prosz�c o potwierdzenie za ka�dym razem.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LEKCJA 4. PODSUMOWANIE
1. CTRL-G poka�e Twoj� pozycj� w pliku i status pliku. SHIFT-G przenosi
- ci� do ko�ca pliku.
+ Ci� do ko�ca pliku.
G przenosi do ko�ca pliku.
liczba G przenosi do linii [liczba].
gg przenosi do pierwszej linii.
@@ -588,22 +588,22 @@
2. Wpisanie / a nast�pnie �a�cucha znak�w szuka �a�cucha DO PRZODU.
Wpisanie ? a nast�pnie �a�cucha znak�w szuka �a�cucha DO TY�U.
Po wyszukiwaniu wci�nij n by znale�� nast�pne wyst�pienie szukanej
- frazy tym samym kierunku lub N by szuka� w kierunku przeciwnym.
+ frazy w tym samym kierunku lub N by szuka� w kierunku przeciwnym.
CTRL-O przenosi do starszych pozycji, CTRL-I do nowszych.
3. Wpisanie % gdy kursor znajduje si� na (,),[,],{, lub } lokalizuje
paruj�cy znak.
- 4. By zamieni� pierwszy stary na nowy w linii wpisz :s/stary/nowy
- By zamieni� wszystkie stary na nowy w linii wpisz :s/stary/nowy/g
+ 4. By zamieni� pierwszy stary na nowy w linii, wpisz :s/stary/nowy
+ By zamieni� wszystkie stary na nowy w linii, wpisz :s/stary/nowy/g
By zamieni� frazy pomi�dzy dwoma liniami # wpisz :#,#s/stary/nowy/g
- By zamieni� wszystkie wyst�pienia w pliku wpisz :%s/stary/nowy/g
- By Vim prosi� Ci� o potwierdzenie dodaj 'c' :%s/stary/nowy/gc
+ By zamieni� wszystkie wyst�pienia w pliku, wpisz :%s/stary/nowy/g
+ By Vim prosi� Ci� o potwierdzenie, dodaj 'c' :%s/stary/nowy/gc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Lekcja 5.1.: JAK WYKONA� POLECENIA ZEWN�TRZNE
+ Lekcja 5.1.: JAK WYKONA� POLECENIA ZEWN�TRZNE?
- ** Wpisz :! a nast�pnie zewn�trzne polecenie by je wykona�. **
+ ** Wpisz :! a nast�pnie zewn�trzne polecenie, by je wykona�. **
1. Wpisz znajome polecenie : by ustawi� kursor na dole ekranu. To pozwala
na wprowadzenie komendy linii polece�.
@@ -626,20 +626,20 @@
Lekcja 5.2.: WI�CEJ O ZAPISYWANIU PLIK�W
- ** By zachowa� zmiany w tek�ci wpisz :w NAZWA_PLIKU . **
+ ** By zachowa� zmiany w tek�cie, wpisz :w NAZWA_PLIKU . **
1. Wpisz :!dir lub :!ls by zobaczy� spis plik�w w katalogu.
- Ju� wiesz, �e musisz wcisn�� <ENTER> po tym.
+ Ju� wiesz, �e musisz po tym wcisn�� <ENTER>.
- 2. Wybierz nazw� pliku jaka jeszcze nie istnieje, np. TEST.
+ 2. Wybierz nazw� pliku, jaka jeszcze nie istnieje, np. TEST.
3. Teraz wpisz: :w TEST (gdzie TEST jest nazw� pliku jak� wybra�e�.)
4. To polecenie zapami�ta ca�y plik (Vim Tutor) pod nazw� TEST.
- By to sprawdzi� wpisz :!dir lub :!ls , �eby znowu zobaczy� list� plik�w.
+ By to sprawdzi�, wpisz :!dir lub :!ls �eby znowu zobaczy� list� plik�w.
Uwaga: Zauwa�, �e gdyby� teraz wyszed� z Vima, a nast�pnie wszed� ponownie
- poleceniem vim TEST , plik by�by dok�adn� kopi� tutoriala kiedy go
+ poleceniem vim TEST , plik by�by dok�adn� kopi� tutoriala, kiedy go
zapisywa�e�.
5. Teraz usu� plik wpisuj�c (MS-DOS): :!del TEST
@@ -649,7 +649,7 @@
Lekcja 5.3.: WYBRANIE TEKSTU DO ZAPISU
- ** By zachowa� cz�� pliku wpisz v ruch :w NAZWA_PLIKU **
+ ** By zachowa� cz�� pliku, wpisz v ruch :w NAZWA_PLIKU **
1. Przenie� kursor do tego wiersza.
@@ -664,26 +664,26 @@
5. Vim zapisze wybrane linie do pliku TEST. U�yj :!dir lub :!ls , �eby to
zobaczy�. Jeszcze go nie usuwaj! U�yjemy go w nast�pnej lekcji.
-UWAGA: Wci�ni�cie v zaczyna tryb Wizualny. Mo�esz porusza� kursorem by
- zmieni� rozmiary zaznaczenia. Mo�esz te� u�y� operatora by zrobi� co�
+UWAGA: Wci�ni�cie v zaczyna tryb Wizualny. Mo�esz porusza� kursorem, by
+ zmieni� rozmiary zaznaczenia. Mo�esz te� u�y� operatora, by zrobi� co�
z tekstem. Na przyk�ad d usuwa tekst.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 5.4.: WSTAWIANIE I ��CZENIE PLIK�W
- ** By wstawi� zawarto�� pliku wpisz :r NAZWA_PLIKU **
+ ** By wstawi� zawarto�� pliku, wpisz :r NAZWA_PLIKU **
1. Umie�� kursor tu� powy�ej tej linii.
UWAGA: Po wykonaniu kroku 2. zobaczysz tekst z Lekcji 5.3. Potem przejd�
- do DO�U by zobaczy� ponownie t� lekcj�.
+ do DO�U, by zobaczy� ponownie t� lekcj�.
2. Teraz wczytaj plik TEST u�ywaj�c polecenia :r TEST , gdzie TEST
jest nazw� pliku.
Wczytany plik jest umieszczony poni�ej linii z kursorem.
- 3. By sprawdzi� czy plik zosta� wczytany cofnij kursor i zobacz, �e
+ 3. By sprawdzi� czy plik zosta� wczytany, cofnij kursor i zobacz, �e
teraz s� dwie kopie Lekcji 5.3., orygina� i kopia z pliku.
UWAGA: Mo�esz te� wczyta� wyj�cie zewn�trznego polecenia. Na przyk�ad
@@ -723,14 +723,14 @@
1. Przenie� kursor do linii poni�ej oznaczonej --->.
- 2. Wpisz o (ma�e) by otworzy� lini� PONI�EJ kursora i przenie�� si�
+ 2. Wpisz o (ma�e), by otworzy� lini� PONI�EJ kursora i przenie�� si�
do trybu Insert (wprowadzanie).
3. Wpisz troch� tekstu i wci�nij <ESC> by wyj�� z trybu Insert (wprowadzanie).
---> Po wci�ni�ciu o kursor znajdzie si� w otwartej linii w trybie Insert.
- 4. By otworzy� lini� POWY�EJ kursora wci�nij wielkie O zamiast ma�ego
+ 4. By otworzy� lini� POWY�EJ kursora, wci�nij wielkie O zamiast ma�ego
o . Wypr�buj to na linii poni�ej.
---> Otw�rz lini� powy�ej wciskaj�c SHIFT-O gdy kursor b�dzie na tej linii.
@@ -747,9 +747,9 @@
2. Wciskaj e dop�ki kursor nie b�dzie na ko�cu li .
- 3. Wpisz a (ma�e) aby doda� tekst ZA znakiem pod kursorem.
+ 3. Wpisz a (ma�e), aby doda� tekst ZA znakiem pod kursorem.
- 4. Doko�cz wyraz tak jak w linii poni�ej. Wci�nij <ESC> aby opu�ci� tryb
+ 4. Doko�cz wyraz tak, jak w linii poni�ej. Wci�nij <ESC> aby opu�ci� tryb
Insert.
5. U�yj e by przej�� do kolejnego niedoko�czonego wyrazu i powtarzaj kroki
@@ -758,7 +758,7 @@
---> Ta li poz Ci �wi dodaw teks do ko� lin
---> Ta linia pozwoli Ci �wiczy� dodawanie tekstu do ko�ca linii.
-Uwaga: a , i oraz A prowadz� do trybu Insert, jedyn� r�nic� jest miejsce
+Uwaga: a , i oraz A prowadz� do trybu Insert, jedyn� r�nic� jest miejsce,
gdzie nowe znaki b�d� dodawane.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 6.3.: INNA WERSJA REPLACE (zamiana)
@@ -791,16 +791,16 @@
1. Przejd� do linii oznaczonej ---> i umie�� kursor za "a)".
- 2. Wejd� w tryb Visual v i przenie� kursor na pocz�tek "pierwszy".
+ 2. Wejd� w tryb Wizualny v i przenie� kursor na pocz�tek "pierwszy".
- 3. Wci�nij y aby yankowa� (kopiowa�) pod�wietlony tekst.
+ 3. Wci�nij y aby kopiowa� (yankowa�) pod�wietlony tekst.
4. Przenie� kursor do ko�ca nast�pnej linii: j$
- 5. Wci�nij p aby wpakowa� (paste) tekst. Dodaj: a drugi<ESC> .
+ 5. Wci�nij p aby wklei� (wpakowa�) tekst. Dodaj: a drugi<ESC> .
- 6. U�yj trybu Wizualnego aby wybra� " element.", yankuj go y , przejd� do
- ko�ca nast�pnej linii j$ i upakuj tam tekst z p .
+ 6. U�yj trybu Wizualnego, aby wybra� " element.", yankuj go y , przejd� do
+ ko�ca nast�pnej linii j$ i upakuj tam tekst z p .
---> a) to jest pierwszy element.
b)
@@ -810,7 +810,7 @@
Lekcja 6.5.: USTAWIANIE OPCJI
-** Ustawianie opcji tak by szukaj lub substytucja ignorowa�y wielko�� liter **
+** Ustawianie opcji tak, by szukaj lub substytucja ignorowa�y wielko�� liter **
1. Szukaj 'ignore' wpisuj�c: /ignore<ENTER>
Powt�rz szukanie kilka razy naciskaj�c klawisz n .
@@ -828,7 +828,7 @@
6. Aby wy��czy� ignorowanie wielko�ci liter: :set noic
-Uwaga: Aby usun�� pod�wietlanie dopasowa� wpisz: :nohlsearch
+Uwaga: Aby usun�� pod�wietlanie dopasowa�, wpisz: :nohlsearch
Uwaga: Aby ignorowa� wielko�� liter dla jednego wyszukiwania: /ignore\c<ENTER>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LEKCJA 6. PODSUMOWANIE
@@ -837,36 +837,36 @@
1. Wpisanie o otwiera lini� PONI�EJ kursora.
Wpisanie O otwiera lini� POWY�EJ kursora.
- 2. Wpisanie a by wstawi� tekst ZA znakiem na, kt�rym jest kursor.
+ 2. Wpisanie a wstawia tekst ZA znakiem, na kt�rym jest kursor.
Wpisanie A dodaje tekst na ko�cu linii.
3. Polecenie e przenosi do ko�ca wyrazu.
- 4. Operator y yankuje (kopiuje) tekst, p pakuje (wkleja, paste) go.
+ 4. Operator y yankuje (kopiuje) tekst, p pakuje (wkleja) go.
5. Wpisanie wielkiego R wprowadza w tryb Replace (zamiana) dop�ki
nie zostanie wci�ni�ty <ESC>.
- 6. Wpisanie ":set xxx" ustawia opcj� "xxx". Nietk�re opcje:
+ 6. Wpisanie ":set xxx" ustawia opcj� "xxx". Niekt�re opcje:
'ic' 'ignorecase' ignoruj wielko�� znak�w
'is' 'incsearch' poka� cz�ciowe dopasowania
'hls' 'hlsearch' pod�wietl wszystkie dopasowania
- Mo�esz u�y� zar�wno d�ugiej jak i kr�tkiej formy.
- 7. Dodaj "no" aby wy��czy� opcj�: :set noic
+ Mo�esz u�y� zar�wno d�ugiej, jak i kr�tkiej formy.
+ 7. Dodaj "no", aby wy��czy� opcj�: :set noic
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- LEKCJA 7.1. JAK UZYSKA� POMOC
+ LEKCJA 7.1. JAK UZYSKA� POMOC?
** U�ycie systemu pomocy on-line **
- Vim posiada bardzo dobry system pomocy on-line. By zacz�� spr�buj jednej
+ Vim posiada bardzo dobry system pomocy on-line. By zacz��, spr�buj jednej
z trzech mo�liwo�ci:
- wci�nij klawisz <HELP> (je�li taki masz)
- wci�nij klawisz <F1> (je�li taki masz)
- wpisz :help<ENTER>
- Przeczytaj tekst w oknie pomocy aby dowiedzie� si� jak dzia�a pomoc.
+ Przeczytaj tekst w oknie pomocy, aby dowiedzie� si� jak dzia�a pomoc.
wpisz CTRL-W CTRL-W aby przeskoczy� z jednego okna do innego
wpisz :q<ENTER> aby zamkn�� okno pomocy.
@@ -894,10 +894,10 @@
3. Zapisz plik:
:w
- Nast�pnym razem gdy zaczniesz prac� w Vimie b�dzie on u�ywa� pod�wietlania
+ Nast�pnym razem, gdy zaczniesz prac� w Vimie b�dzie on u�ywa� pod�wietlania
sk�adni. Mo�esz doda� wszystkie swoje ulubione ustawienia do tego pliku
"vimrc".
- Aby uzyska� wi�cej informacji wpisz :help vimrc-intro
+ Aby uzyska� wi�cej informacji, wpisz :help vimrc-intro
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 7.3.: UZUPE�NIANIE
@@ -907,11 +907,11 @@
1. Upewnij si�, �e Vim nie jest w trybie kompatybilno�ci: :set nocp
- 2. Zerknij jakie pliki s� w bie��cm katalogu: :!ls lub :!dir
+ 2. Zerknij, jakie pliki s� w bie��cym katalogu: :!ls lub :!dir
3. Wpisz pocz�tek polecenia: :e
- 4. Wci�nij CTRL-D i Vim poka�e list� polece� jakie zaczynaj� si� na "e".
+ 4. Wci�nij CTRL-D i Vim poka�e list� polece�, jakie zaczynaj� si� na "e".
5. Wci�nij <TAB> i Vim uzupe�ni polecenie do ":edit".
@@ -925,7 +925,7 @@
Lekcja 7. PODSUMOWANIE
- 1. Wpisz :help lub wci�nij <F1> lub <Help> aby otworzy� okno pomocy.
+ 1. Wpisz :help albo wci�nij <F1> lub <Help> aby otworzy� okno pomocy.
2. Wpisz :help cmd aby uzyska� pomoc o cmd .
@@ -945,14 +945,14 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Tutaj si� ko�czy tutorial Vima. Zosta� on pomy�lany tak aby da� kr�tki
+ Tutaj si� ko�czy tutorial Vima. Zosta� on pomy�lany tak, aby da� kr�tki
przegl�d jego mo�liwo�ci, wystarczaj�cy by� m�g� go u�ywa�. Jest on
- daleki od kompletno�ci poniewa� Vim ma o wiele, wiele wi�cej polece�.
+ daleki od kompletno�ci, poniewa� Vim ma o wiele, wiele wi�cej polece�.
Dla dalszej nauki rekomendujemy ksi��k�:
Vim - Vi Improved - autor Steve Oualline
Wydawca: New Riders
- Pierwsza ksi�zka ca�kowicie po�wi�cona Vimowi. U�yteczna zw�aszcza dla
+ Pierwsza ksi��ka ca�kowicie po�wi�cona Vimowi. U�yteczna zw�aszcza dla
pocz�tkuj�cych. Zawiera wiele przyk�ad�w i ilustracji.
Zobacz http://iccf-holland.org./click5.html
@@ -960,7 +960,7 @@
polecenia:
Learning the Vi Editor - autor Linda Lamb
Wydawca: O'Reilly & Associates Inc.
- To dobra ksi��ka by dowiedzie� si� niemal wszystkiego co chcia�by� zrobi�
+ To dobra ksi��ka, by dowiedzie� si� niemal wszystkiego, co chcia�by� zrobi�
z Vi. Sz�sta edycja zawiera te� informacje o Vimie.
Po polsku wydano:
@@ -991,4 +991,5 @@
rev. Marzec 2002
2nd rev. Wrzesie� 2004
3rd rev. Marzec 2006
+ 4th rev. Grudzie� 2008
Wszelkie uwagi prosz� kierowa� na: [email protected]
diff -Nur runtime.patched/tutor/tutor.pl.utf-8 runtime/tutor/tutor.pl.utf-8
--- runtime.patched/tutor/tutor.pl.utf-8 2008-06-26 13:52:38.000000000 -0700
+++ runtime/tutor/tutor.pl.utf-8 2009-01-14 12:14:51.000000000 -0800
@@ -2,9 +2,9 @@
= W i t a j w t u t o r i a l u V I M - a - Wersja 1.7. =
===============================================================================
- Vim to potężny edytor, który posiada wiele poleceń, zbyt dużo by
+ Vim to potężny edytor, który posiada wiele poleceń, zbyt dużo, by
wyjaśnić je wszystkie w tym tutorialu. Ten przewodnik ma nauczyć
- Cię posługiwać się wystarczająco wieloma komendami byś mógł łatwo
+ Cię posługiwać się wystarczająco wieloma komendami, byś mógł łatwo
używać Vima jako edytora ogólnego przeznaczenia.
Czas potrzebny na ukończenie tutoriala to 25 do 30 minut i zależy
@@ -13,14 +13,14 @@
UWAGA:
Polecenia wykonywane w czasie lekcji zmodyfikują tekst. Zrób
wcześniej kopię tego pliku do ćwiczeń (jeśli zacząłeś komendą
- "vimtutor" to już pracujesz na kopii).
+ "vimtutor", to już pracujesz na kopii).
- Pamiętaj że przewodnik ten został zaprojektowany do nauki poprzez
- ćwiczenia. Oznacza to, że musisz wykonywać polecenia by nauczyć się ich
- prawidłowo. Jeśli będziesz jedynie czytał tekst szybko zapomnisz wiele
+ Pamiętaj, że przewodnik ten został zaprojektowany do nauki poprzez
+ ćwiczenia. Oznacza to, że musisz wykonywać polecenia, by nauczyć się ich
+ prawidłowo. Jeśli będziesz jedynie czytał tekst, szybko zapomnisz wiele
poleceń!
- Teraz upewnij się, że nie masz wciśniętego CapsLocka i wciskaj j
+ Teraz upewnij się, że nie masz wciśniętego Caps Locka i wciskaj j
tak długo dopóki Lekcja 1.1. nie wypełni całkowicie ekranu.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -40,28 +40,28 @@
3. Używając strzałki w dół przejdź do następnej lekcji.
-Uwaga: Jeśli nie jesteś pewien czegoś co wpisałeś, wciśnij <ESC> by wrócić do
+Uwaga: Jeśli nie jesteś pewien czegoś co wpisałeś, wciśnij <ESC>, by wrócić do
trybu Normal. Wtedy powtórz polecenie.
Uwaga: Klawisze kursora także powinny działać, ale używając hjkl będziesz
- w stanie poruszać się o wiele szybciej jak się tylko przyzwyczaisz.
+ w stanie poruszać się o wiele szybciej, jak się tylko przyzwyczaisz.
Naprawdę!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 1.2.: WYCHODZENIE Z VIM-a
- !! UWAGA: Przed wykonaniem jakiegokolwiek polecenia przeczytaj całą lekcję.!!
+ !! UWAGA: Przed wykonaniem jakiegokolwiek polecenia przeczytaj całą lekcję !!
1. Wciśnij <ESC> (aby upewnić się, że jesteś w trybie Normal).
2. Wpisz: :q!<ENTER>.
- To spowoduje wyjście z edytora PORZUCAJĄC wszelkie zmiany jakie
- zdążyłeś zrobić. Jeśli chcesz zapamiętać zmiany i wyjść
+ To spowoduje wyjście z edytora PORZUCAJĄC wszelkie zmiany, jakie
+ zdążyłeś zrobić. Jeśli chcesz zapamiętać zmiany i wyjść,
wpisz: :wq<ENTER>
3. Kiedy widzisz znak zachęty powłoki wpisz komendę, żeby wrócić
do tutoriala. Czyli: vimtutor<ENTER>
- 4. Jeśli chcesz zapamiętać polecenia, wykonaj kroki 1. do 3. aby
+ 4. Jeśli chcesz zapamiętać polecenia, wykonaj kroki 1. do 3., aby
wyjść i wrócić do edytora.
UWAGA: :q!<ENTER> porzuca wszelkie zmiany jakie zrobiłeś. W następnych
@@ -85,7 +85,7 @@
---> Kkrowa prrzeskoczyła prrzez ksiiężycc.
- 5. Teraz kiedy zdanie jest poprawione przejdź do Lekcji 1.4.
+ 5. Teraz, kiedy zdanie jest poprawione, przejdź do Lekcji 1.4.
UWAGA: Ucz się przez ćwiczenie, nie wkuwanie.
@@ -101,18 +101,18 @@
1. Przenieś kursor do pierwszej linii poniżej oznaczonej --->.
- 2. Aby poprawić pierwszy wiersz, ustaw kursor na pierwszym znaku PO tym
+ 2. Aby poprawić pierwszy wiersz, ustaw kursor na pierwszym znaku PO tym,
gdzie tekst ma być wstawiony.
3. Wciśnij i a następnie wpisz konieczne poprawki.
- 4. Po poprawieniu błędu wciśnij <ESC> by wrócić do trybu Normal.
- Powtarzaj kroki 2. do 4. aby poprawić całe zdanie.
+ 4. Po poprawieniu błędu wciśnij <ESC>, by wrócić do trybu Normal.
+ Powtarzaj kroki 2. do 4., aby poprawić całe zdanie.
---> W tej brkje trochę .
---> W tej linii brakuje trochę tekstu.
- 5. Kiedy czujesz się swobodnie wstawiając tekst przejdź do
+ 5. Kiedy czujesz się swobodnie wstawiając tekst, przejdź do
podsumowania poniżej.
@@ -129,7 +129,7 @@
3. Kiedy tekst został dodany, wciśnij <ESC> i wróć do trybu Normalnego.
- 4. Przenieś kursor do drugiej linii oznaczonej ---> i powtórz kroki 2 i 3
+ 4. Przenieś kursor do drugiej linii oznaczonej ---> i powtórz kroki 2. i 3.,
aby poprawić zdanie.
---> Brakuje tu tro
@@ -137,27 +137,27 @@
---> Tu też trochę bra
Tu też trochę brakuje.
- 5. Kiedy już utrwaliłeś ćwiczenie przejdź do lekcji 1.6.
+ 5. Kiedy już utrwaliłeś ćwiczenie, przejdź do lekcji 1.6.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 1.6.: EDYCJA PLIKU
** Użyj :wq aby zapisać plik i wyjść. **
- !! UWAGA: zanim wykonasz jakiekolwiek polecenia przeczyaj całą lekcję !!
+ !! UWAGA: zanim wykonasz jakiekolwiek polecenia przeczytaj całą lekcję !!
1. Zakończ tutorial tak jak w lekcji 1.2.: :q!
- Lub jeśli masz dostęp do innego terminala zrób kolejne kroki tam.
+ lub, jeśli masz dostęp do innego terminala, wykonaj kolejne kroki tam.
2. W powłoce wydaj polecenie: vim tutor<ENTER>
- "vim" jest poleceniem uruchamiającym edytor Vim. 'tutor' to nazwa pliku
- jaki chcesz edytować. Użyj pliku jaki może zostać zmieniony.
+ "vim" jest poleceniem uruchamiającym edytor Vim. 'tutor' to nazwa pliku,
+ jaki chcesz edytować. Użyj pliku, który może zostać zmieniony.
- 3. Dodaj i usuń tekst tak jak się nauczyłeś w poprzednich lekcjach.
+ 3. Dodaj i usuń tekst tak, jak się nauczyłeś w poprzednich lekcjach.
4. Zapisz plik ze zmianami i opuść Vima: :wq<ENTER>
- 5. Jeśli zakończyłeś vimtutor w kroku 1. uruchom go ponownie i przejdź
+ 5. Jeśli zakończyłeś vimtutor w kroku 1., uruchom go ponownie i przejdź
do podsumowania poniżej.
6. Po przeczytaniu wszystkich kroków i ich zrozumieniu: wykonaj je.
@@ -168,14 +168,14 @@
1. Poruszasz kursorem używając "strzałek" i klawiszy hjkl .
h (w lewo) j (w dół) k (do góry) l (w prawo)
- 2. By wejść do Vima (z powłoki) wpisz:
+ 2. By wejść do Vima, (z powłoki) wpisz:
vim NAZWA_PLIKU<ENTER>
- 3. By wyjść z Vima wpisz:
- <ESC> :q!<ENTER> by usunąc wszystkie zmiany.
+ 3. By wyjść z Vima, wpisz:
+ <ESC> :q!<ENTER> by usunąć wszystkie zmiany.
LUB: <ESC> :wq<ENTER> by zmiany zachować.
- 4. By usunąć znak pod kursorem wciśnij: x
+ 4. By usunąć znak pod kursorem, wciśnij: x
5. By wstawić tekst przed kursorem lub dodać:
i wpisz tekst <ESC> wstawi przed kursorem
@@ -189,18 +189,18 @@
Lekcja 2.1.: POLECENIE DELETE (usuwanie)
- ** Wpisz dw by usunąc wyraz. **
+ ** Wpisz dw by usunąć wyraz. **
- 1. Wciśnij <ESC> by upewnić się, że jesteś w trybie Normal.
+ 1. Wciśnij <ESC>, by upewnić się, że jesteś w trybie Normal.
2. Przenieś kursor do linii poniżej oznaczonej --->.
- 3. Przesuń kursor na początek wyrazu, które chcesz usunąć.
+ 3. Przesuń kursor na początek wyrazu, który chcesz usunąć.
4. Wpisz dw by usunąć wyraz.
UWAGA: Litera d pojawi się na dole ekranu. Vim czeka na wpisanie w .
- Jeśli zobaczysz inny znak oznacza to, że wpisałeś coś źle, wciśnij
+ Jeśli zobaczysz inny znak, oznacza to, że wpisałeś coś źle; wciśnij
<ESC> i zacznij od początku.
---> Jest tu parę papier wyrazów, które kamień nie należą do nożyce tego zdania.
@@ -225,7 +225,7 @@
---> Ktoś wpisał koniec tego zdania dwukrotnie. zdania dwukrotnie.
- 5. Przejdź do Lekcji 2.3. by zrozumieć co się stało.
+ 5. Przejdź do Lekcji 2.3., by zrozumieć co się stało.
@@ -235,12 +235,12 @@
Lekcja 2.3.: O OPERATORACH I RUCHACH
- Wiele poleceń zmieniających tekst są złożone z operatora i ruchu.
- Format dla polecenia usuwającego z operatorem d jest taki:
+ Wiele poleceń zmieniających tekst jest złożonych z operatora i ruchu.
+ Format dla polecenia usuwającego z operatorem d jest następujący:
d ruch
- Gdzie:
+ gdzie:
d - operator usuwania.
ruch - na czym polecenie będzie wykonywane (lista poniżej).
@@ -252,7 +252,7 @@
W ten sposób wpisanie de usunie znaki od kursora do końca wyrazu.
UWAGA: Wpisanie tylko ruchu w trybie Normal bez operatora przeniesie kursor
- tak jak to określono.
+ tak, jak to określono.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 2.4.: UŻYCIE MNOŻNIKA DLA RUCHU
@@ -266,32 +266,32 @@
3. Wpisz 3e aby przenieść kursor do końca trzeciego wyrazu w przód.
- 4. Wpisz 0 (zero) aby przenieść kursor do początku linii.
+ 4. Wpisz 0 (zero), aby przenieść kursor na początek linii.
5. Powtórz kroki 2. i 3. z innymi liczbami.
- ---> To jest zwykły wiersz z wyrazami po których możesz się poruszać.
+ ---> To jest zwykły wiersz z wyrazami, po których możesz się poruszać.
6. Przejdź do lekcji 2.5.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Lekcja 2.5.: UŻYCIE MNOŻNIKA BY WIĘCEJ USUNĄĆ
+ Lekcja 2.5.: UŻYCIE MNOŻNIKA, BY WIĘCEJ USUNĄĆ
** Wpisanie liczby z operatorem powtarza go odpowiednią ilość razy. **
W wyżej wspomnianej kombinacji operatora usuwania i ruchu podaj mnożnik
- przed ruchem by więcej usunąć:
+ przed ruchem, by więcej usunąć:
d liczba ruch
1. Przenieś kursor do pierwszego wyrazu KAPITALIKAMI w linii zaznaczonej --->.
2. Wpisz 2dw aby usunąć dwa wyrazy KAPITALIKAMI.
- 3. Powtarzaj kroki 1. i 2. z innymi mnożnikami aby usunąć kolejne wyrazy
+ 3. Powtarzaj kroki 1. i 2. z innymi mnożnikami, aby usunąć kolejne wyrazy
KAPITALIKAMI jednym poleceniem
---> ta ASD WE linia QWE ASDF ZXCV FG wyrazów została ERT FGH CF oczyszczona.
@@ -312,7 +312,7 @@
1. Przenieś kursor do drugiego zdania z wierszyka poniżej.
2. Wpisz dd aby usunąć wiersz.
3. Teraz przenieś się do czwartego wiersza.
- 4. Wpisz 2dd aby usunąc dwa wiersze.
+ 4. Wpisz 2dd aby usunąć dwa wiersze.
---> 1) Róże są czerwone,
---> 2) Błoto jest fajne,
@@ -335,12 +335,12 @@
2. Wpisz x aby usunąć pierwszy niechciany znak.
3. Teraz wciśnij u aby cofnąć skutki ostatniego polecenia.
4. Tym razem popraw wszystkie błędy w linii używając polecenia x .
- 5. Teraz wciśnij wielkie U aby przywrócić linię do oryginalnego stanu.
- 6. Teraz wciśnij u kilka razy by cofnąć U i poprzednie polecenia.
+ 5. Teraz wciśnij wielkie U aby przywrócić linię do oryginalnego stanu.
+ 6. Teraz wciśnij u kilka razy, by cofnąć U i poprzednie polecenia.
7. Teraz wpisz CTRL-R (trzymaj równocześnie wciśnięte klawisze CTRL i R)
kilka razy, by cofnąć cofnięcia.
----> Poopraw blędyyy w teej liniii i zaamiień je prrzez coofnij.
+---> Poopraw błędyyy w teej liniii i zaamiień je prrzez coofnij.
8. To są bardzo pożyteczne polecenia.
@@ -350,22 +350,22 @@
LEKCJA 2. PODSUMOWANIE
- 1. By usunąć znaki od kursora do następnego wyrazu wpisz: dw
- 2. By usunąć znaki od kursora do końca linii wpisz: d$
+ 1. By usunąć znaki od kursora do następnego wyrazu, wpisz: dw
+ 2. By usunąć znaki od kursora do końca linii, wpisz: d$
3. By usunąć całą linię: dd
- 4. By powtórzyć ruch poprzedź go liczbą: 2w
+ 4. By powtórzyć ruch, poprzedź go liczbą: 2w
5. Format polecenia zmiany to:
operator [liczba] ruch
gdzie:
- operator - to co trzeba zrobić (np. d dla usuwania)
+ operator - to, co trzeba zrobić (np. d dla usuwania)
[liczba] - opcjonalne, ile razy powtórzyć ruch
ruch - przenosi nad tekstem do operowania, takim jak w (wyraz),
- $ (do końca linii), etc.
+ $ (do końca linii) etc.
- 6. By przejść do początku linii użyj zera: 0
- 7. By cofnąć poprzednie polecenie, wpisz: u (małe u)
- By cofnąć wszystkie zmiany w linii wpisz: U (wielkie U)
- By cofnąć cofnięcia wpisz: CTRL-R
+ 6. By przejść do początku linii, użyj zera: 0
+ 7. By cofnąć poprzednie polecenie, wpisz: u (małe u)
+ By cofnąć wszystkie zmiany w linii, wpisz: U (wielkie U)
+ By cofnąć cofnięcie, wpisz: CTRL-R
@@ -379,7 +379,7 @@
2. Wpisz dd aby usunąć linię i przechować ją w rejestrze Vima.
- 3. Przenieś kursor do linii c), POWYŻEJ tej gdzie usunięta linia powinna
+ 3. Przenieś kursor do linii c), POWYŻEJ tej, gdzie usunięta linia powinna
się znajdować.
4. Wciśnij p by wstawić linię poniżej kursora.
@@ -404,21 +404,21 @@
3. Wpisz r a potem znak jaki powinien go zastąpić.
- 4. Powtarzaj kroki 2. i 3. dopóki pierwsza linia nie będzie taka jak druga.
+ 4. Powtarzaj kroki 2. i 3. dopóki pierwsza linia nie będzie taka, jak druga.
----> Kjedy ten wiersz bił wstókiwany ktoś wciznął perę złych klawirzy!
----> Kiedy ten wiersz był wstukiwany ktoś wcisnął parę złych klawiszy!
+---> Kjedy ten wiersz bił wstókiwany, ktoś wciznął perę złych klawirzy!
+---> Kiedy ten wiersz był wstukiwany, ktoś wcisnął parę złych klawiszy!
5. Teraz czas na Lekcję 3.3.
-UWAGA: Pamiętaj by uczyć się ćwicząc, a nie pamięciowo.
+UWAGA: Pamiętaj, by uczyć się ćwicząc, a nie pamięciowo.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 3.3.: OPERATOR CHANGE (zmień)
- ** By zmienić do końca wyrazu wpisz ce . **
+ ** By zmienić do końca wyrazu, wpisz ce . **
1. Przenieś kursor do pierwszej linii poniżej oznaczonej --->.
@@ -428,7 +428,7 @@
4. Wciśnij <ESC> i przejdź do następnej planowanej zmiany.
- 5. Powtarzaj kroki 3. i 4. dopóki pierwsze zdanie nie będzie takie same
+ 5. Powtarzaj kroki 3. i 4. dopóki pierwsze zdanie nie będzie takie same,
jak drugie.
---> Ta lunos ma pire słów, które tżina zbnic użifajonc pcmazu zmień.
@@ -442,13 +442,13 @@
Lekcja 3.4.: WIĘCEJ ZMIAN UŻYWAJĄC c
- ** Polecenie change używa takich samych ruchów jak delete. **
+ ** Polecenie change używa takich samych ruchów, jak delete. **
- 1. Operator change działa tak samo jak delete. Format wygląda tak:
+ 1. Operator change działa tak samo, jak delete. Format wygląda tak:
c [liczba] ruch
- 2. Ruchy są także takie same, np.: w (wyraz), $ (koniec linii), etc.
+ 2. Ruchy są także takie same, np.: w (wyraz), $ (koniec linii) etc.
3. Przenieś się do pierwszej linii poniżej oznaczonej --->
@@ -456,7 +456,7 @@
5. Wpisz c$ , popraw koniec wiersza i wciśnij <ESC>.
----> Koniec tego wiersza musi być poprawiony aby wyglądał tak jak drugi.
+---> Koniec tego wiersza musi być poprawiony, aby wyglądał tak, jak drugi.
---> Koniec tego wiersza musi być poprawiony używając polecenia c$ .
UWAGA: Możesz używać <BS> aby poprawiać błędy w czasie pisania.
@@ -469,11 +469,11 @@
polecenie wstawia skasowany tekst PO kursorze (jeśli cała linia
została usunięta, zostanie ona umieszczona w linii poniżej kursora).
- 2. By zamienić znak pod kursorem wciśnij r a potem znak, który ma zastąpić
+ 2. By zamienić znak pod kursorem, wciśnij r a potem znak, który ma zastąpić
oryginalny.
- 3. Operator change pozwala Ci na zastąpienie od kursora do miejsca gdzie
- zabrałby cię ruch. Np. wpisz ce aby zamienić tekst od kursora do końca
+ 3. Operator change pozwala Ci na zastąpienie od kursora do miejsca, gdzie
+ zabrałby Cię ruch. Np. wpisz ce aby zamienić tekst od kursora do końca
wyrazu, c$ aby zmienić tekst do końca linii.
4. Format do polecenia change (zmień):
@@ -497,12 +497,12 @@
Zapamiętaj numer linii dla potrzeb kroku 3.
UWAGA: Możesz też zobaczyć pozycję kursora w prawym, dolnym rogu ekranu.
- Dzieje się tak kiedy ustawiona jest opcja 'ruler' (wyjaśnione w lekcji 6.).
+ Dzieje się tak kiedy ustawiona jest opcja 'ruler' (więcej w lekcji 6.).
2. Wciśnij G aby przejść na koniec pliku.
Wciśnij gg aby przejść do początku pliku.
- 3. Wpisz numer linii, w której byłeś a potem G . To przeniesie cię
+ 3. Wpisz numer linii, w której byłeś a potem G . To przeniesie Cię
z powrotem do linii, w której byłeś kiedy wcisnąłeś CTRL-G.
4. Jeśli czujesz się wystarczająco pewnie, wykonaj kroki 1-3.
@@ -511,10 +511,10 @@
Lekcja 4.2.: POLECENIE SZUKAJ
- ** Wpisz / a następnie wyrażenie aby je znaleźć. **
+ ** Wpisz / a następnie wyrażenie, aby je znaleźć. **
- 1. W trybie Normal wpisz / . Zauważ, że znak ten, oraz kursor pojawią
- się na dole ekranu tak samo jak polecenie : .
+ 1. W trybie Normal wpisz / . Zauważ, że znak ten oraz kursor pojawią
+ się na dole ekranu tak samo, jak polecenie : .
2. Teraz wpisz błond<ENTER> . To jest słowo, którego chcesz szukać.
@@ -523,11 +523,11 @@
4. Jeśli chcesz szukać frazy do tyłu, użyj polecenia ? zamiast / .
- 5. Aby wrócić gdzie byłeś wciśnij CTRL-O. Powtarzaj by wrócić dalej. CTRL-I
+ 5. Aby wrócić gdzie byłeś, wciśnij CTRL-O. Powtarzaj, by wrócić dalej. CTRL-I
idzie do przodu.
-Uwaga: 'błond' to nie jest metoda by przeliterować błąd; 'błond' to błąd.
-Uwaga: Kiedy szukanie osiągnie koniec pliku będzie kontynuowało od początku
+Uwaga: 'błond' to nie jest metoda, by przeliterować błąd; 'błond' to błąd.
+Uwaga: Kiedy szukanie osiągnie koniec pliku, będzie kontynuowane od początku
o ile opcja 'wrapscan' nie została przestawiona.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -571,16 +571,16 @@
4. Aby zmienić wszystkie wystąpienia łańcucha znaków pomiędzy dwoma liniami,
wpisz: :#,#s/stare/nowe/g gdzie #,# są numerami linii ograniczających
- region gdzie ma nastąpić zamiana.
+ region, gdzie ma nastąpić zamiana.
wpisz :%s/stare/nowe/g by zmienić wszystkie wystąpienia w całym pliku.
wpisz :%s/stare/nowe/gc by zmienić wszystkie wystąpienia w całym
- pliku, prosząc o potwierdzenie za każdym razem
+ pliku, prosząc o potwierdzenie za każdym razem.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LEKCJA 4. PODSUMOWANIE
1. CTRL-G pokaże Twoją pozycję w pliku i status pliku. SHIFT-G przenosi
- cię do końca pliku.
+ Cię do końca pliku.
G przenosi do końca pliku.
liczba G przenosi do linii [liczba].
gg przenosi do pierwszej linii.
@@ -588,22 +588,22 @@
2. Wpisanie / a następnie łańcucha znaków szuka łańcucha DO PRZODU.
Wpisanie ? a następnie łańcucha znaków szuka łańcucha DO TYŁU.
Po wyszukiwaniu wciśnij n by znaleźć następne wystąpienie szukanej
- frazy tym samym kierunku lub N by szukać w kierunku przeciwnym.
+ frazy w tym samym kierunku lub N by szukać w kierunku przeciwnym.
CTRL-O przenosi do starszych pozycji, CTRL-I do nowszych.
3. Wpisanie % gdy kursor znajduje się na (,),[,],{, lub } lokalizuje
parujący znak.
- 4. By zamienić pierwszy stary na nowy w linii wpisz :s/stary/nowy
- By zamienić wszystkie stary na nowy w linii wpisz :s/stary/nowy/g
+ 4. By zamienić pierwszy stary na nowy w linii, wpisz :s/stary/nowy
+ By zamienić wszystkie stary na nowy w linii, wpisz :s/stary/nowy/g
By zamienić frazy pomiędzy dwoma liniami # wpisz :#,#s/stary/nowy/g
- By zamienić wszystkie wystąpienia w pliku wpisz :%s/stary/nowy/g
- By Vim prosił Cię o potwierdzenie dodaj 'c' :%s/stary/nowy/gc
+ By zamienić wszystkie wystąpienia w pliku, wpisz :%s/stary/nowy/g
+ By Vim prosił Cię o potwierdzenie, dodaj 'c' :%s/stary/nowy/gc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Lekcja 5.1.: JAK WYKONAĆ POLECENIA ZEWNĘTRZNE
+ Lekcja 5.1.: JAK WYKONAĆ POLECENIA ZEWNĘTRZNE?
- ** Wpisz :! a następnie zewnętrzne polecenie by je wykonać. **
+ ** Wpisz :! a następnie zewnętrzne polecenie, by je wykonać. **
1. Wpisz znajome polecenie : by ustawić kursor na dole ekranu. To pozwala
na wprowadzenie komendy linii poleceń.
@@ -626,20 +626,20 @@
Lekcja 5.2.: WIĘCEJ O ZAPISYWANIU PLIKÓW
- ** By zachować zmiany w tekści wpisz :w NAZWA_PLIKU . **
+ ** By zachować zmiany w tekście, wpisz :w NAZWA_PLIKU . **
1. Wpisz :!dir lub :!ls by zobaczyć spis plików w katalogu.
- Już wiesz, że musisz wcisnąć <ENTER> po tym.
+ Już wiesz, że musisz po tym wcisnąć <ENTER>.
- 2. Wybierz nazwę pliku jaka jeszcze nie istnieje, np. TEST.
+ 2. Wybierz nazwę pliku, jaka jeszcze nie istnieje, np. TEST.
3. Teraz wpisz: :w TEST (gdzie TEST jest nazwą pliku jaką wybrałeś.)
4. To polecenie zapamięta cały plik (Vim Tutor) pod nazwą TEST.
- By to sprawdzić wpisz :!dir lub :!ls , żeby znowu zobaczyć listę plików.
+ By to sprawdzić, wpisz :!dir lub :!ls żeby znowu zobaczyć listę plików.
Uwaga: Zauważ, że gdybyś teraz wyszedł z Vima, a następnie wszedł ponownie
- poleceniem vim TEST , plik byłby dokładną kopią tutoriala kiedy go
+ poleceniem vim TEST , plik byłby dokładną kopią tutoriala, kiedy go
zapisywałeś.
5. Teraz usuń plik wpisując (MS-DOS): :!del TEST
@@ -649,7 +649,7 @@
Lekcja 5.3.: WYBRANIE TEKSTU DO ZAPISU
- ** By zachować część pliku wpisz v ruch :w NAZWA_PLIKU **
+ ** By zachować część pliku, wpisz v ruch :w NAZWA_PLIKU **
1. Przenieś kursor do tego wiersza.
@@ -664,26 +664,26 @@
5. Vim zapisze wybrane linie do pliku TEST. Użyj :!dir lub :!ls , żeby to
zobaczyć. Jeszcze go nie usuwaj! Użyjemy go w następnej lekcji.
-UWAGA: Wciśnięcie v zaczyna tryb Wizualny. Możesz poruszać kursorem by
- zmienić rozmiary zaznaczenia. Możesz też użyć operatora by zrobić coś
+UWAGA: Wciśnięcie v zaczyna tryb Wizualny. Możesz poruszać kursorem, by
+ zmienić rozmiary zaznaczenia. Możesz też użyć operatora, by zrobić coś
z tekstem. Na przykład d usuwa tekst.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 5.4.: WSTAWIANIE I ŁĄCZENIE PLIKÓW
- ** By wstawić zawartość pliku wpisz :r NAZWA_PLIKU **
+ ** By wstawić zawartość pliku, wpisz :r NAZWA_PLIKU **
1. Umieść kursor tuż powyżej tej linii.
UWAGA: Po wykonaniu kroku 2. zobaczysz tekst z Lekcji 5.3. Potem przejdź
- do DOŁU by zobaczyć ponownie tę lekcję.
+ do DOŁU, by zobaczyć ponownie tę lekcję.
2. Teraz wczytaj plik TEST używając polecenia :r TEST , gdzie TEST
jest nazwą pliku.
Wczytany plik jest umieszczony poniżej linii z kursorem.
- 3. By sprawdzić czy plik został wczytany cofnij kursor i zobacz, że
+ 3. By sprawdzić czy plik został wczytany, cofnij kursor i zobacz, że
teraz są dwie kopie Lekcji 5.3., oryginał i kopia z pliku.
UWAGA: Możesz też wczytać wyjście zewnętrznego polecenia. Na przykład
@@ -723,14 +723,14 @@
1. Przenieś kursor do linii poniżej oznaczonej --->.
- 2. Wpisz o (małe) by otworzyć linię PONIŻEJ kursora i przenieść się
+ 2. Wpisz o (małe), by otworzyć linię PONIŻEJ kursora i przenieść się
do trybu Insert (wprowadzanie).
3. Wpisz trochę tekstu i wciśnij <ESC> by wyjść z trybu Insert (wprowadzanie).
---> Po wciśnięciu o kursor znajdzie się w otwartej linii w trybie Insert.
- 4. By otworzyć linię POWYŻEJ kursora wciśnij wielkie O zamiast małego
+ 4. By otworzyć linię POWYŻEJ kursora, wciśnij wielkie O zamiast małego
o . Wypróbuj to na linii poniżej.
---> Otwórz linię powyżej wciskając SHIFT-O gdy kursor będzie na tej linii.
@@ -747,9 +747,9 @@
2. Wciskaj e dopóki kursor nie będzie na końcu li .
- 3. Wpisz a (małe) aby dodać tekst ZA znakiem pod kursorem.
+ 3. Wpisz a (małe), aby dodać tekst ZA znakiem pod kursorem.
- 4. Dokończ wyraz tak jak w linii poniżej. Wciśnij <ESC> aby opuścić tryb
+ 4. Dokończ wyraz tak, jak w linii poniżej. Wciśnij <ESC> aby opuścić tryb
Insert.
5. Użyj e by przejść do kolejnego niedokończonego wyrazu i powtarzaj kroki
@@ -758,7 +758,7 @@
---> Ta li poz Ci ćwi dodaw teks do koń lin
---> Ta linia pozwoli Ci ćwiczyć dodawanie tekstu do końca linii.
-Uwaga: a , i oraz A prowadzą do trybu Insert, jedyną różnicą jest miejsce
+Uwaga: a , i oraz A prowadzą do trybu Insert, jedyną różnicą jest miejsce,
gdzie nowe znaki będą dodawane.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 6.3.: INNA WERSJA REPLACE (zamiana)
@@ -791,16 +791,16 @@
1. Przejdź do linii oznaczonej ---> i umieść kursor za "a)".
- 2. Wejdź w tryb Visual v i przenieś kursor na początek "pierwszy".
+ 2. Wejdź w tryb Wizualny v i przenieś kursor na początek "pierwszy".
- 3. Wciśnij y aby yankować (kopiować) podświetlony tekst.
+ 3. Wciśnij y aby kopiować (yankować) podświetlony tekst.
4. Przenieś kursor do końca następnej linii: j$
- 5. Wciśnij p aby wpakować (paste) tekst. Dodaj: a drugi<ESC> .
+ 5. Wciśnij p aby wkleić (wpakować) tekst. Dodaj: a drugi<ESC> .
- 6. Użyj trybu Wizualnego aby wybrać " element.", yankuj go y , przejdź do
- końca następnej linii j$ i upakuj tam tekst z p .
+ 6. Użyj trybu Wizualnego, aby wybrać " element.", yankuj go y , przejdź do
+ końca następnej linii j$ i upakuj tam tekst z p .
---> a) to jest pierwszy element.
b)
@@ -810,7 +810,7 @@
Lekcja 6.5.: USTAWIANIE OPCJI
-** Ustawianie opcji tak by szukaj lub substytucja ignorowały wielkość liter **
+** Ustawianie opcji tak, by szukaj lub substytucja ignorowały wielkość liter **
1. Szukaj 'ignore' wpisując: /ignore<ENTER>
Powtórz szukanie kilka razy naciskając klawisz n .
@@ -828,7 +828,7 @@
6. Aby wyłączyć ignorowanie wielkości liter: :set noic
-Uwaga: Aby usunąć podświetlanie dopasowań wpisz: :nohlsearch
+Uwaga: Aby usunąć podświetlanie dopasowań, wpisz: :nohlsearch
Uwaga: Aby ignorować wielkość liter dla jednego wyszukiwania: /ignore\c<ENTER>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LEKCJA 6. PODSUMOWANIE
@@ -837,36 +837,36 @@
1. Wpisanie o otwiera linię PONIŻEJ kursora.
Wpisanie O otwiera linię POWYŻEJ kursora.
- 2. Wpisanie a by wstawić tekst ZA znakiem na, którym jest kursor.
+ 2. Wpisanie a wstawia tekst ZA znakiem, na którym jest kursor.
Wpisanie A dodaje tekst na końcu linii.
3. Polecenie e przenosi do końca wyrazu.
- 4. Operator y yankuje (kopiuje) tekst, p pakuje (wkleja, paste) go.
+ 4. Operator y yankuje (kopiuje) tekst, p pakuje (wkleja) go.
5. Wpisanie wielkiego R wprowadza w tryb Replace (zamiana) dopóki
nie zostanie wciśnięty <ESC>.
- 6. Wpisanie ":set xxx" ustawia opcję "xxx". Nietkóre opcje:
+ 6. Wpisanie ":set xxx" ustawia opcję "xxx". Niektóre opcje:
'ic' 'ignorecase' ignoruj wielkość znaków
'is' 'incsearch' pokaż częściowe dopasowania
'hls' 'hlsearch' podświetl wszystkie dopasowania
- Możesz użyć zarówno długiej jak i krótkiej formy.
- 7. Dodaj "no" aby wyłączyć opcję: :set noic
+ Możesz użyć zarówno długiej, jak i krótkiej formy.
+ 7. Dodaj "no", aby wyłączyć opcję: :set noic
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- LEKCJA 7.1. JAK UZYSKAĆ POMOC
+ LEKCJA 7.1. JAK UZYSKAĆ POMOC?
** Użycie systemu pomocy on-line **
- Vim posiada bardzo dobry system pomocy on-line. By zacząć spróbuj jednej
+ Vim posiada bardzo dobry system pomocy on-line. By zacząć, spróbuj jednej
z trzech możliwości:
- wciśnij klawisz <HELP> (jeśli taki masz)
- wciśnij klawisz <F1> (jeśli taki masz)
- wpisz :help<ENTER>
- Przeczytaj tekst w oknie pomocy aby dowiedzieć się jak działa pomoc.
+ Przeczytaj tekst w oknie pomocy, aby dowiedzieć się jak działa pomoc.
wpisz CTRL-W CTRL-W aby przeskoczyć z jednego okna do innego
wpisz :q<ENTER> aby zamknąć okno pomocy.
@@ -894,10 +894,10 @@
3. Zapisz plik:
:w
- Następnym razem gdy zaczniesz pracę w Vimie będzie on używać podświetlania
+ Następnym razem, gdy zaczniesz pracę w Vimie będzie on używać podświetlania
składni. Możesz dodać wszystkie swoje ulubione ustawienia do tego pliku
"vimrc".
- Aby uzyskać więcej informacji wpisz :help vimrc-intro
+ Aby uzyskać więcej informacji, wpisz :help vimrc-intro
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekcja 7.3.: UZUPEŁNIANIE
@@ -907,11 +907,11 @@
1. Upewnij się, że Vim nie jest w trybie kompatybilności: :set nocp
- 2. Zerknij jakie pliki są w bieżącm katalogu: :!ls lub :!dir
+ 2. Zerknij, jakie pliki są w bieżącym katalogu: :!ls lub :!dir
3. Wpisz początek polecenia: :e
- 4. Wciśnij CTRL-D i Vim pokaże listę poleceń jakie zaczynają się na "e".
+ 4. Wciśnij CTRL-D i Vim pokaże listę poleceń, jakie zaczynają się na "e".
5. Wciśnij <TAB> i Vim uzupełni polecenie do ":edit".
@@ -925,7 +925,7 @@
Lekcja 7. PODSUMOWANIE
- 1. Wpisz :help lub wciśnij <F1> lub <Help> aby otworzyć okno pomocy.
+ 1. Wpisz :help albo wciśnij <F1> lub <Help> aby otworzyć okno pomocy.
2. Wpisz :help cmd aby uzyskać pomoc o cmd .
@@ -945,14 +945,14 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Tutaj się kończy tutorial Vima. Został on pomyślany tak aby dać krótki
+ Tutaj się kończy tutorial Vima. Został on pomyślany tak, aby dać krótki
przegląd jego możliwości, wystarczający byś mógł go używać. Jest on
- daleki od kompletności ponieważ Vim ma o wiele, wiele więcej poleceń.
+ daleki od kompletności, ponieważ Vim ma o wiele, wiele więcej poleceń.
Dla dalszej nauki rekomendujemy książkę:
Vim - Vi Improved - autor Steve Oualline
Wydawca: New Riders
- Pierwsza ksiązka całkowicie poświęcona Vimowi. Użyteczna zwłaszcza dla
+ Pierwsza książka całkowicie poświęcona Vimowi. Użyteczna zwłaszcza dla
początkujących. Zawiera wiele przykładów i ilustracji.
Zobacz http://iccf-holland.org./click5.html
@@ -960,7 +960,7 @@
polecenia:
Learning the Vi Editor - autor Linda Lamb
Wydawca: O'Reilly & Associates Inc.
- To dobra książka by dowiedzieć się niemal wszystkiego co chciałbyś zrobić
+ To dobra książka, by dowiedzieć się niemal wszystkiego, co chciałbyś zrobić
z Vi. Szósta edycja zawiera też informacje o Vimie.
Po polsku wydano:
@@ -991,4 +991,5 @@
rev. Marzec 2002
2nd rev. Wrzesień 2004
3rd rev. Marzec 2006
+ 4th rev. Grudzień 2008
Wszelkie uwagi proszę kierować na: [email protected]
diff -Nur runtime.patched/vimrc_example.vim runtime/vimrc_example.vim
--- runtime.patched/vimrc_example.vim 2008-07-02 13:11:53.000000000 -0700
+++ runtime/vimrc_example.vim 2009-01-14 12:14:38.000000000 -0800
@@ -1,7 +1,7 @@
" An example for a vimrc file.
"
" Maintainer: Bram Moolenaar <[email protected]>
-" Last change: 2008 Jul 02
+" Last change: 2008 Dec 17
"
" To use it, copy it to
" for Unix and OS/2: ~/.vimrc
@@ -14,7 +14,7 @@
finish
endif
-" Use Vim settings, rather then Vi settings (much better!).
+" Use Vim settings, rather than Vi settings (much better!).
" This must be first, because it changes other options as a side effect.
set nocompatible