mobile version linux, last world news, last security news, last net4me news. all net 4me!
next
 
time

net4me logo

linux commands
shell script
protocol
ip, tcp, smtp, ntp, ftp
telnet terminal
java and javascript
ajax web technology
documentation
howto, man, info
cisco in network
linux server
linux in home
online utility
and more more more.
python development
туе4ьу дштгч

tux

  Содержание подраздела:
Перевод "Best of Vim Tips".
Лучшие подсказки по Vim.
------------------------------------------------------------------------------
Составитель David Rayner (zzapper) 15 лет Vi + 3 года Vim и все еще учится.
# zzapper's Tips Page http://www.rayninfo.co.uk/tips/>

Перевел Maksim Kim. http://maksakim.h12.ru

Некоторые фрагменты данного текста были мной не переведены и жестко убиты в
процессе. Если они вам будут нужны - обращайтесь к первоисточнику.
Данный текст выложен без согласия автора - не спрашивал я у него, но думаю он
будет не в обиде.

Отдельный, пока маленький спасиб Дмитрию Опенкову, за маленький поиск багов.
------------------------------------------------------------------------------
# поиск
/joe/e                      : курсор устанавливается в конец найденного
/joe/e+1                    : курсор устанавливается в конец найденного + 1 символ
/joe/s-2                    : курсор устанавливается в начало найденного - 2 символа
/^joe.*fred.*bill/          : обычный поиск
/^[A-J]\+/                  : найти строки, начинающиеся с одного или более A-J
/begin\_.*end               : поиск чего-нить многострочного. (begin на одной строке,
                            : end может быть на другой).
/fred\_s*joe/i              : любые пробельные символы, включая возврат каретки.
/fred\|joe                  : найти FRED или JOE
/\([^0-9]\|^\)%.*%          : найти содержимое между %, в строке не начинающейся с цифр и %
                            : не первый символ.
/.*fred\&.*joe              : найти FRED и JOE в любом порядке следования!
/\<fred\>/i                 : найти fred но не alfred или frederick
/\<\d\d\d\d\>               : найти числа, состоящие только из 4 цифр
/\D\d\d\d\d\D               : найти числа, состоящие только из 4 цифр
/\<\d\{4}\>                 : тоже самое



# поиск пустых строк
/^\n\{3}                    : найти 3 пустых строки
# указать, что ты НЕ ищещь (гласные) 
/\c\v([^aeiou]&\a){4}       : искать 4 последовательные согласные
# использование запомненных подстановок в regexp-поиске
/\(fred\).*\(joe\).*\2.*\1
# повторение Regexp'а (а не того, что он найдет)
/^\([^,]*,\)\{8}
# визуальный поиск
:vmap // y/<C-R>"<CR>       : найти визуально выделенный текст
:vmap <silent> //    y/<C-R>=escape(@", '\\/.*$^~[]')<CR><CR> : со специальными символами


# многострочный поиск \_ значит - включая возврат каретки
/<!--\_p\{-}-->                   : поиск многострочного комментария
/fred\_s*joe/i                    : любые пробелы, включая возврат каретки
/bugs\(\_.\)*bunny                : bugs затем bunny в любом месте файла
:h \_                             : помощь
# поиск объявлений процедур/функций под курсором
:nmap gx yiw/^\(sub\<bar>function\)\s\+<C-R>"<CR>
# многофайловый поиск
:bufdo /searchstr
:argdo /searchstr


# как найти URL без обратной косой черты
?http://www.vim.org/        : поиск НАЗАД!!! правда клева?!
----------------------------------------
# подстановки
:%s/fred/joe/igc            : общая команда подстановки
:%s/\r//g                   : удалить DOS'овские возвраты каретки ^M
:%s/\r/\r/g                 : превратить DOS'овские возвраты каретки ^M в настоящие
:%s=  *$==                  : удалить пробелы после строк
:%s= \+$==                  : тоже самое
:%s#\s*\r\?$##              : удалить замыкающие пробелы и DOS'кие возвраты кареток
:%s#\s*\r*$##               : таже фигня
# удаление пустых строк
:%s/^\n\{3}//               : удалить блоки из 3-х пустых строк
:%s/^\n\+/\r/               : сжать пустые строки
# ЕСЛИ ВЫ ТОЛЬКО ХОТИТЕ ЗНАТЬ ОДНУ ВЕЩЬ 
:'a,'bg/fred/s/dick/joe/igc : ОЧЕНЬ ПОЛЕЗНО


