blob: ef361dc218b45f971535fcc3529d8a9cbd1f32ae [file] [log] [blame]
Bram Moolenaara5792f52005-11-23 21:25:05 +00001" netrwSettings.vim: makes netrw settings simpler
Bram Moolenaar5c736222010-01-06 20:54:52 +01002" Date: Sep 03, 2008
Bram Moolenaara5792f52005-11-23 21:25:05 +00003" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
Bram Moolenaar5c736222010-01-06 20:54:52 +01004" Version: 13
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 Moolenaar5c736222010-01-06 20:54:52 +010022let g:loaded_netrwSettings = "v13"
23if v:version < 700
24 echohl WarningMsg
25 echo "***warning*** this version of netrwSettings needs vim 7.0"
26 echohl Normal
27 finish
28endif
Bram Moolenaara5792f52005-11-23 21:25:05 +000029
30" ---------------------------------------------------------------------
31" NetrwSettings: {{{1
32fun! netrwSettings#NetrwSettings()
33 " this call is here largely just to insure that netrw has been loaded
Bram Moolenaar446cb832008-06-24 21:56:24 +000034 call netrw#NetrwSavePosn()
Bram Moolenaara5792f52005-11-23 21:25:05 +000035 if !exists("g:loaded_netrw")
36 echohl WarningMsg | echomsg "***sorry*** netrw needs to be loaded prior to using NetrwSettings" | echohl None
37 return
38 endif
39
40 above wincmd s
41 enew
42 setlocal noswapfile bh=wipe
43 set ft=vim
44 file Netrw\ Settings
45
46 " these variables have the following default effects when they don't
47 " exist (ie. have not been set by the user in his/her .vimrc)
Bram Moolenaar313b7232007-05-05 17:56:55 +000048 if !exists("g:netrw_liststyle")
49 let g:netrw_liststyle= 0
Bram Moolenaara5792f52005-11-23 21:25:05 +000050 let g:netrw_list_cmd= "ssh HOSTNAME ls -FLa"
51 endif
52 if !exists("g:netrw_silent")
53 let g:netrw_silent= 0
54 endif
55 if !exists("g:netrw_use_nt_rcp")
56 let g:netrw_use_nt_rcp= 0
57 endif
58 if !exists("g:netrw_ftp")
59 let g:netrw_ftp= 0
60 endif
61 if !exists("g:netrw_ignorenetrc")
62 let g:netrw_ignorenetrc= 0
63 endif
64
Bram Moolenaardb552d602006-03-23 22:59:57 +000065 put ='+ ---------------------------------------------'
66 put ='+ NetrwSettings: by Charles E. Campbell, Jr.'
67 put ='+ Press <F1> with cursor atop any line for help'
68 put ='+ ---------------------------------------------'
Bram Moolenaara5792f52005-11-23 21:25:05 +000069 let s:netrw_settings_stop= line(".")
70
71 put =''
72 put ='+ Netrw Protocol Commands'
73 put = 'let g:netrw_dav_cmd = '.g:netrw_dav_cmd
74 put = 'let g:netrw_fetch_cmd = '.g:netrw_fetch_cmd
75 put = 'let g:netrw_ftp_cmd = '.g:netrw_ftp_cmd
76 put = 'let g:netrw_http_cmd = '.g:netrw_http_cmd
77 put = 'let g:netrw_rcp_cmd = '.g:netrw_rcp_cmd
78 put = 'let g:netrw_rsync_cmd = '.g:netrw_rsync_cmd
79 put = 'let g:netrw_scp_cmd = '.g:netrw_scp_cmd
80 put = 'let g:netrw_sftp_cmd = '.g:netrw_sftp_cmd
81 put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd
82 let s:netrw_protocol_stop= line(".")
83 put = ''
84
85 put ='+Netrw Transfer Control'
86 put = 'let g:netrw_cygwin = '.g:netrw_cygwin
87 put = 'let g:netrw_ftp = '.g:netrw_ftp
88 put = 'let g:netrw_ftpmode = '.g:netrw_ftpmode
89 put = 'let g:netrw_ignorenetrc = '.g:netrw_ignorenetrc
Bram Moolenaarccc18222007-05-10 18:25:20 +000090 put = 'let g:netrw_sshport = '.g:netrw_sshport
Bram Moolenaara5792f52005-11-23 21:25:05 +000091 put = 'let g:netrw_use_nt_rcp = '.g:netrw_use_nt_rcp
92 put = 'let g:netrw_win95ftp = '.g:netrw_win95ftp
93 let s:netrw_xfer_stop= line(".")
Bram Moolenaarccc18222007-05-10 18:25:20 +000094 put =''
95 put ='+ Netrw Messages'
96 put ='let g:netrw_use_errorwindow = '.g:netrw_use_errorwindow
Bram Moolenaara5792f52005-11-23 21:25:05 +000097
98 put = ''
99 put ='+ Netrw Browser Control'
100 put = 'let g:netrw_alto = '.g:netrw_alto
101 put = 'let g:netrw_altv = '.g:netrw_altv
Bram Moolenaarafeb4fa2006-02-01 21:51:12 +0000102 put = 'let g:netrw_browse_split = '.g:netrw_browse_split
103 if exists("g:netrw_browsex_viewer")
104 put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer
105 else
106 put = 'let g:netrw_browsex_viewer = (not defined)'
107 endif
Bram Moolenaar446cb832008-06-24 21:56:24 +0000108 put = 'let g:netrw_compress = '.g:netrw_compress
Bram Moolenaar97d62492012-11-15 21:28:22 +0100109 put = 'let g:netrw_cursor = '.g:netrw_cursor
Bram Moolenaar446cb832008-06-24 21:56:24 +0000110 let decompressline= line("$")
111 put ='let g:netrw_decompress...'
Bram Moolenaara5792f52005-11-23 21:25:05 +0000112 put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
Bram Moolenaar4ea8fe12006-03-09 22:32:39 +0000113 put = 'let g:netrw_fastbrowse = '.g:netrw_fastbrowse
Bram Moolenaar446cb832008-06-24 21:56:24 +0000114 let fnameescline= line("$")
115 put = 'let g:netrw_fname_escape...'
Bram Moolenaara5792f52005-11-23 21:25:05 +0000116 put = 'let g:netrw_ftp_browse_reject = '.g:netrw_ftp_browse_reject
117 put = 'let g:netrw_ftp_list_cmd = '.g:netrw_ftp_list_cmd
Bram Moolenaar313b7232007-05-05 17:56:55 +0000118 put = 'let g:netrw_ftp_sizelist_cmd = '.g:netrw_ftp_sizelist_cmd
119 put = 'let g:netrw_ftp_timelist_cmd = '.g:netrw_ftp_timelist_cmd
Bram Moolenaar446cb832008-06-24 21:56:24 +0000120 let globescline= line("$")
121 put ='let g:netrw_glob_escape...'
Bram Moolenaara5792f52005-11-23 21:25:05 +0000122 put = 'let g:netrw_hide = '.g:netrw_hide
123 put = 'let g:netrw_keepdir = '.g:netrw_keepdir
124 put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd
125 put = 'let g:netrw_list_hide = '.g:netrw_list_hide
Bram Moolenaar313b7232007-05-05 17:56:55 +0000126 put = 'let g:netrw_liststyle = '.g:netrw_liststyle
Bram Moolenaar446cb832008-06-24 21:56:24 +0000127 put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
Bram Moolenaar97d62492012-11-15 21:28:22 +0100128 put = 'let g:netrw_localmkdir = '.g:netrw_localmkdir
Bram Moolenaar446cb832008-06-24 21:56:24 +0000129 put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
Bram Moolenaar97d62492012-11-15 21:28:22 +0100130 put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
Bram Moolenaara5792f52005-11-23 21:25:05 +0000131 put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
Bram Moolenaar313b7232007-05-05 17:56:55 +0000132 put = 'let g:netrw_menu = '.g:netrw_menu
Bram Moolenaara5792f52005-11-23 21:25:05 +0000133 put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd
Bram Moolenaar446cb832008-06-24 21:56:24 +0000134 put = 'let g:netrw_preview = '.g:netrw_preview
Bram Moolenaara5792f52005-11-23 21:25:05 +0000135 put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd
Bram Moolenaar446cb832008-06-24 21:56:24 +0000136 put = 'let g:netrw_retmap = '.g:netrw_retmap
Bram Moolenaara5792f52005-11-23 21:25:05 +0000137 put = 'let g:netrw_rm_cmd = '.g:netrw_rm_cmd
138 put = 'let g:netrw_rmdir_cmd = '.g:netrw_rmdir_cmd
139 put = 'let g:netrw_rmf_cmd = '.g:netrw_rmf_cmd
140 put = 'let g:netrw_silent = '.g:netrw_silent
141 put = 'let g:netrw_sort_by = '.g:netrw_sort_by
142 put = 'let g:netrw_sort_direction = '.g:netrw_sort_direction
Bram Moolenaarc236c162008-07-13 17:41:49 +0000143 put = 'let g:netrw_sort_options = '.g:netrw_sort_options
Bram Moolenaara5792f52005-11-23 21:25:05 +0000144 put = 'let g:netrw_sort_sequence = '.g:netrw_sort_sequence
Bram Moolenaar446cb832008-06-24 21:56:24 +0000145 put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax
Bram Moolenaara5792f52005-11-23 21:25:05 +0000146 put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
Bram Moolenaarccc18222007-05-10 18:25:20 +0000147 put = 'let g:netrw_scpport = '.g:netrw_scpport
Bram Moolenaar5c736222010-01-06 20:54:52 +0100148 put = 'let g:netrw_sepchr = '.g:netrw_sepchr
Bram Moolenaarccc18222007-05-10 18:25:20 +0000149 put = 'let g:netrw_sshport = '.g:netrw_sshport
Bram Moolenaara5792f52005-11-23 21:25:05 +0000150 put = 'let g:netrw_timefmt = '.g:netrw_timefmt
Bram Moolenaar446cb832008-06-24 21:56:24 +0000151 let tmpfileescline= line("$")
152 put ='let g:netrw_tmpfile_escape...'
Bram Moolenaar313b7232007-05-05 17:56:55 +0000153 put = 'let g:netrw_use_noswf = '.g:netrw_use_noswf
Bram Moolenaar446cb832008-06-24 21:56:24 +0000154 put = 'let g:netrw_xstrlen = '.g:netrw_xstrlen
Bram Moolenaara5792f52005-11-23 21:25:05 +0000155 put = 'let g:netrw_winsize = '.g:netrw_winsize
156
157 put =''
Bram Moolenaarccc18222007-05-10 18:25:20 +0000158 put ='+ For help, place cursor on line and press <F1>'
Bram Moolenaara5792f52005-11-23 21:25:05 +0000159
160 1d
161 silent %s/^+/"/e
162 res 99
163 silent %s/= \([^0-9].*\)$/= '\1'/e
164 silent %s/= $/= ''/e
165 1
166
Bram Moolenaar446cb832008-06-24 21:56:24 +0000167 call setline(decompressline,"let g:netrw_decompress = ".substitute(string(g:netrw_decompress),"^'\\(.*\\)'$",'\1',''))
168 call setline(fnameescline, "let g:netrw_fname_escape = '".escape(g:netrw_fname_escape,"'")."'")
169 call setline(globescline, "let g:netrw_glob_escape = '".escape(g:netrw_glob_escape,"'")."'")
170 call setline(tmpfileescline,"let g:netrw_tmpfile_escape = '".escape(g:netrw_tmpfile_escape,"'")."'")
Bram Moolenaar313b7232007-05-05 17:56:55 +0000171
Bram Moolenaara5792f52005-11-23 21:25:05 +0000172 set nomod
173
Bram Moolenaar313b7232007-05-05 17:56:55 +0000174 nmap <buffer> <silent> <F1> :call NetrwSettingHelp()<cr>
175 nnoremap <buffer> <silent> <leftmouse> <leftmouse>:call NetrwSettingHelp()<cr>
Bram Moolenaara5792f52005-11-23 21:25:05 +0000176 let tmpfile= tempname()
177 exe 'au BufWriteCmd Netrw\ Settings silent w! '.tmpfile.'|so '.tmpfile.'|call delete("'.tmpfile.'")|set nomod'
178endfun
179
180" ---------------------------------------------------------------------
181" NetrwSettingHelp: {{{2
182fun! NetrwSettingHelp()
183" call Dfunc("NetrwSettingHelp()")
184 let curline = getline(".")
185 if curline =~ '='
186 let varhelp = substitute(curline,'^\s*let ','','e')
187 let varhelp = substitute(varhelp,'\s*=.*$','','e')
188" call Decho("trying help ".varhelp)
189 try
190 exe "he ".varhelp
191 catch /^Vim\%((\a\+)\)\=:E149/
192 echo "***sorry*** no help available for <".varhelp.">"
193 endtry
194 elseif line(".") < s:netrw_settings_stop
195 he netrw-settings
196 elseif line(".") < s:netrw_protocol_stop
197 he netrw-externapp
198 elseif line(".") < s:netrw_xfer_stop
199 he netrw-variables
200 else
201 he netrw-browse-var
202 endif
203" call Dret("NetrwSettingHelp")
204endfun
205
206" ---------------------------------------------------------------------
207" Modelines: {{{1
208" vim:ts=8 fdm=marker