web-dev-qa-db-ja.com

emacsで中括弧と角括弧を入力できません

Mac OS XとGNU Emacs 22.3.1を実行しています。スウェーデン語のキーボードを使用しています。中括弧を入力できません{}[] emacsで。中括弧を入力しようとすると、括弧が表示されます。私はMacとemacsに非常に慣れていないので、これを正しく行うためにemacsの構成について少し助けが必要です。

39
Niclas Åstrand
(setq mac-option-modifier nil
      mac-command-modifier 'meta
      x-select-enable-clipboard t)

これは私のスウェーデン語キーボードに使用するものです。 svorak A5でも使用できます。

59
monotux

あなたも試すことができます:

(setq mac-option-key-is-meta t)
(setq mac-right-option-modifier nil)
26
patrikha

ターミナル内からOS Xバンドルバージョンを使用するだけでなく、グラフィカルemacsを使用していることを前提としています。

Emacsが他のOS Xアプリと同じ方法でキーストロークに応答するようにするには、以下を試してください:

(setq default-input-method "MacOSX")

特に、Optionキーを使用してキーボード以外の拡張文字を入力する場合(たとえば、「Option-c c」=>「ç」)、次の設定を使用します。

(setq mac-command-modifier 'meta)
(setq mac-option-modifier 'none)

(これらのコマンドを〜/ .emacsまたは〜/ .emacs.d/init.el emacs起動ファイルに入れ、Emacsを再起動するか、ファイルの編集中に「M-x eval-buffer」だけを実行します。)

8
sanityinc
(setq default-input-method "MacOSX")

(setq mac-command-modifier 'meta
      mac-option-modifier nil
      mac-allow-anti-aliasing t
      mac-command-key-is-meta t)

これを試して。 AltキーをAltGRとして使用できるようになり、すべての古いM-x機能でコマンドキーを使用する必要があります。

5
Abdul Bijur V A

関連するキーボードショートカットを、それらの文字を挿入する匿名関数にバインドします。たとえば、次の行を~/.emacsに追加して、ヨーロッパポルトガル語を表示します。

(global-set-key "\M-(" (lambda () (interactive) (insert "{")))
(global-set-key "\M-)" (lambda () (interactive) (insert "}")))

(global-set-key "\M-8" (lambda () (interactive) (insert "[")))
(global-set-key "\M-9" (lambda () (interactive) (insert "]")))

次に、~/.emacsC-x C-sで保存し、M-x load-fileで再読み込みして、~/.emacsと入力します。

欠点の1つは、これがミニバッファーでは機能しないであり、「Alt-9」と入力すると、ミニバッファーではなくバッファーにテキストが挿入されることです。

他のソリューションとの比較:このソリューションは、M-を使用して他のショートカットとの互換性を維持します。 @ monotux、@ sanityinc、およびAbdul Bijur V Aによるソリューションは機能しますが、その互換性は維持されません。 Cmd-Qはプログラムを終了せず、M-xはコマンドを実行するためにミニバッファを呼び出さなくなりました。

@patrikhaによるソリューションはタッチタイピングには適していません。タッチタイピングには、キーボードの右側と左側で同じ修飾コマンド(コマンド、Alt/Option、Shift、およびコントロール)が必要です。たとえば、このソリューションでM-xを実行するには、ではなく、左Altキーの左親指とSキーの左人差し指が必要です。右右のAltキーを押します。 (setq mac-left-option-modifier nil)も可能ですが、キーボードの右側にある文字の習慣を変える必要があるかもしれません。

Notes :AquaMacを使用している場合、 wiki のセクションに「英語以外のキーボードでの{} []などの入力」という回避策があります。オプション修飾子を持つ他のキー」。

また、この行を./emacsの最後に追加して、大括弧と中括弧の一致を示しています:(show-paren-mode)

3
miguelmorin

Aquamacsの使用:

メインメニューから[オプション]-[オプション]、[コマンド]、[メタキー]に移動し、[合成文字のオプション]を選択します。

ブレースとブラケットは、標準のMacキーボードと同じように機能します。

1
Francesco

フレンチキーボードでも同じ問題が発生しました。 Aquamacsの問題のようです(Carbon Emacsは{を()で置き換えません)。

上記のemacsの変更は問題なく機能し、括弧を入力できましたが、標準のショートカット(たとえば、Ctrl + C/Ctrl + Vなど)を使用できなくなりました。

Aquamacsは回避策を提供します。メニューバー>オプション>オプション、コマンド、メタキー> ...メタとフランス語を選択

それは私にとってはうまくいきました。ただし、スウェーデン語、スウェーデン語のキーボードオプションでは機能しない場合があります。

1
cfalguiere

私はCocoaベースのemacs、つまりバージョン23を試します。Macに統合されたemacsの場合は Aquamacs を試します。

1
user151019