Linux web-conference.aiou.edu.pk 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64
Apache/2.4.41 (Ubuntu)
: 172.16.50.247 | : 18.222.112.2
Cant Read [ /etc/named.conf ]
7.4.3-4ubuntu2.28
appadmin
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
usr /
share /
vim /
vim81 /
ftplugin /
[ HOME SHELL ]
Name
Size
Permission
Action
8th.vim
733
B
-rw-r--r--
README.txt
869
B
-rw-r--r--
a2ps.vim
470
B
-rw-r--r--
aap.vim
716
B
-rw-r--r--
abap.vim
800
B
-rw-r--r--
abaqus.vim
3.31
KB
-rw-r--r--
ada.vim
6.26
KB
-rw-r--r--
alsaconf.vim
438
B
-rw-r--r--
ant.vim
1.31
KB
-rw-r--r--
arch.vim
431
B
-rw-r--r--
art.vim
410
B
-rw-r--r--
aspvbs.vim
1.87
KB
-rw-r--r--
automake.vim
337
B
-rw-r--r--
awk.vim
411
B
-rw-r--r--
bash.vim
474
B
-rw-r--r--
bdf.vim
449
B
-rw-r--r--
bst.vim
333
B
-rw-r--r--
btm.vim
316
B
-rw-r--r--
bzl.vim
2.99
KB
-rw-r--r--
c.vim
1.92
KB
-rw-r--r--
calendar.vim
462
B
-rw-r--r--
cdrdaoconf.vim
383
B
-rw-r--r--
cfg.vim
388
B
-rw-r--r--
ch.vim
472
B
-rw-r--r--
changelog.vim
8.68
KB
-rw-r--r--
chicken.vim
1.62
KB
-rw-r--r--
clojure.vim
3.74
KB
-rw-r--r--
cmake.vim
867
B
-rw-r--r--
cobol.vim
9.31
KB
-rw-r--r--
conf.vim
434
B
-rw-r--r--
config.vim
1.24
KB
-rw-r--r--
context.vim
4.26
KB
-rw-r--r--
cpp.vim
288
B
-rw-r--r--
crm.vim
414
B
-rw-r--r--
cs.vim
802
B
-rw-r--r--
csc.vim
734
B
-rw-r--r--
csh.vim
1.59
KB
-rw-r--r--
css.vim
528
B
-rw-r--r--
cucumber.vim
5
KB
-rw-r--r--
cvsrc.vim
399
B
-rw-r--r--
debchangelog.vim
11.18
KB
-rw-r--r--
debcontrol.vim
1.8
KB
-rw-r--r--
denyhosts.vim
383
B
-rw-r--r--
dictconf.vim
434
B
-rw-r--r--
dictdconf.vim
435
B
-rw-r--r--
diff.vim
355
B
-rw-r--r--
dircolors.vim
431
B
-rw-r--r--
docbk.vim
530
B
-rw-r--r--
dockerfile.vim
356
B
-rw-r--r--
dosbatch.vim
810
B
-rw-r--r--
dosini.vim
458
B
-rw-r--r--
dtd.vim
1.1
KB
-rw-r--r--
dtrace.vim
1.12
KB
-rw-r--r--
dune.vim
506
B
-rw-r--r--
eiffel.vim
3.99
KB
-rw-r--r--
elinks.vim
436
B
-rw-r--r--
erlang.vim
1.77
KB
-rw-r--r--
eruby.vim
4.6
KB
-rw-r--r--
eterm.vim
470
B
-rw-r--r--
falcon.vim
1.31
KB
-rw-r--r--
fetchmail.vim
428
B
-rw-r--r--
flexwiki.vim
1.83
KB
-rw-r--r--
fortran.vim
4.58
KB
-rw-r--r--
framescript.vim
780
B
-rw-r--r--
fvwm.vim
390
B
-rw-r--r--
gdb.vim
293
B
-rw-r--r--
git.vim
1.32
KB
-rw-r--r--
gitcommit.vim
2.18
KB
-rw-r--r--
gitconfig.vim
376
B
-rw-r--r--
gitrebase.vim
1.42
KB
-rw-r--r--
gitsendemail.vim
157
B
-rw-r--r--
go.vim
365
B
-rw-r--r--
gpg.vim
433
B
-rw-r--r--
gprof.vim
939
B
-rw-r--r--
groovy.vim
343
B
-rw-r--r--
group.vim
425
B
-rw-r--r--
grub.vim
434
B
-rw-r--r--
haml.vim
1.84
KB
-rw-r--r--
hamster.vim
1.88
KB
-rw-r--r--
haskell.vim
551
B
-rw-r--r--
help.vim
471
B
-rw-r--r--
hgcommit.vim
363
B
-rw-r--r--
hog.vim
1.36
KB
-rw-r--r--
hostconf.vim
383
B
-rw-r--r--
hostsaccess.vim
436
B
-rw-r--r--
html.vim
1.59
KB
-rw-r--r--
htmldjango.vim
331
B
-rw-r--r--
indent.vim
454
B
-rw-r--r--
initex.vim
1005
B
-rw-r--r--
ishd.vim
1.23
KB
-rw-r--r--
j.vim
3.31
KB
-rw-r--r--
java.vim
1.65
KB
-rw-r--r--
javascript.vim
1.02
KB
-rw-r--r--
javascriptreact.vim
111
B
-rw-r--r--
jproperties.vim
321
B
-rw-r--r--
json.vim
360
B
-rw-r--r--
jsp.vim
1.96
KB
-rw-r--r--
kconfig.vim
703
B
-rw-r--r--
kwt.vim
851
B
-rw-r--r--
ld.vim
470
B
-rw-r--r--
less.vim
502
B
-rw-r--r--
lftp.vim
434
B
-rw-r--r--
libao.vim
440
B
-rw-r--r--
limits.vim
436
B
-rw-r--r--
liquid.vim
1.85
KB
-rw-r--r--
lisp.vim
769
B
-rw-r--r--
logcheck.vim
453
B
-rw-r--r--
loginaccess.vim
442
B
-rw-r--r--
logindefs.vim
440
B
-rw-r--r--
logtalk.dict
3.02
KB
-rw-r--r--
logtalk.vim
416
B
-rw-r--r--
lprolog.vim
1.25
KB
-rw-r--r--
lua.vim
973
B
-rw-r--r--
m4.vim
426
B
-rw-r--r--
mail.vim
1.08
KB
-rw-r--r--
mailaliases.vim
383
B
-rw-r--r--
mailcap.vim
434
B
-rw-r--r--
make.vim
1.02
KB
-rw-r--r--
man.vim
6.36
KB
-rw-r--r--
manconf.vim
444
B
-rw-r--r--
markdown.vim
1.15
KB
-rw-r--r--
matlab.vim
798
B
-rw-r--r--
meson.vim
404
B
-rw-r--r--
mf.vim
3.17
KB
-rw-r--r--
mma.vim
366
B
-rw-r--r--
modconf.vim
477
B
-rw-r--r--
mp.vim
3.63
KB
-rw-r--r--
mplayerconf.vim
472
B
-rw-r--r--
mrxvtrc.vim
798
B
-rw-r--r--
msmessages.vim
1.11
KB
-rw-r--r--
muttrc.vim
467
B
-rw-r--r--
nanorc.vim
447
B
-rw-r--r--
neomuttrc.vim
532
B
-rw-r--r--
netrc.vim
428
B
-rw-r--r--
nroff.vim
217
B
-rw-r--r--
nsis.vim
1.29
KB
-rw-r--r--
objc.vim
296
B
-rw-r--r--
ocaml.vim
23.09
KB
-rw-r--r--
occam.vim
1.27
KB
-rw-r--r--
pamconf.vim
433
B
-rw-r--r--
pascal.vim
667
B
-rw-r--r--
passwd.vim
424
B
-rw-r--r--
pdf.vim
2.55
KB
-rw-r--r--
perl.vim
2.78
KB
-rw-r--r--
perl6.vim
2.47
KB
-rw-r--r--
php.vim
2.75
KB
-rw-r--r--
pinfo.vim
435
B
-rw-r--r--
plaintex.vim
1.12
KB
-rw-r--r--
postscr.vim
1006
B
-rw-r--r--
procmail.vim
479
B
-rw-r--r--
prolog.vim
440
B
-rw-r--r--
protocols.vim
457
B
-rw-r--r--
pyrex.vim
766
B
-rw-r--r--
python.vim
7.92
KB
-rw-r--r--
qf.vim
508
B
-rw-r--r--
quake.vim
439
B
-rw-r--r--
r.vim
858
B
-rw-r--r--
racc.vim
449
B
-rw-r--r--
readline.vim
438
B
-rw-r--r--
registry.vim
740
B
-rw-r--r--
reva.vim
709
B
-rw-r--r--
rhelp.vim
738
B
-rw-r--r--
rmd.vim
1.77
KB
-rw-r--r--
rnc.vim
431
B
-rw-r--r--
rnoweb.vim
1.01
KB
-rw-r--r--
rpl.vim
620
B
-rw-r--r--
rrst.vim
1.54
KB
-rw-r--r--
rst.vim
1.34
KB
-rw-r--r--
ruby.vim
16.69
KB
-rw-r--r--
rust.vim
6.42
KB
-rw-r--r--
sass.vim
607
B
-rw-r--r--
sbt.vim
347
B
-rw-r--r--
scala.vim
1.12
KB
-rw-r--r--
scheme.vim
1.36
KB
-rw-r--r--
screen.vim
436
B
-rw-r--r--
scss.vim
239
B
-rw-r--r--
sensors.vim
455
B
-rw-r--r--
services.vim
452
B
-rw-r--r--
setserial.vim
439
B
-rw-r--r--
sgml.vim
1.18
KB
-rw-r--r--
sh.vim
1.17
KB
-rw-r--r--
sieve.vim
469
B
-rw-r--r--
slpconf.vim
477
B
-rw-r--r--
slpreg.vim
476
B
-rw-r--r--
slpspi.vim
467
B
-rw-r--r--
spec.vim
5.71
KB
-rw-r--r--
sql.vim
21.11
KB
-rw-r--r--
sshconfig.vim
441
B
-rw-r--r--
sudoers.vim
438
B
-rw-r--r--
svg.vim
1.17
KB
-rw-r--r--
sysctl.vim
453
B
-rw-r--r--
systemd.vim
158
B
-rw-r--r--
systemverilog.vim
239
B
-rw-r--r--
tcl.vim
1002
B
-rw-r--r--
tcsh.vim
1.18
KB
-rw-r--r--
terminfo.vim
430
B
-rw-r--r--
tex.vim
1.6
KB
-rw-r--r--
text.vim
498
B
-rw-r--r--
tmux.vim
292
B
-rw-r--r--
treetop.vim
416
B
-rw-r--r--
tt2html.vim
434
B
-rw-r--r--
udevconf.vim
434
B
-rw-r--r--
udevperm.vim
432
B
-rw-r--r--
udevrules.vim
426
B
-rw-r--r--
updatedb.vim
443
B
-rw-r--r--
vb.vim
1.86
KB
-rw-r--r--
verilog.vim
1.93
KB
-rw-r--r--
vhdl.vim
3.42
KB
-rw-r--r--
vim.vim
3.68
KB
-rw-r--r--
vroom.vim
924
B
-rw-r--r--
wast.vim
470
B
-rw-r--r--
xdefaults.vim
481
B
-rw-r--r--
xf86conf.vim
434
B
-rw-r--r--
xhtml.vim
1.99
KB
-rw-r--r--
xinetd.vim
476
B
-rw-r--r--
xml.vim
2.2
KB
-rw-r--r--
xmodmap.vim
434
B
-rw-r--r--
xs.vim
465
B
-rw-r--r--
xsd.vim
1.14
KB
-rw-r--r--
xslt.vim
539
B
-rw-r--r--
yaml.vim
464
B
-rw-r--r--
zimbu.vim
5.26
KB
-rw-r--r--
zsh.vim
818
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : sql.vim
" SQL filetype plugin file " Language: SQL (Common for Oracle, Microsoft SQL Server, Sybase) " Version: 12.0 " Maintainer: David Fishburn <dfishburn dot vim at gmail dot com> " Last Change: 2017 Mar 07 " Download: http://vim.sourceforge.net/script.php?script_id=454 " For more details please use: " :h sql.txt " " This file should only contain values that are common to all SQL languages " Oracle, Microsoft SQL Server, Sybase ASA/ASE, MySQL, and so on " If additional features are required create: " vimfiles/after/ftplugin/sql.vim (Windows) " .vim/after/ftplugin/sql.vim (Unix) " to override and add any of your own settings. " This file also creates a command, SQLSetType, which allows you to change " SQL dialects on the fly. For example, if I open an Oracle SQL file, it " is color highlighted appropriately. If I open an Informix SQL file, it " will still be highlighted according to Oracles settings. By running: " :SQLSetType sqlinformix " " All files called sqlinformix.vim will be loaded from the indent and syntax " directories. This allows you to easily flip SQL dialects on a per file " basis. NOTE: you can also use completion: " :SQLSetType <tab> " " To change the default dialect, add the following to your vimrc: " let g:sql_type_default = 'sqlanywhere' " " This file also creates a command, SQLGetType, which allows you to " determine what the current dialect is in use. " :SQLGetType " " History " " Version 12.0 (April 2013) " " NF: Added support for "BEGIN TRY ... END TRY ... BEGIN CATCH ... END CATCH " BF: This plugin is designed to be used with other plugins to enable the " SQL completion with Perl, Python, Java, ... The loading mechanism " was not checking if the SQL objects were created, which can lead to " the plugin not loading the SQL support. " " Version 11.0 (May 2013) " " NF: Updated to use SyntaxComplete's new regex support for syntax groups. " " Version 10.0 (Dec 2012) " " NF: Changed all maps to use noremap instead of must map " NF: Changed all visual maps to use xnoremap instead of vnoremap as they " should only be used in visual mode and not select mode. " BF: Most of the maps were using doubled up backslashes before they were " changed to using the search() function, which meant they no longer " worked. " " Version 9.0 " " NF: Completes 'b:undo_ftplugin' " BF: Correctly set cpoptions when creating script " " Version 8.0 " " NF: Improved the matchit plugin regex (Talek) " " Version 7.0 " " NF: Calls the sqlcomplete#ResetCacheSyntax() function when calling " SQLSetType. " " Version 6.0 " " NF: Adds the command SQLGetType " " Version 5.0 " " NF: Adds the ability to choose the keys to control SQL completion, just add " the following to your .vimrc: " let g:ftplugin_sql_omni_key = '<C-C>' " let g:ftplugin_sql_omni_key_right = '<Right>' " let g:ftplugin_sql_omni_key_left = '<Left>' " " BF: format-options - Auto-wrap comments using textwidth was turned off " by mistake. " Only do this when not done yet for this buffer " This ftplugin can be used with other ftplugins. So ensure loading " happens if all elements of this plugin have not yet loaded. if exists("b:did_ftplugin") && exists("b:current_ftplugin") && b:current_ftplugin == 'sql' finish endif let s:save_cpo = &cpo set cpo&vim " Disable autowrapping for code, but enable for comments " t Auto-wrap text using textwidth " c Auto-wrap comments using textwidth, inserting the current comment " leader automatically. setlocal formatoptions-=t setlocal formatoptions+=c " Functions/Commands to allow the user to change SQL syntax dialects " through the use of :SQLSetType <tab> for completion. " This works with both Vim 6 and 7. if !exists("*SQL_SetType") " NOTE: You cannot use function! since this file can be " sourced from within this function. That will result in " an error reported by Vim. function SQL_GetList(ArgLead, CmdLine, CursorPos) if !exists('s:sql_list') " Grab a list of files that contain "sql" in their names let list_indent = globpath(&runtimepath, 'indent/*sql*') let list_syntax = globpath(&runtimepath, 'syntax/*sql*') let list_ftplugin = globpath(&runtimepath, 'ftplugin/*sql*') let sqls = "\n".list_indent."\n".list_syntax."\n".list_ftplugin."\n" " Strip out everything (path info) but the filename " Regex " From between two newline characters " Non-greedily grab all characters " Followed by a valid filename \w\+\.\w\+ (sql.vim) " Followed by a newline, but do not include the newline " " Replace it with just the filename (get rid of PATH) " " Recursively, since there are many filenames that contain " the word SQL in the indent, syntax and ftplugin directory let sqls = substitute( sqls, \ '[\n]\%(.\{-}\)\(\w\+\.\w\+\)\n\@=', \ '\1\n', \ 'g' \ ) " Remove duplicates, since sqlanywhere.vim can exist in the " sytax, indent and ftplugin directory, yet we only want " to display the option once let index = match(sqls, '.\{-}\ze\n') while index > -1 " Get the first filename let file = matchstr(sqls, '.\{-}\ze\n', index) " Recursively replace any *other* occurrence of that " filename with nothing (ie remove it) let sqls = substitute(sqls, '\%>'.(index+strlen(file)).'c\<'.file.'\>\n', '', 'g') " Move on to the next filename let index = match(sqls, '.\{-}\ze\n', (index+strlen(file)+1)) endwhile " Sort the list if using version 7 if v:version >= 700 let mylist = split(sqls, "\n") let mylist = sort(mylist) let sqls = join(mylist, "\n") endif let s:sql_list = sqls endif return s:sql_list endfunction function SQL_SetType(name) " User has decided to override default SQL scripts and " specify a vendor specific version " (ie Oracle, Informix, SQL Anywhere, ...) " So check for an remove any settings that prevent the " scripts from being executed, and then source the " appropriate Vim scripts. if exists("b:did_ftplugin") unlet b:did_ftplugin endif if exists("b:current_syntax") " echomsg 'SQLSetType - clearing syntax' syntax clear if exists("b:current_syntax") unlet b:current_syntax endif endif if exists("b:did_indent") " echomsg 'SQLSetType - clearing indent' unlet b:did_indent " Set these values to their defaults setlocal indentkeys& setlocal indentexpr& endif " Ensure the name is in the correct format let new_sql_type = substitute(a:name, \ '\s*\([^\.]\+\)\(\.\w\+\)\?', '\L\1', '') " Do not specify a buffer local variable if it is " the default value if new_sql_type == 'sql' let new_sql_type = 'sqloracle' endif let b:sql_type_override = new_sql_type " Remove any cached SQL since a new sytax will have different " items and groups if !exists('g:loaded_sql_completion') || g:loaded_sql_completion >= 100 call sqlcomplete#ResetCacheSyntax() endif " Vim will automatically source the correct files if we " change the filetype. You cannot do this with setfiletype " since that command will only execute if a filetype has " not already been set. In this case we want to override " the existing filetype. let &filetype = 'sql' if b:sql_compl_savefunc != "" " We are changing the filetype to SQL from some other filetype " which had OMNI completion defined. We need to activate the " SQL completion plugin in order to cache some of the syntax items " while the syntax rules for SQL are active. call sqlcomplete#PreCacheSyntax() endif endfunction command! -nargs=* -complete=custom,SQL_GetList SQLSetType :call SQL_SetType(<q-args>) endif " Functions/Commands to allow the user determine current SQL syntax dialect " This works with both Vim 6 and 7. if !exists("*SQL_GetType") function SQL_GetType() if exists('b:sql_type_override') echomsg "Current SQL dialect in use:".b:sql_type_override else echomsg "Current SQL dialect in use:".g:sql_type_default endif endfunction command! -nargs=0 SQLGetType :call SQL_GetType() endif if exists("b:sql_type_override") " echo 'sourcing buffer ftplugin/'.b:sql_type_override.'.vim' if globpath(&runtimepath, 'ftplugin/'.b:sql_type_override.'.vim') != '' exec 'runtime ftplugin/'.b:sql_type_override.'.vim' " else " echomsg 'ftplugin/'.b:sql_type_override.' not exist, using default' endif elseif exists("g:sql_type_default") " echo 'sourcing global ftplugin/'.g:sql_type_default.'.vim' if globpath(&runtimepath, 'ftplugin/'.g:sql_type_default.'.vim') != '' exec 'runtime ftplugin/'.g:sql_type_default.'.vim' " else " echomsg 'ftplugin/'.g:sql_type_default.'.vim not exist, using default' endif endif " If the above runtime command succeeded, do not load the default settings " as they should have already been loaded from a previous run. if exists("b:did_ftplugin") && exists("b:current_ftplugin") && b:current_ftplugin == 'sql' finish endif let b:undo_ftplugin = "setl comments< formatoptions< define< omnifunc<" . \ " | unlet! b:browsefilter b:match_words" " Don't load another plugin for this buffer let b:did_ftplugin = 1 let b:current_ftplugin = 'sql' " Win32 can filter files in the browse dialog if has("gui_win32") && !exists("b:browsefilter") let b:browsefilter = "SQL Files (*.sql)\t*.sql\n" . \ "All Files (*.*)\t*.*\n" endif " Some standard expressions for use with the matchit strings let s:notend = '\%(\<end\s\+\)\@<!' let s:when_no_matched_or_others = '\%(\<when\>\%(\s\+\%(\%(\<not\>\s\+\)\?<matched\>\)\|\<others\>\)\@!\)' let s:or_replace = '\%(or\s\+replace\s\+\)\?' " Define patterns for the matchit macro if !exists("b:match_words") " SQL is generally case insensitive let b:match_ignorecase = 1 " Handle the following: " if " elseif | elsif " else [if] " end if " " [while condition] loop " leave " break " continue " exit " end loop " " for " leave " break " continue " exit " end loop " " do " statements " doend " " case " when " when " default " end case " " merge " when not matched " when matched " " EXCEPTION " WHEN column_not_found THEN " WHEN OTHERS THEN " " begin try " end try " begin catch " end catch " " create[ or replace] procedure|function|event " \ '^\s*\<\%(do\|for\|while\|loop\)\>.*:'. " For ColdFusion support setlocal matchpairs+=<:> let b:match_words = &matchpairs . \ ',\%(\<begin\)\%(\s\+\%(try\|catch\)\>\)\@!:\<end\>\W*$,'. \ \ '\<begin\s\+try\>:'. \ '\<end\s\+try\>:'. \ '\<begin\s\+catch\>:'. \ '\<end\s\+catch\>,'. \ \ s:notend . '\<if\>:'. \ '\<elsif\>\|\<elseif\>\|\<else\>:'. \ '\<end\s\+if\>,'. \ \ '\(^\s*\)\@<=\(\<\%(do\|for\|while\|loop\)\>.*\):'. \ '\%(\<exit\>\|\<leave\>\|\<break\>\|\<continue\>\):'. \ '\%(\<doend\>\|\%(\<end\s\+\%(for\|while\|loop\>\)\)\),'. \ \ '\%('. s:notend . '\<case\>\):'. \ '\%('.s:when_no_matched_or_others.'\):'. \ '\%(\<when\s\+others\>\|\<end\s\+case\>\),' . \ \ '\<merge\>:' . \ '\<when\s\+not\s\+matched\>:' . \ '\<when\s\+matched\>,' . \ \ '\%(\<create\s\+' . s:or_replace . '\)\?'. \ '\%(function\|procedure\|event\):'. \ '\<returns\?\>' " \ '\<begin\>\|\<returns\?\>:'. " \ '\<end\>\(;\)\?\s*$' " \ '\<exception\>:'.s:when_no_matched_or_others. " \ ':\<when\s\+others\>,'. " " \ '\%(\<exception\>\|\%('. s:notend . '\<case\>\)\):'. " \ '\%(\<default\>\|'.s:when_no_matched_or_others.'\):'. " \ '\%(\%(\<when\s\+others\>\)\|\<end\s\+case\>\),' . endif " Define how to find the macro definition of a variable using the various " [d, [D, [_CTRL_D and so on features " Match these values ignoring case " ie DECLARE varname INTEGER let &l:define = '\c\<\(VARIABLE\|DECLARE\|IN\|OUT\|INOUT\)\>' " Mappings to move to the next BEGIN ... END block " \W - no characters or digits nnoremap <buffer> <silent> ]] :call search('\c^\s*begin\>', 'W' )<CR> nnoremap <buffer> <silent> [[ :call search('\c^\s*begin\>', 'bW' )<CR> nnoremap <buffer> <silent> ][ :call search('\c^\s*end\W*$', 'W' )<CR> nnoremap <buffer> <silent> [] :call search('\c^\s*end\W*$', 'bW' )<CR> xnoremap <buffer> <silent> ]] :<C-U>exec "normal! gv"<Bar>call search('\c^\s*begin\>', 'W' )<CR> xnoremap <buffer> <silent> [[ :<C-U>exec "normal! gv"<Bar>call search('\c^\s*begin\>', 'bW' )<CR> xnoremap <buffer> <silent> ][ :<C-U>exec "normal! gv"<Bar>call search('\c^\s*end\W*$', 'W' )<CR> xnoremap <buffer> <silent> [] :<C-U>exec "normal! gv"<Bar>call search('\c^\s*end\W*$', 'bW' )<CR> " By default only look for CREATE statements, but allow " the user to override if !exists('g:ftplugin_sql_statements') let g:ftplugin_sql_statements = 'create' endif " Predefined SQL objects what are used by the below mappings using " the ]} style maps. " This global variable allows the users to override its value " from within their vimrc. " Note, you cannot use \?, since these patterns can be used to search " backwards, you must use \{,1} if !exists('g:ftplugin_sql_objects') let g:ftplugin_sql_objects = 'function,procedure,event,' . \ '\(existing\\|global\s\+temporary\s\+\)\{,1}' . \ 'table,trigger' . \ ',schema,service,publication,database,datatype,domain' . \ ',index,subscription,synchronization,view,variable' endif " Key to trigger SQL completion if !exists('g:ftplugin_sql_omni_key') let g:ftplugin_sql_omni_key = '<C-C>' endif " Key to trigger drill into column list if !exists('g:ftplugin_sql_omni_key_right') let g:ftplugin_sql_omni_key_right = '<Right>' endif " Key to trigger drill out of column list if !exists('g:ftplugin_sql_omni_key_left') let g:ftplugin_sql_omni_key_left = '<Left>' endif " Replace all ,'s with bars, except ones with numbers after them. " This will most likely be a \{,1} string. let s:ftplugin_sql_objects = \ '\c^\s*' . \ '\(\(' . \ substitute(g:ftplugin_sql_statements, ',\d\@!', '\\\\|', 'g') . \ '\)\s\+\(or\s\+replace\s\+\)\{,1}\)\{,1}' . \ '\<\(' . \ substitute(g:ftplugin_sql_objects, ',\d\@!', '\\\\|', 'g') . \ '\)\>' " Mappings to move to the next CREATE ... block exec "nnoremap <buffer> <silent> ]} :call search('".s:ftplugin_sql_objects."', 'W')<CR>" exec "nnoremap <buffer> <silent> [{ :call search('".s:ftplugin_sql_objects."', 'bW')<CR>" " Could not figure out how to use a :call search() string in visual mode " without it ending visual mode " Unfortunately, this will add a entry to the search history exec 'xnoremap <buffer> <silent> ]} /'.s:ftplugin_sql_objects.'<CR>' exec 'xnoremap <buffer> <silent> [{ ?'.s:ftplugin_sql_objects.'<CR>' " Mappings to move to the next COMMENT " " Had to double the \ for the \| separator since this has a special " meaning on maps let b:comment_leader = '\(--\\|\/\/\\|\*\\|\/\*\\|\*\/\)' " Find the start of the next comment let b:comment_start = '^\(\s*'.b:comment_leader.'.*\n\)\@<!'. \ '\(\s*'.b:comment_leader.'\)' " Find the end of the previous comment let b:comment_end = '\(^\s*'.b:comment_leader.'.*\n\)'. \ '\(^\s*'.b:comment_leader.'\)\@!' " Skip over the comment let b:comment_jump_over = "call search('". \ '^\(\s*'.b:comment_leader.'.*\n\)\@<!'. \ "', 'W')" let b:comment_skip_back = "call search('". \ '^\(\s*'.b:comment_leader.'.*\n\)\@<!'. \ "', 'bW')" " Move to the start and end of comments exec 'nnoremap <silent><buffer> ]" :call search('."'".b:comment_start."'".', "W" )<CR>' exec 'nnoremap <silent><buffer> [" :call search('."'".b:comment_end."'".', "W" )<CR>' exec 'xnoremap <silent><buffer> ]" :<C-U>exec "normal! gv"<Bar>call search('."'".b:comment_start."'".', "W" )<CR>' exec 'xnoremap <silent><buffer> [" :<C-U>exec "normal! gv"<Bar>call search('."'".b:comment_end."'".', "W" )<CR>' " Comments can be of the form: " /* " * " */ " or " -- " or " // setlocal comments=s1:/*,mb:*,ex:*/,:--,:// " Set completion with CTRL-X CTRL-O to autoloaded function. if exists('&omnifunc') " Since the SQL completion plugin can be used in conjunction " with other completion filetypes it must record the previous " OMNI function prior to setting up the SQL OMNI function let b:sql_compl_savefunc = &omnifunc " Source it to determine its version runtime autoload/sqlcomplete.vim " This is used by the sqlcomplete.vim plugin " Source it for its global functions runtime autoload/syntaxcomplete.vim setlocal omnifunc=sqlcomplete#Complete " Prevent the intellisense plugin from loading let b:sql_vis = 1 if !exists('g:omni_sql_no_default_maps') let regex_extra = '' if exists('g:loaded_syntax_completion') && exists('g:loaded_sql_completion') if g:loaded_syntax_completion > 120 && g:loaded_sql_completion > 140 let regex_extra = '\\w*' endif endif " Static maps which use populate the completion list " using Vim's syntax highlighting rules exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'a <C-\><C-O>:call sqlcomplete#Map("syntax")<CR><C-X><C-O>' exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'k <C-\><C-O>:call sqlcomplete#Map("sqlKeyword'.regex_extra.'")<CR><C-X><C-O>' exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'f <C-\><C-O>:call sqlcomplete#Map("sqlFunction'.regex_extra.'")<CR><C-X><C-O>' exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'o <C-\><C-O>:call sqlcomplete#Map("sqlOption'.regex_extra.'")<CR><C-X><C-O>' exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'T <C-\><C-O>:call sqlcomplete#Map("sqlType'.regex_extra.'")<CR><C-X><C-O>' exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'s <C-\><C-O>:call sqlcomplete#Map("sqlStatement'.regex_extra.'")<CR><C-X><C-O>' " Dynamic maps which use populate the completion list " using the dbext.vim plugin exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'t <C-\><C-O>:call sqlcomplete#Map("table")<CR><C-X><C-O>' exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'p <C-\><C-O>:call sqlcomplete#Map("procedure")<CR><C-X><C-O>' exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'v <C-\><C-O>:call sqlcomplete#Map("view")<CR><C-X><C-O>' exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'c <C-\><C-O>:call sqlcomplete#Map("column")<CR><C-X><C-O>' exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'l <C-\><C-O>:call sqlcomplete#Map("column_csv")<CR><C-X><C-O>' " The next 3 maps are only to be used while the completion window is " active due to the <CR> at the beginning of the map exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'L <C-Y><C-\><C-O>:call sqlcomplete#Map("column_csv")<CR><C-X><C-O>' " <C-Right> is not recognized on most Unix systems, so only create " these additional maps on the Windows platform. " If you would like to use these maps, choose a different key and make " the same map in your vimrc. " if has('win32') exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key_right.' <C-R>=sqlcomplete#DrillIntoTable()<CR>' exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key_left.' <C-R>=sqlcomplete#DrillOutOfColumns()<CR>' " endif " Remove any cached items useful for schema changes exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'R <C-\><C-O>:call sqlcomplete#Map("resetCache")<CR><C-X><C-O>' endif if b:sql_compl_savefunc != "" " We are changing the filetype to SQL from some other filetype " which had OMNI completion defined. We need to activate the " SQL completion plugin in order to cache some of the syntax items " while the syntax rules for SQL are active. call sqlcomplete#ResetCacheSyntax() call sqlcomplete#PreCacheSyntax() endif endif let &cpo = s:save_cpo unlet s:save_cpo " vim:sw=4:
Close