Accepting request 1190646 from home:cboltz:branches:editors
- Update apparmor.vim to latest version (from AppArmor 4.0.2) - add support for "all" and "userns" rules, and new profile flags OBS-URL: https://build.opensuse.org/request/show/1190646 OBS-URL: https://build.opensuse.org/package/show/editors/vim?expand=0&rev=863
This commit is contained in:
commit
e67ab2a476
25
.gitattributes
vendored
Normal file
25
.gitattributes
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
## 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
|
||||
## Specific LFS patterns
|
||||
gvim.svg filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
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>
|
294
apparmor.vim
Normal file
294
apparmor.vim
Normal file
@ -0,0 +1,294 @@
|
||||
" 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-2023 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.
|
||||
"
|
||||
" If you want to report a bug for apparmor.vim, please do so at
|
||||
" - https://gitlab.com/apparmor/apparmor/ or
|
||||
" - https://bugzilla.opensuse.org (assign it to suse-beta[AT]cboltz.de)
|
||||
" ----------------------------------------------------------------------
|
||||
"
|
||||
" 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 sdAll ctermfg=darkred ctermbg=yellow
|
||||
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 sdUserns ctermfg=darkred
|
||||
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 (accidentally ;-) 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 /#.*/
|
||||
|
||||
" List of all (supported) rules inside a profile.
|
||||
" XXX When adding support for a new rule type, also add it here. XXX
|
||||
" XXX Otherwise it will be highlighted as an error. XXX
|
||||
syn cluster sdEntry contains=sdAll,sdEntryWriteExec,sdEntryR,sdEntryW,sdEntryIX,sdEntryPX,sdEntryPXe,sdEntryUX,sdEntryUXe,sdEntryM,sdCap,sdSetCap,sdExtHat,sdRLimit,sdNetwork,sdNetworkDanger,sdEntryChangeProfile,sdUserns
|
||||
|
||||
|
||||
" TODO: support audit and deny keywords for all rules (not only for files)
|
||||
" TODO: highlight audit and deny keywords everywhere
|
||||
|
||||
" 'all' rule
|
||||
syn match sdAll /\v^\s*(audit\s+)?(deny\s+|allow\s+)?all\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||
|
||||
|
||||
" 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
|
||||
|
||||
" userns
|
||||
syn match sdUserns /\v^\s*(audit\s+)?(deny\s+|allow\s+)?userns(\s+create)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude
|
||||
|
||||
" 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|unconfined|audit|attach_disconnected|no_attach_disconnected|chroot_attach|chroot_no_attach|chroot_relative|namespace_relative|mediate_deleted|delegate_deleted)(\s*,\s*(complain|unconfined|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|unconfined|audit|attach_disconnected|no_attach_disconnected|chroot_attach|chroot_no_attach|chroot_relative|namespace_relative|mediate_deleted|delegate_deleted)(\s*,\s*(complain|unconfined|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|unconfined|audit|attach_disconnected|no_attach_disconnected|chroot_attach|chroot_no_attach|chroot_relative|namespace_relative|mediate_deleted|delegate_deleted)(\s*,\s*(complain|unconfined|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|unconfined|audit|attach_disconnected|no_attach_disconnected|chroot_attach|chroot_no_attach|chroot_relative|namespace_relative|mediate_deleted|delegate_deleted)(\s*,\s*(complain|unconfined|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|unconfined|audit|attach_disconnected|no_attach_disconnected|chroot_attach|chroot_no_attach|chroot_relative|namespace_relative|mediate_deleted|delegate_deleted)(\s*,\s*(complain|unconfined|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
|
||||
|
13
gvim.desktop
Normal file
13
gvim.desktop
Normal file
@ -0,0 +1,13 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Name=Vi IMproved
|
||||
Categories=GTK;Application;Utility;TextEditor;
|
||||
Keywords=editor;gvim;vim;
|
||||
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
|
3
gvim.svg
Normal file
3
gvim.svg
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b53a846616930af3f3ec5c8fca0f64e3cb513cf6b129460e4567e5b0fe83b71e
|
||||
size 18168
|
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 -p1
|
||||
|
||||
%build
|
||||
%configure
|
||||
%make_build
|
||||
|
||||
%install
|
||||
%make_install
|
||||
|
||||
%check
|
||||
%make_build check
|
||||
|
||||
%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"
|
56
vim-7.3-filetype_ftl.patch
Normal file
56
vim-7.3-filetype_ftl.patch
Normal file
@ -0,0 +1,56 @@
|
||||
Index: vim-9.1.0330/runtime/filetype.vim
|
||||
===================================================================
|
||||
--- vim-9.1.0330.orig/runtime/filetype.vim
|
||||
+++ vim-9.1.0330/runtime/filetype.vim
|
||||
@@ -2313,6 +2313,10 @@ au BufNewFile,BufRead *.stp setf stp
|
||||
" Standard ML
|
||||
au BufNewFile,BufRead *.sml setf sml
|
||||
|
||||
+" FreeMarker templates
|
||||
+au BufNewFile,BufRead *.ftl setf ftl
|
||||
+
|
||||
+
|
||||
" Sratus VOS command macro
|
||||
au BufNewFile,BufRead *.cm setf voscm
|
||||
|
||||
Index: vim-9.1.0330/runtime/syntax/ftl.vim
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ vim-9.1.0330/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-9.1.0151/runtime/filetype.vim
|
||||
===================================================================
|
||||
--- vim-9.1.0151.orig/runtime/filetype.vim
|
||||
+++ vim-9.1.0151/runtime/filetype.vim
|
||||
@@ -2122,7 +2122,7 @@ au BufRead,BufNewFile *.sol setf solid
|
||||
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-9.1.0151/runtime/syntax/spec.vim
|
||||
===================================================================
|
||||
--- vim-9.1.0151.orig/runtime/syntax/spec.vim
|
||||
+++ vim-9.1.0151/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\|SourceLicense\|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\|SourceLicense\|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\|Freshens\|EssentialFor\)' 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-9.1.0530/src/main.c
|
||||
===================================================================
|
||||
--- vim-9.1.0530.orig/src/main.c
|
||||
+++ vim-9.1.0530/src/main.c
|
||||
@@ -3251,7 +3251,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,
|
3
vim-9.1.0512.tar.gz
Normal file
3
vim-9.1.0512.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:df114f987c6c73d102800dd77416c3018c8dfa61addb7ba05954cabaa1a301d5
|
||||
size 17950920
|
3
vim-9.1.0636.tar.gz
Normal file
3
vim-9.1.0636.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e48a5b0d6f8056ae46ea556b58114e4006daf95d6c8c5e06e33f4601c2e5195e
|
||||
size 18048438
|
17758
vim.changes
Normal file
17758
vim.changes
Normal file
File diff suppressed because it is too large
Load Diff
784
vim.spec
Normal file
784
vim.spec
Normal file
@ -0,0 +1,784 @@
|
||||
#
|
||||
# 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 0636
|
||||
%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
|
||||
Source99: %{name}-7.4-rpmlintrc
|
||||
Patch1: %{name}-7.4-disable_lang_no.patch
|
||||
Patch2: %{name}-7.3-gvimrc_fontset.patch
|
||||
Patch3: %{name}-7.3-sh_is_bash.patch
|
||||
Patch4: %{name}-7.3-filetype_ftl.patch
|
||||
Patch5: %{name}-7.3-use_awk.patch
|
||||
Patch6: %{name}-7.3-name_vimrc.patch
|
||||
Patch7: %{name}-7.3-mktemp_tutor.patch
|
||||
Patch8: %{name}-7.4-filetype_apparmor.patch
|
||||
Patch9: %{name}-7.3-filetype_spec.patch
|
||||
Patch10: %{name}-7.3-filetype_changes.patch
|
||||
Patch11: %{name}-7.4-filetype_mine.patch
|
||||
Patch12: %{name}73-no-static-libpython.patch
|
||||
Patch13: %{name}-8.0.1568-defaults.patch
|
||||
Patch14: %{name}-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 1 -p1
|
||||
%patch -P 2 -p1
|
||||
%patch -P 3 -p1
|
||||
%patch -P 4 -p1
|
||||
%patch -P 5 -p1
|
||||
%patch -P 6 -p1
|
||||
%patch -P 7 -p1
|
||||
cp %{SOURCE23} runtime/syntax/apparmor.vim
|
||||
%patch -P 8 -p1
|
||||
%patch -P 9 -p1
|
||||
%patch -P 10 -p1
|
||||
%patch -P 11 -p1
|
||||
%patch -P 12 -p1
|
||||
%patch -P 13 -p1
|
||||
%patch -P 14 -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