Các lệnh vg cygwin có khác với vim bình thường không?


28

Tôi không thể chỉnh sửa tệp văn bản bằng vim trong cygwin.

Tôi phải nhấn inhiều lần để chèn văn bản. Đôi khi nó hoạt động và đôi khi không. Bất cứ khi nào tôi di chuyển con trỏ lên xuống tôi phải nhấn tôi nhiều lần.

Điều gì có thể là vấn đề? Có backspacehoạt động trong cygwin?


Bạn có đang chạy bên trong bảng điều khiển Windows gốc, trong một trình giả lập thiết bị đầu cuối khác đang chạy như một ứng dụng gốc, trong trình giả lập thiết bị đầu cuối chạy dưới X? Phiên bản nào của Windows? Liệu sự chậm trễ giữa nhấn ESCivấn đề nhấn ?
Gilles 'SO- ngừng trở nên xấu xa'

Câu trả lời:


34

Cygwin vim vận chuyển với cấu hình mặc định của vim, để vim ở chế độ tương thích vi, nơi nó cố gắng mô phỏng vi gốc càng sát càng tốt. Trong số các hạn chế khác, các phím mũi tên không hoạt động trong chế độ đó và backspace chỉ di chuyển con trỏ sang trái thay vì xóa một ký tự.

Tạo một khoảng trống ~/.vimrclà đủ để vô hiệu hóa chế độ tương thích vi:

touch ~/.vimrc

Phải nói rằng, iđể vào chế độ chèn thì dù sao cũng phải hoạt động. Bạn sẽ cần cung cấp thêm chi tiết về vị trí và cách bạn đang chạy vim. Ngoài ra, bạn có thực sự chạy vim đi kèm với Cygwin hoặc phiên bản Windows gốc của vim không?

Cập nhật

Bạn có thể thêm các bộ bên dưới trong ~ / .vimrc để thực hiện tương tự như vim mặc định

set nocompatible
set backspace=indent,eol,start
set backup
set history=50
set ruler
set background=dark
set showcmd
set incsearch
syntax on
set hlsearch

Nếu vim không nhận tệp vimrc của bạn, thay vào đó, nó có thể đang tìm .virctệp. Trong trường hợp này, đổi tên tệp và các thay đổi sẽ được áp dụng.


Sẽ thật tuyệt nếu bạn nói cách tắt không tương thích.
gideon

Bạn có biết vị trí nhà mặc định của cygwin ở đâu không? Tôi muốn tạo .virc bằng GUI thay vì cygwin
Alex

13

Cách dễ nhất là sao chép tệp vimrc mẫu của Cygwin VIM

cp /usr/share/vim/vim*/vimrc_example.vim /etc/vimrc

Điều này sẽ khắc phục sự cố cho mọi tài khoản trên hệ thống của bạn. Nếu, vì một số lý do, bạn chỉ muốn thay đổi nó cho một người dùng cụ thể, hãy làm

cp /usr/share/vim/vim*/vimrc_example.vim ~/.vimrc

Xem tài liệu tham khảo tại đây


1
Đây phải là câu trả lời được chấp nhận vì ví dụ thực sự bật đánh dấu cú pháp theo mặc định và có lẽ rất nhiều mặc định khác mà mọi người thường sử dụng.
JohnEye 9/2/2015

Không hoạt động cho đến khi PC khởi động lại. Nhưng nó đã có tác dụng!
3bdalla

Câu trả lời tuyệt vời, đơn giản và giải quyết tất cả các vấn đề khác nhau mà tôi đã thấy với bản cài đặt cygwin mới và đánh dấu cú pháp là một phần thưởng bất ngờ
crobicha

Đây là câu trả lời tốt nhất !!
Theodore R. Smith

1
tập tin đó nằm ở đâu? tôi đã tìm kiếm trong / usr / share / nhưng sau đó tôi không thể thấy bất kỳ thư mục nào được gọi là vim.
neo33

3

Tôi gặp vấn đề với các phím mũi tên trong khi thử vim bên trong Windows 8.1 bằng cygwin. Vấn đề là, in A / B / C / D trong khi điều hướng bằng các phím mũi tên ở chế độ chèn. Giải pháp hiệu quả với tôi là:

cp vimrc_example.vim ~/.vimrc

Về cơ bản, vimrc_example.vimtập tin sao chép lệnh trên /home/<user name>/.vimrc.


Điều đó đã sửa nó cho tôi. Tôi gặp vấn đề tương tự với phím chèn và mũi tên không hoạt động trong vim. Đó là trên Windows 10.
Yanick Girouard


1

Hãy thử cách này:

  • Đầu tiên:

    cp /usr/share/vim/vim73/vimrc_example.vim ~/.vimrc
    
  • Sau đó, thêm dòng này vào ./.bashrctệp của bạn :

    alias vi="vim"
    

0

Không có lệnh nào hoàn toàn giống nhau. Có vẻ như bạn có một vấn đề đầu vào. Bàn phím của bạn bị rối hoặc thiết bị đầu cuối của bạn ở trên Fritz hoặc một cái gì đó.


0

Tùy thuộc vào đặc điểm của chương trình đầu cuối của bạn, khi bạn nhấn phím con trỏ, nó sẽ gửi một chuỗi các ký tự bắt đầu bằng phím ESC. Ví dụ: phím Mũi tên lên gửi ba ký tự ESC [A. Với vim ở chế độ nhập, nhấn phím con trỏ có thể chấm dứt chế độ nhập khi nhìn thấy ESC và các ký tự tiếp theo có thể được hiểu là các lệnh vim. Vì nó thoát khỏi chế độ nhập, bạn cần nhấn i lần nữa để tiếp tục chèn văn bản. Có lẽ đây là những gì đang xảy ra với bạn.

Kiểm tra xem thiết bị đầu cuối của bạn có các tùy chọn có thể thay đổi mô phỏng hay không, chẳng hạn như VT-100, VT-220 hoặc cài đặt chỉ định nội dung được gửi khi nhấn phím Backspace hoặc Del. Thay đổi các cài đặt đó có thể có được hành vi bạn muốn. Nếu bạn đang sử dụng bảng điều khiển lệnh Windows gốc, có thể bạn không nhận được các tùy chọn đó.

Bạn có thể phải tránh sử dụng các phím con trỏ ở chế độ nhập. Nhấn ESC để thoát chế độ đầu vào, sau đó di chuyển con trỏ, sau đó tôi lại để thêm đầu vào. Đó là cách mà những người chơi thời gian cũ của chúng ta phải làm điều đó trước khi vim đủ thông minh để diễn giải các phím con trỏ ở chế độ đầu vào.

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.