LINUX.ORG.RU
syntax on
set cindent
set tabstop=2 shiftwidth=2
set equalprg=astyle
set expandtab
set switchbuf=usetab
set cino=N-s
set cinoptions+=g0
set colorcolumn=80
set nohlsearch
set modeline
set backspace=indent,eol,start
set bg=dark
autocmd BufRead,BufNewFile *.cmake,CMakeLists setf cmake
filetype plugin on

"doxygen
let g:DoxygenToolkit_startCommentTag = "/*! "
let g:DoxygenToolkit_startCommentBlock = "/* "
let g:DoxygenToolkit_briefTag_pre = "\\brief "
let g:DoxygenToolkit_templateParamTag_pre = "\\tparam "
let g:DoxygenToolkit_paramTag_pre = "\\param "
let g:DoxygenToolkit_returnTag = "\\return "
let g:DoxygenToolkit_throwTag_pre = "\\throw "
let g:DoxygenToolkit_fileTag = "\\file "
let g:DoxygenToolkit_classTag = "\\class "
let g:DoxygenToolkit_briefTag_className = "yes"
let g:DoxygenToolkit_briefTag_structName = "yes"
let g:DoxygenToolkit_briefTag_enumName = "yes"
let g:DoxygenToolkit_briefTag_namespaceName = "yes"
let g:DoxygenToolkit_briefTag_funcName = "yes"
DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от mos

по умолчанию. но дебиан отрубает.

У меня основная система - debian.

и точно знаешь, зачем тебе все эти настройки отступов, табов и тд?

Да. Без строчки

set backspace=indent,eol,start

Например, не работает backspace в insert-mode в дефолтном vim во фряхе (и вроде в винде).

Я этот vimrc таскаю между разными системами, на некоторых ваще самосборный vim, который хер знает, кто, хер знает, как, собирал.

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от Medar

set antialias
вот это среди прочего выдает большого спеца, составлявшего эту помо^Wпортянку. Хотя может спец на макасоси сидит...
это тоже ничо
«colors mysheme
Мышите. Не мышите. (с)

mos ★★☆☆☆
()
Ответ на: комментарий от DELIRIUM

Например, не работает backspace в insert-mode в дефолтном vim во фряхе (и вроде в винде).

не совсем так, но в целом да. просто bs=«» это vi-угодно. И оно работает, но упорото конечно с нашей точки зрения. В линаксе нормальное значение в defaults.vim задано.

mos ★★☆☆☆
()
Ответ на: комментарий от mos

Если ТС только умеет копипасту, то какая разница откуда копипастить? А вот если хочет найти какие-то локальные удачные идеи и перенести себе, то куда еще идти, как не на гитхаб?

хикки-OCDшники

И поясни мне этот термин, я из деревни.

Medar ★★★★★
()
Последнее исправление: Medar (всего исправлений: 1)
  • Подсветка
    colo default
    syntax on
    
  • Настройка табов
    " Number of spaces that a <Tab> in the file counts for
    set tabstop=4
    " Number of spaces to use for each step of (auto)indent
    set shiftwidth=4
    " Number of spaces that a <Tab> counts for while performing editing operations
    set softtabstop=4
    " Use the appropriate number of spaces to insert a <Tab>
    set expandtab
    " When on, a <Tab> in front of a line inserts blanks according to
    " 'shiftwidth'.  'tabstop' or 'softtabstop' is used in other places.
    " A	<BS> will delete a 'shiftwidth' worth of space at the start of the line
    set smarttab
    " Copy indent from current line when starting a new line
    set autoindent
    " Do smart autoindenting when starting a new line
    set smartindent
    " Ctrl+Tab for <Tab> character
    :inoremap <S-Tab> <C-V><Tab>
    
  • Разделение окон
    " Splitting a window will put the new window below or right the current one
    set splitright
    set splitbelow
    
  • Типы файлов
    " Filetype for C++ headers without extension
    au BufNewFile,BufRead * if search('-\*- C++ -\*-', 'nw') | set ft=cpp | endif
    " Filetype for SWIG
    au BufNewFile,BufRead *.i set ft=swig
    au BufNewFile,BufRead *.swg set ft=swig
    
  • Удаление пробелов в конце строк
    " Delete trailing spaces
    au FileType c,cpp,python,make,sh,swig,cuda au BufWritePre <buffer> %s/\s\+$//e
    
  • Маркер длинных строк (для кода)
    " 79 symbols limiter
    set colorcolumn=80
    highlight ColorColumn ctermbg=1
    
  • Перенос длинных строк (для текста)
    " Maximum width of text that is being inserted
    au FileType tex,text set textwidth=78
    au FileType tex,text set formatoptions=awtqc
    
  • Поддержка русской раскладки (да, vim - боль)
    " Full support for russian keyboard
    set laststatus=2 " Always show status bar
    set keymap=russian-jcukenwin " Keyboard layout switch on <C-^>
    set iminsert=0 " Default layout for insert = enlgish
    set imsearch=0 " Default layout for search and commands = english
    function! MyKeyMapHighlight()
       if &iminsert == 0 " Different colors for different layouts for status bar
          hi StatusLine ctermfg=White guifg=White
       else " а при русской - зеленого.
          hi StatusLine ctermfg=DarkRed guifg=DarkRed
       endif
    endfunction
    call MyKeyMapHighlight() " Setting color during start
    autocmd WinEnter * :call MyKeyMapHighlight() " Update layout info when changing windows
    " Ctrl+L for switching
    cmap <silent> <C-L> <C-^>
    imap <silent> <C-L> <C-^>X<Esc>:call MyKeyMapHighlight()<CR>a<C-H>
    nmap <silent> <C-L> a<C-^><Esc>:call MyKeyMapHighlight()<CR>
    vmap <silent> <C-L> <Esc>a<C-^><Esc>:call MyKeyMapHighlight()<CR>gv
    
  • Единственный плагин, который сейчас использую - vim-hardtime
    " Vim-hardtime
    let g:hardtime_default_on = 1
    let g:hardtime_timeout = 3000
    let g:hardtime_showmsg = 1
    
