Làm cách nào tôi có thể nhận được một con trỏ khối trong Vim trong thiết bị đầu cuối Cygwin?


46

Tôi đã quen với việc có một con trỏ khối ở chế độ bình thường trong Vim. Điều này có ý nghĩa với mô hình Vim; Khi bạn nhấn x, rõ ràng nhân vật nào sẽ bị xóa.

Tôi đã cài đặt Cygwin trên máy tính Windows, nhưng khi tôi sử dụng Vim trong thiết bị đầu cuối của nó, tôi nhận được Icon trỏ, ngay cả ở chế độ bình thường. Làm thế nào tôi có thể làm cho con trỏ là một khối thay thế?

Câu trả lời:


73

Câu hỏi này trong danh sách gửi thư của Cygwin trả lời câu hỏi bằng cách đặt một số biến phức tạp thành các chuỗi thoát thích hợp. Thêm phần này vào .vimrc:

let &t_ti.="\e[1 q"
let &t_SI.="\e[5 q"
let &t_EI.="\e[1 q"
let &t_te.="\e[0 q"

2
điều này hiệu quả với tôi khi sử dụng mintty để ssh vào máy chủ linux
zzapper

2
Cảm ơn bạn rất nhiều. Phải yêu một giải pháp sạch sẽ hoạt động trong 2 trường hợp khó chịu nhất :)
rld.

2
Đẹp. Thật không may, trong ConEmu, điều này ảnh hưởng đến con trỏ cho toàn bộ phiên. Điều đó nói rằng, nó hoạt động như mong đợi trong vim. Nó cũng hoạt động tốt trong trình giả lập thiết bị đầu cuối của Cygwin. Nhưng, ai sử dụng nó? ;)
George Marian

Gần như hoàn hảo ... nhưng khi rời chế độ chèn, nó sẽ trở về con trỏ dòng cho đến khi bạn di chuyển con trỏ theo một hướng nào đó.
Joe Coder

1
Làm việc cho tôi trong phiên bản Vim được cài đặt tự động với Cmder. Cảm ơn bạn!
Bangash

33

Có một thiết lập cho điều đó, trong trình giả lập thiết bị đầu cuối cygwin:

Nhấp chuột phải vào thanh tiêu đề cửa sổ> Tùy chọn> Trông> Con trỏ> Nút radio Con trỏ


Để hoàn thành, loại tùy chọn này giống như bất kỳ cửa sổ thiết bị đầu cuối cửa sổ nào khác, mà cygwin là.
mveroone

6
Pro: my .vimrccó thể tương thích hơn với Linux hoặc Windows của tôi .vimrc. Con: bây giờ tôi có con trỏ khối ở chế độ chèn, khi tôi muốn Icon trỏ ở chế độ đó. +1
Kazark

5
câu hỏi được hỏi về việc điều khiển con trỏ trong VIM nhưng câu trả lời này ảnh hưởng đến con trỏ cho toàn bộ phiên shell, cả tại dấu nhắc lệnh và trong VIM
David Alpert

1
@EdRandall đây là một câu hỏi về thiết bị đầu cuối Cygwin VÀ vim. Câu trả lời này liên quan đến phía Cygwin của câu hỏi.
19:30

1
Điều này không trả lời hoàn toàn câu hỏi. Vim sử dụng 2 loại con trỏ. Ở chế độ bình thường, trực quan hoặc lệnh, nó là một khối. Trong chế độ chèn, nó là một thanh dọc. Các hướng dẫn này dành cho thay đổi bán buôn trong trình giả lập thiết bị đầu cuối cụ thể (cygwin), mặc dù hầu hết nên có một cái gì đó tương tự. Vì vậy, nó ảnh hưởng đến con trỏ ở mọi nơi trong thiết bị đầu cuối và quan trọng hơn là nó không bắt chước chức năng con trỏ của vim.
George Marian

3

Tạo một tập tin ~/.minttyrc, thêm dòng dưới đây vào nó

CursorType=block

Sau đó khởi chạy lại mintty, đó là thiết bị đầu cuối mặc định của Cygwin.


0

Hoặc, bạn có thể tạo một tệp bó:

 %SYSTEMDRIVE%\cygwin\bin\mintty.exe ^
        -s 132,50 -o ScrollbackLines=10000 ^
        -o BackgroundColour=54,54,54 ^
        -o Transparency=High -o OpaqueWhenFocused=yes ^
        -o CursorColour=Green -o CursorType=block -o CursorBlinks=no ^
        -o Font=Consolas -o FontHeight=10 ^
        /bin/env CHERE_INVOKING=1 /bin/bash -l -i

Và chạy nó.

Nếu bạn không thích con trỏ nhấp nháy trong cửa sổ lệnh DOS, hãy sử dụng %COMSPEC%thay vì /bin/env/...và ngạc nhiên.

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.