Инструменты пользователя

Инструменты сайта


vim

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
vim [2015/12/24 05:21] – [Отмена и повтор операции] daniilvim [Дата неизвестна] (текущий) – внешнее изменение (Дата неизвестна) 127.0.0.1
Строка 1: Строка 1:
 ====== Vim ====== ====== Vim ======
 +{{ ::vim_1.png?600 |}}
 +
 +----
 +
 ===== Отличия от Vi ===== ===== Отличия от Vi =====
  
Строка 26: Строка 30:
   * Для программистов: поддержка цикла разработки «редактирование — компиляция — исправление» программ. Автоматическое выполнение сборки/компиляции, обнаружение и распознавание ошибок, переход к строкам ошибок в тексте программы.   * Для программистов: поддержка цикла разработки «редактирование — компиляция — исправление» программ. Автоматическое выполнение сборки/компиляции, обнаружение и распознавание ошибок, переход к строкам ошибок в тексте программы.
   * Для поклонников vi: практически стопроцентная совместимость с vi.   * Для поклонников vi: практически стопроцентная совместимость с vi.
 +
 +----
  
 ===== Горячие клавиши ===== ===== Горячие клавиши =====
-==== Помощь ==== 
  
-Комбинация Значение ^+ Помощь  ^^
 | **<hi #ff7f27>%%:help%%</hi>** | Вывести краткую справку и завершить работу. То же, что и "-h". | | **<hi #ff7f27>%%:help%%</hi>** | Вывести краткую справку и завершить работу. То же, что и "-h". |
 | **<hi #ff7f27>%%:help j%%</hi>** | Вывести справку по команде 'j'. | | **<hi #ff7f27>%%:help j%%</hi>** | Вывести справку по команде 'j'. |
Строка 38: Строка 43:
 | **%%<C-o>%%** | Перейти на предыдущую страницу справки. | | **%%<C-o>%%** | Перейти на предыдущую страницу справки. |
 | **%%<C-i>%%** | Перейти на следующую страницу справки.| | **%%<C-i>%%** | Перейти на следующую страницу справки.|
