2015-12-15 2 views

ответ

3

Это не существует изначально.

Если вы хотите, вы можете создать новое сопоставление (например, связанное с <leader>a). Добавьте следующие строки в .vimrc и перезапустить:

nnoremap <leader>a vy/<C-R>"<CR> 


" vy : copy the character under the cursor 
"/: open search 
" <C-R>" : paste the character 
" <CR> : launch the search 

Затем каждый последующий поиск будет доступен через ключ п как обычно.

(лидер является УСПЕШНЫМ ключ \, но может быть переназначен с помощью команды: set mapleader =)

Это не является частью вопроса, но я хотел бы добавить, что для легкой навигации, это хорошая идея посмотреть на плагин easymotion и знать, что он существует.

+3

Я предпочел бы использовать отображение, как это: ': nnoremap уу/ = '\ V'.escape (GETREG ('" '),' \\/') 'Это будет экранировать специальные символы правильно. –

+0

На мой вопрос было много хороших ответов.Я увлекаюсь решениями вроде этого, так что это мой выбор. Спасибо, как за указание, что он не существует изначально и для вашего альтернативного решения. – gustafbstrom

+0

@gustafbstrom: дополнение Кристиана, вероятно, лучше в конце, но если вы ограничиваете себя, то ascii char должно быть достаточно хорошим. –

0

Используйте * для поиска вперед [count] '-го вхождения слова, ближайшего к курсору. Я сомневаюсь, что есть ключ для следующего персонажа, но вы можете /x, затем n, чтобы перейти к следующему x.

3

Я не в курсе встроенный эквивалент * для символа под курсором, но отображения ниже, должны покрыть ваши требования:

nnoremap <silent> <key> "zyl:normal! f^Rz^M 
nnoremap <silent> <key> "zyl:normal! F^Rz^M 
nnoremap <silent> <key> "zyl:normal! t^Rz^M 
nnoremap <silent> <key> "zyl:normal! T^Rz^M 

^R получается с <C-v><C-r> и ^M с <C-v><CR>.

+0

Не могли бы вы уточнить, что '' делает для меня, один 'Ctrl-r', кажется, работает хорошо –

+0

' ' используется, чтобы вставить символ'^r' в?. буфер – romainl

+0

с использованием keynotation как '' должен работать и сделать его более читаемым. –

3

Вы можете сделать:

yl:normal! f<Ctrl-R>"<CR>

Объяснение:

yl - дергать (копия) символ под курсором в " регистр
:normal - выполнить команды нормального режима, который следует
f<Ctrl-R>"<CR> - введите содержимое регистра " и запустите f{char}.

Конечно, вы захотите создать сопоставление для команды, чтобы сделать ее пригодной для использования.

2

Если у вас есть визуальное отображение на *, который ищет следующую вещь выбранной (как этот one), вы просто должны ввести v*

NB: существует несколько записей о SO о том, как расширить | начать | в визуальный режим и один на vim.wikia.