Can we make nvim-tree disappear when not needed, and open and focus on pressing a keymap
What is shada file, is it related to views and sessions Shada files can store marks , registers and command line history
Expressions
Normal Mode -
Visual mode
Insert mode
Select mode
Command line mode
Ex mode
Terminal mode
word movement line movement paragraph movement moving to specific line scrolling around text objects movement treesitter - custom treesitter text objects
Add something that cant be replicated, which will force readers to come to original content, for example interactivity, Also add a paywall for advanced features
Fundamentally a text object is structured unit of text that is often context-aware (e.g., sentences, paragraphs, code blocks). To operate on a text object you cursor position can be anywhere between the given text object, unlike normal text units where your cursor has to be placed at the beginning or end of the text unit
movements (h,j,k,l)
Text objects (words, paragraphs, code blocks and custom text objects)
Operators ATTAcH KEYBOARD IMAGE WITH keys highlighted here.......
|c| c change
|d| d delete
|y| y yank into register (does not change the text)
|| ~ swap case (only if 'tildeop' is set)
|g| g~ swap case
|gu| gu make lowercase
|gU| gU make uppercase
|!| ! filter through an external program
|=| = filter through 'equalprg' or C-indenting if empty
|gq| gq text formatting
|gw| gw text formatting with no cursor movement
|g?| g? ROT13 encoding
|>| > shift right
|<| < shift left
|zf| zf define a fold
|g@| g@ call function set with the 'operatorfunc' option
Operator pending mode
Replace mode
Virtual replace mode
Insert normal mode
Insert select mode
Insert visual mode
[a-z] marks are valid within a file NOTE: a-z marks are not added to jump list
[A-Z] marks work across files (also called file marks)
[0-9] numbered marks
Unnamed register "" Vim will fill the unnamed register when we delete text using the commands d, D, x, X, s, S, c, C, or yank text by y or Y.
The unnamed register is used quite often. A common scenario would be a quick copy and paste operation like we use the normal system clipboard.
Named registers: [a-z] & [A-Z] NOTE: Writing to a lowercase register will overwrite the contents of that register. Writing to an uppercase register will append the new content to the given register instead. However, they both refer to the same register. For example register a and A refer to the same register, they are not two different registers
Numbered registers [0-9] 0 -> stores most recents yanked text 1-9 -> Big deletions i.e one line or greater are stored from 1 through 9 registers sorted by recency
Read-only registers “:, “., and “% % -> has current file path : -> has most recently executed command . -> has last inserted text
Small delete register “- All deletes which are less than one line are stored in this register
Last search pattern register “/
Stores the last searched pattern
Alternate file register “# contains the last opened file
Selection registers “*, “+,
* and + act as clipboards. They allow you to interact with your system's clipboard, enabling you to copy and paste text between external programs and Vim.
The expression register “= stores the result of last expression
Black hole register “_ The black hole register allows us cut stuff without clobbering the unnamed register and the numbered registers
you can record actions and store them inside Vim registers to be executed whenever you need it
Macros (While vim does allow to record macros into any read&write registers, there are some gotchas, for example if you try to record a macrto in unnamed register or 0 register)
NOTE: Macro execution automatically ends when it encounters its first error.
What is a recursive macro?
Tab is just a collection of windows.
You can layout windows in a tab. Same window can be associated with multiple tabs.
Buffer is a temporary in-memory space where you can write and edit text. Each buffer is assigned a unique number. Buffers are also identified by their filename or path
When you open a file in Vim, the data is bound to a buffer. For example: If you open 3 files in Vim, you have 3 buffers. When you are editing a file in Vim, you are actually editing the buffer associated with that file and not the actual file.
Window is a viewport on a buffer.
When you are editing a buffer in Vim, you are editing it inside a window. windows can be laid out horizontally or vertically and can also be resized
Why do we need to put Neovim in centre, we already know this is a neovim mindmap, can we find another group or topic to be the centre, or may be multiple centres
NOTE: Vims default operation is cut, rather than delete
Views, Sessions and Viminfo file
Shared Data file is
Swap File is a temporary file used by Neovim to store changes that have not yet been written to the original file. It serves as a backup in case of crashes or unexpected closures.
It is created when you open a file for editing. There are separate swap files for each file being edited.
By default, swap files are stored in the same directory as the file being edited, but you can configure this location.
By default the swap files are updated every 4000 milliseconds (4 seconds), and it can be changed with the updatetime
option.
Argument list
If you give more than one file name when starting Vim, this list is remembered as the argument list. You can jump to each file in this list.
-
Jump list
Jumps are remembered in a jump list. With the CTRL-O and CTRL-I command you can go to cursor positions before older jumps, and back again. Thus you can move up and down the list. There is a separate jump list for each window. The maximum number of entries is fixed at 100.
Vim remembers the last 10 quickfix lists and location lists
Tag match list
Buffer list
use ":buffers" or ":ls" or ":files" command. to get the list of all buffers
h -> means hidden
#-> means alternate/previous buffer
% -> means current buffer
+-> sign after a buffer means it is dirtied buffer
filenamd and line numbers are also included, if [NO filename] means that buffer does not have any file associated with it and writing that file will cause error it can insted be saved by giving a file name :w filename.txt
Quick-fix list
-
Location list
A location list is a window-local quickfix list. You get one after commands
like :lvimgrep
, :lgrep
, :lhelpgrep
, :lmake
, etc., which create a
location list instead of a quickfix list as the corresponding :vimgrep
,
:grep
, :helpgrep
, :make
do.
Change list
-