2016-05-31 2 views
1

Я знаю, что есть fx и Fx, чтобы переместить курсор на следующее/предыдущее x в одной строке. Но эта команда находится в одной строке.vim переместить курсор на строку, которую первый символ мне нужен?

Теперь я хочу переместить курсор на следующую строку, которая имеет первый символ, x, есть ли какая-либо команда, которую может предложить VIM-поставка?

+0

В одном из ваших комментариев вы указали, что следующее появление может быть где угодно. Но в вашем вопросе говорится, что вы хотите посмотреть в следующей строке. Какой из них правильный? – SibiCoder

ответ

5

Попробуйте использовать команду поиска, введя /^\s*x в нормальном режиме

/ начинает поиск вперед
^ стоит для начала линии
\s* стендов для нет или какого-то белого пространства
x Подставки для x, в характер, который вы хотите найти

Возможно, вам захочется прочитать несколько руководств по vim; Например:

:help/
:help usr_27 
:help pattern 
+0

Да, это способ сделать это. Но я хочу знать, есть ли простая команда goto, например 'fx' и' Fx' – elsonwx

+0

Вы пробовали [vim-easymotion] (https://github.com/easymotion/vim -easymotion)? – user1577263

+0

@ user1577263 'Я хочу переместить курсор на следующую строку, в которой первый символ равен х. Ваш ответ хороший. easymotion не для этого, «следующая строка» может быть строкой 40918, а теперь вы на линии 1. вы знаете, что я имел в виду? – Kent

0

Чтобы найти символ в следующей/предыдущей строке Вы можете использовать j0fx искать первое вхождение х в следующей строке. Вы можете использовать k0fx для поиска первого появления x в предыдущей строке.

Объяснение:

j - down arrow/move one line down 
    k - up arrow/move one line up 
    0 - move to first character in the current line 
    fx - find the first occurrence of x in current line. 

Чтобы найти следующее/предыдущее вхождение персонажа в любой строке

 /x 
    where x is the character 

Затем нажмите n, чтобы перейти к следующему появлению этого. Нажмите N, чтобы перейти к предыдущему его возникновению.

+0

, вы можете неправильно понять меня, я хочу переместить следующую строку, это строка, в которой первым символом является 'x', а не следующая строка (linenumber + 1). – elsonwx

+0

. Тогда вам может потребоваться перефразировать вопрос. Я тоже изменю свой ответ. Но почему бы вам не использовать '/ pattern', а затем нажать' n' или 'N', чтобы вернуться и вперед? Или у вас есть какая-либо специальная цель или другой тестовый пример? – SibiCoder

+0

haha, я просто хочу найти короткую команду перемещения, чтобы достичь этого – elsonwx

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