GetLatestVimScripts

This commit is contained in:
Stefan Liebl 2014-05-28 15:06:35 +02:00
parent 70842bf204
commit 20ee27ef1d
12 changed files with 2964 additions and 1208 deletions

View File

@ -26,11 +26,11 @@ ScriptID SourceID Filename
294 19633 Align.vim 294 19633 Align.vim
479 9276 MultipleSearch.vba 479 9276 MultipleSearch.vba
1066 7618 cecutil.vim 1066 7618 cecutil.vim
1173 19247 tComment.vim 1173 21766 tComment.vim
2701 18988 editsrec 2701 18988 editsrec
3280 14334 Tabbi 3280 14334 Tabbi
642 15781 :AutoInstall: getscript.vim 642 15781 :AutoInstall: getscript.vim
1075 19823 :AutoInstall: netrw.vim 1075 21427 :AutoInstall: netrw.vim
1502 15362 :AutoInstall: vimball.vim 1502 15362 :AutoInstall: vimball.vim
3304 20505 Gundo 3304 20505 Gundo
90 19809 vcscommand 90 19809 vcscommand

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,8 @@
" netrwFileHandlers: contains various extension-based file handlers for " netrwFileHandlers: contains various extension-based file handlers for
" netrw's browsers' x command ("eXecute launcher") " netrw's browsers' x command ("eXecute launcher")
" Author: Charles E. Campbell " Author: Charles E. Campbell
" Date: Mar 14, 2012 " Date: May 03, 2013
" Version: 11a " Version: 11b ASTRO-ONLY
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1 " Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code, " Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright " with or without modifications, provided that this copyright
@ -20,7 +20,7 @@
if exists("g:loaded_netrwFileHandlers") || &cp if exists("g:loaded_netrwFileHandlers") || &cp
finish finish
endif endif
let g:loaded_netrwFileHandlers= "v11a" let g:loaded_netrwFileHandlers= "v11b"
if v:version < 702 if v:version < 702
echohl WarningMsg echohl WarningMsg
echo "***warning*** this version of netrwFileHandlers needs vim 7.2" echo "***warning*** this version of netrwFileHandlers needs vim 7.2"
@ -34,10 +34,10 @@ set cpo&vim
" netrwFileHandlers#Invoke: {{{1 " netrwFileHandlers#Invoke: {{{1
fun! netrwFileHandlers#Invoke(exten,fname) fun! netrwFileHandlers#Invoke(exten,fname)
" call Dfunc("netrwFileHandlers#Invoke(exten<".a:exten."> fname<".a:fname.">)") " call Dfunc("netrwFileHandlers#Invoke(exten<".a:exten."> fname<".a:fname.">)")
let fname= a:fname let exten= a:exten
" list of supported special characters. Consider rcs,v --- that can be " list of supported special characters. Consider rcs,v --- that can be
" supported with a NFH_rcsCOMMAv() handler " supported with a NFH_rcsCOMMAv() handler
if a:fname =~ '[@:,$!=\-+%?;~]' if exten =~ '[@:,$!=\-+%?;~]'
let specials= { let specials= {
\ '@' : 'AT', \ '@' : 'AT',
\ ':' : 'COLON', \ ':' : 'COLON',
@ -51,18 +51,18 @@ fun! netrwFileHandlers#Invoke(exten,fname)
\ '?' : 'QUESTION', \ '?' : 'QUESTION',
\ ';' : 'SEMICOLON', \ ';' : 'SEMICOLON',
\ '~' : 'TILDE'} \ '~' : 'TILDE'}
let fname= substitute(a:fname,'[@:,$!=\-+%?;~]','\=specials[submatch(0)]','ge') let exten= substitute(a:exten,'[@:,$!=\-+%?;~]','\=specials[submatch(0)]','ge')
" call Decho('fname<'.fname.'> done with dictionary') " call Decho('fname<'.fname.'> done with dictionary')
endif endif
if a:exten != "" && exists("*NFH_".a:exten) if a:exten != "" && exists("*NFH_".exten)
" support user NFH_*() functions " support user NFH_*() functions
" call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")') " call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")')
exe "let ret= NFH_".a:exten.'("'.fname.'")' exe "let ret= NFH_".exten.'("'.a:fname.'")'
elseif a:exten != "" && exists("*s:NFH_".a:exten) elseif a:exten != "" && exists("*s:NFH_".exten)
" use builtin-NFH_*() functions " use builtin-NFH_*() functions
" call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")') " call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")')
exe "let ret= s:NFH_".a:exten.'("'.fname.'")' exe "let ret= s:NFH_".a:exten.'("'.a:fname.'")'
endif endif
" call Dret("netrwFileHandlers#Invoke 0 : ret=".ret) " call Dret("netrwFileHandlers#Invoke 0 : ret=".ret)

View File

@ -1,7 +1,7 @@
" netrwSettings.vim: makes netrw settings simpler " netrwSettings.vim: makes netrw settings simpler
" Date: Sep 03, 2008 " Date: Aug 27, 2013
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz> " Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
" Version: 13 " Version: 14
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1 " Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code, " Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright " with or without modifications, provided that this copyright
@ -19,7 +19,7 @@
if exists("g:loaded_netrwSettings") || &cp if exists("g:loaded_netrwSettings") || &cp
finish finish
endif endif
let g:loaded_netrwSettings = "v13" let g:loaded_netrwSettings = "v14"
if v:version < 700 if v:version < 700
echohl WarningMsg echohl WarningMsg
echo "***warning*** this version of netrwSettings needs vim 7.0" echo "***warning*** this version of netrwSettings needs vim 7.0"
@ -88,6 +88,7 @@ fun! netrwSettings#NetrwSettings()
put = 'let g:netrw_ftpmode = '.g:netrw_ftpmode put = 'let g:netrw_ftpmode = '.g:netrw_ftpmode
put = 'let g:netrw_ignorenetrc = '.g:netrw_ignorenetrc put = 'let g:netrw_ignorenetrc = '.g:netrw_ignorenetrc
put = 'let g:netrw_sshport = '.g:netrw_sshport put = 'let g:netrw_sshport = '.g:netrw_sshport
put = 'let g:netrw_silent = '.g:netrw_silent
put = 'let g:netrw_use_nt_rcp = '.g:netrw_use_nt_rcp put = 'let g:netrw_use_nt_rcp = '.g:netrw_use_nt_rcp
put = 'let g:netrw_win95ftp = '.g:netrw_win95ftp put = 'let g:netrw_win95ftp = '.g:netrw_win95ftp
let s:netrw_xfer_stop= line(".") let s:netrw_xfer_stop= line(".")
@ -97,29 +98,57 @@ fun! netrwSettings#NetrwSettings()
put = '' put = ''
put ='+ Netrw Browser Control' put ='+ Netrw Browser Control'
if exists("g:netrw_altfile")
put = 'let g:netrw_altfile = '.g:netrw_altfile
else
put = 'let g:netrw_altfile = 0'
endif
put = 'let g:netrw_alto = '.g:netrw_alto put = 'let g:netrw_alto = '.g:netrw_alto
put = 'let g:netrw_altv = '.g:netrw_altv put = 'let g:netrw_altv = '.g:netrw_altv
put = 'let g:netrw_banner = '.g:netrw_banner
if exists("g:netrw_bannerbackslash")
put = 'let g:netrw_bannerbackslash = '.g:netrw_bannerbackslash
else
put = '\" let g:netrw_bannerbackslash = (not defined)'
endif
put = 'let g:netrw_browse_split = '.g:netrw_browse_split put = 'let g:netrw_browse_split = '.g:netrw_browse_split
if exists("g:netrw_browsex_viewer") if exists("g:netrw_browsex_viewer")
put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer
else else
put = 'let g:netrw_browsex_viewer = (not defined)' put = '\" let g:netrw_browsex_viewer = (not defined)'
endif endif
put = 'let g:netrw_compress = '.g:netrw_compress put = 'let g:netrw_compress = '.g:netrw_compress
if exists("g:Netrw_corehandler")
put = 'let g:Netrw_corehandler = '.g:Netrw_corehandler
else
put = '\" let g:Netrw_corehandler = (not defined)'
endif
put = 'let g:netrw_ctags = '.g:netrw_ctags
put = 'let g:netrw_cursor = '.g:netrw_cursor put = 'let g:netrw_cursor = '.g:netrw_cursor
let decompressline= line("$") let decompressline= line("$")
put ='let g:netrw_decompress...' put = 'let g:netrw_decompress = '.string(g:netrw_decompress)
if exists("g:netrw_dynamic_maxfilenamelen")
put = 'let g:netrw_dynamic_maxfilenamelen='.g:netrw_dynamic_maxfilenamelen
else
put = '\" let g:netrw_dynamic_maxfilenamelen= (not defined)'
endif
put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
put = 'let g:netrw_errorlvl = '.g:netrw_errorlvl
put = 'let g:netrw_fastbrowse = '.g:netrw_fastbrowse put = 'let g:netrw_fastbrowse = '.g:netrw_fastbrowse
let fnameescline= line("$") let fnameescline= line("$")
put = 'let g:netrw_fname_escape...' put = 'let g:netrw_fname_escape = '.string(g:netrw_fname_escape)
put = 'let g:netrw_ftp_browse_reject = '.g:netrw_ftp_browse_reject put = 'let g:netrw_ftp_browse_reject = '.g:netrw_ftp_browse_reject
put = 'let g:netrw_ftp_list_cmd = '.g:netrw_ftp_list_cmd put = 'let g:netrw_ftp_list_cmd = '.g:netrw_ftp_list_cmd
put = 'let g:netrw_ftp_sizelist_cmd = '.g:netrw_ftp_sizelist_cmd put = 'let g:netrw_ftp_sizelist_cmd = '.g:netrw_ftp_sizelist_cmd
put = 'let g:netrw_ftp_timelist_cmd = '.g:netrw_ftp_timelist_cmd put = 'let g:netrw_ftp_timelist_cmd = '.g:netrw_ftp_timelist_cmd
let globescline= line("$") let globescline= line("$")
put ='let g:netrw_glob_escape...' put = 'let g:netrw_glob_escape = '.string(g:netrw_glob_escape)
put = 'let g:netrw_hide = '.g:netrw_hide put = 'let g:netrw_hide = '.g:netrw_hide
if exists("g:netrw_home")
put = 'let g:netrw_home = '.g:netrw_home
else
put = '\" let g:netrw_home = (not defined)'
endif
put = 'let g:netrw_keepdir = '.g:netrw_keepdir put = 'let g:netrw_keepdir = '.g:netrw_keepdir
put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd
put = 'let g:netrw_list_hide = '.g:netrw_list_hide put = 'let g:netrw_list_hide = '.g:netrw_list_hide
@ -130,20 +159,27 @@ fun! netrwSettings#NetrwSettings()
put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
put = 'let g:netrw_menu = '.g:netrw_menu put = 'let g:netrw_menu = '.g:netrw_menu
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps
put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd
if exists("g:netrw_nobeval")
put = 'let g:netrw_nobeval = '.g:netrw_nobeval
else
put = '\" let g:netrw_nobeval = (not defined)'
endif
put = 'let g:netrw_remote_mkdir = '.g:netrw_remote_mkdir
put = 'let g:netrw_preview = '.g:netrw_preview put = 'let g:netrw_preview = '.g:netrw_preview
put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd
put = 'let g:netrw_retmap = '.g:netrw_retmap put = 'let g:netrw_retmap = '.g:netrw_retmap
put = 'let g:netrw_rm_cmd = '.g:netrw_rm_cmd put = 'let g:netrw_rm_cmd = '.g:netrw_rm_cmd
put = 'let g:netrw_rmdir_cmd = '.g:netrw_rmdir_cmd put = 'let g:netrw_rmdir_cmd = '.g:netrw_rmdir_cmd
put = 'let g:netrw_rmf_cmd = '.g:netrw_rmf_cmd put = 'let g:netrw_rmf_cmd = '.g:netrw_rmf_cmd
put = 'let g:netrw_silent = '.g:netrw_silent
put = 'let g:netrw_sort_by = '.g:netrw_sort_by put = 'let g:netrw_sort_by = '.g:netrw_sort_by
put = 'let g:netrw_sort_direction = '.g:netrw_sort_direction put = 'let g:netrw_sort_direction = '.g:netrw_sort_direction
put = 'let g:netrw_sort_options = '.g:netrw_sort_options put = 'let g:netrw_sort_options = '.g:netrw_sort_options
put = 'let g:netrw_sort_sequence = '.g:netrw_sort_sequence put = 'let g:netrw_sort_sequence = '.g:netrw_sort_sequence
put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax 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_ssh_browse_reject = '.g:netrw_ssh_browse_reject
put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd
put = 'let g:netrw_scpport = '.g:netrw_scpport put = 'let g:netrw_scpport = '.g:netrw_scpport
put = 'let g:netrw_sepchr = '.g:netrw_sepchr put = 'let g:netrw_sepchr = '.g:netrw_sepchr
put = 'let g:netrw_sshport = '.g:netrw_sshport put = 'let g:netrw_sshport = '.g:netrw_sshport

View File

