Linux tsuru-no-tsurugi 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.0.18 & Your IP : 216.73.216.68
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
vim /
vim82 /
ftplugin /
Delete
Unzip
Name
Size
Permission
Date
Action
8th.vim
833
B
-rw-r--r--
2026-07-14 04:08
a2ps.vim
470
B
-rw-r--r--
2026-07-14 04:08
aap.vim
979
B
-rw-r--r--
2026-07-14 04:08
abap.vim
800
B
-rw-r--r--
2026-07-14 04:08
abaqus.vim
3.31
KB
-rw-r--r--
2026-07-14 04:08
ada.vim
6.35
KB
-rw-r--r--
2026-07-14 04:08
alsaconf.vim
438
B
-rw-r--r--
2026-07-14 04:08
ant.vim
1.31
KB
-rw-r--r--
2026-07-14 04:08
arch.vim
431
B
-rw-r--r--
2026-07-14 04:08
art.vim
410
B
-rw-r--r--
2026-07-14 04:08
asm.vim
271
B
-rw-r--r--
2026-07-14 04:08
aspvbs.vim
1.87
KB
-rw-r--r--
2026-07-14 04:08
automake.vim
337
B
-rw-r--r--
2026-07-14 04:08
awk.vim
1.47
KB
-rw-r--r--
2026-07-14 04:08
bash.vim
474
B
-rw-r--r--
2026-07-14 04:08
basic.vim
625
B
-rw-r--r--
2026-07-14 04:08
bdf.vim
449
B
-rw-r--r--
2026-07-14 04:08
bst.vim
333
B
-rw-r--r--
2026-07-14 04:08
btm.vim
316
B
-rw-r--r--
2026-07-14 04:08
bzl.vim
3.03
KB
-rw-r--r--
2026-07-14 04:08
c.vim
2.22
KB
-rw-r--r--
2026-07-14 04:08
calendar.vim
462
B
-rw-r--r--
2026-07-14 04:08
cdrdaoconf.vim
383
B
-rw-r--r--
2026-07-14 04:08
cfg.vim
388
B
-rw-r--r--
2026-07-14 04:08
ch.vim
472
B
-rw-r--r--
2026-07-14 04:08
changelog.vim
9.09
KB
-rw-r--r--
2026-07-14 04:08
chicken.vim
1.68
KB
-rw-r--r--
2026-07-14 04:08
clojure.vim
3.33
KB
-rw-r--r--
2026-07-14 04:08
cmake.vim
867
B
-rw-r--r--
2026-07-14 04:08
cobol.vim
9.35
KB
-rw-r--r--
2026-07-14 04:08
conf.vim
434
B
-rw-r--r--
2026-07-14 04:08
config.vim
1.24
KB
-rw-r--r--
2026-07-14 04:08
context.vim
5.26
KB
-rw-r--r--
2026-07-14 04:08
cpp.vim
468
B
-rw-r--r--
2026-07-14 04:08
crm.vim
414
B
-rw-r--r--
2026-07-14 04:08
cs.vim
802
B
-rw-r--r--
2026-07-14 04:08
csc.vim
734
B
-rw-r--r--
2026-07-14 04:08
csh.vim
1.73
KB
-rw-r--r--
2026-07-14 04:08
css.vim
586
B
-rw-r--r--
2026-07-14 04:08
cucumber.vim
5.07
KB
-rw-r--r--
2026-07-14 04:08
cvsrc.vim
399
B
-rw-r--r--
2026-07-14 04:08
debchangelog.vim
11.18
KB
-rw-r--r--
2026-07-14 04:08
debcontrol.vim
1.8
KB
-rw-r--r--
2026-07-14 04:08
denyhosts.vim
383
B
-rw-r--r--
2026-07-14 04:08
dictconf.vim
434
B
-rw-r--r--
2026-07-14 04:08
dictdconf.vim
435
B
-rw-r--r--
2026-07-14 04:08
diff.vim
677
B
-rw-r--r--
2026-07-14 04:08
dircolors.vim
431
B
-rw-r--r--
2026-07-14 04:08
docbk.vim
530
B
-rw-r--r--
2026-07-14 04:08
dockerfile.vim
356
B
-rw-r--r--
2026-07-14 04:08
dosbatch.vim
1011
B
-rw-r--r--
2026-07-14 04:08
dosini.vim
459
B
-rw-r--r--
2026-07-14 04:08
dtd.vim
1.1
KB
-rw-r--r--
2026-07-14 04:08
dtrace.vim
1.12
KB
-rw-r--r--
2026-07-14 04:08
dune.vim
502
B
-rw-r--r--
2026-07-14 04:08
eiffel.vim
3.99
KB
-rw-r--r--
2026-07-14 04:08
elinks.vim
436
B
-rw-r--r--
2026-07-14 04:08
elm.vim
329
B
-rw-r--r--
2026-07-14 04:08
erlang.vim
2.03
KB
-rw-r--r--
2026-07-14 04:08
eruby.vim
4.6
KB
-rw-r--r--
2026-07-14 04:08
eterm.vim
470
B
-rw-r--r--
2026-07-14 04:08
falcon.vim
1.32
KB
-rw-r--r--
2026-07-14 04:08
fetchmail.vim
428
B
-rw-r--r--
2026-07-14 04:08
flexwiki.vim
1.83
KB
-rw-r--r--
2026-07-14 04:08
fortran.vim
4.95
KB
-rw-r--r--
2026-07-14 04:08
fpcmake.vim
592
B
-rw-r--r--
2026-07-14 04:08
framescript.vim
780
B
-rw-r--r--
2026-07-14 04:08
freebasic.vim
234
B
-rw-r--r--
2026-07-14 04:08
fstab.vim
426
B
-rw-r--r--
2026-07-14 04:08
fvwm.vim
390
B
-rw-r--r--
2026-07-14 04:08
gdb.vim
293
B
-rw-r--r--
2026-07-14 04:08
git.vim
1.34
KB
-rw-r--r--
2026-07-14 04:08
gitcommit.vim
2.26
KB
-rw-r--r--
2026-07-14 04:08
gitconfig.vim
376
B
-rw-r--r--
2026-07-14 04:08
gitrebase.vim
1.9
KB
-rw-r--r--
2026-07-14 04:08
gitsendemail.vim
157
B
-rw-r--r--
2026-07-14 04:08
go.vim
365
B
-rw-r--r--
2026-07-14 04:08
gpg.vim
433
B
-rw-r--r--
2026-07-14 04:08
gprof.vim
1.09
KB
-rw-r--r--
2026-07-14 04:08
groovy.vim
343
B
-rw-r--r--
2026-07-14 04:08
group.vim
425
B
-rw-r--r--
2026-07-14 04:08
grub.vim
434
B
-rw-r--r--
2026-07-14 04:08
haml.vim
1.94
KB
-rw-r--r--
2026-07-14 04:08
hamster.vim
1.92
KB
-rw-r--r--
2026-07-14 04:08
haskell.vim
551
B
-rw-r--r--
2026-07-14 04:08
help.vim
471
B
-rw-r--r--
2026-07-14 04:08
hgcommit.vim
363
B
-rw-r--r--
2026-07-14 04:08
hog.vim
1.36
KB
-rw-r--r--
2026-07-14 04:08
hostconf.vim
383
B
-rw-r--r--
2026-07-14 04:08
hostsaccess.vim
436
B
-rw-r--r--
2026-07-14 04:08
html.vim
1.59
KB
-rw-r--r--
2026-07-14 04:08
htmldjango.vim
331
B
-rw-r--r--
2026-07-14 04:08
i3config.vim
333
B
-rw-r--r--
2026-07-14 04:08
indent.vim
487
B
-rw-r--r--
2026-07-14 04:08
initex.vim
1005
B
-rw-r--r--
2026-07-14 04:08
ishd.vim
1.23
KB
-rw-r--r--
2026-07-14 04:08
j.vim
3.31
KB
-rw-r--r--
2026-07-14 04:08
java.vim
1.65
KB
-rw-r--r--
2026-07-14 04:08
javascript.vim
2.54
KB
-rw-r--r--
2026-07-14 04:08
javascriptreact.vim
244
B
-rw-r--r--
2026-07-14 04:08
jproperties.vim
292
B
-rw-r--r--
2026-07-14 04:08
json.vim
360
B
-rw-r--r--
2026-07-14 04:08
jsonc.vim
677
B
-rw-r--r--
2026-07-14 04:08
jsp.vim
1.96
KB
-rw-r--r--
2026-07-14 04:08
julia.vim
3.7
KB
-rw-r--r--
2026-07-14 04:08
kconfig.vim
703
B
-rw-r--r--
2026-07-14 04:08
kwt.vim
851
B
-rw-r--r--
2026-07-14 04:08
ld.vim
470
B
-rw-r--r--
2026-07-14 04:08
less.vim
502
B
-rw-r--r--
2026-07-14 04:08
lftp.vim
434
B
-rw-r--r--
2026-07-14 04:08
libao.vim
440
B
-rw-r--r--
2026-07-14 04:08
limits.vim
436
B
-rw-r--r--
2026-07-14 04:08
liquid.vim
1.85
KB
-rw-r--r--
2026-07-14 04:08
lisp.vim
759
B
-rw-r--r--
2026-07-14 04:08
logcheck.vim
453
B
-rw-r--r--
2026-07-14 04:08
loginaccess.vim
442
B
-rw-r--r--
2026-07-14 04:08
logindefs.vim
440
B
-rw-r--r--
2026-07-14 04:08
logtalk.dict
3.02
KB
-rw-r--r--
2026-07-14 04:08
logtalk.vim
416
B
-rw-r--r--
2026-07-14 04:08
lprolog.vim
1.25
KB
-rw-r--r--
2026-07-14 04:08
lua.vim
1.3
KB
-rw-r--r--
2026-07-14 04:08
m3build.vim
553
B
-rw-r--r--
2026-07-14 04:08
m3quake.vim
848
B
-rw-r--r--
2026-07-14 04:08
m4.vim
426
B
-rw-r--r--
2026-07-14 04:08
mail.vim
1.36
KB
-rw-r--r--
2026-07-14 04:08
mailaliases.vim
383
B
-rw-r--r--
2026-07-14 04:08
mailcap.vim
434
B
-rw-r--r--
2026-07-14 04:08
make.vim
1.03
KB
-rw-r--r--
2026-07-14 04:08
man.vim
6.42
KB
-rw-r--r--
2026-07-14 04:08
manconf.vim
444
B
-rw-r--r--
2026-07-14 04:08
markdown.vim
1.92
KB
-rw-r--r--
2026-07-14 04:08
masm.vim
390
B
-rw-r--r--
2026-07-14 04:08
matlab.vim
835
B
-rw-r--r--
2026-07-14 04:08
meson.vim
1.12
KB
-rw-r--r--
2026-07-14 04:08
mf.vim
3.17
KB
-rw-r--r--
2026-07-14 04:08
mma.vim
366
B
-rw-r--r--
2026-07-14 04:08
modconf.vim
477
B
-rw-r--r--
2026-07-14 04:08
modula2.vim
1.06
KB
-rw-r--r--
2026-07-14 04:08
modula3.vim
1003
B
-rw-r--r--
2026-07-14 04:08
mp.vim
3.63
KB
-rw-r--r--
2026-07-14 04:08
mplayerconf.vim
472
B
-rw-r--r--
2026-07-14 04:08
mrxvtrc.vim
798
B
-rw-r--r--
2026-07-14 04:08
msmessages.vim
1.11
KB
-rw-r--r--
2026-07-14 04:08
muttrc.vim
467
B
-rw-r--r--
2026-07-14 04:08
nanorc.vim
447
B
-rw-r--r--
2026-07-14 04:08
neomuttrc.vim
532
B
-rw-r--r--
2026-07-14 04:08
netrc.vim
428
B
-rw-r--r--
2026-07-14 04:08
nginx.vim
144
B
-rw-r--r--
2026-07-14 04:08
nroff.vim
424
B
-rw-r--r--
2026-07-14 04:08
nsis.vim
1.31
KB
-rw-r--r--
2026-07-14 04:08
objc.vim
296
B
-rw-r--r--
2026-07-14 04:08
ocaml.vim
23.2
KB
-rw-r--r--
2026-07-14 04:08
occam.vim
1.27
KB
-rw-r--r--
2026-07-14 04:08
octave.vim
2.15
KB
-rw-r--r--
2026-07-14 04:08
pamconf.vim
433
B
-rw-r--r--
2026-07-14 04:08
pascal.vim
1.55
KB
-rw-r--r--
2026-07-14 04:08
passwd.vim
424
B
-rw-r--r--
2026-07-14 04:08
pbtxt.vim
438
B
-rw-r--r--
2026-07-14 04:08
pdf.vim
2.55
KB
-rw-r--r--
2026-07-14 04:08
perl.vim
2.79
KB
-rw-r--r--
2026-07-14 04:08
php.vim
2.75
KB
-rw-r--r--
2026-07-14 04:08
pinfo.vim
435
B
-rw-r--r--
2026-07-14 04:08
plaintex.vim
1.12
KB
-rw-r--r--
2026-07-14 04:08
poke.vim
744
B
-rw-r--r--
2026-07-14 04:08
postscr.vim
1006
B
-rw-r--r--
2026-07-14 04:08
procmail.vim
479
B
-rw-r--r--
2026-07-14 04:08
prolog.vim
440
B
-rw-r--r--
2026-07-14 04:08
protocols.vim
457
B
-rw-r--r--
2026-07-14 04:08
ps1.vim
2.36
KB
-rw-r--r--
2026-07-14 04:08
ps1xml.vim
1009
B
-rw-r--r--
2026-07-14 04:08
pyrex.vim
766
B
-rw-r--r--
2026-07-14 04:08
python.vim
7.78
KB
-rw-r--r--
2026-07-14 04:08
qf.vim
508
B
-rw-r--r--
2026-07-14 04:08
quake.vim
439
B
-rw-r--r--
2026-07-14 04:08
r.vim
878
B
-rw-r--r--
2026-07-14 04:08
racc.vim
449
B
-rw-r--r--
2026-07-14 04:08
raku.vim
4.02
KB
-rw-r--r--
2026-07-14 04:08
readline.vim
438
B
-rw-r--r--
2026-07-14 04:08
registry.vim
740
B
-rw-r--r--
2026-07-14 04:08
reva.vim
709
B
-rw-r--r--
2026-07-14 04:08
rhelp.vim
758
B
-rw-r--r--
2026-07-14 04:08
rmd.vim
1.79
KB
-rw-r--r--
2026-07-14 04:08
rnc.vim
431
B
-rw-r--r--
2026-07-14 04:08
rnoweb.vim
1.03
KB
-rw-r--r--
2026-07-14 04:08
routeros.vim
682
B
-rw-r--r--
2026-07-14 04:08
rpl.vim
621
B
-rw-r--r--
2026-07-14 04:08
rrst.vim
1.56
KB
-rw-r--r--
2026-07-14 04:08
rst.vim
1.37
KB
-rw-r--r--
2026-07-14 04:08
ruby.vim
16.88
KB
-rw-r--r--
2026-07-14 04:08
rust.vim
6.42
KB
-rw-r--r--
2026-07-14 04:08
sass.vim
977
B
-rw-r--r--
2026-07-14 04:08
sbt.vim
347
B
-rw-r--r--
2026-07-14 04:08
scala.vim
1.12
KB
-rw-r--r--
2026-07-14 04:08
scdoc.vim
577
B
-rw-r--r--
2026-07-14 04:08
scheme.vim
1.41
KB
-rw-r--r--
2026-07-14 04:08
screen.vim
436
B
-rw-r--r--
2026-07-14 04:08
scss.vim
239
B
-rw-r--r--
2026-07-14 04:08
sensors.vim
455
B
-rw-r--r--
2026-07-14 04:08
services.vim
452
B
-rw-r--r--
2026-07-14 04:08
setserial.vim
439
B
-rw-r--r--
2026-07-14 04:08
sexplib.vim
348
B
-rw-r--r--
2026-07-14 04:08
sgml.vim
1.18
KB
-rw-r--r--
2026-07-14 04:08
sh.vim
1.17
KB
-rw-r--r--
2026-07-14 04:08
sieve.vim
469
B
-rw-r--r--
2026-07-14 04:08
slpconf.vim
477
B
-rw-r--r--
2026-07-14 04:08
slpreg.vim
476
B
-rw-r--r--
2026-07-14 04:08
slpspi.vim
467
B
-rw-r--r--
2026-07-14 04:08
solution.vim
959
B
-rw-r--r--
2026-07-14 04:08
spec.vim
5.63
KB
-rw-r--r--
2026-07-14 04:08
sql.vim
21.11
KB
-rw-r--r--
2026-07-14 04:08
sshconfig.vim
441
B
-rw-r--r--
2026-07-14 04:08
sudoers.vim
438
B
-rw-r--r--
2026-07-14 04:08
svg.vim
1.17
KB
-rw-r--r--
2026-07-14 04:08
swift.vim
733
B
-rw-r--r--
2026-07-14 04:08
swiftgyb.vim
421
B
-rw-r--r--
2026-07-14 04:08
sysctl.vim
453
B
-rw-r--r--
2026-07-14 04:08
systemd.vim
1.23
KB
-rw-r--r--
2026-07-14 04:08
systemverilog.vim
1.25
KB
-rw-r--r--
2026-07-14 04:08
tcl.vim
1002
B
-rw-r--r--
2026-07-14 04:08
tcsh.vim
1004
B
-rw-r--r--
2026-07-14 04:08
terminfo.vim
430
B
-rw-r--r--
2026-07-14 04:08
tex.vim
1.6
KB
-rw-r--r--
2026-07-14 04:08
text.vim
498
B
-rw-r--r--
2026-07-14 04:08
tidy.vim
861
B
-rw-r--r--
2026-07-14 04:08
tmux.vim
372
B
-rw-r--r--
2026-07-14 04:08
toml.vim
464
B
-rw-r--r--
2026-07-14 04:08
treetop.vim
416
B
-rw-r--r--
2026-07-14 04:08
tt2html.vim
434
B
-rw-r--r--
2026-07-14 04:08
typescript.vim
1.18
KB
-rw-r--r--
2026-07-14 04:08
typescriptreact.vim
787
B
-rw-r--r--
2026-07-14 04:08
udevconf.vim
434
B
-rw-r--r--
2026-07-14 04:08
udevperm.vim
432
B
-rw-r--r--
2026-07-14 04:08
udevrules.vim
426
B
-rw-r--r--
2026-07-14 04:08
updatedb.vim
443
B
-rw-r--r--
2026-07-14 04:08
vb.vim
3.39
KB
-rw-r--r--
2026-07-14 04:08
verilog.vim
1.93
KB
-rw-r--r--
2026-07-14 04:08
vhdl.vim
3.42
KB
-rw-r--r--
2026-07-14 04:08
vim.vim
4.39
KB
-rw-r--r--
2026-07-14 04:08
vroom.vim
924
B
-rw-r--r--
2026-07-14 04:08
wast.vim
470
B
-rw-r--r--
2026-07-14 04:08
xdefaults.vim
481
B
-rw-r--r--
2026-07-14 04:08
xf86conf.vim
434
B
-rw-r--r--
2026-07-14 04:08
xhtml.vim
1.99
KB
-rw-r--r--
2026-07-14 04:08
xinetd.vim
476
B
-rw-r--r--
2026-07-14 04:08
xml.vim
2.2
KB
-rw-r--r--
2026-07-14 04:08
xmodmap.vim
434
B
-rw-r--r--
2026-07-14 04:08
xs.vim
465
B
-rw-r--r--
2026-07-14 04:08
xsd.vim
1.14
KB
-rw-r--r--
2026-07-14 04:08
xslt.vim
539
B
-rw-r--r--
2026-07-14 04:08
yaml.vim
628
B
-rw-r--r--
2026-07-14 04:08
zimbu.vim
7.26
KB
-rw-r--r--
2026-07-14 04:08
zsh.vim
1.43
KB
-rw-r--r--
2026-07-14 04:08
Save
Rename
" Vim filetype plugin file " Language: generic Changelog file " Maintainer: Martin Florian <marfl@posteo.de> " Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Latest Revision: 2021-10-17 " Variables: " g:changelog_timeformat (deprecated: use g:changelog_dateformat instead) - " description: the timeformat used in ChangeLog entries. " default: "%Y-%m-%d". " g:changelog_dateformat - " description: the format sent to strftime() to generate a date string. " default: "%Y-%m-%d". " g:changelog_username - " description: the username to use in ChangeLog entries " default: try to deduce it from environment variables and system files. " Local Mappings: " <Leader>o - " adds a new changelog entry for the current user for the current date. " Global Mappings: " <Leader>o - " switches to the ChangeLog buffer opened for the current directory, or " opens it in a new buffer if it exists in the current directory. Then " it does the same as the local <Leader>o described above. " Notes: " run 'runtime ftplugin/changelog.vim' to enable the global mapping for " changelog files. " TODO: " should we perhaps open the ChangeLog file even if it doesn't exist already? " Problem is that you might end up with ChangeLog files all over the place. " If 'filetype' isn't "changelog", we must have been to add ChangeLog opener if &filetype == 'changelog' if exists('b:did_ftplugin') finish endif let b:did_ftplugin = 1 let s:cpo_save = &cpo set cpo&vim " Set up the format used for dates. if !exists('g:changelog_dateformat') if exists('g:changelog_timeformat') let g:changelog_dateformat = g:changelog_timeformat else let g:changelog_dateformat = "%Y-%m-%d" endif endif function! s:username() if exists('g:changelog_username') return g:changelog_username elseif $EMAIL != "" return $EMAIL elseif $EMAIL_ADDRESS != "" return $EMAIL_ADDRESS endif let login = s:login() return printf('%s <%s@%s>', s:name(login), login, s:hostname()) endfunction function! s:login() return s:trimmed_system_with_default('whoami', 'unknown') endfunction function! s:trimmed_system_with_default(command, default) return s:first_line(s:system_with_default(a:command, a:default)) endfunction function! s:system_with_default(command, default) let output = system(a:command) if v:shell_error return default endif return output endfunction function! s:first_line(string) return substitute(a:string, '\n.*$', "", "") endfunction function! s:name(login) for name in [s:gecos_name(a:login), $NAME, s:capitalize(a:login)] if name != "" return name endif endfor endfunction function! s:gecos_name(login) for line in s:try_reading_file('/etc/passwd') if line =~ '^' . a:login . ':' return substitute(s:passwd_field(line, 5), '&', s:capitalize(a:login), "") endif endfor return "" endfunction function! s:try_reading_file(path) try return readfile(a:path) catch return [] endtry endfunction function! s:passwd_field(line, field) let fields = split(a:line, ':', 1) if len(fields) < a:field return "" endif return fields[a:field - 1] endfunction function! s:capitalize(word) return toupper(a:word[0]) . strpart(a:word, 1) endfunction function! s:hostname() return s:trimmed_system_with_default('hostname', 'localhost') endfunction " Format used for new date entries. if !exists('g:changelog_new_date_format') let g:changelog_new_date_format = "%d %u\n\n\t* %p%c\n\n" endif " Format used for new entries to current date entry. if !exists('g:changelog_new_entry_format') let g:changelog_new_entry_format = "\t* %p%c" endif " Regular expression used to find a given date entry. if !exists('g:changelog_date_entry_search') let g:changelog_date_entry_search = '^\s*%d\_s*%u' endif " Regular expression used to find the end of a date entry if !exists('g:changelog_date_end_entry_search') let g:changelog_date_end_entry_search = '^\s*$' endif " Substitutes specific items in new date-entry formats and search strings. " Can be done with substitute of course, but unclean, and need \@! then. function! s:substitute_items(str, date, user, prefix) let str = a:str let middles = {'%': '%', 'd': a:date, 'u': a:user, 'p': a:prefix, 'c': '{cursor}'} let i = stridx(str, '%') while i != -1 let inc = 0 if has_key(middles, str[i + 1]) let mid = middles[str[i + 1]] let str = strpart(str, 0, i) . mid . strpart(str, i + 2) let inc = strlen(mid) - 1 endif let i = stridx(str, '%', i + 1 + inc) endwhile return str endfunction " Position the cursor once we've done all the funky substitution. function! s:position_cursor() if search('{cursor}') > 0 let lnum = line('.') let line = getline(lnum) let cursor = stridx(line, '{cursor}') call setline(lnum, substitute(line, '{cursor}', '', '')) endif startinsert endfunction " Internal function to create a new entry in the ChangeLog. function! s:new_changelog_entry(prefix) " Deal with 'paste' option. let save_paste = &paste let &paste = 1 call cursor(1, 1) " Look for an entry for today by our user. let date = strftime(g:changelog_dateformat) let search = s:substitute_items(g:changelog_date_entry_search, date, \ s:username(), a:prefix) if search(search) > 0 " Ok, now we look for the end of the date entry, and add an entry. call cursor(nextnonblank(line('.') + 1), 1) if search(g:changelog_date_end_entry_search, 'W') > 0 let p = (line('.') == line('$')) ? line('.') : line('.') - 1 else let p = line('.') endif let ls = split(s:substitute_items(g:changelog_new_entry_format, '', '', a:prefix), \ '\n') call append(p, ls) call cursor(p + 1, 1) else " Flag for removing empty lines at end of new ChangeLogs. let remove_empty = line('$') == 1 " No entry today, so create a date-user header and insert an entry. let todays_entry = s:substitute_items(g:changelog_new_date_format, \ date, s:username(), a:prefix) " Make sure we have a cursor positioning. if stridx(todays_entry, '{cursor}') == -1 let todays_entry = todays_entry . '{cursor}' endif " Now do the work. call append(0, split(todays_entry, '\n')) " Remove empty lines at end of file. if remove_empty $-/^\s*$/-1,$delete endif " Reposition cursor once we're done. call cursor(1, 1) endif call s:position_cursor() " And reset 'paste' option let &paste = save_paste endfunction let b:undo_ftplugin = "setl com< fo< et< ai<" setlocal comments= setlocal formatoptions+=t setlocal noexpandtab setlocal autoindent if &textwidth == 0 setlocal textwidth=78 let b:undo_ftplugin .= " tw<" endif if !exists("no_plugin_maps") && !exists("no_changelog_maps") && exists(":NewChangelogEntry") != 2 nnoremap <buffer> <silent> <Leader>o :<C-u>call <SID>new_changelog_entry('')<CR> xnoremap <buffer> <silent> <Leader>o :<C-u>call <SID>new_changelog_entry('')<CR> command! -buffer -nargs=0 NewChangelogEntry call s:new_changelog_entry('') let b:undo_ftplugin .= " | sil! exe 'nunmap <buffer> <Leader>o'" . \ " | sil! exe 'vunmap <buffer> <Leader>o'" . \ " | sil! delc NewChangelogEntry" endif let &cpo = s:cpo_save unlet s:cpo_save else let s:cpo_save = &cpo set cpo&vim if !exists("no_plugin_maps") && !exists("no_changelog_maps") " Add the Changelog opening mapping nnoremap <silent> <Leader>o :call <SID>open_changelog()<CR> let b:undo_ftplugin .= " | silent! exe 'nunmap <buffer> <Leader>o" endif function! s:open_changelog() let path = expand('%:p:h') if exists('b:changelog_path') let changelog = b:changelog_path else if exists('b:changelog_name') let name = b:changelog_name else let name = 'ChangeLog' endif while isdirectory(path) let changelog = path . '/' . name if filereadable(changelog) break endif let parent = substitute(path, '/\+[^/]*$', "", "") if path == parent break endif let path = parent endwhile endif if !filereadable(changelog) return endif if exists('b:changelog_entry_prefix') let prefix = call(b:changelog_entry_prefix, []) else let prefix = substitute(strpart(expand('%:p'), strlen(path)), '^/\+', "", "") endif let buf = bufnr(changelog) if buf != -1 if bufwinnr(buf) != -1 execute bufwinnr(buf) . 'wincmd w' else execute 'sbuffer' buf endif else execute 'split' fnameescape(changelog) endif call s:new_changelog_entry(prefix) endfunction let &cpo = s:cpo_save unlet s:cpo_save endif