Python backend for vimtk plugin
Project description
Description
The tools in this package focus on, but are not exclusive to Python development with gVim. This is both a Vim plugin and a pip installable Python module.
Usage
We suggest using vim-plug to manage plugins. Install vim plug like this:
# Install vim-plug into your autoload directory
" See: https://github.com/junegunn/vim-plug
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
We suggest the following vimrc as a template:
" DEMO_VIMRC:
call plug#begin('~/.vim/bundle')
Plug 'sjl/badwolf'
Plug 'Erotemic/vimtk'
call plug#end() " required
filetype plugin indent on
syntax on
"""" The above code should be among the first things in your vimrc
" Map your leader key to comma (much easier to hit)
let mapleader = ","
let maplocalleader = ","
noremap \ ,
" Make default vimtk remaps
:call VimTK_default_remap()
" Register files you use all the time with quickopen
" (use <leader>i<char> as a shortcut to specific files
call vimtk#quickopen(',', '~/.vimrc')
call vimtk#quickopen('5', '~/.bashrc')
This module defines many helper functions, but does not bind them to keys by default unless VimTK_default_remap is called. The default bindings are as follows:
noremap <leader>H :call vimtk#helloworld()<Esc>
noremap <leader>a :call vimtk#execute_text_in_terminal(mode())<CR>
vnoremap <leader>a :call vimtk#execute_text_in_terminal(visualmode())<CR>
noremap <leader>m :call vimtk#execute_text_in_terminal('word')<CR>
noremap <leader>C :call vimtk#copy_current_fpath()<Esc>
noremap <leader>M :call vimtk#ipython_import_all()<CR>
command! AutoImport call vimtk#insert_auto_import()
noremap <leader>pv :call vimtk#insert_print_var_at_cursor()<CR>
noremap <c-M-B> :call vimtk#insert_timerit(mode())<CR><Esc>
vnoremap <c-M-B> :call vimtk#insert_timerit(visualmode())<CR><Esc>
noremap <leader>es :call vimtk#smart_search_word_at_cursor()<CR>
noremap <leader>go :call vimtk#open_path_at_cursor("e")<CR>
noremap <leader>gf :call vimtk#open_path_at_cursor("e")<CR>
noremap <leader>gi :call vimtk#open_path_at_cursor("split")<CR>
noremap <leader>gv :call vimtk#open_path_at_cursor("vsplit")<CR>
noremap <leader>gv :call vimtk#open_path_at_cursor("vsplit")<CR>
noremap <leader>gt :call vimtk#open_path_at_cursor("tabe")<CR>
noremap gi :call vimtk#open_path_at_cursor("split")<CR>
Obviously you can modify the exact key bindings however you would like.
Here is what some of these functions do:
vimtk#execute_text_in_terminal - copies the current word, line, or visual selection and executes it in your most recently used terminal (perhaps running IPython or bash) without needing to alt-tab or copy paste.
vimtk#ipython_import_all - if you are in a python module, this funciton creates a few lines of code that will import everything in this module into the current namespace. Note, it detects if you need to modify your pythonpath and does that. It also completely disregards __all__. These lines are then executed in your terminal (which should probably be an IPython session)
vimtk#copy_current_fpath - Copies the path to the current file into the clipboard. On non-windows the home drive is replaced with ~.
vimtk#auto_import - Automatically inserts missing Python imports
vimtk#insert_print_var_at_cursor - Insert a print statement around the current variable your cursor is on (supports python, bash, cmake, and C++)
vimtk#insert_timerit - Make a stub timerit and insert it at the current position
vimtk#open_path_at_cursor - Open a file path or web url at your cursor
vimtk#quickopen(char, fpath) - Use <leader>[tvio] to open predefined files / directories
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file vimtk-0.2.0.tar.gz
.
File metadata
- Download URL: vimtk-0.2.0.tar.gz
- Upload date:
- Size: 34.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 772eac9d81fe4390021f31ffc3c05250f43e499d62160f716cf9ada32052b3b5 |
|
MD5 | 96e3fec55804068ad3fff49700f32680 |
|
BLAKE2b-256 | d161fc6255ffd8797149ca0d9e3814166b96c22d8a9c329dfebb877ef9a1ee66 |
File details
Details for the file vimtk-0.2.0-py2.py3-none-any.whl
.
File metadata
- Download URL: vimtk-0.2.0-py2.py3-none-any.whl
- Upload date:
- Size: 34.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 181cef9b6874587ef5e11859bae6fb9fa12e3bbcb00ade65bbc2c4bf49e46fba |
|
MD5 | 66b96378df7d666e5fd84d91499de6cc |
|
BLAKE2b-256 | 448cd0e4764cb14a24602bb498ad8ed415da4d72677559060d044d33761406c3 |