1

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

То, что я хочу сделать, это найти слово в одной панели, а затем искать это слово в другой панели. Очень похоже на наведение курсора на слово в командном режиме и нажатие *, за исключением того, что текущая панель не должна двигаться, а другая должна.

Есть ли способ сделать это в VIM?

Или кто-нибудь может предложить другой способ работы, который облегчит это?

2 ответа2

2

Эта страница содержит фрагмент, похожий на то, что вы ищете. Он берет текущее слово (как будто вы нажали *), переключается на другое окно и ищет его с помощью n:

:nnoremap <Leader>w :let @/=expand("<cword>")<Bar>wincmd w<Bar>normal n<CR>

Вы можете изменить часть <Leader>w на любую понравившуюся вам комбинацию (даже на что-то вроде * , тем самым заменив ее функциональность по умолчанию).

0

Я нашел вкладки Vim более удобными, чем разделенные окна. Эти вкладки доступны как в консольной версии, так и в графическом интерфейсе. Вам может потребоваться более минимальная сборка Vim для этой функции (в частности, должна быть включена опция компиляции "+windows").

Используйте :tabnew или :tabnew <file> чтобы открыть новую вкладку. Используйте :tabnext (ярлык: gt) или :tabprev (ярлык: gT), чтобы перейти к следующей / предыдущей вкладке. Использование :close чтобы закрыть окно текущей вкладки.

См :help tabpage.txt для ознакомления.

Что касается вопроса о том, как выполнить команду поиска на предыдущей вкладке и переместить последнюю, я не уверен - ответ Leader_Fire может сработать, но может потребоваться настройка.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .