Vim — уникальный по своей гибкости редактор, который при должной настройке может едва ли не идеально удовлетворять все пожелания работающего с ним. Правда эта настройка может продолжаться месяцы, а то и годы, что является и достоинством, и недостатком vim’а. Существует множество статей и туториалов по использованию Vim для разработки на Python и Django, надеюсь мне удастся рассказать что-то новое. В своей статье я постараюсь по минимуму упоминать плагины общего назначения, вроде NERDTree или surround.vim и опишу несколько более специализированных расширений и настроек, которые существенно упростили процесс работы на Python.



Настроить Vim под Django оказалось делом довольно непростым, в отличие от использования с тем же Rails, для которого rails.vim решает 80% всех проблем. Но к сожалению Tim Pope ничего подобного для питона не написал, поэтому пришлось собирать все по частям. Вкратце, о чем пойдет речь:


  • python-mode

  • tagbar

  • pydiction

  • neocomplcache

Все ниженаписанное было опробовано в gVim для Linux.



Python-mode


Просто низкий поклон Кириллу Клёнову, разработчику данного расширения. Отлично устанавливается и с помощью vundle, и через pathogen и так же отлично работает.



Python-mode устанавливает свои настройки для питон-файлов. Если вас это не устраивает (мне например не нужен set number, который он добавляет), допишите необходимые настройки в .vimrc. Вот пример моих настроек:



let g:pymode_options = 0
let g:pymode_lint_write = 0 “не проверять при каждом сохранении
let g:pymode_folding = 0 “мне не нужен авто-фолдинг
let g:pymode_rope_vim_completion = 0 “не использовать автодополнение rope


Как можно увидеть, я не использую автоматический фолдинг кода, также мне не нужна проверка pylint'ом при каждом сохранении файла(let g:pymode_lint_write = 0), вместо чего можно использовать команду :PyLint, повесив на нее какой-нибудь хоткей. К автодополнению вернемся позже.



Плагин предоставляет несколько удобных хоткеев для перемещения по объектам в питон-коде:

Сочетание клавиш Команда
K Показать документацию
<C-c>g Перейти к определению
\r Запустить код
[[ Перейти к предыдущему классу или функции
]] Перейти к следующему классу или функции
aC C Выполнить действие для класса. (vaC, daC, dC, yaC, yC, caC, cC)
iC То же, находясь внутри класса. (viC, diC, yiC, ciC)
aM M Выполнить действие для функции. (vaM, daM, dM, yaM, yM, caM, cM)
iM То же, находясь внутри функции. (viM, diM, yiM, ciM)
Отдельно хотелось бы отметить возможность использовать Rope, в частности команды :RopeGoToDefinition, :RopeFindOccurrences и другие возможности по поиску кода и рефакторингу. просмотреть полный список команд Rope и сокращения к ним можно с помощью :help RopeKeys. Кроме того по умолчанию включена поддержка virtualenv, что значит, что с помощью того же :RopeGoToDefinition вы можете спокойно перейти к определнию функции любой библиотеки, установленной в site-packages вашего virtualenv’а.



Просмотр кода


Хотя самым популярным плагином для этого является Taglist, мне больше нравится Tagbar, также основанный на ctags(которые нужно установить перед использованием плагина). Вешаем :TagbarToggle на какой-нибудь хоткей, например:
nnoremap <F8> :TagbarToggle<CR>
Выглядит это примерно так:







Пара дополнительных настроек:



let g:tagbar_autofocus = 1
let g:tagbar_sort = 0 "tagbar shows tags in order of they created in file
let g:tagbar_foldlevel = 0 "close tagbar folds by default


Кроме того можно настроить, с какой стороны будет появляться окно тагбара, какими будут отступы, иконки и т.д. Обо всем этом можно узнать через :help tagbar.



Автодополнение


Один из плагинов, который я мог бы посоветовать — Pydiction, дополняющий ключевые слова на основе большого файла словаря. У данного плагина очень много плюсов:


  • автодополнение происходит по клавише Tab, не нужно запоминать всякие комбинации с Ctrl

  • абсолютно никаких конфликтов, можно одновременно использовать Pydiction с omnicomplete

  • автодополнение не затрагивает другие типы файлов

  • умеет дополнять импортированные объекты

  • довольно легко можно добавить в словарь собственные модули: python pydiction.py module_name

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



Другой способ — использовать neocomplcache. Кроме установки плагина, нужно задать omnifunc для питоновских файлов:

autocmd FileType python setlocal omnifunc=pythoncomplete#Complete


Neocomplcache несколько хуже справляется с дополнением из модулей, зато дополняет не только ключевые слова из текущих файлов, но и просто строки. Кроме того присутствует опция автоматически всплывающего дополнения, которое включается с помощью задания настройки:

let g:neocomplcache_enable_at_startup = 1


Шаблоны Django


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



fun! DetectTemplate()
  let n = 1
  while n < line("$")
    if getline(n) =~ '{%' || getline(n) =~ '{{'
      set ft=htmldjango
      return
    endif
    let n = n + 1
  endwhile
  set ft=html "default html
endfun


которую нужно запускать при открытии файла с раширением .html:

autocmd BufNewFile,BufRead *.html call DetectTemplate()


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



Случайные настройки




  • Питоновские отступы:
    autocmd FileType python setlocal ts=4 sts=4 sw=4
    




  • Если вы пользуетесь NERDTree, стоит добавить .pyc в список игнорируемых файлов:
    let NERDTreeIgnore=['\.pyc$']
    




  • простое сокращение для вставки дебаггера ipdb в код
    iab ipdb import ipdb; ipdb.set_trace()
    




  • сокращение для задания кодировки в начале файла:
    iab utf! # -*- coding: utf-8 -*-
    




  • убрать раздражающие всплывающие окна с документацией для omnicompletion:
    set completeopt-=preview
    




  • пара цветовых схем:darkspectrum, gruvbox, Lucius



Дополнительные ссылки


1. python-mode

github.com/klen/python-mode

2. Tagbar

github.com/majutsushi/tagbar

3. Pydiction

github.com/rkulla/pydiction

4. Neocomplcache

github.com/Shougo/neocomplcache





















































https://habrahabr.ru/post/173473/


image

Данная статья будет посвящена настройке vim, в которой я поделюсь своим «скромным» пониманием того, каким должен быть текстовый редактор, чтобы в нем было удобно/приятно/легко (нужное подчеркнуть) писать код также, как это сейчас возможно во всевозможных IDE типа PyCharm, SublimeText и т.п.

Весь процесс постараюсь описать как можно более подробно, чтобы вопросов по мере чтения для начинающих осваивать vim возникало как можно меньше.



Предыстория
Сам я знаком с vim не очень продолжительное время, однако, к его изучению и желанию использовать привело:


  • достаточное количество на хабре статей по vim

  • большое количество существующих плагинов

  • преимущественно, разработчики на Python занимаются написанием кода под Linux (хотя vim — кроссплатформенный)

  • собственное любопытство



В настоящее время я использую весьма часто vim как основной инструмент для разработки на Python и нисколько об этом не жалею. Если чего-либо нехватает, то проблема решается гуглением в течении пару минут. Поверьте, vim действительно стоит тех затраченных сил на его изучения. Это достаточно быстро себя «окупает». Было бы только желание и немножечко терпения.



Подготовительный этап
Итак. Перейдем непосредственно к подготовительному этапу. Нам понадобится:


  1. Vim версии 7.4 (получить нужное можно либо скачиванием из репозиториев, либо сборкой вручную)

  2. Python 2.7 (с установленным pip)

  3. Клиент для работы с git



После того, как вышеперечисленное у нас имеется, можно приступать непосредственно к настройке и «кастомизации».



Настройка


Самое первой проблемой для любого новичка, который решает обуздать vim, является vimscript. Vimscript — это скриптовый язык, предназначенный для vim. На нем мы будем описывать используемые плагины, горячие клавиши и все тому подобное, чтобы обеспечить себе простую и легкую работу в vim. Для ознакомления советую посетить вот этот и этот сайты. Там достаточно неплохо все описано, что, где, как, и почему.



Первым делом стоит рассказать о том, что конфигурационный файл vim находится в домашнем каталоге пользователя (~/) и называется .vimrc. В нем-то и будут расписываться моменты относительно того, какие шрифты, цветовая схема, хоткеи и т.п. будут использоваться.



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

Какие включает в себя подкаталоги исходный каталог .vim? Примерно такие:

.vim

|____after

|____autoload

|____colors

|____doc

|____ftplugin

|____indent

|____plugin

|____scripts

|____syntax



Однако, из всех вышеперечисленных каталогов нам понадобится лишь несколько:


  • colors — для цветовых схем/тем

  • indent — сюда будет скидывать файлы для работы с тегами HTML/XML и т.п.

  • scripts — для скриптов

  • syntax — файлы синтаксиса



В эти каталоги помещаем соответствующие файлы, взяв их, например, у меня.



До начала установки и работа с менеджером пакетов пропишем в консоли:

pip install pyflakes pep8 pylint ipython


В дальнейшем, эти библиотеки нам пригодятся для того, чтобы отслеживать качество своего кода: ошибки, соответствие его PEP8 и т.п. Последняя же в этом списке библиотека/пакет — ipython нам будет удобна для настройки своего «дебаггера».

Также нам еще необходимо установить Exuberant ctags. Скачать его можно отсюда либо поискать и установить через менеджер пакетов apt-get/aptitude/rmp/pacman/и т.п.



Менеджер плагинов


Для того, чтобы нам было проще с установкой и использованием плагином будем использовать Vundle. Vundle — это пакетный менеджер для Vim, способный:


  • настраивать и устанавливать плагины, указанные в. vimrc

  • обновлять плагины при необходимости

  • удалять неиспользуемые плагины



Однако прежде чем приступать к описанию необходимого набора плагинов в конфигурационном файле, сначала необходимо установить сам Vundle. Для этого делаем следующее:



git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim


После выполнение этой команды Vundle будет установлен в ~/.vim/bundle/Vundle.vim



Теперь добавим следующую часть в свой новосозданный .vimrc если его еще нет:



set nocompatible              " be iMproved, required
filetype off                  " required

"=====================================================
" Vundle settings
"=====================================================
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

Plugin 'gmarik/Vundle.vim'		" let Vundle manage Vundle, required

"---------=== Code/project navigation ===-------------
Plugin 'scrooloose/nerdtree' 	    	" Project and file navigation
Plugin 'majutsushi/tagbar'          	" Class/module browser

"------------------=== Other ===----------------------
Plugin 'bling/vim-airline'   	    	" Lean & mean status/tabline for vim
Plugin 'fisadev/FixedTaskList.vim'  	" Pending tasks list
Plugin 'rosenfeld/conque-term'      	" Consoles as buffers
Plugin 'tpope/vim-surround'	   	" Parentheses, brackets, quotes, XML tags, and more

"--------------=== Snippets support ===---------------
Plugin 'garbas/vim-snipmate'		" Snippets manager
Plugin 'MarcWeber/vim-addon-mw-utils'	" dependencies #1
Plugin 'tomtom/tlib_vim'		" dependencies #2
Plugin 'honza/vim-snippets'		" snippets repo

"---------------=== Languages support ===-------------
" --- Python ---
Plugin 'klen/python-mode'	        " Python mode (docs, refactor, lints, highlighting, run and ipdb and more)
Plugin 'davidhalter/jedi-vim' 		" Jedi-vim autocomplete plugin
Plugin 'mitsuhiko/vim-jinja'		" Jinja support for vim
Plugin 'mitsuhiko/vim-python-combined'  " Combined Python 2/3 for Vim

call vundle#end()            		" required
filetype on
filetype plugin on
filetype plugin indent on


Как вы видите, места где указаны Plugin 'ссылка_до_плагина' представляет собой ссылки в интернете эти плагины, которые Vundle будет скачивать и в последствии устанавливать. Для себя, я разбивал эти плагины на «категории», но это уже дело вкуса. Сами плагины:


  • NERDTree — навигация по файловой/директориям

  • TagBar — навигация по классам/функциям/переменным

  • vim-airline — строка статуса/состояния

  • FixedTaskList — поиск в файле FIXME, TODO и т.п.

  • conque-term — используем для вызова дебаггера

  • vim-surround — автозакрытие тегов HML/XML/и т.п.

  • vim-snipmate — сниппеты

  • python-mode — рефакторинг, документация, дебаггер Python и т.п.

  • jedi-vim — автодополнение для Python

  • vim-jinja — поддержка синтаксиса шаблонов Jinja



В качестве руководства/гайда по использованию Vundle можно зайти сюда. Однако для наших целей будет предостаточно одной:

:PluginInstall


Эта команда сканирует файл .vimrc на наличие списка плагинов прописанных в виде Plugin 'ссылка_до_плагина'.

Для того, чтобы запустить установку набора плагинов, заходим в vim/gvim и прописываем :PluginInstall. Придется немного подождать, поскольку каждый плагин, указанный выше в конфиге, будет скачан с githuba либо еще откуда-то и настроен до установок «по умолчанию», подождите пару минут. Каждый выкачанный и настроенный плагин отмечается как "+". Как только увидите, что все из списка подсвечены "+" — значит, все готово. И для дальнейшего использования необходимо будет перезапустить vim. Однако на этом все еще не оканчивается статья — все необходимо «подкрутить», чтобы работать в vim'е было комфортно.



Общие настройки vim'а
Эти настройки для меня являются базовыми. Тут я указываю свои предпочтения относительно парочки плагинов, размера шрифтов, цветовой схемы, отображаемых элементов и т.п.

Добавьте эти строчки в конец своего .vimrc файла:

"=====================================================
" General settings
"=====================================================
set backspace=indent,eol,start
aunmenu Help.
aunmenu Window.
let no_buffers_menu=1
set mousemodel=popup

set ruler
set completeopt-=preview
set gcr=a:blinkon0
if has("gui_running")
  set cursorline
endif
set ttyfast

" включить подсветку кода
syntax on
if has("gui_running")
" GUI? устаналиваем тему и размер окна
  set lines=50 columns=125
  colorscheme molokai
" раскомментируйте эти строки, если хотите, чтобы NERDTree/TagBar автоматически отображались при запуске vim
" autocmd vimenter * TagbarToggle
" autocmd vimenter * NERDTree
" autocmd vimenter * if !argc() | NERDTree | endif

" на маке vim?
if has("mac")
  set guifont=Consolas:h13
  set fuoptions=maxvert,maxhorz
else
" дефолтный GUI
  set guifont=Ubuntu\ Mono\ derivative\ Powerline\ 10
endif
else
" терминал?
  colorscheme myterm
endif

tab sball
set switchbuf=useopen

" отключаем пищалку и мигание
set visualbell t_vb= 
set novisualbell       

set enc=utf-8	     " utf-8 по дефолту в файлах
set ls=2             " всегда показываем статусбар
set incsearch	     " инкреминтируемый поиск
set hlsearch	     " подсветка результатов поиска
set nu	             " показывать номера строк
set scrolloff=5	     " 5 строк при скролле за раз

" отключаем бэкапы и своп-файлы
set nobackup 	     " no backup files
set nowritebackup    " only in case you don't want a backup file while editing
set noswapfile 	     " no swap files

" прячем панельки
"set guioptions-=m   " меню
set guioptions-=T    " тулбар
"set guioptions-=r   "  скроллбары

" настройка на Tab
set smarttab
set tabstop=8

"  при переходе за границу в 80 символов в Ruby/Python/js/C/C++ подсвечиваем на темном фоне текст
augroup vimrc_autocmds
    autocmd!
    autocmd FileType ruby,python,javascript,c,cpp highlight Excess ctermbg=DarkGrey guibg=Black
    autocmd FileType ruby,python,javascript,c,cpp match Excess /\%80v.*/
    autocmd FileType ruby,python,javascript,c,cpp set nowrap
