diff --git a/README.md b/README.md index 4cd4129..823c8a7 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,43 @@ -# vim-split-open +# SplitOpen -This is my first vim plugin. It provides a command to open a combination of c++ source and header file in a new tab split side-by-side. +This vim plugin opens file-pairs in a new split-window tab + +## Usage + +Use + + :SplitOpen filename + +with a .cpp or .h file as filename to open a new tab containing a vertical split +with the corresponding header file in the left window and the corresponding +source file in the right window. + +## Configuration + +You can configure the following settings: + + +### g:splitopen_set_fzf_keys + +Set this option to 1 + + let g:splitopen_set_fzf_keys = 1 + +to have SplitOpen overwrite the default fzf keybindings ctrl-t/x/v for opening +files in splits or tabs to add an addional binding ctrl-s to call SplitOpen. + +## License + +SplitOpen is GPL-3.0 licensed. See LICENSE file for more info. + +## Changelog + +v0.0.3 +* Add fzf.vim keybinding + +v0.0.2 +* Added delay-loading +* Added documentation + +v0.0.1 +* Initial release diff --git a/doc/splitopen.txt b/doc/splitopen.txt index 66af367..c4b3e6e 100644 --- a/doc/splitopen.txt +++ b/doc/splitopen.txt @@ -3,9 +3,11 @@ ================================================================================ CONTENTS *SplitOpenContents* - 1. Usage ..................................|SplitOpenUsage| - 2. License ................................|SplitOpenLicense| - 3. Changelog ..............................|SplitOpenChangelog| + 1. Usage ..............................|SplitOpenUsage| + 2. Configuration ......................|SlitOpenConfiguraton| + 2.1 g:splitopen_set_fzf_keys.......|SplitOpenConfiguration_set_fzf_keys| + 3. License ............................|SplitOpenLicense| + 4. Changelog ..........................|SplitOpenChangelog| ================================================================================ 1. Usage *SplitOpenUsage* @@ -19,16 +21,33 @@ with the corresponding header file in the left window and the corresponding source file in the right window. ================================================================================ -2. License *SplitOpenLicense* +2. Configuration *SplitOpenConfiguration* + +You can configure the following settings: + +-------------------------------------------------------------------------------- + +2.1 g:splitopen_set_fzf_keys *SplitOpenConfiguration_set_fzf_keys* + +Set this option to 1 + + let g:splitopen_set_fzf_keys = 1 + +to have SplitOpen overwrite the default fzf keybindings ctrl-t/x/v for opening +files in splits or tabs to add an addional binding ctrl-s to call SplitOpen. + +================================================================================ +3. License *SplitOpenLicense* SplitOpen is GPL-3.0 licensed. See LICENSE file for more info. ================================================================================ -3. Changelog *SplitOpenChangelog* +4. Changelog *SplitOpenChangelog* +v0.0.3 + * Add fzf.vim keybinding v0.0.2 * Added delay-loading * Added documentation - v0.0.1 * Initial release diff --git a/plugin/splitopen.vim b/plugin/splitopen.vim index 9036e30..91cabdd 100644 --- a/plugin/splitopen.vim +++ b/plugin/splitopen.vim @@ -1 +1,13 @@ command -nargs=1 SplitOpen :call splitopen#SplitOpenFile("") + +if !exists('g:splitopen_set_fzf_keys') + let g:splitopen_set_fzf_keys = 0 +endif + +if g:splitopen_set_fzf_keys + let g:fzf_action = { + \ 'ctrl-s': 'SplitOpen', + \ 'ctrl-t': 'tab split', + \ 'ctrl-x': 'split', + \ 'ctrl-v': 'vsplit' } +endif