linux:vim_dodger_setup
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
linux:vim_dodger_setup [2022/02/15 10:37] – dodger | linux:vim_dodger_setup [2022/12/14 08:52] – dodger | ||
---|---|---|---|
Line 9: | Line 9: | ||
^Tags:| | | ^Tags:| | | ||
- | ====== Simple vimrc ====== | ||
- | <file vim .vimrc> | + | ====== Advanced |
- | " URL: http:// | + | |
- | " Authors: http://vim.wikia.com/wiki/Vim_on_Freenode | + | I have additionally [[https://git.ciberterminal.net/public/vim_setup|created |
- | " Description: | + | |
- | " | + | |
- | " | + | |
- | " | + | ===== Globals ===== |
- | + | This is the initial vimrc file. | |
- | " | + | <file vim ~/.vimrc> |
- | " Features {{{1 | + | " |
- | " | + | " |
- | " These options and commands enable some very useful features in Vim, that | + | " |
- | " no user should have to live without. | + | set encoding=utf-8 |
- | + | set nocompatible | |
- | " Set ' | + | |
- | " have made, as well as sanely reset options when re-sourcing .vimrc | + | " |
- | set nocompatible | + | let mapleader |
- | + | ||
- | " Attempt to determine the type of a file based on its name and possibly its | + | |
- | " contents. Use this to allow intelligent auto-indenting for each filetype, | + | |
- | " and for plugins that are filetype specific. | + | |
- | filetype indent plugin on | + | |
- | + | ||
- | " Enable syntax highlighting | + | |
- | syntax on | + | |
- | + | ||
- | + | ||
- | " | + | |
- | " Must have options {{{1 | + | |
- | " | + | |
- | " These are highly recommended options. | + | |
- | + | ||
- | " Vim with default settings does not allow easy switching between multiple | + | |
- | " in the same editor window. Users can use multiple split windows or multiple | + | |
- | " tab pages to edit multiple files, but it is still best to enable an option to | + | |
- | " allow easier switching between files. | + | |
- | " | + | |
- | " One such option is the ' | + | |
- | " window and switch from an unsaved buffer without saving it first. Also allows | + | |
- | " you to keep an undo history for multiple files when re-using the same window | + | |
- | " in this way. Note that using persistent undo also lets you undo in multiple | + | |
- | " files even in the same window, but is less efficient and is actually designed | + | |
- | " for keeping undo history after closing Vim entirely. Vim will complain if you | + | |
- | " try to quit without saving, and swap files will keep you safe if your computer | + | |
- | " crashes. | + | |
- | set hidden | + | |
- | + | ||
- | " Note that not everyone likes working this way (with the hidden option). | + | |
- | " Alternatives include using tabs or split windows instead of re-using the same | + | |
- | " window as mentioned above, and/or either of the following options: | + | |
- | " set confirm | + | |
- | " set autowriteall | + | |
- | + | ||
- | " Better command-line completion | + | |
- | set wildmenu | + | |
- | + | ||
- | " Show partial commands in the last line of the screen | + | |
- | set showcmd | + | |
- | + | ||
- | " Highlight searches (use <C-L> to temporarily turn off highlighting; | + | |
- | " mapping of <C-L> below) | + | |
- | set hlsearch | + | |
- | + | ||
- | " Modelines have historically been a source of security vulnerabilities. As | + | |
- | " such, it may be a good idea to disable them and use the securemodelines | + | |
- | " script, | + | |
- | " | + | |
- | + | ||
- | + | ||
- | "------------------------------------------------------------ | + | |
- | " | + | |
- | " | + | |
- | " These are options that users frequently set in their .vimrc. Some of them | + | |
- | " change Vim's behaviour in ways which deviate from the true Vi way, but | + | |
- | " which are considered to add usability. Which, if any, of these options to | + | |
- | " use is very much a personal preference, but they are harmless. | + | |
- | + | ||
- | " Use case insensitive search, except when using capital letters | + | |
- | set ignorecase | + | |
- | set smartcase | + | |
- | + | ||
- | " Allow backspacing over autoindent, line breaks and start of insert action | + | |
- | set backspace=indent, | + | |
- | + | ||
- | " When opening a new line and no filetype-specific indenting is enabled, keep | + | |
- | " | + | |
- | set autoindent | + | |
- | + | ||
- | " Stop certain movements from always going to the first character of a line. | + | |
- | " While this behaviour deviates from that of Vi, it does what most users | + | |
- | " coming from other editors would expect. | + | |
- | set nostartofline | + | |
- | + | ||
- | " | + | |
- | " line of a window | + | |
- | set ruler | + | |
- | + | ||
- | " Always display the status line, even if only one window is displayed | + | |
- | set laststatus=2 | + | |
- | + | ||
- | " Instead of failing a command because of unsaved changes, instead raise a | + | |
- | " dialogue asking if you wish to save changed files. | + | |
- | set confirm | + | |
- | + | ||
- | " Use visual bell instead of beeping when doing something wrong | + | |
- | set visualbell | + | |
- | + | ||
- | " And reset the terminal code for the visual bell. If visualbell is set, and | + | |
- | " this line is also included, vim will neither flash nor beep. If visualbell | + | |
- | " is unset, this does nothing. | + | |
- | set t_vb= | + | |
- | + | ||
- | " | + | |
- | " set mouse=a | + | |
- | + | ||
- | " Set the command window height to 2 lines, to avoid many cases of having to | + | |
- | " "press < | + | |
- | set cmdheight=2 | + | |
- | + | ||
- | " Display line numbers on the left | + | |
- | set number | + | |
- | + | ||
- | " Quickly time out on keycodes, but never time out on mappings | + | |
- | set notimeout ttimeout ttimeoutlen=200 | + | |
- | + | ||
- | " Use <F11> to toggle between ' | + | |
- | set pastetoggle=< | + | |
- | + | ||
- | + | ||
- | " | + | |
- | " Indentation options {{{1 | + | |
- | " | + | |
- | " Indentation settings according to personal preference. | + | |
- | + | ||
- | " Indentation settings for using 4 spaces instead of tabs. | + | |
- | " Do not change ' | + | |
- | set shiftwidth=4 | + | |
- | set softtabstop=4 | + | |
- | set expandtab | + | |
- | + | ||
- | " Indentation settings for using hard tabs for indent. Display tabs as | + | |
- | " four characters wide. | + | |
- | "set shiftwidth=4 | + | |
- | "set tabstop=4 | + | |
- | + | ||
- | + | ||
- | " | + | |
- | " Mappings {{{1 | + | |
- | " | + | |
- | " Useful mappings | + | |
- | + | ||
- | " Map Y to act like D and C, i.e. to yank until EOL, rather than act as yy, | + | |
- | " which is the default | + | |
- | map Y y$ | + | |
- | + | ||
- | " Map <C-L> (redraw screen) to also turn off search highlighting until the | + | |
- | " next search | + | |
- | nnoremap <C-L> : | + | |
- | + | ||
- | " | + | |
</ | </ | ||
- | + | I'm remaping the leader key for convenience... | |
- | ====== Advanced vimrc (2022) edition====== | + | |
===== vim-plug ===== | ===== vim-plug ===== | ||
Line 256: | Line 112: | ||
That will install all the above plugins: | That will install all the above plugins: | ||
- | * ' | + | * '' |
- | * ' | + | * '' |
- | * ' | + | * '' |
- | * ' | + | * '' |
- | * ' | + | * '' |
- | * ' | + | * '' |
- | * ' | + | * '' |
- | * ' | + | * '' |
- | * ' | + | * '' |
- | * ' | + | * '' |
- | * ' | + | * '' |
- | * ' | + | * '' |
- | * ' | + | * '' |
+ | |||
+ | |||
+ | |||
+ | ===== Additional syntax/ | ||
+ | ==== Tagbar ==== | ||
+ | Used for function/ | ||
+ | |||
+ | <code bash> | ||
+ | cd ~/ | ||
+ | git clone https:// | ||
+ | </ | ||
+ | And add to '' | ||
+ | <code vim> | ||
+ | " tagbar | ||
+ | nmap <F8> : | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ==== terraform syntax ==== | ||
+ | From [[https:// | ||
+ | <code bash> | ||
+ | git clone https:// | ||
+ | </ | ||
+ | |||
+ | ==== Puppet syntax ==== | ||
+ | From [[https:// | ||
+ | <code bash> | ||
+ | git clone https:// | ||
+ | </ | ||
Line 351: | Line 238: | ||
<file vim ~/ | <file vim ~/ | ||
+ | " https:// | ||
+ | " | ||
+ | " | ||
+ | |||
+ | " Window layout | ||
+ | " style 1 | ||
+ | " +----------+------------------------+ | ||
+ | " | | | | ||
+ | " | | | | ||
+ | " | undotree | | | ||
+ | " | | | | ||
+ | " | | | | ||
+ | " +----------+ | ||
+ | " | | | | ||
+ | " | | ||
+ | " | | | | ||
+ | " +----------+------------------------+ | ||
+ | " Style 2 | ||
+ | " +----------+------------------------+ | ||
+ | " | | | | ||
+ | " | | | | ||
+ | " | undotree | | | ||
+ | " | | | | ||
+ | " | | | | ||
+ | " +----------+------------------------+ | ||
+ | " | | | ||
+ | " | | ||
+ | " | | | ||
+ | " +-----------------------------------+ | ||
+ | " Style 3 | ||
+ | " +------------------------+----------+ | ||
+ | " | | | | ||
+ | " | | | | ||
+ | " | | undotree | | ||
+ | " | | | | ||
+ | " | | | | ||
+ | " | +----------+ | ||
+ | " | | | | ||
+ | " | | | ||
+ | " | | | | ||
+ | " +------------------------+----------+ | ||
+ | " Style 4 | ||
+ | " +-----------------------++----------+ | ||
+ | " | | | | ||
+ | " | | | | ||
+ | " | | undotree | | ||
+ | " | | | | ||
+ | " | | | | ||
+ | " +------------------------+----------+ | ||
+ | " | | | ||
+ | " | diff | | ||
+ | " | | | ||
+ | " +-----------------------------------+ | ||
+ | if !exists(' | ||
+ | let g: | ||
+ | endif | ||
+ | |||
if has(" | if has(" | ||
let target_path = expand(' | let target_path = expand(' | ||
Line 367: | Line 311: | ||
</ | </ | ||
+ | |||
+ | **Disabled, using FZF** | ||
<file vim ~/ | <file vim ~/ | ||
nnoremap < | nnoremap < | ||
Line 372: | Line 318: | ||
nnoremap <C-t> : | nnoremap <C-t> : | ||
nnoremap <C-f> : | nnoremap <C-f> : | ||
+ | </ | ||
+ | |||
+ | |||
+ | FZF: | ||
+ | <file vim ~/ | ||
+ | " https:// | ||
+ | nnoremap < | ||
+ | let g: | ||
+ | \ ' | ||
+ | \ ' | ||
+ | \ ' | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Cheatsheet generated ===== | ||
+ | |||
+ | In my config: | ||
+ | * '' | ||
+ | * ''< | ||
+ | |||
+ | |||
+ | ^ ##############''' | ||
+ | |''< | ||
+ | | inside fzf -> ''< | ||
+ | | inside fzf -> ''< | ||
+ | | inside fzf -> ''< | ||
+ | |''< | ||
+ | |''< | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | ''< | ||
+ | | ''< | ||
+ | | ''< | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | |||
+ | |||
+ | |||
+ | ====== Simple vimrc ====== | ||
+ | |||
+ | <file vim .vimrc> | ||
+ | " URL: http:// | ||
+ | " Authors: http:// | ||
+ | " Description: | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | |||
+ | " | ||
+ | " Features {{{1 | ||
+ | " | ||
+ | " These options and commands enable some very useful features in Vim, that | ||
+ | " no user should have to live without. | ||
+ | |||
+ | " Set ' | ||
+ | " have made, as well as sanely reset options when re-sourcing .vimrc | ||
+ | set nocompatible | ||
+ | |||
+ | " Attempt to determine the type of a file based on its name and possibly its | ||
+ | " contents. Use this to allow intelligent auto-indenting for each filetype, | ||
+ | " and for plugins that are filetype specific. | ||
+ | filetype indent plugin on | ||
+ | |||
+ | " Enable syntax highlighting | ||
+ | syntax on | ||
+ | |||
+ | |||
+ | " | ||
+ | " Must have options {{{1 | ||
+ | " | ||
+ | " These are highly recommended options. | ||
+ | |||
+ | " Vim with default settings does not allow easy switching between multiple files | ||
+ | " in the same editor window. Users can use multiple split windows or multiple | ||
+ | " tab pages to edit multiple files, but it is still best to enable an option to | ||
+ | " allow easier switching between files. | ||
+ | " | ||
+ | " One such option is the ' | ||
+ | " window and switch from an unsaved buffer without saving it first. Also allows | ||
+ | " you to keep an undo history for multiple files when re-using the same window | ||
+ | " in this way. Note that using persistent undo also lets you undo in multiple | ||
+ | " files even in the same window, but is less efficient and is actually designed | ||
+ | " for keeping undo history after closing Vim entirely. Vim will complain if you | ||
+ | " try to quit without saving, and swap files will keep you safe if your computer | ||
+ | " crashes. | ||
+ | set hidden | ||
+ | |||
+ | " Note that not everyone likes working this way (with the hidden option). | ||
+ | " Alternatives include using tabs or split windows instead of re-using the same | ||
+ | " window as mentioned above, and/or either of the following options: | ||
+ | " set confirm | ||
+ | " set autowriteall | ||
+ | |||
+ | " Better command-line completion | ||
+ | set wildmenu | ||
+ | |||
+ | " Show partial commands in the last line of the screen | ||
+ | set showcmd | ||
+ | |||
+ | " Highlight searches (use <C-L> to temporarily turn off highlighting; | ||
+ | " mapping of <C-L> below) | ||
+ | set hlsearch | ||
+ | |||
+ | " Modelines have historically been a source of security vulnerabilities. As | ||
+ | " such, it may be a good idea to disable them and use the securemodelines | ||
+ | " script, < | ||
+ | " set nomodeline | ||
+ | |||
+ | |||
+ | " | ||
+ | " Usability options {{{1 | ||
+ | " | ||
+ | " These are options that users frequently set in their .vimrc. Some of them | ||
+ | " change Vim's behaviour in ways which deviate from the true Vi way, but | ||
+ | " which are considered to add usability. Which, if any, of these options to | ||
+ | " use is very much a personal preference, but they are harmless. | ||
+ | |||
+ | " Use case insensitive search, except when using capital letters | ||
+ | set ignorecase | ||
+ | set smartcase | ||
+ | |||
+ | " Allow backspacing over autoindent, line breaks and start of insert action | ||
+ | set backspace=indent, | ||
+ | |||
+ | " When opening a new line and no filetype-specific indenting is enabled, keep | ||
+ | " the same indent as the line you're currently on. Useful for READMEs, etc. | ||
+ | set autoindent | ||
+ | |||
+ | " Stop certain movements from always going to the first character of a line. | ||
+ | " While this behaviour deviates from that of Vi, it does what most users | ||
+ | " coming from other editors would expect. | ||
+ | set nostartofline | ||
+ | |||
+ | " Display the cursor position on the last line of the screen or in the status | ||
+ | " line of a window | ||
+ | set ruler | ||
+ | |||
+ | " Always display the status line, even if only one window is displayed | ||
+ | set laststatus=2 | ||
+ | |||
+ | " Instead of failing a command because of unsaved changes, instead raise a | ||
+ | " dialogue asking if you wish to save changed files. | ||
+ | set confirm | ||
+ | |||
+ | " Use visual bell instead of beeping when doing something wrong | ||
+ | set visualbell | ||
+ | |||
+ | " And reset the terminal code for the visual bell. If visualbell is set, and | ||
+ | " this line is also included, vim will neither flash nor beep. If visualbell | ||
+ | " is unset, this does nothing. | ||
+ | set t_vb= | ||
+ | |||
+ | " Enable use of the mouse for all modes | ||
+ | " set mouse=a | ||
+ | |||
+ | " Set the command window height to 2 lines, to avoid many cases of having to | ||
+ | " "press < | ||
+ | set cmdheight=2 | ||
+ | |||
+ | " Display line numbers on the left | ||
+ | set number | ||
+ | |||
+ | " Quickly time out on keycodes, but never time out on mappings | ||
+ | set notimeout ttimeout ttimeoutlen=200 | ||
+ | |||
+ | " Use <F11> to toggle between ' | ||
+ | set pastetoggle=< | ||
+ | |||
+ | |||
+ | " | ||
+ | " Indentation options {{{1 | ||
+ | " | ||
+ | " Indentation settings according to personal preference. | ||
+ | |||
+ | " Indentation settings for using 4 spaces instead of tabs. | ||
+ | " Do not change ' | ||
+ | set shiftwidth=4 | ||
+ | set softtabstop=4 | ||
+ | set expandtab | ||
+ | |||
+ | " Indentation settings for using hard tabs for indent. Display tabs as | ||
+ | " four characters wide. | ||
+ | "set shiftwidth=4 | ||
+ | "set tabstop=4 | ||
+ | |||
+ | |||
+ | " | ||
+ | " Mappings {{{1 | ||
+ | " | ||
+ | " Useful mappings | ||
+ | |||
+ | " Map Y to act like D and C, i.e. to yank until EOL, rather than act as yy, | ||
+ | " which is the default | ||
+ | map Y y$ | ||
+ | |||
+ | " Map <C-L> (redraw screen) to also turn off search highlighting until the | ||
+ | " next search | ||
+ | nnoremap <C-L> : | ||
+ | |||
+ | " | ||
</ | </ | ||
linux/vim_dodger_setup.txt · Last modified: 2022/12/14 10:32 by dodger