Ctrl +矢印キーとShift +矢印キーのターミナルの問題


10

新しいMacbook ProでMavericksを実行しています。矢印キーと一緒にCtrlおよびShiftキーを使用すると、ターミナルで出力としてある種のキーコードが表示されます。この問題は新しく、数日前には起こらなかったと確信しています。しかし、私は100%確信していません。とにかく、これは何が起こるかです:

Ctrl+ (左矢印)を押す;5Dと、ターミナルにが出力されます。同様に:

  • Ctrl+ (右矢印)出力;5C
  • Shift+ (左矢印)出力;2D
  • Shift+ (右矢印)出力;2C

先ほど触れたように、今日まで、これらのショートカットを使用して単語間を移動したりテキストを選択したりできると確信しています。誰かこれを見たことがある?矢印キーのショートカットに関する既存の質問をいくつか調べましたが、この正確な問題への言及は見つかりませんでした。

また、Ctrl+矢印キーを使用してデスクトップ間を移動するキーボードショートカットをオフにしていることに注意してください。


矢印キーはどこかで再使用されます\],-(16進5C 5D 2C 2DのASCII相当)。
l'L'l

詳しく説明していただけませんか?OSXは初めてです。これらの再マッピングはどこにありますか?
HenrikSöderlund、2014年

回答:


8

10.9と10.8のVMでも同じことが起こります。bashでは、コントロール矢印とシフト矢印はデフォルトでは何もしません。テキストを選択するためにシフト矢印をどこに使用しましたか?emacsまたはvim?

control-leftとcontrol-rightを使用してbash内の単語間を移動する場合は、次の行を追加し~/.inputrcます。

"\e[1;5C": forward-word
"\e[1;5D": backward-word

Emacsでシフト矢印を使用するには\e[1;2A、シフトアップをに、シフトダウンをに\e[1;2B、シフト右を\e[1;2Cに、シフト左をにマッピングし\e[1;2Dます。シフトアップを押す<select> is undefinedとのようなメッセージが表示される場合は、に設定TERMしてみてくださいxterm-vt220


シフト矢印を使ってテキストを選択するのは間違っていたのではないかと思います。私は13年の経験を持つ開発者ですが、これはOSXでの初めての試みです。今のところ非常に混乱しています。
HenrikSöderlund、2014年

.inputrcのことを理解しました。自分で作成する必要があることに気づくまで、どこでもファイルを探しました。:)私は再び言葉の間を移動することができます。おかげで、私はこれを答えとしてマークしています。あと2、3の質問で100%明確になりました。.inputrcなどを使用して、Shift + LeftおよびShift + RightでiTerm2のテキストを選択する方法はありますか?2:emacsとvimについて言及しました。これらは単なるテキストエディタではありませんか?端末としてどのように使用しますか?
HenrikSöderlund、2014年

左シフトと右シフトでiTerm 2の選択を変更する方法はわかりません。Emacsだけで使用したのではないかと思いました。
Lri

よし。とりあえずそれなしで生きなければなりません。ありがとう!
HenrikSöderlund、2014年

1
macos Sierraでは機能しません。Shift+右矢印またはShift +左矢印では何も実行されません。
アレッサンドロC

3

Ctrl + Left / Rightはデフォルトでターミナル(macOS 10.12)にあります(環境設定→プロファイル→キーボード)。Shift-Up / Downを追加してみました~/.inputrcが、何も起こりませんでした。

~/.inputrc:

"\e[1;2A": shift-up
"\e[1;2B": shift-down

代わりに、ターミナルの環境設定でプログラム的にシフトアップ/シフトダウンを追加しました。問題は、これがプロファイルごとに保存されることです。macOSにはデフォルトで12個あります。そのため、すべてのプロファイル(Oceanここで名前を付けたもの)をループして、使用可能なすべてのプロファイルのキーを追加する必要があります。これを簡単にする魔法があるかどうplutildefaults、またはXMLパーサーを使用する必要があるかどうかはわかりません。

~/Library/Preferences/com.apple.Terminal.plist:

"Window Settings" = {
  Ocean = {
    keyMapBoundKeys = {
      "$F700" = "\033[1;2A";
      "$F701" = "\033[1;2B";

-1

代替:

ターミナルの設定で[詳細]に移動し、[改行を改行として貼り付ける]をオフにします。

次に、Sublimeを使用して複雑なcomを書き出します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.