Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Vim or die

3,412 views

Published on

Рассказ о том, какой крутой редактор vim

Vim or die

  1. 1. Vim or Die Иван Евтухович
  2. 2. Оверсан-Скалакси http://scalaxy.ru
  3. 3. http://railsclub.ru
  4. 4. Win or Die Vim = победа
  5. 5. Без «священных» войн
  6. 6. Конструктивно
  7. 7. По-делу
  8. 8. Стиральная машина
  9. 9. Посудомоечная машина
  10. 10. Водопровод
  11. 11. Дурацкие ответы ● Большую часть времени я не мою посуду ● Я привык к одноразовым тарелкам ● Стирать белье мне приходится редко ● Мои носки не так и воняют ● Мне не сложно сходить по воду ● В конце-концов можно протереться влажным полотенцем
  12. 12. Почему вы до сих пор не используете
  13. 13. Слепой десятипальцевый метод?
  14. 14. Bram Moolenaar
  15. 15. Перемещения
  16. 16. h j k l ← ↓ ↑ →
  17. 17. PageUp Ctrl-B PageDown Ctrl-F
  18. 18. ½ PageUp Ctrl-U ½ PageDown Ctrl-D
  19. 19. ↓ Ctrl-E ↑ Ctrl-Y
  20. 20. H M L
  21. 21. Home 0, ^ Center gm End $
  22. 22. Ctrl← b, B, ge, gE Ctrl→ w, W, e, E
  23. 23. Режимы Vim ● Normal mode (Ctrl-C, Esc) ● Visual mode (v, V, Ctrl+V) ● Insert mode ● Command-line mode (:) ● другие :help vim-modes
  24. 24. Вставка ● i, a — вставка до/после курсора ● I, A — вставка в начале/конце строки ● o, O — вставка с новой строки спереди/сзади ● R — вставка в режиме замены ● Ctrl-C — выход в «нормальный» режим
  25. 25. Tab все команды дополняются <Tab> ● :help дополняется <Tab> set wildmenu set wildmode=list:longest set wcm=<Tab> :e<Tab> - на следующем слайде
  26. 26. :q — выйти :w — сохранить текущий файл :wq или :x — сохранить и выйти :e — открыть для редактирования :tabe — открыть в новом табе :split — открыть в новом окне Самый сложный вопрос
  27. 27. Удаление и копирование ● D — удалить до конца строки ● x — удалить символ ● dd — удалить строчку (100dd — сто строк) ● yy — скопировать строку (yw, ye) ● P, p — вставить скопированное до или после
  28. 28. УЖАС!!!!
  29. 29. Мышь — зло!!!
  30. 30. Стрелки — зло!!!
  31. 31. Конец доклада
  32. 32. < 0,17%
  33. 33. Живем ли мы зря?
  34. 34. Поиск
  35. 35. /текст /Text.*Mate ..вно /Хочу d$ /def funcname
  36. 36. n N * Добавить в ~/.vimrc set hlsearch set incsearch Поставить plugin IndexedSearch
  37. 37. :%s/(ema.s|tex.mat.)/vim (1 — sux)/ 1. % - где искать (1,100 500,$) 2. (ema.s|tex.mat.) - RegExp 3. 1 — первое соответствие ( )
  38. 38. everybody loves vim %s/.*/def 0^M get_from_outersystem(:0)^Mend^M/
  39. 39. def everybody   get_from_outersystem(:everybody) end def loves   get_from_outersystem(:loves) end def vim   get_from_outersystem(:vim) end
  40. 40. :grep pattern * -ri :cl :cn :cp :copen
  41. 41. И еще... ● автодополнение ● подсветка синтаксиса ● фолдинг ● автоотступы ● undo/redo (U, Ctrl-R) ● цветовые схемы ● назначить клавиши для всего (но лучше стандарт) ● написать скрипт для всего (даже на ruby)
  42. 42. Табы ● :tabe filename ● :tabnew ● :[n]tabnext ([n]gt) ● :tabprevious (gT)
  43. 43. Окна ● :split filename ● :vsplit filename ● Ctrl-W h,j,k,l — перемещение между окнами ● Ctrl-W q — закрыть окно
  44. 44. Аргументы строки vim 1.txt 2.txt 3.txt :n :p :args
  45. 45. Буферы :buffers, :ls — список всех буферов :bn :bp [n]Ctrl-^ - переход к буферу (альтернативному)
  46. 46. :TOhtml А как вы пишете в ваш блог?
  47. 47. :vertical diffsplit 1.txt 2.txt
  48. 48. Макросы q a j 0 i ( Ctrl-C $ a ) q 10 @ a
  49. 49. Метки ma mA `a 'A :jumps Ctrl-I Ctrl-O % - переход по соответствующим скобкам (MatchIt — do..end)
  50. 50. Никого не хочу агитировать
  51. 51. Для настоящих мужчин
  52. 52. Tim Pope ● vim-pathogen ● vim-rails ● vim-fugitive ● vim-haml ● vim-cucumber ● vim-surround
  53. 53. Vim-pathogen ● Способ управления плагинами для vim ● Каждый плагин в своей папке ● Посмотреть можно здесь ● Для счастья надо 2 файла: ● update_bundles ● .vimrc
  54. 54. Плагины ● snipmate ● surround ● tcomment (gc) ● fugitive ● gist
  55. 55. vim-ruby ● подсветка ● автодополнение по (Ctrl-X Ctrl-O)
  56. 56. vim-rails ● :Rfind ● gf — перейти к файлу (учитывая контекст) ● :A, :AT, :AV — перейти к альтернативному файлу ● :R, :RT, :RV — перейти к связанному файлу
  57. 57. ● :R[TV]view / :Rlayout ● :Rmodel ● :Rcontroller ● :Rmigration ● :Rfixtures ● :Rspec / :Runittest ● :Rhelper ● :Rlib ● :Rjavascript / :Rstylesheet ● :Rextract
  58. 58. NerdTree
  59. 59. TagList
  60. 60. Помощь :help anything
  61. 61. Vim никогда нельзя выучить до конца Лучший способ понять Vim — это практика
  62. 62. Реклама Платные курсы по Vim Дорого! Долго!
  63. 63. Derek Wyatt http://vimeo.com/user1690209
  64. 64. Eclipse ● Vrapper ● eclimd
  65. 65. Вопросы Спасибо за внимание evtuhovich@gmail.com @evtuhovich

×