как использовать vim в sqlplus
вариант для unix-like OS
- Первый шаг очевиден -- надо добавить/изменить строчку в ~/login.sql
define _editor=vim
- Второй шаг -- добавления в локальный .vimrc:
set nocompatible " it's vim not vi, for Christ sake! syntax on " why not? " next function allows you to do completion of words by pressing <Tab> function! InsertTabWrapper(direction) let col = col('.') - 1 if !col || getline('.')[col - 1] !~ '\k' return "\<tab>" elseif "backward" == a:direction return "\<c-p>" else return "\<c-n>" endif endfunction inoremap <tab> <c-r>=InsertTabWrapper ("forward")<cr> inoremap <s-tab> <c-r>=InsertTabWrapper ("backward")<cr>
- Третий шаг -- изменения в локальном ~/.vim каталоге:
- добавить в каталог ~/.vim/after/ файл filetype.vim со следующим содержимым:
augroup filetypedetect au BufNewFile,BufRead afiedt.buf setf sql augroup END
- добавить в каталог ~/.vim/after/syntax/ файл sql.vim со следующим содержимым:
set dict+=$HOME/.vim/dict/sql.dict " our own dictionary set cpt=.,k,w,b,t,i " use keywords (k) for completion
- создать файл ~/.vim/dict/sql.dict в который вставить те слова, для которых может применяться completion (напоминаем, что completion и так будет работать для стандартных keywords, определённых в $VIMRUNTIME/syntax/sql.vim). Это могут быть слова dual, v$session, dba_segments etc.
- добавить в каталог ~/.vim/after/ файл filetype.vim со следующим содержимым: