/usr/share/vim/cream/cream-showinvisibles.vim is in cream 0.43-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 | "=
" cream-showinvisibles.vim
"
" Cream -- An easy-to-use configuration of the famous Vim text editor
" [ http://cream.sourceforge.net ] Copyright (C) 2001-2011 Steve Hall
"
" License:
"
" This program is free software; you can redistribute it and/or modify
" it under the terms of the GNU General Public License as published by
" the Free Software Foundation; either version 2 of the License, or
" (at your option) any later version.
" [ http://www.gnu.org/licenses/gpl.html ]
"
" This program is distributed in the hope that it will be useful, but
" WITHOUT ANY WARRANTY; without even the implied warranty of
" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
" General Public License for more details.
"
" You should have received a copy of the GNU General Public License
" along with this program; if not, write to the Free Software
" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
" 02111-1307, USA.
"
" Description:
"
" Toggle view of invisible characters such as tabs, trailing spaces
" and hard returns. The script includes intuitive presets for these
" characters, a global environmental variable (g:LIST) that is
" retained and initialized across sessions if you use a viminfo, and a
" familiar (to some of us) keyboard shortcut mapping to F4.
"
" This configuration includes characters as beautiful as your specific
" setup will allow, determined by hardware, operating system and Vim
" version. (Vim version 6.1.469 supports multi-byte characters, used
" with UTF-8 encoding.)
"
" This is one of the many custom utilities and functions for gVim from
" the Cream project (http://cream.sourceforge.net), a configuration of
" Vim for those of us familiar with Apple and Windows software.
"
" Updated: 2004 March 20
" Version: 3.01
" Source: http://vim.sourceforge.net/scripts/script.php?script_id=363
" Author: Steve Hall [ digitect@mindspring.com ]
" License: GPL (http://www.gnu.org/licenses/gpl.html)
"
" Instructions:
"
" o Simply copy this file and paste it into your vimrc. Or you can
" drop the entire file into your plugins directory.
" o As long as you don't already have keyboard mappings to the F4 key,
" it will toggle invisible characters.
"
" Notes:
"
" For more information see Vim's ":help 'list", ":help 'listchars",
" and ":help viminfo".
"
" ChangeLog:
"
" 2004-03-20 -- v.3.01
" o Fixed typos in trail multi-byte test and extends definitions.
"
" 2004-03-20 -- v.3.0
" o We no longer guess at encodings. Instead we choose characters on
" the basis of whether they are printable or not.
"
" 2003-12-13 -- v.2.1
" o Repair of utf-8 chars for Vim versions >= 6.2.
" o Addition of mappings and autocmd for use outside of Cream.
" o Renamed functions:
" * List_init() => Cream_list_init()
" * List_toggle() => Cream_list_toggle()
"
" 2003-04-17 -- v.2.0
" o New multi-byte sets, contingent upon Vim version 6.1.469+. Note
" that your particular OS and Font capabilities impact the display
" of multi-byte characters, your usage may vary.
" o Abstracted multi-byte characters to decimal values so the current
" editing session doesn't affect them.
"
" 2002-10-06 -- v.1.2
" o Modified state variable types from string to numbers
" o Extracted autocommand and mappings for the sake of the project. ;)
"
" 2002-08-03 -- v.1.1
" o New normal mode mapping and slightly saner visual and insert mode
" mappings.
"
" 2002-08-03 -- v.1.0
" o Initial Release
"
" don't load mappings or autocmd if used with Cream (elsewhere)
if !exists("$CREAM")
" mappings
imap <silent> <F4> <C-b>:call Cream_list_toggle("i")<CR>
vmap <silent> <F4> :<C-u>call Cream_list_toggle("v")<CR>
nmap <silent> <F4> :call Cream_list_toggle("n")<CR>
" initialize on Buffer enter/new
autocmd BufNewFile,BufEnter * call Cream_list_init()
endif
" initialize characters used to represent invisibles (global)
function! Cream_listchars_init()
" Sets &listchars to sophisticated extended characters as possible.
" Gracefully falls back to 7-bit ASCII per character if one is not
" printable.
"
" WARNING:
" Do not try to enter multi-byte characters below, use decimal
" abstractions only! It's the only way to guarantee that all encodings
" can edit this file.
set listchars=
" tab
if v:version < 603
" greaterthan, followed by space
execute "set listchars+=tab:" . nr2char(62) . '\ '
elseif strlen(substitute(strtrans(nr2char(187)), ".", "x", "g")) == 1
" right angle quote, guillemotright followed by space (digraph >>)
execute "set listchars+=tab:" . nr2char(187) . '\ '
else
" greaterthan, followed by space
execute "set listchars+=tab:" . nr2char(62) . '\ '
endif
" eol
if v:version < 603
" dollar sign
execute "set listchars+=eol:" . nr2char(36)
elseif strlen(substitute(strtrans(nr2char(182)), ".", "x", "g")) == 1
" paragrah symbol (digraph PI)
execute "set listchars+=eol:" . nr2char(182)
else
" dollar sign
execute "set listchars+=eol:" . nr2char(36)
endif
" trail
if v:version < 603
" period
execute "set listchars+=trail:" . nr2char(46)
elseif strlen(substitute(strtrans(nr2char(183)), ".", "x", "g")) == 1
" others digraphs: 0U 0M/M0 sB .M 0m/m0 RO
" middle dot (digraph .M)
execute "set listchars+=trail:" . nr2char(183)
else
" period
execute "set listchars+=trail:" . nr2char(46)
endif
" precedes
if v:version < 603
" underscore
execute "set listchars+=precedes:" . nr2char(95)
elseif Cream_has("ms") && &encoding == "utf-8"
" underscore
execute "set listchars+=precedes:" . nr2char(95)
elseif strlen(substitute(strtrans(nr2char(133)), ".", "x", "g")) == 1
" ellipses
execute "set listchars+=precedes:" . nr2char(133)
elseif strlen(substitute(strtrans(nr2char(8230)), ".", "x", "g")) == 1
" ellipses (2nd try)
execute "set listchars+=precedes:" . nr2char(8230)
elseif strlen(substitute(strtrans(nr2char(8249)), ".", "x", "g")) == 1
\&& v:lang != "C"
" mathematical lessthan (digraph <1)
execute "set listchars+=precedes:" . nr2char(8249)
elseif strlen(substitute(strtrans(nr2char(8592)), ".", "x", "g")) == 1
" left arrow (digraph <-)
execute "set listchars+=precedes:" . nr2char(8592)
else
" underscore
execute "set listchars+=precedes:" . nr2char(95)
endif
" extends
if v:version < 603
" underscore
execute "set listchars+=extends:" . nr2char(95)
elseif Cream_has("ms") && &encoding == "utf-8"
" underscore
execute "set listchars+=extends:" . nr2char(95)
elseif strlen(substitute(strtrans(nr2char(133)), ".", "x", "g")) == 1
" ellipses
execute "set listchars+=extends:" . nr2char(133)
elseif strlen(substitute(strtrans(nr2char(8230)), ".", "x", "g")) == 1
" ellipses (2nd try)
execute "set listchars+=extends:" . nr2char(8230)
elseif strlen(substitute(strtrans(nr2char(8250)), ".", "x", "g")) == 1
\&& v:lang != "C"
" mathematical greaterthan (digraph >1)
execute "set listchars+=extends:" . nr2char(8250)
elseif strlen(substitute(strtrans(nr2char(8594)), ".", "x", "g")) == 1
" right arrow (digraph ->)
execute "set listchars+=extends:" . nr2char(8594)
else
" underscore
execute "set listchars+=extends:" . nr2char(95)
endif
endfunction
call Cream_listchars_init()
" initialize environment on BufEnter (local)
function! Cream_list_init()
if !exists("g:LIST")
" initially off
set nolist
let g:LIST = 0
else
if g:LIST == 1
set list
else
set nolist
endif
endif
endfunction
" toggle on/off
function! Cream_list_toggle(mode)
if exists("g:LIST")
if g:LIST == 0
set list
let g:LIST = 1
elseif g:LIST == 1
set nolist
let g:LIST = 0
endif
call Cream_menu_settings_invisibles()
else
call confirm(
\"Error: global uninitialized in Cream_list_toggle()", "&Ok", 1, "Error")
endif
if a:mode == "v"
normal gv
endif
endfunction
"---------------------------------------------------------------------
" Note: we put this here so our beautiful little character
" representations aren't affected by encoding changes. ;)
"
" vim:fileencoding=utf-8
|