iTerm2 Vim alt + mũi tên phải / trái


13

Là người dùng Linux, tôi rất quen với việc chuyển từ từ này sang từ khác trong vim / nano bằng cách sử dụng ALT+ lefthoặc right.

Điều này dường như không hoạt động đúng khi sử dụng iTerm, tôi đang sử dụng zsh, tôi đã thử thêm;

bindkey -e
bindkey '^[[1;9C' forward-word
bindkey '^[[1;9D' backward-word

Nó không hoạt động, nhưng chỉ bên trong zsh, sau đó tôi đã nhận xét những dòng đó và thêm vào iTerm một phím tắt;

nhập mô tả hình ảnh ở đây

Nó hoạt động, nhưng chỉ cho ALTleft

Làm thế nào tôi có thể làm cho nó hoạt động cho mũi tên bên phải quá?

Câu trả lời:


10

Trong thuộc tính của iTerm, đi tới Cấu hình -> Phím và thiết lập ở đó

  • Để ⌥→gửi chuỗi thoát[1;5C
  • Để ⌥←gửi chuỗi thoát[1;5D

nhập mô tả hình ảnh ở đây


Điều đó không làm việc cho tôi. Trình tự thoát được gửi, nhưng vim chỉ di chuyển một không gian qua lại. Chạy vim 7.3 mặc định đi kèm với OS X 10.8. Lý tưởng nhất là tôi muốn thay đổi nó về phía vim, không điều chỉnh mặc định của trình giả lập Terminal (vì điều đó sẽ mang lại tính di động tốt hơn).
slhck

Thật kỳ lạ, nó hoạt động cả trong vim (từ homebrew, không phải mặc định) và zsh với cấu hình mặc định từ oh-my-zsh (trong ~ / .oh-my-zsh / lib / key-bindings.sh).
eiennohito

Không hoạt động ở đây, tôi có thể sử dụng alt + mũi tên trong zsh, trong Vim, nó chỉ hoạt động với shift + mũi tên :(
seds

Tôi đã kiểm tra nó một lần nữa trên các hệ thống từ xa có sẵn (ubfox 13.04, debian ổn định và linux khoa học) và nó hoạt động ở mọi nơi. Đầu ra khi bạn nhấn Control + V, → là gì? Đối với tôi đó là ^ [[1; 5C
eiennohito

Hoạt động với tôi: iTerm / Vi + zsh
Petro Semeniuk

7

Bắt đầu bằng cách xem mã khóa mà thiết bị đầu cuối của bạn đang gửi tới vim:

$ sed -n l
^[[1;9D 

Trong ví dụ trên, tôi chạy lệnh sed và nhấn Alt + Left.

Các ^[[1;9Dlà trình tự thoát được gửi đến vim, vì vậy chúng ta có thể sử dụng mà để lập bản đồ của chúng tôi.

Thêm vào vimrc:

map <Esc>[1;9D :tabn<CR>

Cảm ơn, điều đó đã làm việc cho tôi.
j5shi

1

Tôi đọc một bài viết khác mô tả rằng đối với tùy chọn bên trái và tùy chọn bên phải, bạn cần liên kết chúng với các hành động ^ [b và ^ [f, tương ứng. Đó là, bạn liên kết chúng với "Gửi chuỗi thoát" và liên kết khóa b và f.

http://elweb.co/making-iterm-2-work-with-n normal-mac-osx-keyboard-shortcut /


1
+1! Tôi tìm thấy hướng dẫn tương tự ở đây: coderwall.com/p/h6yfda/ Kẻ
Cam Jackson

0

Không ai trong số những câu trả lời làm việc cho tôi. Tôi đã kết thúc việc tải một máy ảo linux và kiểm tra những gì tôi nhận được <Alt-ARROW>.

4 chuỗi thoát làm việc cho tôi là:

  • <Alt+Up>: [1;3A
  • <Alt+Down>: [1;3B
  • <Alt+Right>: [1;3C
  • <Alt+Left>: [1;3D

Hãy cẩn thận để chỉnh sửa các phím Hồ sơ và không phải các phím chính sẽ bị ghi đè bởi các Cấu hình (trong đó Alt + Mũi tên được đặt mặc định thành Chuỗi Sequence không hoạt động với vim).


-1

Chỉ là một giải pháp khả thi khác, vim tự cung cấp chuyển động từ, xem:

:help word-motions

2
Bạn nên bao gồm các thông tin cần thiết thay vì chỉ đưa một tài liệu tham khảo ở đây.
pabouk
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.