- +^  Отмена и повтор операции  ^^
-==== Отмена и повтор операции ==== +
- +
-Комбинация ^ Значение ^+
 | **%%u%%** | Отменить действие. | | **%%u%%** | Отменить действие. |
 | **%%<C-r>%%** | Восстановить отменённое действие / повторить последнюю команду редактирования. | | **%%<C-r>%%** | Восстановить отменённое действие / повторить последнюю команду редактирования. |
 | **<hi #ff7f27>%%:redo%%</hi>** | Восстановить отменённое действие / повторить последнюю команду редактирования. | | **<hi #ff7f27>%%:redo%%</hi>** | Восстановить отменённое действие / повторить последнюю команду редактирования. |
 +^  Перемещение между строками  ^^
 +| **%%0%%** | Перейти в начало текущей строки. |
 +| **%%^%%** | Перейти к первому непробульному символу в текущей строке. |
 +| **%%$%%** | Перейти в конец текущей строки. |
 +| **%%gg%%** | Перейти на первую строку в файле. |
 +| **%%G%%** | Перейти на последнюю строку в файле. |
 +| **%%47G%%** | Перейти на строку 47. |
 +| **<hi #ff7f27>%%:47%%</hi>** | Перейти на строку  47 (альтернативный способ). |
 +^  Перемещение между символами  ^^
 +| **%%f [char]%%** | Поиск вперёд в строке символа [char] и установка курсора на него. |
 +| **%%3f [char]%%** | Поиск вперёд в строке третий символ [char] и установка курсора на него. |
 +| **%%F [char]%%** | Поиск назад в строке символа [char] и установка курсора на него. |
 +| **%%t [char]%%** | Поиск вперёд в строке символа [char] и установка курсора после него. |
 +| **%%T [char%%** | Поиск назад в строке символа [char] и установка курсора после него. |
 +| **%%;%%** | Повтор поиска вперёд символа, найденного при помощи **%%f/t/F/T%%**. |
 +| **%%,%%** | Повтор поиска назад символа, найденного при помощи **%%f/t/F/T%%**. |
 +^  Перемещение между словами и навигация в тексте  ^^
 +| **%%w%%** | Перейти к началу следующего слова. |
 +| **%%W%%** | Перейти к началу следующего слова, отделённого пробельными символами с двух сторон. |
 +| **%%e%%** | Перейти к концу ближайшего слова. |
 +| **%%E%%** | Перейти к концу ближайшего слова, отделённого пробельными символами с двух сторон. |
 +| **%%b%%** | Перейти к началу предыдущего слова. |
 +| **%%B%%** | Перейти к началу предыдущего слова, отделённого пробельными символами с двух сторон. |
 +| **%%(%%** | Перейти на первую точку слева от курсора (если она есть, в противном случае на начало абзаца). |
 +| **%%)%%** | Перейти на первую точку справа от курсора (если она есть, в противном случае на конец абзаца). |
 +| **%%{%%** | Перейти на абзац назад до пустой строки. |
 +| **%%}%%** | Перейти на абзац вперёд до пустой строки. |
 +^  Перемещение по программному коду  ^^
 +| **%%%%%** | Перемещение между открытием / закрытием парных скобками: **%%(),[]%%** или **%%{}%%**. |
 +| **%%[[%%** | Перейти к предыдущей функции. |
 +| **%%]]%%** | Перейти к следующей функции. |
 +| **%%[{%%** | Перейти к началу текущего блока кода. |
 +| **%%]}%%** | Перейти в конец текущего блока кода. |
 +^  Поиск  ^^
 +| **%%/%%** | Поиск. |
 +| **%%?%%** | Поиск в обратном направлении. |
 +| **%%n%%** | Перейти к следующему совпадению. |
 +| **%%N%%** | Повторить поиск назад. |
 +| **%%*%%** | Перейти к следующему вхождению слова под курсором. |
 +| **%%#%%** | Перейти к предыдущему вхождению слова под курсором. |
 +^  Повторения  ^^
 +| **%%.%%** | Повторить последнюю команду. |
 +| **%%23dd%%** | Удалить (вырезать) 23 строки. |
 +| **%%5j%%** | Перейти на 5 строк вверх. |
 +| **%%qa%%** | Начать запись комбинации клавиш, которая будет назначена за клавишей 'a'. |
 +| **%%q%%** | Закончить запись. |
 +| **%%@a%%** | Выполнить макрос записанный под именем 'a'. |
 +| **%%4@a%%** | Выполнить макрос записанный под именем 'a' 4 раза. |
 +^  Замена текста  ^^
 +| **<hi #ff7f27>%%:%s/search/replace/g%%</hi>** | Заменить все вхождения 'search' на 'replace. |
 +| **<hi #ff7f27>%%:%s/old/new/gw%%</hi>** | Заменить все вхождения “old” на “new” с запросом подтверждения. |
 +| **<hi #ff7f27>%%:5,10s/search/replace/g%%</hi>** | Заменить все вхождения 'search' на 'replace' с 5 по 10 строку. |
 +| **<hi #ff7f27>%%:5,$s/search/replace/g%%</hi>** | Заменить все вхождения 'search' на 'replace' начиная с 5 строки и до конца файла. |
 +| **<hi #ff7f27>%%:%s/\(\d\+\)-\(\d\+\)\+/\1\&ndash;\2/g%%</hi>** | Find all [number]-[number] text and replace with [number]&ndash;[number] |
 +| **<hi #ff7f27>%%:%s/\v(\d+)-(\d+)+/\1\&ndash;\2/g%%</hi>** | Same as last, but using magic regex. |
 +| **<hi #ff7f27>%%:g/foo/ s/bar/BAR/g%%</hi>** | On lines that match the regex /foo/, replace 'bar' with 'BAR'. |
 +| **<hi #ff7f27>%%:vimgrep /^<h5/ *.html%%</hi>** | Find lines that start with '<h5' in all HTML files in the current directory. Matches show up in the quickfix list. |
 +| **<hi #ff7f27>%%:%s/^/hello/g%%</hi>** | Добавить “hello” в начало каждой строки. |
 +| **<hi #ff7f27>%%:%s/$/Harry/g%%</hi>** | Добавить “Harry” в конец каждой строки. |
 +| **<hi #ff7f27>%%:%s/onward/forward/gi%%</hi>** | Заменить “onward” на “forward” с учетом регистра. |
 +| **<hi #ff7f27>%%:%s/ *$//g%%</hi>** | Убрать все пробелы. |
 +| **<hi #ff7f27>%%:g/string/d%%</hi>** | Удалить все строки, содержащие “string”. |
 +| **<hi #ff7f27>%%:v/string/d%%</hi>** | Удалить все строки, не содержащие “string”. |
 +| **<hi #ff7f27>%%:s/Bill/Steve/%%</hi>** | Заменить первое вхождение “Bill” на “Steve” в текущей строке. |
 +| **<hi #ff7f27>%%:s/Bill/Steve/g%%</hi>** | Заменить все вхождения “Bill” на “Steve” в текущей строке. |
 +| **<hi #ff7f27>%%:%s/\r//g%%</hi>** | Убрать символ возврата каретки (Такие тексты обычно приходят от windows-пользователей). |
 +| **<hi #ff7f27>%%:%s#>[^<]\+>##g%%</hi>** | Очистить текст от HTML-тегов. |
 +| **<hi #ff7f27>%%:%s/^\(.*\)\n\1$/\1/%%</hi>** | Удалить строки, повторяющиеся дважды. |
 +| **<hi #ff7f27>%%Ctrl+a%%</hi>** | Увеличить число под курсором на единицу. |
 +| **<hi #ff7f27>%%Ctrl+x%%</hi>** | Уменьшить число под курсором на единицу. |
 +| **<hi #ff7f27>%%ggVGg?%%</hi>** | Преобразовать текст в Rot13. |
 +| **<hi #ff7f27>%%:cn%%</hi>** | Move to next entry in the quickfix list. |
 +| **<hi #ff7f27>%%:cp%%</hi>** | Move to previous entry in the quickfix list. |
 +^  Вставка  ^^
 +| **%%i%%** | Перейти в режим вставки в текущем положении курсора. |
 +| **%%I%%** | Переместить курсор в начало строки и перейти в режим вставки. |
 +| **%%a%%** | Переместить курсор вправо на один символ и включить режим вставки. |
 +| **%%A%%** | Переместить курсор в конец строки и включить режим вставки. |
 +| **%%o%%** | Добавить пустую строку после текущей. |
 +| **%%O%%** | Добавить строку перед текущей. |
 +^  Удаление текста  ^^
 +| **%%x%%** | Удалить (вырезать) символ после курсора. |
 +| **%%dw%%** | Удалить (вырезать) текущее слово. |
 +| **%%dd%%** | Удалить (вырезать) текущую строку. |
 +| **%%d^%%** | Удалить все символы от текущей позиции до начала строки |
 +| **%%D%%** | Удалить (вырезать) начиная с положения курсора и до конца строки. |
 +| **%%d$%%** | ::: |
 +| **%%dt [char]%%** | Удалить (вырезать) начиная с положения курсора и до первого вхождения символа **[char]**. |
 +| **%%df[char]%%** | ::: | 
 +| **%%d)%%** | Удалить (вырезать) начиная с положения курсора и до конца предложения. |
 +| **%%d}%%** | Удалить (вырезать) начиная с положения курсора и до конца адзаца. |
 +| **%%di(%%** | Удалить (вырезать) текст внутри скобок. |
 +| **%%da<%%** | Удалить (вырезать) скобки **<>** вокруг. |
 +| **%%dit%%** | Удалить (вырезать) текст между открывающим и закрывающим тегами. |
 +
 +
 +<wrap hi>Не завершено!</wrap>
  
 ---- ----
Строка 50: Строка 149:
 ===== Источники ===== ===== Источники =====
  
-[[http://bencrowder.net/files/vim-fu/|Basic Vim Tips]]+  * [[http://bencrowder.net/files/vim-fu/|Basic Vim Tips]]
vim.1450923707.txt.gz · Последнее изменение: 2015/12/24 00:00 (внешнее изменение)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki