2016-02-22 3 views
1

Используя шаблоны поиска vim, как бы установить vim для перемещения курсора на символ, который находится в двух пробелах слева от другого указанного символа? Например, символ два пробела перед знаком «=».Vim: переместите курсор на символ в два пробела перед другим

+0

't = h'? https://stackoverflow.com/questions/12495442/what-do-the-f-and-t-commands-do-in-vim – Hatchet

+0

Спасибо, Hatchet, вы знаете, есть ли способ сделать то, что я прошу с помощью функция/search в vim? Это тот ответ, на который я надеялся. – Smashgen

+0

Не знаю, что я знаю, кроме 'hh' или' 2h' после поиска. Приветствия. – Hatchet

ответ

1

, если вы находитесь в нормальном режиме вы можете использовать этот шаблон:

/..=/ 

. относится к любому персонажу

Имейте в виду, что приведенные ниже случаи не включены в шаблон, так как символов недостаточно до «=».

| =

|. =

с . (точка) Я отношусь к любому персонажу и с | предел стартовой линии.

2

Вы можете передать коррекции для шаблонов поиска

/{pattern}/{offset} 

Для этого случая (два символа перед =) вы хотели бы

/=/b-2 

совпадают ли с = знаками, а затем поместить курсор два до начала матча (/=/s-2 s для запуска также будет работать)

Возьмите loo k при :h search-offset (скопировано ниже)

 
             search-offset {offset} 
These commands search for the specified pattern. With "/" and "?" an 
additional offset may be given. There are two types of offsets: line offsets 
and character offsets. {the character offsets are not in Vi} 

The offset gives the cursor position relative to the found match: 
    [num]  [num] lines downwards, in column 1 
    +[num]  [num] lines downwards, in column 1 
    -[num]  [num] lines upwards, in column 1 
    e[+num]  [num] characters to the right of the end of the match 
    e[-num]  [num] characters to the left of the end of the match 
    s[+num]  [num] characters to the right of the start of the match 
    s[-num]  [num] characters to the left of the start of the match 
    b[+num]  [num] identical to s[+num] above (mnemonic: begin) 
    b[-num]  [num] identical to s[-num] above (mnemonic: begin) 
    ;{pattern} perform another search, see //; 

If a '-' or '+' is given but [num] is omitted, a count of one will be used. 
When including an offset with 'e', the search becomes inclusive (the 
character the cursor lands on is included in operations). 
+0

Если это имеет значение, эту информацию легко найти через страницы справки. ': help /' приносит вам помощь для поиска. Во втором абзаце говорится, что вы можете передать смещение. Если вы затем щелкните '' на символах '{offset}', это приведет вас к ': help search-offset' – FDinoff

Смежные вопросы