vim
Манипулирование текстом
Поиск…
замечания
Чтобы увеличивать и уменьшать такие вещи, как 11:59AM
, 3rd
и XVIII
, используйте плагин vim-speeddating
Преобразование текстового футляра
В нормальном режиме:
-
~
инвертирует случай символа под курсором, -
gu{motion}
уменьшает текст, охватываемый{motion}
, -
gU{motion}
верхняя часть текста, охватываемого{motion}
Пример ( ^
обозначает позицию курсора):
Lorem ipsum dolor sit amet.
^
Lorem ipSum dolor sit amet. ~
Lorem IPSUM DOLOR sit amet. gU2w
Lorem IPsum DOLOR sit amet. gue
В визуальном режиме:
-
~
инвертирует случай выбранного текста, -
u
уменьшает выделение текста, -
U
отменяет выбранный текст
Пример ( ^^^
обозначает визуальный выбор):
Lorem ipsum dolor sit amet.
^^^^^^^^^^^^^
Lorem ipSUM DOLOR SIT amet. ~
Lorem ipSUM DOLOR SIT amet. U
Lorem ipsum dolor sit amet. u
Увеличение и уменьшение числа и алфавитных символов
В обычном режиме мы можем увеличить ближайшее число на линии в курсе или после курсора с помощью <Ca>
и уменьшить его с помощью <Cx>
. В следующих примерах позиция курсора обозначается символом ^
.
Увеличение и уменьшение номеров
for i in range(11):
^
<Cx>
уменьшает число:
for i in range(10):
^
10<Ca>
увеличивает его на 10
:
for i in range(20):
^
Увеличение и уменьшение алфавитных символов
Чтобы приращение и декремент также работали с буквами, используйте команду ex :set nrformats+=alpha
или добавьте set nrformats+=alpha
в ваш .vimrc
.
Пример приращения:
AAD
^
<Ca>
увеличивает его до B
:
ABD
^
Пример сокращения:
ABD
^
<Cx>
уменьшает D
до C
:
ABC
^
Увеличение и уменьшение чисел при включенном алфавитном приращении / уменьшении
Обратите внимание, что включение приращения / уменьшения для работы с алфавитными символами означает, что вы должны быть осторожны, чтобы не изменять их, когда вы действительно хотите просто изменить числа. Вы можете либо отключить алфавитное приращение / декремент, используя команду ex :set nrformats-=alpha
или вы можете просто знать об этом и не забудьте переместиться на номер до приращения или уменьшения. Вот « for i in range(11):
« пример сверху переделан для работы, когда установлен алфавитный приращение / декремент:
Предположим, вы хотите уменьшить от 11
до 10
а алфавитный приращение / декремент активен.
for i in range(11):
^
Так как алфавитный приращение / декремент активен, чтобы избежать изменения символа под курсором, сначала двигайтесь вперед к первому 1
используя команду f1
нормального режима движения (это нижний регистр f
за которым следует номер 1
, чтобы не путать с функциональной клавишей ):
for i in range(11):
^
Теперь, поскольку курсор находится на номере, вы можете уменьшить его с помощью <Cx>
. При уменьшении курсор переместится на последнюю цифру цифры:
for i in range(10):
^
Код форматирования
В нормальном режиме:
gg
go to top
=
тогда G
Использование «глаголов» и «существительных» для редактирования текста
Один из способов думать о командах, которые должны выполняться, редактировать текст определенным образом, - это целые предложения.
Команда - это действие, выполняемое над объектом. Поэтому он имеет глагол:
:normal i " insert
:normal a " append
:normal c " overwrite
:normal y " yank (copy)
:normal d " delete
Некоторые из этих слов работают с объектом типа d
, c
, y
. Такими объектами могут быть слова, строки, предложения, абзаца, тега . Их можно использовать в комбинации:
:normal dw " deletes the text from the position of the cursor to the end of the next word
:normal cw " deletes the text from the cursor to the end of the next word and
" enters insert mode
Также можно использовать модификатор, чтобы точно указать, где должно выполняться действие:
:normal diw " delete inside word. I.e. delete the word in which is the cursor.
:normal ciw " removes the word, the cursor points at and enters insert mode
:normal ci" " removes everything between the opening and closing quotes and
" enters insert mode
:normal cap " change the current paragraph
:normal ct8 " remove everything until the next number 8 and enter insert mode
:normal cf8 " like above but remove also the number
:normal c/goal " remove everything until the word 'goal' and enter insert mode
:normal ci{ " change everything inside the curly braces
Больше ресурсов:
Научитесь говорить vim - глаголы, существительные и модификаторы!
Изучение Vim в 2014 году: Vim как язык
Редактирование VimSpeak с использованием грамматики речи