@ -0,0 +1,71 @@
" netrw_gitignore#Hide: gitignore-based hiding
" Function returns a string of comma separated patterns convenient for
" assignment to `g:netrw_list_hide` option.
" Function can take additional filenames as arguments, example:
" netrw_gitignore#Hide('custom_gitignore1', 'custom_gitignore2')
"
" Usage examples:
" let g:netrw_list_hide = netrw_gitignore#Hide()
" let g:netrw_list_hide = netrw_gitignore#Hide() . 'more,hide,patterns'
"
" Copyright: Copyright (C) 2013 Bruno Sutic {{{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,
" netrw_gitignore.vim is provided *as is* and comes with no
" warranty of any kind, either expressed or implied. By using
" this plugin, you agree that in no event will the copyright
" holder be liable for any damages resulting from the use
" of this software.
function! netrw_gitignore#Hide(...)
let additional_files = a:000
let default_files = ['.gitignore', '.git/info/exclude']
" get existing global/system gitignore files
let global_gitignore = expand(substitute(system("git config --global core.excludesfile"), '\n', '', 'g'))
if global_gitignore !=# ''
let default_files = add(default_files, global_gitignore)
endif
let system_gitignore = expand(substitute(system("git config --system core.excludesfile"), '\n', '', 'g'))
if system_gitignore !=# ''
let default_files = add(default_files, system_gitignore)
endif
" append additional files if given as function arguments
if additional_files !=# []
let files = extend(default_files, additional_files)
else
let files = default_files
endif
" keep only existing/readable files
let gitignore_files = []
for file in files
if filereadable(file)
let gitignore_files = add(gitignore_files, file)
endif
endfor
" get contents of gitignore patterns from those files
let gitignore_lines = []
for file in gitignore_files
for line in readfile(file)
" filter empty lines and comments
if line !~# '^#' && line !~# '^$'
let gitignore_lines = add(gitignore_lines, line)
endif
endfor
endfor
" convert gitignore patterns to Netrw/Vim regex patterns
let escaped_lines = []
for line in gitignore_lines
let escaped = line
let escaped = substitute(escaped, '\.', '\\.', 'g')
let escaped = substitute(escaped, '*', '.*', 'g')
let escaped_lines = add(escaped_lines, escaped)
endfor
return join(escaped_lines, ',')
endfunction

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
*pi_netrw.txt* For Vim version 7.3. Last change: 2013 Apr 15 *pi_netrw.txt* For Vim version 7.4. Last change: 2014 Jan 21
------------------------------------------------ ------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell NETRW REFERENCE MANUAL by Charles E. Campbell
@ -6,7 +6,7 @@
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM> Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first) (remove NOSPAM from Campbell's email first)
Copyright: Copyright (C) 1999-2013 Charles E Campbell *netrw-copyright* Copyright: Copyright (C) 1999-2014 Charles E Campbell *netrw-copyright*
The VIM LICENSE applies to the files in this package, including The VIM LICENSE applies to the files in this package, including
netrw.vim, pi_netrw.txt, netrwFileHandlers.vim, netrwSettings.vim, and netrw.vim, pi_netrw.txt, netrwFileHandlers.vim, netrwSettings.vim, and
syntax/netrw.vim. Like anything else that's free, netrw.vim and its syntax/netrw.vim. Like anything else that's free, netrw.vim and its
@ -146,13 +146,13 @@ and has lines resembling >
< <
Windows' ftp doesn't support .netrc; however, one may have in one's .vimrc: > Windows' ftp doesn't support .netrc; however, one may have in one's .vimrc: >
let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\Myself\MACHINE' let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\MyUserName\MACHINE'
< <
Netrw will substitute the host's machine name for MACHINE from the url it is Netrw will substitute the host's machine name for "MACHINE" from the url it is
attempting to open, and so one may specify > attempting to open, and so one may specify >
userid userid
password password
for each site in a separate file in c:\Users\Myself\. for each site in a separate file: c:\Users\MyUserName\MachineName.
Now about browsing -- when you just want to look around before editing a Now about browsing -- when you just want to look around before editing a
file. For browsing on your current host, just "edit" a directory: > file. For browsing on your current host, just "edit" a directory: >
@ -203,6 +203,7 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
http: g:netrw_http_cmd = "curl" elseif curl 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 = "wget" elseif wget is available
http: g:netrw_http_cmd = "fetch" elseif fetch is available http: g:netrw_http_cmd = "fetch" elseif fetch is available
http: *g:netrw_http_put_cmd* = "curl -T"
rcp: *g:netrw_rcp_cmd* = "rcp" rcp: *g:netrw_rcp_cmd* = "rcp"
rsync: *g:netrw_rsync_cmd* = "rsync -a" rsync: *g:netrw_rsync_cmd* = "rsync -a"
scp: *g:netrw_scp_cmd* = "scp -q" scp: *g:netrw_scp_cmd* = "scp -q"
@ -223,6 +224,9 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
let g:netrw_http_xcmd= "-dump >" let g:netrw_http_xcmd= "-dump >"
< in your .vimrc. < in your .vimrc.
g:netrw_http_put_cmd: this option specifies both the executable and
any needed options. This command does a PUT operation to the url.
READING *netrw-read* *netrw-nread* {{{2 READING *netrw-read* *netrw-nread* {{{2
@ -321,6 +325,8 @@ CHANGING USERID AND PASSWORD *netrw-chgup* *netrw-userpass* {{{2
:call NetUserPass("uid") -- prompts for password :call NetUserPass("uid") -- prompts for password
:call NetUserPass("uid","password") -- sets global uid and password :call NetUserPass("uid","password") -- sets global uid and password
(Related topics: |ftp| |netrw-userpass| |netrw-start|)
NETRW VARIABLES AND SETTINGS *netrw-variables* {{{2 NETRW VARIABLES AND SETTINGS *netrw-variables* {{{2
(Also see: (Also see:
|netrw-browser-var| : netrw browser option variables |netrw-browser-var| : netrw browser option variables
@ -814,8 +820,7 @@ variables listed below, and may be modified by the user.
------------------------ ------------------------
Option Type Setting Meaning Option Type Setting Meaning
--------- -------- -------------- --------------------------- --------- -------- -------------- ---------------------------
< < netrw_ftp variable =doesn't exist userid set by "user userid"
netrw_ftp variable =doesn't exist userid set by "user userid"
=0 userid set by "user userid" =0 userid set by "user userid"
=1 userid set by "userid" =1 userid set by "userid"
NetReadFixup function =doesn't exist no change NetReadFixup function =doesn't exist no change
@ -823,17 +828,18 @@ variables listed below, and may be modified by the user.
read via ftp automatically read via ftp automatically
transformed however they wish transformed however they wish
by NetReadFixup() by NetReadFixup()
g:netrw_dav_cmd variable ="cadaver" if cadaver is executable g:netrw_dav_cmd var ="cadaver" if cadaver is executable
g:netrw_dav_cmd variable ="curl -o" elseif curl is executable g:netrw_dav_cmd var ="curl -o" elseif curl is executable
g:netrw_fetch_cmd variable ="fetch -o" if fetch is available g:netrw_fetch_cmd var ="fetch -o" if fetch is available
g:netrw_ftp_cmd variable ="ftp" g:netrw_ftp_cmd var ="ftp"
g:netrw_http_cmd variable ="fetch -o" if fetch is available g:netrw_http_cmd var ="fetch -o" if fetch is available
g:netrw_http_cmd variable ="wget -O" else if wget is available g:netrw_http_cmd var ="wget -O" else if wget is available
g:netrw_list_cmd variable ="ssh USEPORT HOSTNAME ls -Fa" g:netrw_http_put_cmd var ="curl -T"
g:netrw_rcp_cmd variable ="rcp" g:netrw_list_cmd var ="ssh USEPORT HOSTNAME ls -Fa"
g:netrw_rsync_cmd variable ="rsync -a" g:netrw_rcp_cmd var ="rcp"
g:netrw_scp_cmd variable ="scp -q" g:netrw_rsync_cmd var ="rsync -a"
g:netrw_sftp_cmd variable ="sftp" > g:netrw_scp_cmd var ="scp -q"
g:netrw_sftp_cmd var ="sftp" >
------------------------------------------------------------------------- -------------------------------------------------------------------------
< <
*netrw-ftp* *netrw-ftp*
@ -927,6 +933,7 @@ itself:
endfunction endfunction
endif endif
> >
(Related topics: |ftp| |netrw-userpass| |netrw-start|)
============================================================================== ==============================================================================
9. Browsing *netrw-browsing* *netrw-browse* *netrw-help* {{{1 9. Browsing *netrw-browsing* *netrw-browse* *netrw-help* {{{1
@ -1094,16 +1101,20 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
mapping defined before netrw is autoloaded, mapping defined before netrw is autoloaded,
then a double clicked leftmouse button will return then a double clicked leftmouse button will return
to the netrw browser window. See |g:netrw_retmap|. to the netrw browser window. See |g:netrw_retmap|.
<s-leftmouse> (gvim only) like mf, will mark files <s-leftmouse> (gvim only) like mf, will mark files. Dragging
the shifted leftmouse will mark multiple files.
(see |netrw-mf|)
(to disable mouse buttons while browsing: |g:netrw_mousemaps|) (to disable mouse buttons while browsing: |g:netrw_mousemaps|)
*netrw-quickcom* *netrw-quickcoms* *netrw-quickcom* *netrw-quickcoms*
QUICK REFERENCE: COMMANDS *netrw-explore-cmds* *netrw-browse-cmds* {{{2 QUICK REFERENCE: COMMANDS *netrw-explore-cmds* *netrw-browse-cmds* {{{2
:NetrwClean[!] ...........................................|netrw-clean| :NetrwClean[!]............................................|netrw-clean|
:NetrwSettings ...........................................|netrw-settings| :NetrwSettings............................................|netrw-settings|
:Ntree....................................................|netrw-ntree|
:Explore[!] [dir] Explore directory of current file......|netrw-explore| :Explore[!] [dir] Explore directory of current file......|netrw-explore|
:Hexplore[!] [dir] Horizontal Split & Explore.............|netrw-explore| :Hexplore[!] [dir] Horizontal Split & Explore.............|netrw-explore|
:Lexplore [dir] Left Explorer Toggle...................|netrw-explore|
:Nexplore[!] [dir] Vertical Split & Explore...............|netrw-explore| :Nexplore[!] [dir] Vertical Split & Explore...............|netrw-explore|
:Pexplore[!] [dir] Vertical Split & Explore...............|netrw-explore| :Pexplore[!] [dir] Vertical Split & Explore...............|netrw-explore|
:Rexplore Return to Explorer.....................|netrw-explore| :Rexplore Return to Explorer.....................|netrw-explore|
@ -1318,6 +1329,17 @@ See |g:netrw_dirhistmax| for how to control the quantity of history stack
slots. slots.
CHANGING TREE TOP *netrw-ntree* *:Ntree*
One may specify a new tree top for tree listings using >
:Ntree [dirname]
Without a "dirname", the current line is used (and any leading depth
information is elided).
With a "dirname", the specified directory name is used.
NETRW CLEAN *netrw-clean* *:NetrwClean* NETRW CLEAN *netrw-clean* *:NetrwClean*
With :NetrwClean one may easily remove netrw from one's home directory; With :NetrwClean one may easily remove netrw from one's home directory;
@ -1455,7 +1477,7 @@ Associated setting variable: |g:netrw_localrmdir| |g:netrw_rm_cmd|
*netrw-explore* *netrw-hexplore* *netrw-nexplore* *netrw-pexplore* *netrw-explore* *netrw-hexplore* *netrw-nexplore* *netrw-pexplore*
*netrw-rexplore* *netrw-sexplore* *netrw-texplore* *netrw-vexplore* *netrw-rexplore* *netrw-sexplore* *netrw-texplore* *netrw-vexplore* *netrw-lexplore*
DIRECTORY EXPLORATION COMMANDS {{{2 DIRECTORY EXPLORATION COMMANDS {{{2
:[N]Explore[!] [dir]... Explore directory of current file *:Explore* :[N]Explore[!] [dir]... Explore directory of current file *:Explore*
@ -1464,6 +1486,7 @@ DIRECTORY EXPLORATION COMMANDS {{{2
:[N]Sexplore[!] [dir]... Split&Explore current file's directory *:Sexplore* :[N]Sexplore[!] [dir]... Split&Explore current file's directory *:Sexplore*
:Texplore [dir]... Tab & Explore *:Texplore* :Texplore [dir]... Tab & Explore *:Texplore*
:[N]Vexplore[!] [dir]... Vertical Split & Explore *:Vexplore* :[N]Vexplore[!] [dir]... Vertical Split & Explore *:Vexplore*
:Lexplore [dir]... Left Explorer Toggle *:Lexplore*
Used with :Explore **/pattern : (also see |netrw-starstar|) Used with :Explore **/pattern : (also see |netrw-starstar|)
:Nexplore............. go to next matching file *:Nexplore* :Nexplore............. go to next matching file *:Nexplore*
@ -1475,6 +1498,9 @@ DIRECTORY EXPLORATION COMMANDS {{{2
window will take over that window. Normally the splitting is taken window will take over that window. Normally the splitting is taken
horizontally. horizontally.
:Explore! is like :Explore, but will use vertical splitting. :Explore! is like :Explore, but will use vertical splitting.
:Lexplore [dir] toggles an Explorer window on the left hand side
of the current tab It will open a netrw window on the current
directory if [dir] is omitted.
:Sexplore will always split the window before invoking the local-directory :Sexplore will always split the window before invoking the local-directory
browser. As with Explore, the splitting is normally done browser. As with Explore, the splitting is normally done
horizontally. horizontally.
@ -1483,7 +1509,7 @@ DIRECTORY EXPLORATION COMMANDS {{{2
:Hexplore! [dir] does an :Explore with |:aboveleft| horizontal splitting. :Hexplore! [dir] does an :Explore with |:aboveleft| horizontal splitting.
:Vexplore [dir] does an :Explore with |:leftabove| vertical splitting. :Vexplore [dir] does an :Explore with |:leftabove| vertical splitting.
:Vexplore! [dir] does an :Explore with |:rightbelow| vertical splitting. :Vexplore! [dir] does an :Explore with |:rightbelow| vertical splitting.
:Texplore [dir] does a tabnew before generating the browser window :Texplore [dir] does a |:tabnew| before generating the browser window
By default, these commands use the current file's directory. However, one may By default, these commands use the current file's directory. However, one may
explicitly provide a directory (path) to use. explicitly provide a directory (path) to use.
@ -1502,6 +1528,8 @@ windows should have.
of the <2-leftmouse> map (which is only available under gvim and of the <2-leftmouse> map (which is only available under gvim and
cooperative terms). cooperative terms).
Also see: |g:netrw_alto| |g:netrw_altv| |g:netrw_winsize|
*netrw-star* *netrw-starpat* *netrw-starstar* *netrw-starstarpat* *netrw-star* *netrw-starpat* *netrw-starstar* *netrw-starstarpat*
EXPLORING WITH STARS AND PATTERNS EXPLORING WITH STARS AND PATTERNS
@ -1693,9 +1721,36 @@ As a quick shortcut, one may press >
to toggle between hiding files which begin with a period (dot) and not hiding to toggle between hiding files which begin with a period (dot) and not hiding
them. them.
Associated setting variable: |g:netrw_list_hide| |g:netrw_hide| Associated setting variables: |g:netrw_list_hide| |g:netrw_hide|
Associated topics: |netrw-a| |netrw-ctrl-h| |netrw-mh| Associated topics: |netrw-a| |netrw-ctrl-h| |netrw-mh|
*netrw-gitignore*
Netrw provides a helper function 'netrw_gitignore#Hide()' that, when used with
|g:netrw_list_hide| automatically hides all git-ignored files.
'netrw_gitignore#Hide' searches for patterns in the following files:
'./.gitignore'
'./.git/info/exclude'
global gitignore file: `git config --global core.excludesfile`
system gitignore file: `git config --system core.excludesfile`
Files that do not exist, are ignored.
Git-ignore patterns are taken from existing files, and converted to patterns for
hiding files. For example, if you had '*.log' in your '.gitignore' file, it
would be converted to '.*\.log'.
To use this function, simply assign it's output to |g:netrw_list_hide| option.
Example: let g:netrw_list_hide= netrw_gitignore#Hide()
Git-ignored files are hidden in Netrw.
Example: let g:netrw_list_hide= netrw_gitignore#Hide('my_gitignore_file')
Function can take additional files with git-ignore patterns.
Example: g:netrw_list_hide= netrw_gitignore#Hide() . '.*\.swp$'
Combining 'netrw_gitignore#Hide' with custom patterns.
IMPROVING BROWSING *netrw-listhack* *netrw-ssh-hack* {{{2 IMPROVING BROWSING *netrw-listhack* *netrw-ssh-hack* {{{2
Especially with the remote directory browser, constantly entering the password Especially with the remote directory browser, constantly entering the password
@ -1775,6 +1830,15 @@ passwords:
http://sial.org/howto/openssh/publickey-auth/ http://sial.org/howto/openssh/publickey-auth/
Ssh hints:
Thomer Gil has provided a hint on how to speed up netrw+ssh:
http://thomer.com/howtos/netrw_ssh.html
Alex Young has several hints on speeding ssh up:
http://usevim.com/2012/03/16/editing-remote-files/
LISTING BOOKMARKS AND HISTORY *netrw-qb* *netrw-listbookmark* {{{2 LISTING BOOKMARKS AND HISTORY *netrw-qb* *netrw-listbookmark* {{{2
Pressing "qb" (query bookmarks) will list both the bookmarked directories and Pressing "qb" (query bookmarks) will list both the bookmarked directories and
@ -1798,7 +1862,7 @@ a file or a directory) will be detected, reported on, and ignored.
Related topics: |netrw-D| Related topics: |netrw-D|
Associated setting variables: |g:netrw_localmkdir| |g:netrw_mkdir_cmd| Associated setting variables: |g:netrw_localmkdir| |g:netrw_mkdir_cmd|
|g:netrw_remote_mkdir| |g:netrw_remote_mkdir| |netrw-%|
MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* {{{2 MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* {{{2
@ -1857,6 +1921,10 @@ like >
< <
into $HOME/.vim/after/syntax/netrw.vim . into $HOME/.vim/after/syntax/netrw.vim .
If the mouse is enabled and works with your vim, you may use <s-leftmouse> to
mark one or more files. You may mark multiple files by dragging the shifted
leftmouse. (see |netrw-mouse|)
*markfilelist* *global_markfilelist* *local_markfilelist* *markfilelist* *global_markfilelist* *local_markfilelist*
All marked files are entered onto the global marked file list; there is only All marked files are entered onto the global marked file list; there is only
one such list. In addition, every netrw buffer also has its own local marked one such list. In addition, every netrw buffer also has its own local marked
@ -2061,7 +2129,7 @@ edit the desired file and go to the tag.
Associated setting variables: |g:netrw_ctags| |g:netrw_ssh_cmd| Associated setting variables: |g:netrw_ctags| |g:netrw_ssh_cmd|
MARKED FILES: TARGET DIRECTORY USING BOOKMARKS |netrw-Tb| {{{2 MARKED FILES: TARGET DIRECTORY USING BOOKMARKS *netrw-Tb* {{{2
Sets the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|). Sets the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|).
@ -2077,7 +2145,7 @@ Related topics:
Marking Files by Regular Expression................|netrw-mr| Marking Files by Regular Expression................|netrw-mr|
MARKED FILES: TARGET DIRECTORY USING HISTORY |netrw-Th| {{{2 MARKED FILES: TARGET DIRECTORY USING HISTORY *netrw-Th* {{{2
Sets the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|). Sets the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|).
@ -2111,7 +2179,15 @@ your browsing preferences. (see also: |netrw-settings|)
--- ----------- --- -----------
Var Explanation Var Explanation
--- ----------- --- -----------
< *g:netrw_alto* change from above splitting to below splitting < *g:netrw_altfile* some like |CTRL-^| to return to the last
edited file. Choose that by setting this
parameter to 1.
Others like |CTRL-^| to return to the
netrw browsing buffer. Choose that by setting
this parameter to 0.
default: =0
*g:netrw_alto* change from above splitting to below splitting
by setting this variable (see |netrw-o|) by setting this variable (see |netrw-o|)
default: =&sb (see |'sb'|) default: =&sb (see |'sb'|)
@ -2125,6 +2201,10 @@ your browsing preferences. (see also: |netrw-settings|)
NOTE: suppressing the banner is a new feature NOTE: suppressing the banner is a new feature
which may cause problems. which may cause problems.
*g:netrw_bannerbackslash* if this variable exists and is not zero, the
banner will be displayed with backslashes
rather than forward slashes.
*g:netrw_browse_split* when browsing, <cr> will open the file by: *g:netrw_browse_split* when browsing, <cr> will open the file by:
=0: re-using the same window =0: re-using the same window
=1: horizontally splitting the window first =1: horizontally splitting the window first
@ -2135,6 +2215,10 @@ your browsing preferences. (see also: |netrw-settings|)
to get vertical splitting instead of to get vertical splitting instead of
horizontal splitting. horizontal splitting.
Related topics:
|netrw-cr| |netrw-C|
|g:netrw_alto| |g:netrw_altv|
*g:netrw_browsex_viewer* specify user's preference for a viewer: > *g:netrw_browsex_viewer* specify user's preference for a viewer: >
"kfmclient exec" "kfmclient exec"
"gnome-open" "gnome-open"
@ -2296,9 +2380,18 @@ your browsing preferences. (see also: |netrw-settings|)
stamp information and file size) stamp information and file size)
= 2: wide listing (multiple files in columns) = 2: wide listing (multiple files in columns)
= 3: tree style listing = 3: tree style listing
*g:netrw_list_hide* comma separated pattern list for hiding files *g:netrw_list_hide* comma separated pattern list for hiding files
Patterns are regular expressions (see |regexp|) Patterns are regular expressions (see |regexp|)
Example: let g:netrw_list_hide= '.*\.swp$' There's some special support for git-ignore
files: you may add the output from the helper
function 'netrw_gitignore#Hide() automatically
hiding all gitignored files.
For more details see |netrw-gitignore|.
Examples:
let g:netrw_list_hide= '.*\.swp$'
let g:netrw_list_hide= netrw_gitignore#Hide().'.*\.swp$'
default: "" default: ""
*g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin *g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
@ -2306,14 +2399,14 @@ your browsing preferences. (see also: |netrw-settings|)
Copies marked files (|netrw-mf|) to target Copies marked files (|netrw-mf|) to target
directory (|netrw-mt|, |netrw-mc|) directory (|netrw-mt|, |netrw-mc|)
*g:netrw_localmkdir* command for making a local directory
default: "mkdir"
*g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin *g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
="move" Windows ="move" Windows
Moves marked files (|netrw-mf|) to target Moves marked files (|netrw-mf|) to target
directory (|netrw-mt|, |netrw-mm|) directory (|netrw-mt|, |netrw-mm|)
*g:netrw_localmkdir* command for making a local directory
default: "mkdir"
*g:netrw_localrmdir* remove directory command (rmdir) *g:netrw_localrmdir* remove directory command (rmdir)
default: "rmdir" default: "rmdir"
@ -2416,11 +2509,6 @@ your browsing preferences. (see also: |netrw-settings|)
< into one's <.vimrc> to use one's own < into one's <.vimrc> to use one's own
preferences. preferences.
*g:netrw_ssh_cmd* One may specify an executable command
to use instead of ssh for remote actions
such as listing, file removal, etc.
default: ssh
*g:netrw_ssh_browse_reject* ssh can sometimes produce unwanted lines, *g:netrw_ssh_browse_reject* ssh can sometimes produce unwanted lines,
messages, banners, and whatnot that one doesn't messages, banners, and whatnot that one doesn't
want masquerading as "directories" and "files". want masquerading as "directories" and "files".
@ -2428,6 +2516,11 @@ your browsing preferences. (see also: |netrw-settings|)
messages. By default its value is: messages. By default its value is:
'^total\s\+\d\+$' '^total\s\+\d\+$'
*g:netrw_ssh_cmd* One may specify an executable command
to use instead of ssh for remote actions
such as listing, file removal, etc.
default: ssh
*g:netrw_tmpfile_escape* =' &;' *g:netrw_tmpfile_escape* =' &;'
escape() is applied to all temporary files escape() is applied to all temporary files
@ -2544,6 +2637,8 @@ To open a file in netrw's current directory, press "%". This map will
query the user for a new filename; an empty file by that name will be query the user for a new filename; an empty file by that name will be
placed in the netrw's current directory (ie. b:netrw_curdir). placed in the netrw's current directory (ie. b:netrw_curdir).
Related topics: |netrw-d|
PREVIEW WINDOW *netrw-p* *netrw-preview* {{{2 PREVIEW WINDOW *netrw-p* *netrw-preview* {{{2
@ -2648,7 +2743,7 @@ 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 g:netrw_chgwin to the selected window number. Subsequent selection of a file
to edit (|netrw-cr|) will use that window. to edit (|netrw-cr|) will use that window.
Related topics: |netrw-cr| Related topics: |netrw-cr| |g:netrw_browse_split|
Associated setting variables: |g:netrw_chgwin| Associated setting variables: |g:netrw_chgwin|
@ -2981,15 +3076,100 @@ which is loaded automatically at startup (assuming :set nocp).
read/write your file over the network in a separate tab. read/write your file over the network in a separate tab.
To save the file, use > To save the file, use >
:tabnext :tabnext
:set bt= :set bt=
:w! DBG :w! DBG
< Please send that information to <netrw.vim>'s maintainer, >
< Furthermore, it'd be helpful if you would type >
:Dsep
< after each command you issue, thereby making it easier to
associate which part of the debugging trace is due to which
command.
Please send that information to <netrw.vim>'s maintainer, >
NdrOchip at ScampbellPfamily.AbizM - NOSPAM NdrOchip at ScampbellPfamily.AbizM - NOSPAM
< <
============================================================================== ==============================================================================
12. History *netrw-history* {{{1 12. History *netrw-history* {{{1
v151: Jan 22, 2014 * extended :Rexplore to return to buffer
prior to Explore or editing a directory
* (Ken Takata) netrw gave error when
clipboard was disabled. Sol'n: Placed
several if has("clipboard") tests in.
v150: Jul 12, 2013 * removed a "keepalt" to allow ":e #" to
return to the netrw directory listing
Jul 13, 2013 * (Jonas Diemer) suggested changing
a <cWORD> to <cfile>.
Jul 21, 2013 * (Yuri Kanivetsky) reported that netrw's
use of mkdir did not produce directories
following umask.
Aug 27, 2013 * introduced |g:netrw_altfile| option
Sep 05, 2013 * s:Strlen() now uses |strdisplaywidth()|
when available, by default
Sep 12, 2013 * (Selyano Baldo) reported that netrw wasn't
opening some directories properly from the
command line.
Nov 09, 2013 * |:Lexplore| introduced
* (Ondrej Platek) reported an issue with
netrw's trees (P15). Fixed.
* (Jorge Solis) reported that "t" in
tree mode caused netrw to forget its
line position.
Dec 05, 2013 * Added <s-leftmouse> file marking
(see |netrw-mf|)
Dec 05, 2013 * (Yasuhiro Matsumoto) Explore should use
strlen() instead s:Strlen() when handling
multibyte chars with strpart()
(ie. strpart() is byte oriented, not
display-width oriented).
Dec 09, 2013 * (Ken Takata) Provided a patch; File sizes
and a portion of timestamps were wrongly
highlighted with the directory color when
setting `:let g:netrw_liststyle=1` on Windows.
* (Paul Domaskis) noted that sometimes
cursorline was activating in non-netrw
windows. All but one setting of cursorline
was done via setl; there was one that was
overlooked. Fixed.
Dec 24, 2013 * (esquifit) asked that netrw allow the
/cygdrive prefix be a user-alterable
parameter.
Jan 02, 2014 * Fixed a problem with netrw-based ballon
evaluation (ie. netrw#NetrwBaloonHelp()
not having been loaded error messages)
Jan 03, 2014 * Fixed a problem with tree listings
* New command installed: |:Ntree|
Jan 06, 2014 * (Ivan Brennan) reported a problem with
|netrw-P|. Fixed.
Jan 06, 2014 * Fixed a problem with |netrw-P| when the
modified file was to be abandoned.
Jan 15, 2014 * (Matteo Cavalleri) reported that when the
banner is suppressed and tree listing is
used, a blank line was left at the top of
the display. Fixed.
Jan 20, 2014 * (Gideon Go) reported that, in tree listing
style, with a previous window open, that
the wrong directory was being used to open
a file. Fixed. (P21)
v149: Apr 18, 2013 * in wide listing format, now have maps for
w and b to move to next/previous file
Apr 26, 2013 * one may now copy files in the same
directory; netrw will issue requests for
what names the files should be copied under
Apr 29, 2013 * Trying Benzinger's problem again. Seems
that commenting out the BufEnter and
installing VimEnter (only) works. Weird
problem! (tree listing, vim -O Dir1 Dir2)
May 01, 2013 * :Explore ftp://... wasn't working. Fixed.
May 02, 2013 * introduced |g:netrw_bannerbackslash| as
requested by Paul Domaskis.
Jul 03, 2013 * Explore now avoids splitting when a buffer
will be hidden.
v148: Apr 16, 2013 * changed Netrw's Style menu to allow direct
choice of listing style, hiding style, and
sorting style
v147: Nov 24, 2012 * (James McCoy) Even with g:netrw_dirhistmax v147: Nov 24, 2012 * (James McCoy) Even with g:netrw_dirhistmax
at zero, the .vim/ directory would be at zero, the .vim/ directory would be
created to support history/bookmarks. I've created to support history/bookmarks. I've

View File

@ -31,6 +31,7 @@
:IX visincr.txt /*:IX* :IX visincr.txt /*:IX*
:LP LogiPat.txt /*:LP* :LP LogiPat.txt /*:LP*
:LPF LogiPat.txt /*:LPF* :LPF LogiPat.txt /*:LPF*
:Lexplore pi_netrw.txt /*:Lexplore*
:Linediff linediff.txt /*:Linediff* :Linediff linediff.txt /*:Linediff*
:LinediffReset linediff.txt /*:LinediffReset* :LinediffReset linediff.txt /*:LinediffReset*
:LogiPat LogiPat.txt /*:LogiPat* :LogiPat LogiPat.txt /*:LogiPat*
@ -42,6 +43,7 @@
:Nread pi_netrw.txt /*:Nread* :Nread pi_netrw.txt /*:Nread*
:Ns pi_netrw.txt /*:Ns* :Ns pi_netrw.txt /*:Ns*
:Nsource pi_netrw.txt /*:Nsource* :Nsource pi_netrw.txt /*:Nsource*
:Ntree pi_netrw.txt /*:Ntree*
:Nw pi_netrw.txt /*:Nw* :Nw pi_netrw.txt /*:Nw*
:Nwrite pi_netrw.txt /*:Nwrite* :Nwrite pi_netrw.txt /*:Nwrite*
:Pexplore pi_netrw.txt /*:Pexplore* :Pexplore pi_netrw.txt /*:Pexplore*
@ -82,6 +84,26 @@
:VCSVimDiff vcscommand.txt /*:VCSVimDiff* :VCSVimDiff vcscommand.txt /*:VCSVimDiff*
:Vexplore pi_netrw.txt /*:Vexplore* :Vexplore pi_netrw.txt /*:Vexplore*
:VimballList pi_vimball.txt /*:VimballList* :VimballList pi_vimball.txt /*:VimballList*
<Plug>TComment-<Leader>_<space> tcomment.txt /*<Plug>TComment-<Leader>_<space>*
<Plug>TComment-<Leader>__ tcomment.txt /*<Plug>TComment-<Leader>__*
<Plug>TComment-<Leader>_a tcomment.txt /*<Plug>TComment-<Leader>_a*
<Plug>TComment-<Leader>_b tcomment.txt /*<Plug>TComment-<Leader>_b*
<Plug>TComment-<Leader>_n tcomment.txt /*<Plug>TComment-<Leader>_n*
<Plug>TComment-<Leader>_p tcomment.txt /*<Plug>TComment-<Leader>_p*
<Plug>TComment-<Leader>_r tcomment.txt /*<Plug>TComment-<Leader>_r*
<Plug>TComment-<Leader>_s tcomment.txt /*<Plug>TComment-<Leader>_s*
<Plug>TComment-<c-_><c-_> tcomment.txt /*<Plug>TComment-<c-_><c-_>*
<Plug>TComment-<c-_><space> tcomment.txt /*<Plug>TComment-<c-_><space>*
<Plug>TComment-<c-_>a tcomment.txt /*<Plug>TComment-<c-_>a*
<Plug>TComment-<c-_>b tcomment.txt /*<Plug>TComment-<c-_>b*
<Plug>TComment-<c-_>ca tcomment.txt /*<Plug>TComment-<c-_>ca*
<Plug>TComment-<c-_>cc tcomment.txt /*<Plug>TComment-<c-_>cc*
<Plug>TComment-<c-_>i tcomment.txt /*<Plug>TComment-<c-_>i*
<Plug>TComment-<c-_>n tcomment.txt /*<Plug>TComment-<c-_>n*
<Plug>TComment-<c-_>p tcomment.txt /*<Plug>TComment-<c-_>p*
<Plug>TComment-<c-_>r tcomment.txt /*<Plug>TComment-<c-_>r*
<Plug>TComment-<c-_>s tcomment.txt /*<Plug>TComment-<c-_>s*
<Plug>TComment-ic tcomment.txt /*<Plug>TComment-ic*
Align-copyright Align.txt /*Align-copyright* Align-copyright Align.txt /*Align-copyright*
C-Reference crefvim.txt /*C-Reference* C-Reference crefvim.txt /*C-Reference*
GetLatestVimScripts pi_getscript.txt /*GetLatestVimScripts* GetLatestVimScripts pi_getscript.txt /*GetLatestVimScripts*
@ -249,6 +271,7 @@ b:match_wholeBR matchit.txt /*b:match_wholeBR*
b:match_word matchit.txt /*b:match_word* b:match_word matchit.txt /*b:match_word*
b:match_words matchit.txt /*b:match_words* b:match_words matchit.txt /*b:match_words*
b:netrw_lastfile pi_netrw.txt /*b:netrw_lastfile* b:netrw_lastfile pi_netrw.txt /*b:netrw_lastfile*
b:tcomment_def_{NAME} tcomment.txt /*b:tcomment_def_{NAME}*
cecutil cecutil.txt /*cecutil* cecutil cecutil.txt /*cecutil*
cecutil-cmd cecutil.txt /*cecutil-cmd* cecutil-cmd cecutil.txt /*cecutil-cmd*
cecutil-contents cecutil.txt /*cecutil-contents* cecutil-contents cecutil.txt /*cecutil-contents*
@ -1515,9 +1538,11 @@ g:Netrw_corehandler pi_netrw.txt /*g:Netrw_corehandler*
g:Netrw_funcref pi_netrw.txt /*g:Netrw_funcref* g:Netrw_funcref pi_netrw.txt /*g:Netrw_funcref*
g:alignmaps_euronumber Align.txt /*g:alignmaps_euronumber* g:alignmaps_euronumber Align.txt /*g:alignmaps_euronumber*
g:alignmaps_usanumber Align.txt /*g:alignmaps_usanumber* g:alignmaps_usanumber Align.txt /*g:alignmaps_usanumber*
g:netrw_altfile pi_netrw.txt /*g:netrw_altfile*
g:netrw_alto pi_netrw.txt /*g:netrw_alto* g:netrw_alto pi_netrw.txt /*g:netrw_alto*
g:netrw_altv pi_netrw.txt /*g:netrw_altv* g:netrw_altv pi_netrw.txt /*g:netrw_altv*
g:netrw_banner pi_netrw.txt /*g:netrw_banner* g:netrw_banner pi_netrw.txt /*g:netrw_banner*
g:netrw_bannerbackslash pi_netrw.txt /*g:netrw_bannerbackslash*
g:netrw_browse_split pi_netrw.txt /*g:netrw_browse_split* g:netrw_browse_split pi_netrw.txt /*g:netrw_browse_split*
g:netrw_browsex_viewer pi_netrw.txt /*g:netrw_browsex_viewer* g:netrw_browsex_viewer pi_netrw.txt /*g:netrw_browsex_viewer*
g:netrw_bufsettings pi_netrw.txt /*g:netrw_bufsettings* g:netrw_bufsettings pi_netrw.txt /*g:netrw_bufsettings*
@ -1548,6 +1573,7 @@ g:netrw_glob_escape pi_netrw.txt /*g:netrw_glob_escape*
g:netrw_hide pi_netrw.txt /*g:netrw_hide* g:netrw_hide pi_netrw.txt /*g:netrw_hide*
g:netrw_home pi_netrw.txt /*g:netrw_home* g:netrw_home pi_netrw.txt /*g:netrw_home*
g:netrw_http_cmd pi_netrw.txt /*g:netrw_http_cmd* g:netrw_http_cmd pi_netrw.txt /*g:netrw_http_cmd*
g:netrw_http_put_cmd pi_netrw.txt /*g:netrw_http_put_cmd*
g:netrw_http_xcmd pi_netrw.txt /*g:netrw_http_xcmd* g:netrw_http_xcmd pi_netrw.txt /*g:netrw_http_xcmd*
g:netrw_ignorenetrc pi_netrw.txt /*g:netrw_ignorenetrc* g:netrw_ignorenetrc pi_netrw.txt /*g:netrw_ignorenetrc*
g:netrw_keepdir pi_netrw.txt /*g:netrw_keepdir* g:netrw_keepdir pi_netrw.txt /*g:netrw_keepdir*
@ -1594,14 +1620,19 @@ g:netrw_use_nt_rcp pi_netrw.txt /*g:netrw_use_nt_rcp*
g:netrw_win95ftp pi_netrw.txt /*g:netrw_win95ftp* g:netrw_win95ftp pi_netrw.txt /*g:netrw_win95ftp*
g:netrw_winsize pi_netrw.txt /*g:netrw_winsize* g:netrw_winsize pi_netrw.txt /*g:netrw_winsize*
g:netrw_xstrlen pi_netrw.txt /*g:netrw_xstrlen* g:netrw_xstrlen pi_netrw.txt /*g:netrw_xstrlen*
g:tcomment#blank_lines tcomment.txt /*g:tcomment#blank_lines*
g:tcomment#ignore_char_type tcomment.txt /*g:tcomment#ignore_char_type* g:tcomment#ignore_char_type tcomment.txt /*g:tcomment#ignore_char_type*
g:tcomment#ignore_comment_def tcomment.txt /*g:tcomment#ignore_comment_def*
g:tcomment#options_comments tcomment.txt /*g:tcomment#options_comments*
g:tcomment#options_commentstring tcomment.txt /*g:tcomment#options_commentstring*
g:tcomment#replacements_c tcomment.txt /*g:tcomment#replacements_c* g:tcomment#replacements_c tcomment.txt /*g:tcomment#replacements_c*
g:tcomment#replacements_xml tcomment.txt /*g:tcomment#replacements_xml*
g:tcomment#rstrip_on_uncomment tcomment.txt /*g:tcomment#rstrip_on_uncomment*
g:tcomment#syntax_substitute tcomment.txt /*g:tcomment#syntax_substitute* g:tcomment#syntax_substitute tcomment.txt /*g:tcomment#syntax_substitute*
g:tcommentBlankLines tcomment.txt /*g:tcommentBlankLines*
g:tcommentBlockC tcomment.txt /*g:tcommentBlockC*
g:tcommentBlockC2 tcomment.txt /*g:tcommentBlockC2* g:tcommentBlockC2 tcomment.txt /*g:tcommentBlockC2*
g:tcommentBlockXML tcomment.txt /*g:tcommentBlockXML* g:tcommentBlockXML tcomment.txt /*g:tcommentBlockXML*
g:tcommentGuessFileType tcomment.txt /*g:tcommentGuessFileType* g:tcommentGuessFileType tcomment.txt /*g:tcommentGuessFileType*
g:tcommentGuessFileType_blade tcomment.txt /*g:tcommentGuessFileType_blade*
g:tcommentGuessFileType_django tcomment.txt /*g:tcommentGuessFileType_django* g:tcommentGuessFileType_django tcomment.txt /*g:tcommentGuessFileType_django*
g:tcommentGuessFileType_dsl tcomment.txt /*g:tcommentGuessFileType_dsl* g:tcommentGuessFileType_dsl tcomment.txt /*g:tcommentGuessFileType_dsl*
g:tcommentGuessFileType_eruby tcomment.txt /*g:tcommentGuessFileType_eruby* g:tcommentGuessFileType_eruby tcomment.txt /*g:tcommentGuessFileType_eruby*
@ -1617,10 +1648,12 @@ g:tcommentMapLeader1 tcomment.txt /*g:tcommentMapLeader1*
g:tcommentMapLeader2 tcomment.txt /*g:tcommentMapLeader2* g:tcommentMapLeader2 tcomment.txt /*g:tcommentMapLeader2*
g:tcommentMapLeaderOp1 tcomment.txt /*g:tcommentMapLeaderOp1* g:tcommentMapLeaderOp1 tcomment.txt /*g:tcommentMapLeaderOp1*
g:tcommentMapLeaderOp2 tcomment.txt /*g:tcommentMapLeaderOp2* g:tcommentMapLeaderOp2 tcomment.txt /*g:tcommentMapLeaderOp2*
g:tcommentMaps tcomment.txt /*g:tcommentMaps*
g:tcommentModeExtra tcomment.txt /*g:tcommentModeExtra* g:tcommentModeExtra tcomment.txt /*g:tcommentModeExtra*
g:tcommentOpModeExtra tcomment.txt /*g:tcommentOpModeExtra* g:tcommentOpModeExtra tcomment.txt /*g:tcommentOpModeExtra*
g:tcommentOptions tcomment.txt /*g:tcommentOptions* g:tcommentOptions tcomment.txt /*g:tcommentOptions*
g:tcommentSyntaxMap tcomment.txt /*g:tcommentSyntaxMap* g:tcommentSyntaxMap tcomment.txt /*g:tcommentSyntaxMap*
g:tcommentTextObjectInlineComment tcomment.txt /*g:tcommentTextObjectInlineComment*
g:tcomment_types tcomment.txt /*g:tcomment_types* g:tcomment_types tcomment.txt /*g:tcomment_types*
g:vimball_home pi_vimball.txt /*g:vimball_home* g:vimball_home pi_vimball.txt /*g:vimball_home*
g:vimball_mkdir pi_vimball.txt /*g:vimball_mkdir* g:vimball_mkdir pi_vimball.txt /*g:vimball_mkdir*
@ -1662,6 +1695,15 @@ gundo_right gundo.txt /*gundo_right*
gundo_tree_statusline gundo.txt /*gundo_tree_statusline* gundo_tree_statusline gundo.txt /*gundo_tree_statusline*
gundo_width gundo.txt /*gundo_width* gundo_width gundo.txt /*gundo_width*
http pi_netrw.txt /*http* http pi_netrw.txt /*http*
i_<Plug>TComment-<c-_><c-_> tcomment.txt /*i_<Plug>TComment-<c-_><c-_>*
i_<Plug>TComment-<c-_><space> tcomment.txt /*i_<Plug>TComment-<c-_><space>*
i_<Plug>TComment-<c-_>a tcomment.txt /*i_<Plug>TComment-<c-_>a*
i_<Plug>TComment-<c-_>b tcomment.txt /*i_<Plug>TComment-<c-_>b*
i_<Plug>TComment-<c-_>i tcomment.txt /*i_<Plug>TComment-<c-_>i*
i_<Plug>TComment-<c-_>n tcomment.txt /*i_<Plug>TComment-<c-_>n*
i_<Plug>TComment-<c-_>p tcomment.txt /*i_<Plug>TComment-<c-_>p*
i_<Plug>TComment-<c-_>r tcomment.txt /*i_<Plug>TComment-<c-_>r*
i_<Plug>TComment-<c-_>s tcomment.txt /*i_<Plug>TComment-<c-_>s*
linediff linediff.txt /*linediff* linediff linediff.txt /*linediff*
linediff-commands linediff.txt /*linediff-commands* linediff-commands linediff.txt /*linediff-commands*
linediff-contents linediff.txt /*linediff-contents* linediff-contents linediff.txt /*linediff-contents*
@ -1709,6 +1751,12 @@ matchit-troubleshoot matchit.txt /*matchit-troubleshoot*
matchit-v_% matchit.txt /*matchit-v_%* matchit-v_% matchit.txt /*matchit-v_%*
matchit.txt matchit.txt /*matchit.txt* matchit.txt matchit.txt /*matchit.txt*
matchit.vim matchit.txt /*matchit.vim* matchit.vim matchit.txt /*matchit.vim*
n_<Plug>TComment-gC tcomment.txt /*n_<Plug>TComment-gC*
n_<Plug>TComment-gCb tcomment.txt /*n_<Plug>TComment-gCb*
n_<Plug>TComment-gCc tcomment.txt /*n_<Plug>TComment-gCc*
n_<Plug>TComment-gc tcomment.txt /*n_<Plug>TComment-gc*
n_<Plug>TComment-gcb tcomment.txt /*n_<Plug>TComment-gcb*
n_<Plug>TComment-gcc tcomment.txt /*n_<Plug>TComment-gcc*
netreadfixup pi_netrw.txt /*netreadfixup* netreadfixup pi_netrw.txt /*netreadfixup*
netrw pi_netrw.txt /*netrw* netrw pi_netrw.txt /*netrw*
netrw-% pi_netrw.txt /*netrw-%* netrw-% pi_netrw.txt /*netrw-%*
@ -1719,6 +1767,8 @@ netrw-O pi_netrw.txt /*netrw-O*
netrw-P pi_netrw.txt /*netrw-P* netrw-P pi_netrw.txt /*netrw-P*
netrw-R pi_netrw.txt /*netrw-R* netrw-R pi_netrw.txt /*netrw-R*
netrw-S pi_netrw.txt /*netrw-S* netrw-S pi_netrw.txt /*netrw-S*
netrw-Tb pi_netrw.txt /*netrw-Tb*
netrw-Th pi_netrw.txt /*netrw-Th*
netrw-U pi_netrw.txt /*netrw-U* netrw-U pi_netrw.txt /*netrw-U*
netrw-X pi_netrw.txt /*netrw-X* netrw-X pi_netrw.txt /*netrw-X*
netrw-a pi_netrw.txt /*netrw-a* netrw-a pi_netrw.txt /*netrw-a*
@ -1768,6 +1818,7 @@ netrw-gd pi_netrw.txt /*netrw-gd*
netrw-getftype pi_netrw.txt /*netrw-getftype* netrw-getftype pi_netrw.txt /*netrw-getftype*
netrw-gf pi_netrw.txt /*netrw-gf* netrw-gf pi_netrw.txt /*netrw-gf*
netrw-gh pi_netrw.txt /*netrw-gh* netrw-gh pi_netrw.txt /*netrw-gh*
netrw-gitignore pi_netrw.txt /*netrw-gitignore*
netrw-gp pi_netrw.txt /*netrw-gp* netrw-gp pi_netrw.txt /*netrw-gp*
netrw-gx pi_netrw.txt /*netrw-gx* netrw-gx pi_netrw.txt /*netrw-gx*
netrw-handler pi_netrw.txt /*netrw-handler* netrw-handler pi_netrw.txt /*netrw-handler*
@ -1782,6 +1833,7 @@ netrw-incompatible pi_netrw.txt /*netrw-incompatible*
netrw-internal-variables pi_netrw.txt /*netrw-internal-variables* netrw-internal-variables pi_netrw.txt /*netrw-internal-variables*
netrw-intro-browse pi_netrw.txt /*netrw-intro-browse* netrw-intro-browse pi_netrw.txt /*netrw-intro-browse*
netrw-leftmouse pi_netrw.txt /*netrw-leftmouse* netrw-leftmouse pi_netrw.txt /*netrw-leftmouse*
netrw-lexplore pi_netrw.txt /*netrw-lexplore*
netrw-list pi_netrw.txt /*netrw-list* netrw-list pi_netrw.txt /*netrw-list*
netrw-listbookmark pi_netrw.txt /*netrw-listbookmark* netrw-listbookmark pi_netrw.txt /*netrw-listbookmark*
netrw-listhack pi_netrw.txt /*netrw-listhack* netrw-listhack pi_netrw.txt /*netrw-listhack*
@ -1812,6 +1864,7 @@ netrw-netrc pi_netrw.txt /*netrw-netrc*
netrw-nexplore pi_netrw.txt /*netrw-nexplore* netrw-nexplore pi_netrw.txt /*netrw-nexplore*
netrw-noload pi_netrw.txt /*netrw-noload* netrw-noload pi_netrw.txt /*netrw-noload*
netrw-nread pi_netrw.txt /*netrw-nread* netrw-nread pi_netrw.txt /*netrw-nread*
netrw-ntree pi_netrw.txt /*netrw-ntree*
netrw-nwrite pi_netrw.txt /*netrw-nwrite* netrw-nwrite pi_netrw.txt /*netrw-nwrite*
netrw-o pi_netrw.txt /*netrw-o* netrw-o pi_netrw.txt /*netrw-o*
netrw-options pi_netrw.txt /*netrw-options* netrw-options pi_netrw.txt /*netrw-options*
@ -1914,15 +1967,20 @@ srchrplchigrp-examples SrchRplcHiGrp.txt /*srchrplchigrp-examples*
tcomment#Comment() tcomment.txt /*tcomment#Comment()* tcomment#Comment() tcomment.txt /*tcomment#Comment()*
tcomment#CommentAs() tcomment.txt /*tcomment#CommentAs()* tcomment#CommentAs() tcomment.txt /*tcomment#CommentAs()*
tcomment#DefineType() tcomment.txt /*tcomment#DefineType()* tcomment#DefineType() tcomment.txt /*tcomment#DefineType()*
tcomment#GetCommentDef() tcomment.txt /*tcomment#GetCommentDef()*
tcomment#GuessCommentType() tcomment.txt /*tcomment#GuessCommentType()* tcomment#GuessCommentType() tcomment.txt /*tcomment#GuessCommentType()*
tcomment#Operator() tcomment.txt /*tcomment#Operator()* tcomment#Operator() tcomment.txt /*tcomment#Operator()*
tcomment#OperatorAnyway() tcomment.txt /*tcomment#OperatorAnyway()* tcomment#OperatorAnyway() tcomment.txt /*tcomment#OperatorAnyway()*
tcomment#OperatorLine() tcomment.txt /*tcomment#OperatorLine()* tcomment#OperatorLine() tcomment.txt /*tcomment#OperatorLine()*
tcomment#OperatorLineAnyway() tcomment.txt /*tcomment#OperatorLineAnyway()* tcomment#OperatorLineAnyway() tcomment.txt /*tcomment#OperatorLineAnyway()*
tcomment#SetOption() tcomment.txt /*tcomment#SetOption()* tcomment#SetOption() tcomment.txt /*tcomment#SetOption()*
tcomment#TextObjectInlineComment() tcomment.txt /*tcomment#TextObjectInlineComment()*
tcomment-maps tcomment.txt /*tcomment-maps* tcomment-maps tcomment.txt /*tcomment-maps*
tcomment-operator tcomment.txt /*tcomment-operator* tcomment-operator tcomment.txt /*tcomment-operator*
tcomment.txt tcomment.txt /*tcomment.txt* tcomment.txt tcomment.txt /*tcomment.txt*
v_<Plug>TComment-<c-_><c-_> tcomment.txt /*v_<Plug>TComment-<c-_><c-_>*
v_<Plug>TComment-<c-_>i tcomment.txt /*v_<Plug>TComment-<c-_>i*
v_<Plug>TComment-ic tcomment.txt /*v_<Plug>TComment-ic*
v_[% matchit.txt /*v_[%* v_[% matchit.txt /*v_[%*
v_]% matchit.txt /*v_]%* v_]% matchit.txt /*v_]%*
v_a% matchit.txt /*v_a%* v_a% matchit.txt /*v_a%*
@ -2001,6 +2059,10 @@ visincr-raggedright visincr.txt /*visincr-raggedright*
visincr-restrict visincr.txt /*visincr-restrict* visincr-restrict visincr.txt /*visincr-restrict*
visincr-usage visincr.txt /*visincr-usage* visincr-usage visincr.txt /*visincr-usage*
visincr.txt visincr.txt /*visincr.txt* visincr.txt visincr.txt /*visincr.txt*
x_<Plug>TComment-<Leader>__ tcomment.txt /*x_<Plug>TComment-<Leader>__*
x_<Plug>TComment-<Leader>_i tcomment.txt /*x_<Plug>TComment-<Leader>_i*
x_<Plug>TComment-gC tcomment.txt /*x_<Plug>TComment-gC*
x_<Plug>TComment-gc tcomment.txt /*x_<Plug>TComment-gc*
xml-plugin-callbacks xml-plugin.txt /*xml-plugin-callbacks* xml-plugin-callbacks xml-plugin.txt /*xml-plugin-callbacks*
xml-plugin-html xml-plugin.txt /*xml-plugin-html* xml-plugin-html xml-plugin.txt /*xml-plugin-html*
xml-plugin-mappings xml-plugin.txt /*xml-plugin-mappings* xml-plugin-mappings xml-plugin.txt /*xml-plugin-mappings*

View File

@ -63,23 +63,33 @@ Primary key maps for normal and insert mode:
<c-_><c-_> :: :TComment <c-_><c-_> :: :TComment
<c-_><space> :: :TComment <QUERY COMMENT-BEGIN ?COMMENT-END> <c-_><space> :: :TComment <QUERY COMMENT-BEGIN ?COMMENT-END>
<c-_>b :: :TCommentBlock <c-_>b :: :TCommentBlock
In insert mode, the cursor will be positioned inside
the comment. In normal mode, the cursor will stay
put.
<c-_>a :: :TCommentAs <QUERY COMMENT TYPE> <c-_>a :: :TCommentAs <QUERY COMMENT TYPE>
<c-_>n :: :TCommentAs &filetype <QUERY COUNT> <c-_>n :: :TCommentAs &filetype <QUERY COUNT>
<c-_>s :: :TCommentAs &filetype_<QUERY COMMENT SUBTYPE> <c-_>s :: :TCommentAs &filetype_<QUERY COMMENT SUBTYPE>
<c-_>i :: :TCommentInline (in normal and insert mode, this map will <c-_>i :: :TCommentInline (in normal and insert mode, this map will
create an empty inline comment, which isn't suitable for create an empty inline comment, which isn't suitable for
all filetypes though) all filetypes though)
In insert mode, the cursor will be positioned inside
the comment. In normal mode, the cursor will stay
put.
<c-_>r :: :TCommentRight <c-_>r :: :TCommentRight
<c-_>p :: Comment the current inner paragraph <c-_>p :: Comment the current inner paragraph
<c-_><Count> :: :TComment with count argument (a number from 1 to 9) <c-_><Count> :: Set the count argument (a number from 1 to 9) for use with
(see |tcomment#Comment()|) the subsequent tcomment map/command (see
|tcomment#Comment()|)
E.g. in JavaScript, in order to get an empty /** */
comment for documentation purposes, in insert mode type
<c-_>2<c-_>i
In order to get an empty block comment like >
/**
*
*/
< type <c-_>2<c-_>b
Primary key maps for visual mode: Most of the above maps are also available in visual mode.
<c-_><c-_> :: :TComment
<c-_>i :: :TCommentInline
<c-_><Count> :: :TComment with count argument (a number from 1 to 9)
(see |tcomment#Comment()|)
A secondary set of key maps is defined for normal and insert mode: A secondary set of key maps is defined for normal and insert mode:
@ -114,24 +124,72 @@ please make sure, you have the current version of vimball (vimscript
======================================================================== ========================================================================
Contents~ Contents~
g:tcommentMaps ...................... |g:tcommentMaps|
g:tcommentMapLeader1 ................ |g:tcommentMapLeader1| g:tcommentMapLeader1 ................ |g:tcommentMapLeader1|
g:tcommentMapLeader2 ................ |g:tcommentMapLeader2| g:tcommentMapLeader2 ................ |g:tcommentMapLeader2|
g:tcommentMapLeaderOp1 .............. |g:tcommentMapLeaderOp1| g:tcommentMapLeaderOp1 .............. |g:tcommentMapLeaderOp1|
g:tcommentMapLeaderOp2 .............. |g:tcommentMapLeaderOp2| g:tcommentMapLeaderOp2 .............. |g:tcommentMapLeaderOp2|
g:tcommentTextObjectInlineComment ... |g:tcommentTextObjectInlineComment|
:TComment ........................... |:TComment| :TComment ........................... |:TComment|
:TCommentAs ......................... |:TCommentAs| :TCommentAs ......................... |:TCommentAs|
:TCommentRight ...................... |:TCommentRight| :TCommentRight ...................... |:TCommentRight|
:TCommentBlock ...................... |:TCommentBlock| :TCommentBlock ...................... |:TCommentBlock|
:TCommentInline ..................... |:TCommentInline| :TCommentInline ..................... |:TCommentInline|
:TCommentMaybeInline ................ |:TCommentMaybeInline| :TCommentMaybeInline ................ |:TCommentMaybeInline|
g:tcommentBlankLines ................ |g:tcommentBlankLines| <Plug>TComment-<c-_><c-_> ........... |<Plug>TComment-<c-_><c-_>|
v_<Plug>TComment-<c-_><c-_> ......... |v_<Plug>TComment-<c-_><c-_>|
i_<Plug>TComment-<c-_><c-_> ......... |i_<Plug>TComment-<c-_><c-_>|
<Plug>TComment-<c-_>p ............... |<Plug>TComment-<c-_>p|
i_<Plug>TComment-<c-_>p ............. |i_<Plug>TComment-<c-_>p|
<Plug>TComment-<c-_><space> ......... |<Plug>TComment-<c-_><space>|
i_<Plug>TComment-<c-_><space> ....... |i_<Plug>TComment-<c-_><space>|
i_<Plug>TComment-<c-_>r ............. |i_<Plug>TComment-<c-_>r|
<Plug>TComment-<c-_>r ............... |<Plug>TComment-<c-_>r|
v_<Plug>TComment-<c-_>i ............. |v_<Plug>TComment-<c-_>i|
<Plug>TComment-<c-_>i ............... |<Plug>TComment-<c-_>i|
i_<Plug>TComment-<c-_>i ............. |i_<Plug>TComment-<c-_>i|
<Plug>TComment-<c-_>b ............... |<Plug>TComment-<c-_>b|
i_<Plug>TComment-<c-_>b ............. |i_<Plug>TComment-<c-_>b|
<Plug>TComment-<c-_>a ............... |<Plug>TComment-<c-_>a|
i_<Plug>TComment-<c-_>a ............. |i_<Plug>TComment-<c-_>a|
<Plug>TComment-<c-_>n ............... |<Plug>TComment-<c-_>n|
i_<Plug>TComment-<c-_>n ............. |i_<Plug>TComment-<c-_>n|
<Plug>TComment-<c-_>s ............... |<Plug>TComment-<c-_>s|
i_<Plug>TComment-<c-_>s ............. |i_<Plug>TComment-<c-_>s|
<Plug>TComment-<c-_>cc .............. |<Plug>TComment-<c-_>cc|
<Plug>TComment-<c-_>ca .............. |<Plug>TComment-<c-_>ca|
<Plug>TComment-<Leader>__ ........... |<Plug>TComment-<Leader>__|
x_<Plug>TComment-<Leader>__ ......... |x_<Plug>TComment-<Leader>__|
<Plug>TComment-<Leader>_p ........... |<Plug>TComment-<Leader>_p|
<Plug>TComment-<Leader>_<space> ..... |<Plug>TComment-<Leader>_<space>|
x_<Plug>TComment-<Leader>_i ......... |x_<Plug>TComment-<Leader>_i|
<Plug>TComment-<Leader>_r ........... |<Plug>TComment-<Leader>_r|
<Plug>TComment-<Leader>_b ........... |<Plug>TComment-<Leader>_b|
<Plug>TComment-<Leader>_a ........... |<Plug>TComment-<Leader>_a|
<Plug>TComment-<Leader>_n ........... |<Plug>TComment-<Leader>_n|
<Plug>TComment-<Leader>_s ........... |<Plug>TComment-<Leader>_s|
n_<Plug>TComment-gC ................. |n_<Plug>TComment-gC|
n_<Plug>TComment-gCc ................ |n_<Plug>TComment-gCc|
n_<Plug>TComment-gCb ................ |n_<Plug>TComment-gCb|
x_<Plug>TComment-gC ................. |x_<Plug>TComment-gC|
v_<Plug>TComment-ic ................. |v_<Plug>TComment-ic|
<Plug>TComment-ic ................... |<Plug>TComment-ic|
n_<Plug>TComment-gcc ................ |n_<Plug>TComment-gcc|
n_<Plug>TComment-gcb ................ |n_<Plug>TComment-gcb|
x_<Plug>TComment-gc ................. |x_<Plug>TComment-gc|
n_<Plug>TComment-gc ................. |n_<Plug>TComment-gc|
g:tcomment#blank_lines .............. |g:tcomment#blank_lines|
g:tcomment#rstrip_on_uncomment ...... |g:tcomment#rstrip_on_uncomment|
g:tcommentModeExtra ................. |g:tcommentModeExtra| g:tcommentModeExtra ................. |g:tcommentModeExtra|
g:tcommentOpModeExtra ............... |g:tcommentOpModeExtra| g:tcommentOpModeExtra ............... |g:tcommentOpModeExtra|
g:tcommentOptions ................... |g:tcommentOptions| g:tcommentOptions ................... |g:tcommentOptions|
g:tcomment#options_comments ......... |g:tcomment#options_comments|
g:tcomment#options_commentstring .... |g:tcomment#options_commentstring|
g:tcomment#ignore_char_type ......... |g:tcomment#ignore_char_type| g:tcomment#ignore_char_type ......... |g:tcomment#ignore_char_type|
g:tcommentGuessFileType ............. |g:tcommentGuessFileType| g:tcommentGuessFileType ............. |g:tcommentGuessFileType|
g:tcommentGuessFileType_dsl ......... |g:tcommentGuessFileType_dsl| g:tcommentGuessFileType_dsl ......... |g:tcommentGuessFileType_dsl|
g:tcommentGuessFileType_php ......... |g:tcommentGuessFileType_php| g:tcommentGuessFileType_php ......... |g:tcommentGuessFileType_php|
g:tcommentGuessFileType_blade ....... |g:tcommentGuessFileType_blade|
g:tcommentGuessFileType_html ........ |g:tcommentGuessFileType_html| g:tcommentGuessFileType_html ........ |g:tcommentGuessFileType_html|
g:tcommentGuessFileType_tskeleton ... |g:tcommentGuessFileType_tskeleton| g:tcommentGuessFileType_tskeleton ... |g:tcommentGuessFileType_tskeleton|
g:tcommentGuessFileType_vim ......... |g:tcommentGuessFileType_vim| g:tcommentGuessFileType_vim ......... |g:tcommentGuessFileType_vim|
@ -142,12 +200,14 @@ Contents~
g:tcomment#syntax_substitute ........ |g:tcomment#syntax_substitute| g:tcomment#syntax_substitute ........ |g:tcomment#syntax_substitute|
g:tcommentSyntaxMap ................. |g:tcommentSyntaxMap| g:tcommentSyntaxMap ................. |g:tcommentSyntaxMap|
g:tcomment#replacements_c ........... |g:tcomment#replacements_c| g:tcomment#replacements_c ........... |g:tcomment#replacements_c|
g:tcommentBlockC .................... |g:tcommentBlockC|
g:tcommentBlockC2 ................... |g:tcommentBlockC2|
g:tcommentInlineC ................... |g:tcommentInlineC| g:tcommentInlineC ................... |g:tcommentInlineC|
g:tcommentBlockC2 ................... |g:tcommentBlockC2|
g:tcomment#replacements_xml ......... |g:tcomment#replacements_xml|
g:tcommentBlockXML .................. |g:tcommentBlockXML| g:tcommentBlockXML .................. |g:tcommentBlockXML|
g:tcommentInlineXML ................. |g:tcommentInlineXML| g:tcommentInlineXML ................. |g:tcommentInlineXML|
g:tcomment#ignore_comment_def ....... |g:tcomment#ignore_comment_def|
tcomment#DefineType ................. |tcomment#DefineType()| tcomment#DefineType ................. |tcomment#DefineType()|
tcomment#GetCommentDef .............. |tcomment#GetCommentDef()|
g:tcomment_types .................... |g:tcomment_types| g:tcomment_types .................... |g:tcomment_types|
tcomment#Comment .................... |tcomment#Comment()| tcomment#Comment .................... |tcomment#Comment()|
tcomment#SetOption .................. |tcomment#SetOption()| tcomment#SetOption .................. |tcomment#SetOption()|
@ -157,11 +217,16 @@ Contents~
tcomment#OperatorLineAnyway ......... |tcomment#OperatorLineAnyway()| tcomment#OperatorLineAnyway ......... |tcomment#OperatorLineAnyway()|
tcomment#CommentAs .................. |tcomment#CommentAs()| tcomment#CommentAs .................. |tcomment#CommentAs()|
tcomment#GuessCommentType ........... |tcomment#GuessCommentType()| tcomment#GuessCommentType ........... |tcomment#GuessCommentType()|
tcomment#TextObjectInlineComment .... |tcomment#TextObjectInlineComment()|
======================================================================== ========================================================================
plugin/tcomment.vim~ plugin/tcomment.vim~
*g:tcommentMaps*
g:tcommentMaps (default: 1)
If true, set maps.
*g:tcommentMapLeader1* *g:tcommentMapLeader1*
g:tcommentMapLeader1 (default: '<c-_>') g:tcommentMapLeader1 (default: '<c-_>')
g:tcommentMapLeader1 should be a shortcut that can be used with g:tcommentMapLeader1 should be a shortcut that can be used with
@ -180,6 +245,9 @@ g:tcommentMapLeaderOp1 (default: 'gc')
g:tcommentMapLeaderOp2 (default: 'gC') g:tcommentMapLeaderOp2 (default: 'gC')
See |tcomment-operator|. See |tcomment-operator|.
*g:tcommentTextObjectInlineComment*
g:tcommentTextObjectInlineComment (default: 'ic')
*:TComment* *:TComment*
:[range]TComment[!] ?ARGS... :[range]TComment[!] ?ARGS...
If there is a visual selection that begins and ends in the same line, If there is a visual selection that begins and ends in the same line,
@ -238,13 +306,146 @@ g:tcommentMapLeaderOp2 (default: 'gC')
1. a list of key=value pairs 1. a list of key=value pairs
2. 1-2 values for: ?commentBegin, ?commentEnd 2. 1-2 values for: ?commentBegin, ?commentEnd
*<Plug>TComment-<c-_><c-_>*
<Plug>TComment-<c-_><c-_> ... :TComment<cr>
*v_<Plug>TComment-<c-_><c-_>*
v_<Plug>TComment-<c-_><c-_> ... :TCommentMaybeInline<cr>
*i_<Plug>TComment-<c-_><c-_>*
i_<Plug>TComment-<c-_><c-_> ... <c-o>:TComment<cr>
*<Plug>TComment-<c-_>p*
<Plug>TComment-<c-_>p ... m`vip:TComment<cr>``
*i_<Plug>TComment-<c-_>p*
i_<Plug>TComment-<c-_>p ... <c-o>:norm! m`vip<cr>:TComment<cr><c-o>``
*<Plug>TComment-<c-_><space>*
<Plug>TComment-<c-_><space> ... :TComment
*i_<Plug>TComment-<c-_><space>*
i_<Plug>TComment-<c-_><space> ... <c-o>:TComment
*i_<Plug>TComment-<c-_>r*
i_<Plug>TComment-<c-_>r ... <c-o>:TCommentRight<cr>
*<Plug>TComment-<c-_>r*
<Plug>TComment-<c-_>r ... :TCommentRight<cr>
*v_<Plug>TComment-<c-_>i*
v_<Plug>TComment-<c-_>i ... :TCommentInline<cr>
*<Plug>TComment-<c-_>i*
<Plug>TComment-<c-_>i ... v:TCommentInline mode=I#<cr>
*i_<Plug>TComment-<c-_>i*
i_<Plug>TComment-<c-_>i ... <c-\><c-o>v:TCommentInline mode=#<cr>
*<Plug>TComment-<c-_>b*
<Plug>TComment-<c-_>b ... :TCommentBlock<cr>
*i_<Plug>TComment-<c-_>b*
i_<Plug>TComment-<c-_>b ... <c-\><c-o>:TCommentBlock mode=#<cr>
*<Plug>TComment-<c-_>a*
<Plug>TComment-<c-_>a ... :TCommentAs
*i_<Plug>TComment-<c-_>a*
i_<Plug>TComment-<c-_>a ... <c-o>:TCommentAs
*<Plug>TComment-<c-_>n*
<Plug>TComment-<c-_>n ... :TCommentAs <c-r>=&ft<cr>
*i_<Plug>TComment-<c-_>n*
i_<Plug>TComment-<c-_>n ... <c-o>:TCommentAs <c-r>=&ft<cr>
*<Plug>TComment-<c-_>s*
<Plug>TComment-<c-_>s ... :TCommentAs <c-r>=&ft<cr>_
*i_<Plug>TComment-<c-_>s*
i_<Plug>TComment-<c-_>s ... <c-o>:TCommentAs <c-r>=&ft<cr>_
*<Plug>TComment-<c-_>cc*
<Plug>TComment-<c-_>cc ... :<c-u>call tcomment#SetOption("count", v:count1)<cr>
*<Plug>TComment-<c-_>ca*
<Plug>TComment-<c-_>ca ... :<c-u>call tcomment#SetOption("as", input("Comment as: ", &filetype, "customlist,tcomment#Complete"))<cr>
*<Plug>TComment-<Leader>__*
<Plug>TComment-<Leader>__ ... :TComment<cr>
*x_<Plug>TComment-<Leader>__*
x_<Plug>TComment-<Leader>__ ... :TCommentMaybeInline<cr>
*<Plug>TComment-<Leader>_p*
<Plug>TComment-<Leader>_p ... vip:TComment<cr>
*<Plug>TComment-<Leader>_<space>*
<Plug>TComment-<Leader>_<space> ... :TComment
*x_<Plug>TComment-<Leader>_i*
x_<Plug>TComment-<Leader>_i ... :TCommentInline<cr>
*<Plug>TComment-<Leader>_r*
<Plug>TComment-<Leader>_r ... :TCommentRight<cr>
*<Plug>TComment-<Leader>_b*
<Plug>TComment-<Leader>_b ... :TCommentBlock<cr>
*<Plug>TComment-<Leader>_a*
<Plug>TComment-<Leader>_a ... :TCommentAs
*<Plug>TComment-<Leader>_n*
<Plug>TComment-<Leader>_n ... :TCommentAs <c-r>=&ft<cr>
*<Plug>TComment-<Leader>_s*
<Plug>TComment-<Leader>_s ... :TCommentAs <c-r>=&ft<cr>_
*n_<Plug>TComment-gC*
n_<Plug>TComment-gC ... :let w:tcommentPos = getpos(".") \| set opfunc=tcomment#OperatorAnyway<cr>g@
*n_<Plug>TComment-gCc*
n_<Plug>TComment-gCc ... :let w:tcommentPos = getpos(".") \| set opfunc=tcomment#OperatorLineAnyway<cr>g@$
*n_<Plug>TComment-gCb*
n_<Plug>TComment-gCb ... :let w:tcommentPos = getpos(".") \| call tcomment#SetOption("mode_extra", "B") \| set opfunc=tcomment#OperatorLine<cr>g@
*x_<Plug>TComment-gC*
x_<Plug>TComment-gC ... :TCommentMaybeInline!<cr>
*v_<Plug>TComment-ic*
v_<Plug>TComment-ic ... :<c-U>call tcomment#TextObjectInlineComment()<cr>
*<Plug>TComment-ic*
<Plug>TComment-ic ... :<c-U>call tcomment#TextObjectInlineComment()<cr>
*n_<Plug>TComment-gcc*
n_<Plug>TComment-gcc ... :<c-u>if v:count > 0 \| call tcomment#SetOption("count", v:count) \| endif \| let w:tcommentPos = getpos(".") \| set opfunc=tcomment#OperatorLine<cr>g@$
*n_<Plug>TComment-gcb*
n_<Plug>TComment-gcb ... :<c-u>if v:count > 0 \| call tcomment#SetOption("count", v:count) \| endif \| let w:tcommentPos = getpos(".") \| call tcomment#SetOption("mode_extra", "B") \| set opfunc=tcomment#OperatorLine<cr>g@
*x_<Plug>TComment-gc*
x_<Plug>TComment-gc ... :TCommentMaybeInline<cr>
*n_<Plug>TComment-gc*
n_<Plug>TComment-gc ... :<c-u>if v:count > 0 \| call tcomment#SetOption("count", v:count) \| endif \| let w:tcommentPos = getpos(".") \| set opfunc=tcomment#Operator<cr>g@
======================================================================== ========================================================================
autoload/tcomment.vim~ autoload/tcomment.vim~
*g:tcommentBlankLines* *g:tcomment#blank_lines*
g:tcommentBlankLines (default: 1) g:tcomment#blank_lines (default: 2)
If true, comment blank lines too If 1, comment blank lines too.
If 2, also comment blank lines within indented code blocks
(requires mixedindent -- see |tcomment#Comment()|).
*g:tcomment#rstrip_on_uncomment*
g:tcomment#rstrip_on_uncomment (default: 1)
If 1, remove right-hand whitespace on uncomment from empty lines.
If 2, remove right-hand whitespace on uncomment from all lines.
*g:tcommentModeExtra* *g:tcommentModeExtra*
g:tcommentModeExtra (default: '') g:tcommentModeExtra (default: '')
@ -271,6 +472,14 @@ g:tcommentOptions (default: {})
let g:tcommentOptions = {'col': 1} let g:tcommentOptions = {'col': 1}
< <
*g:tcomment#options_comments*
g:tcomment#options_comments (default: {'whitespace': 'both'})
Options when using a the 'comments' option.
*g:tcomment#options_commentstring*
g:tcomment#options_commentstring (default: {'whitespace': 'both'})
Options when using a the 'commentstring' option.
*g:tcomment#ignore_char_type* *g:tcomment#ignore_char_type*
g:tcomment#ignore_char_type (default: 1) g:tcomment#ignore_char_type (default: 1)
|text-objects| for use with |tcomment#Operator| can have different |text-objects| for use with |tcomment#Operator| can have different
@ -303,6 +512,10 @@ g:tcommentGuessFileType_php (default: 'html')
thus assume that the buffers default comment style isn't php but thus assume that the buffers default comment style isn't php but
html. html.
*g:tcommentGuessFileType_blade*
g:tcommentGuessFileType_blade (default: 'html')
See |g:tcommentGuessFileType_php|.
*g:tcommentGuessFileType_html* *g:tcommentGuessFileType_html*
g:tcommentGuessFileType_html (default: 1) g:tcommentGuessFileType_html (default: 1)
@ -341,28 +554,36 @@ g:tcommentSyntaxMap (default: {...})
g:tcomment#replacements_c (default: {...}) g:tcomment#replacements_c (default: {...})
Replacements for c filetype. Replacements for c filetype.
*g:tcommentBlockC* *g:tcommentInlineC*
g:tcommentBlockC (default: {...}) g:tcommentInlineC (default: {...})
Generic c-like block comments. Generic c-like comments.
*g:tcommentBlockC2* *g:tcommentBlockC2*
g:tcommentBlockC2 (default: {...}) g:tcommentBlockC2 (default: {...})
Generic c-like block comments (alternative markup). Generic c-like block comments (alternative markup).
*g:tcommentInlineC* *g:tcomment#replacements_xml*
g:tcommentInlineC (default: g:tcommentLineC) g:tcomment#replacements_xml (default: {...})
Generic c-like comments. Replacements for xml filetype.
*g:tcommentBlockXML* *g:tcommentBlockXML*
g:tcommentBlockXML (default: "<!--%s-->\n ") g:tcommentBlockXML (default: {...})
Generic xml-like block comments. Generic xml-like block comments.
*g:tcommentInlineXML* *g:tcommentInlineXML*
g:tcommentInlineXML (default: "<!-- %s -->") g:tcommentInlineXML (default: {...})
Generic xml-like comments. Generic xml-like comments.
*g:tcomment#ignore_comment_def*
g:tcomment#ignore_comment_def (default: [])
A list of names or filetypes, which should be ignored by
|tcomment#DefineType()| -- no custom comment definition will be
stored for these names.
This variable should be set before loading autoload/tcomment.vim.
*tcomment#DefineType()* *tcomment#DefineType()*
tcomment#DefineType(name, commentdef) tcomment#DefineType(name, commentdef, ?cdef={}, ?anyway=0)
If you don't explicitly define a comment style, |:TComment| will use If you don't explicitly define a comment style, |:TComment| will use
'commentstring' instead. We override the default values here in order 'commentstring' instead. We override the default values here in order
to have a blank after the comment marker. Block comments work only if to have a blank after the comment marker. Block comments work only if
@ -391,6 +612,13 @@ tcomment#DefineType(name, commentdef)
args is a list of key=value pairs) to find out which fields can be args is a list of key=value pairs) to find out which fields can be
used. used.
*tcomment#GetCommentDef()*
tcomment#GetCommentDef(name, ...)
Return the comment definition for NAME.
*b:tcomment_def_{NAME}*
Return b:tcomment_def_{NAME} if the variable exists. Otherwise return
the comment definition as set with |tcomment#DefineType|.
*g:tcomment_types* *g:tcomment_types*
g:tcomment_types (default: {}) g:tcomment_types (default: {})
A dictionary of NAME => COMMENT DEFINITION (see |tcomment#DefineType|) A dictionary of NAME => COMMENT DEFINITION (see |tcomment#DefineType|)
@ -401,7 +629,7 @@ g:tcomment_types (default: {})
*tcomment#Comment()* *tcomment#Comment()*
tcomment#Comment(beg, end, ...) tcomment#Comment(beg, end, ...)
tcomment#Comment(line1, line2, ?commentMode, ?commentAnyway, ?args...) tcomment#Comment(line1, line2, ?comment_mode, ?comment_anyway, ?args...)
args... are either: args... are either:
1. a list of key=value pairs where known keys are (see also 1. a list of key=value pairs where known keys are (see also
|g:tcommentOptions|): |g:tcommentOptions|):
@ -409,7 +637,8 @@ tcomment#Comment(beg, end, ...)
count=N ... Repeat the comment string N times count=N ... Repeat the comment string N times
col=N ... Start the comment at column N (in block col=N ... Start the comment at column N (in block
mode; must be smaller than |indent()|) mode; must be smaller than |indent()|)
mode=STRING ... See the notes below on the "commentMode" argument mode=STRING ... See the notes below on the "comment_mode" argument
mode_extra=STRING ... Add to comment_mode
begin=STRING ... Comment prefix begin=STRING ... Comment prefix
end=STRING ... Comment postfix end=STRING ... Comment postfix
middle=STRING ... Middle line comments in block mode middle=STRING ... Middle line comments in block mode
@ -417,17 +646,29 @@ tcomment#Comment(beg, end, ...)
that should be multiplied by "count" that should be multiplied by "count"
rxend=N ... The above for "end" rxend=N ... The above for "end"
rxmid=N ... The above for "middle" rxmid=N ... The above for "middle"
mixedindent=BOOL ... If true, allow use of mixed
characters for indentation
commentstring_rx ... A regexp format string that matches commentstring_rx ... A regexp format string that matches
commented lines (no new groups may be commented lines (no new groups may be
introduced, the |regexp| is |\V|; % have introduced, the |regexp| is |\V|; % have
to be doubled); "commentstring", "begin" to be doubled); "commentstring", "begin"
and optionally "end" must be defined or and optionally "end" must be defined or
deducible. deducible.
whitespace ... Define whether commented text is
surrounded with whitespace; if
both ... surround with whitespace (default)
left ... keep whitespace on the left
right... keep whitespace on the right
no ... don't use whitespace
strip_whitespace ... Strip trailing whitespace: if 1
(default), strip from empty lines only,
if 2, always strip whitespace; if 0,
don't strip any whitespace
2. 1-2 values for: ?commentPrefix, ?commentPostfix 2. 1-2 values for: ?commentPrefix, ?commentPostfix
3. a dictionary (internal use only) 3. a dictionary (internal use only)
commentMode: comment_mode (see also ¦g:tcommentModeExtra¦):
G ... guess the value of commentMode G ... guess the value of comment_mode
B ... block (use extra lines for the comment markers) B ... block (use extra lines for the comment markers)
i ... maybe inline, guess i ... maybe inline, guess
I ... inline I ... inline
@ -453,7 +694,7 @@ tcomment#OperatorAnyway(type)
tcomment#OperatorLineAnyway(type) tcomment#OperatorLineAnyway(type)
*tcomment#CommentAs()* *tcomment#CommentAs()*
tcomment#CommentAs(beg, end, commentAnyway, filetype, ?args...) tcomment#CommentAs(beg, end, comment_anyway, filetype, ?args...)
Where args is either: Where args is either:
1. A count NUMBER 1. A count NUMBER
2. An args list (see the notes on the "args" argument of 2. An args list (see the notes on the "args" argument of
@ -469,7 +710,7 @@ tcomment#GuessFileType(?options={})
beg ................ (default = line(".")) beg ................ (default = line("."))
end ................ (default = line(".")) end ................ (default = line("."))
commentMode ........ (default = "G") comment_mode ........ (default = "G")
filetype ........... (default = &filetype) filetype ........... (default = &filetype)
fallbackFiletype ... (default = "") fallbackFiletype ... (default = "")
@ -478,6 +719,9 @@ tcomment#GuessFileType(?options={})
between lines "beg" and "end" is in the "filetype" key of the return between lines "beg" and "end" is in the "filetype" key of the return
value. It returns the first discernible filetype it encounters. value. It returns the first discernible filetype it encounters.
*tcomment#TextObjectInlineComment()*
tcomment#TextObjectInlineComment()
vim:tw=78:fo=tcq2:isk=!-~,^*,^|,^":ts=8:ft=help:norl: vim:tw=78:fo=tcq2:isk=!-~,^*,^|,^":ts=8:ft=help:norl:

View File

@ -1,9 +1,9 @@
" netrwPlugin.vim: Handles file transfer and remote directory listing across a network " netrwPlugin.vim: Handles file transfer and remote directory listing across a network
" PLUGIN SECTION " PLUGIN SECTION
" Date: Dec 06, 2012 " Date: Dec 31, 2013
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM> " Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1 " Copyright: Copyright (C) 1999-2013 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code, " Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright " with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free, " notice is copied with it. Like anything else that's free,
@ -20,27 +20,33 @@
if &cp || exists("g:loaded_netrwPlugin") if &cp || exists("g:loaded_netrwPlugin")
finish finish
endif endif
let g:loaded_netrwPlugin = "v147" let g:loaded_netrwPlugin = "v150"
if v:version < 702 if v:version < 702
echohl WarningMsg | echo "***netrw*** you need vim version 7.2 for this version of netrw" | echohl None echohl WarningMsg
echo "***warning*** you need vim version 7.2 for this version of netrw"
echohl None
finish
endif
if v:version < 703 || (v:version == 703 && !has("patch465"))
echohl WarningMsg
echo "***warning*** this version of netrw needs vim 7.3.465 or later"
echohl Normal
finish finish
endif endif
let s:keepcpo = &cpo let s:keepcpo = &cpo
set cpo&vim set cpo&vim
"DechoRemOn
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" Public Interface: {{{1 " Public Interface: {{{1
" Local Browsing: {{{2 " Local Browsing Autocmds: {{{2
augroup FileExplorer augroup FileExplorer
au! au!
" au BufReadCmd *[/\\] sil! call s:LocalBrowse(expand("<amatch>")) au BufEnter * sil call s:LocalBrowse(expand("<amatch>"))
" au BufEnter *[^/\\] sil! call s:LocalBrowse(expand("<amatch>")) au VimEnter * sil call s:VimEnter(expand("<amatch>"))
" au VimEnter *[^/\\] sil! call s:VimEnter(expand("<amatch>"))
au BufEnter * sil! call s:LocalBrowse(expand("<amatch>"))
au VimEnter * sil! call s:VimEnter(expand("<amatch>"))
if has("win32") || has("win95") || has("win64") || has("win16") if has("win32") || has("win95") || has("win64") || has("win16")
au BufEnter .* sil! call s:LocalBrowse(expand("<amatch>")) au BufEnter .* sil call s:LocalBrowse(expand("<amatch>"))
endif endif
augroup END augroup END
@ -50,8 +56,8 @@ augroup Network
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>")) au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>")) au BufReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>"))
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>")) au FileReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>")) au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
au FileWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>")) au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
try try
au SourceCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>")) au SourceCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
catch /^Vim\%((\a\+)\)\=:E216/ catch /^Vim\%((\a\+)\)\=:E216/
@ -64,8 +70,9 @@ com! -count=1 -nargs=* Nread call netrw#NetrwSavePosn()<bar>call netrw#NetRead(
com! -range=% -nargs=* Nwrite call netrw#NetrwSavePosn()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call netrw#NetrwRestorePosn() com! -range=% -nargs=* Nwrite call netrw#NetrwSavePosn()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call netrw#NetrwRestorePosn()
com! -nargs=* NetUserPass call NetUserPass(<f-args>) com! -nargs=* NetUserPass call NetUserPass(<f-args>)
com! -nargs=* Nsource call netrw#NetrwSavePosn()<bar>call netrw#NetSource(<f-args>)<bar>call netrw#NetrwRestorePosn() com! -nargs=* Nsource call netrw#NetrwSavePosn()<bar>call netrw#NetSource(<f-args>)<bar>call netrw#NetrwRestorePosn()
com! -nargs=? Ntree call netrw#NetrwSetTreetop(<q-args>)
" Commands: :Explore, :Sexplore, Hexplore, Vexplore {{{2 " Commands: :Explore, :Sexplore, Hexplore, Vexplore, Lexplore {{{2
com! -nargs=* -bar -bang -count=0 -complete=dir Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>) com! -nargs=* -bar -bang -count=0 -complete=dir Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>)
com! -nargs=* -bar -bang -count=0 -complete=dir Sexplore call netrw#Explore(<count>,1,0+<bang>0,<q-args>) com! -nargs=* -bar -bang -count=0 -complete=dir Sexplore call netrw#Explore(<count>,1,0+<bang>0,<q-args>)
com! -nargs=* -bar -bang -count=0 -complete=dir Hexplore call netrw#Explore(<count>,1,2+<bang>0,<q-args>) com! -nargs=* -bar -bang -count=0 -complete=dir Hexplore call netrw#Explore(<count>,1,2+<bang>0,<q-args>)
@ -73,6 +80,7 @@ com! -nargs=* -bar -bang -count=0 -complete=dir Vexplore call netrw#Explore(<cou
com! -nargs=* -bar -count=0 -complete=dir Texplore call netrw#Explore(<count>,0,6 ,<q-args>) com! -nargs=* -bar -count=0 -complete=dir Texplore call netrw#Explore(<count>,0,6 ,<q-args>)
com! -nargs=* -bar -bang Nexplore call netrw#Explore(-1,0,0,<q-args>) com! -nargs=* -bar -bang Nexplore call netrw#Explore(-1,0,0,<q-args>)
com! -nargs=* -bar -bang Pexplore call netrw#Explore(-2,0,0,<q-args>) com! -nargs=* -bar -bang Pexplore call netrw#Explore(-2,0,0,<q-args>)
com! -nargs=* -bar -complete=dir Lexplore call netrw#Lexplore(<q-args>)
" Commands: NetrwSettings {{{2 " Commands: NetrwSettings {{{2
com! -nargs=0 NetrwSettings call netrwSettings#NetrwSettings() com! -nargs=0 NetrwSettings call netrwSettings#NetrwSettings()
@ -83,36 +91,61 @@ if !exists("g:netrw_nogx") && maparg('gx','n') == ""
if !hasmapto('<Plug>NetrwBrowseX') if !hasmapto('<Plug>NetrwBrowseX')
nmap <unique> gx <Plug>NetrwBrowseX nmap <unique> gx <Plug>NetrwBrowseX
endif endif
nno <silent> <Plug>NetrwBrowseX :call netrw#NetrwBrowseX(expand("<cWORD>"),0)<cr> nno <silent> <Plug>NetrwBrowseX :call netrw#NetrwBrowseX(expand("<cfile>"),0)<cr>
endif endif
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" LocalBrowse: {{{2 " LocalBrowse: invokes netrw#LocalBrowseCheck() on directory buffers {{{2
fun! s:LocalBrowse(dirname) fun! s:LocalBrowse(dirname)
" unfortunate interaction -- debugging calls can't be used here; " Unfortunate interaction -- only DechoMsg debugging calls can be safely used here.
" the BufEnter event causes triggering when attempts to write to " Otherwise, the BufEnter event gets triggered when attempts to write to
" the DBG buffer are made. " the DBG buffer are made.
" echomsg "dirname<".a:dirname.">"
if !exists("s:vimentered")
" If s:vimentered doesn't exist, then the VimEnter event hasn't fired. It will,
" and so s:VimEnter() will then be calling this routine, but this time with s:vimentered defined.
" call Dfunc("s:LocalBrowse(dirname<".a:dirname.">) (s:vimentered doesn't exist)")
" call Dret("s:LocalBrowse")
return
endif
" call Dfunc("s:LocalBrowse(dirname<".a:dirname.">) (s:vimentered=".s:vimentered.")")
if has("amiga") if has("amiga")
" The check against '' is made for the Amiga, where the empty " The check against '' is made for the Amiga, where the empty
" string is the current directory and not checking would break " string is the current directory and not checking would break
" things such as the help command. " things such as the help command.
" call Decho("(LocalBrowse) dirname<".a:dirname."> (isdirectory, amiga)")
if a:dirname != '' && isdirectory(a:dirname) if a:dirname != '' && isdirectory(a:dirname)
sil! call netrw#LocalBrowseCheck(a:dirname) sil! call netrw#LocalBrowseCheck(a:dirname)
endif endif
elseif isdirectory(a:dirname) elseif isdirectory(a:dirname)
" echomsg "dirname<".dirname."> isdir" " call Decho("(LocalBrowse) dirname<".a:dirname."> (isdirectory, not amiga)")
sil! call netrw#LocalBrowseCheck(a:dirname) sil! call netrw#LocalBrowseCheck(a:dirname)
endif
else
" not a directory, ignore it " not a directory, ignore it
" call Decho("(LocalBrowse) dirname<".a:dirname."> not a directory, ignoring...")
endif
" call Dret("s:LocalBrowse")
endfun endfun
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" s:VimEnter: {{{2 " s:VimEnter: after all vim startup stuff is done, this function is called. {{{2
" Its purpose: to look over all windows and run s:LocalBrowse() on
" them, which checks if they're directories and will create a directory
" listing when appropriate.
" It also sets s:vimentered, letting s:LocalBrowse() know that s:VimEnter()
" has already been called.
fun! s:VimEnter(dirname) fun! s:VimEnter(dirname)
" call Dfunc("s:VimEnter(dirname<".a:dirname.">) expand(%)<".expand("%").">")
let curwin = winnr() let curwin = winnr()
windo if a:dirname != expand("%")|call s:LocalBrowse(expand("%:p"))|endif let s:vimentered = 1
windo call s:LocalBrowse(expand("%:p"))
exe curwin."wincmd w" exe curwin."wincmd w"
" call Dret("s:VimEnter")
endfun endfun
" --------------------------------------------------------------------- " ---------------------------------------------------------------------

View File

@ -2,34 +2,50 @@
" @Author: Tom Link (micathom AT gmail com) " @Author: Tom Link (micathom AT gmail com)
" @License: GPL (see http://www.gnu.org/licenses/gpl.txt) " @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
" @Created: 27-Dez-2004. " @Created: 27-Dez-2004.
" @Last Change: 2012-11-26. " @Last Change: 2014-02-05.
" @Revision: 762 " @Revision: 811
" GetLatestVimScripts: 1173 1 tcomment.vim " GetLatestVimScripts: 1173 1 tcomment.vim
if &cp || exists('loaded_tcomment') if &cp || exists('loaded_tcomment')
finish finish
endif endif
let loaded_tcomment = 208 let loaded_tcomment = 303
let s:save_cpo = &cpo
set cpo&vim
if !exists('g:tcommentMaps')
" If true, set maps.
let g:tcommentMaps = 1 "{{{2
endif
if !exists("g:tcommentMapLeader1") if !exists("g:tcommentMapLeader1")
" g:tcommentMapLeader1 should be a shortcut that can be used with " g:tcommentMapLeader1 should be a shortcut that can be used with
" map, imap, vmap. " map, imap, vmap.
let g:tcommentMapLeader1 = '<c-_>' "{{{2 let g:tcommentMapLeader1 = '<c-_>' "{{{2
endif endif
if !exists("g:tcommentMapLeader2") if !exists("g:tcommentMapLeader2")
" g:tcommentMapLeader2 should be a shortcut that can be used with " g:tcommentMapLeader2 should be a shortcut that can be used with
" map, xmap. " map, xmap.
let g:tcommentMapLeader2 = '<Leader>_' "{{{2 let g:tcommentMapLeader2 = '<Leader>_' "{{{2
endif endif
if !exists("g:tcommentMapLeaderOp1") if !exists("g:tcommentMapLeaderOp1")
" See |tcomment-operator|. " See |tcomment-operator|.
let g:tcommentMapLeaderOp1 = 'gc' "{{{2 let g:tcommentMapLeaderOp1 = 'gc' "{{{2
endif endif
if !exists("g:tcommentMapLeaderOp2") if !exists("g:tcommentMapLeaderOp2")
" See |tcomment-operator|. " See |tcomment-operator|.
let g:tcommentMapLeaderOp2 = 'gC' "{{{2 let g:tcommentMapLeaderOp2 = 'gC' "{{{2
endif endif
if !exists('g:tcommentTextObjectInlineComment')
let g:tcommentTextObjectInlineComment = 'ic' "{{{2
endif
" :display: :[range]TComment[!] ?ARGS... " :display: :[range]TComment[!] ?ARGS...
" If there is a visual selection that begins and ends in the same line, " If there is a visual selection that begins and ends in the same line,
@ -96,62 +112,131 @@ command! -bang -range -nargs=* -complete=customlist,tcomment#CompleteArgs TComme
\ keepjumps call tcomment#Comment(<line1>, <line2>, 'i', "<bang>", <f-args>) \ keepjumps call tcomment#Comment(<line1>, <line2>, 'i', "<bang>", <f-args>)
noremap <Plug>TComment-<c-_><c-_> :TComment<cr>
vnoremap <Plug>TComment-<c-_><c-_> :TCommentMaybeInline<cr>
inoremap <Plug>TComment-<c-_><c-_> <c-o>:TComment<cr>
noremap <Plug>TComment-<c-_>p m`vip:TComment<cr>``
inoremap <Plug>TComment-<c-_>p <c-o>:norm! m`vip<cr>:TComment<cr><c-o>``
noremap <Plug>TComment-<c-_><space> :TComment
inoremap <Plug>TComment-<c-_><space> <c-o>:TComment
inoremap <Plug>TComment-<c-_>r <c-o>:TCommentRight<cr>
noremap <Plug>TComment-<c-_>r :TCommentRight<cr>
vnoremap <Plug>TComment-<c-_>i :TCommentInline<cr>
noremap <Plug>TComment-<c-_>i v:TCommentInline mode=I#<cr>
inoremap <Plug>TComment-<c-_>i <c-\><c-o>v:TCommentInline mode=#<cr>
noremap <Plug>TComment-<c-_>b :TCommentBlock<cr>
inoremap <Plug>TComment-<c-_>b <c-\><c-o>:TCommentBlock mode=#<cr>
noremap <Plug>TComment-<c-_>a :TCommentAs
inoremap <Plug>TComment-<c-_>a <c-o>:TCommentAs
noremap <Plug>TComment-<c-_>n :TCommentAs <c-r>=&ft<cr>
inoremap <Plug>TComment-<c-_>n <c-o>:TCommentAs <c-r>=&ft<cr>
noremap <Plug>TComment-<c-_>s :TCommentAs <c-r>=&ft<cr>_
inoremap <Plug>TComment-<c-_>s <c-o>:TCommentAs <c-r>=&ft<cr>_
noremap <Plug>TComment-<c-_>cc :<c-u>call tcomment#SetOption("count", v:count1)<cr>
noremap <Plug>TComment-<c-_>ca :<c-u>call tcomment#SetOption("as", input("Comment as: ", &filetype, "customlist,tcomment#Complete"))<cr>
noremap <Plug>TComment-<Leader>__ :TComment<cr>
xnoremap <Plug>TComment-<Leader>__ :TCommentMaybeInline<cr>
noremap <Plug>TComment-<Leader>_p vip:TComment<cr>
noremap <Plug>TComment-<Leader>_<space> :TComment
xnoremap <Plug>TComment-<Leader>_i :TCommentInline<cr>
noremap <Plug>TComment-<Leader>_r :TCommentRight<cr>
noremap <Plug>TComment-<Leader>_b :TCommentBlock<cr>
noremap <Plug>TComment-<Leader>_a :TCommentAs
noremap <Plug>TComment-<Leader>_n :TCommentAs <c-r>=&ft<cr>
noremap <Plug>TComment-<Leader>_s :TCommentAs <c-r>=&ft<cr>_
nnoremap <silent> <Plug>TComment-gC :let w:tcommentPos = getpos(".") \| set opfunc=tcomment#OperatorAnyway<cr>g@
nnoremap <silent> <Plug>TComment-gCc :let w:tcommentPos = getpos(".") \| set opfunc=tcomment#OperatorLineAnyway<cr>g@$
nnoremap <silent> <Plug>TComment-gCb :let w:tcommentPos = getpos(".") \| call tcomment#SetOption("mode_extra", "B") \| set opfunc=tcomment#OperatorLine<cr>g@
xnoremap <Plug>TComment-gC :TCommentMaybeInline!<cr>
vnoremap <Plug>TComment-ic :<c-U>call tcomment#TextObjectInlineComment()<cr>
noremap <Plug>TComment-ic :<c-U>call tcomment#TextObjectInlineComment()<cr>
nnoremap <silent> <Plug>TComment-gcc :<c-u>if v:count > 0 \| call tcomment#SetOption("count", v:count) \| endif \| let w:tcommentPos = getpos(".") \| set opfunc=tcomment#OperatorLine<cr>g@$
nnoremap <silent> <Plug>TComment-gcb :<c-u>if v:count > 0 \| call tcomment#SetOption("count", v:count) \| endif \| let w:tcommentPos = getpos(".") \| call tcomment#SetOption("mode_extra", "B") \| set opfunc=tcomment#OperatorLine<cr>g@
xnoremap <Plug>TComment-gc :TCommentMaybeInline<cr>
nnoremap <silent> <Plug>TComment-gc :<c-u>if v:count > 0 \| call tcomment#SetOption("count", v:count) \| endif \| let w:tcommentPos = getpos(".") \| set opfunc=tcomment#Operator<cr>g@
if (g:tcommentMapLeader1 != '')
exec 'noremap <silent> '. g:tcommentMapLeader1 . g:tcommentMapLeader1 .' :TComment<cr>'
exec 'vnoremap <silent> '. g:tcommentMapLeader1 . g:tcommentMapLeader1 .' :TCommentMaybeInline<cr>'
exec 'inoremap <silent> '. g:tcommentMapLeader1 . g:tcommentMapLeader1 .' <c-o>:TComment<cr>'
exec 'noremap <silent> '. g:tcommentMapLeader1 .'p m`vip:TComment<cr>``'
exec 'inoremap <silent> '. g:tcommentMapLeader1 .'p <c-o>:norm! m`vip<cr>:TComment<cr><c-o>``'
exec 'noremap '. g:tcommentMapLeader1 .'<space> :TComment '
exec 'inoremap '. g:tcommentMapLeader1 .'<space> <c-o>:TComment '
exec 'inoremap <silent> '. g:tcommentMapLeader1 .'r <c-o>:TCommentRight<cr>'
exec 'noremap <silent> '. g:tcommentMapLeader1 .'r :TCommentRight<cr>'
exec 'vnoremap <silent> '. g:tcommentMapLeader1 .'i :TCommentInline<cr>'
exec 'noremap <silent> '. g:tcommentMapLeader1 .'i v:TCommentInline mode=I#<cr>'
exec 'inoremap <silent> '. g:tcommentMapLeader1 .'i <c-\><c-o>v:TCommentInline mode=#<cr>'
exec 'noremap '. g:tcommentMapLeader1 .'b :TCommentBlock<cr>'
exec 'inoremap '. g:tcommentMapLeader1 .'b <c-o>:TCommentBlock<cr>'
exec 'noremap '. g:tcommentMapLeader1 .'a :TCommentAs '
exec 'inoremap '. g:tcommentMapLeader1 .'a <c-o>:TCommentAs '
exec 'noremap '. g:tcommentMapLeader1 .'n :TCommentAs <c-r>=&ft<cr> '
exec 'inoremap '. g:tcommentMapLeader1 .'n <c-o>:TCommentAs <c-r>=&ft<cr> '
exec 'noremap '. g:tcommentMapLeader1 .'s :TCommentAs <c-r>=&ft<cr>_'
exec 'inoremap '. g:tcommentMapLeader1 .'s <c-o>:TCommentAs <c-r>=&ft<cr>_'
exec 'noremap <silent> '. g:tcommentMapLeader1 .'cc :<c-u>call tcomment#SetOption("count", v:count1)<cr>'
exec 'noremap '. g:tcommentMapLeader1 .'ca :<c-u>call tcomment#SetOption("as", input("Comment as: ", &filetype, "customlist,tcomment#Complete"))<cr>'
for s:i in range(1, 9) for s:i in range(1, 9)
exec 'noremap <silent> '. g:tcommentMapLeader1 . s:i .' :TComment count='. s:i .'<cr>' exec 'noremap <Plug>TComment-<c-_>' . s:i . ' :call tcomment#SetOption("count", '. s:i .')<cr>'
exec 'inoremap <silent> '. g:tcommentMapLeader1 . s:i .' <c-\><c-o>:TComment count='. s:i .'<cr>' exec 'inoremap <Plug>TComment-<c-_>' . s:i . ' <c-\><c-o>:call tcomment#SetOption("count", '. s:i .')<cr>'
exec 'vnoremap <silent> '. g:tcommentMapLeader1 . s:i .' :TCommentMaybeInline count='. s:i .'<cr>' exec 'vnoremap <Plug>TComment-<c-_>' . s:i . ' :call tcomment#SetOption("count", '. s:i .')<cr>'
endfor
for s:i in range(1, 9)
exec 'nnoremap <silent> <Plug>TComment-gc' . s:i .'c :let w:tcommentPos = getpos(".") \| call tcomment#SetOption("count", '. s:i .') \| set opfunc=tcomment#Operator<cr>g@'
endfor
unlet s:i
if g:tcommentMaps
if g:tcommentMapLeader1 != ''
exec 'map '. g:tcommentMapLeader1 . g:tcommentMapLeader1 .' <Plug>TComment-<c-_><c-_>'
exec 'vmap '. g:tcommentMapLeader1 . g:tcommentMapLeader1 .' <Plug>TComment-<c-_><c-_>'
exec 'imap '. g:tcommentMapLeader1 . g:tcommentMapLeader1 .' <Plug>TComment-<c-_><c-_>'
exec 'map '. g:tcommentMapLeader1 .'p <Plug>TComment-<c-_>p'
exec 'imap '. g:tcommentMapLeader1 .'p <Plug>TComment-<c-_>p'
exec 'map '. g:tcommentMapLeader1 .'<space> <Plug>TComment-<c-_><space>'
exec 'imap '. g:tcommentMapLeader1 .'<space> <Plug>TComment-<c-_><space>'
exec 'imap '. g:tcommentMapLeader1 .'r <Plug>TComment-<c-_>r'
exec 'map '. g:tcommentMapLeader1 .'r <Plug>TComment-<c-_>r'
exec 'vmap '. g:tcommentMapLeader1 .'i <Plug>TComment-<c-_>i'
exec 'map '. g:tcommentMapLeader1 .'i <Plug>TComment-<c-_>i'
exec 'imap '. g:tcommentMapLeader1 .'i <Plug>TComment-<c-_>i'
exec 'map '. g:tcommentMapLeader1 .'b <Plug>TComment-<c-_>b'
exec 'imap '. g:tcommentMapLeader1 .'b <Plug>TComment-<c-_>b'
exec 'map '. g:tcommentMapLeader1 .'a <Plug>TComment-<c-_>a'
exec 'imap '. g:tcommentMapLeader1 .'a <Plug>TComment-<c-_>a'
exec 'map '. g:tcommentMapLeader1 .'n <Plug>TComment-<c-_>n'
exec 'imap '. g:tcommentMapLeader1 .'n <Plug>TComment-<c-_>n'
exec 'map '. g:tcommentMapLeader1 .'s <Plug>TComment-<c-_>s'
exec 'imap '. g:tcommentMapLeader1 .'s <Plug>TComment-<c-_>s'
exec 'map '. g:tcommentMapLeader1 .'cc <Plug>TComment-<c-_>cc'
exec 'map '. g:tcommentMapLeader1 .'ca <Plug>TComment-<c-_>ca'
for s:i in range(1, 9)
exec 'map '. g:tcommentMapLeader1 . s:i .' <Plug>TComment-<c-_>'.s:i
exec 'imap '. g:tcommentMapLeader1 . s:i .' <Plug>TComment-<c-_>'.s:i
exec 'vmap '. g:tcommentMapLeader1 . s:i .' <Plug>TComment-<c-_>'.s:i
endfor endfor
unlet s:i unlet s:i
endif endif
if (g:tcommentMapLeader2 != '') if g:tcommentMapLeader2 != ''
exec 'noremap <silent> '. g:tcommentMapLeader2 .'_ :TComment<cr>' exec 'map '. g:tcommentMapLeader2 .'_ <Plug>TComment-<Leader>__'
exec 'xnoremap <silent> '. g:tcommentMapLeader2 .'_ :TCommentMaybeInline<cr>' exec 'xmap '. g:tcommentMapLeader2 .'_ <Plug>TComment-<Leader>__'
exec 'noremap <silent> '. g:tcommentMapLeader2 .'p vip:TComment<cr>' exec 'map '. g:tcommentMapLeader2 .'p <Plug>TComment-<Leader>_p'
exec 'noremap '. g:tcommentMapLeader2 .'<space> :TComment ' exec 'map '. g:tcommentMapLeader2 .'<space> <Plug>TComment-<Leader>_<space>'
exec 'xnoremap <silent> '. g:tcommentMapLeader2 .'i :TCommentInline<cr>' exec 'xmap '. g:tcommentMapLeader2 .'i <Plug>TComment-<Leader>_i'
exec 'noremap <silent> '. g:tcommentMapLeader2 .'r :TCommentRight<cr>' exec 'map '. g:tcommentMapLeader2 .'r <Plug>TComment-<Leader>_r'
exec 'noremap '. g:tcommentMapLeader2 .'b :TCommentBlock<cr>' exec 'map '. g:tcommentMapLeader2 .'b <Plug>TComment-<Leader>_b'
exec 'noremap '. g:tcommentMapLeader2 .'a :TCommentAs ' exec 'map '. g:tcommentMapLeader2 .'a <Plug>TComment-<Leader>_a'
exec 'noremap '. g:tcommentMapLeader2 .'n :TCommentAs <c-r>=&ft<cr> ' exec 'map '. g:tcommentMapLeader2 .'n <Plug>TComment-<Leader>_n'
exec 'noremap '. g:tcommentMapLeader2 .'s :TCommentAs <c-r>=&ft<cr>_' exec 'map '. g:tcommentMapLeader2 .'s <Plug>TComment-<Leader>_s'
endif endif
if (g:tcommentMapLeaderOp1 != '') if g:tcommentMapLeaderOp1 != ''
exec 'nnoremap <silent> '. g:tcommentMapLeaderOp1 .' :<c-u>if v:count > 0 \| call tcomment#SetOption("count", v:count) \| endif \| let w:tcommentPos = getpos(".") \| set opfunc=tcomment#Operator<cr>g@' exec 'nmap <silent> '. g:tcommentMapLeaderOp1 .' <Plug>TComment-gc'
for s:i in range(1, 9) for s:i in range(1, 9)
exec 'nnoremap <silent> '. g:tcommentMapLeaderOp1 . s:i .'c :let w:tcommentPos = getpos(".") \| call tcomment#SetOption("count", '. s:i .') \| set opfunc=tcomment#Operator<cr>g@' exec 'nmap <silent> '. g:tcommentMapLeaderOp1 . s:i .' <Plug>TComment-gc'.s:i
endfor endfor
unlet s:i unlet s:i
exec 'nnoremap <silent> '. g:tcommentMapLeaderOp1 .'c :let w:tcommentPos = getpos(".") \| set opfunc=tcomment#OperatorLine<cr>g@$' exec 'nmap <silent> '. g:tcommentMapLeaderOp1 .'c <Plug>TComment-gcc'
exec 'xnoremap <silent> '. g:tcommentMapLeaderOp1 .' :TCommentMaybeInline<cr>' exec 'nmap <silent> '. g:tcommentMapLeaderOp1 .'b <Plug>TComment-gcb'
exec 'xmap '. g:tcommentMapLeaderOp1 .' <Plug>TComment-gc'
endif
if g:tcommentMapLeaderOp2 != ''
exec 'nmap <silent> '. g:tcommentMapLeaderOp2 .' <Plug>TComment-gC'
exec 'nmap <silent> '. g:tcommentMapLeaderOp2 .'c <Plug>TComment-gCc'
exec 'nmap <silent> '. g:tcommentMapLeaderOp2 .'b <Plug>TComment-gCb'
exec 'xmap '. g:tcommentMapLeaderOp2 .' <Plug>TComment-gC'
endif
if g:tcommentTextObjectInlineComment != ''
exec 'vmap' g:tcommentTextObjectInlineComment ' <Plug>TComment-ic'
exec 'omap' g:tcommentTextObjectInlineComment ' <Plug>TComment-ic'
endif endif
if (g:tcommentMapLeaderOp2 != '')
exec 'nnoremap <silent> '. g:tcommentMapLeaderOp2 .' :let w:tcommentPos = getpos(".") \| set opfunc=tcomment#OperatorAnyway<cr>g@'
exec 'nnoremap <silent> '. g:tcommentMapLeaderOp2 .'c :let w:tcommentPos = getpos(".") \| set opfunc=tcomment#OperatorLineAnyway<cr>g@$'
exec 'xnoremap <silent> '. g:tcommentMapLeaderOp2 .' :TCommentMaybeInline!<cr>'
endif endif
let &cpo = s:save_cpo
unlet s:save_cpo
" vi: ft=vim:tw=72:ts=4:fo=w2croql " vi: ft=vim:tw=72:ts=4:fo=w2croql

View File

@ -19,11 +19,12 @@ syn cluster NetrwTreeGroup contains=netrwDir,netrwSymLink,netrwExe
syn match netrwPlain "\(\S\+ \)*\S\+" contains=@NoSpell syn match netrwPlain "\(\S\+ \)*\S\+" contains=@NoSpell
syn match netrwSpecial "\%(\S\+ \)*\S\+[*|=]\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell syn match netrwSpecial "\%(\S\+ \)*\S\+[*|=]\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
syn match netrwDir "\.\{1,2}/" contains=netrwClassify,@NoSpell syn match netrwDir "\.\{1,2}/" contains=netrwClassify,@NoSpell
syn match netrwDir "\%(\S\+ \)*\S\+/" contains=netrwClassify,@NoSpell "syn match netrwDir "\%(\S\+ \)*\S\+/" contains=netrwClassify,@NoSpell
syn match netrwDir "\%(\S\+ \)*\S\+/\ze\%(\s\{2,}\|$\)" 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 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 netrwSymLink "\%(\S\+ \)*\S\+@\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
syn match netrwExe "\%(\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 netrwTreeBar "^\%([-+|] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
syn match netrwTreeBarSpace " " contained syn match netrwTreeBarSpace " " contained
syn match netrwClassify "[*=|@/]\ze\%(\s\{2,}\|$\)" contained syn match netrwClassify "[*=|@/]\ze\%(\s\{2,}\|$\)" contained