LINUX.ORG.RU

Vim: как поместить результат функции в set?

 


0

4

В общем я хочу сделать вот так:

set complete += expand('%:p')
Но так не работает. Как правильно призваивать результат функции? И как правильно записывать то, что в руби писалось бы так
"#{a} #{b}"
и тоже присваивать.

Как ты докатился до вима?

Virtuos86 ★★★★★
()

Можно через execute.

bj
()
:let &complete .=  ',' . expand('%:p')

Только это некорректное значение для 'complete' — она просто имя файла не принимает, возможно вы s или k пропустили. Чего вы вообще сделать пытаетесь?

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)
Ответ на: комментарий от Zmicier

Это и хочу, чтобы слова из адреса и названия файла были доступны для complete. Наверно надо разбить через «/»..

special-k ★★★
() автор топика
Последнее исправление: special-k (всего исправлений: 2)
Ответ на: комментарий от special-k

Добавления отдельных слов, по ходу нет :\

Придется делать через временные словари.

special-k ★★★
() автор топика

можешь объяснить, если не затруднит, чем это полезно для руби в виме? Или в виме вообще.

redhat
()

Короче, я сделал так

call system("rm ~/.vim/tempdict")
call system("touch ~/.vim/tempdict")
set complete+=k~/.vim/tempdict
autocmd BufRead * call system("echo " . expand('%:p') . " >> ~/.vim/tempdict")

special-k ★★★
() автор топика
Ответ на: комментарий от redhat

Когда пишешь путь (чтобы не ошибаться в написании директорий). Если вим сканирует файлы, которые у меня открыты, то почему бы не добавить и имена всех файлов в список дополняемых слов. Помоему это упущение.

special-k ★★★
() автор топика
Последнее исправление: special-k (всего исправлений: 3)
Ответ на: комментарий от special-k

Когда пишешь путь (чтобы не ошибаться в написании директорий).

это автоматически делает neocomplete.

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

а вот этого не делает.

redhat
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.