-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmysql-vim
executable file
·36 lines (31 loc) · 1.31 KB
/
mysql-vim
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash
# Copyright 2012 Kenneth Mitchner
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
if [ $# -ne 4 ] ; then
echo "Usage: $0 <username> <password> <host> <database>\n"
exit 1
fi
USER=$1
PASS=$2
HOST=$3
DB=$4
TMPFILE=$(tempfile -s.sql)
vim $TMPFILE -c "execute \"cabbrev w <c-r>=(getcmdtype()==':' && getcmdpos()==1 ? 'MYSQLQUERY' : 'w')<CR>\""\
-c "execute \"cabbrev q qa\""\
-c "command! NEWBUFFER new | set buftype=nofile | set bufhidden=hide | setlocal noswapfile | wincmd r | wincmd k"\
-c "command! CLEARBUFFER wincmd j | bwipeout | execute \"NEWBUFFER\""\
-c "command! MYSQLQUERY write | execute \"CLEARBUFFER\" | wincmd j | execute \"\$read ! mysql -u$USER -p$PASS -h$HOST $DB <$TMPFILE\" | 1d | wincmd k"\
-c "execute \"NEWBUFFER\""
rm $TMPFILE
echo "Thank you for using my awesome mysql editor"