Masalah terminal dengan tombol Ctrl + Arrow dan Shift + Arrow

10

Saya menjalankan Mavericks di Macbook Pro baru. Ketika saya menggunakan tombol Ctrldan Shiftbersama-sama dengan tombol panah, saya mendapatkan semacam kode kunci sebagai output di terminal. Saya cukup yakin bahwa masalah ini baru dan tidak terjadi beberapa hari yang lalu. Tapi saya tidak yakin 100%. Bagaimanapun, inilah yang terjadi:

Jika saya tekan Ctrl+ (Panah kiri), ;5Dadalah output di terminal. Demikian pula:

  • Ctrl+ (Panah kanan) keluaran;5C
  • Shift+ (Panah kiri) keluaran;2D
  • Shift+ (Panah kanan) keluaran;2C

Seperti yang saya sebutkan, saya cukup yakin bahwa sebelum hari ini saya dapat menggunakan pintasan tersebut untuk berpindah antar kata dan memilih teks. Adakah yang pernah melihat ini sebelumnya? Saya telah melihat beberapa pertanyaan yang ada tentang cara pintas tombol panah, tetapi saya tidak menemukan referensi untuk masalah yang tepat ini.

Juga, perhatikan bahwa saya telah mematikan pintasan keyboard yang bergerak di antara desktop menggunakan Ctrltombol panah +.

Henrik Söderlund
sumber
Tombol panah Anda dipetakan kembali di suatu tempat untuk digunakan \],-(setara dengan ASCI hex 5C 5D 2C 2D).
l'L'l
Apakah Anda peduli untuk menguraikan? Saya sangat baru di OSX. Di mana saya mencari remapping ini?
Henrik Söderlund

Jawaban:

8

Hal yang sama terjadi pada VM 10.9 dan 10.8 saya. Panah kendali dan panah geser tidak melakukan apa pun secara default di bash. Di mana Anda bahkan menggunakan panah-geser untuk memilih teks? emacs atau vim?

Jika Anda ingin menggunakan kontrol-kiri dan kanan-kontrol untuk berpindah antar kata dalam bash, tambahkan baris ini ke ~/.inputrc:

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

Untuk menggunakan panah-bergeser dalam Emacs, petakan pergeseran ke atas \e[1;2A, geser ke bawah \e[1;2B, bergeser ke kanan ke \e[1;2C, dan bergeser ke kiri ke \e[1;2D. Jika menekan shift-up menghasilkan pesan suka <select> is undefined, coba atur TERMke xterm-vt220.

Lri
sumber
Saya kira saya mungkin salah menggunakan panah-geser untuk memilih teks. Saya seorang pengembang dengan 13 tahun pengalaman tetapi ini adalah yang pertama saya lakukan di OSX. Sangat bingung sejauh ini.
Henrik Söderlund
Menemukan hal .inputrc. Mencari di mana-mana untuk file sampai saya menyadari saya harus membuatnya sendiri. :) Sekarang saya bisa berpindah kata. Jadi terima kasih untuk itu, saya menandai ini sebagai jawabannya. Hanya beberapa pertanyaan lagi, jadi saya 100% jelas: 1: Saya sekarang telah beralih menggunakan iTerm2. Apakah ada cara, menggunakan .inputrc atau sebaliknya, untuk mendapatkan Shift + Kiri dan Shift + Right untuk memilih teks di iTerm2? 2: Anda menyebutkan emacs dan vim. Bukankah ini editor teks saja? Bagaimana saya menggunakannya sebagai terminal?
Henrik Söderlund
Saya tidak tahu cara membuat shift-kiri dan shift-kanan memodifikasi pilihan di iTerm 2. Saya pikir Anda mungkin telah menggunakannya hanya di Emacs.
Lri
Baik. Saya harus hidup tanpanya untuk saat ini. Terima kasih!
Henrik Söderlund
1
Itu tidak berfungsi pada macos Sierra, Shift + Arrow Kanan atau Shift + Arrow Kiri tidak melakukan apa-apa.
Alessandro C
3

Ctrl + Kiri / Kanan ada di Terminal (macOS 10.12) secara default (Preferensi → Profil → Keyboard). Saya mencoba menambahkan Shift-Up / Down ~/.inputrctetapi tidak ada yang terjadi.

~/.inputrc:

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

Alih-alih, saya menambahkan Shift Atas / Bawah secara programatik dalam Preferensi Terminal. Masalahnya adalah ini disimpan per profil , di mana macOS memiliki selusin secara default, jadi Anda harus mengulang semua profil (satu bernama di Oceansini) untuk menambahkan kunci untuk semua profil yang tersedia. Saya tidak tahu apakah plutilatau defaultsmemiliki sihir untuk membuatnya mudah, atau jika Anda harus menggunakan parser XML.

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

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

Sebuah alternatif:

Dalam preferensi Terminal pergi ke Tingkat Lanjut dan batalkan pilihan 'Tempel baris baru sebagai carriage kembali'.

Kemudian gunakan Sublime untuk menulis com yang rumit

Rohit Sood
sumber