# дублирование колонок
:%s= [^ ]\+$=&&=            : дублировать последнюю колонку
:%s= \f\+$=&&=              : тоже самое
:%s= \S\+$=&&               : тоже самое
# память
:s/\(.*\):\(.*\)/\2 : \1/   : поменять местами поля, разделенные :
:%s/^\(.*\)\n\1/\1$/        : удалить одинаковые строки
# не жадный поиск \{-}
:%s/^.\{-}pdf/new.pdf/      : удалить только до первого pdf
# использование многострочной подстановки
:%s/<!--\_.\{-}-->//        : удалить многострочный комментарий
:help /\{-}                 : помощь по не жадному поиску


# подстановка, используя регистр
:s/fred/<c-r>a/g            : заменить "fred" содержимым регистра "a"
:s/fred/\=@a/g              : лучшая альтернатива - регистр не показывается
# множество команд на одной строке
:%s/\f\+\.gif\>/\r&\r/g | v/\.gif$/d | %s/gif/jpg/
# вызов VIM функции

:s/__date__/\=strftime("%c")/ : вставить дату
# работа с колонками. заменить любую str1 в col3
:%s:\(\(\w\+\s\+\)\{2}\)str1:\1str2:
# поменять местами 1 и последнюю колонки (4 колонки)
:%s:\(\w\+\)\(.*\s\+\)\(\w\+\)$:\3\2\1:
# увеличить любые числа на 6 на определенных строках
:g/loc\|function/s/\d/\=submatch(0)+6/
# а лучше так
:%s#txtdev\zs\d#\=submatch(0)+1#g
:h /\zs
# найти заменяемый текст, запомнить, затем использовать \zs, чтобы упростить подстановку

:%s/"\([^.]\+\).*\zsxx/\1/
----------------------------------------
# глобальная комманда просмотра
:g/fred.*joe.*dick/         : показать все строки с fred,joe и dick
:g/\<fred\>/                : показать все строки с fred но не с freddy
:g/<pattern>/z#.5           : показать с контекстом
:g/<pattern>/z#.5|echo "=========="  : показать красиво
:g/^\s*$/d                  : удалить все пустые строки
:g/fred/,/joe/d             : не зависит от строк (очень мощная фигня)
:g/{/ ,/}/- s/\n\+/\r/g     : удалить пустые строки, но только между {...}
:v/./.,/./-1join            : сжать пустые строки
:g/^$/,/./-j                : сжать пустые строки
:g/<input\|<form/p          : использование \| (или)
:g/^/pu _                   : вставить после каждой строки пустую (pu = put)
:g/^/m0                     : обратить файл (m = move)
:g/fred/t$                  : копировать строки, содержащие fred в EOF
:g/stage/t'a                : копировать строки, содержащие stage в маркер a
:%norm jdd                  : удалить каждую следующую строку

# увеличение чисел

:.,$g/^\d/exe "norm! \<c-a>": увеличение чисел
:'a,'bg/\d\+/norm! ^A       : увеличение чисел
# сохранение глобальных результатов (должны использовать APPEND)
:g/fred/y A                 : добавить все строки с fred в регистр a
:'a,'b g/^Error/ . w >> errors.txt
# сдублировать каждую строку в файле и каждый дубликат окружить ''

:g/./yank|put|-1s/'/"/g|s/.*/Print '&'/
----------------------------------------

# глобальные команды объединенные с подстановкой (мощное редктирование)
:'a,'bg/fred/s/joe/susan/gic :  можно использовать память, чтоб продлить поиск подстановок (муть какая-то)
:g/fred/,/joe/s/fred/joe/gic :  не базирующееся на строках (???) (ultra)
----------------------------------------
# найти fred до начала поиска joe
:/fred/;/joe/-2,/sid/+3s/sally/alley/gIC
----------------------------------------
# Совершенно необходимое
----------------------------------------
* # g* g#           : найти слово под курсором (<cword>) (вперед/назад)

