Vim: переназначить клавишу для переключения нумерации строк

Я добавил:

set number
nnoremap <F2> :set nonumber!

в мой файл vimrc. По сути, он должен был позволить мне нажать F2, чтобы переключить нумерацию строк, но это не работает. Что я сделал не так?


person Nope    schedule 17.04.2009    source источник


Ответы (5)


В .vimrc добавьте следующее:

set number
nnoremap <F2> :set nonumber!<CR>

Затем нажатие F2 переключит нумерацию строк.

person Taurus Olson    schedule 17.04.2009
comment
Это отлично работает для меня, но просто любопытно, как nonumber! реализовать функцию переключения? - person Wei Lin; 14.04.2015
comment
В последней версии vim добавьте :set nonumber! norelativenumber!, если вы используете как числовое, так и относительное число. - person mtk; 07.06.2016

Это то, что я использую (с другой привязкой клавиш):

nmap <f2> :set number! number?<cr>

Номер!" переключает настройку и «число?» сообщает государство.

person Jeremy Cantrell    schedule 18.04.2009

nmap <silent> <F11> :exec &nu==&rnu? "se nu!" : "se rnu!"<CR>

В новом vim вы можете сразу установить как относительное число, так и число, следующим образом:

set nu rnu

введите здесь описание изображения

person SergioAraujo    schedule 05.06.2011
comment
Спасибо за это, отлично подходит для любого переключения, а не только для переключения чисел. - person Hassek; 19.01.2012
comment
новый в одну сторону nmap <silent> <F11> :exec &nu==&rnu? "se nu!" : "se rnu!"<CR> - person SergioAraujo; 31.01.2012

Это один метод:

map <silent> <F2> :if &number <Bar>
    \set nonumber <Bar>
        \else <Bar>
    \set number <Bar>
        \endif<cr>

(это хорошо, потому что я обычно добавляю сюда и foldcolumn)

Это другое:

map <silent> <F2> :set invnumber<cr>

(прямой метод)

person Rook    schedule 18.04.2009
comment
Я только что использовал второй метод, которым вы поделились с нами. Это то, что я предпочитаю, спасибо :) - person lucapette; 07.01.2011
comment
Второй способ гораздо правильнее и проще всего здесь (пока). Это должен был быть отдельный и принятый ответ. - person Alois Mahdal; 12.04.2013

Я использую это для переключения между относительным номером (с текущим абсолютным номером строки) и без нумерации строк.

nnoremap <silent> <leader>l :set relativenumber! <bar> set nu!<CR>
person DaftWooly    schedule 25.07.2016