Поиск…


замечания

Чтобы увеличивать и уменьшать такие вещи, как 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 с использованием грамматики речи



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow