blob: d6a93624791b9d42dc272de96b62cc00f80bb1b9 [file] [log] [blame]
Bram Moolenaara5792f52005-11-23 21:25:05 +00001" netrwSettings.vim: makes netrw settings simpler
Bram Moolenaar446cb832008-06-24 21:56:24 +00002" Date: Mar 11, 2008
Bram Moolenaara5792f52005-11-23 21:25:05 +00003" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
Bram Moolenaar446cb832008-06-24 21:56:24 +00004" Version: 11
Bram Moolenaar313b7232007-05-05 17:56:55 +00005" Copyright: Copyright (C) 1999-2007 Charles E. Campbell, Jr. {{{1
Bram Moolenaara5792f52005-11-23 21:25:05 +00006" 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.
14"
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
19if exists("g:loaded_netrwSettings") || &cp
20 finish
21endif
Bram Moolenaar446cb832008-06-24 21:56:24 +000022let g:loaded_netrwSettings = "v11"
Bram Moolenaara5792f52005-11-23 21:25:05 +000023
24" ---------------------------------------------------------------------
25" NetrwSettings: {{{1
26fun! netrwSettings#NetrwSettings()
27 " this call is here largely just to insure that netrw has been loaded
Bram Moolenaar446cb832008-06-24 21:56:24 +000028 call netrw#NetrwSavePosn()
Bram Moolenaara5792f52005-11-23 21:25:05 +000029 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
33
34 above wincmd s
35 enew
36 setlocal noswapfile bh=wipe
37 set ft=vim
38 file Netrw\ Settings
39
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)
Bram Moolenaar313b7232007-05-05 17:56:55 +000042 if !exists("g:netrw_liststyle")
43 let g:netrw_liststyle= 0
Bram Moolenaara5792f52005-11-23 21:25:05 +000044 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
58
Bram Moolenaardb552d602006-03-23 22:59:57 +000059 put ='+ ---------------------------------------------'
60 put ='+ NetrwSettings: by Charles E. Campbell, Jr.'
61 put ='+ Press <F1> with cursor atop any line for help'
62 put ='+ ---------------------------------------------'
Bram Moolenaara5792f52005-11-23 21:25:05 +000063 let s:netrw_settings_stop= line(".")
64
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 = ''
78
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
Bram Moolenaarccc18222007-05-10 18:25:20 +000084 put = 'let g:netrw_sshport = '.g:netrw_sshport
Bram Moolenaar313b7232007-05-05 17:56:55 +000085 let shqline= line("$")
86 put = 'let g:netrw_shq...'
Bram Moolenaara5792f52005-11-23 21:25:05 +000087 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(".")
Bram Moolenaarccc18222007-05-10 18:25:20 +000090 put =''
91 put ='+ Netrw Messages'
92 put ='let g:netrw_use_errorwindow = '.g:netrw_use_errorwindow
Bram Moolenaara5792f52005-11-23 21:25:05 +000093
94 put = ''
95 put ='+ Netrw Browser Control'
96 put = 'let g:netrw_alto = '.g:netrw_alto
97 put = 'let g:netrw_altv = '.g:netrw_altv
Bram Moolenaarafeb4fa2006-02-01 21:51:12 +000098 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
101 else
102 put = 'let g:netrw_browsex_viewer = (not defined)'
103 endif
Bram Moolenaar446cb832008-06-24 21:56:24 +0000104 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...'
Bram Moolenaara5792f52005-11-23 21:25:05 +0000109 put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
Bram Moolenaar4ea8fe12006-03-09 22:32:39 +0000110 put = 'let g:netrw_fastbrowse = '.g:netrw_fastbrowse
Bram Moolenaar446cb832008-06-24 21:56:24 +0000111 let fnameescline= line("$")
112 put = 'let g:netrw_fname_escape...'
Bram Moolenaara5792f52005-11-23 21:25:05 +0000113 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
Bram Moolenaar313b7232007-05-05 17:56:55 +0000115 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
Bram Moolenaar446cb832008-06-24 21:56:24 +0000117 let globescline= line("$")
118 put ='let g:netrw_glob_escape...'
Bram Moolenaara5792f52005-11-23 21:25:05 +0000119 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
Bram Moolenaar313b7232007-05-05 17:56:55 +0000123 put = 'let g:netrw_liststyle = '.g:netrw_liststyle
Bram Moolenaar446cb832008-06-24 21:56:24 +0000124 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
Bram Moolenaara5792f52005-11-23 21:25:05 +0000128 put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
Bram Moolenaar313b7232007-05-05 17:56:55 +0000129 put = 'let g:netrw_menu = '.g:netrw_menu
Bram Moolenaara5792f52005-11-23 21:25:05 +0000130 put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd
Bram Moolenaar446cb832008-06-24 21:56:24 +0000131 put = 'let g:netrw_preview = '.g:netrw_preview
Bram Moolenaara5792f52005-11-23 21:25:05 +0000132 put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd
Bram Moolenaar446cb832008-06-24 21:56:24 +0000133 put = 'let g:netrw_retmap = '.g:netrw_retmap
Bram Moolenaara5792f52005-11-23 21:25:05 +0000134 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
Bram Moolenaar446cb832008-06-24 21:56:24 +0000141 put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax
Bram Moolenaara5792f52005-11-23 21:25:05 +0000142 put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
Bram Moolenaarccc18222007-05-10 18:25:20 +0000143 put = 'let g:netrw_scpport = '.g:netrw_scpport
144 put = 'let g:netrw_sshport = '.g:netrw_sshport
Bram Moolenaara5792f52005-11-23 21:25:05 +0000145 put = 'let g:netrw_timefmt = '.g:netrw_timefmt
Bram Moolenaar446cb832008-06-24 21:56:24 +0000146 let tmpfileescline= line("$")
147 put ='let g:netrw_tmpfile_escape...'
Bram Moolenaar313b7232007-05-05 17:56:55 +0000148 put = 'let g:netrw_use_noswf = '.g:netrw_use_noswf
Bram Moolenaar446cb832008-06-24 21:56:24 +0000149 put = 'let g:netrw_xstrlen = '.g:netrw_xstrlen
Bram Moolenaara5792f52005-11-23 21:25:05 +0000150 put = 'let g:netrw_winsize = '.g:netrw_winsize
151
152 put =''
Bram Moolenaarccc18222007-05-10 18:25:20 +0000153 put ='+ For help, place cursor on line and press <F1>'
Bram Moolenaara5792f52005-11-23 21:25:05 +0000154
155 1d
156 silent %s/^+/"/e
157 res 99
158 silent %s/= \([^0-9].*\)$/= '\1'/e
159 silent %s/= $/= ''/e
160 1
161
Bram Moolenaar446cb832008-06-24 21:56:24 +0000162 " Put in g:netrw_shq setting and g:netrw_cd_escape
Bram Moolenaar313b7232007-05-05 17:56:55 +0000163 " (deferred so as to avoid the quote manipulation just preceding)
164 if g:netrw_shq == "'"
Bram Moolenaar446cb832008-06-24 21:56:24 +0000165 call setline(shqline, 'let g:netrw_shq = "'.g:netrw_shq.'"')
Bram Moolenaar313b7232007-05-05 17:56:55 +0000166 else
Bram Moolenaar446cb832008-06-24 21:56:24 +0000167 call setline(shqline, "let g:netrw_shq = '".g:netrw_shq."'")
Bram Moolenaar313b7232007-05-05 17:56:55 +0000168 endif
Bram Moolenaar446cb832008-06-24 21:56:24 +0000169 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,"'")."'")
Bram Moolenaar313b7232007-05-05 17:56:55 +0000174
Bram Moolenaara5792f52005-11-23 21:25:05 +0000175 set nomod
176
Bram Moolenaar313b7232007-05-05 17:56:55 +0000177 nmap <buffer> <silent> <F1> :call NetrwSettingHelp()<cr>
178 nnoremap <buffer> <silent> <leftmouse> <leftmouse>:call NetrwSettingHelp()<cr>
Bram Moolenaara5792f52005-11-23 21:25:05 +0000179 let tmpfile= tempname()
180 exe 'au BufWriteCmd Netrw\ Settings silent w! '.tmpfile.'|so '.tmpfile.'|call delete("'.tmpfile.'")|set nomod'
181endfun
182
183" ---------------------------------------------------------------------
184" NetrwSettingHelp: {{{2
185fun! NetrwSettingHelp()
186" call Dfunc("NetrwSettingHelp()")
187 let curline = getline(".")
188 if curline =~ '='
189 let varhelp = substitute(curline,'^\s*let ','','e')
190 let varhelp = substitute(varhelp,'\s*=.*$','','e')
191" call Decho("trying help ".varhelp)
192 try
193 exe "he ".varhelp
194 catch /^Vim\%((\a\+)\)\=:E149/
195 echo "***sorry*** no help available for <".varhelp.">"
196 endtry
197 elseif line(".") < s:netrw_settings_stop
198 he netrw-settings
199 elseif line(".") < s:netrw_protocol_stop
200 he netrw-externapp
201 elseif line(".") < s:netrw_xfer_stop
202 he netrw-variables
203 else
204 he netrw-browse-var
205 endif
206" call Dret("NetrwSettingHelp")
207endfun
208
209" ---------------------------------------------------------------------
210" Modelines: {{{1
211" vim:ts=8 fdm=marker