vim: добавить кликабельную метку - PullRequest
7 голосов
/ 07 октября 2011

Я знаю, что в emacs можно вставить какой-то «кликабельный текст».Т.е. вы можете вставить текст, который, когда пользователь нажимает на него, открывает другой файл.

Есть ли что-то подобное для vim?

Ответы [ 3 ]

4 голосов
/ 07 октября 2011

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

Например:

function! CustomLoad()
    let word = expand("<cword>")
    let path = "/path/to/file/to/be/opened"
    if ( word == "special_keyword" && filereadable(path) )
        sil exe "split " . path
    endif
endfunction

И отобразите это, используя:

nnoremap <2-LeftMouse> :call CustomLoad()<CR>

Таким образом, двойной щелчок (в обычном режиме) на слове special_keyword откроет файл /path/to/file/to/be/opened, если он доступен для чтения. Вы можете добавить несколько вариантов для разных ключевых слов или выполнить некоторую текстовую обработку ключевого слова, чтобы при необходимости создать имя файла. (Обратите внимание, что условие filereadable не является обязательным, но, вероятно, это хорошая идея.)

Надеюсь, это поможет.

4 голосов
/ 07 октября 2011

Возможно, но зависит от типа файла.Лучшим примером будет собственная справочная система vim, которая является ничем иным, как немодифицируемым буфером с конкретными сопоставлениями.

См. vimwiki и vimorgmode для примеров таких ссылок.

1 голос
/ 08 октября 2011

Другое простое решение - написать имя файла и использовать gf для перехода к файлу, Ctrl+w,f, чтобы открыть файл в разделенном окне, или Ctrl+w,f,g, чтобы открыть его на вкладке. Обратите внимание, что файл должен уже существовать. См. эту запись в vim wikia для получения некоторых других советов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...