augroup END

" указываем каталог с настройками SnipMate
let g:snippets_dir = "~/.vim/vim-snippets/snippets"

" настройки Vim-Airline
set laststatus=2
let g:airline_theme='badwolf'
let g:airline_powerline_fonts = 1
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#formatter = 'unique_tail'

" TagBar настройки
map <F4> :TagbarToggle<CR>
let g:tagbar_autofocus = 0 " автофокус на Tagbar при открытии

" NerdTree настройки
" показать NERDTree на F3
map <F3> :NERDTreeToggle<CR>
"игноррируемые файлы с расширениями
let NERDTreeIgnore=['\~$', '\.pyc$', '\.pyo$', '\.class$', 'pip-log\.txt$', '\.o$']  

" TaskList настройки
map <F2> :TaskList<CR> 	   " отобразить список тасков на F2

" Работа буфферами
map <C-q> :bd<CR> 	   " CTRL+Q - закрыть текущий буффер


Python-mode
Очень нравится этот плагинчик, который кстати, сделан klen. Предоставляет море возможностей при работе с кодом:


  • рефакторинг

  • автодополнение

  • работа с дебаггером

  • автофикс PEP8 ошибок

  • и многое-многое другое...



Добавьте эти строчки в конец своего .vimrc файла:

"=====================================================
" Python-mode settings
"=====================================================
" отключаем автокомплит по коду (у нас вместо него используется jedi-vim)
let g:pymode_rope = 0
let g:pymode_rope_completion = 0
let g:pymode_rope_complete_on_dot = 0

" документация
let g:pymode_doc = 0
let g:pymode_doc_key = 'K'
" проверка кода
let g:pymode_lint = 1
let g:pymode_lint_checker = "pyflakes,pep8"
let g:pymode_lint_ignore="E501,W601,C0110"
" провека кода после сохранения
let g:pymode_lint_write = 1

" поддержка virtualenv
let g:pymode_virtualenv = 1

" установка breakpoints
let g:pymode_breakpoint = 1
let g:pymode_breakpoint_key = '<leader>b'

" подстветка синтаксиса
let g:pymode_syntax = 1
let g:pymode_syntax_all = 1
let g:pymode_syntax_indent_errors = g:pymode_syntax_all
let g:pymode_syntax_space_errors = g:pymode_syntax_all

" отключить autofold по коду
let g:pymode_folding = 0

" возможность запускать код
let g:pymode_run = 0


Jedi-vim
Очень полезный плагин, предоставляющий отличные возможности автокомплита, go to definition, и т.п.

В своем конфиге добавьте в конец этот фрагмент:

" Disable choose first function/method at autocomplete
let g:jedi#popup_select_first = 0


Этой строчкой я отрубаю в автокомплите выбор первой строки из списка выбора метода/библиотеки/класса автокомплита. Это связано с тем, что достаточно часто я выбираю не первую строку из нее, а автоматический выбор раздражает.



После настройки jedi-vim получаем отображение документации по функции

image

и добротный автокомплит по аргументам функций

image



Хоткеи
Тут сложно что-либо посоветовать. У всех различное понимание того, какие хоткеи нужны, а какие-нет. Могу лишь сказать, что для желающих, найти/написать необходимые кусочки vimscript, переопределяющих поведение стандартных горячих клавиш — очень много.

Добавьте этот фрагмент в конец конфига:

"=====================================================
" User hotkeys
"=====================================================
" ConqueTerm
" запуск интерпретатора на F5
nnoremap <F5> :ConqueTermSplit ipython<CR>
" а debug-mode на <F6>
nnoremap <F6> :exe "ConqueTermSplit ipython " . expand("%")<CR>
let g:ConqueTerm_StartMessages = 0
let g:ConqueTerm_CloseOnEnd = 0
" проверка кода в соответствии с PEP8 через <leader>8
autocmd FileType python map <buffer> <leader>8 :PymodeLint<CR>

" автокомплит через <Ctrl+Space>
inoremap <C-space> <C-x><C-o>

" переключение между синтаксисами
nnoremap <leader>Th :set ft=htmljinja<CR>
nnoremap <leader>Tp :set ft=python<CR>
nnoremap <leader>Tj :set ft=javascript<CR>
nnoremap <leader>Tc :set ft=css<CR>
nnoremap <leader>Td :set ft=django<CR>


Отступы, табы, пробелы для разных языков
Это связано с тем, что в том же Python табы не рекомендуется к использованию. Поэтому будем заменять их на пробелы. Один таб = 4 пробелам. Плюс ко всему необходимо помнить, что всегда нужно сделать переход на следующую строку + отступ, чтобы было соответствие операторам for/if/while/и т.п.

Для других языков предостаточно будет указать размер Таба, и замены их на пробелы.

Добавьте этот фрагмент в конец своего конфига:

"=====================================================
" Languages support
"=====================================================
" --- Python ---
"autocmd FileType python set completeopt-=preview " раскомментируйте, в случае, если не надо, чтобы jedi-vim показывал документацию по методу/классу
autocmd FileType python setlocal expandtab shiftwidth=4 tabstop=8
\ formatoptions+=croq softtabstop=4 smartindent
\ cinwords=if,elif,else,for,while,try,except,finally,def,class,with
autocmd FileType pyrex setlocal expandtab shiftwidth=4 tabstop=8 softtabstop=4 smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class,with

" --- JavaScript ---
let javascript_enable_domhtmlcss=1
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd BufNewFile,BufRead *.json setlocal ft=javascript

" --- HTML ---
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags

" --- template language support (SGML / XML too) ---
autocmd FileType html,xhtml,xml,htmldjango,htmljinja,eruby,mako setlocal expandtab shiftwidth=2 tabstop=2 softtabstop=2
autocmd bufnewfile,bufread *.rhtml setlocal ft=eruby
autocmd BufNewFile,BufRead *.mako setlocal ft=mako
autocmd BufNewFile,BufRead *.tmpl setlocal ft=htmljinja
autocmd BufNewFile,BufRead *.py_tmpl setlocal ft=python
let html_no_rendering=1
let g:closetag_default_xml=1
let g:sparkupNextMapping='<c-l>'
autocmd FileType html,htmldjango,htmljinja,eruby,mako let b:closetag_html_style=1
autocmd FileType html,xhtml,xml,htmldjango,htmljinja,eruby,mako source ~/.vim/scripts/closetag.vim

" --- CSS ---
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType css setlocal expandtab shiftwidth=4 tabstop=4 softtabstop=4


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



После настройки мы получим примерно такой vim:

image

В режиме работы с HTML/JavaScript/XML будет все выглядеть примерно так:

image



Если кому-либо нужен больший функционал (например поддержка автокомплита для любых иных языков), то могу посоветовать лишь поискать необходимые плагины на GitHub'е или на офицальном сайте сайте vim'a.



Полезные ссылки:
Раздел script сайта vim.org — тут

wikia по vim'у — тут

OpenVim: уроки по азам в vim — тут

Шрифты для vim-airline — тут



Мой конфиг для vim на GitHub































































































https://habrahabr.ru/post/224979/
http://freecoder.ru/content/vim-kak-ide-dlya-razrabotki-na-python
http://linux.cpms.ru/?p=8339




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



Я достаточно долгое время использовал sublime (около 4 лет) в качестве основной среды разработки, но в последнее время кое-что изменилось: я освоил слепой 9-ти пальцевый метод печати. В тот момент я начал понимать людей, которым неудобно тянуться к мышке или стрелочкам. Убирать пальцы с «домашних» позиций стало неестественно и непродуктивно. Тогда я включил vintage. Проблема, вроде бы, стала неактуальна, но чего-то не хватало. Не помню, что заставило меня пересесть за vim, но мне всегда нравилось, как в нем выделяются фигурные скобки (MatchParen) и как выглядит курсор :). Vim я пробовал и до этого, когда правил конфиги на сервере, правда, вся «магия» ограничивалась переходом в режим вставки и успешным сохранением/выходом из редактора.


Первое, что необходимо понять — vim из коробки годится разве что для правки конфигов, для комфортной работы с кодом необходимо установить несколько плагинов. Мне хватило 33. Я не ставил перед собой цель полностью копировать поведение sublime, скорее сделать работу в vim'е такой же простой и интуитивно понятной. Данное руководство описывает все установленные плагины, а также настройки, которые, по моему мнению, делают работу с плагинами и самим vim'ом более удобной. Нужные плагины вы можете найти на официальном сайте, хотя мне больше нравится vimawesome. В качестве окружения выступает Ubuntu 16.04 и консольный vim 7.4.



Все плагины находятся на github, где вы можете посмотреть краткое руководство по установке или использованию того или иного плагина, за подробным описанием стоит идти в help. Если из описания плагина не ясно, как его использовать, то, наверняка, нужная комбинация биндится в разделе горячих клавиш. Все настройки прописываем в ~/.vimrc или ~/.vim/vimrc, если файл не существует — создаем. Пожалуй, начнем.



vundle
Нет ничего приятного в том, чтобы ставить плагины вручную. Vundle выступает в роли пакетного менеджера, среди которых есть также pathogen, vim-plug и другие. Не могу сказать, что удобнее, так как пользовался только Vundle. Выбирайте на свое усмотрение.



Установленные плагины

// set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

// let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'

// common
Plugin 'scrooloose/nerdtree'
Plugin 'valloric/youcompleteme'
Plugin 'xolox/vim-easytags'
Plugin 'majutsushi/tagbar'
Plugin 'tpope/vim-fugitive'
Plugin 'easymotion/vim-easymotion'
Plugin 'ctrlpvim/ctrlp.vim'
Plugin 'terryma/vim-multiple-cursors'
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'scrooloose/nerdcommenter'
Plugin 'matze/vim-move'
Plugin 'raimondi/delimitmate'
Plugin 'mattn/emmet-vim'
Plugin 'scrooloose/syntastic'
Plugin 'tpope/vim-surround'
Plugin 'sirver/ultisnips'
Plugin 'honza/vim-snippets'
Plugin 'xolox/vim-session'
Plugin 'xolox/vim-misc'
Plugin 'SyntaxAttr.vim'
Plugin 'dyng/ctrlsf.vim'
Plugin 'rking/ag.vim'
Plugin 'godlygeek/tabular'

// php
Plugin 'stanangeloff/php.vim'
Plugin 'sumpygump/php-documentor-vim'
Plugin 'arnaud-lb/vim-php-namespace'

// javascript
Plugin 'pangloss/vim-javascript'

// html
Plugin 'othree/html5.vim'

// twig
Plugin 'evidens/vim-twig'

// css
Plugin 'mtscout6/vim-tagbar-css'

// colors
Plugin 'damage220/solas.vim'
Plugin 'nanotech/jellybeans.vim'
Plugin 'mhartington/oceanic-next'

call vundle#end()
Команды

// просмотр всех установленных плагинов
:PluginList

// устанавливаем плагины
:PluginInstall

// удаляем ненужные плагины
:PluginClean

// поиск необходимого плагина
:PluginSearch foo
Установка

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
Зависимости

git и curl






solas
Из всех цветовых тем, что я пробовал, больше всего понравилась jellybeans, но через некоторое время решил создать свою тему. К счастью, узнать названия всех групп не составило труда, к несчастью, терминалы очень ограничены в цветовой палитре и поддерживают, как правило, 256 цветов. Solas основана на стандартной теме в PhpStorm.


move
Плагин предназначен для перемещения текущей строки или выделенных строк вверх или вниз.



Пользовательские настройки

// биндим команды перемещения на <C-j> и <C-k>
let g:move_key_modifier = 'C'



nerdtree
Самый популярный плагин, предназначен для работы с файловой системой. Добавляет удобные горячие клавиши для создания, перемещения и удаления файлов и директорий.



Пользовательские настройки

// автоматически обновлять буфер после переименовывания файла
let NERDTreeAutoDeleteBuffer = 1



php-documentor
Плагин создает doc-блоки для классов, свойств класса, функций.


php
Плагин предоставляет улучшенную поддержку синтаксиса. Обновлен список констант, классов и функций до версии 5.6.


html5
Плагин предоставляет улучшенную поддержку синтаксиса и отступов.


javascript
Плагин предоставляет улучшенную поддержку синтаксиса и отступов.


twig
Плагин добавляет поддержку шаблонов twig.


fugitive
Удобная обертка над git, предоставляет множество команд.


ultisnips
Плагин добавляет поддержку сниппетов в vim.



Полезные комбинации

<Tab> - вставить сниппет



snippets
Набор сниппетов для большинства языков программирования.



Зависимости

snipmate или ultisnips



SyntaxAttr
Плагин показывает группу синтаксиса, ссылки (hi link) и цвет группы. Удобный плагин для создания собственных цветовых схем.


ctrlp
За 3 года я так сильно привык к нечеткому поиску, что с трудом представляю разработку без этой возможности. Насколько я помню, это был первый плагин, который я установил. Ctrlp производит поиск по тегам, файлам, буферам и последним активным файлам.



Команды

// поиск тега в текущем файле (аналог Ctrl + R в sublime)
:CtrlPBufTag
Полезные комбинации

<C-j> и <C-k> - для перемещения курсора вниз и вверх соответственно
<Enter> - открыть в текущем окне
<C-t> - открыть в новой вкладке
<C-v> - открыть файл слева/справа (зависит от настройки)
<C-x> - открыть файл сверху/снизу (зависит от настройки)
<C-d> - переключение режима поиска по имени файла или полному пути
Пользовательские настройки

// По умолчанию, CtrlP ищет файлы по их полному пути, что мне показалось странным, поскольку на запрос "repo", имея следующую структуру файлов:
// project/src/Repository/Repository.php
// project/src/Repository/Foo.php
// CtrlP может придать больший вес файлу Foo.php. К счастью, CtrlP, как и многие другие плагины для vim'a, имеет гибкую настройку. Для решения проблемы нужно прописать
let g:ctrlp_by_filename = 1

// откуда начинать поиск. w - ближайшая директория, которая содержит признаки наличия CVS (.git, .svn). r - текущая директория (pwd).
let g:ctrlp_working_path_mode = 'wr'

// по умолчанию, как не сложно догадаться, поиск активируется по нажатию <C-p>, но т.к. у меня стоит другая комбинация (далее по тексту), я решил сбросить стандартное поведение.
let g:ctrlp_map = ''

// убираем переменные из списка тегов
let g:ctrlp_buftag_types = {
	\'php': '--php-kinds=icdf'
\}
Зависимости

Для поиска по тегам нужен ctags






tagbar
Мне нравится миникарта в sublime, взглянув на неё можно сразу понять структуру файла. Естественно, я хотел такую же и в vim, и, надо же, плагин так и называется — vim-minimap. К сожалению, плагин мне совершенно не понравился. Нужна была альтернатива, и она нашлась — tagbar. Плагин показывает список тегов в текущем файле, группируя их и сортируя в нужном порядке.



Пользовательские настройки

// сортировать в том порядке, в котором тег появляется в коде, а не по имени
let g:tagbar_sort = 0

// замена стандартных стрелочек раскрытия/сворачивания группы тегов
let g:tagbar_iconchars = ['+', '-']

// обеспечиваем переключатель
let g:tagbar_map_close = '<C-m>'

// Убираем переменные из списка
let g:tagbar_type_php = {
	\'ctagstype': 'php',
	\'kinds': [
		\'i:interfaces',
		\'c:classes',
		\'d:constants',
		\'f:functions'
	\]
\}
Зависимости

ctags




tagbar-css
Плагин добавляет поддержку css, less и scss для tagbar. Помимо установки самого плагина, пропишите следующие строки в ваш ~/.ctags

