2010-09-23 40 views
22

Vì vậy, tôi đang cung cấp cho Vim một thử nghiệm nghiêm túc để viết mã các ứng dụng Python của tôi.Sử dụng Vim bằng tiếng Hy Lạp

Tuy nhiên, Vim tỏ ra rất linh hoạt, tôi đã nghĩ đến việc sử dụng nó làm biên tập viên chính tại nơi làm việc (luật sư/tài liệu pháp lý). Vấn đề là tiếng mẹ đẻ của tôi không phải là tiếng Anh mà là tiếng Hy Lạp. Vì vậy, tôi đã ánh xạ Alt + Shift để thay đổi giữa bố cục bàn phím tiếng Anh và tiếng Hy Lạp. Vấn đề tôi gặp phải là tôi phải bấm Alt + Shift mỗi lần tôi muốn nhập lệnh Vim (để trở về tiếng Anh). Vì vậy, Alt + Shift khi tôi nhập tài liệu của mình, sau đó Alt + Shift một lần nữa để nhập lệnh Vim. Điều này đánh bại mục đích sử dụng Vim, tốc độ sử dụng.

Vì vậy, câu hỏi của tôi rất đơn giản, có cách nào để tránh Alt + Shift để sử dụng lệnh Vim bằng tiếng Hy Lạp?

Trả lời

28

Sự cố này có thể được giải quyết với sự trợ giúp của tùy chọn keymap. Nó cho phép xác định ánh xạ bàn phím thay thế để sử dụng ở các chế độ yêu cầu nhập văn bản .

Để chuyển đổi giữa các mặc định và keymap thay thế trong khi ở Insert, Thay thế, hoặc chế độ dòng lệnh, sử dụng Ctrl + ^ (Ctrl +). Thay đổi sơ đồ phím chỉ ảnh hưởng đến nhập văn bản ; hành vi bàn phím ở chế độ Bình thường vẫn giữ nguyên bất kể cài đặt sơ đồ phím hiện tại là . Người ta có thể để chế độ Chèn bằng văn bản tiếng Hy Lạp và ngay lập tức sử dụng các khóa phím chế độ thông thường mà không cần chuyển sang bố cục bàn phím khác. Nếu một sau đó quay trở lại chế độ Chèn hoặc, ví dụ: bắt đầu tìm kiếm bằng cách nhập /, Vim sẽ tự động chuyển sơ đồ bàn phím thành tiếng Hy Lạp .

Sơ đồ bàn phím hiện tại được sử dụng trong các chế độ nhập văn bản đó được ghi nhớ giữa các lần chuyển sang các chế độ khác. Ngoại lệ duy nhất từ ​​hành vi này được thực hiện cho chế độ dòng lệnh, luôn bắt đầu bằng sơ đồ bàn phím mặc định, vì phần lớn thời gian bắt buộc phải nhập lệnh Ex (bằng ASCII). Với các thiết lập keymap tùy chọn, người dùng có nghĩa vụ phải làm việc trong Vim hệ thống giữ bố trí bàn phím thiết lập để tiếng Anh trong khi chuyển Vim keymap với Ctrl +^ (thay vì công tắc bố trí toàn hệ thống).

Để bật vĩnh viễn sơ đồ bàn phím tiếng Hy Lạp UTF-8, hãy thêm dòng sau vào tệp .vimrc của bạn.

:set keymap=greek_utf-8 

Có rất nhiều keymap được xác định trước cho một tập hợp lớn các ngôn ngữ, bạn có thể duyệt tất cả chúng trong Vim bản thân sử dụng :e $VIMRUNTIME/keymap.Lưu ý rằng thường có một số sơ đồ bàn phím được cung cấp cho một ngôn ngữ chỉ khác nhau chỉ bằng mã hóa ký tự, để bất kỳ ai cũng có thể chọn một cấu hình phù hợp với cấu hình của chúng .

Tôi cũng khuyên bạn nên đặt các tùy chọn bên dưới để chỉ định xem sơ đồ bàn phím có được bật theo mặc định ở chế độ Chèn hay không và khi nhập mẫu tìm kiếm .

:set iminsert=0 
:set imsearch=-1 

Xem :help iminsert:help imsearch cho chi tiết giải thích của họ.

Cũng có chế độ ngôn ngữ đặc biệt, nếu tôi không nhầm, là được giới thiệu trong Vim sớm hơn keymap. Nó cho phép để đạt được hành vi tương tự như hành vi được cung cấp bởi keymap qua cách thủ công chỉ định cặp thư tương ứng với các phím trên bàn phím trong một chuỗi dài sẽ được lưu trong tùy chọn langmap. Cá nhân — ngôn ngữ gốc của tôi cũng không phải là tiếng Anh — tôi thích (và đề xuất) sử dụng keymap để thay thế.

Tóm lại, tôi nên nhấn mạnh rằng tất cả các điều trên đều bằng nhau áp dụng cho bất kỳ ngôn ngữ nào khác Vim có (hoặc có thể được cấu hình để có) sơ đồ bàn phím cho.

Xem thêm my answer đến similar question đã được yêu cầu sau đó. Nó bao gồm một lời giải thích rộng hơn một chút.

+3

Bạn thật tuyệt vời !!! Đề xuất của bạn không hoạt động, nhưng bạn đã chỉ cho tôi đúng hướng. Tất cả những gì tôi phải làm là thay đổi set keymap = greek_utf-8 thành set keymap = greek_iso-8859-7. Đối với một lý do stange greek utf hiển thị các ký tự lạ, cùng xảy ra với firefox của tôi khi nó chọn utf, nhưng iso cũng làm việc ở đó. Tất cả mọi thứ khác làm việc như một say mê tôi chỉ cần nhấn ctrl +^trong chế độ chỉnh sửa như bạn đề nghị và tôi có thể thay đổi giữa Hy Lạp và englis trong khi giao diện lệnh vẫn còn trong tiếng Anh. Bạn là một vị cứu tinh cuộc sống, cảm ơn. – Kilon

+0

Có thể sử dụng một cái gì đó khác với ctrl + ^. Rất khó để nhấn Ctrl + Shift + 6. – Sergey

+2

@Sergey: 'Ctrl + 6' cũng hoạt động. Nếu bạn vẫn không thoải mái khi nhập, hãy tạo bản đồ dễ sử dụng. Ví dụ, để remap nó vào 'Ctrl + L' sử dụng' inoremap '. –

Các vấn đề liên quan