1 " netrwSettings.vim: makes netrw settings simpler
3 " Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
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
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.
19 if exists("g:loaded_netrwSettings") || &cp
22 let g:loaded_netrwSettings = "v11"
24 " ---------------------------------------------------------------------
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
36 setlocal noswapfile bh=wipe
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"
46 if !exists("g:netrw_silent")
49 if !exists("g:netrw_use_nt_rcp")
50 let g:netrw_use_nt_rcp= 0
52 if !exists("g:netrw_ftp")
55 if !exists("g:netrw_ignorenetrc")
56 let g:netrw_ignorenetrc= 0
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(".")
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(".")
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 let shqline= line("$")
86 put = 'let g:netrw_shq...'
87 put = 'let g:netrw_use_nt_rcp = '.g:netrw_use_nt_rcp
88 put = 'let g:netrw_win95ftp = '.g:netrw_win95ftp
89 let s:netrw_xfer_stop= line(".")
91 put ='+ Netrw Messages'
92 put ='let g:netrw_use_errorwindow = '.g:netrw_use_errorwindow
95 put ='+ Netrw Browser Control'
96 put = 'let g:netrw_alto = '.g:netrw_alto
97 put = 'let g:netrw_altv = '.g:netrw_altv
98 put = 'let g:netrw_browse_split = '.g:netrw_browse_split
99 if exists("g:netrw_browsex_viewer")
100 put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer
102 put = 'let g:netrw_browsex_viewer = (not defined)'
104 let cdescline= line("$")
105 put ='let g:netrw_cd_escape...'
106 put = 'let g:netrw_compress = '.g:netrw_compress
107 let decompressline= line("$")
108 put ='let g:netrw_decompress...'
109 put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
110 put = 'let g:netrw_fastbrowse = '.g:netrw_fastbrowse
111 let fnameescline= line("$")
112 put = 'let g:netrw_fname_escape...'
113 put = 'let g:netrw_ftp_browse_reject = '.g:netrw_ftp_browse_reject
114 put = 'let g:netrw_ftp_list_cmd = '.g:netrw_ftp_list_cmd
115 put = 'let g:netrw_ftp_sizelist_cmd = '.g:netrw_ftp_sizelist_cmd
116 put = 'let g:netrw_ftp_timelist_cmd = '.g:netrw_ftp_timelist_cmd
117 let globescline= line("$")
118 put ='let g:netrw_glob_escape...'
119 put = 'let g:netrw_hide = '.g:netrw_hide
120 put = 'let g:netrw_keepdir = '.g:netrw_keepdir
121 put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd
122 put = 'let g:netrw_list_hide = '.g:netrw_list_hide
123 put = 'let g:netrw_liststyle = '.g:netrw_liststyle
124 put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
125 put = 'let g:netrw_local_mkdir = '.g:netrw_local_mkdir
126 put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
127 put = 'let g:netrw_local_rmdir = '.g:netrw_local_rmdir
128 put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
129 put = 'let g:netrw_menu = '.g:netrw_menu
130 put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd
131 put = 'let g:netrw_preview = '.g:netrw_preview
132 put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd
133 put = 'let g:netrw_retmap = '.g:netrw_retmap
134 put = 'let g:netrw_rm_cmd = '.g:netrw_rm_cmd
135 put = 'let g:netrw_rmdir_cmd = '.g:netrw_rmdir_cmd
136 put = 'let g:netrw_rmf_cmd = '.g:netrw_rmf_cmd
137 put = 'let g:netrw_silent = '.g:netrw_silent
138 put = 'let g:netrw_sort_by = '.g:netrw_sort_by
139 put = 'let g:netrw_sort_direction = '.g:netrw_sort_direction
140 put = 'let g:netrw_sort_sequence = '.g:netrw_sort_sequence
141 put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax
142 put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
143 put = 'let g:netrw_scpport = '.g:netrw_scpport
144 put = 'let g:netrw_sshport = '.g:netrw_sshport
145 put = 'let g:netrw_timefmt = '.g:netrw_timefmt
146 let tmpfileescline= line("$")
147 put ='let g:netrw_tmpfile_escape...'
148 put = 'let g:netrw_use_noswf = '.g:netrw_use_noswf
149 put = 'let g:netrw_xstrlen = '.g:netrw_xstrlen
150 put = 'let g:netrw_winsize = '.g:netrw_winsize
153 put ='+ For help, place cursor on line and press <F1>'
158 silent %s/= \([^0-9].*\)$/= '\1'/e
162 " Put in g:netrw_shq setting and g:netrw_cd_escape
163 " (deferred so as to avoid the quote manipulation just preceding)
164 if g:netrw_shq == "'"
165 call setline(shqline, 'let g:netrw_shq = "'.g:netrw_shq.'"')
167 call setline(shqline, "let g:netrw_shq = '".g:netrw_shq."'")
169 call setline(cdescline, "let g:netrw_cd_escape = ".'"'.escape(g:netrw_cd_escape,'\"').'"')
170 call setline(decompressline,"let g:netrw_decompress = ".substitute(string(g:netrw_decompress),"^'\\(.*\\)'$",'\1',''))
171 call setline(fnameescline, "let g:netrw_fname_escape = '".escape(g:netrw_fname_escape,"'")."'")
172 call setline(globescline, "let g:netrw_glob_escape = '".escape(g:netrw_glob_escape,"'")."'")
173 call setline(tmpfileescline,"let g:netrw_tmpfile_escape = '".escape(g:netrw_tmpfile_escape,"'")."'")
177 nmap <buffer> <silent> <F1> :call NetrwSettingHelp()<cr>
178 nnoremap <buffer> <silent> <leftmouse> <leftmouse>:call NetrwSettingHelp()<cr>
179 let tmpfile= tempname()
180 exe 'au BufWriteCmd Netrw\ Settings silent w! '.tmpfile.'|so '.tmpfile.'|call delete("'.tmpfile.'")|set nomod'
183 " ---------------------------------------------------------------------
184 " NetrwSettingHelp: {{{2
185 fun! NetrwSettingHelp()
186 " call Dfunc("NetrwSettingHelp()")
187 let curline = getline(".")
189 let varhelp = substitute(curline,'^\s*let ','','e')
190 let varhelp = substitute(varhelp,'\s*=.*$','','e')
191 " call Decho("trying help ".varhelp)
194 catch /^Vim\%((\a\+)\)\=:E149/
195 echo "***sorry*** no help available for <".varhelp.">"
197 elseif line(".") < s:netrw_settings_stop
199 elseif line(".") < s:netrw_protocol_stop
201 elseif line(".") < s:netrw_xfer_stop
206 " call Dret("NetrwSettingHelp")
209 " ---------------------------------------------------------------------
211 " vim:ts=8 fdm=marker