Git Product home page Git Product logo

vim-dadbod-ui's Introduction

vim-dadbod-ui

Simple UI for vim-dadbod. It allows simple navigation through databases and allows saving queries for later use.

screenshot

With nerd fonts: with-nerd-fonts

Tested on Linux, Mac and Windows, Vim 8.1+ and Neovim.

Features:

  • Navigate through multiple databases and it's tables and schemas
  • Several ways to define your connections
  • Save queries on single location for later use
  • Define custom table helpers
  • Bind parameters (see :help vim-dadbod-ui-bind-parameters)
  • Autocompletion with vim-dadbod-completion
  • Jump to foreign keys from the dadbod output (see :help <Plug>(DBUI_JumpToForeignKey))
  • Support for nerd fonts (see :help g:db_ui_use_nerd_fonts)
  • Async query execution

Installation

Use your favorite package manager. If you don't have one, I suggest vim-packager

function! PackagerInit() abort
  packadd vim-packager
  call packager#init()
  call packager#add('kristijanhusak/vim-packager', { 'type': 'opt' })
  call packager#add('tpope/vim-dadbod')
  call packager#add('kristijanhusak/vim-dadbod-ui')
endfunction

" This is just an example. Keep this out of version control. Check for more examples below.
let g:dbs = {
\  'dev': 'postgres://postgres:mypassword@localhost:5432/my-dev-db'
\ }

Configuration with lazy.nvim

return {
  'kristijanhusak/vim-dadbod-ui',
  dependencies = {
    { 'tpope/vim-dadbod', lazy = true },
    { 'kristijanhusak/vim-dadbod-completion', ft = { 'sql', 'mysql', 'plsql' }, lazy = true },
  },
  cmd = {
    'DBUI',
    'DBUIToggle',
    'DBUIAddConnection',
    'DBUIFindBuffer',
  },
  init = function()
    -- Your DBUI configuration
    vim.g.db_ui_use_nerd_fonts = 1
  end,
}

After installation, run :DBUI, which should open up a drawer with all databases provided. When you finish writing your query, just write the file (:w) and it will automatically execute the query for that database and it will automatically execute the query for selected database.

Databases

There are 3 ways to provide database connections to UI:

  1. Through environment variables
  2. Via g:dbs global variable
  3. Via :DBUIAddConnection command

Through environment variables

If $DBUI_URL env variable exists, it will be added as a connection. Name for the connection will be parsed from the url. If you want to use a custom name, pass $DBUI_NAME alongside the url. Env variables that will be read can be customized like this:

let g:db_ui_env_variable_url = 'DATABASE_URL'
let g:db_ui_env_variable_name = 'DATABASE_NAME'

Optionally you can leverage dotenv.vim to specific any number of connections in an .env file by using a specific prefix (defaults to DB_UI_). The latter part of the env variable becomes the name of the connection (lowercased)

# .env
DB_UI_DEV=...          # becomes the `dev` connection
DB_UI_PRODUCTION=...   # becomes the `production` connection

The prefix can be customized like this:

let g:db_ui_dotenv_variable_prefix = 'MYPREFIX_'

Via g:dbs global variable

Provide list with all databases that you want to use through g:dbs variable as an array of objects or an object:

let g:dbs = {
\ 'dev': 'postgres://postgres:mypassword@localhost:5432/my-dev-db',
\ 'staging': 'postgres://postgres:mypassword@localhost:5432/my-staging-db',
\ 'wp': 'mysql://root@localhost/wp_awesome',
\ }

Or if you want them to be sorted in the order you define them, this way is also available:

let g:dbs = [
\ { 'name': 'dev', 'url': 'postgres://postgres:mypassword@localhost:5432/my-dev-db' }
\ { 'name': 'staging', 'url': 'postgres://postgres:mypassword@localhost:5432/my-staging-db' },
\ { 'name': 'wp', 'url': 'mysql://root@localhost/wp_awesome' },
\ ]

Just make sure to NOT COMMIT these. I suggest using project local vim config (:help exrc)

Via :DBUIAddConnection command

Using :DBUIAddConnection command or pressing A in dbui drawer opens up a prompt to enter database url and name, that will be saved in g:db_ui_save_location connections file. These connections are available from everywhere.

