Как я могу вставить backtick в GHCi?
Я пробую Haskell в GHCi на Windows. В учебнике, который я следую, имя функции заключено в backticks:x `mod` 7. Однако я не могу ввести персонажа в GHCi.
символ backtick имеет значение ASCII 096, но GHCI не позволяет Alt + для вставки любого символа. Копирование/вставка не работает. Что мне делать?
2 ответов
Я не знаю, как отправить backtick в ghci, если у вашей клавиатуры его нет. Но эта небольшая техническая проблема не должна помешать вам попробовать Haskell!
вы можете программировать в Haskell без backticks с помощью
f a bвместоa `f` b. В вашем примере,mod x 7.вы можете установить раскладку клавиатуры в us-american для программирования. Хотя требуется некоторая практика, чтобы найти ключи с неправильными метками на физическом клавиатура, это может быть удобно иметь
[,],{и}более доступный, и в вашем случае, имейте backtick на всех.вы можете вставить backtick из буфера обмена. (Активируйте "режим быстрого редактирования" и "режим вставки" в настройках командного окна, а затем используйте правую кнопку мыши для вставки).
может быть, использование обертки вокруг окна команды помогает? Я иногда использую Console2 и иногда
M-x shellin В Emacs.может быть, WinGHCi помогает? Он поддерживает копирование и вставку, по крайней мере.
см. ответ Эрьяна Йохансена о том, как добавить пользовательскую привязку ключей к ghci.
удачи с Haskell!
@Toxaris дал несколько предложений в своем ответе, но в комментарии он также упомянул о возможности настройки версии ghci readline (которая называется haskeline). И, конечно, это позволяет пользовательские комбинации клавиш. Поэтому я решил проверить это.
в документации говорится, чтобы поместить настройки в ~/.haskeline, который не является путем Windows, но он предположительно переводится в .haskeline в любой каталог System.Directory.getHomeDirectory возвращает. (vim также может отредактируйте этот путь непосредственно в Windows, но я понял это только потом.) Поэтому я поставил следующее в C:\Users\Ørjan\.haskeline:
bind: meta-' `
теперь я могу сделать ` в GHCi, нажав alt-' !