2013-02-20 24 views
31

Tôi biếtlệnh cho Toggling số dòng trong vi

:set number 

:set nonumber 

Tôi muốn biết liệu có bất kỳ lệnh trong vi/vim

:set togglenumber 

để hiển thị dòng nếu số dòng không hiển thị hoặc ẩn số dòng nếu số dòng đang hiển thị.

+4

hoặc 'set number!' hoặc 'invnumber'. Xem thêm [bảng này] (http://stackoverflow.com/questions/9306914/how-can-i-get-all-the-abbreviations-of-vims-options/9312070#9312070) Tôi đã thực hiện một thời gian trước đây. – Benoit

Trả lời

54

Bạn có thể sử dụng (trên VIM ít nhất):

: set invnumber

More Info:

:set number  Turn line numbers on 
:set nonumber Turn line numbers off 
:set invnumber Toggle line numbers 
:set number!  Toggle line numbers 
:set number&  Set option to default value 
:set number?  Show value of option 

nguồn: http://vim.wikia.com/wiki/Managing_set_options#Boolean_options

11

Trong vim, nhiều tùy chọn hỗ trợ mẫu set này, (ví dụ: foo):

"enable the option 
set foo 

"disable it 
set nofoo 

"toggle the option 
set foo! 

"get option's current value 
set foo? 

cho number, ánh xạ một chìa khóa để :set nu! sẽ là ok.

10

Bạn có thể chuyển đổi bất kỳ tùy chọn (boolean) nào bằng hậu tố !, tức là :set number! sẽ chuyển đổi hiển thị số dòng.

Trợ giúp trên bo mạch cho lệnh này bị ẩn một chút; trong khi một người sẽ nghĩ rằng :help toggle sẽ đưa bạn đến đó, nó không hoàn toàn. Sử dụng :help set-! là từ kỳ diệu.

1

Tôi sử dụng số dòng tương đối, cho tất cả các dòng ở trên và dưới dòng hiện tại, cùng với đánh số dòng tuyệt đối cho dòng hiện tại. Nhưng điều này chỉ làm việc kể từ Vim 7.4.

đôi khi được đặt tên là “Hybrid” dòng đánh số này (ví dụ trong bài viết https://jeffkreeftmeijer.com/vim-number/)

Để chuyển đổi từ "không có số ở tất cả" để "lai" bạn có thể sử dụng các cấu hình sau:

set number relativenumber " Turn line numbering on at startup 
" Toggle line numbers from none at all 
" to relative numbering with current line number 
noremap <F3> :set invnumber invrelativenumber<CR> 
Các vấn đề liên quan