Vim как платформа для создания заметок: переход к тегам в вертикально разделенных окнах - PullRequest
19 голосов
/ 16 февраля 2010

В прошлом я использовал Vim в качестве платформы для создания заметок, создав файл index.txt со списком тегов, используя формат файла справки Vim, а затем создал группу текстовых файлов, которые имеют обычную ссылку *Help_Tag* синтаксис, так что использование CTRL-] для тега в файле index.txt приведет к переходу к соответствующему тегу в произвольном текстовом файле заметок. Вам нужно сделать :helptags dir, чтобы сгенерировать теги для каталога (где dir - это путь к каталогу заметок).

alt text

То, что я ищу, - это простой способ оказаться в левом разделенном окне и открыть тег под курсором в правом разделенном окне. Что-то вроде CTRL-W v, но для прыжков с тегами и использования уже открытого вертикального разделенного окна.

Проблема в том, что если вы сделаете CTRL-], он откроет тег на левой панели, а если вы сделаете CTRL-W CTRL-], то создаст горизонтально разделенное окно на левой панели.

Должен быть способ сделать это, что я пропускаю.

Ответы [ 4 ]

2 голосов
/ 16 февраля 2010
1 голос
/ 16 февраля 2010

Попробуйте это сопоставление:

nmap <buffer> <C-]> :let word=expand("<cword>")<CR><C-W>l:exe "tag" word<CR>

Сохраняет слово под курсором в переменной word, затем меняет окно и переходит к тегу с таким именем. Бит <buffer> делает это отображение применимым только к текущему буферу.

1 голос
/ 16 февраля 2010

Вероятно, easiset будет локальным отображением автокоманды

au FileType index.txt nnoremap <buffer> <cr> 
    \ :vert belowright split 
    \ |tag <c-r><c-w>
    \ |vert resize 130<cr>

Примечание: я использую return

0 голосов
/ 05 января 2018

Если вы используете заголовки в качестве заголовков заметок, вы можете использовать Vim VOoM , который автоматически выделяется на основе синтаксиса и позволяет легко перемещаться по стандартным клавишам навигации.

Vim VOoM также работает с маркерами фолда, как на скриншоте примера.

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