سؤال كيف يمكنني عمل مفاتيح ctrl + يسار / يمين للتنقل بكلمة كاملة في tmux؟


في كل من zsh و bash ، تتيح لك ctrl + arrows تحريك الموضع الذي أقوم بكتابته بكلمة كاملة ، لكن هذا لا يعمل في tmux ، وهي مشكلة لأنني أقوم بتشغيلها تلقائيًا في كل مرة أقوم فيها بفتح shell .

كيف يمكنني اصلاح هذا؟


94
2017-11-23 19:43


الأصل




الأجوبة:


  1. تحرير الخاص بك ~/.tmux.conf وإضافة خطوط:

    set-window-option -g xterm-keys on
    
  2. إذا كنت لا ترغب في جعله دائمًا بعد ، فافعل ما يلي:

    C-b :set-window-option xterm-keys on
    
  3. أعد تحميل التهيئة في tmux بعمل:

    C-b :source-file ~/.tmux.conf
    

معلومات اكثر هنا:


122
2018-02-29 11:04



غريب: هذا يعمل بالنسبة لي فقط إذا قمت بإعادة تحميل ملف ~ / .tmux.conf من tmux أو تعيين الإجراء في: -prompt of tmux ، وليس في البداية عند فتح tmux. أي أفكار ما قد تكون هناك مشكلة؟ - AME
AME أغلق جميع جلسات tmux ثم أعد المحاولة. - Nathan
إذا لم تؤد عملية إعادة التحميل إلى حل المشكلة (هذه هي الحالة بالنسبة لي) ، فجرّب جلسة جديدة. ربما تحتاج إلى قتل الجلسة الحالية وإنشاء واحدة جديدة. خيار آخر لجعله نافذة المفعول في جزء (وليس جلسة) هو C-b: respawn-pane -k - fstang
هذا العمل بالنسبة لي ، في الغالب. أتساءل لماذا لا يتم افتراضيا؟ - inetknght
قتل الجلسة ، أو أيا كان set-window-option -g xterm-keys on لا يزال لا يفعل أي شيء في حالتي. - noraj


set-window-option -g xterm-keys on

حصلت لي بعض الطريق هناك وأعطاني السيطرة-يسار يمين على وحدة التحكم ، لكنه كان لا يزال يستجيب بشكل مختلف في vim.

لا يبدو أن إلغاء ربط المفاتيح يساعدك.

اتضح أنه في وقت ما كنت قد وضعت مطرافي الافتراضي على الشاشة (set-option -g default-terminal "screen" في .tmux.conf)

أعطاني تغيير هذا لما يلي السيطرة-يسار يمين في كل شيء آخر:

set-option -g default-terminal "xterm-256color"

نأمل أن يساعد شخص ما.


8
2018-06-11 10:38



ما عدا هذا فواصل الألوان في vim ، تيج ، ويفترض حفنة من الأشياء الأخرى ... - koniiiik
أنظر أيضا unix.stackexchange.com/a/1098/250 للحصول على نصيحة ضد وضع TERM مثل ذلك في tmux - phunehehe


ل msys2 / Cygwin / mintty:

أضف أدناه ل ~/.inputrc.

"\e[1;5C": forward-word   # ctrl + right
"\e[1;5D": backward-word  # ctrl + left 

إعادة تحميل سيجعل tmux تعمل بشكل صحيح.


3
2017-10-19 02:05





لست متأكدًا ، ولكن قد يكون ذلك بسبب ذلك tmux بشكل افتراضي يربط C-<up/down/left/right> لتحويل التركيز إلى الجزء أعلى / أسفل / يسار / يمين الجزء المركّز حاليًا. إذا كنت لا تستخدم الأجزاء في كثير من الأحيان ، فقد لا تكون قد لاحظت هذه الميزة. إذا كانت هذه هي المشكلة ، فيمكنك إزالة هذه المفاتيح بقولك:

unbind C-Left
unbind C-Right

قد يكون هذا كافياً، أو قد تحتاج إلى ربطهم يدويًا مرة أخرى بما تريد منهم القيام به ، عبر:

bind -n C-Left <the action you want>
bind -n C-Right <other action you want>

1
2017-12-08 10:49



يجب أن يكون كافياً لوحدها ، إذا لم يتم سحبه بواسطة tmux ، يجب أن يمرر على القشرة. - Rob


بالنسبة لي ، لم تكن مفاتيح ملزمة بشكل صحيح ، لأن تم تعيين تفضيلات النظام في سييرا عالية لاستخدامها من قبل "التحكم البعثة". قم بإلغاء التحقق من ذلك ثم سمح الارتباط الصحيح للعمل في iTerm2 و Tmux

System Preferences

يؤدي إلغاء تحديد جميع العناصر التي تشير إلى مفتاح التحكم إلى السماح للتركيب بالعمل بشكل صحيح


0
2018-01-24 08:44