Первая версия vimrc
commit
1f100f2166
|
|
@ -0,0 +1,36 @@
|
|||
VIMRC для локальной работы
|
||||
==========================
|
||||
|
||||
Данная конфигурация vim достаточно минимальна и использует только сторонюю тему [iceberg](https://github.com/cocopon/iceberg.vim/).
|
||||
|
||||
|
||||
Установка
|
||||
---------
|
||||
|
||||
1. Делаем бэкап текущей версии
|
||||
|
||||
```shell
|
||||
cp ~/.vimrc ~/.vimrc_bak
|
||||
```
|
||||
|
||||
2. Загружаем файл
|
||||
|
||||
```shell
|
||||
curl https://code.geekfrom.ru/i/vimrc/raw/branch/master/vimrc > ~/.vimrc
|
||||
```
|
||||
|
||||
или ставим через git
|
||||
|
||||
```shell
|
||||
git clone https://code.geekfrom.ru/i/vimrc.git
|
||||
ln -s vimrc/vimrc ~/.vimrc
|
||||
```
|
||||
|
||||
|
||||
Возможности
|
||||
-----------
|
||||
|
||||
- `*` и `#` работают и в visual mode тоже. `Ctrl+l` выключает подсветку.
|
||||
- более удобная подсветка при поиске
|
||||
- в пути `%%` разворачивается в полный путь до текущего файла
|
||||
- используется системный буфер.
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" File: vimrc
|
||||
" Maintainer: Andrew Nechaev <i@geekfrom.ru>
|
||||
" Version: 0.0.1
|
||||
" Created: 10th May 2022
|
||||
" Modified: 2022-05-11 10:25+0400
|
||||
" License: MIT
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
set nocompatible " Отключаем совместимость с vi
|
||||
syntax enable " Включаем подсветку синтаксиса
|
||||
|
||||
filetype plugin on " Включаем поддержку расширений
|
||||
|
||||
set number relativenumber " Включаем релятивную нумерацию строк
|
||||
|
||||
set tabstop=4 softtabstop=4 shiftwidth=4 expandtab " Табы и пробелы
|
||||
set list
|
||||
set lcs=tab:>-,eol:<,nbsp:% " Подсвечиваем табы и переносы строк
|
||||
set smartindent " Добавляем умный отступ
|
||||
set autoindent " Избавляемся он непонятного поведения при вставки из буфера
|
||||
|
||||
set backspace=indent,eol,start " Делаем возможность по забою удалять нормально
|
||||
|
||||
set wildmenu " Добавляем меню в автодополнение
|
||||
set wildmode=list,full
|
||||
|
||||
set history=200 " Увеличиваем количество запоминаемых команд с 20 до 200
|
||||
set clipboard^=unnamed,unnamedplus " Копируем в нормальный буфер
|
||||
set hidden " Разрешим переключатся между буферами с несохраненными данными
|
||||
|
||||
set splitbelow " Открывать сплит снизу
|
||||
set splitright " Открывать сплит справа
|
||||
set scrolloff=5 " Прокручиваем окно, когда осталось меньше 5 строк
|
||||
|
||||
" Если в пути написать %% то автоматически подставится полный путь до
|
||||
" директории, в которой лежит файл в текущем буфере
|
||||
cnoremap <expr> %% getcmdtype() == ':' ? expand('%:h').'/' : '%%'
|
||||
|
||||
" Бинд Ctrl-l на временное выключение подстветки до следующего поиска
|
||||
nnoremap <silent> <C-l> :<C-u>nohlsearch<CR><C-l>
|
||||
set hls
|
||||
|
||||
" подствечиваем поиск сразу же
|
||||
set incsearch
|
||||
|
||||
" makes * and # work on visual mode too.
|
||||
function! s:VSetSearch(cmdtype)
|
||||
let temp = @s
|
||||
norm! gv"sy
|
||||
let @/ = '\V' . substitute(escape(@s, a:cmdtype.'\'), '\n', '\\n', 'g')
|
||||
let @s = temp
|
||||
endfunction
|
||||
|
||||
xnoremap * :<C-u>call <SID>VSetSearch('/')<CR>/<C-R>=@/<CR><CR>
|
||||
xnoremap # :<C-u>call <SID>VSetSearch('?')<CR>?<C-R>=@/<CR><CR>
|
||||
|
||||
" улучшаем переключение между буферами и табами через []{}
|
||||
nnoremap <silent> [b :bprevious<CR>
|
||||
nnoremap <silent> ]b :bnext<CR>
|
||||
nnoremap <silent> [B :bfirst<CR>
|
||||
nnoremap <silent> ]B :blast<CR>
|
||||
nnoremap <silent> [t :tabprevious<CR>
|
||||
nnoremap <silent> ]t :tabnext<CR>
|
||||
nnoremap <silent> [T :tabfirst<CR>
|
||||
nnoremap <silent> ]T :tablast<CR>
|
||||
|
||||
" Внешний вид
|
||||
set background=dark
|
||||
"colorscheme iceberg
|
||||
set ruler
|
||||
|
||||
" Настройка статусбара
|
||||
set statusline=
|
||||
set statusline+=\ %F
|
||||
set statusline+=%m\
|
||||
set statusline+=%=
|
||||
set statusline+=%#CursorColumn#
|
||||
set statusline+=\ %Y
|
||||
set statusline+=\〈\ %{&fileformat}
|
||||
set statusline+=\ 〈\ %{&fileencoding?&fileencoding:&encoding}
|
||||
set statusline+=\ 〈\ %p%%
|
||||
set statusline+=\ 〈\ %l:%c
|
||||
set statusline+=\
|
||||
|
||||
set laststatus=2 " Всегда показываем статусбар
|
||||
Loading…
Reference in New Issue