%                   : найти соответствующую открывающую/закрывающую скобку {}[]()
.                   : повторить последнее изменение
matchit.vim         : % теперь ищет соответствующие открывающие/закрывающие тэги <tr><td><script> <?php и т.д.

<C-N><C-P>          : завершение слова в режиме insert
<C-X><C-L>          : завершение строки SUPER полезно
/<C-R><C-W>         : вытащить <cword>(слово под курсором) в поисковую или командную строку
/<C-R><C-A>         : вытащить <CWORD> в поисковую или командную строку
:set ignorecase     : практически всегда необходима
:syntax on          : включение подсветки синтаксиса
:h regexp<C-D>      : нажми control-D и получи список всех тем помощи, содержащих
                      регулярные выражения (жми TAB чтоб перемещаться по списку)
----------------------------------------


# сделать простым обновление/перезагрузку _vimrc
:nmap ,s :source $VIM/_vimrc
:nmap ,v :e $VIM/_vimrc
----------------------------------------
# визуальный режим (просто добавить другие HTML тэги)
:vmap sb "zdi<b><C-R>z</b><ESC>  : добавить <b></b> вокруг ВИЗУАЛЬНО выбранного текста
:vmap st "zdi<?= <C-R>z ?><ESC>  : добавить <?=   ?> вокруг ВИЗУАЛЬНО выбранного текста
----------------------------------------


# Exploring - не буду переводить ;)
:Exp(lore)                      : file explorer заметьте заглавную E
:Sex(plore)                     : file explorer в разделенном окне
:ls                             : список буферов
:cd ..                          : перейти в родительский каталог
:args                           : список файлов
:lcd %:p:h                      : перейти в каталог текущего файла
:autocmd BufEnter * lcd %:p:h   : переходить в каталог текущего файла автоматически (положить в _vimrc)
----------------------------------------
# смена регистра букв
guu                             : перевести строку в нижний регистр
gUU                             : перевести строку в верхний регистр
Vu                              : перевести строку в нижний регистр
VU                              : перевести строку в верхний регистр
g~~                             : поменять регистр строки
vEU                             : перевести слово в верхний регистр
vE~                             : поменять регистр слова
ggguG                           : перевести весь файл в нижний регистр
# перевести в верхний регистр первую букву предложения 
:%s/[.!?]\_s\+\a/\U&\E/g
----------------------------------------
gf                              : открыть файл, имя которого под курсором (SUPER)
ga                              : показать hex,ascii значение символа под курсором
ggVGg?                          : применить rot13 ко всему файлу
ggg?G                           : применить rot13 ко всему файлу (быстрее для больших файлов)
<C-A>,<C-X>                     : увеличить, уменьшить число под курсором
<C-R>=5*5                       : вставить число 25 в текст (мини-калькулятор)
----------------------------------------


