Скопіюйте кольоровий вихід з терміналу Mac OS X


37

Я бачу приємно кольоровий вихід у своєму терміналі.

Термінал має команду "Експорт тексту як", але він зберігає файл з текстовим текстом без кольорів. Те саме з копією та вставкою.

Чи знаєте ви спосіб зберегти вихідний термінал, включаючи кольори?


Якщо це для вас важливо, повідомте Apple про це через apple.com/feedback/macosx.html (область відгуків про програми / утиліти) або developer.apple.com/bugreporter (потрібна реєстрація на безкоштовний обліковий запис розробника).
Кріс Пейдж

Тепер у терміналі є список опцій для основної команди копіювання Cmd-c Edit -> Copy Special, в якій ви можете перемикатися між звичайним текстом та опціями розширеного тексту.
Джошуа Голдберг

Відповіді:


12

Здається, що якщо ви виберете текст у Терміналі, потім скопіюйте його, а потім вставте його у програму, яка підтримує розширений текст (наприклад, Mail, TextEdit, Word), тоді колір тексту збережеться.

Здається, що в Mail та TextEdit також колір тексту на терміналі також вставляється; Словом, це не так. Я не впевнений, як пояснити цю невідповідність.


Яку версію ОС X ви використовуєте? 10.7.4 це не працює.
Wildcard

1
@Wildcard Це працює для мене 10.11.3. Я не пам'ятаю, яку версію я використовував, коли писав це
Макс Нанасі

1
У мене виникли проблеми з використанням звичайної копії для вставки в пошту - кольори втратили - але це спрацьовувало, коли я використовував Правка -> Копіювати спеціальне -> Копіювати без фонового кольору (якому я все одно віддав перевагу). Він навіть працював із опцією перетягування, щоб створити прямокутний вибір. (10.12.6)
Джошуа Голдберг

31

Дивовижно, як розміщення запитання підвищує творчість.

Я можу відкрити діалогове вікно «Друк» і зберегти його в PDF, а потім скопіювати кольоровий вихід із PDF.

Також у додатку терміналу iTerm2 є ярлик, CMDOPTCякий копіюється з форматуванням.


1
Це рішення ідеально підходить для підтримки кольорового виводу при створенні термінальних прикладів у презентації Keynote. Дякую!
beausmith

1
@Wojtek: Ласкаво просимо, хоч це і коштувало мені трохи репутації, коли ти не
прийняв

+1 для ярлика iTerm2! Чому це навіть не в менї ???
Пер Лундберг

1
Це ..., безумовно, найкорисніша знахідка з давніх-давен !!!
haavee

Якщо ви ⌘ + ⌥ + Cз iTerm2 відкрийте Keynote та вставте його, він імпортуватиме його як дані таблиці. Я не зовсім зрозумів, як відформатувати дані корисним способом, але в цьому є потенціал.
Кевін Саттл

8

ви можете спробувати вставити кольоровий вихід у буфер обміну так:

% command_which_produces_colors | pbcopy -prefer rtf

який вміщує деякі rtf (можливо, кольорові та формовані) речі в картонні макоси. Ви можете використовувати будь-який інший, який розуміє багатийтекст, щоб отримати доступ до буфера обміну.

це, очевидно, не те саме, що "виберіть його мишкою", але, можливо, варто зняти.


Це не працює. Перша проблема полягає в тому, що command_which_produces_colors помічає, що він не друкується на консоль, тому пропускає кольори. Я можу змусити деякі з них друкувати кольори в будь-якому випадку, тому наступна команда виводить кольори в термінал: CLICOLOR = 1 CLICOLOR_FORCE = 1 ls -alh | tee Але pbcopy копії немає кольорів: CLICOLOR = 1 CLICOLOR_FORCE = 1 ls -alh | pbcopy -привітання rtf +1 для команд pbcopy / pbpaste. Це чудово для копіювання довгих файлів у буфер обміну: "pbcopy <longfile.txt"
Войтек Крушевський

