Tôi biếtlệnh cho Toggling số dòng trong vi
:set number
và
: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ị.
Tôi biếtlệnh cho Toggling số dòng trong vi
:set number
và
: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ị.
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
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.
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.
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>
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