Connection related notes

It is possible to have two connections with same name, but from different source. for example, you can have my-db in env variable, in g:dbs and in saved connections. To view from which source the database is, press H in drawer. If there are duplicate connection names from same source, warning will be shown and first one added will be preserved.

Settings

Table helpers

Table helper is a predefined query that is available for each table in the list. Currently, default helper that each scheme has for it's tables is List, which for most schemes defaults to g:db_ui_default_query. Postgres, Mysql and Sqlite has some additional helpers defined, like "Indexes", "Foreign Keys", "Primary Keys".

Predefined query can inject current db name and table name via {table} and {dbname}.

To add your own for a specific scheme, provide it through .g:db_ui_table_helpers.

For example, to add a "count rows" helper for postgres, you would add this as a config:

let g:db_ui_table_helpers = {
\   'postgresql': {
\     'Count': 'select count(*) from "{table}"'
\   }
\ }

Or if you want to override any of the defaults, provide the same name as part of config:

let g:db_ui_table_helpers = {
\   'postgresql': {
\     'List': 'select * from "{table}" order by id asc'
\   }
\ }

Auto execute query

If this is set to 1, opening any of the table helpers will also automatically execute the query.

Default value is: 0

To enable it, add this to vimrc:

let g:db_ui_auto_execute_table_helpers = 1

Icons

These are the default icons used:

let g:db_ui_icons = {
    \ 'expanded': '',
    \ 'collapsed': '',
    \ 'saved_query': '*',
    \ 'new_query': '+',
    \ 'tables': '~',
    \ 'buffers': '»',
    \ 'connection_ok': '',
    \ 'connection_error': '',
    \ }

You can override any of these:

let g:db_ui_icons = {
    \ 'expanded': '+',
    \ 'collapsed': '-',
    \ }

Help text

To hide Press ? for help add this to vimrc:

let g:db_ui_show_help = 0

Pressing ? will show/hide help no matter if this option is set or not.

Drawer width

What should be the drawer width when opened. Default is 40.

let g:db_ui_winwidth = 30

Default query

DEPRECATED: Use Table helpers instead.

When opening up a table, buffer will be prepopulated with some basic select, which defaults to:

select * from table LIMIT 200;

To change the default value, use g:db_ui_default_query, where {table} is placeholder for table name.

let g:db_ui_default_query = 'select * from "{table}" limit 10'

Save location

All queries are by default written to tmp folder. There's a mapping to save them permanently for later to the specific location.

That location is by default ~/.local/share/db_ui. To change it, addd g:db_ui_save_location to your vimrc.

let g:db_ui_save_location = '~/Dropbox/db_ui_queries'

Mappings

These are the default mappings for dbui drawer:

  • o / <CR> - Open/Toggle Drawer options (<Plug>(DBUI_SelectLine))
  • S - Open in vertical split (<Plug>(DBUI_SelectLineVsplit))
  • d - Delete buffer or saved sql (<Plug>(DBUI_DeleteLine))
  • R - Redraw (<Plug>(DBUI_Redraw))
  • A - Add connection (<Plug>(DBUI_AddConnection))
  • H - Toggle database details (<Plug>(DBUI_ToggleDetails))

For queries, filetype is automatically set to sql. Also, two mappings is added for the sql filetype:

  • <Leader>W - Permanently save query for later use (<Plug>(DBUI_SaveQuery))
  • <Leader>E - Edit bind parameters (<Plug>(DBUI_EditBindParameters))

Any of these mappings can be overridden:

autocmd FileType dbui nmap <buffer> v <Plug>(DBUI_SelectLineVsplit)

If you don't want any mappings to be added, add this to vimrc:

let g:db_ui_disable_mappings = 1

TODO

  • Test with more db types

vim-dadbod-ui's People

Contributors

adelarsq avatar afranioce avatar bgfxc4 avatar chana1024 avatar glepnir avatar harryvederci avatar iron-e avatar jonseitz avatar jtw023 avatar julesnp avatar kristijanhusak avatar mattcoker avatar mbhynes avatar seblj avatar skriems avatar tamago324 avatar ueaner avatar walkabout21 avatar willruggiano avatar yaocccc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vim-dadbod-ui's Issues

