Online video hd

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

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

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

Посты с тегом vim
Minoru 19.06.2010 00:29

VimКомпиляция по F5, запуск по F9

До недавнего я довольствовался таким циклом написания программ:
1
2
3
4
5
6
7
$ vim code.c
. . .
:wq
$ g++ -o program code.c && ./program
. . .
$ vim code.c
. . .

Естественно, рано или поздно такое положение вещей должно было меня задолбать, что и произошло несколько месяцев назад. Тогда я взял пост с Хабра и допилил тамошний рецепт, в результате чего получились вполне юзабельные хоткеи.
Полностью.
+ 5 -
23
h0rr0rr_drag0n 14.06.2010 22:34

Vim — Использование VIm, как IDE для языка C.

Несмотря на утверждение, что Vim это всего лишь текстовый редактор и использовать его как IDE глупо, я довольно продолжительное время успешно использую Vim как IDE для языка C. В этом мне помогает набор удобных плагинов и периодически улучшаемый мною .vimrc.
К сожалению, я не встречал в Интернете статей, посвященных превращению Vim в IDE для C. Поэтому я решил написать свою :-).

По ссылке, можно прочитать об используемых мною плагинах, почитать мои комментарии к содержимому конфигурационного файла, посмотреть скринкаст, в котором я пытался показать как работают мои хоткеи, а также скачать и посмотреть мой .vimrc (комментарии на русском, UTF8). Рекомендуется читать статью и параллельно просматривать мой .vimrc - в комментариях написано то, что не вошло в статью, но может вызвать вопросы (например как просмотреть ман-страницу и как скакать в ней по ссылкам).
Полностью.
+ 11 -
89
philosoft 05.06.2010 19:25

VimVIM screencast

Писать тут особо нечего. Скринкасты о виме от Derek Wyatt, весело, наглядно, познавательно. Осторожно: английский.
vimeo
+ 1 -
0
wilful 01.06.2010 23:16

Есть вопрос!vim, shell scripting

Доброго!

Хотел поинтересоваться у местного населения, пользователей vim, ну и просто хороших ребят.

Последнее время скрипты написанные мной для частного использования всё более и более усложняются. Для правки конфигов использую vim, в который занесено несколько плагинов для удобного доступа, автодополнения и пр. Как можно или можно ли сделать из vim IDE для shell скриптов?

В частности меня волнует автодополнение по командам из системы или хотябы словарь для шелла... Может кто-то поделится опытом о настройке vim для sh, только для него, т.к. практически для любого норм языка (C, perl, python и т.д.) информации на vim.org предостаточно и более.
+ 1 -
3
blackraven 01.06.2010 14:41

Tips & tricksVim vs Screen

Сегодня столкнулся с проблемой - в vim, запущенном в screen-сессии, очень оригинально работают клавиши со стрелками. Конкретно - клавиши вверх и вниз работают в том самом втором режиме vim - "Все портить" (подробности).
Проблема решается добавлением строки
1
set term=xterm

в .vimrc.

UPD:
Еще выяснилось, что ls из-под screen не цветной (хотя даже шелл цвета показывает). В моем случае вылечилось строкой
1
term xterm-color

в screenrc.


