mirror of
https://github.com/Hizenberg469/Vim-tutorials.git
synced 2026-04-19 22:02:24 +03:00
env setup
This commit is contained in:
159
.vimrc
Normal file
159
.vimrc
Normal file
@@ -0,0 +1,159 @@
|
||||
" c: Automatically break comments using the textwidth value.
|
||||
" r: Automatically insert the comment leader when hitting <Enter> in insert mode.
|
||||
" o: Automatically insert the comment leader when hitting 'o' or 'O' in normal mode.
|
||||
" n: Recognize numbered lists. When hitting <Enter> in insert mode.
|
||||
" m: Automatically break the current line before inserting a new comment line.
|
||||
set formatoptions+=cronm
|
||||
|
||||
" This sets the width of a tab character to 4 spaces.
|
||||
set tabstop=4
|
||||
|
||||
" This sets the number of spaces used when the <Tab> key is pressed in insert
|
||||
" mode to 4.
|
||||
set softtabstop=4
|
||||
|
||||
" This sets the number of spaces used for each indentation level when using
|
||||
" the '>' and '<' commands, as well as the autoindent feature.
|
||||
set shiftwidth=4
|
||||
|
||||
" This setting enables automatic indentation, which will copy the indentation
|
||||
" of the current line when starting a new line.
|
||||
set autoindent
|
||||
set smartindent
|
||||
|
||||
" This disables the automatic conversion of tabs to spaces when you press the
|
||||
" <Tab> key.
|
||||
set expandtab
|
||||
set smarttab
|
||||
|
||||
" Save 1,000 items in history
|
||||
set history=1000
|
||||
|
||||
" Show the line and column number of the cursor position
|
||||
set ruler
|
||||
|
||||
" Display the incomplete commands in the bottom right-hand side of your screen.
|
||||
set showcmd
|
||||
|
||||
" Display completion matches on your status line
|
||||
set wildmenu
|
||||
|
||||
" Show a few lines of context around the cursor
|
||||
set scrolloff=5
|
||||
|
||||
" Highlight search matches
|
||||
set hlsearch
|
||||
|
||||
" Enable incremental searching
|
||||
set incsearch
|
||||
|
||||
" Ignore case when searching
|
||||
set ignorecase
|
||||
|
||||
" Override the 'ignorecase' option if the search pattern contains upper case characters.
|
||||
set smartcase
|
||||
|
||||
" This enables the use of the mouse in all modes (normal, visual, insert,
|
||||
" command-line, etc.).
|
||||
set mouse=a
|
||||
|
||||
" This displays line numbers in the left margin.
|
||||
set number
|
||||
|
||||
" This disables the creation of backup files.
|
||||
set nobackup
|
||||
|
||||
set hidden
|
||||
|
||||
|
||||
" This disables the creation of swap files.
|
||||
set noswapfile
|
||||
|
||||
" Automatically reload files when they change
|
||||
set autoread
|
||||
|
||||
" Enable spell checking
|
||||
set spell
|
||||
set spelllang=en
|
||||
|
||||
" Highlight the current line
|
||||
set cursorline
|
||||
|
||||
" Highlight the 100th column
|
||||
set colorcolumn=100
|
||||
|
||||
" Set text width to 100
|
||||
set textwidth=100
|
||||
|
||||
" This maps the '<' and '>' keys in visual mode to shift the selected text one
|
||||
" shift width to the left or right and reselect the shifted text.
|
||||
vnoremap < <gv
|
||||
vnoremap > >gv
|
||||
|
||||
" The next four lines define key mappings for switching between windows using
|
||||
" Ctrl + hjkl keys
|
||||
nmap <silent> <c-k> :wincmd k<CR>
|
||||
nmap <silent> <c-j> :wincmd j<CR>
|
||||
nmap <silent> <c-h> :wincmd h<CR>
|
||||
nmap <silent> <c-l> :wincmd l<CR>
|
||||
|
||||
" The next four lines define key mappings for resizing windows using Alt +
|
||||
" hjkl keys:
|
||||
map <a-l> :vertical res -5<CR>
|
||||
map <a-h> :vertical res +5<CR>
|
||||
map <a-j> :res -5<CR>
|
||||
map <a-k> :res +5<CR>
|
||||
|
||||
" These lines define key mappings for moving the cursor 10 spaces at a time
|
||||
" using Shift + arrow keys:
|
||||
nmap <S-l> 10l<CR>
|
||||
nmap <S-h> 10h<CR>
|
||||
nmap <S-j> 10j<CR>
|
||||
nmap <S-k> 10k<CR>
|
||||
|
||||
" Enable folding
|
||||
set foldenable
|
||||
" Configure fold method
|
||||
set foldmethod=marker
|
||||
" Set the fold level to start with all folds open
|
||||
set foldlevelstart=99
|
||||
" Set the fold nesting level (default is 20)
|
||||
set foldnestmax=10
|
||||
" Automatically close folds when the cursor leaves them
|
||||
set foldclose=all
|
||||
" Open folds upon all motion events
|
||||
set foldopen=all
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
" To install vim-plug
|
||||
let data_dir = has('nvim') ? stdpath('data') . '/site' : '~/.vim'
|
||||
if empty(glob(data_dir . '/autoload/plug.vim'))
|
||||
silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
|
||||
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
|
||||
endif
|
||||
|
||||
|
||||
|
||||
" To install the plugin
|
||||
|
||||
|
||||
call plug#begin()
|
||||
|
||||
Plug 'dense-analysis/ale' " linting and fixing code.
|
||||
Plug 'airblade/vim-gitgutter' " a git diff in the sign colomn.
|
||||
Plug 'habamax/vim-asciidoctor' " Feature-full environment for ASCII Docs.
|
||||
Plug 'majutsushi/tagbar' " Utility to easily browse the tag.
|
||||
Plug 'mbbill/undotree' " Utility to view undo history
|
||||
Plug 'morhetz/gruvbox' " retro-inspired color scheme
|
||||
Plug 'luochen1990/rainbow' " For rainbow coloring of Parentheses
|
||||
|
||||
call plug#end()
|
||||
|
||||
|
||||
" Plugin enable option
|
||||
|
||||
" For rainbow coloring of Parentheses
|
||||
let g:rainbow_active = 1 "set to 0 if you want to enable it later via :RainbowToggle
|
||||
23
env_setup.sh
Normal file
23
env_setup.sh
Normal file
@@ -0,0 +1,23 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
|
||||
|
||||
# To setup the environment
|
||||
|
||||
function env_setup{
|
||||
|
||||
# Setting up the .vimrc
|
||||
|
||||
VIMRC_LOCATION = $(find $HOME/ -iwholename .vimrc)
|
||||
if [ "$HOME/.vimrc" = "$VIMRC_LOCATION" ]; then
|
||||
|
||||
mv $HOME/.vimrc $HOME/.vimrc.bck
|
||||
|
||||
fi
|
||||
|
||||
|
||||
mv $(pwd)/.vimrc $HOME/.vimrc
|
||||
|
||||
source $HOME/.vimrc
|
||||
}
|
||||
Reference in New Issue
Block a user