1
Коли я намагаюся це зробити, якщо command_which_produces_colorsвидає ANSI-коди, то pbcopy -Prefer rtfпросто копіює текст, включаючи коди ANSI (наприклад, він копіює [0;34mTextсиній колір Text). Схоже, що перетворення ANSI-кодів у RTF може знадобитися як проміжний крок.
Макс Нанасі

8

На основі @ akira's відповідь , я придумав таке:

  1. Завантажте вихідний пакет для ansifilter
  2. Дотримуйтесь вказівок INSTALL, щоб створити та встановити ансіфільтр
  3. Біжи <command that produces colors> | ansifilter --rtf | pbcopy -Prefer rtf
    • Вам може знадобитися передати аргументи , <command that produces colors>щоб змусити його виробляти кольору , навіть якщо її вихід передається, наприклад , ls --color=alwaysзамість того , щоб простоls
  4. Потім можна вставити в програму, яка підтримує насичений текст (наприклад, Mail, TextEdit, Word)

2

У OS X є кілька комбінацій клавіш (гарячих клавіш) для копіювання екрана. Вони збережуть ваші знімки екрана у вигляді файлів jpg на робочому столі. Ось їх список:

Cmd-Shift-3                             Take snapshot of the whole screen
Cmd-Shift-4                             Take snapshot of the selected area
Cmd-Shift-4-Spacebar                    Take picture of a window
Escape                                  Cancel
Hold Spacebar after Drawing the region  Move the selected area
Hold Option                             Resize selected area
Hold Shift                              Resize selected area horizontally 
                                        or vertically 

Також є програма "Захопити", що знаходиться в програмі | Папка утиліт, яка виконує ту саму роботу, плюс має кілька додаткових функцій, таких як затримка.

Оновлення

У Snow Leopard (10.6.8) формат скріншоту за замовчуванням - png не jpg, хоча його можна змінити на будь-який з багатьох інших - включаючи pdf - за допомогою безкоштовної сторонньої утиліти налаштувань налаштувань налаштувань TinkerTool .


9
.jpg - це не такий приємний, як "чистий" текст.
акіра

3
+1 для менш відомих ярликів для області вибору.
Даніель Бек

@akira: ОП бажає кольорів - те, що ви не можете зробити у простому текстовому форматі, якщо ви не порахуєте вбудовані послідовності виходу ANSI - і їм знадобиться щось для їх інтерпретації, як емулятор терміналу, але потім ви повернетесь до первісна проблема.
мартіно

2
@martineau: залежно від можливостей буфера обміну кольори зберігаються за допомогою розмітки (наприклад, Richtext або html) при копіюванні з браузера або з слова або з xyz. і, залежно від програми, яка отримує такі розмічені фрагменти, вони можуть показувати кольори ТА текст цілком нормально. термінал отримує послідовності виходу ascii, правильно, але тільки тому, що він отримує послідовності виходу ascii, це не означає, що він повинен: a) зберігати їх (наприклад, думаю, html-термінал) b) він може покращити вибраний текст багатьма способами (ви можете розмістіть одразу різні типи мім у хорошому буфері обміну).
акіра

3
@akira JPG - це дійсно поганий вибір формату зображення для чогось схожого на скріншот. Великі площі одноколірних і різких ліній одного пікселя тощо. На щастя, Apple не такий дурний, і файл, який він зберігає, - це PNG. lbrandy.com/blog/2008/10/my-first-and-last-webcomic
rjmunro

0

Я це роблю через чудовий додаток Textmate 2.

  1. Копіювати з графічного вікна R
  2. Вставте документ у порожній текст
  3. Змініть тип документа на консоль R або R, як бажано
  4. Використовуйте tmbundle зі стилем копіювання (shift-cmd-c)
  5. Вставте у вікно складання пошти програми

Треба сказати, що було б добре, якби shift-cmd-c працював безпосередньо у вікні консолі R.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.