Видео ролики бесплатно онлайн

Смотреть вудман видео

Официальный сайт 70rus 24/7/365

Смотреть видео бесплатно

Похожие на MinoruОкна в vim
h0rr0rr_drag0n 13.06.2009 16:49

VimДерево проектов (project window) в Vim.

При разрастании количества файлов, с которыми приходится работать, неизбежно желание как-то систематизировать все это. IDE позволяют собрать все файлы, относящиеся к одной программе, в один проект, к файлам которого в дальнейшем довольно просто получить доступ через окно дерева проектов в интерфейсе IDE.

В vim'e тоже существует подобная функциональность, реализованная в виде плагина project.

Полностью.
+ 11 -
5
IamCrazy 20.04.2010 14:35

Мой конфигМой .vimrc

Ну, раз пошло такое дело.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
" Определить тип файла 
filetype plugin indent on
" тема
colorscheme pyte "torte
" Подсветка синтаксиса
syntax on
" Автоматически менять папку при открытии файла
set autochdir
" Автоотсупы
set autoindent
" Папка для buckup
set backupdir=/tmp
"set cursorline             " Подсветка строки, где момент курсор
" поддержка символов, которых нет на клаве
set digraph
" Преобразование таба в пробел
set expandtab
" Сворачивание по отступам
set fdm=indent
" Список кодировок файлов для автоопределения
set fileencodings=utf-8,cp1251,koi8-r,cp866
" Включаем фолдинг (сворачивание участков кода)
set foldenable
" Автоматическое открытие сверток при заходе в них
set foldopen=all
" Шрифт
set guifont=Courier_new:h10:cDEFAULT
" Запоминать последние 150 команд
set history=150
" игнорировать регистр при поиске
set ignorecase
" Всегда отображать статусную строку для каждого окна
set laststatus=2
" Показываем табы в начале строки точками
set listchars=tab:··
set list
set mouse=a
set mousehide
" Переносить длинные строки
set wrap
" Показать номер строки
set number
set shiftwidth=4
" Показывать введенные команды
set showcmd
" Набрав закрывающую скобку, показывает открывающую
set showmatch
set smartcase
" удалять таб-символы как tab (но реально удаляется n пробелов)
set softtabstop=4
set tabstop=4
set virtualedit=all
" Автодополнение как в zsh
set wildmode=list:longest,full
" установить keymap, чтобы по Ctrl+^ переключался на русский и обратно
set keymap=russian-jcukenwin
" по умолчанию - латинская раскладка
set iminsert=0
" по умолчанию - латинская раскладка при поиске
set imsearch=0
" настройка для работы с рус.словами (чтобы w, b, * понимали русские слова)
set iskeyword=@,48-57,_,192-255
" Переключение раскладок и индикация выбранной в данный момент раскладки.
    " -->
        " Переключение раскладок будет производиться по <C-F>

        function MyKeyMapHighlight()
            if &iminsert; == 0
                hi StatusLine ctermfg=DarkBlue guifg=DarkBlue guibg=Gray
            else
                hi StatusLine ctermfg=Yellow guifg=Yellow guibg=Red
            endif
        endfunction

        " Вызываем функцию, чтобы она установила цвета при запуске Vim'a
        call MyKeyMapHighlight()

        " При изменении активного окна будет выполняться обновление
        " индикации текущей раскладки
        au WinEnter * :call MyKeyMapHighlight()

        cmap <silent> <C-F> <C-^>
        imap <silent> <C-F> <C-^>X<Esc>:call MyKeyMapHighlight()<CR>a<C-H>
        nmap <silent> <C-F> a<C-^><Esc>:call MyKeyMapHighlight()<CR>
        vmap <silent> <C-F> <Esc>a<C-^><Esc>:call MyKeyMapHighlight()<CR>gv
    " <--                 
" Статусная строка
set statusline=%<%f%h%m%r%=format=%{&fileformat;}\
                \file=%{&fileencoding;}\ enc=%{&encoding;}\
                \ \%b\ 0x%B\ %l,%c%V\ %P

"Позиция окна при загрузке для GVim в Windows
"    winpos 0 0
"    winsize 150 50

