В режиме командной строки VIM каков специальный символ/символ для текущей строки?

В VIM в режиме командной строки "%" обозначает текущий файл, "cword" обозначает текущее слово под курсором. Я хочу создать ярлык, где мне нужен номер текущей строки. Что означает этот символ?

Ответы

Ответ 1

Если вы хотите передать текущий номер строки команде оболочки, вы можете сделать

:exe "!echo " . line(".")

Ответ 2

. (точка) обозначает текущую строку.

Чтобы уточнить: Это предназначено для таких вещей, как :1,.s/foo/bar/g, которые преобразуют каждый foo в bar с самого начала файла до текущей строки.

Я не знаю, как можно получить текущий номер строки, расширенный для команды оболочки, и это то, что вы пытаетесь сделать, выполнив :!echo .

Вы можете узнать о выполненных расширениях (например, % и #) в :he cmdline-special.

Ответ 3

Чтобы вернуть номер строки текущей строки внизу экрана, используйте:

:.=       

Ответ 4

Команды в vim работают над текущей строкой так:

:s/foo/bar/g

преобразует каждый foo в строку в строке, в которой вы сейчас находитесь.