Ответ 1
Если вы хотите передать текущий номер строки команде оболочки, вы можете сделать
:exe "!echo " . line(".")
В VIM в режиме командной строки "%" обозначает текущий файл, "cword" обозначает текущее слово под курсором. Я хочу создать ярлык, где мне нужен номер текущей строки. Что означает этот символ?
Если вы хотите передать текущий номер строки команде оболочки, вы можете сделать
:exe "!echo " . line(".")
. (точка) обозначает текущую строку.
Чтобы уточнить:
Это предназначено для таких вещей, как :1,.s/foo/bar/g
, которые преобразуют каждый foo
в bar
с самого начала файла до текущей строки.
Я не знаю, как можно получить текущий номер строки, расширенный для команды оболочки, и это то, что вы пытаетесь сделать, выполнив :!echo .
Вы можете узнать о выполненных расширениях (например, %
и #
) в :he cmdline-special
.
Чтобы вернуть номер строки текущей строки внизу экрана, используйте:
:.=
Команды в vim работают над текущей строкой так:
:s/foo/bar/g
преобразует каждый foo в строку в строке, в которой вы сейчас находитесь.