summaryrefslogtreecommitdiff
path: root/vimrc.NOTES
diff options
context:
space:
mode:
Diffstat (limited to 'vimrc.NOTES')
-rw-r--r--vimrc.NOTES109
1 files changed, 109 insertions, 0 deletions
diff --git a/vimrc.NOTES b/vimrc.NOTES
new file mode 100644
index 0000000..b17c42a
--- /dev/null
+++ b/vimrc.NOTES
@@ -0,0 +1,109 @@
+" --- System Integration ---
+
+" What it is: A command that finds and executes a script named 'debian.vim'
+" from Vim's runtime path. This file is provided by the Debian/Ubuntu
+" package maintainers.
+"
+" What it does: It loads a set of system-wide default settings to make Vim
+" behave in a standard way across the operating system. This can sometimes
+" include settings for the mouse, colors, etc. Any settings in this file
+" are applied *before* the rest of your .vimrc.
+"
+" also look at /etc/vim/vimrc
+runtime! debian.vim
+
+" --- Core Vim Functionality ---
+
+" What it is: A crucial three-in-one command.
+"
+" What it does:
+" 1. filetype on: Enables detecting the type of file you open (e.g., .go, .py, .md).
+" 2. plugin on: Allows Vim to load plugins specific to that filetype.
+" 3. indent on: Enables automatic, language-specific indentation rules.
+" This line is the foundation for making Vim "smart" about different code files.
+filetype plugin indent on
+
+" --- Mouse and Encoding ---
+
+" What it is: Sets the mouse mode. The 'r' stands for Normal and Visual modes.
+"
+" What it does: This ENABLES the mouse for clicking to move the cursor,
+" using the scroll wheel, and selecting text in Normal and Visual modes.
+" It will be disabled in Insert and Command-line modes.
+" Common values:
+" 'a' = all modes
+" 'n' = normal mode
+" 'r' = normal and visual modes
+" '' = disable completely (empty string)
+set mouse=r
+
+" What it is: Sets the character encoding for Vim's interface and for files.
+"
+" What it does: Ensures Vim uses UTF-8, the modern standard for text. This
+" allows you to correctly view and edit files containing international
+" characters, emojis, and other symbols without corrupting them.
+set encoding=utf-8
+set fileencoding=utf-8
+
+" --- Editor Experience ---
+
+" What it is: Turns on syntax highlighting.
+"
+" What it does: Colors your code based on keywords, strings, comments, etc.,
+" making it much easier to read. This relies on 'filetype on' to know which
+" language's syntax to apply.
+syntax on
+
+" What it is: An "autocommand" that runs after a file is read into a buffer.
+"
+" What it does: This is a great quality-of-life feature. It automatically
+" restores your cursor to the exact line and column it was on the last time
+" you edited that file. It saves you from having to find your place again.
+au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
+
+" What it is: A command to modify a terminal control sequence.
+"
+" What it does: This is a classic trick to prevent Vim from clearing your
+" terminal screen when you quit. This is useful because it leaves the output
+" of the previous command visible for you to reference.
+"
+" NOTE: The leading colon (:) is not necessary in a .vimrc file. You can
+" just write 'set t_te='. The commented-out line above it is not needed.
+:set t_te=
+
+" --- Session and History ---
+
+" What it is: Configures Vim's "memory" file (`.viminfo`).
+"
+" What it does: Controls what Vim remembers between sessions.
+" '50 - Remember marks for the last 50 files.
+" <1000 - Remember the last 1000 lines for each register (copy/paste history).
+" s100 - Remember the last 100 search patterns.
+" :0 - Remember 0 lines of command-line history (you have this disabled).
+" n~/.cache/viminfo - Store the viminfo file in a modern, non-home directory location.
+"
+" NOTE: The leading colon is not necessary here either.
+:set viminfo='50,<1000,s100,:0,n~/.cache/viminfo
+
+" --- Plugin and Formatting Settings (Currently Inactive) ---
+
+" The following lines are commented out, so they are not currently active.
+
+" " Plugins
+" " This line looks like it's for a plugin manager like 'vim-plug'.
+" " You would typically have a block of these to list the plugins you want to install.
+" Plugin 'fatih/vim-go'
+
+" " stuff for vim-go
+" " These lines configure the vim-go plugin to use 'gopls' (the Go Language Server),
+" " which is the modern standard for Go code completion, navigation, and analysis.
+" let g:go_def_mode='gopls'
+" let g:go_info_mode='gopls'
+
+" " :set textwidth=80
+" " This would set the maximum width of a line of text to 80 characters.
+" " Vim would automatically wrap your text as you type if it exceeds this limit.
+
+" " :gq
+" " This is not a setting, but a Normal mode command. 'gq' is used to
+" " reformat selected text to the current 'textwidth' setting.