Ну и заодно - .screenrc (скопирован частично у muhas'а):

 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
term xterm-color
termcapinfo xterm* ti@:te@
shell -${SHELL}
shelltitle "$ |tcsh"
defutf8 on
defflow on
defscrollback 10000
defbce on
autodetach on
altscreen on
bind + resize +3
bind - resize -1
# Переключение между первыми 8-ю окнами по F1-F8
bindkey -k k1 select 0
bindkey -k k2 select 1
bindkey -k k3 select 2
bindkey -k k4 select 3
bindkey -k k5 select 4
bindkey -k k6 select 5
bindkey -k k7 select 6
bindkey -k k8 select 7
# листание окон с помощью F11-F12
bindkey -k F2 next
bindkey -k F1 prev
bufferfile ~/.bak/screen-exchange
caption always "%{+b rk}%H%{gk} |%c %{yk}%d.%m.%Y | %{wk} %?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%? | %{rk} Load: %l %{wk}"


Для интересующихся скрином - ман на русском
Полностью.
+ 3 -
54
kstep 21.04.2010 13:02

Мой конфигА вот и мой .vimrc

Поделюсь, раз такое дело:

Полностью.
+ 0 -
12
grimgav 21.04.2010 11:11

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

Занялся причесыванием своего конфигурационного файла для Vim. Может кому-то будет полезен или поделится кто своими наработками и замечаниями.
Полностью.
+ 1 -
3
bosha 20.04.2010 23:50

Мой конфигОчередной ~/.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
"-------------------------
"" Basic Settings
"-------------------------
" " For vim outliner
filetype plugin indent on

" disable the welcome screen
set shortmess+=I        

" " Set encoding for autocompetition
set fileencodings=utf-8,cp1251,koi8-r,cp866

" " More pretty colors 
set t_Co=256

" " Setting up colorscheme
colorscheme xoria256

" " Set the reversal of lines according
set wrap
set linebreak

" " I am not really now why i add this line
set virtualedit=all

" " Cool stuff to view word which changes now
set cpoptions=ces$

" " Turning off capability with vi
set nocompatible

" " Show cursor all the time
set ruler  

" " Show uncompleted commands in status bar
set showcmd  

" " Switch on line numbering 
set nu

" " Folding on indentation
set foldmethod=manual

" " Search as you type
set incsearch

" " Stop the search at the end of file
set nowrapscan

" Теперь нет необходимости передвигать курсор к краю экрана, чтобы подняться
" в режиме редактирования
set scrolljump=7

" " Теперь нет необходимости передвигать курсор к краю экрана, чтобы
" опуститься в режиме редактирования
set scrolloff=7

" " Set visual bell off
set novisualbell
set t_vb=   

" " Default encoding
set termencoding=utf-8

" " Don't remove current buffer, when we switch to next.
set hidden

" " make command line height in one line
set ch=1

" " Hide mouse pointer when typing
set mousehide

" " Set autoindent
set autoindent

" " Syntax lighting
syntax on

" " Say to vim, that the background is black.
" " That give us more beauty colors :)
" set background=dark

" " Turn off backup files
set nobackup

" " Turn off swap files
set noswapfile

" " Conversion tab to spaces.
set expandtab

" " set default tab size
set shiftwidth=4
set softtabstop=4
set tabstop=4
set smarttab

" 
set cursorline

" " Paren mode 
" :let loaded_matchparen = 1
set showmatch

" " Status line format
set statusline=%<%f%h%m%r%=format=%{&fileformat;}\ file=%{&fileencoding;}\ enc=%{&encoding;}\ %b\ 0x%B\ %l,%c%V\ %P
set laststatus=2

" " Set "smart" indent
set smartindent

" " Session option
set sessionoptions=curdir,buffers,tabpages

"-------------------------
"" Hotkeys
"-------------------------

" CTRL-F for omni completion
imap <C-F> <C-X><C-O>

" " C-c and C-v - Copy/Paste using "Global clipboard"
vmap <C-C> "+yi
imap <C-V> <esc>"+gPi

" " Shitf-Insert like xterm
map <S-Insert> <MiddleMouse>

" C-y - удаление текущей строки
" nmap <C-y> dd
" imap <C-y> <esc>ddi

" " Поиск и замена слова под курсором
nmap ; :%s/\<<c-r>=expand("<cword>")<cr>\>/
"

" F3 - просмотр ошибок
nmap <F3> :copen<cr>
vmap <F3> <esc>:copen<cr>
imap <F3> <esc>:copen<cr>

" " F5 - просмотр списка буферов
nmap <F5> <Esc>:BufExplorer<cr>
vmap <F5> <esc>:BufExplorer<cr>
imap <F5> <esc><esc>:BufExplorer<cr>

" " F6 - предыдущий буфер
map <F6> :bp<cr>
vmap <F6> <esc>:bp<cr>i
imap <F6> <esc>:bp<cr>i

" " F7 - следующий буфер
map <F7> :bn<cr>
vmap <F7> <esc>:bn<cr>i
imap <F7> <esc>:bn<cr>i

" " F8 - список закладок
map <F8> :MarksBrowser<cr>
vmap <F8> <esc>:MarksBrowser<cr>
imap <F8> <esc>:MarksBrowser<cr>