Cannot modify some queries after execute

Is it intentional behaviour in some case? I encounter it since setting let g:db_ui_tmp_query_location = './.ide/dbui/queries'. This directory is writable, it didn't have to be created manually and I still have no problem with saving any fresh query there.

QUESTION: How do you view/use a schema other than public?

I guess I would've expected the flow, when you run :DBUI to be

- dbs
  - schemas
    -tables

That is, when you open a database, you'd get a list of schemas, but instead you just get tables in the public schema. I don't see anything in help about navigating schemas. Is that just not supported?

Allow configuration for starting with expanded selected lists

I would like to have settings (per project) that start DBUI with some items expanded.

Please see #74 (as an example for expanding table list for selected database) how we could implement it.

In the next step I would like to have cursor placed at the top of tables list.

README g:dbs setup error

This is not valid vimscript, it should be either on one line or line continuation should be used.

" This is just an example. Keep this out of version control
let g:dbs = {
  'dev': 'postgres://postgres:mypassword@localhost:5432/my-dev-db'
}

Global variables g:db_ui_* VS g:dbui_* are misleading

Hello,
I think that the use of variables g:db_ui_* (for config) & g:dbui_* (in the plugin) are misleading, what I mean is that when I look at the source code of the plugin and find a g: variable, and I try to override it in my config, it does nothing.

For example, I wanted to disable to execution on write. Since I didn't see the option documented in the top readme (and didn't thought at checking the :h pages at that time, and went to check the source code and found

if g:dbui_execute_on_save && is_sql
autocmd BufWritePost <buffer> nested call s:method('execute_query')
endif

So I figured that setting g:dbui_execute_on_save to v:false (or 0) would disable this behavior.
Unfortunately, that variable is overwritten by
let g:dbui_execute_on_save = get(g:, 'db_ui_execute_on_save', 1)

which takes its value from g:db_ui_execute_on_save instead.

Why did you do this distinction? Would it be possible to keep a single source of truth, and maybe change all g:dbui_* to g:db_ui_* with default if they are not already set?

Can't auto execute table helpers when not executing on save

Consider the following minimal init.vim file:

let $DOTVIM = expand('$HOME/.config/nvim')

set runtimepath+=$DOTVIM/bundle/repos/github.com/kristijanhusak/vim-dadbod_async-query
set runtimepath+=$DOTVIM/bundle/repos/github.com/kristijanhusak/vim-dadbod-ui
filetype plugin indent on


let g:db_ui_auto_execute_table_helpers = 1
let g:db_ui_execute_on_save = 0
" let g:dbs = _some_postgres_db

augroup ps_dadbodui
    au!
    au Filetype dbui nmap <silent><buffer> <CR> <Plug>(DBUI_SelectLine)
augroup END

If I now run :DBUI and press enter on one of the postgres tables List or Columns queries then the helper query is not auto executed. If I now change g:db_ui_execute_on_save to 1 then it is. I don't know if this is a bug or a feature.

DotenvGet doesn't support .envrc files

I can get at a single database by exporting DBUI_URL but I'm not able to use the DB_UI_* env vars to populate the connections. I'm not sure if we can work around it here or if I should raise the issue over at Dotenv.

Overriding NERD fonts with g:db_ui_icons causes an error.

