Sync from SUSE:SLFO:Main vim revision 68dd4be74f07dce8b65942311916b4c9
This commit is contained in:
commit
ef00154fea
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
24
README.Japanese-XIM
Normal file
24
README.Japanese-XIM
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
To select the style of XIM Input the following command line arguments,
|
||||||
|
which are handled by GTK internally, are available:
|
||||||
|
|
||||||
|
--xim-preedit [none|nothing|area|position|callbacks]
|
||||||
|
--xim-status [none|nothing|area|callbacks]
|
||||||
|
|
||||||
|
To use OnTheSpot input style, start gvim like
|
||||||
|
|
||||||
|
~$ gvim [--xim-preedit callbacks] [--xim-status callbacks]
|
||||||
|
|
||||||
|
This is also the default, which you will get without any command line arguments.
|
||||||
|
|
||||||
|
|
||||||
|
To use OverTheSpot input style, start gvim like
|
||||||
|
|
||||||
|
~$ gvim --xim-preedit position [--xim-status callbacks]
|
||||||
|
|
||||||
|
OnTheSpot input is still buggy and does not yet work right for Japanese,
|
||||||
|
therefore it is recommended to use OverTheSpot input style for Japanese.
|
||||||
|
|
||||||
|
(For Korean, OnTheSpot input style works well).
|
||||||
|
|
||||||
|
|
||||||
|
Fri Jan 26 17:57:39 2001 Mike Fabian <mfabian@suse.de>
|
287
apparmor.vim
Normal file
287
apparmor.vim
Normal file
@ -0,0 +1,287 @@
|
|||||||
|
" generated from apparmor.vim.in by create-apparmor.vim.py
|
||||||
|
" do not edit this file - edit apparmor.vim.in or create-apparmor.vim.py instead
|
||||||
|
|
||||||
|
" ----------------------------------------------------------------------
|
||||||
|
" Copyright (c) 2005 Novell, Inc. All Rights Reserved.
|
||||||
|
" Copyright (c) 2006-2012 Christian Boltz. All Rights Reserved.
|
||||||
|
"
|
||||||
|
" This program is free software; you can redistribute it and/or
|
||||||
|
" modify it under the terms of version 2 of the GNU General Public
|
||||||
|
" License as published by the Free Software Foundation.
|
||||||
|
"
|
||||||
|
" 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, contact Novell, Inc.
|
||||||
|
"
|
||||||
|
" To contact Novell about this file by physical or electronic mail,
|
||||||
|
" you may find current contact information at www.novell.com.
|
||||||
|
"
|
||||||
|
" To contact Christian Boltz about this file by physical or electronic
|
||||||
|
" mail, you may find current contact information at www.cboltz.de/en/kontakt.
|
||||||
|
"
|
||||||
|
" If you want to report a bug via bugzilla.novell.com, please assign it
|
||||||
|
" to suse-beta[AT]cboltz.de (replace [AT] with @).
|
||||||
|
" ----------------------------------------------------------------------
|
||||||
|
"
|
||||||
|
" stick this file into ~/.vim/syntax/ and add these commands into your .vimrc
|
||||||
|
" to have vim automagically use this syntax file for these directories:
|
||||||
|
"
|
||||||
|
" autocmd BufNewFile,BufRead /etc/apparmor.d/* set syntax=apparmor
|
||||||
|
" autocmd BufNewFile,BufRead /usr/share/apparmor/extra-profiles/* set syntax=apparmor
|
||||||
|
|
||||||
|
" profiles are case sensitive
|
||||||
|
syntax case match
|
||||||
|
|
||||||
|
" color setup...
|
||||||
|
|
||||||
|
" adjust colors according to the background
|
||||||
|
|
||||||
|
" switching colors depending on the background color doesn't work
|
||||||
|
" unfortunately, so we use colors that work with light and dark background.
|
||||||
|
" Patches welcome ;-)
|
||||||
|
|
||||||
|
"if &background == "light"
|
||||||
|
" light background
|
||||||
|
hi sdProfileName ctermfg=lightblue
|
||||||
|
hi sdHatName ctermfg=darkblue
|
||||||
|
hi sdExtHat ctermfg=darkblue
|
||||||
|
" hi sdComment2 ctermfg=darkblue
|
||||||
|
hi sdGlob ctermfg=darkmagenta
|
||||||
|
hi sdAlias ctermfg=darkmagenta
|
||||||
|
hi sdEntryWriteExec ctermfg=black ctermbg=yellow
|
||||||
|
hi sdEntryUX ctermfg=darkred cterm=underline
|
||||||
|
hi sdEntryUXe ctermfg=darkred
|
||||||
|
hi sdEntryIX ctermfg=darkcyan
|
||||||
|
hi sdEntryM ctermfg=darkcyan
|
||||||
|
hi sdEntryPX ctermfg=darkgreen cterm=underline
|
||||||
|
hi sdEntryPXe ctermfg=darkgreen
|
||||||
|
hi sdEntryW ctermfg=darkyellow
|
||||||
|
hi sdCap ctermfg=lightblue
|
||||||
|
hi sdSetCap ctermfg=black ctermbg=yellow
|
||||||
|
hi sdNetwork ctermfg=lightblue
|
||||||
|
hi sdNetworkDanger ctermfg=darkred
|
||||||
|
hi sdCapKey cterm=underline ctermfg=lightblue
|
||||||
|
hi sdCapDanger ctermfg=darkred
|
||||||
|
hi sdRLimit ctermfg=lightblue
|
||||||
|
hi def link sdEntryR Normal
|
||||||
|
hi def link sdEntryK Normal
|
||||||
|
hi def link sdFlags Normal
|
||||||
|
hi sdEntryChangeProfile ctermfg=darkgreen cterm=underline
|
||||||
|
"else
|
||||||
|
" dark background
|
||||||
|
" hi sdProfileName ctermfg=white
|
||||||
|
" hi sdHatName ctermfg=white
|
||||||
|
" hi sdGlob ctermfg=magenta
|
||||||
|
" hi sdEntryWriteExec ctermfg=black ctermbg=yellow
|
||||||
|
" hi sdEntryUX ctermfg=red cterm=underline
|
||||||
|
" hi sdEntryUXe ctermfg=red
|
||||||
|
" hi sdEntryIX ctermfg=cyan
|
||||||
|
" hi sdEntryM ctermfg=cyan
|
||||||
|
" hi sdEntryPX ctermfg=green cterm=underline
|
||||||
|
" hi sdEntryPXe ctermfg=green
|
||||||
|
" hi sdEntryW ctermfg=yellow
|
||||||
|
" hi sdCap ctermfg=lightblue
|
||||||
|
" hi sdCapKey cterm=underline ctermfg=lightblue
|
||||||
|
" hi def link sdEntryR Normal
|
||||||
|
" hi def link sdFlags Normal
|
||||||
|
" hi sdCapDanger ctermfg=red
|
||||||
|
"endif
|
||||||
|
|
||||||
|
hi def link sdInclude Include
|
||||||
|
high def link sdComment Comment
|
||||||
|
"high def link sdComment2 Comment
|
||||||
|
high def link sdFlagKey TODO
|
||||||
|
high def link sdError ErrorMsg
|
||||||
|
|
||||||
|
|
||||||
|
" always sync from the start. should be relatively quick since we don't have
|
||||||
|
" that many rules and profiles shouldn't be _extremely_ large...
|
||||||
|
syn sync fromstart
|
||||||
|
|
||||||
|
syn keyword sdFlagKey complain debug
|
||||||
|
|
||||||
|
" highlight invalid syntax
|
||||||
|
syn match sdError /{/ contained
|
||||||
|
syn match sdError /}/
|
||||||
|
syn match sdError /^.*$/ contains=sdComment "highlight all non-valid lines as error
|
||||||
|
" TODO: do not mark lines containing only whitespace as error
|
||||||
|
|
||||||
|
" TODO: the sdGlob pattern is not anchored with ^ and $, so it matches all lines matching ^@{...}.*
|
||||||
|
" This allows incorrect lines also and should be checked better.
|
||||||
|
" This also (accidently ;-) includes variable definitions (@{FOO}=/bar)
|
||||||
|
" TODO: make a separate pattern for variable definitions, then mark sdGlob as contained
|
||||||
|
syn match sdGlob /\v\?|\*|\{.*,.*\}|[[^\]]\+\]|\@\{[a-zA-Z][a-zA-Z0-9_]*\}/
|
||||||
|
|
||||||
|
syn match sdAlias /\v^\s*alias\s+(\/|\@\{\S*\})\S*\s+-\>\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment
|
||||||
|
|
||||||
|
" syn match sdComment /#.*/
|
||||||
|
|
||||||
|
syn cluster sdEntry contains=sdEntryWriteExec,sdEntryR,sdEntryW,sdEntryIX,sdEntryPX,sdEntryPXe,sdEntryUX,sdEntryUXe,sdEntryM,sdCap,sdSetCap,sdExtHat,sdRLimit,sdNetwork,sdNetworkDanger,sdEntryChangeProfile
|
||||||
|
|
||||||
|
|
||||||
|
" TODO: support audit and deny keywords for all rules (not only for files)
|
||||||
|
" TODO: higlight audit and deny keywords everywhere
|
||||||
|
|
||||||
|
" Capability line
|
||||||
|
|
||||||
|
" normal capabilities - really keep this list? syn match sdCap should be enough... (difference: sdCapKey words would loose underlining)
|
||||||
|
syn keyword sdCapKey audit_read block_suspend bpf checkpoint_restore chown dac_override dac_read_search fowner fsetid ipc_lock ipc_owner kill lease linux_immutable mknod net_admin net_bind_service net_broadcast net_raw perfmon setgid setpcap setuid syslog sys_boot sys_chroot sys_nice sys_pacct sys_ptrace sys_resource sys_time sys_tty_config wake_alarm
|
||||||
|
|
||||||
|
" dangerous capabilities - highlighted separately
|
||||||
|
syn keyword sdCapDanger audit_control audit_write mac_override mac_admin setfcap sys_admin sys_module sys_rawio
|
||||||
|
|
||||||
|
" full line. Keywords are from sdCapKey + sdCapDanger
|
||||||
|
syn match sdCap /\v^\s*(audit\s+)?(deny\s+|allow\s+)?capability\s+((audit_control|audit_read|audit_write|block_suspend|bpf|checkpoint_restore|chown|dac_override|dac_read_search|fowner|fsetid|ipc_lock|ipc_owner|kill|lease|linux_immutable|mac_admin|mac_override|mknod|net_admin|net_bind_service|net_broadcast|net_raw|perfmon|setfcap|setgid|setpcap|setuid|syslog|sys_admin|sys_boot|sys_chroot|sys_module|sys_nice|sys_pacct|sys_ptrace|sys_rawio|sys_resource|sys_time|sys_tty_config|wake_alarm)\s+)*(audit_control|audit_read|audit_write|block_suspend|bpf|checkpoint_restore|chown|dac_override|dac_read_search|fowner|fsetid|ipc_lock|ipc_owner|kill|lease|linux_immutable|mac_admin|mac_override|mknod|net_admin|net_bind_service|net_broadcast|net_raw|perfmon|setfcap|setgid|setpcap|setuid|syslog|sys_admin|sys_boot|sys_chroot|sys_module|sys_nice|sys_pacct|sys_ptrace|sys_rawio|sys_resource|sys_time|sys_tty_config|wake_alarm)\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdCapKey,sdCapDanger,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
" all capabilities ('capability' without any keyword)
|
||||||
|
syn match sdCapDanger /\v^\s*(audit\s+)?(deny\s+|allow\s+)?capability\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
|
||||||
|
" Network line
|
||||||
|
" Syntax: network domain (inet, ...) type (stream, ...) protocol (tcp, ...)
|
||||||
|
" TODO: 'owner' isn't supported, but will be (JJ, 2011-01-11)
|
||||||
|
syn match sdNetwork /\v^\s*(audit\s+)?(deny\s+|allow\s+)?network(\s+(unspec|unix|inet|ax25|ipx|appletalk|netrom|bridge|atmpvc|x25|inet6|rose|netbeui|security|key|netlink|packet|ash|econet|atmsvc|rds|sna|irda|pppox|wanpipe|llc|ib|mpls|can|tipc|bluetooth|iucv|rxrpc|isdn|phonet|ieee802154|caif|alg|nfc|vsock|kcm|qipcrtr|smc|xdp|mctp))?(\s+(stream|dgram|seqpacket|rdm|packet))?(\s+tcp|\s+udp|\s+icmp)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
" network rules containing 'raw'
|
||||||
|
syn match sdNetworkDanger /\v^\s*(audit\s+)?(deny\s+|allow\s+)?network(\s+(unspec|unix|inet|ax25|ipx|appletalk|netrom|bridge|atmpvc|x25|inet6|rose|netbeui|security|key|netlink|packet|ash|econet|atmsvc|rds|sna|irda|pppox|wanpipe|llc|ib|mpls|can|tipc|bluetooth|iucv|rxrpc|isdn|phonet|ieee802154|caif|alg|nfc|vsock|kcm|qipcrtr|smc|xdp|mctp))?(\s+(raw))(\s+tcp|\s+udp|\s+icmp)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
" 'all networking' includes raw -> mark as dangerous
|
||||||
|
syn match sdNetworkDanger /\v^\s*(audit\s+)?(deny\s+|allow\s+)?network\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
|
||||||
|
|
||||||
|
" Change Profile
|
||||||
|
syn match sdEntryChangeProfile /\v^\s*(audit\s+)?(deny\s+|allow\s+)?change_profile\s+(safe\s+[/@]\S+|unsafe\s+[/@]\S+|[/@]\S+)?\s*(-\>\s*\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
" bare change_profile rule
|
||||||
|
syn match sdEntryChangeProfile /\v^\s*(audit\s+)?(deny\s+|allow\s+)?change_profile\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
|
||||||
|
" rlimit
|
||||||
|
" TODO: audit and deny support will be added (JJ, 2011-01-11)
|
||||||
|
"
|
||||||
|
"syn match sdRLimit /\v^\s*rlimit\s+()\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdComment
|
||||||
|
syn match sdRLimit /\v^\s*set\s+rlimit\s+(nofile|ofile|nproc|rtprio)\s+\<\=\s+[0-9]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdComment
|
||||||
|
syn match sdRLimit /\v^\s*set\s+rlimit\s+(locks|sigpending)\s+\<\=\s+[0-9]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdComment
|
||||||
|
syn match sdRLimit /\v^\s*set\s+rlimit\s+(fsize|data|stack|core|rss|as|memlock|msgqueue)\s+\<\=\s+[0-9]+([KMG]B)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdComment
|
||||||
|
syn match sdRLimit /\v^\s*set\s+rlimit\s+nice\s+\<\=\s+(-1?[0-9]|-20|1?[0-9])\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdComment
|
||||||
|
syn match sdRLimit /\v^\s*set\s+rlimit\s+cpu\s+\<\=\s+[0-9]+(seconds|minutes|hours|days)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdComment
|
||||||
|
syn match sdRLimit /\v^\s*set\s+rlimit\s+rttime\s+\<\=\s+[0-9]+(ms|seconds|minutes)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdComment
|
||||||
|
syn match sdRLimit /\v^\s*set\s+rlimit\s+(cpu|rttime|nofile|nproc|rtprio|locks|sigpending|fsize|data|stack|core|rss|as|memlock|msgqueue|nice)\s+\<\=\s+infinity\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdComment
|
||||||
|
|
||||||
|
" link rules
|
||||||
|
syn match sdEntryW /\v^\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?link\s+(subset\s+)?(\/|\@\{\S*\})\S*\s+-\>\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment
|
||||||
|
|
||||||
|
|
||||||
|
syn match sdExtHat /\v^\s+(\^|hat\s+|profile\s+)\S+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdComment " hat without {...}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
syn match sdProfileName /\v^((profile\s+)?\/\S+|profile\s+([a-zA-Z0-9]\S*\s)?\S+)\s+((flags\s*\=\s*)?\(\s*(complain|audit|attach_disconnected|no_attach_disconnected|chroot_attach|chroot_no_attach|chroot_relative|namespace_relative|mediate_deleted|delegate_deleted)(\s*,\s*(complain|audit|attach_disconnected|no_attach_disconnected|chroot_attach|chroot_no_attach|chroot_relative|namespace_relative|mediate_deleted|delegate_deleted))*\s*\)\s+)=\{/ contains=sdProfileStart,sdHatName,sdFlags,sdComment,sdGlob
|
||||||
|
syn match sdProfileStart /{/ contained
|
||||||
|
syn match sdProfileEnd /^}\s*(#.*)?$/ contained " TODO: syn region does not (yet?) allow usage of comment in end=
|
||||||
|
" TODO: Removing the $ mark from end= will allow non-comments also :-(
|
||||||
|
syn match sdHatName /\v^\s+(\^|hat\s+|profile\s+)\S+\s+((flags\s*\=\s*)?\(\s*(complain|audit|attach_disconnected|no_attach_disconnected|chroot_attach|chroot_no_attach|chroot_relative|namespace_relative|mediate_deleted|delegate_deleted)(\s*,\s*(complain|audit|attach_disconnected|no_attach_disconnected|chroot_attach|chroot_no_attach|chroot_relative|namespace_relative|mediate_deleted|delegate_deleted))*\s*\)\s+)=\{/ contains=sdProfileStart,sdFlags,sdComment
|
||||||
|
syn match sdHatStart /{/ contained
|
||||||
|
syn match sdHatEnd /}/ contained " TODO: allow comments + [same as for syn match sdProfileEnd]
|
||||||
|
syn match sdFlags /\v((flags\s*\=\s*)?\(\s*(complain|audit|attach_disconnected|no_attach_disconnected|chroot_attach|chroot_no_attach|chroot_relative|namespace_relative|mediate_deleted|delegate_deleted)(\s*,\s*(complain|audit|attach_disconnected|no_attach_disconnected|chroot_attach|chroot_no_attach|chroot_relative|namespace_relative|mediate_deleted|delegate_deleted))*\s*\)\s+)/ contained contains=sdFlagKey
|
||||||
|
|
||||||
|
syn match sdComment /\s*#.*$/
|
||||||
|
" NOTE: contains=sdComment changes #include highlighting to comment color.
|
||||||
|
" NOTE: Comment highlighting still works without contains=sdComment.
|
||||||
|
syn match sdInclude /\s*#include\s<\S*>/ " TODO: doesn't check until $
|
||||||
|
syn match sdInclude /\s*include\s<\S*>/ " TODO: doesn't check until $
|
||||||
|
syn match sdInclude /\s*#include\sif\sexists\s<\S*>/ " TODO: doesn't check until $
|
||||||
|
syn match sdInclude /\s*include\sif\sexists\s<\S*>/ " TODO: doesn't check until $
|
||||||
|
|
||||||
|
syn match sdInclude /\s*abi\s<\S*>\s*,/ contains=sdComment " TODO: doesn't check until $
|
||||||
|
|
||||||
|
" basic profile block...
|
||||||
|
" \s+ does not work in end=, therefore using \s\s*
|
||||||
|
syn region Normal start=/\v^(profile\s+)?\S+\s+((flags\s*\=\s*)?\(\s*(complain|audit|attach_disconnected|no_attach_disconnected|chroot_attach|chroot_no_attach|chroot_relative|namespace_relative|mediate_deleted|delegate_deleted)(\s*,\s*(complain|audit|attach_disconnected|no_attach_disconnected|chroot_attach|chroot_no_attach|chroot_relative|namespace_relative|mediate_deleted|delegate_deleted))*\s*\)\s+)=\{/ matchgroup=sdProfileEnd end=/^}\s*$/ contains=sdProfileName,Hat,@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn region Hat start=/\v^\s+(\^|hat\s+|profile\s+)\S+\s+((flags\s*\=\s*)?\(\s*(complain|audit|attach_disconnected|no_attach_disconnected|chroot_attach|chroot_no_attach|chroot_relative|namespace_relative|mediate_deleted|delegate_deleted)(\s*,\s*(complain|audit|attach_disconnected|no_attach_disconnected|chroot_attach|chroot_no_attach|chroot_relative|namespace_relative|mediate_deleted|delegate_deleted))*\s*\)\s+)=\{/ matchgroup=sdHatEnd end=/^\s\s*}\s*$/ contains=sdHatName,@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
|
||||||
|
" file permissions
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
" file rules added with create_file_rule()
|
||||||
|
|
||||||
|
" write + exec/mmap - danger! (known bug: accepts aw to keep things simple)
|
||||||
|
syn match sdEntryWriteExec /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(l|r|w|a|m|k|[iuUpPcC]x)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryWriteExec /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(l|r|w|a|m|k|[iuUpPcC]x)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryWriteExec /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(l|r|w|a|m|k|[iuUpPcC]x)+(\s+-\>\s+\S+)?\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryWriteExec /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(l|r|w|a|m|k|[iuUpPcC]x)+(\s+-\>\s+\S+)?\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
|
||||||
|
" ux(mr) - unconstrained entry, flag the line red. also includes pux which is unconstrained if no profile exists
|
||||||
|
syn match sdEntryUX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k|ux|pux)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryUX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k|ux|pux)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryUX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|ux|pux)+(\s+-\>\s+\S+)?\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryUX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|ux|pux)+(\s+-\>\s+\S+)?\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
|
||||||
|
" Ux(mr) and PUx(mr) - like ux + clean environment
|
||||||
|
syn match sdEntryUXe /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k|Ux|PUx)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryUXe /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k|Ux|PUx)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryUXe /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|Ux|PUx)+(\s+-\>\s+\S+)?\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryUXe /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|Ux|PUx)+(\s+-\>\s+\S+)?\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
|
||||||
|
" px/cx/pix/cix(mrk) - standard exec entry, flag the line blue
|
||||||
|
syn match sdEntryPX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k|px|cx|pix|cix)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryPX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k|px|cx|pix|cix)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryPX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|px|cx|pix|cix)+(\s+-\>\s+\S+)?\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryPX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|px|cx|pix|cix)+(\s+-\>\s+\S+)?\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
|
||||||
|
" Px/Cx/Pix/Cix(mrk) - like px/cx + clean environment
|
||||||
|
syn match sdEntryPXe /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k|Px|Cx|Pix|Cix)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryPXe /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k|Px|Cx|Pix|Cix)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryPXe /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|Px|Cx|Pix|Cix)+(\s+-\>\s+\S+)?\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryPXe /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|Px|Cx|Pix|Cix)+(\s+-\>\s+\S+)?\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
|
||||||
|
" ix(mr) - standard exec entry, flag the line green
|
||||||
|
syn match sdEntryIX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k|ix)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryIX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k|ix)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryIX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|ix)+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryIX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|ix)+\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
|
||||||
|
" mr - mmap with PROT_EXEC
|
||||||
|
syn match sdEntryM /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryM /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryM /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k)+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryM /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k)+\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
|
||||||
|
" special case: deny x is allowed (does not need to be ix, px, ux or cx)
|
||||||
|
syn match sdEntryM /\v^\s*(audit\s+)?deny\s+(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k|x)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryM /\v^\s*(audit\s+)?deny\s+(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k|x)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryM /\v^\s*(audit\s+)?deny\s+(owner\s+|other\s+)?(r|m|k|x)+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryM /\v^\s*(audit\s+)?deny\s+(owner\s+|other\s+)?(r|m|k|x)+\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
|
||||||
|
" write + append is an error
|
||||||
|
syn match sdError /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+\S*(w\S*a|a\S*w)\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdError /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+\S*(w\S*a|a\S*w)\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdError /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?\S*(w\S*a|a\S*w)\S*\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdError /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?\S*(w\S*a|a\S*w)\S*\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
|
||||||
|
" write entry, flag the line yellow
|
||||||
|
syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(l|r|w|k)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(l|r|w|k)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(l|r|w|k)+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(l|r|w|k)+\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
|
||||||
|
" append entry, flag the line yellow
|
||||||
|
syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(l|r|a|k)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(l|r|a|k)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(l|r|a|k)+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(l|r|a|k)+\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
|
||||||
|
" read entry + locking, currently no highlighting
|
||||||
|
syn match sdEntryK /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+[rlk]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryK /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+[rlk]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryK /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rlk]+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryK /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rlk]+\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
|
||||||
|
" read entry, no highlighting
|
||||||
|
syn match sdEntryR /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+[rl]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryR /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+[rl]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryR /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rl]+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
syn match sdEntryR /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rl]+\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||||
|
|
12
gvim.desktop
Normal file
12
gvim.desktop
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Encoding=UTF-8
|
||||||
|
Name=Vi IMproved
|
||||||
|
Categories=GTK;Application;Utility;TextEditor;
|
||||||
|
GenericName=Text Editor
|
||||||
|
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
|
||||||
|
Exec=gvim -f %f
|
||||||
|
Icon=gvim
|
||||||
|
Type=Application
|
||||||
|
Terminal=false
|
||||||
|
X-KDE-StartupNotify=true
|
||||||
|
X-KDE-AuthorizeAction=shell_access
|
53
gvim.svg
Normal file
53
gvim.svg
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="282" height="282" viewBox="0 0 282 282">
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip-0">
|
||||||
|
<path clip-rule="nonzero" d="M 0.707031 0.570312 L 281.578125 0.570312 L 281.578125 281.445312 L 0.707031 281.445312 Z M 0.707031 0.570312 "/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g clip-path="url(#clip-0)">
|
||||||
|
<path fill-rule="evenodd" fill="rgb(13.729858%, 12.159729%, 12.548828%)" fill-opacity="1" d="M 281.472656 139.566406 L 139.703125 0.679688 L 0.816406 142.375 L 139.703125 281.335938 L 281.472656 139.566406 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 2814.726562 1424.335938 L 1397.03125 2813.203125 L 8.164062 1396.25 L 1397.03125 6.640625 Z M 2814.726562 1424.335938 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
</g>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(19.747925%, 38.182068%, 32.107544%)" fill-opacity="1" d="M 267.289062 139.566406 L 275.785156 139.566406 L 139.703125 275.648438 L 139.703125 267.152344 L 267.289062 139.566406 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 2672.890625 1424.335938 L 2757.851562 1424.335938 L 1397.03125 63.515625 L 1397.03125 148.476562 Z M 2672.890625 1424.335938 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(22.206116%, 43.157959%, 36.126709%)" fill-opacity="1" d="M 6.503906 142.375 L 15 142.375 L 139.703125 267.152344 L 139.703125 275.648438 L 6.503906 142.375 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 65.039062 1396.25 L 150 1396.25 L 1397.03125 148.476562 L 1397.03125 63.515625 Z M 65.039062 1396.25 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(40.040588%, 79.243469%, 65.275574%)" fill-opacity="1" d="M 139.703125 14.792969 L 139.703125 6.367188 L 6.503906 142.375 L 15 142.375 L 139.703125 14.792969 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1397.03125 2672.070312 L 1397.03125 2756.328125 L 65.039062 1396.25 L 150 1396.25 Z M 1397.03125 2672.070312 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(27.148438%, 73.228455%, 23.704529%)" fill-opacity="1" d="M 139.703125 6.367188 L 139.703125 14.792969 L 267.289062 139.566406 L 275.785156 139.566406 L 139.703125 6.367188 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1397.03125 2756.328125 L 1397.03125 2672.070312 L 2672.890625 1424.335938 L 2757.851562 1424.335938 Z M 1397.03125 2756.328125 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(26.049805%, 50.93689%, 42.410278%)" fill-opacity="1" d="M 139.703125 267.152344 L 267.289062 139.566406 L 139.703125 14.792969 L 15 142.375 L 139.703125 267.152344 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1397.03125 148.476562 L 2672.890625 1424.335938 L 1397.03125 2672.070312 L 150 1396.25 Z M 1397.03125 148.476562 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(13.729858%, 12.159729%, 12.548828%)" fill-opacity="1" d="M 166.199219 43.160156 L 174.695312 51.726562 L 116.089844 111.199219 L 116.089844 51.726562 L 121.777344 51.726562 L 130.273438 43.160156 L 130.273438 20.550781 L 121.777344 11.984375 L 27.3125 11.984375 L 18.816406 20.550781 L 18.816406 43.160156 L 27.3125 51.726562 L 33.933594 51.726562 L 33.933594 244.472656 L 44.304688 252.96875 L 73.609375 252.96875 L 276.71875 43.160156 L 276.71875 20.550781 L 268.226562 11.984375 L 175.632812 11.984375 L 166.199219 20.550781 L 166.199219 43.160156 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1661.992188 2388.398438 L 1746.953125 2302.734375 L 1160.898438 1708.007812 L 1160.898438 2302.734375 L 1217.773438 2302.734375 L 1302.734375 2388.398438 L 1302.734375 2614.492188 L 1217.773438 2700.15625 L 273.125 2700.15625 L 188.164062 2614.492188 L 188.164062 2388.398438 L 273.125 2302.734375 L 339.335938 2302.734375 L 339.335938 375.273438 L 443.046875 290.3125 L 736.09375 290.3125 L 2767.1875 2388.398438 L 2767.1875 2614.492188 L 2682.265625 2700.15625 L 1756.328125 2700.15625 L 1661.992188 2614.492188 Z M 1661.992188 2388.398438 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(100%, 100%, 100%)" fill-opacity="1" d="M 30.121094 46.039062 L 24.429688 40.351562 L 24.429688 23.359375 L 30.121094 17.671875 L 118.96875 17.601562 L 124.585938 23.359375 L 118.96875 26.097656 L 116.089844 23.359375 L 30.121094 37.472656 L 30.121094 46.039062 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 301.210938 2359.609375 L 244.296875 2416.484375 L 244.296875 2586.40625 L 301.210938 2643.28125 L 1189.6875 2643.984375 L 1245.859375 2586.40625 L 1189.6875 2559.023438 L 1160.898438 2586.40625 L 301.210938 2445.273438 Z M 301.210938 2359.609375 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(100%, 100%, 100%)" fill-opacity="1" d="M 47.113281 247.28125 L 40.488281 241.59375 L 40.488281 45.96875 L 47.113281 40.351562 L 47.113281 247.28125 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 471.132812 347.1875 L 404.882812 404.0625 L 404.882812 2360.3125 L 471.132812 2416.484375 Z M 471.132812 347.1875 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(100%, 100%, 100%)" fill-opacity="1" d="M 188.878906 46.039062 L 194.566406 40.351562 L 194.566406 51.726562 L 100.03125 148.0625 L 110.472656 125.382812 L 188.878906 46.039062 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1888.789062 2359.609375 L 1945.664062 2416.484375 L 1945.664062 2302.734375 L 1000.3125 1339.375 L 1104.726562 1566.171875 Z M 1888.789062 2359.609375 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(56.697083%, 55.909729%, 56.105042%)" fill-opacity="1" d="M 49.054688 37.542969 L 47.113281 40.351562 L 40.488281 46.039062 L 30.121094 46.039062 L 30.121094 34.664062 L 49.054688 37.542969 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 490.546875 2444.570312 L 471.132812 2416.484375 L 404.882812 2359.609375 L 301.210938 2359.609375 L 301.210938 2473.359375 Z M 490.546875 2444.570312 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(56.697083%, 55.909729%, 56.105042%)" fill-opacity="1" d="M 110.472656 46.039062 L 110.472656 125.382812 L 100.03125 147.992188 L 100.03125 40.28125 L 116.089844 40.28125 L 118.96875 37.472656 L 116.089844 23.359375 L 124.585938 23.359375 L 124.585938 40.351562 L 118.96875 46.039062 L 110.472656 46.039062 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1104.726562 2359.609375 L 1104.726562 1566.171875 L 1000.3125 1340.078125 L 1000.3125 2417.1875 L 1160.898438 2417.1875 L 1189.6875 2445.273438 L 1160.898438 2586.40625 L 1245.859375 2586.40625 L 1245.859375 2416.484375 L 1189.6875 2359.609375 Z M 1104.726562 2359.609375 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(100%, 100%, 100%)" fill-opacity="1" d="M 177.503906 46.039062 L 171.886719 40.351562 L 171.886719 23.359375 L 178.441406 17.671875 L 264.480469 17.671875 L 271.105469 23.359375 L 261.601562 31.855469 L 177.503906 37.472656 L 177.503906 46.039062 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1775.039062 2359.609375 L 1718.867188 2416.484375 L 1718.867188 2586.40625 L 1784.414062 2643.28125 L 2644.804688 2643.28125 L 2711.054688 2586.40625 L 2616.015625 2501.445312 L 1775.039062 2445.273438 Z M 1775.039062 2359.609375 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(56.697083%, 55.909729%, 56.105042%)" fill-opacity="1" d="M 271.105469 40.351562 L 71.664062 247.28125 L 47.113281 247.28125 L 47.113281 238.785156 L 65.113281 238.785156 L 264.480469 34.664062 L 261.601562 23.359375 L 271.105469 23.359375 L 271.105469 40.351562 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 2711.054688 2416.484375 L 716.640625 347.1875 L 471.132812 347.1875 L 471.132812 432.148438 L 651.132812 432.148438 L 2644.804688 2473.359375 L 2616.015625 2586.40625 L 2711.054688 2586.40625 Z M 2711.054688 2416.484375 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(56.697083%, 55.909729%, 56.105042%)" fill-opacity="1" d="M 196.441406 37.542969 L 194.496094 40.351562 L 188.878906 46.039062 L 177.503906 46.039062 L 177.503906 34.664062 L 196.441406 37.542969 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1964.414062 2444.570312 L 1944.960938 2416.484375 L 1888.789062 2359.609375 L 1775.039062 2359.609375 L 1775.039062 2473.359375 Z M 1964.414062 2444.570312 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(82.751465%, 82.437134%, 82.514954%)" fill-opacity="1" d="M 100.03125 147.992188 L 100.03125 40.28125 L 116.089844 40.28125 L 118.96875 37.472656 L 118.96875 26.097656 L 116.089844 23.289062 L 32.925781 23.289062 L 30.121094 26.097656 L 30.121094 37.472656 L 32.925781 40.28125 L 47.113281 40.28125 L 47.113281 238.785156 L 50.785156 241.59375 L 66.984375 241.59375 L 265.414062 34.664062 L 265.414062 26.527344 L 262.535156 23.289062 L 180.382812 23.289062 L 177.503906 26.097656 L 177.503906 37.542969 L 180.382812 40.351562 L 194.566406 40.351562 L 194.566406 51.726562 L 100.03125 147.992188 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1000.3125 1340.078125 L 1000.3125 2417.1875 L 1160.898438 2417.1875 L 1189.6875 2445.273438 L 1189.6875 2559.023438 L 1160.898438 2587.109375 L 329.257812 2587.109375 L 301.210938 2559.023438 L 301.210938 2445.273438 L 329.257812 2417.1875 L 471.132812 2417.1875 L 471.132812 432.148438 L 507.851562 404.0625 L 669.84375 404.0625 L 2654.140625 2473.359375 L 2654.140625 2554.726562 L 2625.351562 2587.109375 L 1803.828125 2587.109375 L 1775.039062 2559.023438 L 1775.039062 2444.570312 L 1803.828125 2416.484375 L 1945.664062 2416.484375 L 1945.664062 2302.734375 Z M 1000.3125 1340.078125 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(13.729858%, 12.159729%, 12.548828%)" fill-opacity="1" d="M 151.585938 148.136719 L 158.207031 142.449219 L 175.199219 142.449219 L 179.953125 148.136719 L 174.265625 165.128906 L 167.710938 170.816406 L 150.71875 170.816406 L 145.894531 165.128906 L 151.585938 148.136719 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1515.859375 1338.632812 L 1582.070312 1395.507812 L 1751.992188 1395.507812 L 1799.53125 1338.632812 L 1742.65625 1168.710938 L 1677.109375 1111.835938 L 1507.1875 1111.835938 L 1458.945312 1168.710938 Z M 1515.859375 1338.632812 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(13.729858%, 12.159729%, 12.548828%)" fill-opacity="1" d="M 157.273438 241.664062 L 174.335938 190.6875 L 168.648438 190.6875 L 174.335938 173.625 L 199.753906 173.625 L 205.441406 179.3125 L 209.257812 179.3125 L 214.871094 173.625 L 233.808594 173.625 L 239.496094 179.3125 L 243.238281 179.3125 L 248.929688 173.625 L 269.664062 173.625 L 277.222656 185 L 264.839844 225.320312 L 270.457031 225.320312 L 264.984375 241.664062 L 230.929688 241.664062 L 244.246094 201.992188 L 235.753906 201.992188 L 227.902344 225.175781 L 233.519531 225.175781 L 228.191406 241.664062 L 194.136719 241.664062 L 207.382812 201.992188 L 198.886719 201.992188 L 190.96875 225.320312 L 196.65625 225.320312 L 191.328125 241.664062 L 157.273438 241.664062 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1572.734375 403.359375 L 1743.359375 913.125 L 1686.484375 913.125 L 1743.359375 1083.75 L 1997.539062 1083.75 L 2054.414062 1026.875 L 2092.578125 1026.875 L 2148.710938 1083.75 L 2338.085938 1083.75 L 2394.960938 1026.875 L 2432.382812 1026.875 L 2489.296875 1083.75 L 2696.640625 1083.75 L 2772.226562 970 L 2648.398438 566.796875 L 2704.570312 566.796875 L 2649.84375 403.359375 L 2309.296875 403.359375 L 2442.460938 800.078125 L 2357.539062 800.078125 L 2279.023438 568.242188 L 2335.195312 568.242188 L 2281.914062 403.359375 L 1941.367188 403.359375 L 2073.828125 800.078125 L 1988.867188 800.078125 L 1909.6875 566.796875 L 1966.5625 566.796875 L 1913.28125 403.359375 Z M 1572.734375 403.359375 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(82.751465%, 82.437134%, 82.514954%)" fill-opacity="1" d="M 267.070312 179.3125 L 271.464844 185.578125 L 257.496094 230.359375 L 263.113281 230.359375 L 261.238281 235.976562 L 238.558594 235.976562 L 251.808594 196.304688 L 231.9375 196.304688 L 220.632812 230.359375 L 226.246094 230.359375 L 224.375 235.976562 L 201.695312 235.976562 L 214.945312 196.304688 L 195.070312 196.304688 L 183.769531 230.359375 L 189.457031 230.359375 L 187.511719 235.976562 L 164.832031 235.976562 L 181.894531 185 L 176.207031 185 L 178.078125 179.3125 L 198.886719 179.3125 L 204.574219 185 L 210.191406 185 L 215.878906 179.3125 L 232.871094 179.3125 L 238.558594 185 L 244.246094 185 L 249.9375 179.3125 L 267.070312 179.3125 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 2670.703125 1026.875 L 2714.648438 964.21875 L 2574.960938 516.40625 L 2631.132812 516.40625 L 2612.382812 460.234375 L 2385.585938 460.234375 L 2518.085938 856.953125 L 2319.375 856.953125 L 2206.328125 516.40625 L 2262.460938 516.40625 L 2243.75 460.234375 L 2016.953125 460.234375 L 2149.453125 856.953125 L 1950.703125 856.953125 L 1837.695312 516.40625 L 1894.570312 516.40625 L 1875.117188 460.234375 L 1648.320312 460.234375 L 1818.945312 970 L 1762.070312 970 L 1780.78125 1026.875 L 1988.867188 1026.875 L 2045.742188 970 L 2101.914062 970 L 2158.789062 1026.875 L 2328.710938 1026.875 L 2385.585938 970 L 2442.460938 970 L 2499.375 1026.875 Z M 2670.703125 1026.875 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(13.729858%, 12.159729%, 12.548828%)" fill-opacity="1" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1714.570312 1083.75 L 1541.054688 567.539062 L 1600.078125 567.539062 L 1543.90625 403.359375 L 1204.0625 403.359375 L 1373.984375 913.125 L 1317.109375 913.125 Z M 1317.109375 913.125 L 1373.984375 1083.75 L 1714.570312 1083.75 Z M 1317.109375 913.125 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(82.751465%, 82.437134%, 82.514954%)" fill-opacity="1" d="M 150.648438 235.976562 L 152.519531 230.359375 L 146.832031 230.359375 L 163.894531 179.3125 L 140.28125 179.3125 L 138.335938 185 L 144.960938 185 L 127.96875 235.976562 L 150.648438 235.976562 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1506.484375 460.234375 L 1525.195312 516.40625 L 1468.320312 516.40625 L 1638.945312 1026.875 L 1402.8125 1026.875 L 1383.359375 970 L 1449.609375 970 L 1279.6875 460.234375 Z M 1506.484375 460.234375 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
<path fill-rule="evenodd" fill="rgb(82.751465%, 82.437134%, 82.514954%)" fill-opacity="1" d="M 169.511719 162.320312 L 173.328125 150.945312 L 171.457031 148.136719 L 160.078125 148.136719 L 156.335938 150.945312 L 152.519531 162.320312 L 154.464844 165.128906 L 165.839844 165.128906 L 169.511719 162.320312 "/>
|
||||||
|
<path fill="none" stroke-width="2.16" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(13.729858%, 12.159729%, 12.548828%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1695.117188 1196.796875 L 1733.28125 1310.546875 L 1714.570312 1338.632812 L 1600.78125 1338.632812 L 1563.359375 1310.546875 L 1525.195312 1196.796875 L 1544.648438 1168.710938 L 1658.398438 1168.710938 Z M 1695.117188 1196.796875 " transform="matrix(0.1, 0, 0, -0.1, 0, 282)"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 18 KiB |
BIN
gvim_128.png
(Stored with Git LFS)
Normal file
BIN
gvim_128.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
gvim_24.png
(Stored with Git LFS)
Normal file
BIN
gvim_24.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
gvim_256.png
(Stored with Git LFS)
Normal file
BIN
gvim_256.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
gvim_32.png
(Stored with Git LFS)
Normal file
BIN
gvim_32.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
gvim_48.png
(Stored with Git LFS)
Normal file
BIN
gvim_48.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
gvim_512.png
(Stored with Git LFS)
Normal file
BIN
gvim_512.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
gvim_64.png
(Stored with Git LFS)
Normal file
BIN
gvim_64.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
gvim_96.png
(Stored with Git LFS)
Normal file
BIN
gvim_96.png
(Stored with Git LFS)
Normal file
Binary file not shown.
48
spec.skeleton
Normal file
48
spec.skeleton
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
#
|
||||||
|
# spec file for package specRPM_CREATION_NAME
|
||||||
|
#
|
||||||
|
# Copyright (c) specCURRENT_YEAR SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
Name: specRPM_CREATION_NAME
|
||||||
|
Version:
|
||||||
|
Release: 0
|
||||||
|
Summary:
|
||||||
|
# FIXME: Select a correct license from https://github.com/openSUSE/spec-cleaner#spdx-licenses
|
||||||
|
License:
|
||||||
|
URL:
|
||||||
|
Source:
|
||||||
|
BuildRequires:
|
||||||
|
|
||||||
|
%description
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup
|
||||||
|
|
||||||
|
%build
|
||||||
|
%configure
|
||||||
|
%make_build
|
||||||
|
|
||||||
|
%install
|
||||||
|
%make_install
|
||||||
|
|
||||||
|
%post
|
||||||
|
%postun
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license COPYING
|
||||||
|
%doc ChangeLog README
|
||||||
|
|
||||||
|
%changelog
|
40
spec.vim
Normal file
40
spec.vim
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
if exists("loaded_spec") || &cp
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let loaded_spec = 1
|
||||||
|
|
||||||
|
function! SKEL_spec()
|
||||||
|
0r /usr/share/vim/current/skeletons/skeleton.spec
|
||||||
|
language time en_US
|
||||||
|
if $USER != ''
|
||||||
|
let login = $USER
|
||||||
|
elseif $LOGNAME != ''
|
||||||
|
let login = $LOGNAME
|
||||||
|
else
|
||||||
|
let login = 'unknown'
|
||||||
|
endif
|
||||||
|
let newline = stridx(login, "\n")
|
||||||
|
if newline != -1
|
||||||
|
let login = strpart(login, 0, newline)
|
||||||
|
endif
|
||||||
|
if $HOSTNAME != ''
|
||||||
|
let hostname = $HOSTNAME
|
||||||
|
else
|
||||||
|
let hostname = system('hostname -f')
|
||||||
|
if v:shell_error
|
||||||
|
let hostname = 'localhost'
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
let newline = stridx(hostname, "\n")
|
||||||
|
if newline != -1
|
||||||
|
let hostname = strpart(hostname, 0, newline)
|
||||||
|
endif
|
||||||
|
exe "%s/specCURRENT_YEAR/" . strftime("%Y") . "/ge"
|
||||||
|
exe "%s/specRPM_CREATION_DATE/" . strftime("%a\ %b\ %d\ %Y") . "/ge"
|
||||||
|
exe "%s/specRPM_CREATION_AUTHOR_MAIL/" . login . "@" . hostname . "/ge"
|
||||||
|
exe "%s/specRPM_CREATION_NAME/" . expand("%:t:r") . "/ge"
|
||||||
|
setf spec
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Skeleton for spec files
|
||||||
|
autocmd BufNewFile *.spec call SKEL_spec()
|
168
suse.gvimrc
Normal file
168
suse.gvimrc
Normal file
@ -0,0 +1,168 @@
|
|||||||
|
"
|
||||||
|
" /etc/gvimrc
|
||||||
|
"
|
||||||
|
" from original source copied and modified by Klaus Franken
|
||||||
|
" Version: 21.1.97
|
||||||
|
|
||||||
|
" other settings:
|
||||||
|
:se guipty
|
||||||
|
:se guioptions=amr
|
||||||
|
|
||||||
|
" Menues:
|
||||||
|
" copied and modified from:
|
||||||
|
" *vim_menu.txt* For Vim version 4.5. Last modification: 1996 Oct 12
|
||||||
|
"
|
||||||
|
" These menu commands should recreate the default Vim menus.
|
||||||
|
" You can use this as a start for your own set of menus.
|
||||||
|
" The colons at the start of each line are just to indicate these are colon
|
||||||
|
" commands, they could be omitted.
|
||||||
|
" If the <Esc> and <CR> string appear literally in the output of ":menu", you
|
||||||
|
" need to remove the '<' flag from 'cpoptions' |'cpoptions'|
|
||||||
|
|
||||||
|
" First remove any menus that are currently present
|
||||||
|
:unmenu *
|
||||||
|
:unmenu! *
|
||||||
|
|
||||||
|
" Help menu
|
||||||
|
" Note that the help commands use <Esc> to leave Insert/Visual/Command-line
|
||||||
|
" mode
|
||||||
|
:nnoremenu Help.Overview\ \ <F1> :help<CR>
|
||||||
|
:vnoremenu Help.Overview\ \ <F1> <Esc>:help<CR>
|
||||||
|
:noremenu! Help.Overview\ \ <F1> <Esc>:help<CR>
|
||||||
|
|
||||||
|
:nnoremenu Help.How\ to\.\.\. :help how_to<CR>
|
||||||
|
:vnoremenu Help.How\ to\.\.\. <Esc>:help how_to<CR>
|
||||||
|
:noremenu! Help.How\ to\.\.\. <Esc>:help how_to<CR>
|
||||||
|
|
||||||
|
:nnoremenu Help.GUI :help gui<CR>
|
||||||
|
:vnoremenu Help.GUI <Esc>:help gui<CR>
|
||||||
|
:noremenu! Help.GUI <Esc>:help gui<CR>
|
||||||
|
|
||||||
|
:nnoremenu Help.Version :version<CR>
|
||||||
|
:vnoremenu Help.Version <Esc>:version<CR>
|
||||||
|
:noremenu! Help.Version <Esc>:version<CR>
|
||||||
|
|
||||||
|
:nnoremenu Help.Credits :help credits<CR>
|
||||||
|
:vnoremenu Help.Credits <Esc>:help credits<CR>
|
||||||
|
:noremenu! Help.Credits <Esc>:help credits<CR>
|
||||||
|
|
||||||
|
:nnoremenu Help.Copying :help uganda<CR>
|
||||||
|
:vnoremenu Help.Copying <Esc>:help uganda<CR>
|
||||||
|
:noremenu! Help.Copying <Esc>:help uganda<CR>
|
||||||
|
|
||||||
|
" File menu
|
||||||
|
:nnoremenu File.Save\ \ \ \ \ \ \ :w :w<CR>
|
||||||
|
:inoremenu File.Save\ \ \ \ \ \ \ :w <C-O>:w<CR>
|
||||||
|
|
||||||
|
:nnoremenu File.Close\ \ \ \ \ \ :q :q<CR>
|
||||||
|
:vnoremenu File.Close\ \ \ \ \ \ :q <Esc>:q<CR>
|
||||||
|
:noremenu! File.Close\ \ \ \ \ \ :q <Esc>:q<CR>
|
||||||
|
|
||||||
|
:nnoremenu File.Quit\ \ \ \ \ \ \ :qa :qa<CR>
|
||||||
|
:vnoremenu File.Quit\ \ \ \ \ \ \ :qa <Esc>:qa<CR>
|
||||||
|
:noremenu! File.Quit\ \ \ \ \ \ \ :qa <Esc>:qa<CR>
|
||||||
|
|
||||||
|
:nnoremenu File.Save-Quit\ \ :wqa :wqa<CR>
|
||||||
|
:vnoremenu File.Save-Quit\ \ :wqa <Esc>:wqa<CR>
|
||||||
|
:noremenu! File.Save-Quit\ \ :wqa <Esc>:wqa<CR>
|
||||||
|
|
||||||
|
" Edit menu
|
||||||
|
:nnoremenu Edit.Undo u
|
||||||
|
:nnoremenu Edit.Redo <C-R>
|
||||||
|
|
||||||
|
:vnoremenu Edit.Cut x
|
||||||
|
:vnoremenu Edit.Copy y
|
||||||
|
|
||||||
|
:nnoremenu Edit.Put\ Before [p
|
||||||
|
:inoremenu Edit.Put\ Before <C-O>[p
|
||||||
|
:nnoremenu Edit.Put\ After ]p
|
||||||
|
:inoremenu Edit.Put\ After <C-O>]p
|
||||||
|
|
||||||
|
:nnoremenu Edit.Paste i<C-R>*<Esc>
|
||||||
|
:noremenu! Edit.Paste <C-R>*
|
||||||
|
|
||||||
|
" new kfr@suse.de
|
||||||
|
|
||||||
|
" MenuNamen:
|
||||||
|
" :nnoremenu Normal
|
||||||
|
" :vnoremenu Visual
|
||||||
|
" :noremenu! Input?
|
||||||
|
|
||||||
|
:nnoremenu File.Reload\ \ \ \ \ :e! :e!<CR>
|
||||||
|
:vnoremenu File.Reload\ \ \ \ \ :e! <Esc>:e!<CR>
|
||||||
|
:noremenu! File.Reload\ \ \ \ \ :e! <Esc>:e!<CR>
|
||||||
|
|
||||||
|
:nnoremenu File.Quit\ All!\ \ :qa! :qa!<CR>
|
||||||
|
|
||||||
|
:nnoremenu Settings.Show :se<CR>
|
||||||
|
:nnoremenu Settings.Autoindent.off\ F7 :se noautoindent<CR>
|
||||||
|
:nnoremenu Settings.Autoindent.on\ \ F8 :se autoindent<CR>
|
||||||
|
:nnoremenu Settings.Tabs.Expand\ on :se expandtab<CR>
|
||||||
|
:nnoremenu Settings.Tabs.Expand\ off :se noexpandtab<CR>
|
||||||
|
:nnoremenu Settings.Tabs.2 :se tabstop=2<CR>:se shiftwidth=2<CR>
|
||||||
|
:nnoremenu Settings.Tabs.4 :se tabstop=4<CR>:se shiftwidth=4<CR>
|
||||||
|
:nnoremenu Settings.Tabs.8 :se tabstop=8<CR>:se shiftwidth=8<CR>
|
||||||
|
:nnoremenu Settings.Mouse.All :se mouse=a<CR>
|
||||||
|
:nnoremenu Settings.Mouse.Visual :se mouse=v<CR>
|
||||||
|
:nnoremenu Settings.Mouse.Insert :se mouse=i<CR>
|
||||||
|
:nnoremenu Settings.Mouse.Command-line :se mouse=c<CR>
|
||||||
|
:nnoremenu Settings.Textwidth.off :se textwidth=0<CR>
|
||||||
|
:nnoremenu Settings.Textwidth.70 :se textwidth=70<CR>
|
||||||
|
:nnoremenu Settings.Textwidth.75 :se textwidth=75<CR>
|
||||||
|
:nnoremenu Settings.Textwidth.80 :se textwidth=80<CR>
|
||||||
|
:nnoremenu Settings.Wrap.on :se wrap<CR>
|
||||||
|
:nnoremenu Settings.Wrap.off :se nowrap<CR>
|
||||||
|
:nnoremenu Settings.Numbers.on :se nu<CR>
|
||||||
|
:nnoremenu Settings.Numbers.off :se nonu<CR>
|
||||||
|
:nnoremenu Settings.Search\ case-sensitiv.on :se ignorecase<CR>
|
||||||
|
:nnoremenu Settings.Search\ case-sensitiv.off :se noignorecase<CR>
|
||||||
|
:nnoremenu Settings.Scrollbar.Right :se guioptions=mr<CR>
|
||||||
|
:nnoremenu Settings.Scrollbar.Right+Bottom :se guioptions=mrb<CR>
|
||||||
|
:nnoremenu Settings.Scrollbar.Left :se guioptions=ml<CR>
|
||||||
|
:nnoremenu Settings.Scrollbar.Left+Bottom :se guioptions=mlb<CR>
|
||||||
|
|
||||||
|
:nnoremenu Settings.RightLeft.Show\ -> :se norightleft<CR>
|
||||||
|
:nnoremenu Settings.RightLeft.Show\ <- :se rightleft<CR>
|
||||||
|
:nnoremenu Settings.RightLeft.Input\ -> :se norevins<CR>
|
||||||
|
:nnoremenu Settings.RightLeft.Input\ <- :se revins<CR>
|
||||||
|
:nnoremenu Settings.RightLeft.Hebrew\ mapping :se hkmap<CR>
|
||||||
|
:nnoremenu Settings.RightLeft.Normal\ mapping :se nohkmap<CR>
|
||||||
|
|
||||||
|
:nnoremenu Window.Buffer\ Next :bnext<CR>
|
||||||
|
:nnoremenu Window.Buffer\ Prev :bNext<CR>
|
||||||
|
:nnoremenu Window.Buffer\ All :ball<CR>
|
||||||
|
:nnoremenu Window.Zoom :only<CR>
|
||||||
|
:nnoremenu Window.Show\ Buffers :buffers<CR>
|
||||||
|
:nnoremenu Window.Go\ Buffer.1 :buf1<CR>
|
||||||
|
:nnoremenu Window.Go\ Buffer.2 :buf2<CR>
|
||||||
|
:nnoremenu Window.Go\ Buffer.3 :buf3<CR>
|
||||||
|
:nnoremenu Window.Go\ Buffer.4 :buf4<CR>
|
||||||
|
:nnoremenu Window.Go\ Buffer.5 :buf5<CR>
|
||||||
|
:nnoremenu Window.New :new<CR>
|
||||||
|
:nnoremenu Window.Split :split<CR>
|
||||||
|
:nnoremenu Window.Close :close<CR>
|
||||||
|
|
||||||
|
:nnoremenu Input.Return <CR>
|
||||||
|
|
||||||
|
|
||||||
|
:nnoremenu Help.40 :help vim_40.txt<CR>
|
||||||
|
:nnoremenu Help.ami :help vim_ami.txt<CR>
|
||||||
|
:nnoremenu Help.arch :help vim_arch.txt<CR>
|
||||||
|
:nnoremenu Help.diff :help vim_diff.txt<CR>
|
||||||
|
:nnoremenu Help.digr :help vim_digr.txt<CR>
|
||||||
|
:nnoremenu Help.dos :help vim_dos.txt<CR>
|
||||||
|
:nnoremenu Help.gui :help vim_gui.txt<CR>
|
||||||
|
:nnoremenu Help.help :help vim_help.txt<CR>
|
||||||
|
:nnoremenu Help.idx :help vim_idx.txt<CR>
|
||||||
|
:nnoremenu Help.kcc :help vim_kcc.txt<CR>
|
||||||
|
:nnoremenu Help.mac :help vim_mac.txt<CR>
|
||||||
|
:nnoremenu Help.menu :help vim_menu.txt<CR>
|
||||||
|
:nnoremenu Help.mint :help vim_mint.txt<CR>
|
||||||
|
:nnoremenu Help.os2 :help vim_os2.txt<CR>
|
||||||
|
:nnoremenu Help.ref :help vim_ref.txt<CR>
|
||||||
|
:nnoremenu Help.rlh :help vim_rlh.txt<CR>
|
||||||
|
:nnoremenu Help.tags :help vim_tags<CR>
|
||||||
|
:nnoremenu Help.tips :help vim_tips.txt<CR>
|
||||||
|
:nnoremenu Help.unix :help vim_unix.txt<CR>
|
||||||
|
:nnoremenu Help.w32 :help vim_w32.txt<CR>
|
||||||
|
:nnoremenu Help.win :help vim_win.txt<CR>
|
318
suse.vimrc
Normal file
318
suse.vimrc
Normal file
@ -0,0 +1,318 @@
|
|||||||
|
" /usr/etc/vimrc (configuration file for vim only)
|
||||||
|
" author: Klaus Franken <kfr@suse.de>
|
||||||
|
" author: Werner Fink <werner@suse.de>
|
||||||
|
" author: Florian La Roche <florian@suse.de>
|
||||||
|
" version: 2021/02/22
|
||||||
|
" commented lines start with `"'
|
||||||
|
|
||||||
|
" enable syntax highlighting
|
||||||
|
if &t_Co > 2 || has("gui_running")
|
||||||
|
syntax on
|
||||||
|
endif
|
||||||
|
|
||||||
|
" automatically indent lines (default)
|
||||||
|
" set noautoindent
|
||||||
|
|
||||||
|
" select case-insenitiv search (not default)
|
||||||
|
" set ignorecase
|
||||||
|
|
||||||
|
" show cursor line and column in the status line
|
||||||
|
set ruler
|
||||||
|
|
||||||
|
" show matching brackets
|
||||||
|
set showmatch
|
||||||
|
|
||||||
|
" display mode INSERT/REPLACE/...
|
||||||
|
set showmode
|
||||||
|
|
||||||
|
" changes special characters in search patterns (default)
|
||||||
|
" set magic
|
||||||
|
|
||||||
|
" Required to be able to use keypad keys and map missed escape sequences
|
||||||
|
set esckeys
|
||||||
|
|
||||||
|
" get easier to use and more user friendly vim defaults
|
||||||
|
" CAUTION: This option breaks some vi compatibility.
|
||||||
|
" Switch it off if you prefer real vi compatibility
|
||||||
|
set nocompatible
|
||||||
|
|
||||||
|
" allow backspacing over everything in insert mode
|
||||||
|
set backspace=indent,eol,start
|
||||||
|
|
||||||
|
" Complete longest common string, then each full match
|
||||||
|
" enable this for bash compatible behaviour
|
||||||
|
" set wildmode=longest,full
|
||||||
|
|
||||||
|
" Try to get the correct main terminal type
|
||||||
|
if &term =~ "xterm"
|
||||||
|
let myterm = "xterm"
|
||||||
|
elseif &term =~ "screen"
|
||||||
|
let myterm = "screen"
|
||||||
|
else
|
||||||
|
let myterm = &term
|
||||||
|
endif
|
||||||
|
if has('eval')
|
||||||
|
let myterm = substitute(myterm, "cons[0-9][0-9].*$", "linux", "")
|
||||||
|
let myterm = substitute(myterm, "cons[0-9][0-9].*$", "linux", "")
|
||||||
|
let myterm = substitute(myterm, "vt1[0-9][0-9].*$", "vt100", "")
|
||||||
|
let myterm = substitute(myterm, "vt2[0-9][0-9].*$", "vt220", "")
|
||||||
|
let myterm = substitute(myterm, "\\([^-]*\\)[_-].*$", "\\1", "")
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Here we define the keys of the NumLock in keyboard transmit mode of xterm
|
||||||
|
" which misses or hasn't activated Alt/NumLock Modifiers. Often not defined
|
||||||
|
" within termcap/terminfo and we should map the character printed on the keys.
|
||||||
|
if myterm == "xterm" || myterm == "kvt" || myterm == "gnome"
|
||||||
|
" keys in insert/command mode.
|
||||||
|
map! <ESC>Oo :
|
||||||
|
map! <ESC>Oj *
|
||||||
|
map! <ESC>Om -
|
||||||
|
map! <ESC>Ok +
|
||||||
|
map! <ESC>Ol ,
|
||||||
|
map! <ESC>OM
|
||||||
|
map! <ESC>Ow 7
|
||||||
|
map! <ESC>Ox 8
|
||||||
|
map! <ESC>Oy 9
|
||||||
|
map! <ESC>Ot 4
|
||||||
|
map! <ESC>Ou 5
|
||||||
|
map! <ESC>Ov 6
|
||||||
|
map! <ESC>Oq 1
|
||||||
|
map! <ESC>Or 2
|
||||||
|
map! <ESC>Os 3
|
||||||
|
map! <ESC>Op 0
|
||||||
|
map! <ESC>On .
|
||||||
|
" 8bit control characters
|
||||||
|
map! <Char-0x8F>o :
|
||||||
|
map! <Char-0x8F>j *
|
||||||
|
map! <Char-0x8F>m -
|
||||||
|
map! <Char-0x8F>k +
|
||||||
|
map! <Char-0x8F>l ,
|
||||||
|
map! <Char-0x8F>M
|
||||||
|
map! <Char-0x8F>w 7
|
||||||
|
map! <Char-0x8F>x 8
|
||||||
|
map! <Char-0x8F>y 9
|
||||||
|
map! <Char-0x8F>t 4
|
||||||
|
map! <Char-0x8F>u 5
|
||||||
|
map! <Char-0x8F>v 6
|
||||||
|
map! <Char-0x8F>q 1
|
||||||
|
map! <Char-0x8F>r 2
|
||||||
|
map! <Char-0x8F>s 3
|
||||||
|
map! <Char-0x8F>p 0
|
||||||
|
map! <Char-0x8F>n .
|
||||||
|
" keys in normal mode
|
||||||
|
map <ESC>Oo :
|
||||||
|
map <ESC>Oj *
|
||||||
|
map <ESC>Om -
|
||||||
|
map <ESC>Ok +
|
||||||
|
map <ESC>Ol ,
|
||||||
|
map <ESC>OM
|
||||||
|
map <ESC>Ow 7
|
||||||
|
map <ESC>Ox 8
|
||||||
|
map <ESC>Oy 9
|
||||||
|
map <ESC>Ot 4
|
||||||
|
map <ESC>Ou 5
|
||||||
|
map <ESC>Ov 6
|
||||||
|
map <ESC>Oq 1
|
||||||
|
map <ESC>Or 2
|
||||||
|
map <ESC>Os 3
|
||||||
|
map <ESC>Op 0
|
||||||
|
map <ESC>On .
|
||||||
|
" 8bit control characters
|
||||||
|
map <Char-0x8F>o :
|
||||||
|
map <Char-0x8F>j *
|
||||||
|
map <Char-0x8F>m -
|
||||||
|
map <Char-0x8F>k +
|
||||||
|
map <Char-0x8F>l ,
|
||||||
|
map <Char-0x8F>M
|
||||||
|
map <Char-0x8F>w 7
|
||||||
|
map <Char-0x8F>x 8
|
||||||
|
map <Char-0x8F>y 9
|
||||||
|
map <Char-0x8F>t 4
|
||||||
|
map <Char-0x8F>u 5
|
||||||
|
map <Char-0x8F>v 6
|
||||||
|
map <Char-0x8F>q 1
|
||||||
|
map <Char-0x8F>r 2
|
||||||
|
map <Char-0x8F>s 3
|
||||||
|
map <Char-0x8F>p 0
|
||||||
|
map <Char-0x8F>n .
|
||||||
|
endif
|
||||||
|
|
||||||
|
" xterm but without activated keyboard transmit mode
|
||||||
|
" and therefore not defined in termcap/terminfo.
|
||||||
|
if myterm == "xterm" || myterm == "kvt" || myterm == "gnome"
|
||||||
|
" keys in insert/command mode.
|
||||||
|
map! <Esc>[H <Home>
|
||||||
|
map! <Esc>[F <End>
|
||||||
|
map! <Char-0x8F>H <Home>
|
||||||
|
map! <Char-0x8F>F <End>
|
||||||
|
" Home/End: older xterms do not fit termcap/terminfo.
|
||||||
|
map! <Esc>[1~ <Home>
|
||||||
|
map! <Esc>[4~ <End>
|
||||||
|
" Up/Down/Right/Left
|
||||||
|
map! <Esc>[A <Up>
|
||||||
|
map! <Esc>[B <Down>
|
||||||
|
map! <Esc>[C <Right>
|
||||||
|
map! <Esc>[D <Left>
|
||||||
|
" 8bit control characters
|
||||||
|
map! <Char-0x8F>A <Up>
|
||||||
|
map! <Char-0x8F>B <Down>
|
||||||
|
map! <Char-0x8F>C <Right>
|
||||||
|
map! <Char-0x8F>D <Left>
|
||||||
|
map! <Char-0x9B>5~ <PageUp>
|
||||||
|
map! <Char-0x9B>6~ <PageDown>
|
||||||
|
map! <Char-0x9B>2~ <Insert>
|
||||||
|
map! <Char-0x9B>3~ <Delete>
|
||||||
|
" KP_5 (NumLock off)
|
||||||
|
map! <Esc>[E <Insert>
|
||||||
|
" keys in normal mode
|
||||||
|
map <ESC>[H 0
|
||||||
|
map <ESC>[F $
|
||||||
|
map <Char-0x8F>H 0
|
||||||
|
map <Char-0x8F>F $
|
||||||
|
" Home/End: older xterms do not fit termcap/terminfo.
|
||||||
|
map <ESC>[1~ 0
|
||||||
|
map <ESC>[4~ $
|
||||||
|
" Up/Down/Right/Left
|
||||||
|
map <ESC>[A k
|
||||||
|
map <ESC>[B j
|
||||||
|
map <ESC>[C l
|
||||||
|
map <ESC>[D h
|
||||||
|
" 8bit control characters
|
||||||
|
map <Char-0x8F>A k
|
||||||
|
map <Char-0x8F>B j
|
||||||
|
map <Char-0x8F>C l
|
||||||
|
map <Char-0x8F>D h
|
||||||
|
map <Char-0x9B>5~ <PageUp>
|
||||||
|
map <Char-0x9B>6~ <PageDown>
|
||||||
|
map <Char-0x9B>2~ <Insert>
|
||||||
|
map <Char-0x9B>3~ <Delete>
|
||||||
|
" KP_5 (NumLock off)
|
||||||
|
map <ESC>[E i
|
||||||
|
map <Char-0x8F>E i
|
||||||
|
endif
|
||||||
|
|
||||||
|
" xterm/kvt but with activated keyboard transmit mode.
|
||||||
|
" Sometimes not or wrong defined within termcap/terminfo.
|
||||||
|
if myterm == "xterm" || myterm == "kvt" || myterm == "gnome"
|
||||||
|
" keys in insert/command mode.
|
||||||
|
map! <Esc>OH <Home>
|
||||||
|
map! <Esc>OF <End>
|
||||||
|
map! <ESC>O2H <Home>
|
||||||
|
map! <ESC>O2F <End>
|
||||||
|
map! <ESC>O5H <Home>
|
||||||
|
map! <ESC>O5F <End>
|
||||||
|
" Cursor keys which works mostly
|
||||||
|
" map! <Esc>OA <Up>
|
||||||
|
" map! <Esc>OB <Down>
|
||||||
|
" map! <Esc>OC <Right>
|
||||||
|
" map! <Esc>OD <Left>
|
||||||
|
map! <Esc>[2;2~ <Insert>
|
||||||
|
map! <Esc>[3;2~ <Delete>
|
||||||
|
map! <Esc>[2;5~ <Insert>
|
||||||
|
map! <Esc>[3;5~ <Delete>
|
||||||
|
map! <Esc>O2A <PageUp>
|
||||||
|
map! <Esc>O2B <PageDown>
|
||||||
|
map! <Esc>O2C <S-Right>
|
||||||
|
map! <Esc>O2D <S-Left>
|
||||||
|
map! <Esc>O5A <PageUp>
|
||||||
|
map! <Esc>O5B <PageDown>
|
||||||
|
map! <Esc>O5C <S-Right>
|
||||||
|
map! <Esc>O5D <S-Left>
|
||||||
|
" KP_5 (NumLock off)
|
||||||
|
map! <Esc>OE <Insert>
|
||||||
|
" keys in normal mode
|
||||||
|
map <ESC>OH 0
|
||||||
|
map <ESC>OF $
|
||||||
|
map <ESC>O2H 0
|
||||||
|
map <ESC>O2F $
|
||||||
|
map <ESC>O5H 0
|
||||||
|
map <ESC>O5F $
|
||||||
|
" Cursor keys which works mostly
|
||||||
|
" map <ESC>OA k
|
||||||
|
" map <ESC>OB j
|
||||||
|
" map <ESC>OD h
|
||||||
|
" map <ESC>OC l
|
||||||
|
map <Esc>[2;2~ i
|
||||||
|
map <Esc>[3;2~ x
|
||||||
|
map <Esc>[2;5~ i
|
||||||
|
map <Esc>[3;5~ x
|
||||||
|
map <ESC>O2A ^B
|
||||||
|
map <ESC>O2B ^F
|
||||||
|
map <ESC>O2D b
|
||||||
|
map <ESC>O2C w
|
||||||
|
map <ESC>O5A ^B
|
||||||
|
map <ESC>O5B ^F
|
||||||
|
map <ESC>O5D b
|
||||||
|
map <ESC>O5C w
|
||||||
|
" KP_5 (NumLock off)
|
||||||
|
map <ESC>OE i
|
||||||
|
endif
|
||||||
|
|
||||||
|
if myterm == "linux"
|
||||||
|
" keys in insert/command mode.
|
||||||
|
map! <Esc>[G <Insert>
|
||||||
|
" KP_5 (NumLock off)
|
||||||
|
" keys in normal mode
|
||||||
|
" KP_5 (NumLock off)
|
||||||
|
map <ESC>[G i
|
||||||
|
endif
|
||||||
|
|
||||||
|
if myterm == "screen"
|
||||||
|
map! <ESC>[1;2D <S-Left>
|
||||||
|
map! <ESC>[1;2C <S-Right>
|
||||||
|
map! <ESC>[1;2A <S-Up>
|
||||||
|
map! <ESC>[1;2B <S-Down>
|
||||||
|
map! <ESC>[1;2H <Home>
|
||||||
|
map! <ESC>[1;2F <End>
|
||||||
|
map! <ESC>[2;2~ <Insert>
|
||||||
|
map! <ESC>[3;2~ <Delete>
|
||||||
|
map! <ESC>[5;2~ <PageUp>
|
||||||
|
map! <ESC>[6;2~ <PageDown>
|
||||||
|
map! <ESC>[1;5D <C-Left>
|
||||||
|
map! <ESC>[1;5C <C-Right>
|
||||||
|
map! <ESC>[1;5A <C-Up>
|
||||||
|
map! <ESC>[1;5B <C-Down>
|
||||||
|
map! <ESC>[1;5H <Home>
|
||||||
|
map! <ESC>[1;5F <End>
|
||||||
|
map! <ESC>[2;5~ <Insert>
|
||||||
|
map! <ESC>[3;5~ <Delete>
|
||||||
|
map! <ESC>[5;5~ <PageUp>
|
||||||
|
map! <ESC>[6;5~ <PageDown>
|
||||||
|
map! <ESC>[1;3D <A-Left>
|
||||||
|
map! <ESC>[1;3C <A-Right>
|
||||||
|
map! <ESC>[1;3A <A-Up>
|
||||||
|
map! <ESC>[1;3B <A-Down>
|
||||||
|
map! <ESC>[1;3H <Home>
|
||||||
|
map! <ESC>[1;3F <End>
|
||||||
|
map! <ESC>[2;3~ <Insert>
|
||||||
|
map! <ESC>[3;3~ <Delete>
|
||||||
|
map! <ESC>[5;3~ <PageUp>
|
||||||
|
map! <ESC>[6;3~ <PageDown>
|
||||||
|
endif
|
||||||
|
|
||||||
|
" This escape sequence is the well known ANSI sequence for
|
||||||
|
" Remove Character Under The Cursor (RCUTC[tm])
|
||||||
|
if !has("gui_running") && myterm == "xterm"
|
||||||
|
map! <Esc>[3~ <Delete>
|
||||||
|
map <ESC>[3~ x
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Only do this part when compiled with support for autocommands.
|
||||||
|
if has("autocmd")
|
||||||
|
"Remember the positions in files with some git-specific exceptions"
|
||||||
|
autocmd BufReadPost *
|
||||||
|
\ if line("'\"") > 0 && line("'\"") <= line("$")
|
||||||
|
\ && expand("%") !~ "COMMIT_EDITMSG"
|
||||||
|
\ && expand("%") !~ "ADD_EDIT.patch"
|
||||||
|
\ && expand("%") !~ "addp-hunk-edit.diff"
|
||||||
|
\ && expand("%") !~ "git-rebase-todo" |
|
||||||
|
\ exe "normal g`\"" |
|
||||||
|
\ endif
|
||||||
|
endif " has("autocmd")
|
||||||
|
|
||||||
|
" Changed default required by SuSE security team--be aware if enabling this
|
||||||
|
" that it potentially can open for malicious users to do harmful things.
|
||||||
|
set nomodeline
|
||||||
|
|
||||||
|
" get easier to use and more user friendly vim defaults
|
||||||
|
" /etc/vimrc ends here
|
60
vim-7.3-filetype_changes.patch
Normal file
60
vim-7.3-filetype_changes.patch
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
Index: vim-8.2.2411/runtime/filetype.vim
|
||||||
|
===================================================================
|
||||||
|
--- vim-8.2.2411.orig/runtime/filetype.vim
|
||||||
|
+++ vim-8.2.2411/runtime/filetype.vim
|
||||||
|
@@ -320,6 +320,9 @@ au BufNewFile,BufRead *.css setf css
|
||||||
|
" Century Term Command Scripts (*.cmd too)
|
||||||
|
au BufNewFile,BufRead *.con setf cterm
|
||||||
|
|
||||||
|
+" SuSE .changes file
|
||||||
|
+au BufNewFile,BufRead *.changes setf changes
|
||||||
|
+
|
||||||
|
" Changelog
|
||||||
|
au BufNewFile,BufRead changelog.Debian,changelog.dch,NEWS.Debian,NEWS.dch,*/debian/changelog
|
||||||
|
\ setf debchangelog
|
||||||
|
Index: vim-8.2.2411/runtime/syntax/changes.vim
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ vim-8.2.2411/runtime/syntax/changes.vim
|
||||||
|
@@ -0,0 +1,41 @@
|
||||||
|
+" Vim syntax file
|
||||||
|
+" Filename: changes.vim
|
||||||
|
+" Language: SuSE package changes
|
||||||
|
+" Maintainer: Michal Svec <msvec@suse.cz>
|
||||||
|
+" Last change: 20.8.2003
|
||||||
|
+
|
||||||
|
+" We shouldn't insert tabs
|
||||||
|
+" https://bugzilla.opensuse.org/show_bug.cgi?id=900839
|
||||||
|
+set expandtab
|
||||||
|
+
|
||||||
|
+if version < 600
|
||||||
|
+ syntax clear
|
||||||
|
+elseif exists("b:current_syntax")
|
||||||
|
+ finish
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
+" Keywords
|
||||||
|
+syn keyword ChangesArch i386 i486 i586 i686 athlon ia64 xa86_64
|
||||||
|
+syn keyword ChangesArch I386 I486 I586 I686 ATHLON IA64 XA86_64
|
||||||
|
+syn keyword ChangesArch ppc axp mips armv4l s390 s390x S/390 s/390
|
||||||
|
+syn keyword ChangesArch PPC AXP MIPS ARMV4L S390 S390x S390X
|
||||||
|
+syn keyword sparc sparc64 Sparc Sparc64 SPARC SPARC64 noarch NOARCH
|
||||||
|
+
|
||||||
|
+" Highlights
|
||||||
|
+syn match ChangesDate "^[A-Z][a-z][a-z] [A-Z][a-z][a-z] [ 0-9][0-9] [0-9:]\{8\} [A-Z]\+ [0-9]\+"
|
||||||
|
+syn match ChangesDate "^[A-Z][a-z][a-z] [A-Z][a-z][a-z] [ 0-9][0-9] [0-9:]\{8\} [0-9]\+"
|
||||||
|
+syn match ChangesMail " - \<[[:alnum:\.]\+@[[:alnum:]\.]\+\>$"
|
||||||
|
+syn match ChangesMailText "\<[[:alnum:]\.]\+@[[:alnum:]\.]\+\>"
|
||||||
|
+syn match ChangesSeparator "^-\{40,78\}$"
|
||||||
|
+syn match ChangesBug "#[0-9]\+\>"
|
||||||
|
+
|
||||||
|
+" Colors
|
||||||
|
+hi ChangesArch ctermfg=blue ctermbg=NONE
|
||||||
|
+hi ChangesDate ctermfg=darkgreen ctermbg=NONE
|
||||||
|
+hi ChangesMail ctermfg=darkred ctermbg=NONE
|
||||||
|
+hi ChangesMailText ctermfg=darkred ctermbg=NONE
|
||||||
|
+hi ChangesSeparator ctermfg=darkgreen ctermbg=NONE
|
||||||
|
+hi ChangesBug ctermfg=red ctermbg=NONE
|
||||||
|
+
|
||||||
|
+" Syntax name
|
||||||
|
+let b:current_syntax = "changes"
|
53
vim-7.3-filetype_ftl.patch
Normal file
53
vim-7.3-filetype_ftl.patch
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
Index: vim-8.2.2411/runtime/filetype.vim
|
||||||
|
===================================================================
|
||||||
|
--- vim-8.2.2411.orig/runtime/filetype.vim
|
||||||
|
+++ vim-8.2.2411/runtime/filetype.vim
|
||||||
|
@@ -2312,3 +2312,7 @@ endfunc
|
||||||
|
" Restore 'cpoptions'
|
||||||
|
let &cpo = s:cpo_save
|
||||||
|
unlet s:cpo_save
|
||||||
|
+
|
||||||
|
+" FreeMarker templates
|
||||||
|
+au BufNewFile,BufRead *.ftl setf ftl
|
||||||
|
+
|
||||||
|
Index: vim-8.2.2411/runtime/syntax/ftl.vim
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ vim-8.2.2411/runtime/syntax/ftl.vim
|
||||||
|
@@ -0,0 +1,36 @@
|
||||||
|
+" Vim syntax file
|
||||||
|
+" Language: FreeMarker Template Language (FTL)
|
||||||
|
+" Maintainer: Stephan Müller <stephan@chaquotay.net>
|
||||||
|
+" Last Change: 2003 Oct 7
|
||||||
|
+
|
||||||
|
+syn case match
|
||||||
|
+
|
||||||
|
+" directives and interpolations
|
||||||
|
+syn region ftlStartDirective start=+<#+ end=+>+ contains=ftlKeyword, ftlDirective, ftlString, ftlComment
|
||||||
|
+syn region ftlEndDirective start=+</#+ end=+>+ contains=ftlDirective
|
||||||
|
+syn region ftlStartUserDirective start=+<@+ end=+>+ contains=ftlString, ftlComment
|
||||||
|
+syn region ftlEndUserDirective start=+</@+ end=+>+
|
||||||
|
+syn region ftlInterpolation start=+${+ end=+}+
|
||||||
|
+syn region ftlInterpolation2 start=+#{+ end=+}+
|
||||||
|
+syn region ftlString contained start=+"+ end=+"+
|
||||||
|
+syn region ftlComment start=+<#--+ end=+-->+
|
||||||
|
+
|
||||||
|
+" keywords
|
||||||
|
+syn keyword ftlDirective contained list if else macro import include switch case break
|
||||||
|
+syn keyword ftlDirective contained assign local global nested recurse fallback visit
|
||||||
|
+syn keyword ftlDirective contained function return t rt lt nt ftl
|
||||||
|
+syn keyword ftlKeyword contained as in using
|
||||||
|
+
|
||||||
|
+" highlighting
|
||||||
|
+highlight link ftlKeyword Statement
|
||||||
|
+highlight link ftlDirective Statement
|
||||||
|
+highlight link ftlStartDirective Function
|
||||||
|
+highlight link ftlEndDirective Function
|
||||||
|
+highlight link ftlStartUserDirective Function
|
||||||
|
+highlight link ftlEndUserDirective Function
|
||||||
|
+highlight link ftlInterpolation Constant
|
||||||
|
+highlight link ftlInterpolation2 Constant
|
||||||
|
+highlight link ftlString Constant
|
||||||
|
+highlight link ftlComment Comment
|
||||||
|
+
|
||||||
|
+
|
26
vim-7.3-filetype_spec.patch
Normal file
26
vim-7.3-filetype_spec.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
Index: vim-8.2.2411/runtime/filetype.vim
|
||||||
|
===================================================================
|
||||||
|
--- vim-8.2.2411.orig/runtime/filetype.vim
|
||||||
|
+++ vim-8.2.2411/runtime/filetype.vim
|
||||||
|
@@ -1639,7 +1639,7 @@ au BufNewFile,BufRead *.rules call dis
|
||||||
|
au BufNewFile,BufRead *.rq,*.sparql setf sparql
|
||||||
|
|
||||||
|
" Spec (Linux RPM)
|
||||||
|
-au BufNewFile,BufRead *.spec setf spec
|
||||||
|
+au BufNewFile,BufRead *.spec,*.spec.in setf spec
|
||||||
|
|
||||||
|
" Speedup (AspenTech plant simulator)
|
||||||
|
au BufNewFile,BufRead *.speedup,*.spdata,*.spd setf spup
|
||||||
|
Index: vim-8.2.2411/runtime/syntax/spec.vim
|
||||||
|
===================================================================
|
||||||
|
--- vim-8.2.2411.orig/runtime/syntax/spec.vim
|
||||||
|
+++ vim-8.2.2411/runtime/syntax/spec.vim
|
||||||
|
@@ -102,7 +102,7 @@ syn case ignore
|
||||||
|
"%% PreAmble Section %%
|
||||||
|
"Copyright and Serial were deprecated by License and Epoch
|
||||||
|
syn region specPreAmbleDeprecated oneline matchgroup=specError start='^\(Copyright\|Serial\)' end='$' contains=specEmail,specURL,specURLMacro,specLicense,specColon,specVariables,specSpecialChar,specMacroIdentifier
|
||||||
|
-syn region specPreAmble oneline matchgroup=specCommand start='^\(Prereq\|Summary\|Name\|Version\|Packager\|Requires\|Recommends\|Suggests\|Supplements\|Enhances\|Icon\|URL\|Source\d*\|Patch\d*\|Prefix\|Packager\|Group\|License\|Release\|BuildRoot\|Distribution\|Vendor\|Provides\|ExclusiveArch\|ExcludeArch\|ExclusiveOS\|Obsoletes\|BuildArch\|BuildArchitectures\|BuildRequires\|BuildConflicts\|BuildPreReq\|Conflicts\|AutoRequires\|AutoReq\|AutoReqProv\|AutoProv\|Epoch\)' end='$' contains=specEmail,specURL,specURLMacro,specLicense,specColon,specVariables,specSpecialChar,specMacroIdentifier
|
||||||
|
+syn region specPreAmble oneline matchgroup=specCommand start='^\(Prereq\|Summary\|Name\|Version\|Packager\|Requires\|Recommends\|Suggests\|Supplements\|Enhances\|Icon\|URL\|Source\d*\|Patch\d*\|Prefix\|Packager\|Group\|License\|Release\|BuildRoot\|Distribution\|Vendor\|Provides\|ExclusiveArch\|ExcludeArch\|ExclusiveOS\|Obsoletes\|BuildArch\|BuildArchitectures\|BuildRequires\|BuildConflicts\|BuildPreReq\|Conflicts\|AutoRequires\|AutoReq\|AutoReqProv\|AutoProv\|Epoch\|Recommends\|Suggests\|Freshens\|EssentialFor\|Supplements\|Enhances\)' end='$' contains=specEmail,specURL,specURLMacro,specLicense,specColon,specVariables,specSpecialChar,specMacroIdentifier
|
||||||
|
|
||||||
|
"%% Description Section %%
|
||||||
|
syn region specDescriptionArea matchgroup=specSection start='^%description' end='^%'me=e-1 contains=specDescriptionOpts,specEmail,specURL,specNumber,specMacroIdentifier,specComment
|
44
vim-7.3-gvimrc_fontset.patch
Normal file
44
vim-7.3-gvimrc_fontset.patch
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
Index: vim-8.2.2411/runtime/gvimrc_example.vim
|
||||||
|
===================================================================
|
||||||
|
--- vim-8.2.2411.orig/runtime/gvimrc_example.vim
|
||||||
|
+++ vim-8.2.2411/runtime/gvimrc_example.vim
|
||||||
|
@@ -15,9 +15,6 @@
|
||||||
|
" Make external commands work through a pipe instead of a pseudo-tty
|
||||||
|
"set noguipty
|
||||||
|
|
||||||
|
-" set the X11 font to use
|
||||||
|
-" set guifont=-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1
|
||||||
|
-
|
||||||
|
set ch=2 " Make command line two lines high
|
||||||
|
|
||||||
|
set mousehide " Hide the mouse when typing text
|
||||||
|
@@ -53,3 +50,29 @@ if version >= 500
|
||||||
|
highlight Special gui=NONE guibg=grey95
|
||||||
|
|
||||||
|
endif
|
||||||
|
+
|
||||||
|
+" Determine the LC_CTYPE locale category setting and try to set guifontset accordingly:
|
||||||
|
+
|
||||||
|
+let tmplang = $LC_ALL
|
||||||
|
+if tmplang =~ "^$"
|
||||||
|
+ let tmplang = $LC_CTYPE
|
||||||
|
+endif
|
||||||
|
+if tmplang =~ "^$"
|
||||||
|
+ let tmplang = $LANG
|
||||||
|
+endif
|
||||||
|
+if tmplang =~ "^$"
|
||||||
|
+ let tmplang = "en_US"
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
+if tmplang =~ "^ko"
|
||||||
|
+ set guifont=Luxi\ Mono
|
||||||
|
+elseif tmplang =~ "^ja"
|
||||||
|
+ set guifont=Luxi\ Mono
|
||||||
|
+elseif tmplang =~ "^zh"
|
||||||
|
+ set guifont=Luxi\ Mono
|
||||||
|
+else
|
||||||
|
+ set guifont=monospace
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+" /etc/gvimrc ends here
|
12
vim-7.3-help_tags.patch
Normal file
12
vim-7.3-help_tags.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
Index: vim-8.2.2411/runtime/doc/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- vim-8.2.2411.orig/runtime/doc/Makefile
|
||||||
|
+++ vim-8.2.2411/runtime/doc/Makefile
|
||||||
|
@@ -331,6 +331,7 @@ CONVERTED = \
|
||||||
|
all: tags vim.man evim.man vimdiff.man vimtutor.man xxd.man $(CONVERTED)
|
||||||
|
|
||||||
|
# Use Vim to generate the tags file. Can only be used when Vim has been
|
||||||
|
+ export VIMRUNTIME=../; \
|
||||||
|
# compiled and installed. Supports multiple languages.
|
||||||
|
vimtags: $(DOCS)
|
||||||
|
@$(VIMEXE) --clean -esX -V1 -u doctags.vim
|
14
vim-7.3-mktemp_tutor.patch
Normal file
14
vim-7.3-mktemp_tutor.patch
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
Index: vim-8.2.2411/src/vimtutor
|
||||||
|
===================================================================
|
||||||
|
--- vim-8.2.2411.orig/src/vimtutor
|
||||||
|
+++ vim-8.2.2411/src/vimtutor
|
||||||
|
@@ -24,8 +24,7 @@ xx=$1
|
||||||
|
export xx
|
||||||
|
|
||||||
|
# We need a temp file for the copy. First try using a standard command.
|
||||||
|
-tmp="${TMPDIR-/tmp}"
|
||||||
|
-TUTORCOPY=`mktemp $tmp/tutorXXXXXX || tempfile -p tutor || echo none`
|
||||||
|
+TUTORCOPY=`mktemp /tmp/tutorXXXXXX || echo /tmp/tutor$$`
|
||||||
|
|
||||||
|
# If the standard commands failed then create a directory to put the copy in.
|
||||||
|
# That is a secure way to make a temp file.
|
18
vim-7.3-name_vimrc.patch
Normal file
18
vim-7.3-name_vimrc.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
Index: vim-8.2.2411/src/feature.h
|
||||||
|
===================================================================
|
||||||
|
--- vim-8.2.2411.orig/src/feature.h
|
||||||
|
+++ vim-8.2.2411/src/feature.h
|
||||||
|
@@ -813,11 +813,12 @@
|
||||||
|
* SYS_VIMRC_FILE Name of the system-wide .vimrc file.
|
||||||
|
*/
|
||||||
|
// #define SYS_VIMRC_FILE "/etc/vimrc"
|
||||||
|
-
|
||||||
|
+#define SYS_VIMRC_FILE "/etc/vimrc"
|
||||||
|
/*
|
||||||
|
* SYS_GVIMRC_FILE Name of the system-wide .gvimrc file.
|
||||||
|
*/
|
||||||
|
// #define SYS_GVIMRC_FILE "/etc/gvimrc"
|
||||||
|
+#define SYS_GVIMRC_FILE "/etc/gvimrc"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* DFLT_HELPFILE Name of the help file.
|
18
vim-7.3-sh_is_bash.patch
Normal file
18
vim-7.3-sh_is_bash.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
Index: vim-8.2.2411/runtime/syntax/sh.vim
|
||||||
|
===================================================================
|
||||||
|
--- vim-8.2.2411.orig/runtime/syntax/sh.vim
|
||||||
|
+++ vim-8.2.2411/runtime/syntax/sh.vim
|
||||||
|
@@ -74,6 +74,13 @@ if exists("b:is_dash")
|
||||||
|
let b:is_posix= 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
+" Neither is_kornshell nor is_bash was explicitly set, and
|
||||||
|
+" /bin/sh is a bash on SUSE LINUX.
|
||||||
|
+if exists("b:is_sh")
|
||||||
|
+ let b:is_bash= 1
|
||||||
|
+ unlet b:is_sh
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
" set up default g:sh_fold_enabled {{{1
|
||||||
|
" ================================
|
||||||
|
if !exists("g:sh_fold_enabled")
|
10
vim-7.3-use_awk.patch
Normal file
10
vim-7.3-use_awk.patch
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
Index: vim-8.2.2411/runtime/tools/mve.awk
|
||||||
|
===================================================================
|
||||||
|
--- vim-8.2.2411.orig/runtime/tools/mve.awk
|
||||||
|
+++ vim-8.2.2411/runtime/tools/mve.awk
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-#!/usr/bin/nawk -f
|
||||||
|
+#!/usr/bin/awk -f
|
||||||
|
#
|
||||||
|
# Change "nawk" to "awk" or "gawk" if you get errors.
|
||||||
|
#
|
28
vim-7.4-disable_lang_no.patch
Normal file
28
vim-7.4-disable_lang_no.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
Index: vim-8.2.2411/src/po/Make_all.mak
|
||||||
|
===================================================================
|
||||||
|
--- vim-8.2.2411.orig/src/po/Make_all.mak
|
||||||
|
+++ vim-8.2.2411/src/po/Make_all.mak
|
||||||
|
@@ -24,7 +24,6 @@ LANGUAGES = \
|
||||||
|
lv \
|
||||||
|
nb \
|
||||||
|
nl \
|
||||||
|
- no \
|
||||||
|
pl \
|
||||||
|
pl.UTF-8 \
|
||||||
|
pl.cp1250 \
|
||||||
|
@@ -109,7 +108,6 @@ MOFILES = \
|
||||||
|
lv.mo \
|
||||||
|
nb.mo \
|
||||||
|
nl.mo \
|
||||||
|
- no.mo \
|
||||||
|
pl.mo \
|
||||||
|
pt_BR.mo \
|
||||||
|
ru.mo \
|
||||||
|
@@ -159,7 +157,6 @@ CHECKFILES = \
|
||||||
|
lv.ck \
|
||||||
|
nb.ck \
|
||||||
|
nl.ck \
|
||||||
|
- no.ck \
|
||||||
|
pl.UTF-8.ck \
|
||||||
|
pl.ck \
|
||||||
|
pl.cp1250.ck \
|
15
vim-7.4-filetype_apparmor.patch
Normal file
15
vim-7.4-filetype_apparmor.patch
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
Index: vim-8.2.2411/runtime/filetype.vim
|
||||||
|
===================================================================
|
||||||
|
--- vim-8.2.2411.orig/runtime/filetype.vim
|
||||||
|
+++ vim-8.2.2411/runtime/filetype.vim
|
||||||
|
@@ -104,6 +104,10 @@ au BufNewFile,BufRead *.ino,*.pde setf
|
||||||
|
au BufNewFile,BufRead .htaccess,*/etc/httpd/*.conf setf apache
|
||||||
|
au BufNewFile,BufRead */etc/apache2/sites-*/*.com setf apache
|
||||||
|
|
||||||
|
+" AppArmor
|
||||||
|
+au BufNewFile,BufRead */etc/apparmor.d/* setf apparmor
|
||||||
|
+au BufNewFile,BufRead */etc/apparmor/profiles/* setf apparmor
|
||||||
|
+
|
||||||
|
" XA65 MOS6510 cross assembler
|
||||||
|
au BufNewFile,BufRead *.a65 setf a65
|
||||||
|
|
13
vim-7.4-filetype_mine.patch
Normal file
13
vim-7.4-filetype_mine.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
Index: vim-8.2.2411/runtime/filetype.vim
|
||||||
|
===================================================================
|
||||||
|
--- vim-8.2.2411.orig/runtime/filetype.vim
|
||||||
|
+++ vim-8.2.2411/runtime/filetype.vim
|
||||||
|
@@ -17,7 +17,7 @@ augroup filetypedetect
|
||||||
|
|
||||||
|
" Ignored extensions
|
||||||
|
if exists("*fnameescape")
|
||||||
|
-au BufNewFile,BufRead ?\+.orig,?\+.bak,?\+.old,?\+.new,?\+.dpkg-dist,?\+.dpkg-old,?\+.dpkg-new,?\+.dpkg-bak,?\+.rpmsave,?\+.rpmnew,?\+.pacsave,?\+.pacnew
|
||||||
|
+au BufNewFile,BufRead ?\+.orig,?\+.bak,?\+.old,?\+.mine,?\+.new,?\+.dpkg-dist,?\+.dpkg-old,?\+.dpkg-new,?\+.dpkg-bak,?\+.rpmsave,?\+.rpmnew,?\+.pacsave,?\+.pacnew
|
||||||
|
\ exe "doau filetypedetect BufRead " . fnameescape(expand("<afile>:r"))
|
||||||
|
au BufNewFile,BufRead *~
|
||||||
|
\ let s:name = expand("<afile>") |
|
13
vim-7.4-highlight_fstab.patch
Normal file
13
vim-7.4-highlight_fstab.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
Index: vim-9.0.1188/runtime/syntax/fstab.vim
|
||||||
|
===================================================================
|
||||||
|
--- vim-9.0.1188.orig/runtime/syntax/fstab.vim
|
||||||
|
+++ vim-9.0.1188/runtime/syntax/fstab.vim
|
||||||
|
@@ -35,7 +35,7 @@ syn match fsOperator /[,=:#]/
|
||||||
|
" Device
|
||||||
|
syn cluster fsDeviceCluster contains=fsOperator,fsDeviceKeyword,fsDeviceError
|
||||||
|
syn match fsDeviceError /\%([^a-zA-Z0-9_\/#@:\.-]\|^\w\{-}\ze\W\)/ contained
|
||||||
|
-syn keyword fsDeviceKeyword contained none proc linproc tmpfs devpts devtmpfs sysfs usbfs
|
||||||
|
+syn keyword fsDeviceKeyword contained none proc linproc tmpfs debugfs devpts devtmpfs sysfs usbfs
|
||||||
|
syn keyword fsDeviceKeyword contained LABEL nextgroup=fsDeviceLabel
|
||||||
|
syn keyword fsDeviceKeyword contained UUID nextgroup=fsDeviceUUID
|
||||||
|
syn keyword fsDeviceKeyword contained PARTLABEL nextgroup=fsDevicePARTLABEL
|
2
vim-7.4-rpmlintrc
Normal file
2
vim-7.4-rpmlintrc
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
addFilter("vim-data.* file-not-in-%lang")
|
||||||
|
|
27
vim-8.0.1568-defaults.patch
Normal file
27
vim-8.0.1568-defaults.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
Index: vim-8.2.2411/runtime/defaults.vim
|
||||||
|
===================================================================
|
||||||
|
--- vim-8.2.2411.orig/runtime/defaults.vim
|
||||||
|
+++ vim-8.2.2411/runtime/defaults.vim
|
||||||
|
@@ -77,13 +77,15 @@ inoremap <C-U> <C-G>u<C-U>
|
||||||
|
" can position the cursor, Visually select and scroll with the mouse.
|
||||||
|
" Only xterm can grab the mouse events when using the shift key, for other
|
||||||
|
" terminals use ":", select text and press Esc.
|
||||||
|
-if has('mouse')
|
||||||
|
- if &term =~ 'xterm'
|
||||||
|
- set mouse=a
|
||||||
|
- else
|
||||||
|
- set mouse=nvi
|
||||||
|
- endif
|
||||||
|
-endif
|
||||||
|
+" disabled in (open)SUSE to make copy&pase work as most people
|
||||||
|
+" except it boo#1079185
|
||||||
|
+"if has('mouse')
|
||||||
|
+" if &term =~ 'xterm'
|
||||||
|
+" set mouse=a
|
||||||
|
+" else
|
||||||
|
+" set mouse=nvi
|
||||||
|
+" endif
|
||||||
|
+"endif
|
||||||
|
|
||||||
|
" Only do this part when Vim was compiled with the +eval feature.
|
||||||
|
if 1
|
16
vim-8.2.2411-globalvimrc.patch
Normal file
16
vim-8.2.2411-globalvimrc.patch
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
Index: vim-8.2.2411/src/main.c
|
||||||
|
===================================================================
|
||||||
|
--- vim-8.2.2411.orig/src/main.c
|
||||||
|
+++ vim-8.2.2411/src/main.c
|
||||||
|
@@ -3130,7 +3130,10 @@ source_startup_scripts(mparm_T *parmp)
|
||||||
|
* Get system wide defaults, if the file name is defined.
|
||||||
|
*/
|
||||||
|
#ifdef SYS_VIMRC_FILE
|
||||||
|
- (void)do_source((char_u *)SYS_VIMRC_FILE, FALSE, DOSO_NONE, NULL);
|
||||||
|
+ if (do_source((char_u *)SYS_VIMRC_FILE, FALSE, DOSO_NONE, NULL) == FAIL)
|
||||||
|
+ {
|
||||||
|
+ (void)do_source((char_u *)"$VIMRUNTIME/suse.vimrc", FALSE, DOSO_NONE, NULL);
|
||||||
|
+ }
|
||||||
|
#endif
|
||||||
|
#ifdef MACOS_X
|
||||||
|
(void)do_source((char_u *)"$VIMRUNTIME/macmap.vim", FALSE,
|
BIN
vim-9.1.0111.tar.gz
(Stored with Git LFS)
Normal file
BIN
vim-9.1.0111.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
vim-changelog.sh
Normal file
16
vim-changelog.sh
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
directory=https://ftp.nluug.nl/pub/vim/patches/
|
||||||
|
version=9.0
|
||||||
|
|
||||||
|
if [ $# -ne 2 ]; then
|
||||||
|
echo "usage: $0 <old-minor-version> <new-minor-version>" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Updated to version $version.$(echo $2 | sed 's/^*//'), fixes the following problems"
|
||||||
|
for i in $(seq -w $1 $2); do
|
||||||
|
curl $directory/$version/$version.$i -s | grep -v "Binary file (standard input) matches" | \
|
||||||
|
tr -d '\n' | grep -oP "Problem:.*Solution:" | sed s,"Problem: "," * ", | sed s,"Solution:",, | \
|
||||||
|
tr '\t' '\n' | sed s,' ','', | fmt -w 80
|
||||||
|
done
|
16001
vim.changes
Normal file
16001
vim.changes
Normal file
File diff suppressed because it is too large
Load Diff
789
vim.spec
Normal file
789
vim.spec
Normal file
@ -0,0 +1,789 @@
|
|||||||
|
#
|
||||||
|
# spec file for package vim
|
||||||
|
#
|
||||||
|
# Copyright (c) 2024 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%define pkg_version 9.1
|
||||||
|
%define patchlevel 0111
|
||||||
|
%define patchlevel_compact %{patchlevel}
|
||||||
|
%define VIM_SUBDIR vim91
|
||||||
|
%define site_runtimepath %{_datadir}/vim/site
|
||||||
|
%define make make VIMRCLOC=%{_sysconfdir} VIMRUNTIMEDIR=%{_datadir}/vim/current MAKE="make -e" %{?_smp_mflags}
|
||||||
|
%if 0%{?suse_version} > 1500
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
%bcond_without python2
|
||||||
|
Name: vim
|
||||||
|
Version: %{pkg_version}.%{patchlevel_compact}
|
||||||
|
Release: 0
|
||||||
|
Summary: Vi IMproved
|
||||||
|
License: Vim
|
||||||
|
URL: https://www.vim.org/
|
||||||
|
Source: https://github.com/vim/vim/archive/v%{pkg_version}.%{patchlevel}.tar.gz#/vim-%{pkg_version}.%{patchlevel}.tar.gz
|
||||||
|
Source3: suse.vimrc
|
||||||
|
Source4: vimrc_example1
|
||||||
|
Source5: vimrc_example2
|
||||||
|
Source8: suse.gvimrc
|
||||||
|
Source10: README.Japanese-XIM
|
||||||
|
Source13: vitmp.c
|
||||||
|
Source14: vitmp.1
|
||||||
|
Source15: vim132
|
||||||
|
Source19: gvim.desktop
|
||||||
|
Source20: spec.skeleton
|
||||||
|
Source21: spec.vim
|
||||||
|
Source23: apparmor.vim
|
||||||
|
# Generated using: epstopdf runtime/vimlogo.eps && pdf2svg runtime/vimlogo.pdf gvim.svg
|
||||||
|
Source24: gvim.svg
|
||||||
|
# Section Bitmap icons generated from gvim.svg using rsvg-convert
|
||||||
|
Source25: gvim_24.png
|
||||||
|
Source26: gvim_32.png
|
||||||
|
Source27: gvim_48.png
|
||||||
|
Source28: gvim_64.png
|
||||||
|
Source29: gvim_96.png
|
||||||
|
Source30: gvim_128.png
|
||||||
|
Source31: gvim_256.png
|
||||||
|
Source32: gvim_512.png
|
||||||
|
# /Section
|
||||||
|
Source98: vim-changelog.sh
|
||||||
|
Source99: %{name}-7.4-rpmlintrc
|
||||||
|
Patch3: %{name}-7.4-disable_lang_no.patch
|
||||||
|
Patch4: %{name}-7.3-gvimrc_fontset.patch
|
||||||
|
Patch5: %{name}-7.4-highlight_fstab.patch
|
||||||
|
Patch6: %{name}-7.3-sh_is_bash.patch
|
||||||
|
Patch7: %{name}-7.3-filetype_ftl.patch
|
||||||
|
Patch8: %{name}-7.3-help_tags.patch
|
||||||
|
Patch9: %{name}-7.3-use_awk.patch
|
||||||
|
Patch10: %{name}-7.3-name_vimrc.patch
|
||||||
|
Patch11: %{name}-7.3-mktemp_tutor.patch
|
||||||
|
Patch15: %{name}-7.4-filetype_apparmor.patch
|
||||||
|
Patch18: %{name}-7.3-filetype_spec.patch
|
||||||
|
Patch21: %{name}-7.3-filetype_changes.patch
|
||||||
|
Patch22: %{name}-7.4-filetype_mine.patch
|
||||||
|
Patch100: vim73-no-static-libpython.patch
|
||||||
|
Patch101: vim-8.0.1568-defaults.patch
|
||||||
|
Patch104: vim-8.2.2411-globalvimrc.patch
|
||||||
|
BuildRequires: autoconf
|
||||||
|
BuildRequires: db-devel
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: gettext-devel
|
||||||
|
BuildRequires: gpm-devel
|
||||||
|
BuildRequires: libtool
|
||||||
|
BuildRequires: perl
|
||||||
|
BuildRequires: pkgconfig
|
||||||
|
BuildRequires: ruby-devel
|
||||||
|
BuildRequires: update-desktop-files
|
||||||
|
BuildRequires: pkgconfig(form)
|
||||||
|
BuildRequires: pkgconfig(formw)
|
||||||
|
BuildRequires: pkgconfig(gtk+-3.0)
|
||||||
|
BuildRequires: pkgconfig(krb5)
|
||||||
|
BuildRequires: pkgconfig(libacl)
|
||||||
|
BuildRequires: pkgconfig(lua)
|
||||||
|
BuildRequires: pkgconfig(menu)
|
||||||
|
BuildRequires: pkgconfig(menuw)
|
||||||
|
BuildRequires: pkgconfig(ncurses)
|
||||||
|
BuildRequires: pkgconfig(ncurses++)
|
||||||
|
BuildRequires: pkgconfig(ncurses++w)
|
||||||
|
BuildRequires: pkgconfig(ncursesw)
|
||||||
|
BuildRequires: pkgconfig(panel)
|
||||||
|
BuildRequires: pkgconfig(panelw)
|
||||||
|
BuildRequires: pkgconfig(python3)
|
||||||
|
BuildRequires: pkgconfig(tic)
|
||||||
|
BuildRequires: pkgconfig(tinfo)
|
||||||
|
BuildRequires: pkgconfig(xt)
|
||||||
|
Requires: vim-data-common = %{version}-%{release}
|
||||||
|
Requires: xxd = %{version}-%{release}
|
||||||
|
Recommends: vim-data = %{version}-%{release}
|
||||||
|
Conflicts: vim-base < 8.2
|
||||||
|
Provides: vi
|
||||||
|
Provides: vim-base = %{version}-%{release}
|
||||||
|
Provides: vim-enhanced = %{version}-%{release}
|
||||||
|
Provides: vim-python = %{version}-%{release}
|
||||||
|
Obsoletes: vim-base < %{version}-%{release}
|
||||||
|
Obsoletes: vim-enhanced < %{version}-%{release}
|
||||||
|
Obsoletes: vim-python < %{version}-%{release}
|
||||||
|
Provides: vim_client
|
||||||
|
%{?libperl_requires}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
|
Requires(post): update-alternatives
|
||||||
|
Requires(postun):update-alternatives
|
||||||
|
%endif
|
||||||
|
%if %{with python2}
|
||||||
|
BuildRequires: python2-devel
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description
|
||||||
|
Vim (Vi IMproved) is an almost compatible version of the UNIX editor
|
||||||
|
vi. Almost every possible command can be performed using only ASCII
|
||||||
|
characters. Only the 'Q' command is missing (you do not need it). Many
|
||||||
|
new features have been added: multilevel undo, command line history,
|
||||||
|
file name completion, block operations, and editing of binary data.
|
||||||
|
|
||||||
|
%package data
|
||||||
|
Summary: Data files needed for extended vim functionality
|
||||||
|
Requires: vim-data-common = %{version}-%{release}
|
||||||
|
# Used to be in vim-plugins package
|
||||||
|
Obsoletes: vim-plugin-matchit <= 1.13.2
|
||||||
|
Provides: vim-plugin-matchit = 1.13.2
|
||||||
|
# conflicts with nginx own plugin
|
||||||
|
Obsoletes: vim-plugin-nginx < %{version}
|
||||||
|
Provides: vim-plugin-nginx = %{version}
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description data
|
||||||
|
This package contains optional runtime & syntax files for vim.
|
||||||
|
|
||||||
|
%package data-common
|
||||||
|
Summary: Common Data files for vim & gvim
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description data-common
|
||||||
|
This package contains basic runtime & syntax files for vim
|
||||||
|
|
||||||
|
%package -n gvim
|
||||||
|
Summary: A GUI for Vi
|
||||||
|
Requires: gvim_client
|
||||||
|
Requires: vim-data = %{version}-%{release}
|
||||||
|
Requires: xxd = %{version}-%{release}
|
||||||
|
Conflicts: gvim < 8.2
|
||||||
|
Provides: gvim-base = %{version}-%{release}
|
||||||
|
Provides: gvim-enhanced = %{version}-%{release}
|
||||||
|
Obsoletes: gvim-base < %{version}-%{release}
|
||||||
|
Obsoletes: gvim-enhanced < %{version}-%{release}
|
||||||
|
Provides: gvim_client
|
||||||
|
Provides: vi
|
||||||
|
Provides: vim_client
|
||||||
|
%if %{with libalternatives}
|
||||||
|
BuildRequires: alts
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
|
Requires(post): update-alternatives
|
||||||
|
Requires(postun):update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description -n gvim
|
||||||
|
Package gvim contains the largest set of features of vim, which is
|
||||||
|
graphical windows and language interpreter, like python, ruby, or perl.
|
||||||
|
You need package vim for the help and other documentation too. If you
|
||||||
|
want less features, you might want to install vim instead.
|
||||||
|
|
||||||
|
%package small
|
||||||
|
Summary: Vim with reduced features
|
||||||
|
Requires: vim-data-common = %{version}-%{release}
|
||||||
|
Provides: vi
|
||||||
|
Provides: vim_client
|
||||||
|
%if %{with libalternatives}
|
||||||
|
BuildRequires: alts
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
|
Requires(post): update-alternatives
|
||||||
|
Requires(postun):update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description small
|
||||||
|
Vim compiled with reduced feature set such as no script
|
||||||
|
interpreters built in
|
||||||
|
|
||||||
|
%package -n xxd
|
||||||
|
Summary: A hex dump utility
|
||||||
|
Conflicts: vim <= 9.0.1418
|
||||||
|
|
||||||
|
%description -n xxd
|
||||||
|
xxd creates a hex dump of a given file or standard input. It can also convert
|
||||||
|
a hex dump back to its original binary form.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n %{name}-%{pkg_version}.%{patchlevel}
|
||||||
|
|
||||||
|
%patch -P 3 -p1
|
||||||
|
%patch -P 4 -p1
|
||||||
|
%patch -P 5 -p1
|
||||||
|
%patch -P 6 -p1
|
||||||
|
%patch -P 7 -p1
|
||||||
|
%patch -P 8 -p1
|
||||||
|
%patch -P 9 -p1
|
||||||
|
%patch -P 10 -p1
|
||||||
|
%patch -P 11 -p1
|
||||||
|
cp %{SOURCE23} runtime/syntax/apparmor.vim
|
||||||
|
%patch -P 15 -p1
|
||||||
|
%patch -P 18 -p1
|
||||||
|
%patch -P 21 -p1
|
||||||
|
%patch -P 22 -p1
|
||||||
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
%patch -P 104 -p1
|
||||||
|
cp %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE8} %{SOURCE10} .
|
||||||
|
|
||||||
|
%build
|
||||||
|
export CFLAGS="%{optflags} -Wall -pipe -fno-strict-aliasing"
|
||||||
|
export CFLAGS=${CFLAGS/-D_FORTIFY_SOURCE=2/-D_FORTIFY_SOURCE=1}
|
||||||
|
|
||||||
|
export COMMON_OPTIONS="\
|
||||||
|
--with-vim-name=vim \
|
||||||
|
--with-ex-name=ex \
|
||||||
|
--with-view-name=view \
|
||||||
|
--enable-cscope \
|
||||||
|
--enable-multibyte \
|
||||||
|
--with-compiledby='http://www.opensuse.org/' \
|
||||||
|
--with-tlib=tinfo \
|
||||||
|
--with-global-runtime=%{site_runtimepath} \
|
||||||
|
"
|
||||||
|
|
||||||
|
# yeah kind of weird to call this small when we then use the
|
||||||
|
# "normal" set. Calling the package vim-normal is weird though as
|
||||||
|
# huge is our default.
|
||||||
|
export SMALL_OPTIONS="\
|
||||||
|
$COMMON_OPTIONS \
|
||||||
|
--with-features=small \
|
||||||
|
--enable-luainterp=no \
|
||||||
|
--enable-pythoninterp=no \
|
||||||
|
--enable-perlinterp=no \
|
||||||
|
--enable-python3interp=no \
|
||||||
|
--enable-rubyinterp=no"
|
||||||
|
|
||||||
|
export HUGE_OPTIONS="\
|
||||||
|
$COMMON_OPTIONS \
|
||||||
|
--with-features=huge \
|
||||||
|
--enable-luainterp=dynamic \
|
||||||
|
--enable-perlinterp=yes \
|
||||||
|
--enable-python3interp=dynamic \
|
||||||
|
--enable-rubyinterp=dynamic
|
||||||
|
--enable-pythoninterp=%{?with_python2:yes}%{!?with_python2:no}"
|
||||||
|
|
||||||
|
export GUI_OPTIONS="\
|
||||||
|
--disable-icon-cache-update \
|
||||||
|
--enable-xim \
|
||||||
|
--enable-fontset \
|
||||||
|
--enable-gui=gtk3"
|
||||||
|
|
||||||
|
export NOGUI_OPTIONS="\
|
||||||
|
--disable-gui \
|
||||||
|
--disable-gpm \
|
||||||
|
--with-x=no \
|
||||||
|
"
|
||||||
|
|
||||||
|
pushd src
|
||||||
|
autoconf
|
||||||
|
popd
|
||||||
|
|
||||||
|
# build smaller vim
|
||||||
|
%configure ${SMALL_OPTIONS} ${NOGUI_OPTIONS}
|
||||||
|
sed -i -e 's|define HAVE_DATE_TIME 1|undef HAVE_DATE_TIME|' src/auto/config.h
|
||||||
|
%make_build
|
||||||
|
cp src/vim vim-small
|
||||||
|
|
||||||
|
# build normal vim
|
||||||
|
%make_build -j1 distclean
|
||||||
|
%configure ${HUGE_OPTIONS} ${NOGUI_OPTIONS}
|
||||||
|
sed -i -e 's|define HAVE_DATE_TIME 1|undef HAVE_DATE_TIME|' src/auto/config.h
|
||||||
|
%make_build
|
||||||
|
cp src/vim vim-nox11
|
||||||
|
|
||||||
|
# build gvim
|
||||||
|
%make_build -j1 distclean
|
||||||
|
%configure ${HUGE_OPTIONS} ${GUI_OPTIONS}
|
||||||
|
sed -i -e 's|define HAVE_DATE_TIME 1|undef HAVE_DATE_TIME|' src/auto/config.h
|
||||||
|
%make_build
|
||||||
|
|
||||||
|
#
|
||||||
|
# build vitmp
|
||||||
|
gcc %{optflags} %{SOURCE13} -o vitmp
|
||||||
|
|
||||||
|
%install
|
||||||
|
%make_install STRIP=:
|
||||||
|
# create icon directories and install the icons into it
|
||||||
|
for SIZE in 24 32 48 64 96 128 256 512; do
|
||||||
|
install -d -m 0755 %{buildroot}%{_datadir}/icons/hicolor/${SIZE}x${SIZE}/apps
|
||||||
|
install -m 0644 %{_sourcedir}/gvim_${SIZE}.png %{buildroot}%{_datadir}/icons/hicolor/${SIZE}x${SIZE}/apps/gvim.png
|
||||||
|
done
|
||||||
|
install -d -m 0755 %{buildroot}%{_datadir}/icons/hicolor/scalable/apps
|
||||||
|
install -m 0644 %{SOURCE24} %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/gvim.svg
|
||||||
|
|
||||||
|
# the last installed binary is gvim. preserve it
|
||||||
|
mv %{buildroot}%{_bindir}/vim %{buildroot}%{_bindir}/gvim
|
||||||
|
%if %{with libalternatives}
|
||||||
|
for f in vimdiff ex view rview rvim; do
|
||||||
|
rm %{buildroot}%{_bindir}/$f
|
||||||
|
done
|
||||||
|
%else
|
||||||
|
# fix gvim symlinks. e* was added here as it doesnt make much sense in
|
||||||
|
# console
|
||||||
|
for f in egvim egview eview evim gex gvi gview gvimdiff rgview rgvim ; do
|
||||||
|
ln -s -vf gvim %{buildroot}%{_bindir}/$f
|
||||||
|
done
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# install vim
|
||||||
|
install -D -m 0755 vim-small %{buildroot}%{_bindir}/vim-small
|
||||||
|
install -D -m 0755 vim-nox11 %{buildroot}%{_bindir}/vim-nox11
|
||||||
|
%if ! %{with libalternatives}
|
||||||
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
|
ln -s -f %{_sysconfdir}/alternatives/vim %{buildroot}%{_bindir}/vim
|
||||||
|
ln -s -f %{_sysconfdir}/alternatives/vi %{buildroot}%{_bindir}/vi
|
||||||
|
%else
|
||||||
|
for f in vi vim rvim evim eview egview view rview vimdiff edit ex egvim gex gvi gview gvimdiff rgview rgvim ; do
|
||||||
|
ln -sf %{_bindir}/alts %{buildroot}%{_bindir}/$f
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/$f
|
||||||
|
done
|
||||||
|
for f in vi vim rvim view rview vimdiff edit ex; do
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/$f/20.conf <<EOF
|
||||||
|
binary=%{_bindir}/vim-nox11
|
||||||
|
group=vim,vi
|
||||||
|
options=KeepArgv0
|
||||||
|
EOF
|
||||||
|
done
|
||||||
|
for f in vi vim evim rvim egview eview view rview vimdiff edit ex egvim gex gvi gview gvimdiff rgview rgvim ; do
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/$f/30.conf <<EOF
|
||||||
|
binary=%{_bindir}/gvim
|
||||||
|
group=vi,vim
|
||||||
|
options=KeepArgv0
|
||||||
|
EOF
|
||||||
|
done
|
||||||
|
for f in vim vi ; do
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/$f/19.conf <<EOF
|
||||||
|
binary=%{_bindir}/vim-small
|
||||||
|
group=vim,vi
|
||||||
|
options=KeepArgv0
|
||||||
|
EOF
|
||||||
|
done
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# compat symlinks
|
||||||
|
mkdir %{buildroot}/bin
|
||||||
|
%if 0%{?suse_version} < 1550
|
||||||
|
ln -s -f %{_bindir}/vim %{buildroot}/bin/vi
|
||||||
|
ln -s -f %{_bindir}/vim %{buildroot}/bin/vim
|
||||||
|
%endif
|
||||||
|
ln -s -f vim %{buildroot}%{_bindir}/edit
|
||||||
|
%if 0%{?suse_version} < 1550
|
||||||
|
ln -s -f %{_bindir}/vim %{buildroot}/bin/ex
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# man pages
|
||||||
|
ln -s -f vim.1.gz %{buildroot}%{_mandir}/man1/vi.1.gz
|
||||||
|
ln -s -f vim.1.gz %{buildroot}%{_mandir}/man1/ex.1.gz
|
||||||
|
|
||||||
|
# vitmp
|
||||||
|
install -m 0755 vitmp %{buildroot}%{_bindir}/vitmp
|
||||||
|
install -m 0644 %{SOURCE14} %{buildroot}%{_mandir}/man1/vitmp.1
|
||||||
|
install -m 0755 %{SOURCE15} %{buildroot}%{_datadir}/vim/%{VIM_SUBDIR}/tools/vim132
|
||||||
|
|
||||||
|
# make the vim settings more generic
|
||||||
|
ln -s -f %{VIM_SUBDIR} %{buildroot}%{_datadir}/vim/current
|
||||||
|
|
||||||
|
# additional files
|
||||||
|
install -D -m 0644 %{SOURCE3} %{buildroot}%{_datadir}/vim/current/suse.vimrc
|
||||||
|
#install -D -m 0644 /dev/null %{buildroot}%{_sysconfdir}/vimrc
|
||||||
|
install -D -m 0644 %{SOURCE8} %{buildroot}%{_sysconfdir}/gvimrc
|
||||||
|
|
||||||
|
# create site wide runtime directory
|
||||||
|
mkdir -p -m 0755 %{buildroot}%{site_runtimepath}/after
|
||||||
|
mkdir -m 0755 %{buildroot}%{site_runtimepath}/autoload
|
||||||
|
mkdir -m 0755 %{buildroot}%{site_runtimepath}/colors
|
||||||
|
mkdir -m 0755 %{buildroot}%{site_runtimepath}/doc
|
||||||
|
mkdir -m 0755 %{buildroot}%{site_runtimepath}/plugin
|
||||||
|
mkdir -m 0755 %{buildroot}%{site_runtimepath}/syntax
|
||||||
|
mkdir -m 0755 %{buildroot}%{site_runtimepath}/ftdetect
|
||||||
|
mkdir -m 0755 %{buildroot}%{site_runtimepath}/after/syntax
|
||||||
|
mkdir -m 0755 %{buildroot}%{_datadir}/vim/current/skeletons
|
||||||
|
mkdir -m 0755 %{buildroot}%{_sysconfdir}/skel
|
||||||
|
|
||||||
|
# install spec helper
|
||||||
|
install -m 0644 %{SOURCE20} %{buildroot}%{_datadir}/vim/current/skeletons/skeleton.spec
|
||||||
|
install -m 0644 %{SOURCE21} %{buildroot}%{_datadir}/vim/current/plugin/spec.vim
|
||||||
|
|
||||||
|
# desktop file for gvim
|
||||||
|
install -D -m 0644 %{SOURCE19} %{buildroot}%{_datadir}/applications/gvim.desktop
|
||||||
|
%suse_update_desktop_file gvim Utility TextEditor
|
||||||
|
|
||||||
|
#
|
||||||
|
# documentation
|
||||||
|
install -d -m 0755 %{buildroot}%{_docdir}/{,g}vim/
|
||||||
|
install -D -m 0644 \
|
||||||
|
vimrc_example1 vimrc_example2 suse.vimrc \
|
||||||
|
README.txt READMEdir/README_src.txt READMEdir/README_unix.txt \
|
||||||
|
%{buildroot}%{_docdir}/vim/
|
||||||
|
# gvim
|
||||||
|
install -D -m 0644 \
|
||||||
|
README.Japanese-XIM runtime/gvimrc_example.vim suse.gvimrc \
|
||||||
|
%{buildroot}%{_docdir}/gvim/
|
||||||
|
|
||||||
|
# remove unecessary duplicate manpages
|
||||||
|
rm -rf %{buildroot}%{_mandir}/fr.ISO8859-1/
|
||||||
|
rm -rf %{buildroot}%{_mandir}/fr.UTF-8/
|
||||||
|
rm -rf %{buildroot}%{_mandir}/pl.ISO8859-2/
|
||||||
|
rm -rf %{buildroot}%{_mandir}/pl.UTF-8/
|
||||||
|
rm -rf %{buildroot}%{_mandir}/ru.KOI8-R/
|
||||||
|
rm -rf %{buildroot}%{_mandir}/it.ISO8859-1/
|
||||||
|
rm -rf %{buildroot}%{_mandir}/it.UTF-8/
|
||||||
|
rm -rf %{buildroot}%{_mandir}/da.UTF-8/
|
||||||
|
rm -rf %{buildroot}%{_mandir}/de.UTF-8/
|
||||||
|
rm -rf %{buildroot}%{_mandir}/da.ISO8859-1/
|
||||||
|
rm -rf %{buildroot}%{_mandir}/de.ISO8859-1/
|
||||||
|
rm -Rf %{buildroot}%{_mandir}/tr.ISO8859-9/
|
||||||
|
rm -Rf %{buildroot}%{_mandir}/tr.UTF-8/
|
||||||
|
|
||||||
|
# remove unnecessary files
|
||||||
|
rm -rf %{buildroot}%{_datadir}/applications/vim.desktop
|
||||||
|
rm -rf %{buildroot}%{_datadir}/icons/locolor
|
||||||
|
|
||||||
|
# and move russian manpages to a place where they can be found
|
||||||
|
mv %{buildroot}%{_mandir}/ru.UTF-8 %{buildroot}%{_mandir}/ru
|
||||||
|
|
||||||
|
# remove some c source files
|
||||||
|
rm -f %{buildroot}%{_datadir}/vim/%{VIM_SUBDIR}/tools/*.c
|
||||||
|
rm -f %{buildroot}%{_datadir}/vim/%{VIM_SUBDIR}/macros/maze/*.c
|
||||||
|
|
||||||
|
# Remove sample server to avoid python dependency
|
||||||
|
rm %{buildroot}%{_datadir}/vim/%{VIM_SUBDIR}/tools/demoserver.py
|
||||||
|
|
||||||
|
# Create ghost files (see vim.conf)
|
||||||
|
mkdir -p %{buildroot}%{_localstatedir}/run/vi.recover
|
||||||
|
|
||||||
|
%fdupes -s %{buildroot}%{_datadir}/vim/%{VIM_SUBDIR}/lang
|
||||||
|
%fdupes -s %{buildroot}%{_datadir}/vim/%{VIM_SUBDIR}/tutor
|
||||||
|
%fdupes -s %{buildroot}%{_datadir}/vim/%{VIM_SUBDIR}/ftplugin
|
||||||
|
|
||||||
|
sed -i "s@%{_bindir}/env perl@%{_bindir}/perl@" %{buildroot}%{_datadir}/vim/%{VIM_SUBDIR}/tools/*.pl
|
||||||
|
sed -i "s@%{_bindir}/env perl@%{_bindir}/perl@" %{buildroot}%{_datadir}/vim/%{VIM_SUBDIR}/doc/vim2html.pl
|
||||||
|
|
||||||
|
%if %{with libalternatives}
|
||||||
|
# with libalternatives
|
||||||
|
%pre
|
||||||
|
# removing old update-alternatives entries
|
||||||
|
if [ "$1" -gt 0 ] && [ -f %{_sbindir}/update-alternatives ] && [ ! -e %{_bindir}/vim-nox11 ]; then
|
||||||
|
%{_sbindir}/update-alternatives --remove vim %{_bindir}/vim-nox11
|
||||||
|
fi
|
||||||
|
|
||||||
|
%pre -n gvim
|
||||||
|
if [ "$1" -gt 0 ] && [ -f %{_sbindir}/update-alternatives ] && [ ! -e %{_bindir}/gvim ] ; then
|
||||||
|
%{_sbindir}/update-alternatives --remove vim %{_bindir}/gvim
|
||||||
|
fi
|
||||||
|
|
||||||
|
%pre small
|
||||||
|
if [ "$1" -gt 0 ] && [ -f %{_sbindir}/update-alternatives ] && [ ! -e %{_bindir}/vim-small ]; then
|
||||||
|
%{_sbindir}/update-alternatives --remove vim %{_bindir}/vim-small
|
||||||
|
fi
|
||||||
|
|
||||||
|
%if 0%{?suse_version} <= 1315
|
||||||
|
%post -n gvim
|
||||||
|
%icon_theme_cache_post
|
||||||
|
|
||||||
|
%postun -n gvim
|
||||||
|
%icon_theme_cache_postun
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%else
|
||||||
|
|
||||||
|
# without libalternatives
|
||||||
|
%post
|
||||||
|
%{_sbindir}/update-alternatives \
|
||||||
|
--install %{_bindir}/vim vim %{_bindir}/vim-nox11 20 \
|
||||||
|
--slave %{_bindir}/vi vi %{_bindir}/vim-nox11
|
||||||
|
|
||||||
|
%postun
|
||||||
|
if [ ! -e %{_bindir}/vim-nox11 ] ; then
|
||||||
|
%{_sbindir}/update-alternatives --remove vim %{_bindir}/vim-nox11
|
||||||
|
fi
|
||||||
|
|
||||||
|
%post -n gvim
|
||||||
|
%{_sbindir}/update-alternatives \
|
||||||
|
--install %{_bindir}/vim vim %{_bindir}/gvim 30 \
|
||||||
|
--slave %{_bindir}/vi vi %{_bindir}/gvim
|
||||||
|
%if 0%{?suse_version} <= 1315
|
||||||
|
%icon_theme_cache_post
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%postun -n gvim
|
||||||
|
if [ ! -e %{_bindir}/gvim ] ; then
|
||||||
|
%{_sbindir}/update-alternatives --remove vim %{_bindir}/gvim
|
||||||
|
fi
|
||||||
|
%if 0%{?suse_version} <= 1315
|
||||||
|
%icon_theme_cache_postun
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%post small
|
||||||
|
%{_sbindir}/update-alternatives \
|
||||||
|
--install %{_bindir}/vim vim %{_bindir}/vim-small 19 \
|
||||||
|
--slave %{_bindir}/vi vi %{_bindir}/vim-small
|
||||||
|
|
||||||
|
%postun small
|
||||||
|
if [ ! -e %{_bindir}/vim-small ] ; then
|
||||||
|
%{_sbindir}/update-alternatives --remove vim %{_bindir}/vim-small
|
||||||
|
fi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%files
|
||||||
|
%if ! %{with libalternatives}
|
||||||
|
%ghost %{_sysconfdir}/alternatives/vim
|
||||||
|
%ghost %{_sysconfdir}/alternatives/vi
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/vi
|
||||||
|
%{_datadir}/libalternatives/vi/20.conf
|
||||||
|
%dir %{_datadir}/libalternatives/vim
|
||||||
|
%{_datadir}/libalternatives/vim/20.conf
|
||||||
|
%dir %{_datadir}/libalternatives/rvim
|
||||||
|
%{_datadir}/libalternatives/rvim/20.conf
|
||||||
|
%dir %{_datadir}/libalternatives/view
|
||||||
|
%{_datadir}/libalternatives/view/20.conf
|
||||||
|
%dir %{_datadir}/libalternatives/rview
|
||||||
|
%{_datadir}/libalternatives/rview/20.conf
|
||||||
|
%dir %{_datadir}/libalternatives/ex
|
||||||
|
%{_datadir}/libalternatives/ex/20.conf
|
||||||
|
%dir %{_datadir}/libalternatives/edit
|
||||||
|
%{_datadir}/libalternatives/edit/20.conf
|
||||||
|
%dir %{_datadir}/libalternatives/vimdiff
|
||||||
|
%{_datadir}/libalternatives/vimdiff/20.conf
|
||||||
|
%endif
|
||||||
|
%{_bindir}/vim-nox11
|
||||||
|
%{_bindir}/vim
|
||||||
|
# symlinks
|
||||||
|
%if 0%{?suse_version} < 1550
|
||||||
|
/bin/vi
|
||||||
|
/bin/vim
|
||||||
|
/bin/ex
|
||||||
|
%endif
|
||||||
|
%{_bindir}/edit
|
||||||
|
%{_bindir}/ex
|
||||||
|
%{_bindir}/rview
|
||||||
|
%{_bindir}/rvim
|
||||||
|
%{_bindir}/vi
|
||||||
|
%{_bindir}/view
|
||||||
|
%{_bindir}/vimdiff
|
||||||
|
# additional binaries
|
||||||
|
%{_bindir}/vitmp
|
||||||
|
%{_bindir}/vimtutor
|
||||||
|
%{_bindir}/gvimtutor
|
||||||
|
# man pages
|
||||||
|
%{_mandir}/man1/eview.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/evim.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/ex.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/gview.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/gvim.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/gvimdiff.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/rgview.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/rgvim.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/rview.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/rvim.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/vi.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/view.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/vim.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/vimdiff.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/vimtutor.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/vitmp.1%{?ext_man}
|
||||||
|
%dir %{_mandir}/da
|
||||||
|
%dir %{_mandir}/da/man1/
|
||||||
|
%{_mandir}/da/man1/*.1%{?ext_man}
|
||||||
|
%dir %{_mandir}/de
|
||||||
|
%dir %{_mandir}/de/man1/
|
||||||
|
%{_mandir}/de/man1/*.1%{?ext_man}
|
||||||
|
%dir %{_mandir}/fr
|
||||||
|
%dir %{_mandir}/fr/man1/
|
||||||
|
%{_mandir}/fr/man1/*.1%{?ext_man}
|
||||||
|
%dir %{_mandir}/it
|
||||||
|
%dir %{_mandir}/it/man1/
|
||||||
|
%{_mandir}/it/man1/*.1%{?ext_man}
|
||||||
|
%dir %{_mandir}/ru
|
||||||
|
%dir %{_mandir}/ru/man1/
|
||||||
|
%{_mandir}/ru/man1/*.1%{?ext_man}
|
||||||
|
%dir %{_mandir}/pl
|
||||||
|
%dir %{_mandir}/pl/man1/
|
||||||
|
%{_mandir}/pl/man1/*.1%{?ext_man}
|
||||||
|
%dir %{_mandir}/ja
|
||||||
|
%dir %{_mandir}/ja/man1/
|
||||||
|
%{_mandir}/ja/man1/*.1%{?ext_man}
|
||||||
|
%dir %{_mandir}/tr
|
||||||
|
%dir %{_mandir}/tr/man1/
|
||||||
|
%{_mandir}/tr/man1/*.1%{?ext_man}
|
||||||
|
|
||||||
|
# docs and data file
|
||||||
|
%license LICENSE
|
||||||
|
%doc %{_docdir}/vim
|
||||||
|
#
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/colors/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/compiler/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/doc/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/ftplugin/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/indent/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/import/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/import/dist/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/keymap/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/lang/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/macros/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/pack/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/plugin/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/print/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/spell/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/syntax/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/tools/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/tutor/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/skeletons/
|
||||||
|
%dir %{site_runtimepath}
|
||||||
|
%dir %{site_runtimepath}/autoload/
|
||||||
|
%dir %{site_runtimepath}/colors/
|
||||||
|
%dir %{site_runtimepath}/doc/
|
||||||
|
%dir %{site_runtimepath}/plugin/
|
||||||
|
%dir %{site_runtimepath}/syntax/
|
||||||
|
%dir %{site_runtimepath}/ftdetect/
|
||||||
|
%dir %{site_runtimepath}/after/
|
||||||
|
%dir %{site_runtimepath}/after/syntax/
|
||||||
|
|
||||||
|
%files data
|
||||||
|
# exclude common files
|
||||||
|
%exclude %{_datadir}/vim/%{VIM_SUBDIR}/autoload/dist/ft.vim
|
||||||
|
%exclude %{_datadir}/vim/%{VIM_SUBDIR}/autoload/dist/script.vim
|
||||||
|
%exclude %{_datadir}/vim/%{VIM_SUBDIR}/colors/lists/default.vim
|
||||||
|
%exclude %{_datadir}/vim/%{VIM_SUBDIR}/syntax/nosyntax.vim
|
||||||
|
%exclude %{_datadir}/vim/%{VIM_SUBDIR}/syntax/resolv.vim
|
||||||
|
%exclude %{_datadir}/vim/%{VIM_SUBDIR}/syntax/sh.vim
|
||||||
|
%exclude %{_datadir}/vim/%{VIM_SUBDIR}/syntax/syncolor.vim
|
||||||
|
%exclude %{_datadir}/vim/%{VIM_SUBDIR}/syntax/synload.vim
|
||||||
|
%exclude %{_datadir}/vim/%{VIM_SUBDIR}/syntax/syntax.vim
|
||||||
|
%exclude %{_datadir}/vim/%{VIM_SUBDIR}/syntax/vim.vim
|
||||||
|
# data files
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/autoload/*
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/colors/*
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/compiler/*
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/doc/*
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/ftplugin/*
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/indent/*
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/import/dist/*
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/keymap/*
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/lang/*
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/macros/*
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/pack/*
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/plugin/*
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/print/*
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/skeletons/*
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/spell/*
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/syntax/*
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/tools/*
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/tutor/*
|
||||||
|
|
||||||
|
%files data-common
|
||||||
|
# we can't currently own /etc/vimrc. If we keep owning it, an
|
||||||
|
# existing, unmodified vimrc would not be removed. That results in a
|
||||||
|
# duplicated definition of SKEL_spec().
|
||||||
|
# see also https://github.com/rpm-software-management/rpm/issues/1296
|
||||||
|
#%ghost %config(noreplace) %{_sysconfdir}/vimrc
|
||||||
|
%{_datadir}/vim/current
|
||||||
|
%dir %{_datadir}/vim/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/autoload/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/autoload/dist/
|
||||||
|
%dir %{_datadir}/vim/%{VIM_SUBDIR}/syntax/
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/suse.vimrc
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/autoload/dist/ft.vim
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/autoload/dist/script.vim
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/colors/lists/default.vim
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/syntax/nosyntax.vim
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/syntax/resolv.vim
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/syntax/sh.vim
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/syntax/syncolor.vim
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/syntax/synload.vim
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/syntax/syntax.vim
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/syntax/vim.vim
|
||||||
|
%{_datadir}/vim/%{VIM_SUBDIR}/*.vim
|
||||||
|
|
||||||
|
%files -n gvim
|
||||||
|
%doc runtime/doc/gui_x11.txt
|
||||||
|
%ghost %config(missingok) %{_sysconfdir}/gvimrc
|
||||||
|
%if ! %{with libalternatives}
|
||||||
|
%ghost %{_sysconfdir}/alternatives/vim
|
||||||
|
%ghost %{_sysconfdir}/alternatives/vi
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/vi
|
||||||
|
%{_datadir}/libalternatives/vi/30.conf
|
||||||
|
%dir %{_datadir}/libalternatives/vim
|
||||||
|
%{_datadir}/libalternatives/vim/30.conf
|
||||||
|
%dir %{_datadir}/libalternatives/rvim
|
||||||
|
%{_datadir}/libalternatives/rvim/30.conf
|
||||||
|
%dir %{_datadir}/libalternatives/view
|
||||||
|
%{_datadir}/libalternatives/view/30.conf
|
||||||
|
%dir %{_datadir}/libalternatives/rview
|
||||||
|
%{_datadir}/libalternatives/rview/30.conf
|
||||||
|
%dir %{_datadir}/libalternatives/eview
|
||||||
|
%{_datadir}/libalternatives/eview/30.conf
|
||||||
|
%dir %{_datadir}/libalternatives/ex
|
||||||
|
%{_datadir}/libalternatives/ex/30.conf
|
||||||
|
%dir %{_datadir}/libalternatives/edit
|
||||||
|
%{_datadir}/libalternatives/edit/30.conf
|
||||||
|
%dir %{_datadir}/libalternatives/vimdiff
|
||||||
|
%{_datadir}/libalternatives/vimdiff/30.conf
|
||||||
|
%dir %{_datadir}/libalternatives/egvim
|
||||||
|
%{_datadir}/libalternatives/egvim/30.conf
|
||||||
|
%dir %{_datadir}/libalternatives/egview
|
||||||
|
%{_datadir}/libalternatives/egview/30.conf
|
||||||
|
%dir %{_datadir}/libalternatives/evim
|
||||||
|
%{_datadir}/libalternatives/evim/30.conf
|
||||||
|
%dir %{_datadir}/libalternatives/gex
|
||||||
|
%{_datadir}/libalternatives/gex/30.conf
|
||||||
|
%dir %{_datadir}/libalternatives/gvi
|
||||||
|
%{_datadir}/libalternatives/gvi/30.conf
|
||||||
|
%dir %{_datadir}/libalternatives/gview
|
||||||
|
%{_datadir}/libalternatives/gview/30.conf
|
||||||
|
%dir %{_datadir}/libalternatives/gvimdiff
|
||||||
|
%{_datadir}/libalternatives/gvimdiff/30.conf
|
||||||
|
%dir %{_datadir}/libalternatives/rgvim
|
||||||
|
%{_datadir}/libalternatives/rgvim/30.conf
|
||||||
|
%dir %{_datadir}/libalternatives/rgview
|
||||||
|
%{_datadir}/libalternatives/rgview/30.conf
|
||||||
|
%endif
|
||||||
|
%{_bindir}/vi
|
||||||
|
%{_bindir}/vim
|
||||||
|
%{_bindir}/egview
|
||||||
|
%{_bindir}/egvim
|
||||||
|
%{_bindir}/eview
|
||||||
|
%{_bindir}/evim
|
||||||
|
%{_bindir}/gex
|
||||||
|
%{_bindir}/gvi
|
||||||
|
%{_bindir}/gview
|
||||||
|
%{_bindir}/gvim
|
||||||
|
%{_bindir}/gvimdiff
|
||||||
|
%{_bindir}/rgview
|
||||||
|
%{_bindir}/rgvim
|
||||||
|
# menu icon
|
||||||
|
%{_datadir}/applications/gvim.desktop
|
||||||
|
%{_datadir}/icons/hicolor/*/apps/gvim.*
|
||||||
|
%doc %{_docdir}/gvim
|
||||||
|
|
||||||
|
%files small
|
||||||
|
%license LICENSE
|
||||||
|
%if ! %{with libalternatives}
|
||||||
|
%ghost %{_sysconfdir}/alternatives/vim
|
||||||
|
%ghost %{_sysconfdir}/alternatives/vi
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/vi
|
||||||
|
%{_datadir}/libalternatives/vi/19.conf
|
||||||
|
%dir %{_datadir}/libalternatives/vim
|
||||||
|
%{_datadir}/libalternatives/vim/19.conf
|
||||||
|
%endif
|
||||||
|
%{_bindir}/vi
|
||||||
|
%{_bindir}/vim
|
||||||
|
%{_bindir}/vim-small
|
||||||
|
|
||||||
|
%files -n xxd
|
||||||
|
%license LICENSE
|
||||||
|
%{_bindir}/xxd
|
||||||
|
%{_mandir}/man1/xxd.1%{?ext_man}
|
||||||
|
|
||||||
|
%changelog
|
10
vim132
Normal file
10
vim132
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Shell script for use with UNIX
|
||||||
|
# Starts up Vim with the terminal in 132 column mode
|
||||||
|
# Only works on VT-100 terminals and lookalikes
|
||||||
|
# You need to have a termcap entry "vt100-w". Same as vt100 but 132 columns.
|
||||||
|
#
|
||||||
|
echo "[?3h"
|
||||||
|
TERM=vt100-w vim "$@"
|
||||||
|
echo "[?3l"
|
13
vim73-no-static-libpython.patch
Normal file
13
vim73-no-static-libpython.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
Index: vim-8.2.2411/src/configure.ac
|
||||||
|
===================================================================
|
||||||
|
--- vim-8.2.2411.orig/src/configure.ac
|
||||||
|
+++ vim-8.2.2411/src/configure.ac
|
||||||
|
@@ -1289,7 +1289,7 @@ eof
|
||||||
|
vi_cv_path_python_plibs="-F${python_PYTHONFRAMEWORKPREFIX} -framework Python"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
- vi_cv_path_python_plibs="-L${PYTHON_CONFDIR} -lpython${vi_cv_var_python_version}"
|
||||||
|
+ vi_cv_path_python_plibs="-lpython${vi_cv_var_python_version}"
|
||||||
|
dnl -- Check if the path contained in python_LINKFORSHARED is
|
||||||
|
dnl usable for vim build. If not, make and try other
|
||||||
|
dnl candidates.
|
161
vimrc_example1
Normal file
161
vimrc_example1
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
" Vim
|
||||||
|
" An example for a vimrc file.
|
||||||
|
"
|
||||||
|
" To use it, copy it to
|
||||||
|
" for Unix and OS/2: ~/.vimrc
|
||||||
|
" for Amiga: s:.vimrc
|
||||||
|
" for MS-DOS and Win32: $VIM\_vimrc
|
||||||
|
|
||||||
|
set nocompatible " Use Vim defaults (much better!)
|
||||||
|
set bs=2 " allow backspacing over everything in insert mode
|
||||||
|
set ai " always set autoindenting on
|
||||||
|
set backup " keep a backup file
|
||||||
|
set viminfo='20,\"50 " read/write a .viminfo file, don't store more
|
||||||
|
" than 50 lines of registers
|
||||||
|
|
||||||
|
|
||||||
|
:set showmatch " jump emacs style to matching bracket
|
||||||
|
|
||||||
|
"these characters can move past end of line
|
||||||
|
:set whichwrap=b,s,h,l
|
||||||
|
|
||||||
|
"default tabs are too wide IMO. uncomment to change them
|
||||||
|
" :set tabstop=6
|
||||||
|
|
||||||
|
|
||||||
|
" In text files, always limit the width of text to 78 characters
|
||||||
|
autocmd BufRead *.txt set tw=78
|
||||||
|
|
||||||
|
" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries
|
||||||
|
" let &guioptions = substitute(&guioptions, "t", "", "g")
|
||||||
|
|
||||||
|
" Don't use Ex mode, use Q for formatting
|
||||||
|
map Q gq
|
||||||
|
|
||||||
|
" Switch syntax highlighting on, when the terminal has colors
|
||||||
|
" Also switch on highlighting the last used search pattern.
|
||||||
|
if &t_Co > 2 || has("gui_running")
|
||||||
|
syntax on
|
||||||
|
set hlsearch
|
||||||
|
endif
|
||||||
|
|
||||||
|
augroup cprog
|
||||||
|
" Remove all cprog autocommands
|
||||||
|
au!
|
||||||
|
|
||||||
|
" When starting to edit a file:
|
||||||
|
" For *.c and *.h files set formatting of comments and set C-indenting on.
|
||||||
|
" For other files switch it off.
|
||||||
|
" Don't change the order, it's important that the line with * comes first.
|
||||||
|
autocmd BufRead * set formatoptions=tcql nocindent comments&
|
||||||
|
autocmd BufRead *.c,*.h set formatoptions=croql cindent comments=sr:/*,mb:*,el:*/,://
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
augroup gzip
|
||||||
|
" Remove all gzip autocommands
|
||||||
|
au!
|
||||||
|
|
||||||
|
" Enable editing of gzipped files
|
||||||
|
" read: set binary mode before reading the file
|
||||||
|
" uncompress text in buffer after reading
|
||||||
|
" write: compress file after writing
|
||||||
|
" append: uncompress file, append, compress file
|
||||||
|
autocmd BufReadPre,FileReadPre *.gz set bin
|
||||||
|
autocmd BufReadPost,FileReadPost *.gz let ch_save = &ch|set ch=2
|
||||||
|
autocmd BufReadPost,FileReadPost *.gz '[,']!gunzip
|
||||||
|
autocmd BufReadPost,FileReadPost *.gz set nobin
|
||||||
|
autocmd BufReadPost,FileReadPost *.gz let &ch = ch_save|unlet ch_save
|
||||||
|
autocmd BufReadPost,FileReadPost *.gz execute ":doautocmd BufReadPost " . expand("%:r")
|
||||||
|
|
||||||
|
autocmd BufWritePost,FileWritePost *.gz !mv <afile> <afile>:r
|
||||||
|
autocmd BufWritePost,FileWritePost *.gz !gzip <afile>:r
|
||||||
|
|
||||||
|
autocmd FileAppendPre *.gz !gunzip <afile>
|
||||||
|
autocmd FileAppendPre *.gz !mv <afile>:r <afile>
|
||||||
|
autocmd FileAppendPost *.gz !mv <afile> <afile>:r
|
||||||
|
autocmd FileAppendPost *.gz !gzip <afile>:r
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
|
||||||
|
"let bash_is_sh = 1
|
||||||
|
"let is_bash = 1
|
||||||
|
|
||||||
|
" Uncomment to turn off arrow keys. Using arrow keys is a good habit to
|
||||||
|
" get out of ...
|
||||||
|
|
||||||
|
":map <left> <Nop>
|
||||||
|
":map <right> <Nop>
|
||||||
|
":map <up> <Nop>
|
||||||
|
":map <down> <Nop>
|
||||||
|
|
||||||
|
":imap <left> <Nop>
|
||||||
|
":imap <right> <Nop>
|
||||||
|
":imap <up> <Nop>
|
||||||
|
":imap <down> <Nop>
|
||||||
|
|
||||||
|
" Some emacs/pico like keybindings for insert mode
|
||||||
|
|
||||||
|
":imap <C-A> <ESC>0i
|
||||||
|
":imap <C-E> <ESC>$a
|
||||||
|
":imap <C-P> <ESC>ki
|
||||||
|
":imap <C-N> <ESC>ji
|
||||||
|
":imap <C-B> <ESC>la
|
||||||
|
":imap <C-F> <ESC>ha
|
||||||
|
|
||||||
|
" Some highlighting definitions
|
||||||
|
|
||||||
|
" THis is the default.
|
||||||
|
" Doesn't use colours wisely IMO. Consider changing Repeat and Conditional
|
||||||
|
" to make them stand out a little better.
|
||||||
|
|
||||||
|
" There are two sets of defaults: for a dark and a light background.
|
||||||
|
if &background == "dark"
|
||||||
|
hi Comment term=bold ctermfg=Cyan guifg=#80a0ff
|
||||||
|
hi Constant term=underline ctermfg=Magenta guifg=#ffa0a0
|
||||||
|
hi Special term=bold ctermfg=LightRed guifg=Orange
|
||||||
|
hi Identifier term=underline cterm=bold ctermfg=Cyan guifg=#40ffff
|
||||||
|
hi Statement term=bold ctermfg=Yellow guifg=#ffff60 gui=bold
|
||||||
|
hi PreProc term=underline ctermfg=LightBlue guifg=#ff80ff
|
||||||
|
hi Type term=underline ctermfg=LightGreen guifg=#60ff60 gui=bold
|
||||||
|
hi Ignore ctermfg=black guifg=bg
|
||||||
|
else
|
||||||
|
hi Comment term=bold ctermfg=DarkBlue guifg=Blue
|
||||||
|
hi Constant term=underline ctermfg=DarkRed guifg=Magenta
|
||||||
|
hi Special term=bold ctermfg=DarkMagenta guifg=SlateBlue
|
||||||
|
hi Identifier term=underline ctermfg=DarkCyan guifg=DarkCyan
|
||||||
|
hi Statement term=bold ctermfg=Brown gui=bold guifg=Brown
|
||||||
|
hi PreProc term=underline ctermfg=DarkMagenta guifg=Purple
|
||||||
|
hi Type term=underline ctermfg=DarkGreen guifg=SeaGreen gui=bold
|
||||||
|
hi Ignore ctermfg=white guifg=bg
|
||||||
|
endif
|
||||||
|
hi Error term=reverse ctermbg=Red ctermfg=White guibg=Red guifg=White
|
||||||
|
hi Todo term=standout ctermbg=Yellow ctermfg=Black guifg=Blue guibg=Yellow
|
||||||
|
|
||||||
|
" Common groups that link to default highlighting.
|
||||||
|
" You can specify other highlighting easily.
|
||||||
|
hi link String Constant
|
||||||
|
hi link Character Constant
|
||||||
|
hi link Number Constant
|
||||||
|
hi link Boolean Constant
|
||||||
|
hi link Float Number
|
||||||
|
hi link Function Identifier
|
||||||
|
hi link Conditional Statement
|
||||||
|
hi link Repeat Statement
|
||||||
|
hi link Label Statement
|
||||||
|
hi link Operator Statement
|
||||||
|
hi link Keyword Statement
|
||||||
|
hi link Exception Statement
|
||||||
|
hi link Include PreProc
|
||||||
|
hi link Define PreProc
|
||||||
|
hi link Macro PreProc
|
||||||
|
hi link PreCondit PreProc
|
||||||
|
hi link StorageClass Type
|
||||||
|
hi link Structure Type
|
||||||
|
hi link Typedef Type
|
||||||
|
hi link Tag Special
|
||||||
|
hi link SpecialChar Special
|
||||||
|
hi link Delimiter Special
|
||||||
|
hi link SpecialComment Special
|
||||||
|
hi link Debug Special
|
||||||
|
|
||||||
|
|
1530
vimrc_example2
Normal file
1530
vimrc_example2
Normal file
File diff suppressed because it is too large
Load Diff
38
vitmp.1
Normal file
38
vitmp.1
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
.\" $Id: vitmp.1,v 1.2 2002/10/12 12:03:51 solar Exp $
|
||||||
|
.TH VITMP 1 "25 April 2002" "Openwall Project"
|
||||||
|
.SH NAME
|
||||||
|
vitmp \- edit temporary files
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B vitmp
|
||||||
|
.RI [ "VIM options" "] " FILE ...
|
||||||
|
.SH DESCRIPTION
|
||||||
|
.B vitmp
|
||||||
|
is a wrapper around the VIM editor which may be used to invoke the
|
||||||
|
editor in a way that is guaranteed to be suitable for editing temporary
|
||||||
|
files used with programs such as
|
||||||
|
.BR crontab (1)
|
||||||
|
and
|
||||||
|
.BR edquota (8).
|
||||||
|
The instance of the editor that is invoked is
|
||||||
|
.IR /bin/vi .
|
||||||
|
.PP
|
||||||
|
In particular, it is guaranteed that the file, if edited, will be
|
||||||
|
overwritten in place such that the modified contents may be read back
|
||||||
|
via a previously obtained file descriptor. Invoking the editor via
|
||||||
|
.B vitmp
|
||||||
|
also makes sure that no additional editor temporary files are used.
|
||||||
|
.PP
|
||||||
|
Please note that
|
||||||
|
.B vitmp
|
||||||
|
offers no crash recovery capabilities. If the editor crashes during
|
||||||
|
the overwrite, data may be lost.
|
||||||
|
.SH HISTORY
|
||||||
|
.B vitmp
|
||||||
|
first appeared in Openwall GNU/*/Linux 1.0.
|
||||||
|
.SH AUTHORS
|
||||||
|
Solar Designer <solar@owl.openwall.com>
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR crontab (1),
|
||||||
|
.BR vi (1),
|
||||||
|
.BR vim (1),
|
||||||
|
.BR edquota (8)
|
30
vitmp.c
Normal file
30
vitmp.c
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
/*
|
||||||
|
* This is a wrapper around the VIM editor which may be used to invoke
|
||||||
|
* the editor in a way that is guaranteed to be suitable for editing
|
||||||
|
* temporary files used with programs such as crontab(1) and edquota(8).
|
||||||
|
*
|
||||||
|
* Written by Solar Designer <solar@owl.openwall.com> and placed in the
|
||||||
|
* public domain.
|
||||||
|
*
|
||||||
|
* $Id: vitmp.c,v 1.2 2002/04/24 23:11:34 solar Exp $
|
||||||
|
*/
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
int main(int argc, const char * const *argv)
|
||||||
|
{
|
||||||
|
char *newargv[argc + 4]; /* GNU C */
|
||||||
|
|
||||||
|
newargv[0] = "/bin/vi";
|
||||||
|
/* No swap files, use memory only */
|
||||||
|
newargv[1] = "-n";
|
||||||
|
/* Don't make a backup before overwriting a file */
|
||||||
|
newargv[2] = "-c"; newargv[3] = "set nowritebackup";
|
||||||
|
memcpy(&newargv[4], &argv[1], argc * sizeof(char *));
|
||||||
|
|
||||||
|
execv(newargv[0], newargv);
|
||||||
|
perror("execv");
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user