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 с использованием грамматики речи