1

У меня есть функция VIM в .vimrc которая вызывается несколькими сокращениями. Я хотел бы переместить эти сокращения в специфичные для PHP, специфичные для C и некоторые другие типы файлов, но они больше не видят функции в .vimrc как в области видимости. Как я могу увеличить объем функций в .vimrc?

РЕДАКТИРОВАТЬ: я пробовал это:

 - bruno:~$ cat .vimrc
set nocompatible
filetype plugin on
function! Hello()
   return "hello"
endfunction

 - bruno:~$ cat .vim/after/ftplugin/php.vim
abbr xyz <C-R>=Hello<CR>

Тем не менее, я получаю только E121: Undefined variable: Hello когда набираю "xyz" в файле .php. Я добавил префикс g: и к объявлению функции, и к вызову функции, но это тоже не помогло. Также это не помогло добавить префикс только к объявлению функции. Это на VIM 7.3, Kubuntu 12.10.

1 ответ1

5

Вы не привели пример функции и сокращения, которые не работают, поэтому невозможно сказать, что вы сделали неправильно. Вот пример функции в моем ~/.vimrc,

function! Hello()
   return "hello"
endfunction

и сокращение в ~/.vim/after/ftplugin/php.vim,

abbr xyz <C-R>=Hello()<CR>

эта работа, как ожидалось. Откройте новый файл php,

$ vim foo.php

тип

This is a test of xyx

и после нажатия клавиши пробела это становится

This is a test of hello 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .