Как отобразить специальные символы, такие как%, <cfile>в Vim? - PullRequest
2 голосов
/ 20 декабря 2011

Скажите, что я хочу посмотреть, в каком каталоге я нахожусь, я набираю

:echo .

и получаю сообщение об ошибке:

E15:Invalid expression .

Как я могу отобразить эти специальные символы, такие как %, ., <cfile>?

Ответы [ 2 ]

6 голосов
/ 20 декабря 2011

Вам нужно использовать expand()

Например

:echo expand("%:h")

печатает фактический каталог (буфера тока).

Смотри также :help expand

Если вы хотите узнать о current-directory (который не зависит от буфера), вам просто нужно набрать :pwd. (См :help current-directory)

(Изменить: изменено с :cd на :pwd согласно комментарию ib).

4 голосов
/ 20 декабря 2011

Существует специальная команда для печати текущего пути к каталогу,

:pwd

(См. :help :pwd и весь раздел «Текущий каталог» Vim помощь, :h current-directory.)

Чтобы быстро узнать, по каким путям расширены специальные параметры командной строки Vim, используйте

:echo expand('%:p:h')

или, короче,

:!echo %:p:h

Первая команда основана на функции expand(), которая расширяет символы подстановки и специальные ключевые слова в данном аргументе (см. :help expand). Последний Команда использует тот факт, что подстановочные знаки раскрываются перед запуском внешняя команда (см. :help cmdline-special).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...