--langdef=css
--langmap=css:.css.less.scss
--regex-css=/^[ \t]*@([A-Za-z0-9_-]+)/@\1/v,var,variables/
--regex-css=/^[ \t]*\.([A-Za-z0-9_-]+)/.\1/c,class,classes/
--regex-css=/^[ \t]*#([A-Za-z0-9_-]+)/#\1/i,id,ids/
--regex-css=/^[ \t]*(([A-Za-z0-9_-]+[ \t\n,]+)+)\{/\1/t,tag,tags/
--regex-css=/^[ \t]*@media\s+([A-Za-z0-9_-]+)/\1/m,media,medias/
Зависимости

tagbar


easymotion
Один из лучших плагинов, на мой взгляд. Позволяет моментально перемещаться по коду, введя всего несколько символов.



Пользовательские настройки

// отключаем зависимость от регистра
let g:EasyMotion_smartcase = 1

// отключаем тень (в момент выбора цели весь текст помечается как комментарий)
let g:EasyMotion_do_shade = 0

// какой группой подсвечивать цели
hi link EasyMotionTarget Search
Примечание

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




session
Плагин делает работу с сессиями более удобной, предоставляя обертку над стандартной командой :mksession.



Команды

// открыть сессию. Если вы закрыли терминал или случайно нажали <C-z>, необходимо добавить "!" в конце команды, например, "OpenSession! name"
:OpenSession name

// сохранить сессию
:SaveSession name
Пользовательские настройки

// открывать сессию при старте. Опция игнорируется, если мы передаем vim некие файлы
let g:session_autoload = 'yes'

// включить автосохранение
let g:session_autosave = 'yes'

// сохранять состояние каждые 5 минут
let g:session_autosave_periodic = 5

// не сообщать ничего при автосохранении
let g:session_autosave_silent = 1

// открывать последнюю рабочую сессию вместо стандартной
let g:session_default_to_last = 1
Зависимости

misc





misc
Плагин, необходимый для работы session.
emmet
Об emmet'e было сказано слишком много, чтобы писать о нем тут.



Пользовательские настройки

// разворачивать аббревиатуру по нажатию на <C-e>
let g:user_emmet_expandabbr_key = '<C-e>'



delimitmate
Плагин ставит отступы между любыми скобками или кавычками.



Пользовательские настройки

// включить отступы по нажатию на enter
let delimitMate_expand_cr = 1

// включить отступы по нажатию на пробел. " |" превращается в " | "
let delimitMate_expand_space = 1

// для html, необходимо дописать >:<, чтобы выставлялись правильные отступы
au FileType vim,html let b:delimitMate_matchpairs = "(:),[:],{:},<:>,>:<"



syntastic
Плагин для проверки синтаксиса. В readme советуют ставить следующие настройки, не спорим.



Пользовательские настройки

let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0



NERDCommenter
От плагина для комментирования кода я хотел добиться следующего поведения: для комментирования участка кода используем <C-?>, для комментирования строки, раскомментирования строки/фрагмента кода служит <C-/>. Насколько я помню, из всех установленных мною плагинов (около 4-х), ни один в точности не справился с этой задачей. Чтобы раскомментировать фрагмент кода приходится использовать стандартную комбинацию — \<Leader\>cu, где \<Leader\> — ",". Это не стандартная клавиша, по умолчанию используется "\". В остальном такое же поведение, как и в sublime.



Пользовательские настройки

// количество пробелов после символа(ов) комментария
let g:NERDSpaceDelims = 1



airline
Плагин отображает удобную строку статуса, которую легко кастомизировать под свои нужды. Также можно позволить плагину управлять внешним видом вкладок. Для корректной работы нужны пропатченные шрифты, которые вы можете взять отсюда.



Пользовательские настройки

// solarized не входит в стандартную поставку, необходимо загрузить набор тем
let g:airline_theme='solarized'

// использовать пропатченные шрифты
let g:airline_powerline_fonts = 1

// включить управление табами
let g:airline#extensions#tabline#enabled = 1

// всегда показывать tabline
let g:airline#extensions#tabline#tab_min_count = 0

// такое же поведение, как и в sublime: если файл с уникальным именем - показывается только имя, если встречается файл с таким же именем, отображается также и директория
let g:airline#extensions#tabline#formatter = 'unique_tail'

// скрыть буферы
let g:airline#extensions#tabline#show_buffers = 0

// имя файла + расширение :help filename-modifiers
let g:airline#extensions#tabline#fnamemod = ':t'

// убираем раздражающие ненужные красные панели с предупреждениями или ошибками. Предупреждения, как по мне, не нужны, поскольку ругаются даже на trailing-spaces и разные отступы: например табы и пробелы (привет от phpDoc). Для ошибок и так открывается дополнительное окно. Впрочем, вам решать.
let g:airline_section_warning = ''
let g:airline_section_error = ''

// убираем "X" для закрытия вкладки мышью (мышью!?)
let g:airline#extensions#tabline#show_close_button = 0

// убираем разделитель для вкладок
let g:airline#extensions#tabline#left_alt_sep = ''

// отключаем tagbar
let g:airline#extensions#tagbar#enabled = 0

// показывать номер вкладки
let g:airline#extensions#tabline#show_tab_nr = 1

// показывать только номер вкладки
let g:airline#extensions#tabline#tab_nr_type = 1



airline-themes
Набор тем для airline.



Зависимости

airline



youcompleteme
YCM предоставляет быстрое автодополнение кода с нечетким поиском. Самый «тяжелый» плагин из всех и самый неприятный в установке. Весит 275.9 mb и заметно замедляет запуск редактора. Для сравнения, все остальные плагины вместе взятые занимают 15.1 mb. Для работы плагина нужен vim, скомпилированный с поддержкой python. Для проверки выполните команду vim --version | grep "+python" в вашем терминале. Я не люблю компилировать из исходников и, к счастью, в моём репозитории есть пакет «vim-nox» с поддержкой скриптовых языков.



Пользовательские настройки

// ycm сам определяет подходящую версию интерпретатора, но, почему-то, с 3 версией дополнения не показываются - ставим вторую.
let g:ycm_server_python_interpreter='python'

// закрыть превью после ввода, например, при нажатии на закрывающую скобку ")"
let g:ycm_autoclose_preview_window_after_completion = 1

// позволяем ultisnips использовать tab для раскрытия сниппетов
let g:ycm_key_list_select_completion = ['<Down>']
Установка

Помимо установки самого плагина, необходимо запустить "install.py" с необходимыми флагами, подробнее в help.




multiple-cursors
Название говорит само за себя — плагин позволяет работать с несколькими курсорами одновременно.



Команды

// выделить все вхождения
:MultipleCursorsFind pattern
Полезные комбинации

<C-n> - выделение следующего слова под курсором
<C-p> - выделение предыдущего слова под курсором
<C-x> - пропустить текущее слово и перейти к следующему

// После того, как вы выделили все слова, можно приступить к редактированию:
c - удалить и перейти в режим редактирования
I - вставить в начало
A - вставить в конец




ctrlsf
Долгое время меня пугала мысль, как я буду реализовывать замену строки по всему проекту, да еще с предпросмотром и… подтверждением. И зря — для vim'a нашелся (причем почти сразу) замечательный плагин, который предоставляет необходимый функционал. Достаточно набрать команду :CtrlSF pattern [filemask] и откроется окно со всеми вхождениями. Редактируем как обычный файл, сохраняем (:w). После чего, плагин запросит подтверждение и укажет сколько файлов подвергнутся изменениям. Будьте осторожны, если нажать на \<Esc\>, то данные всё равно закоммитятся. Впрочем, всегда можно отменить изменения (u) и сохранить буфер заново. Хорошо сочетается с множественными курсорами, особенно с командой :MultipleCursorsFind. CtrlSF — это абстракция над ack/ag, так что один из этих плагинов придется установить. Про установку ag читать ниже.



Команды

:CtrlSF foo *.php
Полезные комбинации

<C-j> и <С-k> - перейти к следующему и предыдущему вхождению
Пользовательские настройки

// перемещаем окно вправо
let g:ctrlsf_position = 'right'
Зависимости

ack или ag






ag
Обертка над системным ag. По заявлению автора, за счет распараллеливания, ag работает в 34 раза быстрее ack, подробнее. Для работы плагина нужно установить сам ag. В ubuntu пакет называется silversearcher-ag.


php-namespace
Плагин для более удобной работы с оператором «use». Подключает необходимый класс, используя тег-файл.



Зависимости

ctags, сгенерированный тег-файл.



surround
Плагин позволяет добавлять, заменять или удалять окружающие текст кавычки, скобочки или xml-теги. ys, cs, ds — служат для вставки, замены и удаления обрамляющих символов соответственно.



Полезные комбинации

ds' - удалить одинарные кавычки
dst - удалить обрамляющий тег
cs'" - заменить одинарные кавычки на двойные
ysiw" - поместить слово в двойные кавычки
ysiw<a> - поместить текст в тег <a>



tabular
Плагин выравнивает текст по определенному шаблону, например "=" или "|". Я не любитель «бьюти» кода, но недавно, когда я делал шпаргалку по временам в английском языке, плагин оказался весьма полезным.



Команды

// выравнивает текст по символу "|"
:Tabularize /|



ctags
Для работы таких плагинов, как CtrlP, TagBar и php-namespace вам понадобится ctags — мощная утилита для анализа исходного кода программ. Ctags создает тег-файл, в котором содержатся названия классов, функций, переменных, ..., а также их позиции. Ctags 5.9 поддерживает 43 языка из коробки, но может быть расширен при помощи регулярных выражений (смотреть tagbar-css).



Полезные ключи

// список поддерживаемых языков
--list-languages

// список тегов для конкретного языка
--list-kinds=lang
Установка

Ищите в своих репозиториях пакет со схожим именем. Например, в ubuntu - это exuberant-ctags
Примечание

Для крупных проектов имеет смысл создать какой-нибудь "tags.vendor" и добавить этот файл в переменную "tags"





easytags
Тег-файл предоставляет много информации, но создавать его вручную — дело не из приятных. Easytags избавит вас от рутины, достаточно один раз прописать :UpdateTags -R в новом проекте, а все последующие изменения плагин проиндексирует сам.



Пользовательские настройки

// записываем теги локально для каждого проекта, вместо ~/.vimtags
let g:easytags_file = './tags'

// отключаем подсветку тегов
let g:easytags_auto_highlight = 0

// события (:help autocmd-events), которые слушает easytags
let g:easytags_events = ['BufWritePost']

// не блокировать vim во время обновления тег-файла
let g:easytags_async = 1
Зависимости

ctags






Довольно сложно описать каждый плагин подробно, да и незачем, наверное. Нет никакого смысла перечислять все команды, я лишь описал те, которые сам использовал, но и без того статья получилась весьма объемной. Теперь давайте рассмотрим возможности самого редактора.



Настройки
За подробностями идем в :help setting

// Для работы с табами, вместо пробелов, присвойте tabstop и shiftwidth одинаковые значения
set tabstop=4
set shiftwidth=4
set softtabstop=4

// автоматически обновлять файл при его изменении
set autoread

// настраиваем отступы
set autoindent
set smartindent

// показывать относительные номера строк. Удобно тем, что можно легко переходить к нужной строке командой 10j, например
set rnu

// всегда показывать строку статуса
set laststatus=2

// Время, которое vim ждет для ввода следующего символа комбинации клавиш.
// Например, если в vim'e существует комбинация "df", то после ввода символа "d" у вас есть пол секунды,
// чтобы ввести "f", иначе в буфер вставиться символ "d".
set timeoutlen=500

// эту команду я плохо понимаю. В документации написано, что это время ожидания для ввода последовательностей клавиш,
// в таком случае, я не знаю в чем отличие от предыдущей команды. Тем не менее, когда ожидание равно нулю, то при нажатии <Esc>
// для выхода из визуального режима или закрытия всплывающего меню, нет никакой заминки, что весьма приятно.
set ttimeoutlen=0

// более удобная работа с кириллицей. При нажатии <C-6> в режиме вставки, vim изменит режим с "Insert" на "Insert (lang)",
// после чего будут вводиться русские символы. Если вернуться в нормальный режим, то все команды будут работать.
set keymap=russian-jcukenwin
set iminsert=0
set imsearch=0

// Выставляем кодировку
set encoding=utf-8
set termencoding=utf-8

// Отключаем swap-файлы. Ставьте на свое усмотрение, мне эта возможность чаще мешала
set noswapfile

// Если в течении этого времени, вы не будете перемещать курсор или печатать, vim обновит swap-файл,
// а также активирует событие CursorHold. Некоторые плагины, вроде tagbar, слушают это событие для обновления состояния.
// Так как swap-файлы я не использую, решил сделать значение поменьше (по умолчанию - 4000).
set updatetime=500

// :vsplit открывает окна справа
set splitright

// :split открывает окна снизу
set splitbelow

// убираем совместимость с vi
set nocompatible

// ищем тег-файл в текущей директории
set tags=./tags;

// Игнорировать регистр при поиске. Намного удобнее вводить команды без учета регистра, например ctrlsf, вместо CtrlSF.
// Для поиска с учетом регистра, нужно поместить \C в любое место искомой строки
set ignorecase

// например, при переходе к тегу, vim может ругаться, что текущий буфер не сохранен, hidden решает эту проблему
set hidden

// подсвечивать все совпадения при поиске
set hlsearch

// подсвечивать совпадение во время поиска на лету
set incsearch

// выделять строку, на которой находится курсор
set cursorline

// количество cтрок в всплывающем окне
set pumheight=10

// использовать пробелы в качестве разделителей окон. Не забудьте поставить в конце строки символ пробела
set fillchars+=vert:\ 

// меняем mapleader на ",", по умолчанию - "\"
let mapleader=","

// рекомендуемые настройки для Vundle
filetype off
filetype plugin on
filetype plugin indent on

// включить подсветку синтаксиса
syntax enable

// выбираем темный фон
set background=dark

// выбираем цветовую схему
colorscheme solas

Комбинации клавиш
Синтаксис создания комбинации, как не сложно догадаться, следующий:

[[mode]nore]map keys command
где mode — режим или окружение, где работает комбинация

nore (non-recursive) — не «раскрывать» комбинацию, а использовать значение по умолчанию

:map j gg // j = gg
:map Q j // Q = gg
:noremap W j // W = j

<CR> - enter
<C> - Ctrl
Подробнее про назначение комбинаций

// выходим в "нормальный" режим по df. "d" используется гораздо чаще, чем "j"
// наверное, забиндить "jj" было бы куда уместнее, но я уже привык, к тому же так быстрее
imap df <Esc>l

// часто нужно отделять блоки кода пустой строкой, например, перед return
nnoremap 2o o<CR>

// тоже самое, что и предыдущая команда, только в другом направлении
nnoremap 2O O<Esc>O

// передвинуть текущую вкладку вправо
nnoremap tm :tabm +1<CR>

// передвинуть текущую вкладку влево
nnoremap tM :tabm -1<CR>

// убрать подсветку найденных совпадений
nnoremap <C-h> :noh<CR>

// комментируем фрагмент кода
map <C-?> <plug>NERDCommenterComment

// комментируем строку, повторное нажатие убирает комментарий
map <C-_> <plug>NERDCommenterToggle

// создаем phpDoc для функций, классов, свойств
nnoremap <C-d> :call PhpDoc()<CR>

// показать окно с тегами
nnoremap <C-m> :TagbarToggle<CR>

// показать дерево проекта
nnoremap <C-p> :NERDTreeToggle<CR>

// показать syntax group для участка кода, а также цвет этой группы. Удобно при создании своей цветовой схемы
nnoremap <C-g> :call SyntaxAttr()<CR>

// мне гораздо удобнее нажать <C-j> и <C-k> для выбора последующего и предыдущего значения, чем <C-n> и <C-p>
inoremap <C-j> <C-n>
inoremap <C-k> <C-p>
cnoremap <C-j> <C-n>
cnoremap <C-k> <C-p>

// прописываем use
autocmd FileType php noremap <C-u> :call PhpInsertUse()<CR>

// открыть ~/.vimrc
nnoremap <F4> :tabe ~/.vimrc<CR>:tabm 0<CR>

// сохранить ~/.vimrc и применить изменения
nnoremap <F5> :w<CR>:so $MYVIMRC<CR>
Мне не нравится идея менять стандартное поведение клавиш, но следующие комбинации я нашел весьма удобными для себя. Я редко пользуюсь поиском символа в строке (f и F), а такие команды, как J и K, я ни разу так и не использовал.

// переместиться в начало видимой области
nnoremap K H

// переместиться в конец видимой области
nnoremap J L

// открыть предыдущее окно
nnoremap H gT

// открыть следующее окно
nnoremap L gt

// окно поиска файлов
nnoremap F :CtrlP<CR>
nnoremap ff :CtrlP<CR>

// find tag - нечеткий поиск тега в файле
nnoremap ft :CtrlPBufTag<CR>

// find buffer - нечеткий поиск буфера
nnoremap fb :CtrlPBuffer<CR>

// find symbol - переместиться к любому символу в файле
nmap fs <Plug>(easymotion-s)

// find line - переместиться к любому символу в строке
nmap fl <Plug>(easymotion-sl)

// find current - найти текущий файл в дереве проекта
nnoremap fc :NERDTreeFind<CR>

// find pattern - поиск слова в проекте
nnoremap fp :CtrlSF 
Самой сложной задачей для меня оказалась установка youcompleteme настройка переключения вкладок <Alt-n>, на которую я потратил часов 5 (5, Карл!). Как я только не писал: <Alt-1>, <A-1>, <M-1>, ^[1 — escape-последовательность (<C-v>, потом Alt + 1). Читал :help :map-alt-keys, создавал файл ~/.inputrc с содержанием set convert-meta on. Забавно, но в xterm всё работало. Gnome-terminal преподнес мне уйму незабываемых ощущений, пока я не наткнулся на этот ответ на SO. Должен признаться, я почти сразу нашел этот ответ, но мне показалось, что программировать комбинацию клавиш, хм, слишком. Немного изменив пример, получаем:

for c in range(1, 9)
	exec "set <A-".c.">=\e".c
	exec "map \e".c." <A-".c.">"

	let n = c - '0'
	exec "map <M-". n ."> ". n ."gt"
endfor
Это какой-то мазохизм, и я верю, что есть что-то более адекватное (напишите в комментариях, если это так, пожалуйста), просто в тот момент я был рад любому решению.








Некоторые стандартные комбинации
// вставка из системного буфера. Нужен vim, скомпилированный с флагом "clipboard". Чтобы проверить, наберите vim --version | grep "+clipboard" в вашем терминале
<C-r> *

// центрировать экран на текущей строке
zz

// перейти к определению тега (необходим тег-файл)
<C-]>

// вернуться на уровень выше по стеку вызовов команды <C-]>
<C-t>

// вставка последнего удаленного(d) или скопированного(y) текста. Удобно использовать в режиме вставки или в режиме командной строки
<C-r> "
Аббревиатуры
Vim позволяет создавать полезные сокращения команд, просто пропишите в вашем .vimrc следующее «abbr help tab help» и после ввода «help», и нажатия пробела, vim раскроет её до «tab help». Чтобы избежать «раскрытия», перед пробелом нажмите <C-v>.


Заключение: vim дает свободу, несравнимую ни с чем. Возможно, emacs может составить конкуренцию, но с ним пока не работал. Переход от sublime'a к vim'у напоминает мне переучивание с 4-х пальцевой (насколько я помню) печати на 9-ти пальцевую. Не поймите меня неправильно, sublime замечательный редактор, речь о том, что поначалу вы теряете привычную скорость; проходит время, продуктивность возвращается до прежнего уровня и начиная с этого момента вы наращиваете скорость. Все основные функции, которыми я пользовался в sublime, перекочевали в vim в том или ином виде. Самое время отрабатывать комбинации и расширять стандартные возможности редактора с помощью viml. Есть еще одна особенность, которая напоминает мне смену основной ОС с Windows на Ubuntu. В Windows я пользовался терминалом, наверное, раз 10 за всё время. Я не могу сказать, что мне чего-то не хватало, вполне всё устраивало. Но когда переходишь на linux, то волей-неволей начинаешь использовать консольные команды. Не осознанно (и это важно) вы получаете инструмент (bash) для решения определенных задач. В vim'e приходится постоянно что-то гуглить в поисках решения тех или иных проблем. Очень часто я вижу решения, которые отличаются от привычной настройки sublime или похожих редакторов в стиле key:value. Вы в буквальном смысле программируете свой редактор. Почти сразу вы видите, как инициализировать переменную, чуть позже — как применить ту или иную настройку для определенного типа файлов, еще позже — как слушать события или создавать циклы. По крупицам информации вы получаете представление про viml и, возможно, скоро напишите свой первый плагин. Конечно, всё это можно узнать просто открыв документацию к языку, но, должен сказать, желания освоить python или api sublime у меня так и не появилось. Лично я уверен, что vim приберег для меня еще немало приятных сюрпризов, а мой .vimrc, похоже, будет меняться всё время, пока я работаю с этим редактором.



Несколько вопросов
1. Если буфер изменился, airline выделит таб другим цветом, тем не менее, когда мы переключаемся на другую вкладку, измененная вкладка окрашивается в обычный цвет. Из-за этого, при выходе из редактора, часто получаю предупреждение, что буфер не сохранен. Можно ли подсвечивать все измененные вкладки, независимо от того, активны они или нет?

2. В readme nerdtree сказано, что можно изменить символ открытия/закрытия директории прописав g:NERDTreeDirArrowExpandable и g:NERDTreeDirArrowCollapsible. Однако, при попытке выставить "+" и "-", nerdtree падает. Кто-нибудь пробовал починить?

3. Как подружить youcompleteme и omnicompletion? Приходится идти напрямую, нажимая <C-x><C-o>.

4. В начале каждого php-скрипта стоит "<?php", когда курсор находится над "<", то vim ищет ближайший ">". Как отключить подсветку этого символа для php-файлов? Что-то на подобии:

au FileType php set matchparen-=<




.vimrc целиком
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'

" common
Plugin 'scrooloose/nerdtree'
Plugin 'valloric/youcompleteme'
Plugin 'xolox/vim-easytags'
Plugin 'majutsushi/tagbar'
Plugin 'tpope/vim-fugitive'
Plugin 'easymotion/vim-easymotion'
Plugin 'ctrlpvim/ctrlp.vim'
Plugin 'terryma/vim-multiple-cursors'
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'scrooloose/nerdcommenter'
Plugin 'matze/vim-move'
Plugin 'raimondi/delimitmate'
Plugin 'mattn/emmet-vim'
Plugin 'scrooloose/syntastic'
Plugin 'tpope/vim-surround'
Plugin 'sirver/ultisnips'
Plugin 'honza/vim-snippets'
Plugin 'xolox/vim-session'
Plugin 'xolox/vim-misc'
Plugin 'SyntaxAttr.vim'
Plugin 'dyng/ctrlsf.vim'
Plugin 'rking/ag.vim'
Plugin 'godlygeek/tabular'

" php
Plugin 'stanangeloff/php.vim'
Plugin 'sumpygump/php-documentor-vim'
Plugin 'arnaud-lb/vim-php-namespace'

" javascript
Plugin 'pangloss/vim-javascript'

" html
Plugin 'othree/html5.vim'

" twig
Plugin 'evidens/vim-twig'

" css
Plugin 'mtscout6/vim-tagbar-css'

" colors
Plugin 'damage220/solas.vim'
Plugin 'nanotech/jellybeans.vim'
Plugin 'mhartington/oceanic-next'

call vundle#end()

" settings
set tabstop=4
set softtabstop=4
set shiftwidth=4
set autoread
set autoindent
set smartindent
set rnu
set laststatus=2
set timeoutlen=500
set ttimeoutlen=0
set keymap=russian-jcukenwin
set iminsert=0
set imsearch=0
set encoding=utf-8
set termencoding=utf-8
set updatetime=500
set noswapfile
set splitright
set splitbelow
set nocompatible
set tags=./tags;
set ignorecase
set hidden
set hlsearch
set incsearch
set cursorline
set pumheight=10
set fillchars+=vert:\ 
let mapleader=","
filetype off
filetype plugin on
filetype plugin indent on
" autocmd CompleteDone * pclose

" color
syntax enable
set background=dark
colorscheme solas

" abbreviations
abbr help tab help

" mappings
imap df <Esc>l
nnoremap 2o o<CR>
nnoremap 2O O<Esc>O
nnoremap tm :tabm +1<CR>
nnoremap tM :tabm -1<CR>
nnoremap K H
nnoremap J L
nnoremap H gT
nnoremap L gt
nnoremap F :CtrlP<CR>
nnoremap ff :CtrlP<CR>
nnoremap ft :CtrlPBufTag<CR>
nnoremap fb :CtrlPBuffer<CR>
nmap fs <Plug>(easymotion-s)
nmap fl <Plug>(easymotion-sl)
nnoremap fc :NERDTreeFind<CR>
nnoremap fp :CtrlSF 
nnoremap <C-h> :noh<CR>
map <C-?> <plug>NERDCommenterComment
map <C-_> <plug>NERDCommenterToggle
nnoremap <C-d> :call PhpDoc()<CR>
nnoremap <C-m> :TagbarToggle<CR>
nnoremap <C-p> :NERDTreeToggle<CR>
nnoremap <C-g> :call SyntaxAttr()<CR>
inoremap <C-j> <C-n>
inoremap <C-k> <C-p>
cnoremap <C-j> <C-n>
cnoremap <C-k> <C-p>
autocmd FileType php noremap <C-u> :call PhpInsertUse()<CR>
nnoremap <F4> :tabe ~/.vimrc<CR>:tabm 0<CR>
nnoremap <F5> :w<CR>:so $MYVIMRC<CR>

" map <alt+n> to navigate through tabs
for c in range(1, 9)
	exec "set <A-".c.">=\e".c
	exec "map \e".c." <A-".c.">"

	let n = c - '0'
	exec "map <M-". n ."> ". n ."gt"
endfor

" nerdtree
let NERDTreeAutoDeleteBuffer = 1

" move
let g:move_key_modifier = 'C'

" youcompleteme
let g:ycm_server_python_interpreter='python'
let g:ycm_autoclose_preview_window_after_completion = 1
let g:ycm_key_list_select_completion = ['<Down>']

" emmet
let g:user_emmet_expandabbr_key = '<C-e>'

" airline
let g:airline_theme='solarized'
let g:airline_powerline_fonts = 1
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#tab_min_count = 0
let g:airline#extensions#tabline#formatter = 'unique_tail'
let g:airline#extensions#tabline#show_buffers = 0
let g:airline#extensions#tabline#fnamemod = ':t'
let g:airline_section_warning = ''
let g:airline_section_error = ''
let g:airline#extensions#tabline#show_close_button = 0
let g:airline#extensions#tabline#left_alt_sep = ''
let g:airline#extensions#tagbar#enabled = 0
let g:airline#extensions#tabline#show_tab_nr = 1
let g:airline#extensions#tabline#tab_nr_type = 1

" easymotion
let g:EasyMotion_smartcase = 1
let g:EasyMotion_do_shade = 0
hi link EasyMotionTarget Search
hi EasyMotionTarget2First ctermfg=202 ctermbg=None cterm=None
hi EasyMotionTarget2Second ctermfg=202 ctermbg=None cterm=None

" session
let g:session_autoload = 'yes'
let g:session_autosave = 'yes'
let g:session_autosave_periodic = 5
let g:session_autosave_silent = 1
let g:session_default_to_last = 1

" NERDCommenter
let g:NERDSpaceDelims = 1

" html
au BufNewFile,BufRead *.tpl set filetype=html syntax=php

" syntastic
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0

" tagbar
let g:tagbar_sort = 0
let g:tagbar_width = 35
let g:tagbar_iconchars = ['+', '-']
let g:tagbar_map_close = '<C-m>'
let g:tagbar_type_php = {
	\'ctagstype': 'php',
	\'kinds': [
		\'i:interfaces',
		\'c:classes',
		\'d:constants',
		\'f:functions'
	\]
\}
let g:tagbar_type_javascript = {
\'ctagstype':'JavaScript',
	\'kinds' : [
		\'f:functions',
		\'c:classes',
		\'m:methods',
		\'p:properties'
	\]
\}

" delimitmate
let delimitMate_expand_cr = 1
let delimitMate_expand_space = 1
au FileType vim,html let b:delimitMate_matchpairs = "(:),[:],{:},<:>,>:<"

" NERDTree
" let g:NERDTreeDirArrowExpandable = '+'
" let g:NERDTreeDirArrowCollapsible = '-'

" ctrlp
let g:ctrlp_by_filename = 1
let g:ctrlp_working_path_mode = 'wr'
let g:ctrlp_map = ''
let g:ctrlp_buftag_types = {
	\'php': '--php-kinds=icdf'
\}

" ctrlsf
let g:ctrlsf_position = 'right'

" easytags
let g:easytags_file = './tags'
let g:easytags_auto_highlight = 0
let g:easytags_events = ['BufWritePost']
let g:easytags_async = 1
vim как ide
Предвидя некоторые вопросы в стиле: «как в vim'e рефакторить код также удобно, как и в моей любимой ide?», пожалуй, отвечу сразу.




Если вы заядлый vim'ер, то вам могут понравиться следующие расширения для chrome:



vimium
Расширение добавляет комбинации для навигации по странице и удобному перемещению по ссылкам, подробнее.


wasavi
Добавляет основные возможности vim'a для работы с текстовыми полями. Расширение можно активировать, нажав \<Insert\>, <C-enter> или же при фокусе текстового поля (настраивается).




PS: вместо родного символа комментария viml (двойная кавычка), я решил использовать "//", поскольку viml на хабре нет, и я не знаю, есть ли язык со схожим комментированием кода.

PS2: некоторые комбинации экранированы символом "\", дабы парсер не считал их за html-теги. Тег «pre» — блочный, решил, что лучше уж так.



UPD: добавлена поддержка gui для solas.





















http://itnan.ru/post.php?c=1&p=303524




Раздел Видео из подборки сисадмина

------------------------------------------------------------------------
JavaRush CS50 на русском (Гарвардский курс по основам программирования)
https://www.youtube.com/playlist?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5
------------------------------------------------------------------------
Курсомир 6.00sc Основы программирования [MIT]
https://www.youtube.com/playlist?list=PLxZ7p55WWz1la38FHUrOqNEBCn7tZfKf3
------------------------------------------------------------------------
1000+ часов видео по Java на русском
------------------------------------------------------------------------
Tech Net Курсы информационных технологий
https://www.youtube.com/playlist?list=PLKX3Vgy9l-kiTXSFVZvwI_GK-W7fy1tnA
Tech Net Введение в компьютерные сети, интернет и мультимедийные технологии
https://www.youtube.com/playlist?list=PLKX3Vgy9l-kgsogMfMR5KZMqokOyA7jKF
Tech Net Основы операционных систем
https://www.youtube.com/playlist?list=PLKX3Vgy9l-kh-Ohb1c1MZAeLUXQ52nbsL
Tech Net Локальная компьютерная сеть
https://www.youtube.com/playlist?list=PLKX3Vgy9l-kgBquYFvIWDsXC8X6G_p4Pn
Tech Net DNS - Domain Name System (система доменных имён)
https://www.youtube.com/playlist?list=PLKX3Vgy9l-kjN41Du3ywf9Cs3m0zZeGG7
Tech Net IPv6 Теория и Практика
https://www.youtube.com/playlist?list=PLKX3Vgy9l-khzE8kLIAF2rmfmeVYQ7HTx
Tech Net Лекции по Linux
https://www.youtube.com/playlist?list=PLKX3Vgy9l-kilreP3jNKwCKIYuorhjjgI
Tech Net Безопасность Linux
https://www.youtube.com/playlist?list=PLKX3Vgy9l-khkUwuVfS-MpQDfAvAiqtzu
Tech Net Linux - 17 ИT технологий
https://www.youtube.com/playlist?list=PLKX3Vgy9l-khvfzN1oJOPql_l3BiiaREv
Tech Net Безопасность Linux
https://www.youtube.com/playlist?list=PLKX3Vgy9l-khkUwuVfS-MpQDfAvAiqtzu
Tech Net Курс Cisco ROUTE – Маршрутизация в сетях Cisco
https://www.youtube.com/playlist?list=PLKX3Vgy9l-kjQk5TLih0NN-ysHqzIz54U
Tech Net Active Directory
https://www.youtube.com/playlist?list=PLKX3Vgy9l-kiNq4OXLW-igZC8YZEix1U9
Tech Net SQL Server
https://www.youtube.com/playlist?list=PLKX3Vgy9l-khzIDMZ65_ZcvhRsOj_U21S
Tech Net Основы администрирования БД Oracle
https://www.youtube.com/playlist?list=PLKX3Vgy9l-kh6UDYX-wdKJiNn-xcZYpCT
Tech Net Пошаговое изучение радиоэлектроники с полного нуля
https://www.youtube.com/playlist?list=PLKX3Vgy9l-khtGSvlpEkt2L041zeykkCJ
Tech Net Английский язык (Драгункин)
https://www.youtube.com/playlist?list=PLKX3Vgy9l-khv4bllBbCRVrPcqWdIEeRf
------------------------------------------------------------------------
VIST Межсетевое взаимодействие в сетях на базе TCP/IP
https://www.youtube.com/playlist?list=PLL_npBLPrdmTgYvi1vUwFAUQaij0p8moB
VIST Администрирование Windows Server 2012
https://www.youtube.com/playlist?list=PLL_npBLPrdmSxAdYd75bN6dhaNEyPS58Z
VIST Службы Active Directory в Windows Server 2012 R2
https://www.youtube.com/playlist?list=PLL_npBLPrdmSTcrmNNrv88onW2zL8FAWt
VIST Linux (Ubuntu). Уровень 1. Основы администрирования и безопасности
https://www.youtube.com/playlist?list=PLL_npBLPrdmSfYSYT8RMwTqNuD9DexUmL
VIST Linux. Уровень 2. Использование систем на UNIX в качестве серверов
https://www.youtube.com/playlist?list=PLL_npBLPrdmRhQd4cfom7BTKggy8INkoF
VIST Администратор серверов Linux (Ubuntu). Уровень 1
https://www.youtube.com/playlist?list=PLL_npBLPrdmT1bMMgfWhI-urQMipMHSYF
VIST Администратор серверов Linux (Ubuntu). Уровень 2
https://www.youtube.com/playlist?list=PLL_npBLPrdmRQtnfsz8OjTF_QzDOWRkcO
VIST Корпоративная голосовая связь и онлайн сервисы Microsoft Lync Server 2013
https://www.youtube.com/playlist?list=PLL_npBLPrdmTjTKpEPAeTV7pv37Lktgt7
VIST Основы программирования в системе 1С
https://www.youtube.com/playlist?list=PLL_npBLPrdmSFiTVeIJ8jz6fhiy1BCLzb
VIST Разработка Windows приложений в Microsoft Visual Studio
https://www.youtube.com/playlist?list=PLL_npBLPrdmRuhB5Igai3DmsgWPz_xCor
VIST Основы администрирования Oracle 11g, часть I
https://www.youtube.com/playlist?list=PLL_npBLPrdmSHdki9TEgQgtpjSbOeEP36
VIST MySQL 5. Проектирование и создание баз данных для web
https://www.youtube.com/playlist?list=PLL_npBLPrdmQo3s_nG1ueCvt5FDeDwY6p
VIST Английский язык для начинающих (Beginner)
https://www.youtube.com/playlist?list=PLL_npBLPrdmRCFwtOIEcTwcdTuHFtLLQR
------------------------------------------------------------------------
Kontur Academy Hackerdom-01 Вводная лекция
https://www.youtube.com/playlist?list=PLU-TUGRFxOHgxyJSpAYiJaheMwkumGUTK
Kontur Academy Hackerdom-02 Криптография
https://www.youtube.com/playlist?list=PLU-TUGRFxOHjDvu4NHrpFdpYI20-zOG2-
Kontur Academy Hackerdom-03 Хеши и биткоины
https://www.youtube.com/playlist?list=PLU-TUGRFxOHju9zvTeX_E5xFfRcx9hYlG
https://www.youtube.com/playlist?list=PLU-TUGRFxOHhaF68Xo_oXE1nuRj5RiP1P
Kontur Academy Hackerdom-04 Стеганография
https://www.youtube.com/playlist?list=PLU-TUGRFxOHgt6RiS-f8vVLzbk8cpqhl9
Kontur Academy Hackerdom-05 Сети, часть 1
https://www.youtube.com/playlist?list=PLU-TUGRFxOHgDmoiAExzK0M1qM0RaBQ8f
Kontur Academy Hackerdom-06 Сети, часть 2
https://www.youtube.com/playlist?list=PLU-TUGRFxOHjGFH9FgsIatv0HB9fAcAgH
Kontur Academy Hackerdom-07 Протокол HTTP
https://www.youtube.com/playlist?list=PLU-TUGRFxOHhtOe_VW9yjW4dqCOG53UJX
Kontur Academy Hackerdom-08 Инъекции
https://www.youtube.com/playlist?list=PLU-TUGRFxOHj_MkCMp5LFv-AUuFMP2Opb
Kontur Academy Hackerdom-09 Linux
https://www.youtube.com/playlist?list=PLU-TUGRFxOHjfl2oMuOjWutiAn1HT9Xfe
Kontur Academy Hackerdom-10 Низкоуровневое программирование
https://www.youtube.com/playlist?list=PLU-TUGRFxOHhx-ml-r6oXuyCsLNUTeyUg
Kontur Academy Hackerdom-11 Reverse Engineering
https://www.youtube.com/playlist?list=PLU-TUGRFxOHix3dnJuSO5QqA2xCH22O3Q
Kontur Academy Hackerdom-12 Бинарные уязвимости
https://www.youtube.com/playlist?list=PLU-TUGRFxOHjDoi8FNb5l0jc7b1nhk_X5
Kontur Academy Testing-1 Методы тестирования
https://www.youtube.com/playlist?list=PLU-TUGRFxOHh5XXwxXRT8gR9YcUS42cw7
Kontur Academy Testing-2 Боекомплект тестировщика
https://www.youtube.com/playlist?list=PLU-TUGRFxOHhSlreTx-IfjruAaGSni5u8
Kontur Academy Testing-3 Методика тестирования
https://www.youtube.com/playlist?list=PLU-TUGRFxOHhRhoHJfZ-xqnRvkKhE7gA8
Kontur Academy Testing-4 Оформление багов
https://www.youtube.com/playlist?list=PLU-TUGRFxOHgGzXph44nkanfGFz7c6Ztm
------------------------------------------------------------------------
Pentestit Информационная безопасность: общие вопросы.
https://www.youtube.com/playlist?list=PLcjZpuUTN3-ixjRN42HOJ3YXps3I_kUbY
Pentestit Этичный хакинг и тестирование на проникновение.
https://www.youtube.com/playlist?list=PLcjZpuUTN3-j8dUWRIGmDB4mJrzjNW-My
Pentestit Корпоративные лаборатории Pentestit, 2015-2016
https://www.youtube.com/playlist?list=PLcjZpuUTN3-hvee3gx43vveuO2t_yiEyU
Pentestit Гости "Корпоративных лабораторий Pentestit"
https://www.youtube.com/playlist?list=PLcjZpuUTN3-iY82IE30Ff0XPl7_DzaOuI
Pentestit Zero Security: A. Демо-записи вебинаров.
https://www.youtube.com/playlist?list=PLcjZpuUTN3-i_1H0Df4mqMruZNLwVZW7k
Pentestit Корпоративные лаборатории. Демо-записи вебинаров.
https://www.youtube.com/playlist?list=PLcjZpuUTN3-jZs1sRIqe34DBQRiY6TmDf
------------------------------------------------------------------------
Learning TCP IP Межсетевое взаимодействие
Дополнительные материалы
https://www.youtube.com/playlist?list=PL1LeoQF_fJbyGW6wYyrd3yO-YPJFYJntl
Learning IPv6
https://www.youtube.com/playlist?list=PL1LeoQF_fJbyLME4h7aQeY4VJH38ki1wW
Learning About OSPF
https://www.youtube.com/playlist?list=PL1LeoQF_fJbxRbG2F2wOPLE4qfOK4V0Ws
Learning Cisco ICND1
Дополнительный материал
https://www.youtube.com/playlist?list=PL1LeoQF_fJbw3C-mSvbLkGYwdvSCWf0Pa
Learning Cisco TSHOOT 2.0
https://www.youtube.com/playlist?list=PL1LeoQF_fJbyJxEljEoPn27OiSNl4sFcK
Learning CEH: Certified Ethical Hacking
Дополнительные материалы
https://www.youtube.com/playlist?list=PL1LeoQF_fJbzOHndcGO_XyFDE6jRz1AM-
Learning Asterisk
Дополнительные материалы
https://www.youtube.com/playlist?list=PL1LeoQF_fJbwBLeP3qXoq1jcsw7gF1_aD
Learning Microsoft 20410D
курс является базовым для всех остальных курсов по Windows Server 2012 R2.
https://www.youtube.com/playlist?list=PL1LeoQF_fJbz0Cx8RDZLFZZo2jmPjapXK
Learning FreeBSD. Уровень 1.Основы администрирования
Дополнительные материалы
https://www.youtube.com/playlist?list=PL1LeoQF_fJbwjusdHa5qt5F4apNOclC-F
Learning FreeBSD. Уровень 2. Расширенное администрирование
Дополнительные материалы
https://www.youtube.com/playlist?list=PL1LeoQF_fJbyR6XhyAFRRWlt5IItD5stz
Learning FreeBSD. Уровень 3. Обеспечение безопасности систем сервисов и сетей
Дополнительные материалы
https://www.youtube.com/playlist?list=PL1LeoQF_fJbxI4W0mh6ZeeUI3eilX1OMd
Learning Основные механизмы платформы 1С 8.3
https://www.youtube.com/playlist?list=PL1LeoQF_fJbzTn_R8kZfCx8dGqOagsiPo
Learning Администрирование 1C8 с нуля 2014
https://www.youtube.com/playlist?list=PL1LeoQF_fJbxJ8ZynwEFaxKmoMFMScrHQ
Learning Разработка мобильных приложений в системе 1С Предприятие 8.3
https://www.youtube.com/playlist?list=PL1LeoQF_fJbzw4aZEGNb4So0a9snhyTD6
Learning MySQL 5
Дополнительные материалы
https://www.youtube.com/playlist?list=PL1LeoQF_fJbykyFsW4IBWiJcwMwz-t7Jw
Learning Администрирование Oracle
Дополнительная информация
https://www.youtube.com/playlist?list=PL1LeoQF_fJbzD7-mkP_-pNRfcoOpSUAS5
Learning SEO-2014
https://www.youtube.com/playlist?list=PL1LeoQF_fJbxWmnKSGJD0TrkF7zLPoPmP
------------------------------------------------------------------------
НОУ ИНТУИТ Компьютерные сети
https://www.youtube.com/playlist?list=PLDrmKwRSNx7IX9zmmGbviuX-ZZaDmhhwU
НОУ ИНТУИТ Сети Wi-Fi
https://www.youtube.com/playlist?list=PLDrmKwRSNx7KdnCMrzXyeSqvP5JAuu1vE
НОУ ИНТУИТ Основы технологии локальных сетей
https://www.youtube.com/playlist?list=PLDrmKwRSNx7KKEd9ig8rRUquMm5SJ2lM9
НОУ ИНТУИТ Основы организации локальных сетей
https://www.youtube.com/playlist?list=PLDrmKwRSNx7KtPpeB5EFk0XlbhodREKFC
НОУ ИНТУИТ Web-технологии
https://www.youtube.com/playlist?list=PLDrmKwRSNx7KOPMxupPxcOqjhRrdqbGVg
НОУ ИНТУИТ Web-технологии (Parallels-Acronis)
https://www.youtube.com/playlist?list=PLDrmKwRSNx7IL7ED0PTRZRgpXhrd2da4t
НОУ ИНТУИТ Модели поискового поведения и взаимодействия в Web
https://www.youtube.com/playlist?list=PLDrmKwRSNx7KNjRhYBBvC9lXsH1ruf3ZP
НОУ ИНТУИТ Администрирование Internet Information Services 7.0
https://www.youtube.com/playlist?list=PLDrmKwRSNx7IlWaXUu7zKXQHxlCN8-LCU
НОУ ИНТУИТ Введение в цифровую электронику
https://www.youtube.com/playlist?list=PLDrmKwRSNx7Lk8Lb2Cz2a2JqVXmwqCo6t
НОУ ИНТУИТ Принципы построения ЭВМ
https://www.youtube.com/playlist?list=PLDrmKwRSNx7IGKz-4r131uMl-RBa5wRTG
НОУ ИНТУИТ Теория информационных технологий и систем
https://www.youtube.com/playlist?list=PLDrmKwRSNx7JObKu6FavebrQ-W4-9bliL
НОУ ИНТУИТ Основы операционных систем
https://www.youtube.com/playlist?list=PLDrmKwRSNx7J5lxLL4U4cWqmCbChQ8gD1
НОУ ИНТУИТ Архитектура ЭВМ и язык ассемблера
https://www.youtube.com/playlist?list=PLDrmKwRSNx7I4QA6z2HlcDkjwW4fpNPva
НОУ ИНТУИТ Программирование
https://www.youtube.com/playlist?list=PLDrmKwRSNx7Lqk77aPjB39BI92y8VLn74
НОУ ИНТУИТ Операционные среды, системы и оболочки
https://www.youtube.com/playlist?list=PLDrmKwRSNx7KxTNHCJaJux6B4oAK7CdC9
НОУ ИНТУИТ Архитектура Windows. Программирование в ядре Windows
https://www.youtube.com/playlist?list=PLDrmKwRSNx7ILqmFaze6SFbPYQVO3XalX
НОУ ИНТУИТ Разработка приложений для Windows 8
https://www.youtube.com/playlist?list=PLDrmKwRSNx7Khv5FwNaAsO261P7NZyk3T
НОУ ИНТУИТ Внутреннее устройство ядра Linux
https://www.youtube.com/playlist?list=PLDrmKwRSNx7Ja7NAt21HgNAIlTvJJ4Kso
НОУ ИНТУИТ Производительность современных файловых систем
https://www.youtube.com/playlist?list=PLDrmKwRSNx7Jb9V-vxNw9cZP9_nG0CODg
НОУ ИНТУИТ Оптимизация приложений с использованием компиляторов Intel
https://www.youtube.com/playlist?list=PLDrmKwRSNx7IYXmQeIPeXR-NNwfYmSLno
НОУ ИНТУИТ Базы данных для школьников
https://www.youtube.com/playlist?list=PLDrmKwRSNx7LI_umdfXOeOJWjoDn6qvgN
НОУ ИНТУИТ Базы данных
https://www.youtube.com/playlist?list=PLDrmKwRSNx7IevHyBKwgdDjP4Y6U74AGg
НОУ ИНТУИТ Хранилища данных
https://www.youtube.com/playlist?list=PLDrmKwRSNx7LdHyMkUGRbY-i3GoV8jD34
НОУ ИНТУИТ Введение в аналитику больших массивов данных
https://www.youtube.com/playlist?list=PLDrmKwRSNx7KrGthfdhT_JUb4KhtQX_A7
НОУ ИНТУИТ Основы разработки прикладных решений для 1С:Предприятие 8.1
https://www.youtube.com/playlist?list=PLDrmKwRSNx7JZ363eo4HCsoz2jmdtLfB7
НОУ ИНТУИТ Основы разработки для платформы 1С:Предприятие 8.2 в режиме
https://www.youtube.com/playlist?list=PLDrmKwRSNx7KPwRNNvBKPe9xYMMbeCCVr
НОУ ИНТУИТ Введение в интернет-маркетинг
https://www.youtube.com/playlist?list=PLDrmKwRSNx7Ihh6tA7klQ5ZiwdP2GLbtY
------------------------------------------------------------------------
Технострим Mail.Ru Group Администрирование Linux (весна 2017)
https://www.youtube.com/playlist?list=PLrCZzMib1e9rx3HmaLQfLYb9ociIvYOY1
Технострим Mail.Ru Group Администрирование Linux (осень 2015)
https://www.youtube.com/playlist?list=PLrCZzMib1e9pun72f4KmFopzPs5pGB85_
Технострим Mail.Ru Group Качество и Тестирование ПО (весна 2015)
https://www.youtube.com/playlist?list=PLrCZzMib1e9pDKLsabJYuODdVJrHYc4Jd
Технострим Mail.Ru Group Web-технологии (осень 2016)
https://www.youtube.com/playlist?list=PLrCZzMib1e9qZwq95WVmGB-acnot5ka4a
Технострим Mail.Ru Group Web-технологии (2013)
https://www.youtube.com/playlist?list=PLrCZzMib1e9rtArVTA_fFBIlYteH23MIm
Технострим Mail.Ru Group HighLoad
https://www.youtube.com/playlist?list=PLrCZzMib1e9qozAkJm0-IyBO2pkUdBLlM
Технострим Mail.Ru Group Безопасность интернет-приложений
https://www.youtube.com/playlist?list=PLrCZzMib1e9qiiSWgZ6pI5HiQzFc4hhdo
Технострим Mail.Ru Group Анализ безопасности веб-проектов
https://stepik.org/course/Анализ-безопасности-веб-проектов-127/
https://www.youtube.com/playlist?list=PLrCZzMib1e9owORdnWTvZIkSCqRFFbHGA
Технострим Mail.Ru Group Базы данных (осень 2014)
https://www.youtube.com/playlist?list=PLrCZzMib1e9r6c-j8aW1JuETSyCBp9iAg
Технострим Mail.Ru Group Введение в анализ данных (весна 2016)
https://www.youtube.com/playlist?list=PLrCZzMib1e9p5F99rIOzugNgQP5KHHfK8
------------------------------------------------------------------------
Лекториум подбор видео
https://www.youtube.com/user/OpenLektorium/playlists
Лекториум Основы математики
https://www.youtube.com/playlist?list=PL-_cKNuVAYAUy7zMDOkS06_Pvn9OciImJ
Лекториум Математические основы Computer Science
https://www.youtube.com/playlist?list=PL-_cKNuVAYAVlOYg9MhZib2xVW8fOcrU4
Лекториум Основы дискретной математики
https://www.youtube.com/playlist?list=PL-_cKNuVAYAXrd5kC5hdppsBNDjuIFYbc
Лекториум Математический анализ | Сергей Кисляков
https://www.youtube.com/playlist?list=PL-_cKNuVAYAU1iqXkA388zr0c45dKvN5Q
Лекториум Математический анализ (часть 2) | Сергей Кисляков
https://www.youtube.com/playlist?list=PL-_cKNuVAYAXKd1VfOqFeL2p6UsiRMILz
Лекториум Математический анализ | Юрий Белов, Юрий Давыдов
https://www.youtube.com/playlist?list=PL-_cKNuVAYAWnvDJdtEOWwBPPL6EPRRxr
Лекториум Введение в метаматематику
https://www.youtube.com/playlist?list=PL-_cKNuVAYAXQgii13MSGdv21mrY1oqBi
Лекториум Английский язык для математиков | Николай Вавилов
https://www.youtube.com/playlist?list=PL-_cKNuVAYAUf_zZ4KK3Pb7hJdjjq5p7x
Лекториум Программное обеспечение GNU/Linux
https://www.youtube.com/playlist?list=PL-_cKNuVAYAUpajPpCyqYTuzx7j_28zps
------------------------------------------------------------------------
Академия Яндекса
https://academy.yandex.ru/
https://vk.com/yandex.academy
https://www.youtube.com/channel/UCTUyoZMfksbNIHfWJjwr5aQ/playlists
Академия Яндекса Системное администрирование
https://www.youtube.com/channel/UCTUyoZMfksbNIHfWJjwr5aQ/playlists?shelf_id=8&view=50&sort=dd
https://www.youtube.com/channel/UCkufieG4LoGkHNOGrgMx3Vg/playlists
------------------------------------------------------------------------
SpecialistTV Информационная безопасность
https://www.youtube.com/playlist?list=PLPNYkZcYUF4sQbZlBhbwnyD5UH2vdjVCk
SpecialistTV Сетевые технологии
https://www.youtube.com/playlist?list=PLPNYkZcYUF4tgamZDtrnIP_Ww2vSfKCPo
SpecialistTV Сетевые технологии Microsoft
https://www.youtube.com/playlist?list=PLPNYkZcYUF4t9_YJTJp2oddtd8GtEsR2C
SpecialistTV Виртуализация
https://www.youtube.com/playlist?list=PLPNYkZcYUF4uyBOlOSryWRDel-qO89REf
SpecialistTV SQL Server
https://www.youtube.com/playlist?list=PLPNYkZcYUF4uBTjKk4cJQLiFtZrz0KUuU
SpecialistTV 1С: Предприятие
https://www.youtube.com/playlist?list=PLPNYkZcYUF4tB0cgrsYAOwAQhUJ-z2dfY
SpecialistTV Ремонт ПК
https://www.youtube.com/playlist?list=PLPNYkZcYUF4szGwLuc8khMhRjyckJTQfW
------------------------------------------------------------------------

------------------------------------------------------------------------
eSyr's video [secsem] Сетевая безопасность
https://www.youtube.com/playlist?list=PL8A2FE0B13A88BBCD
eSyr's video [secsem] Введение в инфобез (2010)
https://www.youtube.com/playlist?list=PL6750663E3A56E96A
eSyr's video [secsem] Введение в инфобез (2011)
https://www.youtube.com/playlist?list=PLF34AC9A2E02C7817
eSyr's video [UNИX] ПО GNU/Linux
https://www.youtube.com/playlist?list=PL387B38E91536055B
eSyr's video [UNИX] Администрирование Linux
https://www.youtube.com/playlist?list=PL7F73C75F2940B94D
eSyr's video [extern][UNИX] Архитектура дистрибутивов Linux 2016
https://www.youtube.com/playlist?list=PL10YceNUOSNwzokMv4MOJtO6zzm-lW4UY
eSyr's video «СПО в высшей школе» 2012
https://www.youtube.com/playlist?list=PL83F92B3D7687E185
eSyr's video [secsem] Лекции специалистов из nginx
https://www.youtube.com/playlist?list=PL6555C9D539966144
------------------------------------------------------------------------
Образовательный IT-портал GeekBrains Системы и сети
https://www.youtube.com/playlist?list=PLmRNNqEA7JoPkUxApljmrVUxGJye01bex
Образовательный IT-портал GeekBrains Информационная безопасность
https://www.youtube.com/playlist?list=PLmRNNqEA7JoN2bp1VXDZcwVgKkiI94Oha
Образовательный IT-портал GeekBrains Курс "Git. Быстрый старт"
https://www.youtube.com/playlist?list=PLmRNNqEA7JoM77hOJkPrLOfJQGizCLR3P
Образовательный IT-портал GeekBrains Подборка видео
Сетевое оборудование [GeekBrains]
Основы сетей передачи данных. Модель OSI и стек протоколов TCP IP. Основы Ethernet. [GeekBrains]
Базы данных - это просто! [GeekBrains]
------------------------------------------------------------------------
Volodya Mozhenkov английский язык
https://www.youtube.com/playlist?list=PLY7PmJJFH5nQxGEA1wOI16DE8kkcEzkNR
Volodya Mozhenkov логика
https://www.youtube.com/playlist?list=PLY7PmJJFH5nRi2mjOdiS9N-eo5FB42MLH
Volodya Mozhenkov алгоритмы
https://www.youtube.com/playlist?list=PLY7PmJJFH5nSkAteyHnYQzi0FY4JniexT
Volodya Mozhenkov компьютерная архитектура
https://www.youtube.com/playlist?list=PLY7PmJJFH5nTGSMdHUMbidWAljuhfRFgJ
Volodya Mozhenkov ОС: оперативная память
https://www.youtube.com/playlist?list=PLY7PmJJFH5nRn3ClKiU-8EF1w46YWDhgc
Volodya Mozhenkov информационная безопасность
https://www.youtube.com/playlist?list=PLY7PmJJFH5nRbkcsNRJMCzzX_8xOtkkvL
Volodya Mozhenkov интернет
https://www.youtube.com/playlist?list=PLY7PmJJFH5nTjHhIWOwCiRdJR0NN1SrEY
Volodya Mozhenkov GNU/Linux
https://www.youtube.com/playlist?list=PLY7PmJJFH5nT--I1AOR42sUg2xOvwC3c0
Volodya Mozhenkov социальные сети
https://www.youtube.com/playlist?list=PLY7PmJJFH5nSCQeNylGrdEnLi7vDi9bR4
Volodya Mozhenkov базы данных
https://www.youtube.com/playlist?list=PLY7PmJJFH5nT-lbFKxfbp3rw5BBuq5Azo
------------------------------------------------------------------------
Антон Севостьянов Основы
https://www.youtube.com/playlist?list=PLgx3uXZgvvfigwZeKPqbMY7K-o3XPusvW
Антон Севостьянов Видеокурсы по информационным технологиям
https://www.youtube.com/playlist?list=PLE72DA2AACE4D473C
Антон Севостьянов Групповые политики Windows Server
https://www.youtube.com/playlist?list=PL3189A3FBC0955A61
Антон Севостьянов Windows Server 2008 R2 - установка и настройка
https://www.youtube.com/playlist?list=PLgx3uXZgvvfiT8l-EKntftEtByBWARie9
Антон Севостьянов Системному администратору
https://www.youtube.com/playlist?list=PL1039030B0F459480
Антон Севостьянов Информационная безопасность
https://www.youtube.com/playlist?list=PL67C40BF3801C71CF
Антон Севостьянов Разное
https://www.youtube.com/playlist?list=PL479E180277013086
Антон Севостьянов Обзор софта
https://www.youtube.com/playlist?list=PL94AC56CFA346E014
------------------------------------------------------------------------
Mihail Kozlov Microsoft
https://www.youtube.com/playlist?list=PL5KGx5_ykLX9NrfwMsw3sTvi151ez2oEk
Mihail Kozlov CISCO
https://www.youtube.com/playlist?list=PL5KGx5_ykLX8ZcczD-CgblvCrYy5w4PqL
Mihail Kozlov Linux, BSD, Asterisk
https://www.youtube.com/playlist?list=PL5KGx5_ykLX_1YM43xZPUZ_smapkeogPm
Mihail Kozlov ORACLE,MongoDB
https://www.youtube.com/playlist?list=PL5KGx5_ykLX89P6wEXZn7FYHwtT2LX-rX
Mihail Kozlov Запросы в MySQL
https://www.youtube.com/playlist?list=PL5KGx5_ykLX8NrmlQTutJ__TH7pnC4qXB
Mihail Kozlov TRANSACT-SQL 2012 - 2014
https://www.youtube.com/playlist?list=PL5KGx5_ykLX-85p7tePlNllR7MWA7h9P5
Mihail Kozlov TRANSACT-SQL 2008
https://www.youtube.com/playlist?list=PL5KGx5_ykLX8AHrmLQSES0WN1zC2j1eQr
------------------------------------------------------------------------
PracticU - онлайн IT курсы Основы сетевых технологий - Networking
https://www.youtube.com/playlist?list=PLrXcA7Ca3B83V8Eo8ck23nA-h9qgnMv_7
PracticU - онлайн IT курсы Курс компьютерной связи CCNA компании Cisco
https://www.youtube.com/playlist?list=PLrXcA7Ca3B82yt_gNjkfJzWF98J01TYIH
PracticU - онлайн IT курсы Курс Linux
https://www.youtube.com/playlist?list=PLrXcA7Ca3B82OQe1hrK5Ph5zMqKVNR3Aq
PracticU - онлайн IT курсы Курс системных администраторов MCSA и MCSE 2012
https://www.youtube.com/playlist?list=PLrXcA7Ca3B81lHrRIuc_zun2tKPlUZxVj
PracticU - онлайн IT курсы Курс техников - Администраторов Windows и сетей
https://www.youtube.com/playlist?list=PLrXcA7Ca3B80m1Tx3dDHV7ysgzKo4DZdi
PracticU - онлайн IT курсы Курс почтовых серверов Exchange 2010 / 2013
https://www.youtube.com/playlist?list=PLrXcA7Ca3B81y9z6Gtrgm2bsQIHKaUygl
PracticU - онлайн IT Курс виртуализации - VMware ESXi 6
https://www.youtube.com/playlist?list=PLrXcA7Ca3B80qDihTTA_i2j1JAQQ6MMi6
PracticU - онлайн IT курсы Курс PowerShell
https://www.youtube.com/playlist?list=PLrXcA7Ca3B82Qtthh9cRPLOr-oUKrs1jB
PracticU - онлайн IT курсы Курс DBA - язык SQL для программистов
https://www.youtube.com/playlist?list=PLrXcA7Ca3B836BfMeCM8Phj826_LptFne
https://www.youtube.com/playlist?list=PLrXcA7Ca3B826YaQ3fM6Wle_4T9sTGEnJ
------------------------------------------------------------------------
Andrey Sozykin Учебный курс "Компьютерные сети"
http://www.asozykin.ru/courses/networks_online
https://yadi.sk/d/I8TOPyldkM3oZ
https://www.youtube.com/playlist?list=PLtPJ9lKvJ4oiNMvYbOzCmWy6cRzYAh9B1
Andrey Sozykin Практики по курсу "Компьютерные сети"
https://www.youtube.com/playlist?list=PLtPJ9lKvJ4oiKPQ9GXOvntj44Eu8IGAJK
Andrey Sozykin Архив
https://www.youtube.com/playlist?list=PLtPJ9lKvJ4oiOpg7EVEpBre3OyrnNcN6N
------------------------------------------------------------------------
Yuriy Lebedev Перенос контроллеров домена в Hyper-V
https://www.youtube.com/watch?v=7G7xHj1Ffmc
Yuriy Lebedev Windows Server 2016
https://www.youtube.com/playlist?list=PLU4HoaX9cJ1BM5-KDWWc5B3c-R5XQ_tJ6
Yuriy Lebedev SQL Server 2016
https://www.youtube.com/playlist?list=PLU4HoaX9cJ1BKVuswU0LQHaxDyrPySuxc
Yuriy Lebedev Microsoft SQL Server 2012
https://www.youtube.com/playlist?list=PLU4HoaX9cJ1A19n74LBUSm4y0cng9lebJ
Yuriy Lebedev Microsoft Windows SBS 2011
https://www.youtube.com/playlist?list=PL19C5E7D567EA4485
Yuriy Lebedev Citrix XenServer 6
https://www.youtube.com/playlist?list=PLU4HoaX9cJ1DKPsTgXtkd3GORlryPB59w
Yuriy Lebedev Практическое использование Windows PowerShell 4.0
https://www.youtube.com/playlist?list=PLU4HoaX9cJ1A-ikd6fM9ZdoqTUBSqJsAU
Yuriy Lebedev Microsoft Windows PowerShell 3.0
https://www.youtube.com/playlist?list=PLU4HoaX9cJ1DWsDTaRD3D-zAtNzlPblf8
Yuriy Lebedev Microsoft Windows PowerShell 2.0
https://www.youtube.com/playlist?list=PL2FB974886B891D67
Yuriy Lebedev VMware vSphere 6.0
https://www.youtube.com/playlist?list=PLU4HoaX9cJ1D2YQLG1QgwzLZLXltSEdku
Yuriy Lebedev Windows 10
https://www.youtube.com/playlist?list=PLU4HoaX9cJ1BSmcEMAxfaJKWlFuhm3BZJ
Yuriy Lebedev Microsoft Windows 7
https://www.youtube.com/playlist?list=PLFD06E3A94DFED50F
Yuriy Lebedev CentOS 5
https://www.youtube.com/playlist?list=PL4915C26CBE8BF157
Yuriy Lebedev CentOS 6
https://www.youtube.com/playlist?list=PLU4HoaX9cJ1DGHL0eDfvj2rXe2IEy7-II
Yuriy Lebedev CentOS 7
https://www.youtube.com/playlist?list=PLU4HoaX9cJ1D5DsOhxgvrHS4ryBdpBD96
------------------------------------------------------------------------
Дни Решений Секреты строительства Wi-Fi сетей
https://www.youtube.com/playlist?list=PLe8r5bEnvnZNPL-LOxFi7EsZrXhrHPOAy
Дни Решений СКС/LAN: монтаж, диагностика и обслуживание
https://www.youtube.com/playlist?list=PLe8r5bEnvnZOEbF0J3SqGUYCbOlG4VwjJ
Дни Решений networkguru.ru
https://www.youtube.com/playlist?list=PLe8r5bEnvnZN0HTLGH-nxUJZd0h_eOq7g
Дни Решений Секреты работы с волоконной оптикой (ВОЛС)
https://www.youtube.com/playlist?list=PLe8r5bEnvnZOZLiKYHxNdFoK7waOUzNF1
Дни Решений Телефонные гарнитуры: все секреты!
https://www.youtube.com/playlist?list=PLe8r5bEnvnZNA9u2I6uqm2zcl6T94cI6z
Дни Решений Аудио и видео-конференц-связь, видеостены
https://www.youtube.com/playlist?list=PLe8r5bEnvnZNwSxqX0p_iDUAkOlAWytM7
Дни Решений IP телефония (VoIP)
https://www.youtube.com/playlist?list=PLe8r5bEnvnZP6yOWIYyyygqPvS58uMQBJ
Дни Решений Умный дом
https://www.youtube.com/playlist?list=PLe8r5bEnvnZN748WR37B1tXGcTLqTW3kC
Дни Решений Шумовые завесы
https://www.youtube.com/playlist?list=PLe8r5bEnvnZOY1LtqLEAxPxZxtL75jPV8
------------------------------------------------------------------------
Roman Brovko Операционные системы (2017)
https://www.youtube.com/playlist?list=PLwwk4BHih4fhjN33HkMEr63bvLfCJy6Lg
Roman Brovko Архитектура ЭВМ
https://www.youtube.com/playlist?list=PLwwk4BHih4fhAkCRHXK54t-KSqyuMzXW8
Roman Brovko Основы программирования для Linux
https://www.youtube.com/playlist?list=PLwwk4BHih4fgXqxB-T-0kb8gGHXiP73n1
Roman Brovko Алгоритмы
https://stepik.org/course/1547/
https://www.youtube.com/playlist?list=PLwwk4BHih4fhlc1aE0A_0Lw-LYNkXQyM6
Roman Brovko Алгоритмы и структуры данных
https://www.youtube.com/playlist?list=PLwwk4BHih4fh-y2G5gPm6gRlIjK8nvt2r
Roman Brovko Алгоритмы. Структуры данных
https://www.youtube.com/playlist?list=PLwwk4BHih4fhz7NtsPUbk7B3JXh_CPt3m
Roman Brovko Web-технологии
https://www.youtube.com/playlist?list=PLwwk4BHih4fjFaGMqZgSDKdPxEf4O1nDT
------------------------------------------------------------------------
JuniorDeveloper
https://www.youtube.com/channel/UC88QnQ7ENULaCirUkASudeg/playlists
JuniorDeveloper Верстка сайта из PSD макета
https://www.youtube.com/playlist?list=PLhSMKtAqXupGbc3fRUSb9ups_9hiwNMnT
------------------------------------------------------------------------
Хекслет Курс «Операционные системы»
https://www.youtube.com/playlist?list=PLo6puixMwuSPrKOCsJhrtr-m79mFthit9
Хекслет Вебинары Хекслета Что нужно изучать начинающему программисту
https://www.youtube.com/playlist?list=PLo6puixMwuSPfJVVXKhLkHCymzEQAKxjr
Хекслет Курс «Структура и интерпретация компьютерных программ» (SICP по-русски)
https://www.youtube.com/playlist?list=PLo6puixMwuSO8eB2uBH5lZy5kjNtdhTfT
------------------------------------------------------------------------
Sappise Лекции по ЦУиМП
https://www.youtube.com/playlist?list=PL8OgDYWys_b7YiX5rVMY2ol09WKkxwPyD
Sappise Лекции по ЦУиМП Версия 2
https://www.youtube.com/playlist?list=PL8OgDYWys_b6B9SE5D1jDFbGJ9WAmWYUl
------------------------------------------------------------------------
IFud Team Системный администратор
https://www.youtube.com/playlist?list=PLvmML5SbwhumXPtGoXyBAH1pMTFKA4ykL
IFud Team Администрирование Linux. Дистанционный курс
https://www.youtube.com/playlist?list=PLvmML5SbwhulMG1CmnBZT169LmxL21bJ4
IFud Team Администрирование linux
https://www.youtube.com/playlist?list=PLvmML5SbwhunCWc-8yAYIdoPiVfD0rNIj
IFud Team Межсетевое взаимодействие в сетях на базе TCP/IP
https://www.youtube.com/playlist?list=PLvmML5SbwhulDe5JDb46R69LJvDV7RKZN
IFud Team Поднимаем IPv6 прокси. Установка и настройка IPv6
https://www.youtube.com/playlist?list=PLvmML5Sbwhunx37mPDC8aRdmt46zhp_-q
IFud Team Безопасность в сети. Методы взлома и защиты
https://www.youtube.com/playlist?list=PLvmML5SbwhunT-nAfEX4s3tAjeMde25kO
IFud Team Продвижение сайта в Google
https://www.youtube.com/playlist?list=PLvmML5SbwhukEc2pQvJgQ1yMIYTp9A3Pq
------------------------------------------------------------------------
Sipteco. Технологии успеха. Учебный канал о Linux, Asterisk и IP-телефонии
Администрирование Linux. Курс подготовки к сертификату LPIC-1
https://www.youtube.com/playlist?list=PL2or2puF0mtWoE2aQDsbpszXcZCXWspTp
Курс системного администратора Linux LPIC-1: Linux Server Professional Certification
https://www.youtube.com/playlist?list=PL2or2puF0mtUD6-Me3prNufuZhD1wKNZ_
------------------------------------------------------------------------
Kirill Semaev Матчасть
https://www.youtube.com/playlist?list=PLmxB7JSpraieJLcnTyrytdUwm1ahOgSs3
Kirill Оффтоп
https://www.youtube.com/playlist?list=PLmxB7JSpraif2Gqqgk4YdmaR5O9-NiUME
Kirill Semaev Практическое системное администрирование
https://www.youtube.com/playlist?list=PLmxB7JSpraifsRUrtq2Y-il5NCLc3vKho
Kirill Semaev LPIC-1 (exam 101) или "Администрирование Linuх, первая ступень"
https://www.youtube.com/playlist?list=PLmxB7JSpraiep6kr802UDqiAIU-76nGfc
Kirill Semaev LPIC-1 (exam 102) или "Базовые навыки по администрированию Linux"
https://www.youtube.com/playlist?list=PLmxB7JSpraieH3aScuPs7h77cSEQvPi2A
Kirill Semaev DevOps
https://www.youtube.com/playlist?list=PLmxB7JSpraieS8C58ewR7fdTu5fS3z7HG
------------------------------------------------------------------------
Viktor Gorbachev Системный администратор
https://www.youtube.com/playlist?list=PL1QEYrJlCKDxoP-q01etpJ63IMLrvK88l
------------------------------------------------------------------------
Системное администрирование Курсы информационных технологий 2014
https://www.youtube.com/playlist?list=PLdJo1XilUTZN3jw6dalF9QyYhYjV2ZC56
------------------------------------------------------------------------
Sneaky Subnet CCNA Routing & Switching
https://www.youtube.com/playlist?list=PLto9y93q2lqgI4SkL-UcNkNGCb7h2nXCC
------------------------------------------------------------------------
NetSkills. Видеоуроки. Cisco, zabbix, linux. Курс молодого бойца
https://www.youtube.com/playlist?list=PLcDkQ2Au8aVNYsqGsxRQxYyQijILa94T9
------------------------------------------------------------------------
Students Days универ изнутри Сети, коротко о главном
https://www.youtube.com/playlist?list=PL7CmqnO_QydiukqgQ9-TuQXjSwQt2rXQT
Students Days универ изнутри IP сети шаг за шагом
https://www.youtube.com/playlist?list=PL7CmqnO_QydhIEjonf_xD3njzpFm-YeXQ
Students Days универ изнутри Сети Cisco шаг за шагом(Cisco Networks, Step by step)
https://www.youtube.com/playlist?list=PL7CmqnO_Qydj_7pzgQB4AWdF-SAxssH4l
Students Days универ изнутри Сети Mikrotik шаг за шагом (Mikrotik networks step by step)
https://www.youtube.com/playlist?list=PL7CmqnO_Qydjswm5E3iUYYzjFL0_MLVHD
Students Days универ изнутри Сети Huawei шаг за шагом (Networks based on Huawei routers step by step)
https://www.youtube.com/playlist?list=PL7CmqnO_Qydi3QWXMUFnBGUuYgIlRQd63
------------------------------------------------------------------------
techmovs Школа сисадмина
https://www.youtube.com/playlist?list=PL1eM6UUA7VFz4mKeFO5Y7-vIKP2cnN7sV
techmovs Администрирование Linux
https://www.youtube.com/playlist?list=PL1eM6UUA7VFysNtA0qflCDxpDiZEt7Bep
techmovs LFCS
https://www.youtube.com/playlist?list=PL1eM6UUA7VFycj34L1zgaCBWhh3Ci9Cp0
techmovs LPIC 101
https://www.youtube.com/playlist?list=PL1eM6UUA7VFzb_L6gSbYKnZYaXefGZDUs
techmovs KL10TCH
https://www.youtube.com/playlist?list=PL1eM6UUA7VFzpFGrX2gvFXaKbASvVhoQh
techmovs IPv6
https://www.youtube.com/playlist?list=PL1eM6UUA7VFwwLgriUiAGU1i9GBGjtoi1
techmovs Алгоритмы
https://www.youtube.com/playlist?list=PL1eM6UUA7VFzq4BF8Aprfg7gdAQ69j2KB
techmovs Тестирование ПО
https://www.youtube.com/playlist?list=PL1eM6UUA7VFyGCycBFhYbsk0Rp78QrCkN
------------------------------------------------------------------------
ieucariot Сети Для Самых Маленьких
https://www.youtube.com/playlist?list=PLHN9m7XN8U8HQ4KdjaLlWtSHQ3PYgQzmV
------------------------------------------------------------------------
Константин Малиновский Сети
https://www.youtube.com/playlist?list=PL5YDvN8xi9VLKte4Gv_16ciwQxh4XweCp
Константин Малиновский Базы данных
https://www.youtube.com/playlist?list=PL5YDvN8xi9VIjHXIND6dw3P14WS6Djeix
------------------------------------------------------------------------
TrainIT Hard Базовый курс. Основы ИТ.
https://www.youtube.com/playlist?list=PLUNgQQczUJbsLIiqvHVgy23nlwYnsEsn8
TrainIT Hard Windows Server 2012 Basics
https://www.youtube.com/playlist?list=PLUNgQQczUJbveKhzohlY4uNGZYkZm_VDZ
http://skill-admin.blogspot.ru/search/label/cisco
https://vk.com/wall-100479995_94
------------------------------------------------------------------------
Основы администрирования и безопасности Linux. (5 лекций)
https://vk.com/wall-51126445_2580
------------------------------------------------------------------------
Video Channel linux
https://www.youtube.com/playlist?list=PLZ5OKxpfkh5IC7pzY0Jo3q_UVFvaFRG7H
------------------------------------------------------------------------
Логово системного администратора Программирование Мини АТС Панасоник
https://www.youtube.com/playlist?list=PLxVdPxr08ltOAfKa2VKbzRiE7kBxvRzf1
------------------------------------------------------------------------
fromsmolensk Информационная безопасность
https://www.youtube.com/playlist?list=PL7DC2D34B14C1936C
fromsmolensk Базы данных
https://www.youtube.com/playlist?list=PLGPJsTM9CNQMg1pXbue77S59-dbZNvTog
------------------------------------------------------------------------
Fanto Mask Spoofing
https://www.youtube.com/playlist?list=PL0bD2LE45OWY9y6I50qMT_nqtsbz8MG7f
------------------------------------------------------------------------
ADV-IT Взлом Хакерские атаки и способы защиты
https://www.youtube.com/playlist?list=PLg5SS_4L6LYueOJFm-IdWSuLiYwcASkH-
ADV-IT Полезные IT знания для IT интервью (RAID)
https://www.youtube.com/playlist?list=PLg5SS_4L6LYsRPYsxOzDnEynpuQVEjUPy
ADV-IT Linux для Начинающих
https://www.youtube.com/playlist?list=PLg5SS_4L6LYuE4z-3BgLYGkZrs-cF4Tep
ADV-IT Linux для НЕ Начинающих
https://www.youtube.com/playlist?list=PLg5SS_4L6LYsgy5qLYZtvoaV34zn5iKPe
------------------------------------------------------------------------
Иван Глазков Полезные советы
https://www.youtube.com/playlist?list=PL2BaVmpX7hX_9zB1k7CgcCM4zRJmEdRm0
Иван Глазков Мои ремонты
https://www.youtube.com/playlist?list=PL2BaVmpX7hX8PxGr2KAXiUWt4qgK6i5PC
Иван Глазков Крякерство
https://www.youtube.com/playlist?list=PL2BaVmpX7hX8PX9bRaLcLgZfCEFtvyX5n
Иван Глазков PXE
https://www.youtube.com/playlist?list=PL2BaVmpX7hX9mS9H6phVs-Mi55hQp0zTn
Иван Глазков Linux
https://www.youtube.com/playlist?list=PL2BaVmpX7hX-3BFL4ndGi4LuF4NCCp6tM
Иван Глазков BSD
https://www.youtube.com/playlist?list=PL2BaVmpX7hX_hRZYNUQEfhmtVNo7i6O8t
Иван Глазков pFsense
https://www.youtube.com/playlist?list=PL2BaVmpX7hX8fJtOkTD7M_pUHryQzVl8v
------------------------------------------------------------------------
ETUSPB Цифровая связь
https://www.youtube.com/playlist?list=PLLC9rD5jg9Gt29QBFIXjcTqrI9YRHJDw1
ETUSPB Лекции по беспроводным сетям 2010
https://www.youtube.com/playlist?list=PLD386E8C2D58F648B
------------------------------------------------------------------------
ITVDN Видео курс SQL Essential
https://itvdn.com/ru/video/sql-essential
------------------------------------------------------------------------
Ivan Booravoi 1С
https://www.youtube.com/playlist?list=PLczo5nNDGlYS3TASK1YcV1z-7SJl5oZtr
Ivan Booravoi SQL
https://www.youtube.com/playlist?list=PLczo5nNDGlYQ9P8vWyTi_G2LrXQEUHxpl
Ivan Booravoi Oracle
https://www.youtube.com/playlist?list=PL290BFBB9251EEBA2
------------------------------------------------------------------------
Илья Леонтьев Обновление нетиповых конфигураций для самых маленьких
https://www.youtube.com/watch?v=4Th3ZIndvps
1С Бухгалтерия 8.3 - понятный самоучитель для начинающих (видео бесплатно)
https://www.youtube.com/playlist?list=PL6Nx1KDcurkCkGiG0hKWtBOQoDqnIBf9E
------------------------------------------------------------------------
Богдан Кухар Сервер терминалов на Linux для 1С
https://www.youtube.com/watch?v=2Zei0VJc77s
Богдан Кухар Подключаем информационные базы 1С всем пользователям сразу
https://www.youtube.com/watch?v=tldOqsaoLUY
Богдан Кухар Создаем VPN в облаке Microsoft Azure
https://www.youtube.com/watch?v=JUj7oJyGRxU
------------------------------------------------------------------------
q-group 1c8
https://www.youtube.com/playlist?list=PLdH7buQQUO6GgK9AKTCrBMfpjb7MdbPDA
------------------------------------------------------------------------
Сергей Калинкин Общий для последовательного просмотра
https://www.youtube.com/playlist?list=PLMAh-CUbKvasfQ0mupac3vvWPCz-BeCca
Сергей Калинкин Программирование на платформе 1С:Предприятие 8.3 - введение
https://www.youtube.com/playlist?list=PLMAh-CUbKvav-IqIpbGW2UKDw_41SowLj
Сергей Калинкин Основы программирования 1с 8
https://www.youtube.com/playlist?list=PLMAh-CUbKvat3RisZIYMYhmcWLtYMyJhv
Сергей Калинкин Установка и обновление 1с 8
https://www.youtube.com/playlist?list=PLMAh-CUbKvavHzDjL1FnssjE0oO3lJozi
------------------------------------------------------------------------
Postgres Professional DBA1. Администрирование PostgreSQL 9.4 | Тверь 16-18 декабря 2015
https://postgrespro.ru/education/courses/DBA1
https://www.youtube.com/playlist?list=PLaFqU3KCWw6KzGwUubZm-9-vKsi6vh5qC
Postgres Professional DBA2. Администрирование PostgreSQL. Расширенный курс.
https://www.youtube.com/playlist?list=PLaFqU3KCWw6JgufXBiW4dEB2-tDpmOXPH
------------------------------------------------------------------------
Vitaly Pavlenko Веб-программирование на Физтехе
https://www.youtube.com/playlist?list=PLzQrZe3EemP5KsgWGnmC0QrOzQqjg3Kd5
------------------------------------------------------------------------
Михаил Базаров Видеоуроки по созданию сайтов на 1С-Битрикс
Михаил Базаров Создание сайта на битрикс
https://www.youtube.com/playlist?list=PL8CIWP7ylJEOcOeJwicciUhoNmQP8k9ut
Работа с контентом на готовом сайте 1С-Битрикс
------------------------------------------------------------------------
Ускорение Сайтов Защита от DDoS-атак
https://www.youtube.com/playlist?list=PLVGNbLVYLVSXLoHMB8iPQuoGSK86i0uxn
Ускорение Сайтов Nginx
https://www.youtube.com/playlist?list=PLVGNbLVYLVSUtbYBzuzigVyhWGuF_ABi7
Ускорение Сайтов Ускорение MySQL
https://www.youtube.com/playlist?list=PLVGNbLVYLVSWTiO_NApFISC7fjSennUAu
Ускорение Сайтов Результаты ускорения
https://www.youtube.com/playlist?list=PLVGNbLVYLVSUkvHP1T78RcADVMpNu15je
Ускорение Сайтов Тормозека
https://www.youtube.com/playlist?list=PLVGNbLVYLVSVQfQEY9ALNPRnDWLf6oM7w
------------------------------------------------------------------------
DesignerMix Уязвимости, взломы и способы защиты
https://www.youtube.com/playlist?list=PLOQQ6KLOVGdGqm_L4e_CzQrIDtiopvL-Y
DesignerMix Вирусы и борьба с ними
https://www.youtube.com/playlist?list=PLOQQ6KLOVGdEgd7O2I2wjwqD_KjxiPbuX
DesignerMix Восстановление флешек и удаленных данных
https://www.youtube.com/playlist?list=PLOQQ6KLOVGdGNd70VpYAarwCMNg_yrpcC
DesignerMix SDR (Программно-определяемое радио)
https://www.youtube.com/playlist?list=PLOQQ6KLOVGdFlesq9MH6aGf2TsQ8PAMw5
------------------------------------------------------------------------
loftblog SEO простым языком
https://www.youtube.com/playlist?list=PLY4rE9dstrJxGAhvT29VO70RsKuEvk87A
loftblog SEO
https://www.youtube.com/playlist?list=PLY4rE9dstrJxIHBstGandMnv_pYnFBlIV
loftblog SMM
https://www.youtube.com/playlist?list=PLY4rE9dstrJxh2iwPabJC4jDRmI6W3ajc
loftblog Продвижение в социальных сетях
https://www.youtube.com/playlist?list=PLY4rE9dstrJw_DOaRCpp65OcTTFIfrUAa
loftblog Основы SQL
https://www.youtube.com/playlist?list=PLY4rE9dstrJwFmPYd03vZU90-TvXEpVzD
------------------------------------------------------------------------
CMTV [Грани Hi-Tech] Изучение программирования. Суть ООП
https://www.youtube.com/playlist?list=PLDywto_IU4_5UdZeKaoe-JWSl9LoaWmH9
CMTV [Грани Hi-Tech] Изучение программирования. Основы
https://www.youtube.com/playlist?list=PLDywto_IU4_60HfZ4-JeqRRyTgcTntDsE
CMTV [Грани Hi-Tech] Нейронные сети. Просто
https://www.youtube.com/playlist?list=PLDywto_IU4_4nP7LUZRzQ5QKoglE-WBtT
------------------------------------------------------------------------
Компьютерная школа Hillel QA | Тестирование ПО
https://www.youtube.com/playlist?list=PLuEo4W0EBxtXzWG6fAy6uQ1BtdYK-w8yN
------------------------------------------------------------------------
Computer Science Center Введение в архитектуру ЭВМ и элементы ОС
https://www.youtube.com/playlist?list=PLlb7e2G7aSpRZ9wDzXI-VYpk59acLFOIr
------------------------------------------------------------------------
Yellow-Duck.net Основы основ программирования
https://www.youtube.com/playlist?list=PL6LDsbZOeyrwLLZYsBMT6zVS_0jqIf3E6
Yellow-Duck.net Основы объектно-ориентированного програмирования
https://www.youtube.com/playlist?list=PL6LDsbZOeyrx462VmH18qS0a9Dw9LwpSu
------------------------------------------------------------------------
LessonFirst Объектно-ориентированное программирование [завершен]
https://www.youtube.com/playlist?list=PLi3gxGWPyGGQvfcZZr04KToj3beWtOz6o
LessonFirst SQL для начинающих
https://www.youtube.com/playlist?list=PLi3gxGWPyGGQOBAp-n-zWaj6QZeFtXLHh
------------------------------------------------------------------------
Evgeniy Gryshko WEB development
https://www.youtube.com/playlist?list=PLAKxGhxbBWw_tDL45h-4UcePVNNpPNztW
Evgeniy Gryshko Git
https://www.youtube.com/playlist?list=PLAKxGhxbBWw8vK8GCqs4H8ddk3Vc86M8A
------------------------------------------------------------------------
Школа Будущего HTML CSS
https://www.youtube.com/playlist?list=PLr_VnTo6mvnQfXLXW_wTsZiXAVi2_sZIo
Школа Будущего Сео
https://www.youtube.com/playlist?list=PLr_VnTo6mvnToYUyaUIVMPuuPjl6WHpjq
------------------------------------------------------------------------
KNLNT Studio CSS
https://www.youtube.com/playlist?list=PL9EN4uxy2Zg2y1HlufX9MhBruypiTdbRi
KNLNT Studio Как сделать?
https://www.youtube.com/playlist?list=PL9EN4uxy2Zg1ah4ysUbfVL2YpoTNQ-31W
------------------------------------------------------------------------
Сергей Бердачук Бесплатный курс по SEO
https://www.youtube.com/playlist?list=PLtyhaRfmo_ciDvmAbBk7zuOuXZcIBzUy6
Сергей Бердачук SEO-Tool-Vision
https://www.youtube.com/playlist?list=PLtyhaRfmo_ci9GpwONtZQ6lIAzPQW_Pn_
------------------------------------------------------------------------
Нетология: университет интернет-профессий SEO
https://www.youtube.com/playlist?list=PLkC6D3H7QvstK8JpWbMAdzKGj-Mt6ylmH
https://www.youtube.com/playlist?list=PLkC6D3H7QvssTlrTuEf4u_GOcH8oVYbGt
Нетология: университет интернет-профессий SMM
https://www.youtube.com/playlist?list=PLkC6D3H7QvsubiUwGswFupaLPQnOQ3R3s
Нетология: университет интернет-профессий SMM-менеджер: как стать профи в социальных сетях
https://www.youtube.com/playlist?list=PLkC6D3H7QvssIjltb8ZncbLIyCqX7Q3s9
------------------------------------------------------------------------
OPC - Online Programming Courses Обучение SQL
https://www.youtube.com/playlist?list=PLOFNiVk8RnFf0SRmMpeKWzcFprd6m9utv
OPC - Online Programming Courses Обучение CSS
https://www.youtube.com/playlist?list=PLOFNiVk8RnFfH6kxPxWGAGMCs2PHB3M2A
OPC - Online Programming Courses Установка и настройка сайта на WordPress
https://www.youtube.com/playlist?list=PLOFNiVk8RnFd4704vKWwn908_19QxgBLk
OPC - Online Programming Courses Joomla
https://www.youtube.com/playlist?list=PLOFNiVk8RnFclUTCx5oIkmyQ3ihdXskXj
------------------------------------------------------------------------
Макс Шулин Сетевое программирование в UNIX
https://www.youtube.com/playlist?list=PL515CC9DC78708CF2
------------------------------------------------------------------------
ProgTeach TV Самоучитель C++ в Visual Studio
https://www.youtube.com/playlist?list=PLunH-tbnWczrnR76tF3c9sddcUbHIxpQR
------------------------------------------------------------------------
Как создать сайт. Основы Самостоятельного Сайтостроения
https://www.youtube.com/user/webformyself/playlists
------------------------------------------------------------------------
Лучший курс по GIT. Перевод курса от Lynda.com
Гайды по работе с Git
https://vk.com/wall-54530371_128906
------------------------------------------------------------------------
school-php.com Видео-блок. Тема: взлом и безопасность веб-сайтов
https://www.youtube.com/watch?v=ll9ZqAk70kk
------------------------------------------------------------------------
Linux - это просто! Замена сбойного жесткого диска в дисковом массиве RAID10
https://www.youtube.com/watch?v=AE2oIiTxiv0
------------------------------------------------------------------------
Filipp Ozinov Основы дизассемблирования
https://www.youtube.com/watch?v=LaBM8inpYoE
------------------------------------------------------------------------
Техподдержка
https://www.youtube.com/watch?v=8tUhvt3opLE
https://www.youtube.com/watch?v=-vJHsO4_uPA
------------------------------------------------------------------------



https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi?az=post&om=107420&forum=vsluhforumID3&omm=235



1. Чтобы иметь возможность использовать скрипт, для начала установите библиотеки libnotify-bin (для того, чтобы скрипт мог отправлять оповещения рабочего стола), wget (для получения перевода фразы через Google) и xsel (для получения текущего выбранного текста). В Ubuntu, Linux Mint и прочих дистрибутивах вы можете установить их с помощью следующей команды в вашем терминале (чтобы открыть его, используйте комбинацию клавиш Ctrl+Alt+T):

sudo apt-get install libnotify-bin wget xsel
Read more... )



