Выберите символы удержанием ключа в Linux (как в OSX)

Параметры командной строки и входные данные программы нисколько не эквивалентны. Они не перемещаются через тот же маршрут, и они интерпретируются по-другому.

Команда cut интерпретирует аргументы, который запускается с - как опции и другие как входные имена файлов (как много других команд).

Аргументы передаются программе через execve системный вызов. Среда передается рядом с ним. Программа может считать свои аргументы от определенного местоположения в памяти; языки программирования обычно обеспечивают переменную или функцию для доступа к аргументам, такой как argv параметр к main в C.

Стандартный вход является дескриптором файла 0. Это - условно, предварительно открытый файл, из которого могут читать программы. При выполнении команды на терминале, не перенаправляя его вход стандартный вход прибывает из терминала (это - то, что Вы вводите). Когда Вы перенаправляете вход из файла с mycommand , стандартный вход подключен к тому файлу. Когда Вы выполняете команду в конвейере command1 | command2, стандартный вход command2 подключен к стандартному входу command2.

18
25.02.2019, 15:40
2 ответа

Возможно, вы захотите включить ваш Составьте ключ . Это позволяет создавать символы, используя символы, которые «выглядят как» части композита. Я использую ALT GR в качестве моего композиционного ключа, но обычно можно выбрать любой соответствующую неиспользуемый ключ.

Например, составляют o / / , создаст Ø, составляют A ` даст À и так дано.

Это очень сильно отличается от использования мертвых клавиш , где акцентные символы не отображаются как стандартные символы, если они не попадают в два раза; Обычно это чрезвычайно расстраивает программистов.

Составная ключевая функциональность была в течение длительного времени (я считаю, что он появился на «реальных» солнцезащитных терминалах). Это встроено для большинства (многие? Все?) GUI на Linux на основе систем. Я знаю, а также использую соответствующее программное обеспечение для Windows.

0
27.01.2020, 19:46

Боюсь, я не знаю ни одного приложения, которое бы это делало. Для его разработки, вероятно, потребуется создать собственный метод ввода (для замены XIM ).

Однако я могу предложить вам альтернативу, которая может оказаться для вас гораздо более полезной, чем простое изменение раскладки клавиш. X (через XIM ) в течение некоторого времени предлагал утилиту под названием XCompose. XCompose позволяет вам вводить «экзотические» символы, нажимая ведущую клавишу (которую вы назначаете), за которой следуют настраиваемые последовательности клавиш. Например, Compose e ' возвращает символ é . Последовательности по умолчанию, по большей части, довольно интуитивно понятны, но самая мощная часть XCompose заключается в том, что вы можете добавлять (или изменять) последовательности, чтобы теоретически генерировать любой символ Юникода, который вы сочтете нужным.

Настройка последовательностей выполняется с помощью текстовых файлов (которые вы либо помещаете в $ HOME /.XCompose или то, что вы разместили в другом месте, но имеют исходный код $ HOME / .XCompose (вы можете посмотреть всю мою настройку здесь , если вам интересно; посмотрите конкретно на XCompose и файлы в папке составляют / ). Ниже приведен фрагмент моей личной $ HOME / .XCompose :

include "%L"     # This enables all the default bindings
include "/home/halosghost/.compose/greek.compose" # some greek characters

А теперь фрагмент greek.compose , включенный выше (имейте в виду, что они определенно не самые эргономичные или эффективные последовательности, которые вы могли бы использовать, они всего лишь пример):

# Lower case
<Multi_key> <a> <l> <p> <h> <a>     : "α"   U03B1   # Alpha
<Multi_key> <b> <e> <t> <a>         : "β"   U03B2   # Beta
<Multi_key> <d> <e> <l> <t> <a>     : "δ"   U03B4   # Delta
<Multi_key> <g> <a> <m> <m> <a>     : "γ"   U03B3   # Gamma
<Multi_key> <l> <a> <m> <b> <d> <a> : "λ"   U03BB   # Lambda
<Multi_key> <p> <i>                 : "π"   U03C0   # Pi
<Multi_key> <m> <u>                 : "µ"   U03BC   # Mu

Вы видите, что формат этих файлов на самом деле очень прост (хотя есть несколько случаев, когда вы используете не сам символ, а скорее его имя (например, <период> вместо <.> )).

Теперь я могу набрать Caps m u , чтобы сгенерировать µ (обратите внимание, что мой ключ Compose установлен на Caps ]).

Вы не упомянули, какой дистрибутив вы используете (или собираетесь использовать), но XCompose поставляется с xorg, поэтому все, что вам нужно сделать, это настроить его. Связанное чтение для настройки Compose с XIM можно найти здесь , но вы также должны отметить, что XIM в наши дни уже устарели, и, возможно, это не так. лучший вариант. Кроме того, существует по крайней мере еще один IME, поддерживающий последовательности Compose (хотя он использует несколько иную реализацию): IBus .

Лично я использую XIM , и я надеюсь делать это до тех пор, пока не переключусь на Wayland (где, я надеюсь, меня ждет более лучший IME²), но это Linux; один размер не подходит для всех, и вы должны использовать то, что лучше всего подходит для вашего рабочего процесса ( в пределах разумного ).


  1. По этой ссылке вы обнаружите, что можете легко установить, какую клавишу вы используете для Compose (при условии, что ваша клавиатура недостаточно эзотерична, чтобы на самом деле иметь выделенную клавишу Compose) с помощью следующей команды (для Caps ):

     setxkbmap -option compose: caps 
     
  2. Я могу мечтать, верно?

В качестве забавного заключительного замечания, все «экзотические» символы в этом сообщении (включая é, «,», µ, ¹ и ²) были созданы с помощью XCompose.

3
27.01.2020, 19:46

Теги

Похожие вопросы