Suggest a feature
×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: Bash
Posted by: Сергей Шевченко
Added: Dec 17, 2019 12:13 PM
Views: 6
Tags: commands crib vim
  1. Файл настройки: ~/.vimrc
  2. Можно редактировать файлы через сеть, например
  3. :e <scp|ftp|ftps>://user@host/path/to/the/file.txt
  4. :Ex или :e ./ - файловый менеджер
  5.  
  6. == Основы ==
  7. hjkl                      перемещение в разные стороны
  8. i                         режим вставки
  9. I                         добавление в начало строки
  10. a                         режим добавления
  11. A                         добавление в конец строки
  12. o                         добавить строку сразу за текущей
  13. O                         добавить строку перед текущей
  14. R                         писать поверх имеющегося текста
  15. u, :u[ndo]                отмена предыдущего действия (undo)
  16. CTR-R, :red[o]            отмена отмены предыдущего действия (redo)
  17. dd                        вырезать (удалить) строку
  18. cc                        удалить и начать редактирование
  19. yy                        копировать строку
  20. p                         вставить из буфера обмена
  21. <n>d                      удалить n+1 строку
  22. <n>y                      скопировать n+1 строку
  23. ESC                       перейти в режим просмотра
  24. DEL                       удалить следующий символ
  25. :<n>                      перейти на строку #n
  26. %                         перейти к парной скобке
  27. :e **/filename.c          редактировать файл (с поиском по имени)
  28. :w [fname]                записать изменения
  29. :wa                       сохранить изменения во всех файлах
  30. :q                        выйти из редактора
  31. :q!                       выйти из редактора, не сохраняя изменения
  32. :color <name>             выбор цветовой схемы. цветвые схемы:
  33.                             /usr/local/share/vim/vim72/colors/*.vim
  34. :pwd                      текущий каталог
  35. :cd [path]                перейти в другой каталог
  36. :!команда                 выполнить команду - man, git, и так далее
  37.                             стрелочками веерх и вниз можно автодополнять
  38.                             команды и искать по истории
  39. CTR+p или CTR+n           автоматическое дополнение текста
  40.                             (в режиме редактирования)
  41. CTR+r,=,<expr>            вставить выражение, например 5*2 - 3
  42.                             (в режиме редактирования)
  43. CTR+u, CTR+d              Page Up / Page Down
  44. CTR+y, CTR+e              Перемотка вверх/вниз без движения курсора              
  45.  
  46. == Подсветка синтаксиса ==
  47. :syntax on                включить подсветку
  48. :syntax off               выключить подсветку (по умолчанию)
  49.  
  50. == Перенос строк ==
  51. :set wrap                 разрешить word wrap (по умолчанию)
  52. :set nowrap               запретить word wrap
  53.  
  54. == Печать ==
  55. :ha[rdcopy]                   распечатать документ
  56. :set printoptions=duplex:off  отключить двустороннюю печать
  57.  
  58. == Сворачивание ==
  59. zc                        свернуть блок
  60. zo                        развернуть блок
  61. zM                        закрыть все блоки
  62. zR                        открыть все блоки
  63. za                        инвертирование
  64. zf                        см :set foldmethod=manual
  65. :set foldenable           включить свoрачивание
  66. :set foldmethod=syntax    сворачивание на основе синтаксиса
  67. :set foldmethod=indent    сворачивание на основе отступов
  68. :set foldmethod=manual    выделяем участок с помощью v и говорим zf
  69. :set foldmethod=marker    сворачивание на основе маркеров в тексте
  70. :set foldmarker=bigin,end задаем маркеры начала и конца блока
  71.  
  72. == Маркеры ==
  73. ma                        установить локальный маркер a
  74. mB                        установить глобальный маркер B
  75. `c                        перейти к локальному маркеру c
  76. `0                        вернуться на позицию, на которой закончили
  77.                             работу при закрытии vim
  78. :marks                    просмотр маркеров
  79. set viminfo='1000,f1      маркеры пишутся в ~/.viminfo, восстанавливаясь
  80.                            при следующем запуске vim. маркер " хранит
  81.                            последнюю позицию курсора в файле
  82. == Сессии ==
  83. mksession file.session    сохранить текущую сессию
  84. source file.session       восстановить ранее сохраненную сессию
  85.  
  86. == Макросы ==
  87. qa                        записать макрос с именем a
  88. q                         в режиме записи макроса: закончить запись
  89. @a                        выполнить макрос с именем a
  90. @@                        повторить последний макрос
  91.  
  92. == Регистры ==
  93. "ayy                      скопировать строку в регистр a
  94. "bdd                      вырезать строку и поместить в регистр b
  95. "С2d                      вырезать три строки и дописать в конец
  96.                            регистра C
  97. :reg [name1][name2][...]  просмотреть содержимое регистров
  98.  
  99. == Выделение ==
  100. v + hjkl                  выделение текста
  101. SHIFT + v                 выделить строку
  102. CTR + v                   выделение прямоугольника
  103. p                         вставить
  104. y                         копировать
  105. d                         удалить
  106. gu                        к нижнему регистру
  107. gU                        к верхнему регистру
  108.  
  109. == Отступы ==
  110. [#]>                      сдвинуть выделенное вправо
  111. [#]<                      сдвинуть выделенное влево
  112. [#]>>                     сдвинуть строку вправо
  113. [#]<<                     сдвинуть строку влево
  114. set tabstop=#             для табуляции используется # пробелов
  115. set shiftwidth=#          в командах отступа используется # пробелов
  116. set [no]expandtab         заменять ли табуляцию на соответствующее
  117.                            число пробелов
  118.  
  119. == Поиск и замена в файле ==
  120. /Выражение               поиск выражения в файле
  121. \cВыражение              поиск без учета регистра
  122. n                        следующее совпадение
  123. N                        предыдущее совпадение
  124. :%s/foo/bar/gi           замена строк, см http://eax.me/regular-expr/
  125.  
  126. == Поиск по всему проекту ==
  127. :vimgrep /EXPR/ **/*.c   поиск по регулярному выражению
  128. :copen                   показать все найденные места
  129. :close                   скрыть все найденные места
  130. :cn                      переход к следующему результату
  131. :cp                      переход к предыдущему результату
  132.  
  133. == Нумерация строк ==
  134. :set number              включить нумерацию строк
  135. :set nonumber            отключить нумерацию строк
  136.  
  137. == Работа с вкладками (a.k.a табами) ==
  138. :tabnew [fname]          создать таб
  139. :tabs                    вывести список табов
  140. :tabn                    следующий таб
  141. :tabp                    предыдущий таб
  142. <n>gt                    перейти на таб #n
  143. gt                       следующий таб
  144. gT                       предыдущий таб
  145. :tabm +1                 переместить таб вперед на одну позицию
  146. :tabm -1                 переместить таб назад на одну позицию
  147. :tabm 2                  переместить таб на заданную позицию
  148.                           (нумерация начинается с нуля)
  149.  
  150. == Работа с окнами ==
  151. :split                   горизонтальное разбиение
  152. :vsplit                  вертикальное разбиение
  153. Ctr+W, затем
  154.  с                      закрыть окно
  155.  +-                     изменение высоты текущего окна
  156.  <>                     изменение ширины текущего окна
  157.  =                      установить равный размер окон
  158.  hjkl или стрелочки     перемещение между окнами
  159.  
  160. == Проверка орфографии ==
  161.    mkdir -p ~/.vim/spell
  162.    cd ~/.vim/spell
  163.    wget http://ftp.vim.org/vim/runtime/spell/ru.koi8-r.sug
  164.    wget http://ftp.vim.org/vim/runtime/spell/ru.koi8-r.spl
  165.    wget http://ftp.vim.org/vim/runtime/spell/en.ascii.sug
  166.    wget http://ftp.vim.org/vim/runtime/spell/en.ascii.spl
  167.  
  168. :set spell spelllang=ru,en       включить проверку орфографии
  169. :set nospell                     выключить проверку орфографии
  170. ]s                               следующее слово с ошибкой
  171. [s                               предыдущее слово с ошибкой
  172. z=                               замена слова на альтернативу из списка
  173. zg                               good word
  174. zw                               wrong word
  175. zG                               ignore word
  176.  
  177. == Работа с кодировкой ==
  178. e ++enc=<имя кодировки>         Редактирование файла в ??? кодировке
  179. w ++enc=<имя кодировки>         Сохранить файл в новой кодировке
  180. set fileencodings=utf-8,koi8-r  Список автоматически определяемых
  181.                                  кодировок в порядке убывания
  182.                                  приоритета
  183.  
  184. == Другое ==
  185. :set [no]wildmenu          При авто-дополнении в командной строке над
  186.                             ней выводятся возможные варианты
  187. :set list                  Отображать табуляцию и переводы строк
  188. q:                         История команд
  189. .                          Повторение последней команды