Good day.
The first question is: why, there is Toad / SQL-developer / PLSQL-developer, etc. graphical ide-environments.
Well. Yes. There is. However, not everyone needs them as a means of working with oracle-subd objects.
Those. I'm here, in this article - not just for oracle-developers I will tell you something. Rather for dba, i.e. people whose work with sbd objects is much more specific, they do not need an ide-combine like Toad / SQL-developer / PLSQL-developer;
Second moment: now: remote location, everywhere and everywhere. In this regard, access to work is organized remotely.
Or: through something like VDI / RDP. Or: a working laptop is issued and from it, from it - work.
In the first case - well, it often means the graphical interface of the remote desktop and: Windows and resource-limited.
In the second case: well, organizations often try to save money here too - they will give out something with 8GB of RAM and - as you want, work on it. Ie: firefox / chrome, with N >> 10 tabs, some Toad / SQL-developer / PLSQL-developer, skype / zoom, something else.
In both cases: the question arises - how can I save money on resources, for example, on an IDE for oracle-subd.
Well, as it seems to me, there is an interesting project under this request: VoraX
The project is currently abandoned, alas.
For a number of reasons, I want to draw the community's attention to this project. On the one hand, so that more people see it, from different angles, and something, which is for / against seen / appreciated.
- , , , , - , . - . : : - .
- , , -, -.
- - vim-. : vim-, -. - -, , , - sqlplus, .
.. - - , : , . dbext, vim-dadbod, Emacs -: - , -: -, , , , .
, -, - gem- "vorax", . - , , , racc
gem. , gem-, ruby-dev -, .
: , : ruby
, vim
ruby, oracle- ( -).
LinuxMint - , :
apt install gawk bison libffi-dev libgdbm-dev libncurses-dev libsqlite3-dev libyaml-dev zlib1g-dev -y apt install sqlite3 libgmp-dev libreadline-dev checkinstall libxml2-dev libxslt-dev -y apt install build-essential ruby-dev pkg-config -y ruby -v gem install vorax gem list | sort
vim-, ruby:
mkdir ~/Vim4VoraX; cd ~/Vim4VoraX
git clone https://github.com/vim/vim.git
cd ./vim/src/
#make distclean
./configure --enable-rubyinterp --with-features=huge
make
./vim --version | grep ruby; pwd
sudo apt remove vim
sudo checkinstall --pkgname vim4vorax4 --pkgversion 8.2.0 --install
#dpkg -r vim4vorax4
#in vim:
#:ruby puts RUBY_VERSION
cd ~/.vim/bundle && git clone https://github.com/kakash1hatake/vorax4.git
. - , - :
/vorax4/doc/vorax.txt
- : , vim-.
, :
: , xml-
profiles.xml
, , , . -, , :/vorax4/vorax/ruby/lib/vorax/profiles_manager.rb
, -, (: , vim-) . : - , (
WHERE ROWNUM <= :limit
), , , - . . set- - . , - , , . - , . - .
:
<Leader>E
: ..: sanbdox-. -, - -. , - -, , , - - , - . Also: sigint 2,9 - -. Also: , c ( , visual- ), vim-.
plsql-, , , ( vim-), "Enter". - , , - - , as is, :
The default key mapping for compiling is c. "C" stands, obviously, for "C"ompile. For convenience, you may also use @. Two things happen when a PLSQL object is compiled:
* the buffer content is sent as it is to the server.
* as soon as the buffer content is executed, Vorax will check the ALL_ERRORS view to see if any relevant errors exist. If such errors are found, they are loaded into a Vim quickfix window, along with the error line, error column and the message itself.
Note: Pay attention that during the compilation of an PLSQL object, the substitution variables feature is disabled.
(. ..):
- . - . , - (/ / /) - . - : /vorax4/vorax/ruby/lib/vorax/sqlplus.rb
, , , ( ):
, -, , - , - -. - , , .
.
, , -, SQLcl
: -, . : - - /vorax4/vorax/ruby/lib/vorax/sqlplus.rb
sqlplus
, sql
;
, / : SQLcl - <SQLcl->/sqlcl/bin/sql
, -, .
, , : - /sqlcl/bin/sql
- .
, - SQLcl , -, #set blockterm
, , .
, , run <SQLcl->/sqlcl/bin/sql
- -, .., :
function run {
if [ "m$SQLCL_DEBUG" != "m" ]; then
echo "JAVA=$JAVA"
echo "JAVA_OPTS=${APP_VM_OPTS[@]}"
echo "DEBUG=$DEBUG"
echo "CPLIST=$CPLIST"
echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
echo "exec $JAVA $CUSTOM_JDBC $CYGWIN "${APP_VM_OPTS[@]}" -client $SQLCL_DEBUG -cp "$CPLIST" oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli "
fi
exec $JAVA $CUSTOM_JDBC $CYGWIN "${APP_VM_OPTS[@]}" -client $SQLCL_DEBUG -cp "$CPLIST" oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli "$@"
}
, - .
: / - .
, .
, /, / .
, - SQLcl, , , ?
Also, the question is, what other options are there / know the options for working with oracle-subdata through cli-applications, comparable or more advanced than Vorax, i.e.: connection management, object browser, and that's all.
Thank you for your attention, your time.
UPD1: example of VoraX installation in CYGWIN
UPD2: Found out that code completion, omnicompletion works, in insert mode, by ctrl-x, ctrl-o it turns out like this: