vim setup
+1
@@ -29,6 +29,7 @@ Title | Brief Description
|
|||||||
[[State Channels]] | Overview and characteristics
|
[[State Channels]] | Overview and characteristics
|
||||||
[[Testnet Node Setup]] | Tech support
|
[[Testnet Node Setup]] | Tech support
|
||||||
[[Transaction] | Terminology
|
[[Transaction] | Terminology
|
||||||
|
[[Vim Setup] | Vim setup for sophia/gajumaru development
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+91
@@ -0,0 +1,91 @@
|
|||||||
|
# Vim setup
|
||||||
|
|
||||||
|
documenting for myself
|
||||||
|
|
||||||
|
## Sophia syntax highlighting
|
||||||
|
|
||||||
|
todo. it's on github somewhere, not hard to find
|
||||||
|
|
||||||
|
## fuzzy finding plugin
|
||||||
|
|
||||||
|
this is annoying and requires like 10 minutes of setup.
|
||||||
|
|
||||||
|
BUT this is super helpful in huge repositories such as the node codebase
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo apt install bat fd-find fzf ripgrep
|
||||||
|
```
|
||||||
|
|
||||||
|
(devuan excalibur)
|
||||||
|
|
||||||
|
ripgrep is optional, craig, but the vim plugin needs it if you want to search
|
||||||
|
for regexes *inside* files
|
||||||
|
|
||||||
|
say you're trying to quickly remember what the fuck `gmser_id:id()` is. Like is
|
||||||
|
that the record or is that the 33-byte tagged public key? I can't remember and
|
||||||
|
neither can you
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
this saves you like 15 seconds and a bunch of context switching. each time
|
||||||
|
|
||||||
|
the plugin is super annoying to install but basically don't follow any of the
|
||||||
|
instructions in the repo. just clone the `fzf.vim` repo on github (google) to
|
||||||
|
`~/.vim/bundle/fzf.vim`.
|
||||||
|
|
||||||
|
you also need to tell vim to load the `.vim` file that ships with the package
|
||||||
|
|
||||||
|
```
|
||||||
|
[pharpend@picklet ioecs/GajuDesk master] % dpkg -L fzf
|
||||||
|
/.
|
||||||
|
/usr
|
||||||
|
/usr/bin
|
||||||
|
/usr/bin/fzf
|
||||||
|
/usr/bin/fzf-tmux
|
||||||
|
/usr/share
|
||||||
|
/usr/share/doc
|
||||||
|
/usr/share/doc/fzf
|
||||||
|
/usr/share/doc/fzf/README-VIM.md.gz
|
||||||
|
/usr/share/doc/fzf/README.Debian
|
||||||
|
/usr/share/doc/fzf/README.md.gz
|
||||||
|
/usr/share/doc/fzf/changelog.Debian.amd64.gz
|
||||||
|
/usr/share/doc/fzf/changelog.Debian.gz
|
||||||
|
/usr/share/doc/fzf/changelog.gz
|
||||||
|
/usr/share/doc/fzf/copyright
|
||||||
|
/usr/share/doc/fzf/examples
|
||||||
|
/usr/share/doc/fzf/examples/completion.bash
|
||||||
|
/usr/share/doc/fzf/examples/completion.zsh
|
||||||
|
/usr/share/doc/fzf/examples/fzf.vim
|
||||||
|
/usr/share/doc/fzf/examples/key-bindings.bash
|
||||||
|
/usr/share/doc/fzf/examples/key-bindings.fish
|
||||||
|
/usr/share/doc/fzf/examples/key-bindings.zsh
|
||||||
|
/usr/share/doc/fzf/examples/plugin
|
||||||
|
/usr/share/fish
|
||||||
|
/usr/share/fish/vendor_functions.d
|
||||||
|
/usr/share/fish/vendor_functions.d/fzf_key_bindings.fish
|
||||||
|
/usr/share/man
|
||||||
|
/usr/share/man/man1
|
||||||
|
/usr/share/man/man1/fzf-tmux.1.gz
|
||||||
|
/usr/share/man/man1/fzf.1.gz
|
||||||
|
/usr/share/doc/fzf/examples/plugin/fzf.vim
|
||||||
|
```
|
||||||
|
|
||||||
|
last file there. put that file at `~/.vim/autoload/fzf.vim`
|
||||||
|
|
||||||
|
should just work.
|
||||||
|
|
||||||
|
- `:Files` opens the fuzzy file finder
|
||||||
|
- `:Rg` is the interactive grep thing shown above
|
||||||
|
|
||||||
|
i have this vimrc:
|
||||||
|
|
||||||
|
```vim
|
||||||
|
let $FZF_DEFAULT_COMMAND = 'fdfind --type f'
|
||||||
|
noremap <C-e> :Files<CR>
|
||||||
|
noremap <C-r> :Rg<CR>
|
||||||
|
```
|
||||||
|
|
||||||
|
the fdfind thing means fuzzy find doesn't surface files in your .gitignore
|
||||||
|
(e.g. beam files, `_build` insanity)
|
||||||
|
|
||||||
|
will try and see
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 262 KiB |
Reference in New Issue
Block a user