A second take on my vim and neovim configurations.
# clone repo
# install the minpac plugin manager
git submodule init- Vi-Improved
- Absolute Bare Minimum
- Better Settings
- The Patient Vimmer
- Learn Vimscript The Hard Way
- You Do Not Grok Vi
-
Moving better
- Motions and Text Objects
:help navigation - Jumps (Search, Tags, Changes)
- Consider disabling backspace changes so we have to use Normal mode
- Consider lowering or disabling key repeat to force you to use operators motions and objects
- Motions and Text Objects
-
Read up on 'tags-and-searches' 'definitions-search' 'suffixadd', 'includeexpr', 'cfile' Investigate how we can use these with PHP, JS, Composer, Node and ctags/global tags
- 'includeexpr' can take a function. it's used by
gfto jump to files. Look at how rails.vim uses this.
- 'includeexpr' can take a function. it's used by
Spaces {size}> — Use {size} spaces for indentation rather
than tabs.
Tabs {size}> — Use {size} tabs for indentation rather than
spaces.
DiffOrig — diff the current buffer against the file it was
loaded from. Useful for seeing the changes made so far. spaces.
CreateSnippet — to be implemented will create a new snippet
from the currently selected text (or range?); useful for when I notice I'm
repeating patterns/idioms.
<C-L>— clear highlighted searches; mapped as an analog to<C-L>to clear in the shell?<C-E>triggers snippet expansion for Ultisnipsg!— run/filter the current line or visual selection through the shell. Effectively, we can execute commands/scripts from the buffer. See:help filter. You can use!and!!normal mode to supply the target filter yourself.
https://gist.github.com/romainl/9721c7dd13c30714f568063e03c106dd Not only can you record the macros, you can edit and assign them from other sources. You don't have to record one, you can build it manually. If so, then we can record and save things like refactorings?
:e $MYVIMRC
:w|so %
Use ~ and g~ with motions to change the case of text targeted by motion
https://www.reddit.com/r/vim/comments/4ouh89/weekly_vim_tips_and_tricks_thread_15/d4fvd0g/
- Check out
cpoptions - Look into useing 'define' 'include-search' 'includeexpr' 'suffixesadd' ''
- Consider having an "extra" mapping for
gflike<Space>gfor<LocalLeader>gfthat can do extra/uncommon things when I want hop files such as dealing with NL's non PSR code in PHP etc. - Create command to run buffer or selection through a language specific
interpreter. Results should go to a scratch buffer
:help filter:help buftype
Installing the PHP Language Server globally…
composer global require "felixfbecker/language-server"
composer global require "jetbrains/phpstorm-stubs:dev-master@dev"
composer run-script --working-dir=$HOME/.composervendor/felixfbecker/language-server parse-stubsRun
php $HOME/.composer/vendor/bin/php-language-server.php
# composer global exec php-language-server.php did not work