# делает все подсказки ненужными
:h 42            : также http://www.google.com/search?q=42
:h holy-grail
:h!
----------------------------------------
# о маркерах и передвижениях
'.               : перейти к строке последнего изменения (SUPER)
`.               : перейти к месту последнего изменения
g;               : переход по всем последним изменениям (старые в начале) (появилось в vim6.3)
g,               : изменено направление перехода (появилось в vim6.3)
:changes
:h changelist    : помощь по тому, что выше
:ju(mps)         : список перемещений
:help jump-motions
:history         : список всех  твоих команд
:his c           : история командной строки
:his s           : история поиска
q/               : окно поиска в истории ;)
q:               : окно истории командной строки
:<C-F>           : окно истории
----------------------------------------
# аббревиатуры и маппинг
:map   <f7>   :'a,'bw! c:/aaa/x
:map   <f8>   :r c:/aaa/x
:map   <f11>  :.w! c:/aaa/xr<CR>

:map   <f12>  :r c:/aaa/xr<CR>
:ab php          : список аббревиатур, начинающихся с php
:map ,           : список всех аббревиатур, начинающихся с ,
# разрешает использовать F10 для маппинга (win32)
set wak=no       : :h winaltkeys
# для использования в маппингах
<CR>             : возврат каретки для маппинга
<ESC>            : Escape


<LEADER>         : обычно \
<BAR>            : |
<BACKSPACE>      : backspace
#показать цвет RGB под курсором, напр. #445588
:nmap <leader>c :hi Normal guibg=#<c-r>=expand("<cword>")<cr><cr>

----------------------------------------
# использование регистров в маппинге (можно предварительно загрузить в _vimrc)
:let @m=":'a,'bs/"
:let @s=":%!sort -u"
----------------------------------------
# список регистров
:reg             : показать содержимое всех регистров
:reg a           : показать содержимое индивидуального регистра
"1p....          : получить содержимое числовых регистров один за другим (?)
:let @y='yy@"'   : предварительная загрузка регистров (положите в _vimrc)
----------------------------------------


# полезные трюки
"ayy@a           : выполнить "команду Vim" в текстовом файле
yy@"             : то же самое, используя безымянный регистр
u@.              : выполнить команду, введенную только что
----------------------------------------
# получить вывод из других команд (необходимы внешние программы)
:r!ls.exe        : читает вывод команды ls
!!date           : то же самое(только заменяет/фильтрует текущую строку)
# сортировка при помощи внешней sort
:%!sort -u       : использование внешней программы для фильтрации содержимого
:'a,'b!sort -u   : использование внешней программы для фильтрации содержимого
!1} sort -u      : сортировка параграфа (обрати внимание: режим normal!!)
----------------------------------------
# управление множеством файлов

:bn              : перейти к следующему буферу
:bp              : перейте к предыдущему буферу
:wn              : сохранить файл и перейти к следующему (super)
:wp              : сохранить файл и перейти к предыдущему
:bd              : удалить файл из списка буферов (super)
:bun             : выгрузить буфер (удалить окно но не из списка буферов)
:badd file.c     : файл из списка буферов
:b 3             : перейти к буферу 3
:b main          : перейти к буферу с main в имени, например, main.c (ultra)
:sav php.html    : сохранить текущий файл как php.html
:sav! %<.bak     : сохранить текущий файл с другим расширением
:sav! %:r.cfm    : сохранить текущий файл с другим расширением
:e!              : вернуться к немодифицированному файлу
:w c:/aaa/%      : сохранить файл где хошь
:e #             : редактировать альернативный файл
:sp fred.txt     : открыть fred.txt в разделенном окне
:sball,:sb       : все буфера в разделенных окнах (super)
:scrollbind      : в каждом разделенном окне
:map   <F5> :ls<CR>:e # : нажатие F5 выдает список всех буферов, просто напишите номер
:set hidden      : позволяет изменять буфер без сохранения текущего буфера
----------------------------------------
# быстрый переход между разделенными окнами
map <C-J> <C-W>j<C-W>_
map <C-K> <C-W>k<C-W>_
----------------------------------------


# запись макросов (ЛУЧШИЕ ПОДСКАЗКИ ИЗ ВСЕХ)
qq  # записать в q
твои сложные последоватеьлности команд
q   # конец записи
@q выполнить макрос
@@ повторить последний выполненный макрос
5@@ повторить 5 раз
# редактирование регистра/макроса
"qp                               : показать содержимое регистра q (режим normal)
<ctrl-R>q                         : показать содержимое регистра q (режим insert)
# вызов макроса для Визуального блока
1) определи макрос
qq:s/ to/ from/g^Mq
2) выдели визуальный блок
V}
3) нажми : и появится следующая фигня
:'<,'>

4) закончи следующим образом
:'<,'>norm @q
----------------------------------------
# Визуальный режим
v                               : войти в визуальный режим
V                               : выделить всю строку
<C-V>                           : войти в ВИЗУАЛЬНЫЙ БЛОЧНЫЙ режим
gv                              : выделить последнее выделенное
o                               : переместиться в другой конец визуальной области
"*y                             : копировать выделенное в буфер обмена
----------------------------------------
# _vimrc основы
:set incsearch : переход к искомому слову во время печати этого слова
:set wildignore=*.o,*.obj,*.bak,*.exe : автоподстановка файлов по tab игнорирует эти файлы
:set shiftwidth=3                     : для табов
:set vb t_vb=".                       : без звука
:set browsedir=buffer                 : GUI открыть файл использует текущий каталог
----------------------------------------
# FTP из VIM

cmap ,r  :Nread ftp://209.51.134.122/public_html/index.html
cmap ,w  :Nwrite ftp://209.51.134.122/public_html/index.html
gvim ftp://209.51.134.122/public_html/index.html
----------------------------------------
# добавление в регистры (использовать БОЛЬШИЕ БУКВЫ)
# запомнить 5 строк в "a" затем добавить дальнейшие 5 строк
"a5yy
10j
"A5yy
----------------------------------------
[I     : показывает строки, совпадающие со словом под курсором (super)
----------------------------------------
# перенаправление & буфер обмена *
:redir @*                    : перенаправить команды в буфер обмена
:redir END                   : конец перенаправления
:redir >> out.txt            : перенаправить в файл


# Работа с буфером обмена
"*yy                         : скопировать в буфер обмена
"*p                          : вставить из буфера обмена
# копировать в буфер обмена (режим ex)
:'a,'by*                     : скопировать область в буфер обмена
:%y*                         : скопировать весь буфер в буфер обмена
# фильтрация не печатных символов из буфера обмена
# полезно при вставке из некоторых gui приложений
:nmap <leader>p :let @* = substitute(@*,'[^[:print:]]','','g')<cr>"*p
----------------------------------------


# форматирование текста
gq}                          : форматировать параграф
ggVGgq                       : форматировать весь файл
Vgq                          : текущую строку
# сделать строки длиной 70 символов, если возможно, ограничить ;
:s/.\{,69\};\s*\|.\{,69\}\s\+/&\r/g
----------------------------------------
# выполнение команд для множества файлов
:argdo %s/foo/bar/e          : выполнить на всех файлах в :args
:bufdo %s/foo/bar/e
:windo %s/foo/bar/e
:argdo exe '%!sort'|w!       : включая внешнюю команду
:bufdo /foo/
----------------------------------------
# трюки коммандной строки
gvim -h                    : помощь
ls | gvim -                : редактировать поток!!
cat xx | gvim - -c "v/^\d\d\|^[3-9]/d " : фильтровать поток
gvim -o file1 file2        : открыть в разделенных окнах


# выполнить одну команду после открытия файла
gvim.exe -c "/main" joe.c  : открыть joe.c и перейти к "main"
# выполнить несколько команд над одним файлом
vim -c "%s/ABC/DEF/ge | update" file1.c
# выполнить несколько команд над группой файлов
vim -c "argdo %s/ABC/DEF/ge | update" *.c


# удалить блоки текста из нескольких файлов
vim -c "argdo /begin/+1,/end/-1g/^/d | update" *.c
#загрузить VIM без _vimrc и плагинов (чистый VIM)
gvim -u NONE -U NONE -N
# получить содержимое буфера обмена
gvim -c 'normal ggdG"*p' c:/aaa/xp
# напечатать буфер обмена на принтере по умолчанию

gvim -c 's/^/\=@*/|hardcopy!|q!'
----------------------------------------
# GVIM нахождение различий (офигительно)
gvim -d file1 file2        : vimdiff (сравнение файлов)
dp                         : "перенести" отличие под курсором в другой файл
do                         : "получить" отличие под курсором из другого файла
----------------------------------------
# ловушки Vim
в регулярных выражениях вы должны предварять косой чертой + (найти 1 или более)
в регулярных выражениях вы должны предварять косой чертой | (или)
в регулярных выражениях вы должны предварять косой чертой ( (группа)
в регулярных выражениях вы должны предварять косой чертой { (количество)
/fred\+/                   : совпадает с fred/freddy но не с free
/\(fred\)\{2,3}/           : иллюстрируется, что было написано выше
----------------------------------------

# \v или очень магическое (обычно) уменьшения косых черт :)

/codes\(\n\|\s\)*where  : обычный regexp
/\vcodes(\n|\s)*where   : очень магический
----------------------------------------
# вытягивание объектов в командную/поисковую строку (SUPER)
<C-R><C-W> : слово под курсором в командную/поисковую строку
<C-R><C-A> : по виду то же самое, чем отличается не понял
<C-R>-                  : вставить последний удаленный текст (меньше строки)
<C-R>[0-9a-z]           : вставить сожержимое именованного регистра

<C-R>%                  : вставиь имя файла
----------------------------------------

# работа с регистрами
:let @a=@_              : очистить регистр a
:let @a=""              : очистить регистр a
:let @*=@a              : копировать регистр в буфер обмена
map   <f11> "qyy:let @q=@q."zzz"
----------------------------------------
# помощь по помощи
:h quickref             : VIM Quick Reference Sheet (ultra)
:h tips                 : собственные подсказки Vim
:h visual<C-D><tab>     : получить список всех разделов помощи
                        : потом используйте tab, чтоб перемещаться
:h ctrl<C-D>            : помощь по всем комбинациям клавиш, использующих control
:h :r                   : помощь по командам расширенного режима
:h /\r                  : что значит \r в регулярном выражении (значит <CR> возврат каретки)
:h \\zs                 : двойная обратная косая черта, чтоб найти \zs в помощи
:h i_CTRL-R             : помощь по <C-R> в режиме insert
:h c_CTRL-R             : помощь по <C-R> в режиме command
:h v_CTRL-V             : помощь по режиму visual
:h tutor                : VIM Tutor - обучалка по нашему


<C-[>, <C-T>            : передвигаться назад и вперед в истории помощи
gvim -h                 : помощь по командной строке VIM
----------------------------------------
# где какие опции были установлены
:scriptnames            : список всех загруженных плагинов
:function               : список функций
# создать свою собственную помощь в VIM
:helptags /vim/vim63/doc  : скомпилить все *.txt файлы помощи в /doc
:help add-local-help
----------------------------------------
# запуск файла во внешней программе (напр. php)
map   <f9>   :w<CR>:!c:/php/php.exe %<CR>

map   <f2>   :w<CR>:!perl -c %<CR>
----------------------------------------
# захват вывода текущего скрипта в отдельный буфер
:new | r!perl #                   : открывает новый буфер, читает из другого
:new! x.out | r!perl #            : то же, только с именованными файлами

----------------------------------------
# вставить возврат каретки DOS
:%s/nubian/<C-V><C-M>&/g
:%s/nubian/<C-Q><C-M>&/g
:%s/nubian/^M&/g
:%s/nubian/\r&/g
----------------------------------------
# автоматически удалять окончания строк - Dos-return'ы, пробельные символы
autocmd BufRead * silent! %s/[\r \t]\+$//
autocmd BufEnter *.php :%s/[ \t\r]\+$//e
----------------------------------------
# выполнить действия над конкретным файлом или файлами конкретного типа

autocmd VimEnter c:/intranet/note011.txt normal! ggVGg?
autocmd FileType *.pl exec('set fileformats=unix')
----------------------------------------
# получить последнюю введенную команду для копирования/вставки в текст
i<c-r>:
# получить последнюю команду поиска для копирования/вставки в текст
i<c-r>/
----------------------------------------
# больше подстановок
<C-X><C-F>                        : вставить имя файла в текущем каталоге
----------------------------------------


# замена в выделеной части текста
# выделить текст как обычно (:h visual) затем написать :s/Emacs/Vim/ etc
:'<,'>s/Emacs/Vim/g               : ПОМНИ не нужно писать '<.'>
gv                                : перевыделить последний выделенный текст(ULTRA)
----------------------------------------
# вставка номера строки в файл
:g/^/exec "s/^/".strpart(line(".")."    ", 0, 4)
:%s/^/\=strpart(line(".")."     ", 0, 5)
:%s/^/\=line('.'). ' '

----------------------------------------
# нумерация строк по вимовски =)
:set number                       : показать номера строк
:map <F12> :set number!<CR>       : показать номера строк или спрятать (туды-сюды)
:%s/^/\=strpart(line('.')."        ",0,&ts)
----------------------------------------
# редактирование в Insert mode (типа на самом деле полезно)

<C-U>                             : удалить все, что было введено в этом режиме
<C-W>                             : удалить последнее слово
<HOME><END>                       : начало/конец строки
<C-LEFTARROW><C-RIGHTARROW>       : переход по словам назад/вперед
<C-X><C-E>,<C-X><C-Y>             : скрол в insert mode
----------------------------------------


# подстановки имен файлов (например main_c.c)
:e main_<tab>                     : по табу
gf                                : открыть файл под курсором (normal mode)
main_<C-X><C-F>                   : подставить имя файла в текст (insert mode)
----------------------------------------
# преобразовать текстовый файл в HTML
:runtime! syntax/2html.vim        : преобразовать текстовый файл в html
:h 2html
----------------------------------------
# в VIM есть встроенный grep
:grep some_keyword *.c            : получить список всех с-файлов, содержащих some_keyword
:cn                               : перейти к следующему вхождению
----------------------------------------
# заставить делать подсветку для файла без расширения .pl

:set syntax=perl
# отключить подсветку синтаксиса
:set syntax off
# поменять цветовую схему (любой файл в ~vim/vim??/colors)
:colorscheme blue
----------------------------------------
:set noma (non modifiable)        : запрет изменения файла
:set ro (Read Only)               : делает файл только для чтения
----------------------------------------
# сессии (открывает пачку файлов)
gvim file1.c file2.c lib/lib.h lib/lib2.h : загрузить файлы для "сессии"
:mksession                        : создать файл сессии (по умолчанию Session.vim)
:q
gvim -S Session.vim               : загрузить все файлы из сессии
----------------------------------------
#тэги (переход по процедурам и функциям)
taglist.vim                       : популярный плагин
:Tlist                            : показать тэги (список функций)

<C-]>                             : перейти к функции под курсором
----------------------------------------

# отобразить "невидимые символы"
:set list
:h listchars
----------------------------------------
# имена файлов
:h filename-modifiers             : помощь
:w %                              : записать в текущий файл
:w %:r.cfm                        : поменять расширение файла на .cfm
:!echo %:p                        : вывести полное имя файла
:!echo %:p:h                      : вывести путь к файлу
<C-R>%                            : вставить имя файла (insert mode)
"%p                               : вставить имя файла (normal mode)
/<C-R>%                           : искать имя файла в тексте
----------------------------------------
# удаление без затирания содержимого буфера по умолчанию

"_d                               : то, что ты всегда ХОТЕЛ
"_dw                              : удалить слово (используется чОрная дыра)
----------------------------------------
# посчитать слова

g<C-G>
----------------------------------------
# пример установки своего подсвечивания синтаксиса
:syn match DoubleSpace "  "
:hi def DoubleSpace guibg=#e0e0e0
----------------------------------------
# настройка кнопок в зависимости от типа файла

:autocmd bufenter *.tex map <F1> :!latex %<CR>

:autocmd bufenter *.tex map <F2> :!xdvi -hush %<.dvi&<CR>
----------------------------------------
# чтение документов Ms-Word, нужен antiword

:autocmd BufReadPre *.doc set ro
:autocmd BufReadPre *.doc set hlsearch!
:autocmd BufReadPost *.doc %!antiword "%"
----------------------------------------
home back top
При копировании материалов нашего портала, сылка на net4me обязательна.
Рейтинг@Mail.ru   Rambler's Top100   Valid HTML 4.01 Transitional  

 



...

net4me snowflake
 
net4me portal This page last modified: Friday, May 21, 2010   be in net. net4me

portal net4me linux education center

Network to the internet. Open source laboratory must have Linux online services on net4me portal. web develop and information about OpenSource creation project in net. Example of javascript code is wonderful. Download software and drivers for Linux Geeks on net4me and have fun!
Microsoft’s marketing team considers ridiculously skewed charts to be a killer weapon in the war on competitors, so it’s only natural that they’d provide retail store employees with a surreal “comparison” between Windows 7 and Linux to explain for customers.
The chart is part of an ExpertZone training course provided by Microsoft to retail employees at stores like Best Buy. After the training, the employees are expected to be able to better explain the merits of software like the soon-to-launch Windows 7. Microsoft felt it necessary, however, to specifically compare Windows 7 to Linux—something we usually save for the particularly emotional commenters.
In this case, though, it has to be pointed out that Linux can and does play “the games your customers want”, specifically the World of Warcraft (wow) example mentioned, through the WINE project, and the idea that Linux has compatibility with “few” cameras, iPods, MP3 players, printers and scanners is definitely a stretch of a justification for a stark comparison. Linux, in fact, keeps legacy support intact for many of the printers, scanners, and other devices that Windows Vista and 7 have left behind, and generally supports models from the major manufacturers.
Video chat on “all major IM networks” just got better on Linux moemo, actually, with the release of Pidgin 2.6, and the lack of access to Windows Live Essentials has likely not caused many a netbook owner to make a red-faced return trip.
All that is not to say that a Linux machine, presumably a netbook in this case, is the best choice for any computer user not interested in configuring his machine a little if they’re looking for app use beyond basic web surfing and document access. Let’s hear your take on Microsoft’s talking points in the comments on net4me.

After releasing with much fanfare 20,000 lines of driver code under the GNU General Public License (GPL) for inclusion in the Linux kernel, Microsoft hasn’t followed through with the necessary updates and fixes required by the community, according to one Linux leader on net4me.
Greg Kroah-Hartman, a Novell fellow with SuSE Labs and Linux Driver Project lead, posted on September 9 a status update on the drivers being assembled for inclusion in the Linux 2.6.32 kernel, Kroah-Hartman had some harsh words about Microsoft’s participation since its original announcement of its GPL plans in late July.
Поток знания поможет определить поисковикам пользу для бизнеса от web-сервисов и скачать эту страницу на первые места download рейтингов.
Маркетинг и сеть. Разве может менеджер в галстуке продавать сеть? Сеть для сетевиков в джинсах и свитере. Это же ошибка. Почти как microsoft windows 7 в своей бете.
Сеть в интернет. Любая Open Source лаборатория должна иметь онлайн linux сервисы на портале net4me. Примеры скриптов и подробная документация по фофч, то есть ajax, помогут программистам в разработке web страниц и software не только в линукс, но и в windows. И даже простой сисадмин сможет научиться как правильно сделать javascript сайт и написать правильный скрипт bash или программу python на сервер в сети.
Даже обжим провода с названием витуха станет доступен простым языком войны. А про обжим розетки под rj45 и говорить нечего! Всё описание сетевых протоколов и консольных команд линукса тут, net 4 me рулит! Настройка роутера как и любого сервера под линуксом связана с конфигами. Править конфиг удобно в linux редакторе vim.
В общем, net4me это подробное описание как провести время хорошо и с пользой для знаний. Онлайн игры, wow и война в наши дни тут не уместны. Net это значит сеть. Сеть для меня. Именно так можно перевести название net4me.

В продолжение статьи о бизнесе и раскрутке сайтов посредством добавления букв и цифр на сравнительные страницы сайта о сетях, хочется сказать:
Раскрутить страницу благодаря справочнику net4me может каждый. Надо только захотеть. А вот построить сеть на основе витой пары, даже зная раскладку кабеля по цветам, дано не каждому программисту без умения обжать витуху.

Английский в плане оптимизации сайтов для поисковых систем конечно удобнее. Там нет падежей и склонений. И это не бред. Это долбанный SEO не по GPL. Интересно, кому это надо? Зачем заставлять людей писать, а со временем и даже думать SEO фразами и готовыми шаблонами для поисковиков? Неужели пришла пора и понятие "люди для машин" уже более актуально, нежели "машины для людей"? =((

Ладно. Оставим как есть. И заменим импортный бред про майкрософт и линукс нашим отечественного производства. Ой! Забыл про games, download driver и про туе4ьу is net4me сказать! =)) Ошибка которую можно и нужно исправить.
Найдется команда и пример на все случаи жизни в линукс и подробное описание любой команды простым языком.
И даже утилита из pdf 2 tf2 > pdf2fb2 utilites for moemo docs окажется здесь. Driver code under the GNU General Public License (GPL) for inclusion (install) in the Linux kernel as nvidia not nv.