"Горячие клавиши F2-F12
" F2 - сохранить
" F3 - новый таб
" F4 - диалог открытия файлов для GVIM
" F6 - вставить/убрать нумерацию строк
" F7, Shift+F7 - слудующий/предыдущий таб
" F8 - выбор/запись в нужной кодировке
" F9 - поднять регистр слова (верхний регистр)
" F10 - выход
" F12 - текстовый диалог открытия файлов
    map  <F2>       :w<CR>
    map! <F2>  <Esc>:w<CR>
    map  <F3>       :tabnew<CR>
    map! <F3>  <Esc>:tabnew<CR>
    map  <F4>       :browse confirm e<CR>
    map! <F4>  <Esc>:browse confirm e<CR>
    map  <F6>       :set number!<CR>
    map  <F7>       :tabnext<CR>
    map  <S-F7>     :tabprevious<CR>
    " Выбор кодировки, в которой читать файл
        set  wildmenu
        set  wcm=<TAB>
        menu Encoding.koi8-r       :e ++enc=koi8-r<CR>
        menu Encoding.windows-1251 :e ++enc=cp1251<CR>
        menu Encoding.ibm-866      :e ++enc=cp866<CR>
        menu Encoding.utf-8        :e ++enc=utf-8<CR>
        map  <F8>       :emenu Encoding.<TAB>
    " Выбор кодировки, в которой сохранять файл
        set wildmenu
        set wcm=<Tab>
        menu Encoding.Write.koi8-r        :set fenc=koi8-r<CR>
        menu Encoding.Write.windows-1251  :set fenc=cp1251<CR>
        menu Encoding.Write.cp866         :set fenc=cp866<CR>
        menu Encoding.Write.utf-8         :set fenc=utf8<CR>
        map <S-F8> :emenu Encoding.Write.<TAB>
    map  <F9>       vEU
    map! <F9>  <ESC>vEU
    map  <S-F9>      vEu
    map! <S-F9> <ESC>vEu
    map  <F10>      :q<CR>
    map! <F10> <Esc>:q<CR>
    " F12 - file browser
    map <F12> :Ex<cr>
    vmap <F12> <esc>:Ex<cr>i
    imap <F12> <esc>:Ex<cr>i

"Вставка по нажатию на колесик мышки
    map  <S-Insert> <MiddleMouse>
    map! <S-Insert> <MiddleMouse>

" Автоматическое закрытие скобок
    imap < 