Crocodoom ★★★★★
()
Ответ на: комментарий от Xwo

Навигация стрелочками (а hjkl это и есть стрелочки, только удобнее расположенные) — самая неэффективная из всех возможных.

http://vimcasts.org/blog/2013/02/habit-breaking-habit-making/

Вот чем я пользуюсь для быстрого перемещения по коду

  • w, b, e, ge, W, B, E, gE
  • f, t, F, T
  • /word, ?word, n, N, *, #
  • $, ^
  • %
  • G, nG, gg
  • CTRL-U, CTRL-D, CTRL-E, CTRL-Y, CTRL-F, CTRL-B
Crocodoom ★★★★★
()
set nocompatible
set number
set wrap
set linebreak
syntax on
set tabstop=4
set shiftwidth=4
set smarttab
set et 
set ai
set cin
set si
set showmatch 
set hlsearch
set incsearch
set ignorecase
set smartcase
set lz
set listchars=tab:··
set list
set wildmenu
set clipboard+=unnamed
set backspace=indent,eol,start 

" vim-bracketed-paste plugin
" https://github.com/ConradIrwin/vim-bracketed-paste

if !exists("g:bracketed_paste_tmux_wrap")
  let g:bracketed_paste_tmux_wrap = 1
endif

let &t_ti .= "\<Esc>[?2004h"
let &t_te .= "\<Esc>[?2004l"

function! XTermPasteBegin(ret)
  set pastetoggle=<f29>
  set paste
  return a:ret
endfunction

execute "set <f28>=\<Esc>[200~"
execute "set <f29>=\<Esc>[201~"
map <expr> <f28> XTermPasteBegin("i")
imap <expr> <f28> XTermPasteBegin("")
vmap <expr> <f28> XTermPasteBegin("c")
cmap <f28> <nop>
cmap <f29> <nop>
anonymous
()
Ответ на: комментарий от Crocodoom

ну и я всем этим пользуюсь, и все думаю пользуются это базовые приёмы работы, уровень «турист» как говорится - иначе зачем нужен вим? но это не значит, что нужно принимать норкотики.

mos ★★☆☆☆
()
" wrong defaults
set nocompatible
set backspace=indent,eol,start
set ruler

" indentation
set autoindent
set expandtab
set shiftwidth=2
set tabstop=2

" text color
syntax enable
set background=dark
colorscheme koehler
set hlsearch

" gui
set guioptions-=T
set guifont=Monospace\ 10

set foldcolumn=3
set linebreak

" delete trailing spaces
autocmd BufWritePre * :%s/\s\+$//e
anonymous
()
Ответ на: комментарий от Xwo

когда текст не влезаeт в одну строку и переносится на другую j k по умолчанию пропускают перенесенную часть текста. gj gk не пропускают - обычно это желаемое поведение.

kazufukurou
()