Vim 7.2b ready for testing.
[MacVim.git] / runtime / autoload / netrwSettings.vim
blobc0704d4ef40722c9dfcbd1a36b483511f7b59ecc
1 " netrwSettings.vim: makes netrw settings simpler
2 " Date:         Jul 02, 2008
3 " Maintainer:   Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
4 " Version:      12
5 " Copyright:    Copyright (C) 1999-2007 Charles E. Campbell, Jr. {{{1
6 "               Permission is hereby granted to use and distribute this code,
7 "               with or without modifications, provided that this copyright
8 "               notice is copied with it. Like anything else that's free,
9 "               netrwSettings.vim is provided *as is* and comes with no
10 "               warranty of any kind, either expressed or implied. By using
11 "               this plugin, you agree that in no event will the copyright
12 "               holder be liable for any damages resulting from the use
13 "               of this software.
15 " Mat 4:23 (WEB) Jesus went about in all Galilee, teaching in their {{{1
16 "                synagogues, preaching the gospel of the kingdom, and healing
17 "                every disease and every sickness among the people.
18 " Load Once: {{{1
19 if exists("g:loaded_netrwSettings") || &cp
20   finish
21 endif
22 let g:loaded_netrwSettings  = "v12"
24 " ---------------------------------------------------------------------
25 " NetrwSettings: {{{1
26 fun! netrwSettings#NetrwSettings()
27   " this call is here largely just to insure that netrw has been loaded
28   call netrw#NetrwSavePosn()
29   if !exists("g:loaded_netrw")
30    echohl WarningMsg | echomsg "***sorry*** netrw needs to be loaded prior to using NetrwSettings" | echohl None
31    return
32   endif
34   above wincmd s
35   enew
36   setlocal noswapfile bh=wipe
37   set ft=vim
38   file Netrw\ Settings
40   " these variables have the following default effects when they don't
41   " exist (ie. have not been set by the user in his/her .vimrc)
42   if !exists("g:netrw_liststyle")
43    let g:netrw_liststyle= 0
44    let g:netrw_list_cmd= "ssh HOSTNAME ls -FLa"
45   endif
46   if !exists("g:netrw_silent")
47    let g:netrw_silent= 0
48   endif
49   if !exists("g:netrw_use_nt_rcp")
50    let g:netrw_use_nt_rcp= 0
51   endif
52   if !exists("g:netrw_ftp")
53    let g:netrw_ftp= 0
54   endif
55   if !exists("g:netrw_ignorenetrc")
56    let g:netrw_ignorenetrc= 0
57   endif
59   put ='+ ---------------------------------------------'
60   put ='+  NetrwSettings:  by Charles E. Campbell, Jr.'
61   put ='+ Press <F1> with cursor atop any line for help'
62   put ='+ ---------------------------------------------'
63   let s:netrw_settings_stop= line(".")
65   put =''
66   put ='+ Netrw Protocol Commands'
67   put = 'let g:netrw_dav_cmd           = '.g:netrw_dav_cmd
68   put = 'let g:netrw_fetch_cmd         = '.g:netrw_fetch_cmd
69   put = 'let g:netrw_ftp_cmd           = '.g:netrw_ftp_cmd
70   put = 'let g:netrw_http_cmd          = '.g:netrw_http_cmd
71   put = 'let g:netrw_rcp_cmd           = '.g:netrw_rcp_cmd
72   put = 'let g:netrw_rsync_cmd         = '.g:netrw_rsync_cmd
73   put = 'let g:netrw_scp_cmd           = '.g:netrw_scp_cmd
74   put = 'let g:netrw_sftp_cmd          = '.g:netrw_sftp_cmd
75   put = 'let g:netrw_ssh_cmd           = '.g:netrw_ssh_cmd
76   let s:netrw_protocol_stop= line(".")
77   put = ''
79   put ='+Netrw Transfer Control'
80   put = 'let g:netrw_cygwin            = '.g:netrw_cygwin
81   put = 'let g:netrw_ftp               = '.g:netrw_ftp
82   put = 'let g:netrw_ftpmode           = '.g:netrw_ftpmode
83   put = 'let g:netrw_ignorenetrc       = '.g:netrw_ignorenetrc
84   put = 'let g:netrw_sshport           = '.g:netrw_sshport
85   put = 'let g:netrw_use_nt_rcp        = '.g:netrw_use_nt_rcp
86   put = 'let g:netrw_win95ftp          = '.g:netrw_win95ftp
87   let s:netrw_xfer_stop= line(".")
88   put =''
89   put ='+ Netrw Messages'
90   put ='let g:netrw_use_errorwindow    = '.g:netrw_use_errorwindow
92   put = ''
93   put ='+ Netrw Browser Control'
94   put = 'let g:netrw_alto              = '.g:netrw_alto
95   put = 'let g:netrw_altv              = '.g:netrw_altv
96   put = 'let g:netrw_browse_split      = '.g:netrw_browse_split
97   if exists("g:netrw_browsex_viewer")
98    put = 'let g:netrw_browsex_viewer    = '.g:netrw_browsex_viewer
99   else
100    put = 'let g:netrw_browsex_viewer    = (not defined)'
101   endif
102   put = 'let g:netrw_compress          = '.g:netrw_compress
103   let decompressline= line("$")
104   put ='let g:netrw_decompress...'
105   put = 'let g:netrw_dirhistmax        = '.g:netrw_dirhistmax
106   put = 'let g:netrw_fastbrowse        = '.g:netrw_fastbrowse
107   let fnameescline= line("$")
108   put = 'let g:netrw_fname_escape...'
109   put = 'let g:netrw_ftp_browse_reject = '.g:netrw_ftp_browse_reject
110   put = 'let g:netrw_ftp_list_cmd      = '.g:netrw_ftp_list_cmd
111   put = 'let g:netrw_ftp_sizelist_cmd  = '.g:netrw_ftp_sizelist_cmd
112   put = 'let g:netrw_ftp_timelist_cmd  = '.g:netrw_ftp_timelist_cmd
113   let globescline= line("$")
114   put ='let g:netrw_glob_escape...'
115   put = 'let g:netrw_hide              = '.g:netrw_hide
116   put = 'let g:netrw_keepdir           = '.g:netrw_keepdir
117   put = 'let g:netrw_list_cmd          = '.g:netrw_list_cmd
118   put = 'let g:netrw_list_hide         = '.g:netrw_list_hide
119   put = 'let g:netrw_liststyle         = '.g:netrw_liststyle
120   put = 'let g:netrw_localcopycmd      = '.g:netrw_localcopycmd
121   put = 'let g:netrw_local_mkdir       = '.g:netrw_local_mkdir
122   put = 'let g:netrw_localmovecmd      = '.g:netrw_localmovecmd
123   put = 'let g:netrw_local_rmdir       = '.g:netrw_local_rmdir
124   put = 'let g:netrw_maxfilenamelen    = '.g:netrw_maxfilenamelen
125   put = 'let g:netrw_menu              = '.g:netrw_menu
126   put = 'let g:netrw_mkdir_cmd         = '.g:netrw_mkdir_cmd
127   put = 'let g:netrw_preview           = '.g:netrw_preview
128   put = 'let g:netrw_rename_cmd        = '.g:netrw_rename_cmd
129   put = 'let g:netrw_retmap            = '.g:netrw_retmap
130   put = 'let g:netrw_rm_cmd            = '.g:netrw_rm_cmd
131   put = 'let g:netrw_rmdir_cmd         = '.g:netrw_rmdir_cmd
132   put = 'let g:netrw_rmf_cmd           = '.g:netrw_rmf_cmd
133   put = 'let g:netrw_silent            = '.g:netrw_silent
134   put = 'let g:netrw_sort_by           = '.g:netrw_sort_by
135   put = 'let g:netrw_sort_direction    = '.g:netrw_sort_direction
136   put = 'let g:netrw_sort_options      = '.g:netrw_sort_options
137   put = 'let g:netrw_sort_sequence     = '.g:netrw_sort_sequence
138   put = 'let g:netrw_special_syntax    = '.g:netrw_special_syntax
139   put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
140   put = 'let g:netrw_scpport           = '.g:netrw_scpport
141   put = 'let g:netrw_sshport           = '.g:netrw_sshport
142   put = 'let g:netrw_timefmt           = '.g:netrw_timefmt
143   let tmpfileescline= line("$")
144   put ='let g:netrw_tmpfile_escape...'
145   put = 'let g:netrw_use_noswf         = '.g:netrw_use_noswf
146   put = 'let g:netrw_xstrlen           = '.g:netrw_xstrlen
147   put = 'let g:netrw_winsize           = '.g:netrw_winsize
149   put =''
150   put ='+ For help, place cursor on line and press <F1>'
152   1d
153   silent %s/^+/"/e
154   res 99
155   silent %s/= \([^0-9].*\)$/= '\1'/e
156   silent %s/= $/= ''/e
157   1
159   call setline(decompressline,"let g:netrw_decompress        = ".substitute(string(g:netrw_decompress),"^'\\(.*\\)'$",'\1',''))
160   call setline(fnameescline,  "let g:netrw_fname_escape      = '".escape(g:netrw_fname_escape,"'")."'")
161   call setline(globescline,   "let g:netrw_glob_escape       = '".escape(g:netrw_glob_escape,"'")."'")
162   call setline(tmpfileescline,"let g:netrw_tmpfile_escape    = '".escape(g:netrw_tmpfile_escape,"'")."'")
164   set nomod
166   nmap <buffer> <silent> <F1>                       :call NetrwSettingHelp()<cr>
167   nnoremap <buffer> <silent> <leftmouse> <leftmouse>:call NetrwSettingHelp()<cr>
168   let tmpfile= tempname()
169   exe 'au BufWriteCmd   Netrw\ Settings silent w! '.tmpfile.'|so '.tmpfile.'|call delete("'.tmpfile.'")|set nomod'
170 endfun
172 " ---------------------------------------------------------------------
173 " NetrwSettingHelp: {{{2
174 fun! NetrwSettingHelp()
175 "  call Dfunc("NetrwSettingHelp()")
176   let curline = getline(".")
177   if curline =~ '='
178    let varhelp = substitute(curline,'^\s*let ','','e')
179    let varhelp = substitute(varhelp,'\s*=.*$','','e')
180 "   call Decho("trying help ".varhelp)
181    try
182     exe "he ".varhelp
183    catch /^Vim\%((\a\+)\)\=:E149/
184         echo "***sorry*** no help available for <".varhelp.">"
185    endtry
186   elseif line(".") < s:netrw_settings_stop
187    he netrw-settings
188   elseif line(".") < s:netrw_protocol_stop
189    he netrw-externapp
190   elseif line(".") < s:netrw_xfer_stop
191    he netrw-variables
192   else
193    he netrw-browse-var
194   endif
195 "  call Dret("NetrwSettingHelp")
196 endfun
198 " ---------------------------------------------------------------------
199 " Modelines: {{{1
200 " vim:ts=8 fdm=marker