annotate runtime/doc/sql.txt @ 818:1f929f3ca806 v7.0c03

updated for version 7.0c03
author vimboss
date Wed, 29 Mar 2006 21:18:24 +0000
parents 9f345c48220b
children 23f82b5d2814
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
818
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
1 *sql.txt* For Vim version 7.0c. Last change: Tue Mar 28 2006 9:33:14 PM
720
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
2
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
3 by David Fishburn
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
4
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
5 This is a filetype plugin to work with SQL files.
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
6
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
7 The Structured Query Language (SQL) is a standard which specifies statements
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
8 that allow a user to interact with a relational database. Vim includes
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
9 features for navigation, indentation and syntax highlighting.
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
10
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
11 1. Navigation |sql-navigation|
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
12 1.1 Matchit |sql-matchit|
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
13 1.2 Text Object Motions |sql-object-motions|
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
14 1.3 Predefined Object Motions |sql-predefined-objects|
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
15 1.4 Macros |sql-macros|
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
16 2. SQL Dialects |sql-dialects|
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
17 2.1 SQLSetType |SQLSetType|
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
18 2.2 SQL Dialect Default |sql-type-default|
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
19 3. Adding new SQL Dialects |sql-adding-dialects|
818
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
20 4. OMNI SQL Completion |sql-completion|
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
21 4.1 Static mode |sql-completion-static|
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
22 4.2 Dynamic mode |sql-completion-dynamic|
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
23 4.3 Tutorial |sql-completion-tutorial|
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
24 4.3.1 Complete Tables |sql-completion-tables|
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
25 4.3.2 Complete Columns |sql-completion-columns|
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
26 4.3.3 Complete Procedures |sql-completion-procedures|
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
27 4.3.4 Complete Views |sql-completion-views|
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
28 4.4 Completion Customization |sql-completion-customization|
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
29 4.5 Customizing Maps |sql-completion-maps|
720
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
30
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
31 ==============================================================================
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
32 1. Navigation *sql-navigation*
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
33
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
34 The SQL ftplugin provides a number of options to assist with file
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
35 navigation.
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
36
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
37
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
38 1.1 Matchit *sql-matchit*
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
39 -----------
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
40 The matchit plugin (http://www.vim.org/scripts/script.php?script_id=39)
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
41 provides many additional features and can be customized for different
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
42 languages. The matchit plugin is configured by defining a local
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
43 buffer variable, b:match_words. Pressing the % key while on various
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
44 keywords will move the cursor to its match. For example, if the cursor
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
45 is on an "if", pressing % will cycle between the "else", "elseif" and
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
46 "end if" keywords.
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
47
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
48 The following keywords are supported: >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
49 if
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
50 elseif | elsif
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
51 else [if]
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
52 end if
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
53
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
54 [while condition] loop
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
55 leave
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
56 break
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
57 continue
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
58 exit
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
59 end loop
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
60
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
61 for
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
62 leave
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
63 break
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
64 continue
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
65 exit
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
66 end loop
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
67
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
68 do
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
69 statements
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
70 doend
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
71
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
72 case
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
73 when
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
74 when
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
75 default
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
76 end case
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
77
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
78 merge
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
79 when not matched
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
80 when matched
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
81
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
82 create[ or replace] procedure|function|event
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
83 returns
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
84 <
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
85
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
86 1.2 Text Object Motions *sql-object-motions*
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
87 -----------------------
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
88 Vim has a number of predefined keys for working with text |object-motions|.
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
89 This filetype plugin attempts to translate these keys to maps which make sense
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
90 for the SQL language.
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
91
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
92 The following |Normal| mode and |Visual| mode maps exist (when you edit a SQL
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
93 file): >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
94 ]] move forward to the next 'begin'
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
95 [[ move backwards to the previous 'begin'
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
96 ][ move forward to the next 'end'
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
97 [] move backwards to the previous 'end'
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
98 <
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
99
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
100 1.3 Predefined Object Motions *sql-predefined-objects*
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
101 -----------------------------
818
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
102 Most relational databases support various standard features, tables, indices,
720
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
103 triggers and stored procedures. Each vendor also has a variety of proprietary
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
104 objects. The next set of maps have been created to help move between these
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
105 objects. Depends on which database vendor you are using, the list of objects
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
106 must be configurable. The filetype plugin attempts to define many of the
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
107 standard objects, plus many additional ones. In order to make this as
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
108 flexible as possible, you can override the list of objects from within your
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
109 |vimrc| with the following: >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
110 let g:ftplugin_sql_objects = 'function,procedure,event,table,trigger' .
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
111 \ ',schema,service,publication,database,datatype,domain' .
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
112 \ ',index,subscription,synchronization,view,variable'
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
113 <
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
114 The following |Normal| mode and |Visual| mode maps have been created which use
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
115 the above list: >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
116 ]} move forward to the next 'create <object name>'
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
117 [{ move backward to the previous 'create <object name>'
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
118
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
119 Repeatedly pressing ]} will cycle through each of these create statements: >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
120 create table t1 (
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
121 ...
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
122 );
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
123
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
124 create procedure p1
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
125 begin
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
126 ...
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
127 end;
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
128
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
129 create index i1 on t1 (c1);
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
130 <
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
131 The default setting for g:ftplugin_sql_objects is: >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
132 let g:ftplugin_sql_objects = 'function,procedure,event,' .
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
133 \ '\\(existing\\\\|global\\s\\+temporary\\s\\+\\)\\\{,1}' .
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
134 \ 'table,trigger' .
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
135 \ ',schema,service,publication,database,datatype,domain' .
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
136 \ ',index,subscription,synchronization,view,variable'
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
137 <
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
138 The above will also handle these cases: >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
139 create table t1 (
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
140 ...
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
141 );
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
142 create existing table t2 (
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
143 ...
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
144 );
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
145 create global temporary table t3 (
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
146 ...
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
147 );
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
148 <
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
149 By default, the ftplugin only searches for CREATE statements. You can also
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
150 override this via your |vimrc| with the following: >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
151 let g:ftplugin_sql_statements = 'create,alter'
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
152
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
153 The filetype plugin defines three types of comments: >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
154 1. --
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
155 2. //
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
156 3. /*
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
157 *
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
158 */
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
159 <
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
160 The following |Normal| mode and |Visual| mode maps have been created to work
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
161 with comments: >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
162 ]" move forward to the beginning of a comment
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
163 [" move forward to the end of a comment
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
164
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
165
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
166
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
167 1.4 Macros *sql-macros*
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
168 ----------
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
169 Vim's feature to find macro definitions, |'define'|, is supported using this
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
170 regular expression: >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
171 \c\<\(VARIABLE\|DECLARE\|IN\|OUT\|INOUT\)\>
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
172 <
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
173 This addresses the following code: >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
174 CREATE VARIABLE myVar1 INTEGER;
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
175
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
176 CREATE PROCEDURE sp_test(
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
177 IN myVar2 INTEGER,
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
178 OUT myVar3 CHAR(30),
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
179 INOUT myVar4 NUMERIC(20,0)
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
180 )
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
181 BEGIN
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
182 DECLARE myVar5 INTEGER;
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
183
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
184 SELECT c1, c2, c3
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
185 INTO myVar2, myVar3, myVar4
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
186 FROM T1
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
187 WHERE c4 = myVar1;
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
188 END;
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
189 <
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
190 Place your cursor on "myVar1" on this line: >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
191 WHERE c4 = myVar1;
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
192 ^
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
193 <
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
194 Press any of the following keys: >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
195 [d
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
196 [D
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
197 [CTRL-D
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
198
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
199
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
200 ==============================================================================
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
201 2. SQL Dialects *sql-dialects* *sql-types*
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
202 *sybase* *TSQL* *Transact-SQL*
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
203 *sqlanywhere*
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
204 *oracle* *plsql* *sqlj*
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
205 *sqlserver*
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
206 *mysql* *postgress* *psql*
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
207 *informix*
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
208
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
209 All relational databases support SQL. There is a portion of SQL that is
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
210 portable across vendors (ex. CREATE TABLE, CREATE INDEX), but there is a
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
211 great deal of vendor specific extensions to SQL. Oracle supports the
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
212 "CREATE OR REPLACE" syntax, column defaults specified in the CREATE TABLE
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
213 statement and the procedural language (for stored procedures and triggers).
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
214
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
215 The default Vim distribution ships with syntax highlighting based on Oracle's
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
216 PL/SQL. The default SQL indent script works for Oracle and SQL Anywhere.
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
217 The default filetype plugin works for all vendors and should remain vendor
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
218 neutral, but extendable.
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
219
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
220 Vim currently has support for a variety of different vendors, currently this
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
221 is via syntax scripts. Unfortunately, to flip between different syntax rules
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
222 you must either create:
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
223 1. New filetypes
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
224 2. Custom autocmds
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
225 3. Manual steps / commands
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
226
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
227 The majority of people work with only one vendor's database product, it would
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
228 be nice to specify a default in your |vimrc|.
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
229
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
230
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
231 2.1 SQLSetType *sqlsettype* *SQLSetType*
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
232 --------------
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
233 For the people that work with many different databases, it would be nice to be
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
234 able to flip between the various vendors rules (indent, syntax) on a per
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
235 buffer basis, at any time. The ftplugin/sql.vim file defines this function: >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
236 SQLSetType
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
237 <
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
238 Executing this function without any parameters will set the indent and syntax
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
239 scripts back to their defaults, see |sql-type-default|. If you have turned
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
240 off Vi's compatibility mode, |'compatible'|, you can use the <Tab> key to
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
241 complete the optional parameter.
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
242
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
243 After typing the function name and a space, you can use the completion to
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
244 supply a parameter. The function takes the name of the Vim script you want to
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
245 source. Using the |cmdline-completion| feature, the SQLSetType function will
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
246 search the |'runtimepath'| for all Vim scripts with a name containing 'sql'.
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
247 This takes the guess work out of the spelling of the names. The following are
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
248 examples: >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
249 :SQLSetType
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
250 :SQLSetType sqloracle
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
251 :SQLSetType sqlanywhere
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
252 :SQLSetType sqlinformix
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
253 :SQLSetType mysql
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
254 <
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
255 The easiest approach is to the use <Tab> character which will first complete
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
256 the command name (SQLSetType), after a space and another <Tab>, display a list
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
257 of available Vim script names: >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
258 :SQL<Tab><space><Tab>
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
259 <
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
260
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
261 2.2 SQL Dialect Default *sql-type-default*
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
262 -----------------------
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
263 As mentioned earlier, the default syntax rules for Vim is based on Oracle
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
264 (PL/SQL). You can override this default by placing one of the following in
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
265 your |vimrc|: >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
266 let g:sql_type_default = 'sqlanywhere'
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
267 let g:sql_type_default = 'sqlinformix'
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
268 let g:sql_type_default = 'mysql'
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
269 <
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
270 If you added the following to your |vimrc|: >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
271 let g:sql_type_default = 'sqlinformix'
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
272 <
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
273 The next time edit a SQL file the following scripts will be automatically
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
274 loaded by Vim: >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
275 ftplugin/sql.vim
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
276 syntax/sqlinformix.vim
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
277 indent/sql.vim
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
278 >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
279 Notice indent/sqlinformix.sql was not loaded. There is no indent file
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
280 for Informix, Vim loads the default files if the specified files does not
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
281 exist.
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
282
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
283
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
284 ==============================================================================
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
285 3. Adding new SQL Dialects *sql-adding-dialects*
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
286
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
287 If you begin working with a SQL dialect which does not have any customizations
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
288 available with the default Vim distribution you can check http://www.vim.org
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
289 to see if any customization currently exist. If not, you can begin by cloning
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
290 an existing script. Read |filetype-plugins| for more details.
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
291
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
292 To help identify these scripts, try to create the files with a "sql" prefix.
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
293 If you decide you wish to create customizations for the SQLite database, you
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
294 can create any of the following: >
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
295 Unix
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
296 ~/.vim/syntax/sqlite.vim
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
297 ~/.vim/indent/sqlite.vim
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
298 Windows
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
299 $VIM/vimfiles/syntax/sqlite.vim
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
300 $VIM/vimfiles/indent/sqlite.vim
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
301 <
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
302 No changes are necessary to the SQLSetType function. It will automatically
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
303 pickup the new SQL files and load them when you issue the SQLSetType command.
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
304
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
305
818
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
306 ==============================================================================
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
307 4. OMNI SQL Completion *sql-completion*
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
308 *omni-sql-completion*
720
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
309
818
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
310 Vim 7 includes a code completion interface and functions which allows plugin
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
311 developers to build in code completion for any language. Vim 7 includes
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
312 code completion for the SQL language.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
313
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
314 There are two modes to the SQL completion plugin, static and dynamic. The
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
315 static mode populates the popups with the data generated from current syntax
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
316 highlight rules. The dynamic mode populates the popups with data retrieved
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
317 directly from a database. This includes, table lists, column lists,
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
318 procedures names and more.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
319
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
320 4.1 Static Mode *sql-completion-static*
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
321 ---------------
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
322 The static popups created contain items defined by the active syntax rules
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
323 while editing a file with a filetype of SQL. The plugin defines (by default)
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
324 various maps to help the user refine which list of items they wish displayed.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
325 The defaults static maps are: >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
326 imap <buffer> <C-C>a <C-\><C-O>:let b:sql_compl_type='syntax'<CR><C-X><C-O>
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
327 imap <buffer> <C-C>s <C-\><C-O>:let b:sql_compl_type='sqlStatement'<CR><C-X><C-O>
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
328 imap <buffer> <C-C>f <C-\><C-O>:let b:sql_compl_type='sqlFunction'<CR><C-X><C-O>
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
329 imap <buffer> <C-C>k <C-\><C-O>:let b:sql_compl_type='sqlKeyword'<CR><C-X><C-O>
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
330 imap <buffer> <C-C>o <C-\><C-O>:let b:sql_compl_type='sqlOption'<CR><C-X><C-O>
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
331 imap <buffer> <C-C>T <C-\><C-O>:let b:sql_compl_type='sqlType'<CR><C-X><C-O>
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
332 <
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
333 The static maps (which are based on the syntax highlight groups) follow this
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
334 format: >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
335 imap <buffer> <C-C>k <C-\><C-O>:let b:sql_compl_type='sqlKeyword'<CR><C-X><C-O>
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
336 <
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
337 This command breaks down as: >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
338 imap - Create an insert map
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
339 <buffer> - Only for this buffer
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
340 <C-C>k - Your choice of key map
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
341 <C-\><C-O> - Execute one command, return to Insert mode
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
342 :let b:sql_compl_type= - Choose the highlight group's entries to display.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
343 You can view a list of highlight group names to
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
344 choose from by executing the
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
345 :syntax list
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
346 command while editing a SQL file.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
347 'sqlKeyword' - Display the items for the sqlKeyword highlight
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
348 group
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
349 <CR> - Execute the :let command
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
350 <C-X><C-O> - Trigger the standard omni completion key stroke.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
351 By setting the b:sql_compl_type variable, this
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
352 instructs the SQL completion plugin to populate
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
353 the popup with items from the sqlKeyword highlight
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
354 group. The plugin will also cache this result
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
355 until Vim is restarted. The syntax list is
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
356 retrieved using the syntaxcomplete plugin.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
357 <
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
358 Setting b:sql_compl_type = 'syntax' is a special case. This instructs the
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
359 syntaxcomplete plugin to retrieve all syntax items. So this will effectively
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
360 work for any of Vim's SQL syntax files. At the time of writing this includes
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
361 10 different syntax files for the different dialects of SQL (see section 3
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
362 above, |sql-dialects|).
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
363
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
364 Here are some examples of the entries which are pulled from the syntax files: >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
365 All
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
366 - Contains the contents of all syntax highlight groups
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
367 Statements
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
368 - Select, Insert, Update, Delete, Create, Alter, ...
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
369 Functions
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
370 - Min, Max, Trim, Round, Date, ...
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
371 Keywords
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
372 - Index, Database, Having, Group, With
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
373 Options
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
374 - Isolation_level, On_error, Qualify_owners, Fire_triggers, ...
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
375 Types
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
376 - Integer, Char, Varchar, Date, DateTime, Timestamp, ...
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
377 <
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
378
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
379 4.2 Dynamic Mode *sql-completion-dynamic*
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
380 ----------------
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
381 Dynamic mode populates the popups with data directly from a database. In
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
382 order for the dynamic feature to be enabled you must have the dbext.vim
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
383 plugin installed, (http://vim.sourceforge.net/script.php?script_id=356).
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
384
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
385 Dynamic mode is used by several features of the SQL completion plugin.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
386 After installing the dbext plugin see the |dbext-tutorial| for additional
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
387 configuration and usage. The dbext plugin allows the SQL completion plugin
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
388 to display a list of tables, procedures, views and columns. >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
389 Table List
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
390 - All tables for all schema owners
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
391 Procedure List
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
392 - All stored procedures for all schema owners
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
393 View List
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
394 - All stored procedures for all schema owners
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
395 Column List
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
396 - For the selected table, the columns that are part of the table
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
397 <
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
398 To enable the popup, while in INSERT mode, use the following key combinations
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
399 for each group (where <C-C> means hold the CTRL key down while pressing
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
400 the space bar):
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
401 Table List - <C-C>t
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
402 - <C-X><C-O> (the default map assumes tables)
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
403 Stored Procedure List - <C-C>p
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
404 View List - <C-C>v
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
405 Column List - <C-C>c
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
406 - .<C-X><C-O>
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
407 - If <C-X><C-O> is pressed following a period
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
408 it is assumed you are asking for a column list.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
409 - When viewing a popup window displaying the list
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
410 of tables, you can press <C-Right>, this will
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
411 replace the table currently highlighted with
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
412 the column list for that table.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
413 - When viewing a popup window displaying the list
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
414 of columns, you can press <C-Left>, this will
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
415 replace the column list with the list of tables.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
416
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
417 The SQL completion plugin caches various lists that are displayed in
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
418 the popup window. This makes the re-displaying of these lists very
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
419 fast. If new tables or columns are added to the database it may become
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
420 necessary to clear the plugins cache. The default map for this is: >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
421 imap <buffer> <C-C>R <C-O>:let b:sql_compl_type='ResetCache'<CR><C-X><C-O>
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
422 <
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
423
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
424 4.3 SQL Tutorial *sql-completion-tutorial*
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
425 ----------------
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
426
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
427 This tutorial is designed to take you through the common features of the SQL
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
428 completion plugin so that: >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
429 a) You gain familiarity with the plugin
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
430 b) You are introduced to some of the more common features
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
431 c) Show how to customize it to your preferences
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
432 d) Demonstrate "Best of Use" of the plugin (easiest way to configure).
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
433 <
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
434 First, create a new buffer: >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
435 :e tutorial.sql
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
436 <
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
437
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
438 Static features
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
439 ---------------
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
440 To take you through the various lists, simply enter insert mode, hit:
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
441 <C-C>s (show SQL statements)
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
442 At this point, you can page down through the list until you find "select".
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
443 If you are familiar with the item you are looking for, for example you know
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
444 the statement begins with the letter "s". You can type ahead (without the
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
445 quotes) "se" then press:
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
446 <C-Spact>t
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
447 Assuming "select" is highlighted in the popup list press <Enter> to choose
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
448 the entry. Now type:
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
449 * fr<C-C>a (show all syntax items)
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
450 choose "from" from the popup list.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
451
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
452 When writing stored procedures using the "type" list is useful. It contains
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
453 a list of all the database supported types. This may or may not be true
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
454 depending on the syntax file you are using. The SQL Anywhere syntax file
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
455 (sqlanywhere.vim) has support for this: >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
456 BEGIN
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
457 DECLARE customer_id <C-C>T <-- Choose a type from the list
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
458 <
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
459
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
460 Dynamic features
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
461 ----------------
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
462 To take advantage of the dynamic features you must first install the
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
463 dbext.vim plugin (http://vim.sourceforge.net/script.php?script_id=356). It
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
464 also comes with a tutorial. From the SQL completion plugin's perspective,
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
465 the main feature dbext provides is a connection to a database. dbext
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
466 connection profiles are the most efficient mechanism to define connection
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
467 information. Once connections have been setup, the SQL completion plugin
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
468 uses the features of dbext in the background to populate the popups.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
469
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
470 What follows assumes dbext.vim has been correctly configured, a simple test
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
471 is to run the command, :DBListTable. If a list of tables is shown, you know
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
472 dbext.vim is working as expected. If not, please consult the dbext.txt
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
473 documentation.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
474
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
475 Assuming you have followed the |dbext-tutorial| you can press <C-C>t to
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
476 display a list of tables. There is a delay while dbext is creating the table
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
477 list. After the list is displayed press <C-W>. This will remove both the
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
478 popup window and the table name already chosen when the list became active. >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
479
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
480 4.3.1 Table Completion: *sql-completion-tables*
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
481 <
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
482 Press <C-C>t to display a list of tables from within the database you
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
483 have connected via the dbext plugin.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
484 NOTE: All of the SQL completion popups support typing a prefix before pressing
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
485 the key map. This will limit the contents of the popup window to just items
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
486 beginning with those characters. >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
487
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
488 4.3.2 Column Completion: *sql-completion-columns*
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
489 <
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
490 The SQL completion plugin can also display a list of columns for particular
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
491 tables. The column completion is trigger via <C-C>c.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
492
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
493 NOTE: The following example uses <C-Right> to trigger a column list while
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
494 the popup window is active. This map is only available on the Windows
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
495 platforms since *nix does not recognize CTRL and the right arrow held down
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
496 together. If you wish to enable this functionality on a *nix platform choose
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
497 a key and create this mapping (see |sql-completion-maps| for further
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
498 details on where to create this imap): >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
499 imap <buffer> <your_keystroke> <CR><C-\><C-O>:let b:sql_compl_type='column'<CR><C-X><C-O>
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
500 <
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
501 Example of using column completion:
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
502 - Press <C-C>t again to display the list of tables.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
503 - When the list is displayed in the completion window, press <C-Right>,
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
504 this will replace the list of tables, with a list of columns for the
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
505 table highlighted (after the same short delay).
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
506 - If you press <C-Left>, this will again replace the column list with the
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
507 list of tables. This allows you to drill into tables and column lists
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
508 very quickly.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
509 - Press <C-Right> again while the same table is highlighted. You will
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
510 notice there is no delay since the column list has been cached. If you
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
511 change the schema of a cached table you can press <C-C>R, which
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
512 clears the SQL completion cache.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
513 - NOTE: <C-Right> and <C-Left> have been designed to work while the
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
514 completion window is active. If you use these maps when the completion
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
515 window is not active a carriage return will be inadvertently entered in
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
516 your buffer.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
517
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
518 Lets look how we can build a SQL statement dynamically. A select statement
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
519 requires a list of columns. There are two ways to build a column list using
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
520 the SQL completion plugin. >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
521 One column at a time:
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
522 < 1. After typing SELECT press <C-C>t to display a list of tables.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
523 2. Choose a table from the list.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
524 3. Press <C-Right> to display a list of columns.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
525 4. Choose the column from the list and press enter.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
526 5. Enter a "," and press <C-C>c. Generating a column list
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
527 generally requires having the cursor on a table name. The plugin
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
528 uses this name to determine what table to retrieve the column list.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
529 In this step, since we are pressing <C-C>c without the cursor
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
530 on a table name the column list displayed will be for the previous
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
531 table. Choose a different column and move on.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
532 6. Repeat step 5 as often as necessary. >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
533 All columns for a table:
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
534 < 1. After typing SELECT press <C-C>t to display a list of tables.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
535 2. Highlight the table you need the column list for.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
536 3. Press <Enter> to choose the table from the list.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
537 4. Press <C-C>l to request a comma separated list of all columns
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
538 for this table.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
539 5. Based on the table name chosen in step 3, the plugin attempts to
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
540 decide on a reasonable table alias. You are then prompted to
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
541 either accept of change the alias. Press OK.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
542 6. The table name is replaced with the column list of the table is
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
543 replaced with the comma separate list of columns with the alias
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
544 prepended to each of the columns.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
545 7. Step 3 and 4 can be replaced by pressing <C-C>L, which has
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
546 a <CR> embedded in the map to choose the currently highlighted
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
547 table in the list.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
548
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
549 There is a special provision when writing select statements. Consider the
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
550 following statement: >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
551 select *
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
552 from customer c,
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
553 contact cn,
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
554 department as dp,
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
555 employee e,
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
556 site_options so
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
557 where c.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
558 <
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
559 In INSERT mode after typing the final "c." which is an alias for the
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
560 "customer" table, you can press either <C-C>c or <C-X><C-O>. This will
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
561 popup a list of columns for the customer table. It does this by looking back
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
562 to the beginning of the select statement and finding a list of the tables
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
563 specified in the FROM clause. In this case it notes that in the string
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
564 "customer c", "c" is an alias for the customer table. The optional "AS"
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
565 keyword is also supported, "customer AS c". >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
566
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
567
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
568 4.3.3 Procedure Completion: *sql-completion-procedures*
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
569 <
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
570 Similar to the table list, <C-C>p, will display a list of stored
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
571 procedures stored within the database. >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
572
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
573 4.3.4 View Completion: *sql-completion-views*
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
574 <
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
575 Similar to the table list, <C-C>v, will display a list of views in the
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
576 database.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
577
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
578
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
579 4.4 Completion Customization *sql-completion-customization*
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
580 ----------------------------
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
581
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
582 The SQL completion plugin can be customized through various options set in
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
583 your |vimrc|: >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
584 omni_sql_no_default_maps
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
585 < - Default: This variable is not defined
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
586 - If this variable is defined, no maps are created for OMNI
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
587 completion. See |sql-completion-maps| for further discussion.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
588 >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
589 omni_sql_use_tbl_alias
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
590 < - Default: a
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
591 - This setting is only used when generating a comma separated
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
592 column list. By default the map is <C-C>l. When generating
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
593 a column list, an alias can be prepended to the beginning of each
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
594 column, for example: e.emp_id, e.emp_name. This option has three
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
595 settings: >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
596 n - do not use an alias
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
597 d - use the default (calculated) alias
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
598 a - ask to confirm the alias name
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
599 <
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
600 An alias is determined following a few rules:
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
601 1. If the table name has an '_', then use it as a separator: >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
602 MY_TABLE_NAME --> MTN
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
603 my_table_name --> mtn
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
604 My_table_NAME --> MtN
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
605 < 2. If the table name does NOT contain an '_', but DOES use
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
606 mixed case then the case is used as a separator: >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
607 MyTableName --> MTN
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
608 < 3. If the table name does NOT contain an '_', and does NOT
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
609 use mixed case then the first letter of the table is used: >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
610 mytablename --> m
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
611 MYTABLENAME --> M
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
612 <
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
613
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
614 4.5 Customizing Maps *sql-completion-maps*
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
615 --------------------
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
616
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
617 You can create as many additional key maps as you like. Generally, the maps
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
618 will be specifying different syntax highlight groups.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
619
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
620 If you do not wish the default maps created or the key choices do not work on
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
621 your platform (often a case on *nix) you define the following variable in
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
622 your |vimrc|: >
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
623 let g:omni_sql_no_default_maps = 1
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
624 <
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
625 Do no edit ftplugin/sql.vim directly! If you change this file your changes
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
626 will be over written on future updates. Vim has a special directory structure
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
627 that allows you to make customizations without changing the files that are
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
628 included with the Vim distribution. If you wish to customize the maps
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
629 create an after/ftplugin/sql.vim (see |after-directory|) and place the same
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
630 maps from the ftplugin/sql.vim in it using your own key strokes. <C-C> was
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
631 chosen since it will work on both Windows and *nix platforms. On the windows
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
632 platform you can also use <C-Space> or ALT keys.
1f929f3ca806 updated for version 7.0c03
vimboss
parents: 810
diff changeset
633
720
e180933b876a updated for version 7.0219
vimboss
parents:
diff changeset
634
810
9f345c48220b updated for version 7.0c
vimboss
parents: 800
diff changeset
635 vim:tw=78:ts=8:ft=help:norl: