VIM

TODO List

Use omnicompletion, who wants to make typos anyways!
  • Semantic commit message omni completion

  • Project based configurations

    • Individually set makeprg per project, and scopes

    • Project based thesaurus and abbreviation files

External Looks vim supports

  • Linters equalprg, formatprg

    • dc, xmllint, clang-format, set equalprg=xmllint\ --format\ -

  • Compiler programss, Build tools makeprg with error formatting

  • help :prg

  • Keywordprg - to look up keyword under the cursor using K . Eg: man, dictionary

Build Tools

Beginner → Expert

  • HOtkeys for frequently used operations, like saving a file. Make it efficient

  • :10+20m50 move lines {10,20} to 50

Q&A

How do I change vim start/splash screen?
How to list all vim global variable?

:let g:

difference between ftplugin and autocommand fileType?

Use ftplugins directory for filetype settings and use autocommand to override that behavious if you need to.

How to rename current file?

:saveas <new-name>

List known filetypes to vim?

:setfiletype Ctrl+d :help cmdline-completion

Command History shortcut?

:history q : q / to search through history :help q?

List all command line mode keybindings?

:help c_CTRL-R or search inside :help index

List all vimscript files loaded?

:scriptnames, :commands, :fucntions

Search and replace multiple characters?

:s/[{,}]//g

When making a change the cursor position is remembered. :changes

VIM + tmux + httpie

Development Environment

  • Modal editing jusing keyboards

  • Search through all open Buffers only //

  • ?? :Rg!<cr> Run grep program

  • Abuse fzf to get work done correctly

  • Search through components line only for cows componets:cow

NeoVIM

Pros
  1. Language Server

Features
  1. Language Parser

  2. Queries

  3. Modules

  4. Asynchronous Job Control

  5. Pop up windows

    Tree Sitter?

    Tree-sitter is a parser generator tool and an incremental parsing library. It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited.

NVIM Features to look for

  • How to add Fira code and ligatures to nvim? — Use Fira Code with ligatures in console? — works with KDE Konsole terminal emulator

  • How to set different colorschemes for different buffers? Like difference colorscheme for cheat.sh buffer.

  • Markdown Preview

  • autocmd Formatprg onSave

  • Asynchronous linting commands, remove blocking commands

  • Multiple commands in autocommands

  • formatprg only fixes the indentation problesm. Use external program for code formatting. — gg=G

Compiler Options

vim Compiler Plugins
+-----------------+     +--------------+
| compiler plugin | --> | error format |
+-----------------+     +--------------+
  |
  |
  v
+-----------------+
|     makeprg     |
+-----------------+

BASH

ShellCheck static analysis

VimL

vint - linter for vimscript

NodeJS

ESlint