Диапазоны в vim
      Диапазоны позволяют применять команду к группе строк в текущем буфере. Для большинства команд диапазоном по умолчанию является текущая строка, например:
:s/old/new/g заменяет все old на new в текущей строке
Диапазоны могут быть указаны с использованием номеров строк или спецсимволов,как это показано в примерах далее:
    :s/old/new/g заменяет все old на new в текущей строке
Диапазоны могут быть указаны с использованием номеров строк или спецсимволов,как это показано в примерах далее:
| Диапазон | Описание | Пример | 
|---|---|---|
| 21 | line 21 | :21s/old/new/g | 
| 1 | первая строка | :1s/old/new/g | 
| $ | последняя строка | :$s/old/new/g | 
| . | текущая строка | :.w single.txt | 
| % | все строки (аналог 1,$) | :%s/old/new/g | 
| 21,25 | строки с 21 по 25 включительно | :21,25s/old/new/g | 
| 21,$ | строки с 21 до последней | :21,$s/old/new/g | 
| .,$ | строки от текущей до последней | :.,$s/old/new/g | 
| .+1,$ | строки от следующей за текущей до последней | :.+1,$s/old/new/g | 
| .,.+5 | шесть строк (текущая + последующие 5) | :.,.+5s/old/new/g | 
| .,.5 | то же, что и предыдущее (.5 интерпретируется как .+5) | :.,.5s/old/new/g | 
Стоит обратить внимание на четвертый пример: в нем будет создан новый файл single.txt, содержащий только текущую строку. 
Если возникла задача произвести замену в 6 строках, начиная с текущей, то можно воспользоваться одним из методов, приведенных в примерах выше. Однако есть более простой способ: напечатать 6, а затем команду замещения без диапазона (напр. :s/old/new/g). Так как сначала было введено число, vim отобразит команду :.,.+5s/old/new/g. Чего и хотелось.
Для большинства команд диапазоном по умолчанию является ., однако для команд :g// и :w диапазоном по умолчанию является %.
Вольный перевод части этого.
    
0 Comments:
Post a Comment
<< Home