HPUNIX Сайт о ОС и не только!

Моя шпаргалка по работе в Vim

25 января 2011 - unix
Моя шпаргалка по работе в Vim

Самое главное — побороть боязнь белоснежного листа. Я всегда говорю это для себя, когда необходимо начать работу над кое-чем и не знаешь, как подступиться. Так что я решил не разламывать голову над тем, о чем будет 1-ая запись в этом блоге, а просто выложить маленькую шпаргалку по редактору текста Vim.

Шпаргалка эта уже не 1-ый месяц хранится у меня в ~/txt/vim.txt. За этот период времени я успел составить достаточно большой справочник по главным командам Vim. При желании вы сможете начать свое обучение работе с Vim с этого поста.

Так вот она:

Файл опции: ~/.vimrc
Можно редактировать файлы через сеть, к примеру
:e <scp|ftp|ftps>://user@host/path/to/the/file.txt
:Ex либо :e ./ - файловый менеджер

Famous boxer Kostya Tszu in Grand Havana Room, Moscow.

hjkl                      перемещение в различные стороны
i                         режим вставки
I                         добавление в начало строчки
a                         режим прибавления
A                         добавление в конец строчки
o                         добавить строчку сходу за текущей
O                         добавить строчку перед текущей
R                         писать поверх имеющегося текста
u, :u[ndo]                отмена предшествующего деяния (undo)
CTR-R, :red[o]            отмена отмены предшествующего деяния (redo)
dd                        вырезать (удалить) строчку
cc                        удалить и начать редактирование
yy                        копировать строчку
p                         воткнуть из буфера обмена
<n>d                      удалить n+1 строчку
<n>y                      скопировать n+1 строчку
ESC                       перейти в режим просмотра
DEL                       удалить последующий знак
:<n>                      перейти на строчку #n
%                         перейти к парной скобке
:e <fname>                редактировать файл
:w [fname]                записать конфигурации
:wa                       сохранить конфигурации во всех файлах
:q                        выйти из редактора
:q!                       выйти из редактора, не сохраняя конфигурации
:color <name>             выбор цветовой схемы. цветвые схемы:
                            /usr/local/share/vim/vim72/colors/*.vim
:pwd                      текущий каталог
:cd [path]                перейти в другой каталог
:!<cmd>                   выполнить команду
CTR+p либо CTR+n           автоматическое дополнение текста
                            (в режиме редактирования)
CTR+r,=,<expr>            воткнуть выражение, к примеру 5*2 - 3
                            (в режиме редактирования)

== Подсветка синтаксиса ==
:syntax on                включить подсветку
:syntax off               выключить подсветку (по дефлоту)

== Перенос строк ==
:set wrap                 разрешить word wrap (по дефлоту)
:set nowrap               запретить word wrap

== Печать ==
:ha[rdcopy]                   распечатать документ
:set printoptions=duplex:off  отключить двухстороннюю печать
Моя шпаргалка по работе в Vim

== Сворачивание ==
zc                        свернуть блок
zo                        развернуть блок
zM                        закрыть все блоки
zR                        открыть все блоки
za                        инвертирование
zf                        см :set foldmethod=manual
:set foldenable           включить свoрачивание
Моя шпаргалка по работе в Vim
:set foldmethod=syntax    сворачивание на базе синтаксиса
:set foldmethod=indent    сворачивание на базе отступов
:set foldmethod=manual    выделяем участок при помощи v и говорим zf
:set foldmethod=marker    сворачивание на базе маркеров в тексте
:set foldmarker=bigin,end задаем маркеры начала и конца блока

== Маркеры ==
ma                        установить локальный маркер a
mB                        установить глобальный маркер B
`c                        перейти к локальному маркеру c
`0                        возвратиться на позицию, на которой окончили
                            работу при закрытии vim
:marks                    просмотр маркеров

== Регистры ==
"ayy                      скопировать строчку в регистр a
"bdd                      вырезать строчку и поместить в регистр b
"С2d                      вырезать три строчки и дописать в конец
                            регистра C
:reg [name1][name2][...]  просмотреть содержимое регистров

== Выделение ==
Моя шпаргалка по работе в Vim
v + hjkl                  выделение текста
SHIFT + v                 выделить строчку
CTR + v                   выделение прямоугольника
p                         воткнуть
y                         копировать
d                         удалить
gu                        к нижнему регистру
gU                        к верхнему регистру

== Отступы ==
[#]>                      двинуть выделенное на право
[#]<                      двинуть выделенное на лево
[#]>>                     двинуть строчку на право
[#]<<                     двинуть строчку на лево
set tabstop=#             для табуляции употребляется # пробелов
set shiftwidth=#          в командах отступа употребляется # пробелов
set [no]expandtab         подменять ли табуляцию на соответственное
                            число пробелов

== Поиск и подмена в файле ==
/<выражение>             поиск выражения в файле
n                        последующее совпадение
N                        предшествующее совпадение
Моя шпаргалка по работе в Vim
:%s/foo/bar/gi           подмена строк, см http://eax.me/regular-expr/

== Нумерация строк ==
:set number              включить нумерацию строк
:set nonumber            отключить нумерацию строк

Моя шпаргалка по работе в Vim
== Работа с Tab'ами ==
:tabnew [fname]          сделать tab
:tabs                    вывести перечень табов
:tabn                    последующий таб
:tabp                    предшествующий таб
<n>gt                    перейти на таб #n
gt                       последующий таб
gT                       предшествующий таб

== Работа с окнами ==
:split                   горизонтальное разбиение
:vsplit                  вертикальное разбиение
Ctr+W, потом
  с                      закрыть окно
  =                      установить равный размер окон
  hjkl либо стрелочки     перемещение меж окнами

== Проверка орфографии ==
    mkdir -p ~/.vim/spell
    cd ~/.vim/spell
    wget http://ftp.vim.org/vim/runtime/spell/ru.koi8-r.sug
    wget http://ftp.vim.org/vim/runtime/spell/ru.koi8-r.spl
    wget http://ftp.vim.org/vim/runtime/spell/en.ascii.sug
    wget http://ftp.vim.org/vim/runtime/spell/en.ascii.spl

setlocal spell spelllang=ru,en   включить проверку орфографии
set spell!                       вкл/выкл проверку во время работы
]s                               последующее слово с ошибкой
[s                               предшествующее слово с ошибкой
zg                               good word
zw                               wrong word
zG                               ignore word

== Работа с шифровкой ==
e ++enc=<имя шифровки>         Редактирование файла в ??? шифровке
w ++enc=<имя шифровки>         Сохранить файл в новейшей шифровке
set fileencodings=utf-8,koi8-r  Перечень автоматом определяемых
                                  шифровок в порядке убывания
                                  приоритета

== Другое ==
:set [no]wildmenu          При авто-дополнении в командной строке над
                             ней выводятся вероятные варианты
:set list                  Показывать табуляцию и переводы строк
q:                         История команд
.                          Повторение последней команды

На этом пока все. Думаю, я буду временами редактировать эту шпаргалку, так что смотрите за PS в конце последующих постов.

Дополнение: См также заметку Используем Vim в качестве IDE для Erlang.

Похожие статьи

  • Шпаргалка по работе с DBIxClass

    Отлично обмысленный ORM может значительно упростить жизнь программеру. Но если это так, то откуда берутся клики, что «ORM — это антипаттерн»? Думается, дело в том, что не все ORM идиентично неплохи...

  • Мой 1-ый опыт работы с Subversion

    Я издавна знал, что воспользоваться системой контроля версий — верно и полезно. Но все было как-то неохота. Ну вы в курсе, как это бывает. И вот, чуть раньше, лень удалось побороть.

    Выбор...

  • Моя шпаргалка по работе с Git

    Чуть раньше я открыл себе Git. И понимаете, я проникся. Другими словами, по-настоящему проникся.

    Сейчас я использую Git не только лишь на работе (где я с ним, фактически, познакомился), да и для сво...

  • Toshiba Portege Z930-DKS, мой 1-ый ультрабук

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

  • Мой 1-ый опыт использования MongoDB

    Большая часть программистов (не считая тех, кто вообщем не смотрит за новостями) наверное что-то слышали о MongoDB, но никогда не воспользовалось этой СУБД. Давайте же выясним, что умеет MongoDB, а что не у...

Теги:
Рейтинг: +19 Голосов: 83 1209 просмотров
Комментарии (0)

Нет комментариев. Ваш будет первым!

Найти на сайте: параметры поиска

Windows 7

Среда Windows 7 на первых порах кажется весьма непривычной для многих.

Windows 8

Если резюмировать все выступления Microsoft на конференции Build 2013.

Windows XP

Если Windows не может корректно завершить работу, в большинстве случаев это

Windows Vista

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