использование переменных в аргументах команд

и другие vi-подобные редакторы

Модератор: /dev/random

Ответить
pol01
Сообщения: 94

использование переменных в аргументах команд

Сообщение pol01 »

Приветствую всех.

Хочу изменить размер текущего окна на величину, которая храниться в переменной.

Делаю вот так:

Код: Выделить всё

let myvar=100
resize myvar


Текущее окно становится высотой в одну линию. При этом echo myvar выдает 100. Что я делаю не так и как будет правильно?
Спасибо сказали:
Аватара пользователя
ZyX
Сообщения: 355
ОС: Gentoo

Re: использование переменных в аргументах команд

Сообщение ZyX »

pol01 писал(а):
06.04.2011 21:02
Приветствую всех.

Хочу изменить размер текущего окна на величину, которая храниться в переменной.

Делаю вот так:

Код: Выделить всё

let myvar=100
resize myvar


Текущее окно становится высотой в одну линию. При этом echo myvar выдает 100. Что я делаю не так и как будет правильно?
Неправильно читаете документацию: если явно не сказано, что в некотором месте может быть использована переменная (или, чаще, выражение), то в этом месте она не может быть использована: в данном случае вместо подстановки значения переменной имеет место быть приведение строки к числу. Строке "myvar" соответствует число 0, так как она не начинается с цифры.

Правильный вариант: execute "resize" myvar.
Спасибо сказали:
pol01
Сообщения: 94

Re: использование переменных в аргументах команд

Сообщение pol01 »

ZyX писал(а):
06.04.2011 21:21
pol01 писал(а):
06.04.2011 21:02
Приветствую всех.

Хочу изменить размер текущего окна на величину, которая храниться в переменной.

Делаю вот так:

Код: Выделить всё

let myvar=100
resize myvar


Текущее окно становится высотой в одну линию. При этом echo myvar выдает 100. Что я делаю не так и как будет правильно?
Неправильно читаете документацию: если явно не сказано, что в некотором месте может быть использована переменная (или, чаще, выражение), то в этом месте она не может быть использована: в данном случае вместо подстановки значения переменной имеет место быть приведение строки к числу. Строке "myvar" соответствует число 0, так как она не начинается с цифры.

Правильный вариант: execute "resize" myvar.


Спасибо!
Спасибо сказали:
Sleeping Daemon
Сообщения: 1450
Контактная информация:

Re: использование переменных в аргументах команд

Сообщение Sleeping Daemon »

pol01 писал(а):
06.04.2011 21:02
Приветствую всех.

Хочу изменить размер текущего окна на величину, которая храниться в переменной.

Делаю вот так:

Код: Выделить всё

let myvar=100
resize myvar


Текущее окно становится высотой в одну линию. При этом echo myvar выдает 100. Что я делаю не так и как будет правильно?

Может resize $myvar
Спасибо сказали:
Lan4
Сообщения: 339
Статус: hikki
ОС: Arch

Re: использование переменных в аргументах команд

Сообщение Lan4 »

Sleeping Daemon писал(а):
08.04.2011 12:31
Может resize $myvar

Не-не, эффект будет тот же самый.
Спасибо сказали:
Ответить