it-roy-ru.com

Получение текущего номера строки?

Существует ли какое-либо сопоставление клавиш, которое выводит текущий номер строки редактируемой строки? Или, что еще лучше, можем ли мы создавать формулы на основе результатов сопоставления клавиш? 

Я хочу получить номер строки и добавить 1 к текущему редактируемому тексту. 

40
pacv

Ответ был дан @ZyX в комментарии к другому ответу:

У вас есть <C-r> в режиме вставки для такого рода вещей: 

nnoremap <F1> i<C-r>=line('.')+1<CR><Esc>

4
pacv

Ctrl+GВы можете узнать больше о нем, если вы не знаете, что это такое. С этой целью вы можете ознакомиться с документами, приведенными в документах, и далее.

43
Eric

Что вы подразумеваете под "выходом"? Ты можешь сделать:

:echo line(".") + 1

Чтобы отобразить номер текущей строки плюс 1. Вы можете связать нажатие клавиши с помощью map, например:

:noremap <F1> :echo line(".") + 1<cr>

Чтобы фактически вставить данные в буфер:

:noremap <F1> :execute "normal! i" . ( line(".") + 1 )<cr>
34
William Pursell

Вы можете получить визуальную ширину текущей позиции курсора с помощью virtcol('.'); вставьте это в буфер через регистр выражений, например, в режиме вставки с <C-R>=virtcol('.')<CR>

Обратите внимание, что ширина отличается от количества символов, если строка содержит символы двойной ширины, <Tab> или непечатаемые символы.

1
Ingo Karkat

1. Используйте :set ruler. (Работает только в vim) Справка

В правом нижнем углу окна отображается текущая строка и столбец редактируемой строки (строка, в которой находится курсор).

1,1 <position>

  1. Если редактируется первая строка, позиция Top.
  2. Если последняя строка редактируется, позиция Bot.
  3. Если прокрутка недоступна (видны как начальная, так и конечная строки), позиция All
  4. Если первая и последняя строки не видны, позиция - это процент видимого документа.

Чтобы сделать его постоянным, добавьте set ruler в файл ~/.vimrc (если файла нет, создайте его).

2. Используйте :set number. (Работает как в vi и vim) Справка

Отображение номера строки перед каждой строкой.

0
Vignesh Raja