2008-09-15 45 views
20

Trong khi CtrlX hoạt động tốt trong vim dưới cửa sổ, CtrlMột chọn tất cả (duh).Làm thế nào để tăng trong vim dưới cửa sổ (nơi tổ hợp phím CTRL-A không hoạt động ...)

Có cách nào để tăng số bằng phím tắt trong cửa sổ không?

+0

Nếu bạn không muốn chọn tất cả các hành vi, tôi nghĩ bạn có thể làm ': nunmap ' để quay trở lại với hành vi tăng mặc định. – xdhmoore

Trả lời

4

Thử Ctrl-NumPad +?

(from here)

+4

cảm ơn. chỉ để hoàn thành câu trả lời, bạn cũng cần phải: : noremap

+2

Liên kết đã chết ngay bây giờ. Chỉ là một lời nhắc thân thiện, tôi biết câu trả lời này đã gần 3 tuổi :) –

+0

Thay thế http://www.vim.org/tips/tip.php?tip_id=305 bằng liên kết archive.org ... –

7

Bạn có thể làm CtrlMột để tăng trong các cửa sổ bằng cách mở file 'mswin.vim' trong thư mục vim của bạn và tìm kiếm các phần đó trông giống như:

" CTRL-A is Select all 
noremap <C-A> gggH<C-O>G 
inoremap <C-A> <C-O>gg<C-O>gH<C-O>G 
cnoremap <C-A> <C-C>gggH<C-O>G 
onoremap <C-A> <C-C>gggH<C-O>G 
snoremap <C-A> <C-C>gggH<C-O>G 
xnoremap <C-A> <C-C>ggVG 

Comment ra tất cả những dòng như sau:

" CTRL-A is Select all 
"noremap <C-A> gggH<C-O>G 
"inoremap <C-A> <C-O>gg<C-O>gH<C-O>G 
"cnoremap <C-A> <C-C>gggH<C-O>G 
"onoremap <C-A> <C-C>gggH<C-O>G 
"snoremap <C-A> <C-C>gggH<C-O>G 
"xnoremap <C-A> <C-C>ggVG 

CtrlPhím tắt sẽ tăng.

Đây là một lựa chọn khá hay khi bàn phím của bạn không có bàn phím số thực.

+0

Là người dùng Linux chính, điều này đã giúp tôi sử dụng cùng một điều khiển – Pavan

3

tôi sửa đổi giải pháp TMealy sao cho CtrlMột vẫn sẽ chọn tất cả (tôi thấy hữu ích này), trong khi Ctrltôi increments (còn hữu ích).

noremap <C-I> <C-A> 

" CTRL-A is Select all 
noremap <C-A> gggH<C-O>G 
inoremap <C-A> <C-O>gg<C-O>gH<C-O>G 
cnoremap <C-A> <C-C>gggH<C-O>G 
onoremap <C-A> <C-C>gggH<C-O>G 
snoremap <C-A> <C-C>gggH<C-O>G 
xnoremap <C-A> <C-C>ggVG 
+3

nhưng Ctrl-I là để nhảy tới vị trí con trỏ mới hơn. – Jichao

+0

đối với tôi ': noremap ' đang hoạt động. Cảm ơn Paul –

5

Tôi nhận thấy đây là câu hỏi cũ, nhưng tôi đã chạy qua một tùy chọn khác hôm nay dựa trên câu hỏi sau. Làm hành gvim như nó trên Linux sẽ cho phép tổ hợp phím CTRL-A để làm việc như bạn mong đợi nó:

how to make gvim on windows behave exacly like linux console vim?

Có một phần của _vimrc có các mục sau đây. Điều này khiến nhiều nhân vật điều khiển hành động giống như họ làm trên Windows.

set nocompatible 
source $VIMRUNTIME/vimrc_example.vim 
source $VIMRUNTIME/mswin.vim 
behave mswin 

Tôi nhận xét ra (với ") các dòng mswin và set nocompatible dòng. Từ đó, tôi đã thêm set compatible. Điều này làm cho gvim hoạt động giống như trên Linux. Vì vậy, tôi trông giống như:

set compatible 
source $VIMRUNTIME/vimrc_example.vim 
"set nocompatible 
"source $VIMRUNTIME/mswin.vim 
"behave mswin 

Tôi vừa học được mẹo này hôm nay, vì vậy nếu tôi không hoàn toàn chính xác trong thông tin của mình, vui lòng cho tôi biết.

2

Sự cố tương tự xảy ra trong GNU/Linux khi sử dụng Vim với mswin.vim. Remapping Alt +X để Ctrl +Một trước gợi lên mswin.vim giải quyết vấn đề của tôi.

execute "set <A-x>=\ex" 
noremap <A-x> <C-A> 
source $VIMRUNTIME/mswin.vim 
behave mswin 

Bây giờ, Alt +XCtrl +X tương ứng tăng và giảm số trong Vim.

Ánh xạ tới Alt tổ hợp phím thường không hiển nhiên trong Vim; đọc thêm về điều này here.

0

Tôi đang sử dụng thiết bị đầu cuối Cygwin + màn hình, vì vậy < c-a> được chụp bởi bộ ghép kênh đầu cuối. Tôi sử dụng bản đồ này:

: noremap < c-i> < c-a>

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