" команда
map <F9> :make<cr>
vmap <F9> <esc>:make<cr>i
imap <F9> <esc>:make<cr>i

" " F10 - удалить буфер
" map <F10> :bd<cr>
" vmap <F10> <esc>:bd<cr>
" imap <F10> <esc>:bd<cr>

" " VimCommander
noremap <silent> <F11> :cal VimCommanderToggle()<CR>  

" " < & > - делаем отступы для блоков
" vmap < <gv
" vmap > >gv

" " Клавиши быстрого редактирования строки, в режиме вставки
" imap <C-J> <Left>
" imap <C-K> <Right>
" imap <C-L> <Del>

" " И командной строке
" cmap <C-K> <Right>
" cmap <C-J> <Left>
" cmap <C-L> <Del>

" " Moving the lines easily.
nmap <c-j> mz:m+<CR>`z==
nmap <c-k> mz:m-2<CR>`z==
imap <c-j> <Esc>:m+<CR>==gi
imap <c-k> <Esc>:m-2<CR>==gi
vmap <c-j> :m'>+<CR>gv=`<my`>mzgv`yo`z
vmap <c-k> :m'<-2<CR>gv=`>my`<mzgv`yo`z


" " Меню выбора кодировки текста (koi8-r, cp1251, cp866, utf8)
set wildmenu
set wcm=<Tab> 
menu Encoding.koi8-r :e ++enc=koi8-r<CR>
menu Encoding.windows-1251 :e ++enc=cp1251<CR>
menu Encoding.cp866 :e ++enc=cp866<CR>
menu Encoding.utf-8 :e ++enc=utf8 <CR>

" Switches spelling

setlocal spell spelllang=ru,en
set wildmenu
set wcm=<Tab>
menu Spl.next >s
menu Spl.prev <s>
menu Spl.word_good zg
menu Spl.word_wrong zw
menu Spl.word_ignore zG
imap &lt;F2&gt; &lt;Esc&gt;:set spell!&lt;CR&gt;
nmap &lt;F2&gt; :set spell!&lt;CR&gt;
imap &lt;C-F2&gt; &lt;Esc&gt;:emenu Spl.&lt;TAB&gt;
nmap &lt;C-F2&gt; :emenu Spl.&lt;TAB&gt;

" " For snipmate plugin
filetype plugin on

au BufRead,BufNewFile *.phps    set filetype=php
au BufRead,BufNewFile *.thtml    set filetype=php

" " If file head have #!/bin/ then chmod +x to file
" au BufWritePost * if getline(1) =~ "^#!" | if getline(1) =~ "/bin/" | silent !chmod a+x | endif | endif

" Настройки для SessionMgr
let g:SessionMgr_AutoManage = 0
let g:SessionMgr_DefaultName = "mysession"

" " if you need to save file with root permission, just type :Wsudo to save.
command Wsudo set buftype=nowrite | silent execute ':%w !sudo tee %' | set buftype= | e! %

" allow command line editing like emacs
cnoremap &lt;C-A&gt;      &lt;Home&gt;
cnoremap &lt;C-E&gt;      &lt;End&gt;
" cnoremap &lt;C-F&gt;      &lt;Right&gt;
cnoremap &lt;C-N&gt;      &lt;End&gt;
cnoremap &lt;C-P&gt;      &lt;Up&gt;
cnoremap &lt;ESC&gt;b     &lt;S-Left&gt;
cnoremap &lt;ESC&gt;&lt;C-B&gt; &lt;S-Left&gt;
cnoremap &lt;ESC&gt;f     &lt;S-Right&gt;
cnoremap &lt;ESC&gt;&lt;C-F&gt; &lt;S-Right&gt;
cnoremap &lt;ESC&gt;&lt;C-H&gt; &lt;C-W&gt;
</s>



Он у меня в ужасно состоянии, всё никак не дойдут руки "причесать" :)

Остальные конфиги если кому интересно, всегда доступны через git на github

P.S. Парсер почему-то часть конфига перечеркнул. В чём дело не имею ни малейшего понятия =(
Полностью.
+ -3 -
6
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
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
1 2 3 4 5 6

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

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


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

Online video HD

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

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

Full HD video online

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

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

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