История изменений
Исправление
Moisha_Liberman,
(текущая версия)
:
.vimrc для программиста?
Я бы добавил (я сам пишу на С, так что выбор несколько своеобразный, да):
1 syntastic
. Это мастхэвная вещь для того, чтобы проверить через splint
косяки и ошибки прямо в редакторе. syntastic умеет проверять не только С/С++, а принципе, он и руби и питон с похапе обработать может. И bash тоже. Но для С/С++ это то, что я как доктор могу рекомендовать.
2 Если используете doxygen, то добавьте ещё this
3 Для перезагрузки .vimrc и корректировки отметки времени редактирования я бы сделал так:
" Reload .vimrc after it's saving.
autocmd! BufWritePost $MYVIMRC source $MYVIMRC
" Rewrite timestamp in .vimrc.
autocmd! BufWritePre $MYVIMRC call setline(1, '" Last update: '.strftime("%d.%m.%Y %H:%M"))
4 Спеллчекер:
" Add language spelling.
set spell spelllang=en,ru
" Check language spelling.
nmap <F3> :setlocal spell spelllang=ru,en<CR>
imap <F3> <ESC>:setlocal spell spelllang=ru,en<CR>i
nmap <S-F3> :setlocal nospell<CR>
imap <S-F3> <ESC>:setlocal nospell<CR>i
5 Назначения клавиш (на мой вкус):
" Key settings.
" F2 to save current file.
map <F2> :w<CR>
nmap <F2> <Esc>:w<CR>
imap <F2> <Esc>:w<CR>
" F12 to quit without saving.
map <F12> :q!<CR>
nmap <F12> <Esc>:q!<CR>
imap <F12> <Esc>:q!<CR>
" Some fixes.
cnoreabbrev W! w!
cnoreabbrev Q! q!
cnoreabbrev Qall! qall!
cnoreabbrev Wq wq
cnoreabbrev Wa wa
cnoreabbrev wQ wq
cnoreabbrev WQ wq
cnoreabbrev W w
cnoreabbrev Q q
cnoreabbrev Qall qall
6 Работа со вкладками:
" Работа с вкладками.
" Открываем новую по Ctl+T и закрываем по Ctrl+W.
nmap <C-t> :tabnew<CR>
imap <C-t> <Esc>:tabnew<CR>
nmap <C-w> :tabclose<CR>
imap <C-w> <Esc>:tabclose<CR>
" Переключаемся между вкладками Shift+TAB.
map <S-TAB> :tabprevious<CR>
nmap <S-TAB> :tabprevious<CR>
imap <S-TAB> <Esc>:tabprevious<CR>i
7 Парные скобки:
" Auto pairing.
imap [ []<left>
imap ( ()<left>
imap { {}<left>
imap < <><left>
imap {<CR> {<CR>}<ESC>O
imap {;<CR> {<CR>};<ESC>O
8 Для написания bash-скриптов (делаем скрипт сразу исполняемым):
" Settings for bash scripts.
" Проверяем запись shell-script. Если он не исполняемый, то делаем его
" исполняемым. Если уже исполняемый, то просто сохраняем.
au BufWritePost *.sh if FileExecutable("%") | if getline(1) =~ "^#!" | silent !chmod u+x % | endif | endif
" Проверка файла с расширением .sh на исполняемость.
function! FileExecutable(fname)
execute "silent! ! test -x" a:fname
return v:shell_error
endfunction
9 Про кодировки:
set enc=utf-8
set fileformat=unix
set ffs=unix,dos,mac
set termencoding=utf-8
set fileencodings=utf-8,koi8-r,cp1251,cp866
10 Для установки плагинов я лично использую pathogen, но это чисто моя такая вкусовщина.
Ну вот, как-то вот так…
P.S. Airline не использую, больно жирный вариант, IMHO. Я вот так:
" Статусная строка.
set laststatus=2
set statusline=%1*\ %f%m%r%h%w\%=%([%{&ff}\|%{(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\",B\":\"\")}%k\|%Y]%)\ %([%l,%v][%p%%]\ %)
P.P.S. SnipMate забыл и коллекцию сниппетов. Там под разные языки есть, в добавок коллекция настраиваемая, её можно пополнять своими сниппетами.
И vimwiki до кучи. Можно чисто локально вести заметки и справочники, со списком TODO, генерировать статические html и грузить на веб-сервер как такую статическую wiki прямо не выходя из vim.
Исправление
Moisha_Liberman,
:
.vimrc для программиста?
Я бы добавил (я сам пишу на С, так что выбор несколько своеобразный, да):
1 syntastic
. Это мастхэвная вещь для того, чтобы проверить через splint
косяки и ошибки прямо в редакторе. syntastic умеет проверять не только С/С++, а принципе, он и руби и питон с похапе обработать может. И bash тоже. Но для С/С++ это то, что я как доктор могу рекомендовать.
2 Если используете doxygen, то добавьте ещё this
3 Для перезагрузки .vimrc и корректировки отметки времени редактирования я бы сделал так:
" Reload .vimrc after it's saving.
autocmd! BufWritePost $MYVIMRC source $MYVIMRC
" Rewrite timestamp in .vimrc.
autocmd! BufWritePre $MYVIMRC call setline(1, '" Last update: '.strftime("%d.%m.%Y %H:%M"))
4 Спеллчекер:
" Add language spelling.
set spell spelllang=en,ru
" Check language spelling.
nmap <F3> :setlocal spell spelllang=ru,en<CR>
imap <F3> <ESC>:setlocal spell spelllang=ru,en<CR>i
nmap <S-F3> :setlocal nospell<CR>
imap <S-F3> <ESC>:setlocal nospell<CR>i
5 Назначения клавиш (на мой вкус):
" Key settings.
" F2 to save current file.
map <F2> :w<CR>
nmap <F2> <Esc>:w<CR>
imap <F2> <Esc>:w<CR>
" F12 to quit without saving.
map <F12> :q!<CR>
nmap <F12> <Esc>:q!<CR>
imap <F12> <Esc>:q!<CR>
" Some fixes.
cnoreabbrev W! w!
cnoreabbrev Q! q!
cnoreabbrev Qall! qall!
cnoreabbrev Wq wq
cnoreabbrev Wa wa
cnoreabbrev wQ wq
cnoreabbrev WQ wq
cnoreabbrev W w
cnoreabbrev Q q
cnoreabbrev Qall qall
6 Работа со вкладками:
" Работа с вкладками.
" Открываем новую по Ctl+T и закрываем по Ctrl+W.
nmap <C-t> :tabnew<CR>
imap <C-t> <Esc>:tabnew<CR>
nmap <C-w> :tabclose<CR>
imap <C-w> <Esc>:tabclose<CR>
" Переключаемся между вкладками Shift+TAB.
map <S-TAB> :tabprevious<CR>
nmap <S-TAB> :tabprevious<CR>
imap <S-TAB> <Esc>:tabprevious<CR>i
7 Парные скобки:
" Auto pairing.
imap [ []<left>
imap ( ()<left>
imap { {}<left>
imap < <><left>
imap {<CR> {<CR>}<ESC>O
imap {;<CR> {<CR>};<ESC>O
8 Для написания bash-скриптов (делаем скрипт сразу исполняемым):
" Settings for bash scripts.
" Проверяем запись shell-script. Если он не исполняемый, то делаем его
" исполняемым. Если уже исполняемый, то просто сохраняем.
au BufWritePost *.sh if FileExecutable("%") | if getline(1) =~ "^#!" | silent !chmod u+x % | endif | endif
" Проверка файла с расширением .sh на исполняемость.
function! FileExecutable(fname)
execute "silent! ! test -x" a:fname
return v:shell_error
endfunction
9 Про кодировки:
set enc=utf-8
set fileformat=unix
set ffs=unix,dos,mac
set termencoding=utf-8
set fileencodings=utf-8,koi8-r,cp1251,cp866
10 Для установки плагинов я лично использую pathogen, но это чисто моя такая вкусовщина.
Ну вот, как-то вот так…
P.S. Airline не использую, больно жирный вариант, IMHO. Я вот так:
" Статусная строка.
set laststatus=2
set statusline=%1*\ %f%m%r%h%w\%=%([%{&ff}\|%{(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\",B\":\"\")}%k\|%Y]%)\ %([%l,%v][%p%%]\ %)
Исходная версия
Moisha_Liberman,
:
Судя по YouCompleteMe это...
.vimrc для программиста?
Я бы добавил (я сам пишу на С, так что выбор несколько своеобразный, да):
1 syntastic
. Это мастхэвная вещь для того, чтобы проверить через splint
косяки и ошибки прямо в редакторе. syntastic умеет проверять не только С/С++, а принципе, он и руби и питон с похапе обработать может. И bash тоже. Но для С/С++ это то, что я как доктор могу рекомендовать.
2 Если используете doxygen, то добавьте ещё this
3 Для перезагрузки .vimrc и корректировки отметки времени редактирования я бы сделал так:
" Reload .vimrc after it's saving.
autocmd! BufWritePost $MYVIMRC source $MYVIMRC
" Rewrite timestamp in .vimrc.
autocmd! BufWritePre $MYVIMRC call setline(1, '" Last update: '.strftime("%d.%m.%Y %H:%M"))
4 Спеллчекер:
" Add language spelling.
set spell spelllang=en,ru
" Check language spelling.
nmap <F3> :setlocal spell spelllang=ru,en<CR>
imap <F3> <ESC>:setlocal spell spelllang=ru,en<CR>i
nmap <S-F3> :setlocal nospell<CR>
imap <S-F3> <ESC>:setlocal nospell<CR>i
5 Назначения клавиш (на мой вкус):
" Key settings.
" F2 to save current file.
map <F2> :w<CR>
nmap <F2> <Esc>:w<CR>
imap <F2> <Esc>:w<CR>
" F12 to quit without saving.
map <F12> :q!<CR>
nmap <F12> <Esc>:q!<CR>
imap <F12> <Esc>:q!<CR>
" Some fixes.
cnoreabbrev W! w!
cnoreabbrev Q! q!
cnoreabbrev Qall! qall!
cnoreabbrev Wq wq
cnoreabbrev Wa wa
cnoreabbrev wQ wq
cnoreabbrev WQ wq
cnoreabbrev W w
cnoreabbrev Q q
cnoreabbrev Qall qall
6 Работа со вкладками:
" Работа с вкладками.
" Открываем новую по Ctl+T и закрываем по Ctrl+W.
nmap <C-t> :tabnew<CR>
imap <C-t> <Esc>:tabnew<CR>
nmap <C-w> :tabclose<CR>
imap <C-w> <Esc>:tabclose<CR>
" Переключаемся между вкладками Shift+TAB.
map <S-TAB> :tabprevious<CR>
nmap <S-TAB> :tabprevious<CR>
imap <S-TAB> <Esc>:tabprevious<CR>i
7 Парные скобки:
" Auto pairing.
imap [ []<left>
imap ( ()<left>
imap { {}<left>
imap < <><left>
imap {<CR> {<CR>}<ESC>O
imap {;<CR> {<CR>};<ESC>O
8 Для написания bash-скриптов (делаем скрипт сразу исполняемым):
" Settings for bash scripts.
" Проверяем запись shell-script. Если он не исполняемый, то делаем его
" исполняемым. Если уже исполняемый, то просто сохраняем.
au BufWritePost *.sh if FileExecutable("%") | if getline(1) =~ "^#!" | silent !chmod u+x % | endif | endif
" Проверка файла с расширением .sh на исполняемость.
function! FileExecutable(fname)
execute "silent! ! test -x" a:fname
return v:shell_error
endfunction
9 Про кодировки:
set enc=utf-8
set fileformat=unix
set ffs=unix,dos,mac
set termencoding=utf-8
set fileencodings=utf-8,koi8-r,cp1251,cp866
10 Для установки плагинов я лично использую pathogen, но это чисто моя такая вкусовщина.
Ну вот, как-то вот так…