Интересно, есть ли какая-либо команда, похожая на :TOhtml
, но только для простого текста и представляющая весь дисплей Vim.
Например, с учетом отображения:
Это создаст следующий текстовый файл:
1 B 1 a
~ ~
~ ~
~ ~
~ ~
~ ~
~ ~
~ ~
N <me] [+] 100% 1:1 ~
1 a ~
~ ~
~ ~
~ ~
~ ~
~ ~
~ ~
N <me] [+] 100% 1:1 N <e] [+] 100% 1:1
(это было сделано с помощью копирования / вставки из терминала и ручного форматирования текста)
Я не нашел никакой возможности сделать это, я думаю, что нет ни одного.
Как, если возможно, Vim может достичь этого?
vi
, но для терминала - который, по общему признанию, не сильно отличается от использования мыши!gnome-terminal
Можно «выбрать все», но я не проверил, нужно ли переформатировать после вставки. С другой стороны, я хотел бы что-то, что сбрасывает все (прокручиваемое) окно в файл!Ответы:
Да, есть способ сделать это! Вы можете использовать
screenchar()
функцию. От:help screenchar()
Чтобы использовать это в сценарии, вы можете сделать следующее:
Этот прекрасный фрагмент vimscript был написан Кристианом Брабандтом , так что, если он окажется полезным, отправьте ему голос.
Вот пример этого в действии. Когда я запустил эту функцию в моем окне vim:
Я получил этот текст:
источник