If I use g:db_ui_icons to override the the icons, it works ok if its simple e.g.:

    let g:db_ui_icons = {'expanded': '|','collapsed'>'}

but it produces an error if I try to override the nested items such as:

    let s:expanded_icon = '´ÿ┐'
    let s:collapsed_icon = '˃'
    let g:db_ui_icons = {
          \ 'expanded': {
          \   'db': s:expanded_icon.' ´ÜÀ',
          \   'buffers': s:expanded_icon.' ´âè',
          \   'saved_queries': s:expanded_icon.' ¯ù┐',
          \   'schemas': s:expanded_icon.' ´Çó',
          \   'schema': s:expanded_icon.' ´Çó',
          \   'tables': s:expanded_icon.' ´º░',
          \   'table': s:expanded_icon.' ´âÄ',
          \ },
          \ 'collapsed': {
          \   'db': s:collapsed_icon.' ´ÜÀ',
          \   'buffers': s:collapsed_icon.' ´âè',
          \   'saved_queries': s:collapsed_icon.' ¯ù┐',
          \   'schemas': s:collapsed_icon.' ´Çó',
          \   'schema': s:collapsed_icon.' ´Çó',
          \   'tables': s:collapsed_icon.' ´º░',
          \   'table': s:collapsed_icon.' ´âÄ',
          \ },
          \ 'saved_query': '  ´àø',
          \ 'new_query': '  ´º»',
          \ 'tables': '  ´º¬',
          \ 'buffers': '  ´¼ÿ',
          \ 'add_connection': '  ´Ü╣',
          \ 'connection_ok': 'Ô£ô',
          \ 'connection_error': 'Ô£ò',
          \ }

The symbols are messed up here but they are nerd font sysmbols.

Error detected while processing /home/pauln/.vim/plugged/vim-dadbod-ui/plugin/db_ui.vim:
line   52:
E15: Invalid expression: { 'expanded': {   'db': s:expanded_icon.' ',   'buffers': s:expanded_icon.' ',  

Maybe I'm doing it wrong.
I'm trying it with the nerd font option on:

    let g:db_ui_use_nerd_fonts=1

I'm trying to override the schema icon only as this seems to do weird things to Mintty.

Load database error

Hi @kristijanhusak
I use three different database connections, but after opening dadbod, I found that they are all connected to mysql.
the echo g:dbs

{'jianshu':'mysql://root@localhost/jianshu','ginweb':'mysql://root@localhost/ginweb'}

image

Update default queries in other schemas to include the schema name

I almost put this in #25, but I figured a new issue would help others looking for the same thing a little easier.

I just updated to the new version with schema support; it looks great. There is one issue (which is easy to work around so it's not an urgent thing), but the default queries (like LIST) need to be updated in schemas other than public to include the schema (i.e. select * from schemaname.tablename limit 200), otherwise (at least in postgres, which is what I'm using - not sure about other dbs) you get "relation does not exist" errors. It's easy to work around this by adding it manually however.

I might even try to tackle this a bit later. Seems like it would be pretty straight forward.

Thanks for the fast turnaround on #25!

Folders in saved queries - #enhancement

Folders in saved queries?

I like the idea of having saved queries to save time from writing out sql - but if you have a lot of them, it's nice to have a folder structure that contains queries - it makes it easier to get to them.

Have you thought about supporting nested folders in saved queries?

Show list of columns (and types) in the drawer automatically

Can a feature be added to automatically show the list of columns (and types) within a table in the drawer? Currently we need to execute the Columnstable helper to show columns. I think it would be useful to have such query executed automatically open opening a table (in order to have quick glance of the table contents)

Generate sql statements from column names

I want to generate insert or update sql statements into a query buffer using the columns from a table.
Using ultisnips is one option as it gives placeholders for text entry but I'm not sure how dynamic it can be because pure generating all the possible snippets for a database wouldn't scale. Another option would be a templates option in the tree.

:DBUI without any connections configured gets an error

Any idea why I get this error when opening without any connections configured:

Error detected while processing function db_ui#open:                                                                                                
line    2:                                                                                                                                          
E117: Unknown function: open                                                                                                                        
E15: Invalid expression: s:dbui_instance.open()

It worked for me before.

column width in dbout is too large

Screenshot from 2020-06-30 17-37-35

  • I am not able to control the width of column in dbout.

  • and also auto completion for keyword (like insert, select,...) is not working even after installing coc-db

  • I am using neovim and connected to mssql server

Add ability to redraw a single database connection.

Right now if you have more than 1 database connections and you use R to redraw, it redraws/refreshes all the database connections. If you have 10s of connection, it takes a while.

I tried searching but did not find a way to refresh only a single db connection. So, if we can't do it at the moment, seems like a good feature to add.

Can't list table User

Issue

I have a table named User that I cannot retrieve without modifying the default query.

Repro steps

  1. Open :DBUI
  2. Navigate to a table named User
  3. Select the ~ List option
  4. The generated query is `select top 200 * from User
  5. Execute the previously generated query
  6. Error:
Msg 156, Level 15, State 1, Server <server>, Line 1
Incorrect syntax near the keyword 'User'.

Workaround

Add brackets around the table name

select top 200 * from [User]

System info

  • vim: nvim v0.5.0-828-g0a95549d6 (nightly)
  • dadbod: built from source, commit 4a2a8b
  • dadbod-ui: built from source, commit 2281e0
  • Database: mssqlserver:latest running in docker
  • Database driver: Microsoft ODBC Driver for SQL Server 17

Additional info

There is a related issue: #73

Undefined variable: expanded

NVIM v0.3.8, MongoDB v3.6.8

When attempting to open a "table" in the drawer using "o", I'm receiving:

Error detected while processing function 158_method[2]..54:
line 21:
E121: Undefined variable: expanded
E15: Invalid expression: !tree.expanded

All tables are listed fine, and I receive results when running :DB db.xxx.find()

Suggestion.

Hey, I think this is great and saves the hassle of opening a new tmux window just for doing stuff in the database. Can you make it so that we can just add the connection and select databases from inside the GUI? Or is there a better way to dynamically specify a database so I don't have to always add it to my vimrc. Thanks for this by the way.

Exit gracefully

Is there a keymap where, after you're done using the DBUI... you want to leave the query results, toggle (presumedly) the drawer closed and delete the query buffer so you're back to the file you were previously at?

I mean I could automate a script to do this but perhaps this can be a nice default?

Running query as multiple-line selection gives out error

image

I found issue #30 about executing only selection as query, and while single line query works just fine, multiple-line doesn't seems to work and always throws out error as in the image.
ERROR: Can't initialize batch_readline - may be the input source is a directory or a block device.
It would be quite uncomfortable to move those lines to another query then execute them as a whole. Do you have any idea?

How can you set `sql_mode` in the connection?

I've tried setting my connection string to jdbc:mysql://localhost/thedatabase?user=theuser&sessionVariables=sql_mode='' (and various other iterations) but it doesn't work (I'm working on a legacy system with bad SQL) - is there a way I can set the SQL mode in the connection string?

Ability to cancel ongoing query

Hello. Thank you for this amazing plugin.
Currently there is no way to kill a running query when it takes forever to finish.
Would it be possible to handle C-c or similar to drop the execution?

Quoting table names in default queries

I know that we can define custom g:db_ui_table_helpers with quoted table names but probably they should be quoted by default because of tables named order or like another SQL keyword.

let s:mysql = {
      \ 'List': 'SELECT * from {optional_schema}`{table}` LIMIT 200',

Saved queries do not execute on write

I have tried saving a query, when selecting it again, I cannot execute it by writing. Is it possible to do this?

Also, perhaps there could be a binding to execute the current file without doing a write?

Do you plan on making out buffer interactive

Hi there !

Well, the title is quite self explanatory !

I'm just trying your plugin and I find it very interesting. I'm just wondering if I'll be able one day to, say, delete a row in database by
performing a mapping on it in the out buffer, for example.

Is it something you're considering for the future or not at all ?

Thanks again

No table schema?

Hey,

First of all - Great job. That's exactly the kind of tool I was looking for. Unfortunately, after connecting to SQL Server db via jdbc, there is no schema prefix visible and therefore table names look duplicated when if fact they have the same name but different schemas.

Due to some github bug I can't put image here, but I guess it's pretty straightforward to visualize the problem.

Change only some icons and a config to override expanded/collapse icon

Hi. I want to change the expanded/ collapse icon (i.e the open/close) triangle. I tried adding:

let g:db_ui_icons = {
    \ 'collapsed' : {
        \ 'db': ' ',
    \ },
\ }

but then when running :DBUI I get

Error detected while processing function <SNR>196_method[2]..115[27]..110[31]..113[30]..124:
line    5:
E716: Key not present in Dictionary: saved_queries
E15: Invalid expression: g:dbui_icons.collapsed[a:type]

Is it possible to override a single icon? Also is it possible to add options to override the expanded/ collapsed icons in general rather than having to manually override each pair of expanded/collapsed + db/buffers, etc? Something like:

let g:db_ui_expanded_collapsed = ['foo', 'bar']

Zero Tables Shown when Connected to Oracle using TNS Alias

Thank you for this plugin! I've been using it on MariaDB databases to much success. Recently I started using an Oracle database for work (see tpope/vim-dadbod#75), but I'm having a recurring issue with the UI.

I first configure vim-dadbod-ui to connect to my oracle database by providing a configuration which looks like this:

[
	{
		"url": "oracle://user_name:pass_word@service_name",
		"name": "Foo"
	}
]
  • service_name is an alias defined in the tnsnames.ora located at $TNS_ADMIN.

Next, I connect to the database with :DBUI. When it establishes the connection, I see this:

Table Count

However, when I run this query:

select count(table_name) from user_tables;

…I get this output:

Query Result

None of the tables seem to be reported. It also looks like coc-db and vim-dadbod-completion are affected, as completions do not work when connected to the Oracle database. Should I create separate tickets for those?

Add option for setting g:db from the menu

Sometimes it's useful to run SQL commands from inside a source file - either an SQL string inside an host language or some lines from a .sql file - but dadbod-ui only supports running SQL queries from its own buffer queries. It would be nice if we the :DBUI panel had an option to set g:db so that we can use dadbod-ui to manage the database connections and regular dadbod's :DB to run queries from source files.

Cannot open DBUI after inputing wrong db address

Recently i'm inputing a wrong mysql address format (mysql://localhost@user/dbname) and now :DBUI cannot be opened.

Error detected while processing function db_ui#open[1]..<SNR>102_init[2]..9[25]..11[10]..12; line 10: E716: Key not present in Dictionary: "path /=? '/'" E15: Invalid expression: schema_support && tolower(scheme) =? 'mysql' && parsed_url.path /=? '/'
Tried to remove dadbod-ui with PlugClean and reinstalling it again, but the result are the same.

RFE - Allow running query as selection(s) from buffer, rather than writing entire buffer? Auto-folded results when multiple outputs?

Is it possible to have a mapping to execute the query, instead of writing the buffer? That way you could have many queries in a file and run them individually or only some but not all.

Originally posted by @moorecode in #8 (comment)

Following up on the comment above. Is this possible in any way? This would be a really useful feature.

I don't know if you've used cosminadrianpopescu's sql-workbench plugin (cosminadrianpopescu/vim-sql-workbench) which I know uses SQLWorkbench/J as its back-end and thus is different from what you may have available, but his does have this feature.

Another feature that the sql-workbench plugin has that would be amazing if it could be implemented here is it automatically autofolds query output in the results buffer when run with multiple queries, or for successive queries even. The current query is always expanded, but all previous results are autofolded.

It makes it really easy to navigate between result sets in the results buffer. (I've attached a screen grab which shows an example of this for reference.)
sqlworkbench_folded_result_sets

BTW yours is really an amazingly useful plugin! Thanks so much for creating and sharing, it is much appreciated.

Set filetype based on connection url

Hi, great plugin thanks for sharing.

It would be great if New query would set filetype based on database connection url, like mysql for mysql://127.0.0.1/test.

Env vars not utilized properly unless loaded from the start

I am using vim-dotenv to load database connection strings from a .env file that exists directly in my home directory (~/.env). The problem I am having is that it seems like this plugin only recognizes the env vars sourced by vim-dotenv if they are sourced automatically (when vim starts). If I source more env vars interactively with :Dotenv {dir} (from vim-dotenv), the connections don't show up when I do :DBUI.

The reason I need to do this is because vim-dotenv seems to only source the first .env file that it finds up the directory tree. So if I am in a project with its own directory (that exists in my home directory) that has its own .env file, the ~/.env file does not get sourced (and doesn't show up when I do :DBUI).

Is there anyway to make this work? My goal is to call something in my .vimrc that manually sources ~/.env directly on vim startup, that way I can always call :DBUI and see all my connections (even if I didn't open a file directly -- side note, why do the env vars for connections not work properly if you don't actually open a file with vim?)

Thanks for any help, great plugin by the way -- surprised it is not more popular.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.