Настройка командной строки Windows
http://ab57.ru/cmdtweak.html
Альтернативный терминал для Windows
Ламповый Linux-like терминал в Windows
Делаем из cmd конфетку
http://mridgers.github.io/clink/
https://sourceforge.net/projects/pycmd
http://intgat.tigress.co.uk/rmy/busybox/index.html
http://blog.acmenet.ru/2014/09/26/gnu-on-windows/
http://forum.farmanager.com/viewtopic.php?t=3153
http://daverupert.com/2015/10/windows-editors-and-shells/
http://www.netsarang.com/download/down_xsh5.html
http://www.chiark.greenend.org.uk/~sgtatham/putty/
https://fedorahosted.org/gtkterm/
https://ttssh2.osdn.jp/index.html.en
http://cmder.net/
https://conemu.github.io/
https://sourceforge.net/projects/conemu/
https://sourceforge.net/projects/console/files/
https://ru.wikipedia.org/wiki/MinGW
http://www.mingw.org/wiki/MSYS
https://mintty.github.io/
https://msys2.github.io/
https://github.com/mintty/wsltty
http://babun.github.io/ ?
https://cygwin.com/
https://github.com/WindowsTermKit/TermKit
https://github.com/bmatzelle/gow
https://github.com/dthree/cash
http://xon.sh/windows.html
https://code.google.com/archive/p/hotwire-shell/wikis/HotwireWindows.wiki
https://www.opennet.ru/tips/2963_ubuntu_windows_bash_wsl.shtml
https://support.microsoft.com/ru-ru/kb/324081
https://technet.microsoft.com/ru-ru/library/cc771672.aspx
https://www.microsoft.com/en-us/download/details.aspx?id=2391
https://github.com/wishstudio/flinux
https://play.google.com/store/apps/details?id=com.termux&hl=ru

Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит
[в закладки] PDF-версия статей про Bash-скрипты

Оболочка Bash — шпаргалка для начинающих
Перенаправления в bash
Подводные камни Bash
«Намертво прибитая к ядру» графическая подсистема
обзор Лучшие терминалы для Linux
Консоль 21 века: mosh, tmux, fish
Final Term: новый взгляд на терминал
TermKit: новая концепция консоли с графическим выводом
Hotwire: консоль и графическое окно одновременно
Полезные команды Linux, о которых вы не знали
Работа с последовательным портом из консоли Linux
Наиболее используемые команды MySQL
консоль python в роли командной строки
uzverss Командная строка. справочник администратора
http://hex.pp.ua/nt-native-applications-shell.php
shell для винды + доп проги
Запуск NodeJS-приложения на Android

Profile

uzverss: (Default)
uzverss

May 2017

S M T W T F S
 123456
7 8910111213
14151617 181920
21222324252627
28293031   

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 20th, 2017 02:06 am
Powered by Dreamwidth Studios