🚧 Vastly revamped nvim with fzf and ripgrep

This commit is contained in:
z3rOR0ne 2022-09-07 01:34:54 -07:00
parent 3b851eaefe
commit 22856a2223
7 changed files with 189 additions and 22 deletions

View file

@ -184,7 +184,6 @@ export PS1='\[\033[01;34m\][\u@\h\[\033[01;37m\] \W\[\033[01;34m\]]\$\033[01;34m
eval "$(thefuck --alias)"
export PATH="$PATH:$GOPATH/bin:/home/brian/scripts:/home/brian/.local/bin:/home/brian/.local/share/nvim/lsp_servers"
export GREP_COLORS='ms=01;34'
[ -f ~/.fzf.bash ] && source ~/.fzf.bash
# icons-in-terminal
# source ~/.local/share/icons-in-terminal/icons_bash.sh

View file

@ -99,6 +99,19 @@ end
-- Enable quick-lint-js
require('lspconfig/quick_lint_js').setup {}
-- Enable use of ripgrep
require('nvim-ripgrep').setup{
runner = require('nvim-ripgrep.run').ripgrep, -- grep command
prompt = " ", -- prompt
window = {
width = 0.8,
border = "rounded",
};
open_qf_fn = function()
return vim.api.nvim_command('copen')
end,
}
-- quick-lint-js detects errors in insert mode
vim.lsp.handlers['textDocument/publishDiagnostics'] = vim.lsp.with(
vim.lsp.diagnostic.on_publish_diagnostics, {

View file

@ -14,6 +14,9 @@ keymap('n', '<a-right>', '<c-w>:tabnext<CR>', {})
-- Use ctrl- [hl] to select the active split!
keymap('n', '<c-h>', '<c-w>:wincmd h<CR>', {}) keymap('n', '<c-l>', '<c-w>:wincmd l<CR>', {})
-- open fzf
keymap('n', '<c-p>', '<c-w>:Files<CR>', {})
-- Toggle NERDCommenter with Ctrl + c
vim.cmd[[:map <C-c> <Plug>NERDCommenterToggle]]
@ -52,3 +55,4 @@ vim.cmd[[noremap <silent> <expr> k (v:count == 0 ? 'gk' : 'k')]]
-- Toggle English spellcheck with F11
vim.cmd[[nnoremap <silent> <F11> :set spell!<cr>]]
vim.cmd[[inoremap <silent> <F11> <C-O>:set spell!<cr>]]

View file

@ -38,7 +38,8 @@ require('packer').startup(function()
use 'mattn/emmet-vim'
use 'norcalli/nvim-colorizer.lua'
use 'airblade/vim-gitgutter'
use 'ctrlpvim/ctrlp.vim' -- fuzzy find files
-- use 'ctrlpvim/ctrlp.vim' -- decent fuzzy find files
use 'junegunn/fzf.vim' -- better fuzzy find files
use 'preservim/nerdcommenter'
use 'prettier/vim-prettier'
use {'lewis6991/gitsigns.nvim'}

167
nvim_custom_keys.txt Normal file
View file

@ -0,0 +1,167 @@
NOTES ON NEOVIM AND MY PERSONAL NEOVIM WORKFLOW
FOR OFFICIAL DOCUMENTATION OF NEOVIM, PLEASE VISIT THEIR GITHUB: https://github.com/neovim/neovim
I have created this small txt file to document my basic neoneovim work flow
It is combined with notes about my espanso keybindings, which are meant to aid in the workflow
Keep in mind these are specific to my neovim setup and will definitely not work in all neovim setups
-- Standard keybindings (all neovim)
NORMAL MODE
h - go one character left (prepend with a number to go that many characters)
j - go one character down (prepend with a number to go that many characters)
k - go one character up (prepend with a number to go that many characters)
l - go one character right (prepend with a number to go that many characters)
w - go to the right to the beginning of the next word (delimited by spaces)
b or shift b - go to the left to the beginning of the last word (delimited by spaces)
e or shift e - go to the right to the ending of the next word (delimited by spaces)
0 - go to beginning of line (prepend with a number to go that many characters)
$ - go to the end of the line (prepend with a number to go that many characters)
gg - go to top of the page
shift + g - go to the bottom of the page
ctrl u -page up
ctrl d - page down
/ - forwards slash searches foor the word/term you wish to jump to, just press enter once it is highlighted
:w - writes (my nneovim setup as autosave, but it's still a good feature to have)
:q - quits neovim (first neovim command to learn)
u - undoes last change (can be used with prepended numbers depending on how many steps you want to undo)
ctrl + r - reverts changes over after unintentional undoing (undoes the last undo commands, also can be prepended by a number)
d - beginning d keybinding, can be combined with many of the above commands (it cuts, so you can paste it using p keybinding)
(can be prepended by a number, and multiples the amount of words/lines is deleted/cut)
dh - delete word one back (equivalent to db)
dj - delete one line down
dk - delete one line up
dl - delete word one forward (equivlanet to dw)
dd - delete current line
d0 - delete from current cursor position to the beginning of the line
d$ - delete from the current cursor position to the end of the line
dgg - delete from the current cursor position to the beginning of the document
dG - delete from the current position to the end of the document
dw - delete word on current position
de - delete current cursor position to the end of the word
db - delete current cursor position to the beginning of the word
x - delete character under current cursor position
interesting use case:
di( - will delete everything encapsulated in the following parenthesis
di{ - will delete everything encapsulated in the following curly brackets
di[ - will delte everything encapsulated in the following square brackets
y - beginning y keybinding, yanks or copies character or word for pasting elsewhere using the p keybinding
(can be prepended by a number, and multiples the amount of words/lines to be copied)
yh - copies one word back (equivalent to yb)
yj - copies one line down
yk - copies one line up
yl - copies one word forward (equivlanet to ye)
ye - copies one word forward
yb - copies one word back
yy - copies entire line
yw - copies entire word
y0 - copies from current cursor position to beginning of line
y$ - copies from current cursor position to end of line
yG - copies from current cursor position to the end of document
ygg - copies from current cursor position to the beginning of document
FROM NORMAL MODE, ENTERING OTHER MODES
i - enter INSERT mode at the current cursor position
a - enter INSERT mode at the following cursor position (appending)
shift + i - enter INSERT mode at the beginning of the line
shift + a - enter INSERT mode at the end of the line
v - enter VISUAL mode
shift -v enter VISUAL mode and select the current line
ctrl + v - enter VISUAL BLOCK MODE
NO MATTER WHAT MODE YOU'RE IN, you can always:
<ESC> to return to NORMAL MODE
INSERT MODE
tab - configured for four spaces in my case
VISUAL MODE
h,j,k,l,g,shift+g,0,$ all apply, it simply highlights them
and you can use standard and custom commands here that would normally apply in NORMAL mode
CTRL + V ENTERS VISUAL BLOCK MODE
I only really use this for muliple commenting out of lines
(ctrl + v + j or k and then ctrl+c to comment out code)
--Custom Keybindings
NORMAL MODE
CTRL + x removes highlighting from previous search results
CTRL + c Comment out line (use in conjunction with CTRL + V for multiple lines)
CTRL + j/k Enter Multi-Cursor (red cursor is NORMAL MODE< yellow cursor is INSERT MODE) (hit <ESC> to return to NORMAL MODE - might require hitting <ESC> multiple times)
SHIFT + m Open up Markdown Preview for .md files (mainly used for README.md)
CTRL + p Open fuzzy file finder like search application
:Neoformat Formats most code options (don't use with .c or .cpp files as there is another application i use for that)
cp alias for using ClangFormat C/C++ Formatter
CTRL + b : Open Nneovim Tree
in Nneovim Tree there are specific keybindings (most standard neovim keybindings work here as well):
a - creates new file (keep adding slashes to create directories or don't for regular files)
d - deletes file (hit y when prompted)
r - renames file (enter new name and hit enter)
/ search for a word in whichever document you have Open
CTRL + v open file in Nneovim Tree in new vertical workspace
(if more than 2 are open, Nneovim will ask which one you wish to open it next to, A or B or C etc)
CTRL + h Navigate to one vertical window to the left
CTRL + l Navigate to one vertical window to the right
CTRL + e to adjust window width (h and l will adjust width, just hit enter afterwards to adjust, opening and closing nneovim tree readjusts back to defaults)
CTRL + t open new tab
ALT + <right arrow> or <tab> goes to next tab
ALT + <left arrow> or SHIFT + <tab> goes to previous tab
SHIFT + S Aliased to global search and replace
SHIFT + T Runs jester unit tester on appropriate .test.js files
F11 Toggle Spellchecker
-- INSERT MODE
ii - equivaent to <ESC> key (return to normal mode from insert mode)
-- ESPANSO BASED commands
NOTE: Espanso can be used in conjunction for some powerful aliases in neovim (as well as other applications)
FURTHER NOTATION: Please note that espanso is capabale of a lot more than is featured here and I highly recommend coming up with further expamples as it has the potential to greatly increase workflow speed
SEE: https://espanso.org/
Here are just some of my favorite expanded texts
In NeoVim's INSERT MODE, simply type
:command-prepended-by-colon - expands to this
:cll - console.log()
:cle - console.error()
:clt - console.table()
:func - function () {}
:def - def():
:fn - pub fn () {}
:for - for (;;) {}
:while - while () {}
:do - do {} while ()
:if - if () {}
:elif - else if () {}
:else - else {}
:try - try {} catch(error) {}
:inc - #include
:$ - `${}`

View file

@ -27,22 +27,8 @@ https://www.itechtics.com/windows-10-download-iso/
To understand google-font-installer(gfi): visit: https://github.com/lordgiotto/google-font-installer
set a $PHONE env by putting your number into $HOME/.phone_number for textme script to work
create a .n_hidden file for xh and ph scripts (see scripts, you'll know what to do)
ThinkorSwim (once again) broke due to a java update, their installer script doesn't really work anymore, so never uninstall I guess? anywho, here's what you have to do now if it doesn't open:
Make sure you installed fzf from your official package manager as this will allow you to use it with nvim:
paru zulu-11-bin
archlinux-java status
doas archlinux-java set zulu-11
And go ahead and open it up to test
Fixed inkscape (uncomment ignored packages (inkscape and popplers) from /etc/pacman.conf)
doas ln /usr/lib/inkscape/libinkscape_base.so /usr/lib/libinkscape_base.so
Install espeak
paru espeak
doas pacman -S fzf

View file

@ -55,9 +55,6 @@ export PATH="$PATH:$GOPATH/bin:/home/brian/scripts:/home/brian/.local/bin:/home/
# Configure grep output colors
export GREP_COLORS='ms=01;34'
# Enable fuzzy file finder
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
# Don't show completion until at least 1 character has been typed
zstyle ':autocomplete:*' min-input 1