&lt;LEFT&gt;
    imap ( ()&lt;LEFT&gt;
    imap { {}&lt;LEFT&gt;
Полностью.
+ 2 -
4
Shtsh 01.11.2010 12:46

ПереводыВозвращение к Vim - Часть 2

Продолжение

Используем Leader

В Vim выделена целая клавиша для пользовательских настроек. Она называется "leader" и по-умолчанию назначена на \. Как я упоминал в предыдущем разделе, я предпочитаю использовать вместо нее , .

У любого есть несколько вещей, которые он часто вводит или исполняет и хочет создать для них ярлыки. Leader — своего рода "пространство имен", которое отделяет эти настройки, чтобы не допустить перекрывания ими стандартных команд.

Вот несколько вещей, для которых я использую команду leader.У вас, конечно, будут другие идеи, но это даст вам представление о возможностях.
Полностью.
+ 14 -
15
Kraplax 30.07.2009 17:02

0byteПодсветка синтаксиса движка 0byte в Notepad++

Я сделал простенькую подсветку синтаксиса для Notepad++. Да, это ресурс в основном для пользователей Linux, но подсветка синтаксиса реализована в движке 0byte, а на нем, возможно, будет создан еще не один блог!

Да и не исключено, что этот пост побудит вас создать настройки подсветки синтаксиса для вашего любимого текстового редактора.
Полностью.
+ 2 -
5
Shtsh 20.04.2010 14:55

Мой конфигМои некоторые конфиги

может, кто-нибудь что-то найдёт полезное

~/.vimrc

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
set nu
    set background=dark
    imap &lt;F1&gt; &lt;Esc&gt;:set&lt;Space&gt;nu!&lt;CR&gt;a
    nmap &lt;F1&gt; :set&lt;Space&gt;nu!&lt;CR&gt;
    " Размер табуляции
    set tabstop=4
    " Размер сдвига при нажатии на клавиши &lt;&lt; и &gt;&gt;
    set shiftwidth=4
    " Копирует отступ от предыдущей строки
    "set autoindent
    " Включаем 'умную' автоматическую расстановку отступов
    "set smartindent
    " Включаем подсветку синтаксиса
    syntax on

    " Включаем перенос строк
    set wrap
    " Перенос строк по словам, а не по буквам
    set linebreak

    " Включаем отображение выполняемой в данный момент команды в правом нижнем углу экрана.
    " К примеру, если вы наберете 2d, то в правом нижнем углу экрана Vim отобразит строку 2d.
    set showcmd
    " Включаем отображение дополнительной информации в статусной строке
    set statusline=%&lt;%f%h%m%r%=format=%{&fileformat;}\ file=%{&fileencoding;}\ enc=%{&encoding;}\ %b\ 0x%B\ %l,%c%V\ %P

    " Включаем подсветку выражения, которое ищется в тексте
    set hlsearch
    " При поиске перескакивать на найденный текст в процессе набора строки
    set incsearch
    " Останавливать поиск при достижении конца файла
    set nowrapscan
    " Игнорировать регистр букв при поиске
    set ignorecase

    " Отключаем создание бэкапов
    set nobackup
    " Отключаем создание swap файлов
    set noswapfile
    "" Все swap файлы будут помещаться в эту папку
    set dir=~/.vim/swp

    "" Размер истории для отмены
    "set undolevels=1000

    " Список кодировок файлов для автоопределения
    set fileencodings=utf-8,cp1251,koi8-r,cp866

 " Перемещать курсор на следующую строку при нажатии на клавиши вправо-влево и пр.
    set whichwrap=b,s,&lt;,&gt;,<,>,l,h

    " Просмотр нетекстовых файлов в Vim --&gt;
        au BufReadPost *.pdf silent %!pdftotext -nopgbrk "%" - |fmt -csw78
        au BufReadPost *.doc silent %!antiword "%" 
        au BufReadPost *.odt silent %!odt2txt "%" 
    " Просмотр нетекстовых файлов в Vim &lt;--

        " Клавиши быстрого редактирования строки в режиме вставки
        " и в режиме редактирования командной строки.
        " --&gt;
            "imap
            imap &lt;C-J&gt; &lt;Left&gt;
            imap &lt;C-K&gt; &lt;Right&gt;
            imap &lt;C-L&gt; &lt;Del&gt;

            "cmap
            cmap &lt;C-J&gt; &lt;Left&gt;
           cmap &lt;C-K&gt; &lt;Right&gt;
            cmap &lt;C-L&gt; &lt;Del&gt;
        " &lt;--




 " Меню Encoding --&gt;
            " Выбор кодировки, в которой читать файл --&gt;
                set wildmenu
                set wcm=&lt;Tab&gt;
                menu Encoding.Read.utf-8&lt;Tab&gt;&lt;F7&gt; :e ++enc=utf8 &lt;CR&gt;
                menu Encoding.Read.windows-1251&lt;Tab&gt;&lt;F7&gt; :e ++enc=cp1251&lt;CR&gt;
                menu Encoding.Read.koi8-r&lt;Tab&gt;&lt;F7&gt; :e ++enc=koi8-r&lt;CR&gt;
                menu Encoding.Read.cp866&lt;Tab&gt;&lt;F7&gt; :e ++enc=cp866&lt;CR&gt;
                map &lt;F7&gt; :emenu Encoding.Read.&lt;TAB&gt;
            " Выбор кодировки, в которой читать файл &lt;--

            " Выбор кодировки, в которой сохранять файл --&gt;
                set wildmenu
                set wcm=&lt;Tab&gt;
                menu Encoding.Write.utf-8&lt;Tab&gt;&lt;S-F7&gt; :set fenc=utf8 &lt;CR&gt;
                menu Encoding.Write.windows-1251&lt;Tab&gt;&lt;S-F7&gt; :set fenc=cp1251&lt;CR&gt;
                menu Encoding.Write.koi8-r&lt;Tab&gt;&lt;S-F7&gt; :set fenc=koi8-r&lt;CR&gt;
                menu Encoding.Write.cp866&lt;Tab&gt;&lt;S-F7&gt; :set fenc=cp866&lt;CR&gt;
                map &lt;S-F7&gt; :emenu Encoding.Write.&lt;TAB&gt;
            " Выбор кодировки, в которой сохранять файл &lt;--

            " Выбор формата концов строк (dos - , unix - , mac - ) --&gt;
                set wildmenu
                set wcm=&lt;Tab&gt;
                menu Encoding.End_line_format.unix&lt;Tab&gt;&lt;C-F7&gt; :set fileformat=unix&lt;CR&gt;
                menu Encoding.End_line_format.dos&lt;Tab&gt;&lt;C-F7&gt; :set fileformat=dos&lt;CR&gt;
                menu Encoding.End_line_format.mac&lt;Tab&gt;&lt;C-F7&gt; :set fileformat=mac&lt;CR&gt;
                map &lt;C-F7&gt; :emenu Encoding.End_line_format.&lt;TAB&gt;
            " Выбор формата концов строк (dos - , unix - , mac - ) &lt;--
        " Меню Encoding &lt;--


~/XTerm

1
2
3
4
5
6
7
8
9
tScrollBar: false
XTerm*scrollBar: false
XTerm*saveLines: 1000
XTerm*foreground: green
XTerm*cursorColor: grey
XTerm*background: black
XTerm*geometry: 105x35
XTerm*emghtBitInput: false
XTerm*metaSendsEscape: true

Последние 2 строчки - чтобы работали хоткеи с альтом

~/.bashrc

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#цветной вывод
alias ls='ls --color=auto'
PS1='\<\e<0;31m\>\u\<\e<m> \<\e<1;34m\>\w\<\e</m><m> \<\e<0;31m\>\$ \<\e</m><m>\<\e<0;32m\> '
eval `dircolors -b`
export GREP_COLOR="1;33"
alias grep='grep --color=auto'

#только один таб
set show-all-if-ambiguous on

#автодополнение
if < -f /etc/bash_completion >; then
    . /etc/bash_completion
fi

#размер истории для хранения
export HISTSIZE=10000

#алиасы для частых команд (сейчас, вроде, даже не использую некоторые)
alias pb='pmount /dev/sdb1'
alias pub='pumount /dev/sdb1'
alias pc='pmount /dev/sdc1'
alias puc='pumount /dev/sdc1'
alias pd='pmount /dev/sdd1'
alias pud='pumount /dev/sdd1'
alias asd='aria2c'
alias asd30='aria2c --max-overall-download-limit=30K'

#переменные для редактора, браузера и чтения манов (и других, где используется PAGER)
export EDITOR=vim
export BROWSER=/usr/bin/google-chrome
export PAGER="/usr/bin/most -s"


alias srv-arm='rdesktop -u Administrator -p "pass" -g 1280x800  -k en-us 172.16.1.6'
alias srv-arm2='rdesktop -u "user@domain" -p "pass" -g 1280x800 -k en-us 172.16.1.6'
alias srv-int='rdesktop -u Administrator -p "pass" -g 1280x800  -k en-us 172.16.1.5'
alias srv-buh='rdesktop -u Администратор -p "pass" -g 1280x800  -k en-us 172.16.1.7'
</m>


~/.inputrc

Клавиши вверх и вниз ищут по истории с учётом того, какие первые буквы введены
1
2
3
"\e<a>
"\e<b>
</b></a>

Полностью.
+ 4 -
1
h0rr0rr_drag0n 18.11.2010 12:38

VimShell в отдельном буфере vim'а

Лично мне, кажется весьма удобной возможность работать в консоли (например в том же bash'е) не отвлекаясь от любимого vim'а. Можно одновременно коммитить код или изменять структуру каталогов проекта или делать прочие подобные вещи не выходя из vim'а и не отвлекаясь на другие окна.
Раньше (пару лет назад), я искал плагин, который позволил бы открывать отдельный буфер с каким-нибудь shell'ом, но натыкался на предложения перекомпилировать vim, предварительно применив к его исходникам набор патчей. Естественно, меня не устраивало подобное положение вещей - мне хотелось простого плагина, а не плясок с бубном.
Оказывается, выход есть! Подобный плагин существует и называется Conque Shell.
Полностью.
+ 12 -
14
h0rr0rr_drag0n 14.08.2009 23:00

VimИспользование отладчика gdb в Vim’e

При использовании Vim’a как IDE иногда возникает потребность вызвать отладчик для исполняемого файла открытого проекта. Интеграция gdb и vim’а возможна разными способами: путем накладывания патча или использования специального плагина. Я пошел своим путем и сделал простенький скрипт для использования отладчика вместе с вимом.

Полностью.
+ 1 -
3
klen 20.04.2010 15:06

Мой конфигеще один .vimrc

Ну и я приобщусь:


  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
" ------------------------------
" .vimrc klen &lt;[email protected]&gt;

" ------------------------------
" Setup

    if !exists('s:loaded_my_vimrc')
    " Don't reset twice on reloading - 'compatible' has SO many side effects.
        set nocompatible  " to use many extensions of Vim.

        " Create special directory for backup and swap
        if finddir($HOME.'/.data/') == ''
            silent call mkdir($HOME.'/.data/')
        endif

        if finddir($HOME.'/.data/backup') == ''
            silent call mkdir($HOME.'/.data/backup')
        endif
        set backup                  " make backup file and leave it around 
        set backupdir=$HOME/.data/backup    " where to put backup file 
        set backupskip&
        set backupskip+=svn-commit.tmp,svn-commit.<0-9>*.tmp

        if finddir($HOME.'/.data/swap') == ''
            silent call mkdir($HOME.'/.data/swap')
        endif
        set directory=$HOME/.data/swap      " where to put swap file 

        if finddir($HOME.'/.data/sessions') == ''
            silent call mkdir($HOME.'/.data/sessions')
        endif
        let g:session_dir = $HOME.'/.data/sessions'

    endif

    set hidden                  " не требовать сохранения буфера
    set title                   " показывать имя файла в заголовке окна
    set autoread                " отслеживать изменения файлов
    set visualbell              " ошибки без писка
    set modeline                " читать параметры конфигурации из открытого файла
    set magic                   " добавим магии

    " Indent and tabulation
    set autoindent              " копирует отступ от предыдущей строки
    set smartindent             " включаем 'умную' автоматическую расстановку отступов
    set expandtab               " tab with spaces
    set smarttab
    set shiftwidth=4            " Размер сдвига при нажатии на клавиши &lt;&lt; и &gt;&gt;
    set softtabstop=4           " Табуляция 4 пробела
    set shiftround              " удалять лишние пробелы при отступе

    " Backup and swap files
    set history=400                     " history length
    set viminfo+=h                      " save history
    set sessionoptions-=blank           " dont save blank vindow
    set sessionoptions-=options           " dont save options

    " Search options
    set hlsearch                " Подсветка результатов
    set ignorecase              " Игнорировать регистр букв при поиске
    set incsearch               " При поиске перескакивать на найденный текст в процессе набора строки
    set smartcase               " Игнорировать предыдущую опцию если в строке поиска есть буквы разного регистра

    " Localization
    set langmenu=none            " Always use english menu
    set keymap=russian-jcukenwin " Переключение раскладок клавиатуры по &lt;C-^&gt;
    set iminsert=0               " Раскладка по умолчанию - английская
    set imsearch=0               " Раскладка по умолчанию при поиске - английская
    set spelllang=en,ru          " Языки для проверки правописания
    set encoding=utf-8
    set fileencodings=utf-8,cp1251,koi8-r,cp866
    set termencoding=utf-8

    " Строка статуса и командная строка
    set laststatus=2            " всегда отображать статусную строку для каждого окна
    set shortmess=atToOI
    set showcmd                 " show command
    set showmode                " show mode
    set statusline=%&lt;%f%h%m     " filename and modify flag
    set statusline+=%#Error#%r%*%= " read only and separator
    set statusline+=\ type=%Y
    set statusline+=\ format=%{&fileformat;}
    set statusline+=\ file=%{&fileencoding;}
    set statusline+=\ enc=%{&encoding;}
    set statusline+=\ %b\ 0x%B\ %l,%c%V\ %P
    set wildmenu                " использовать wildmenu ...
    set wildcharm=&lt;TAB&gt;         " ... с авто-дополнением
    set wildignore=*.pyc        " Игнорировать pyc файлы
    set cmdheight=2             " Command line height 2

    " Отображение
    set foldenable
    set foldclose=all
    set foldmethod=syntax
    set foldnestmax=3           "deepest fold is 3 levels
    set foldopen=block,insert,jump,mark,percent,quickfix,search,tag,undo    " This commands open folds
    set listchars=eol:$,tab:&gt;-,trail:·,nbsp:~,extends:&gt;,precedes:&lt;
    set wrap                    " перенос строк
    set linebreak               " перенос строк по словам, а не по буквам
    set showmatch               " подсвечивать скобки
    set winminheight=0          " минимальная высота окна
    set winminwidth=0           " минимальная ширина окна
    set lazyredraw              " перерисовывать буфер менее плавно
    set confirm                 " использовать диалоги вместо сообщений об ошибках
    set shortmess=fimnrxoOtTI   " использовать сокращённые диалоги

    " Редактирование
    set backspace=indent,eol,start
    set clipboard+=unnamed      " включаем X clipboard
    set virtualedit=all         " On virtualedit for all mode
    set go+=a                   " выделение в виме копирует в буфер системы

    " Скролл
    set scrolloff=4             " 4 символа минимум под курсором
    set sidescroll=4
    set sidescrolloff=10        " 10 символов минимум под курсором при скролле

    " Customization
    syntax on
    " enable mouse
    if &term; =~ "xterm"
        set t_Co=256                " set 256 colors
        set background=dark         " set background color to dark
        colorscheme wombat256
        set ttyfast

        set mouse=a
        set mousemodel=popup
    endif
    set mousehide         " Hide the mouse when typing text

    " Опции автодополнения
    set completeopt=menu
    set infercase               " предлагать авто-дополнение на основе уже введённого регистра

    " Перемещать курсор на следующую строку при нажатии на клавиши вправо-влево и пр.
    set whichwrap=b,s,&lt;,&gt;,<,>,l,h

    " Подключение тег файла
    set tags=tags

    " set custom map leader to ','
    let mapleader = ","

    " Plugins setup
    " Taglist
    let Tlist_GainFocus_On_ToggleOpen = 1   " Jump to taglist window to open
    let Tlist_Close_On_Select         = 0   " Close taglist when a file or tag selected
    let Tlist_Exit_OnlyWindow         = 1   " If you are last kill your self
    let Tlist_Show_One_File           = 1   " Displaying tags for only one file
    let Tlist_Use_Right_Window        = 1   " split to rigt side of the screen
    let Tlist_Compart_Format          = 1   " Remove extra information and blank lines from taglist window
    let Tlist_Compact_Format          = 1   " Do not show help
    let Tlist_Enable_Fold_Column      = 0   " Don't Show the fold indicator column
    let Tlist_WinWidth                = 30  " Taglist win width
    let Tlist_Display_Tag_Scope       = 1   " Show tag scope next to the tag name
    let Tlist_BackToEditBuffer        = 0   " If no close on select, let the user choose back to edit buffer or not

    let Grep_Skip_Dirs                = 'RCS CVS SCCS .svn .git'
    let Grep_Cygwin_Find              = 1

    " Comment with space
    let NERDSpaceDelims = 1

    " Enable extended matchit
    runtime macros/matchit.vim

" ------------------------------
" Functions

    " Подсветка текущей раскладки
    fun! KeyMapHighlight()
        if &iminsert; == 0
            hi StatusLine ctermfg=White ctermbg=Blue
        else
            hi StatusLine ctermbg=Red
        endif
    endfun
    call KeyMapHighlight()

    " Биндинг клавиш"
    fun! Map_ex_cmd(key, cmd)
      execute "nmap ".a:key." " . ":".a:cmd."&lt;CR&gt;"
      execute "cmap ".a:key." " . "&lt;C-C&gt;:".a:cmd."&lt;CR&gt;"
      execute "imap ".a:key." " . "&lt;C-O&gt;:".a:cmd."&lt;CR&gt;"
      execute "vmap ".a:key." " . "&lt;Esc&gt;:".a:cmd."&lt;CR&gt;gv"
    endfun

    " Биндинг переключалки опций
    fun! Toggle_option(key, opt)
      call Map_ex_cmd(a:key, "set ".a:opt."! ".a:opt."?")
    endfun

    " передвигаемся по вкладкам
    fun! TabJump(direction)
        let l:tablen=tabpagenr('$')
        let l:tabcur=tabpagenr()
        if a:direction=='left'
            if l:tabcur&gt;1
                execute 'tabprevious'
            endif
        else
            if l:tabcur!=l:tablen
                execute 'tabnext'
            endif
        endif
    endfun

    " Sessions
    fun! SessionRead(name)
        let s:name = g:session_dir.'/'.a:name.'.session'
        if getfsize(s:name) &gt;= 0
            echo "Reading " s:name
            exe 'source '.s:name
            exe 'silent! source '.getcwd().'/.vim/.vimrc'
        else
            echo 'Not find session: '.a:name
        endif
    endfun

    fun! SessionInput(type)
        let s:name = input(a:type.' session name? ')
        if a:type == 'Save'
            call SessionSave(s:name)
        else
            call SessionRead(s:name)
        endif
    endfun

    fun! SessionSave(name)
        exe "mks! " g:session_dir.'/'.a:name.'.session'
        echo "Session" a:name "saved"
    endfun

    " Omni and dict completition
    fun! AddWrapper()
        if exists('&omnifunc;') && &omnifunc; != ''
            return "\&lt;C-X&gt;\&lt;C-o&gt;\&lt;C-p&gt;"
        else
            return "\&lt;C-N&gt;"
        endif
    endfun
" ------------------------------
" Autocommands

    if has("autocmd")

        filetype plugin indent on
 
        augroup vimrcEx
        au!

        " Подсветка раскладки
        au WinEnter * :call KeyMapHighlight()

        " Auto reload vim settins
        au! bufwritepost rc.vim source ~/.vimrc

        " Highlight insert mode
        au InsertEnter * set cursorline
        au InsertLeave * set nocursorline
        " au InsertEnter * highlight CursorLine ctermbg=DarkBlue
        " au InsertLeave * highlight CursorLine ctermbg=236
 
        " New file templates
        au BufNewFile * silent! 0r $HOME/.vim/templates/%:e.tpl

        "Omni complete settings
        " au FileType python set omnifunc=pythoncomplete#Complete
        au FileType javascript set omnifunc=javascriptcomplete#CompleteJS
        au FileType html set omnifunc=htmlcomplete#CompleteTags
        au FileType css set omnifunc=csscomplete#CompleteCSS

        " Autosave last session
        if has('mksession') 
            au VimLeavePre * :call SessionSave('last')
        endif

        " When editing a file, always jump to the last known cursor position.
        " Don't do it when the position is invalid or when inside an event handler
        " (happens when dropping a file on gvim).
        " Also don't do it when the mark is in the first line, that is the default
        " position when opening a file.
        autocmd BufReadPost *
            \ if line("'\"") &gt; 1 && line("'\"") &lt;= line("$") |
            \   exe "normal! g`\"" |
            \ endif

        augroup END

    endif

" ------------------------------
" Hot keys 
"
 
    " Text navigation
    imap &lt;M-l&gt; &lt;Right&gt;
    imap &lt;M-h&gt; &lt;Left&gt;
    imap &lt;M-j&gt; &lt;Down&gt;
    imap &lt;M-k&gt; &lt;Up&gt;
    nnoremap &lt;Space&gt; &lt;C-d&gt;

    " Set paste mode for paste from terminal
    nmap &lt;silent&gt; ,p :set invpaste&lt;CR&gt;:set paste?&lt;CR&gt;
    " Новая строка и выход из режима вставки
    map     &lt;S-O&gt;       i&lt;CR&gt;&lt;ESC&gt;
    " Drop hightlight search result
    map    &lt;silent&gt; &lt;leader&gt;n  :silent :nohls&lt;CR&gt; 
    " Omni and dict completition on space
    inoremap &lt;Nul&gt; &lt;C-R&gt;=AddWrapper()&lt;CR&gt;
    inoremap &lt;C-Space&gt; &lt;C-R&gt;=AddWrapper()&lt;CR&gt;
    " Fast scrool
    nnoremap &lt;C-e&gt; 3&lt;C-e&gt;
    nnoremap &lt;C-y&gt; 3&lt;C-y&gt;


    " allow command line editing like emacs
    cnoremap &lt;C-A&gt;      &lt;Home&gt;
    cnoremap &lt;C-B&gt;      &lt;Left&gt;
    cnoremap &lt;C-E&gt;      &lt;End&gt;
    cnoremap &lt;C-F&gt;      &lt;Right&gt;
    cnoremap &lt;C-N&gt;      &lt;Down&gt;
    cnoremap &lt;C-P&gt;      &lt;Up&gt;

    " Close cwindow
    noremap &lt;silent&gt; ,ll :ccl&lt;CR&gt;
    noremap &lt;silent&gt; ,nn :cn&lt;CR&gt;

    " Window commands
    noremap &lt;silent&gt; ,h :wincmd h&lt;CR&gt;
    noremap &lt;silent&gt; ,j :wincmd j&lt;CR&gt;
    noremap &lt;silent&gt; ,k :wincmd k&lt;CR&gt;
    noremap &lt;silent&gt; ,l :wincmd l&lt;CR&gt;
    noremap &lt;silent&gt; ,sb :wincmd p&lt;CR&gt;
    noremap &lt;silent&gt; ,cj :wincmd j&lt;CR&gt;:close&lt;CR&gt;
    noremap &lt;silent&gt; ,ck :wincmd k&lt;CR&gt;:close&lt;CR&gt;
    noremap &lt;silent&gt; ,ch :wincmd h&lt;CR&gt;:close&lt;CR&gt;
    noremap &lt;silent&gt; ,cl :wincmd l&lt;CR&gt;:close&lt;CR&gt;
    noremap &lt;silent&gt; ,cw :close&lt;CR&gt;

    " Buffer commands
    noremap &lt;silent&gt; ,bp :bp&lt;CR&gt;
    noremap &lt;silent&gt; ,bn :bn&lt;CR&gt;
    noremap &lt;silent&gt; ,bw :w&lt;CR&gt;
    noremap &lt;silent&gt; ,bd :bd&lt;CR&gt;
    noremap &lt;silent&gt; ,ls :ls&lt;CR&gt;

    " Delete all buffers
    nmap &lt;silent&gt; ,da :exec "1," . bufnr('$') . "bd"&lt;cr&gt;

    " Search the current file for the word under the cursor and display matches
    nmap &lt;silent&gt; ,gw :Rgrep&lt;CR&gt;

    " Search the current file for the WORD under the cursor and display matches
    " nmap &lt;silent&gt; ,gW
        " \ :vimgrep /&lt;C-r&gt;&lt;C-a&gt;/ %&lt;CR&gt;:ccl&lt;CR&gt;:cwin&lt;CR&gt;&lt;C-W&gt;J:set nohls&lt;CR&gt;

    " Работа с вкладками
    " новая вкладка
    call Map_ex_cmd("&lt;C-W&gt;t", ":tabnew")
    " предыдущая вкладка
    nmap Z :call TabJump('left')&lt;cr&gt;
    " следующая вкладка
    nmap X :call TabJump('right')&lt;cr&gt;
    " первая вкладка
    call Map_ex_cmd("&lt;A-UP&gt;", ":tabfirst")
    " последняя вкладка
    call Map_ex_cmd("&lt;A-DOWN&gt;", ":tablast")
    " переместить вкладку в начало
    nmap Q :tabmove 0&lt;cr&gt;
    " переместить вкладку в конец
    call Map_ex_cmd("&lt;C-DOWN&gt;", ":tabmove")

    " Переключение раскладок будет производиться по &lt;C-F&gt;
    cmap &lt;silent&gt; &lt;C-F&gt; &lt;C-^&gt;
    imap &lt;silent&gt; &lt;C-F&gt; &lt;C-^&gt;X&lt;Esc&gt;:call KeyMapHighlight()&lt;CR&gt;a&lt;C-H&gt;
    nmap &lt;silent&gt; &lt;C-F&gt; a&lt;C-^&gt;&lt;Esc&gt;:call KeyMapHighlight()&lt;CR&gt;
    vmap &lt;silent&gt; &lt;C-F&gt; &lt;Esc&gt;a&lt;C-^&gt;&lt;Esc&gt;:call KeyMapHighlight()&lt;CR&gt;gv
 
    " Запуск/сокрытие плагина NERDTree
    call Map_ex_cmd("&lt;F1&gt;", "NERDTree")

    " Toggle cwindow
    call Map_ex_cmd("&lt;F2&gt;", "cw")
 
    " Запуск/сокрытие плагина Tlist
    call Map_ex_cmd("&lt;F3&gt;", "TlistToggle")

    call Toggle_option("&lt;F6&gt;", "list")      " Переключение подсветки невидимых символов
    call Toggle_option("&lt;F7&gt;", "wrap")      " Переключение переноса слов

    " Меню работы с (VCS plugin
    map &lt;F9&gt; :emenu VCS.&lt;TAB&gt;
    menu VCS.VimDiff :VCSVimDiff&lt;CR&gt;
    menu VCS.Commit :VCSCommit&lt;CR&gt;
    menu VCS.Revert :VCSRevert&lt;CR&gt;
    menu VCS.Add :VCSAdd&lt;CR&gt;
    menu VCS.Delete :VCSDelete&lt;CR&gt;
    menu VCS.Log :VCSLog&lt;CR&gt;
    menu VCS.Update :VCSUpdate&lt;CR&gt;

    " Закрытие файла
    call Map_ex_cmd("&lt;F10&gt;", "qall")
    call Map_ex_cmd("&lt;S-F10&gt;", "qall!")

    " Список регистров 
    call Map_ex_cmd("&lt;F11&gt;", "reg")

    " Список меток
    call Map_ex_cmd("&lt;F12&gt;", "marks")

    nmap &lt;Leader&gt;ss :call SessionInput('Save')&lt;CR&gt;
    nmap &lt;Leader&gt;sr :call SessionInput('Read')&lt;CR&gt;
    nmap &lt;Leader&gt;sl :call SessionRead('last')&lt;CR&gt;
    com! Ssave :call SessionSave(&lt;args&gt;)
    com! Sread :call SessionRead(&lt;args&gt;)

    " Some gui settings
    if has("gui_running")
        " Set up the gui cursor to look nice
        set guicursor=n-v-c:block-Cursor-blinkon0
        set guicursor+=ve:ver35-Cursor
        set guicursor+=o:hor50-Cursor
        set guicursor+=i-ci:ver25-Cursor
        set guicursor+=r-cr:hor20-Cursor
        set guicursor+=sm:block-Cursor-blinkwait175-blinkoff150-blinkon175
        set guioptions=ac
        set guifont=Monaco\ 11
        colorscheme wombat256
        if !exists("g:vimrcloaded")
            winpos 0 0
            if ! &diff;
                winsize 130 90
            else
                winsize 227 90
            endif
            let g:vimrcloaded = 1
        endif
    endif

    if !exists('s:loaded_my_vimrc')
        " Автозагрузка настроек из текущей директории
        exe 'silent! source '.getcwd().'/.vim/.vimrc'
    endif

    let s:loaded_my_vimrc = 1       " Fin
    set secure  " must be written at the last.  see :help 'secure'.

Полностью.
+ 6 -
6
ckuf 22.11.2010 22:05

Есть проблема![РЕШЕНО] - Аббревиатуры vim'а

Привет всем!
Мучаюсь уже неделю, решить проблему никак не получается..
Аббревиатуры подтягиваются из файлика ~/.vim/ftplugin/pascal.vim:
1
2
3
4
5
...
iab &lt;buffer&gt; begins BEGINS
iab &lt;buffer&gt; end END
iab &lt;buffer&gt; no-error NO-ERROR
...

Если скормить файл vim'у через параметр: "$ vim temp.p", то все нормально тихо и гладко.
А вот при открытии файла из самого vim'а: ":e temp.p" выдает кучу ошибок такого типа -

Обнаружена ошибка при обработке ~/.vim/ftplugin/pascal.vim
строка 126:
Vim(iabbrev):E474: Недопустимый аргумент


На тех строках, которые он указывает находятся абб с дефисом, например "no-error NO-ERROR".
Как правильно назначать такие аббы?
Полностью.
+ 3 -
4
h0rr0rr_drag0n 05.09.2009 21:10

VimКрасивый просмотр ман-страниц в виме.

В виме, по умолчанию, можно просмотреть ман-страницу для слова под курсором, нажав комбинацию клавиш Shift+k. Если вим запущен в терминале, то в этом же терминале просто отобразится нужная ман-страница, как если бы вы набрали man нужное_слово. К сожалению, если вы пользуетесь GVim'ом, то в нем отобразится и мешанина из управляющих символов, что весьма неудобно.
Полностью.
+ 6 -
4
1 2 3 4 5 6

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн