Я использую vim для управления списком дел и хотел бы установить горячую клавишу, чтобы сделать следующее:
Найдите все строки, содержащие слово под курсором. Мир всегда представляет собой тег в формате #mytaghere.
Отсортируйте все эти строки в алфавитном порядке по другому тегу, содержащемуся в них. Снова тег в формате #mytaghere. Например, все строки с тегом #priorityA будут расположены в алфавитном порядке над всеми строками с тегом #priorityB и так далее.
Поместите все эти строки в окно быстрого исправления Vim.
Мне удалось получить ограниченную версию 1 и 3, поместив в мой файл .vimrc следующее:
map <f2> :vimgrep <cword> % <bar> copen <enter>
set iskeyword=@,48-57,_,192-255,95,35 "lets cword include #s and _s
Эта настройка дает сбой всякий раз, когда слово под курсором содержит #, и работает, когда символ является чем-то другим (например, _ ). Возникает ошибка: «E682: неверный шаблон поиска или разделитель», который кажется, что # мешает с вимгрепом.
Кроме того, я не могу понять, как сортировать строки по тегам приоритета.
Заранее благодарю за любую помощь. Я только изучаю Vim, и если бы я мог просто решить эту проблему, я бы смог использовать его для всей своей организации.
:vimgrep /<cword>/ % ...
. Кроме того, здесь может пригодиться:sort //
. - person glts   schedule 10.03.2013