2014-01-28 5 views
7

EDIT:Настройка Vim автозаполнения для языка программирования Go

Я вообще интересно узнать, как люди имели их идти автозаполнения создан для Vim и искал консультации по нему.

, относящиеся к моему первоначальному вопросу, я думаю, что я знаю, что могу просто пойти:

https://github.com/nsf/gocode

копировать файлы, которые они предоставляют туда и просто начать использовать ВИМ автозаполнения. Тем не менее, я хотел знать, что думают люди, и как сообщество go-go создает автозаполнение vim.

Кроме того, я следил за инструкциями, которые были там размещены, и я все еще не могу сделать автозаполнение работой для своего входа в vim. Поэтому я ищу другие альтернативы или идеи о том, как заставить его работать. Не знаю, в чем проблема. В настоящее время, когда я пытаюсь автозаполнять, он просто записывает слово PANIC вместо того, чтобы показывать мне варианты автозаполнения.

ORIGINAL:

Я пытался настроить мой Vim таким образом, чтобы он мог автоматически завершить язык программирования Go, однако, я, следуя инструкциям на следующей странице:

https://github.com/nsf/gocode

и я не был уверен, что они имели в виду, и я немного боялся, что, возможно, изменил мой vim, созданный таким образом, что это может повредить, сделав это неправильно.

Первое, что смутило меня это говорит:

Install official Go vim scripts from $GOROOT/misc/vim. If you did that already, proceed to the step 2. 

Однако, я не был уверен, что это даже означало. Я перешел в этот каталог в моем терминале и прочитал файл readme.txt, и я сказал, как активировать подсветку синтаксиса, которую я уже имел. Это все, что я должен сделать для этого шага?

На шаге 2 говорится:

сделать:

vim/update.sh 

Они фактически предоставляют код, update.sh это, но я не был уверен, что начало команды ф означает то есть его:

#!/bin/sh 
mkdir -p "$HOME/.vim/autoload" 
mkdir -p "$HOME/.vim/ftplugin/go" 
cp "${0%/*}/autoload/gocomplete.vim" "$HOME/.vim/autoload" 
cp "${0%/*}/ftplugin/go/gocomplete.vim" "$HOME/.vim/ftplugin/go" 

Но что делает часть $ {0%/*}? и даже если я знаю, что такое update.sh, где я даже запускаю это, так как этот vim/update.sh выполняется по относительному пути?

Я знаю, что update.sh хочет, чтобы я скопировал некоторые файлы в $ HOME/.vim/ftplugin/go и $ HOME/.vim/autoload, но я даже сделал поиск от ~ и не смог найти такие файлы, поэтому я не уверен, что копировать. Я знаю, куда он должен идти, но не там, где есть файл. Кто-нибудь знает, где эти файлы, или более простое или подробное объяснение того, как сделать vim автозаполнением для go?

Спасибо за помощь заранее! :)


Некоторые из проблем, которые я обнаружил, что у меня есть, не уверен, что его следовало ожидать, но в $ GOROOT/разное/ВИМ/ftplugin/ехать не есть файл gocomplete.vim в все.У меня есть другие вещи, которые кажутся нерелевантными, как fmt.vim import.vim и файл test.sh.

Но странно, что в $ GOROOt/misc/autoload у меня нет файла gocomplete.vim, но вместо этого у меня есть файл complete.vim. Не уверен, что то же самое или почему имя файла изменилось бы. Во всяком случае, у них есть автозаполнение, и разум разделяет то, что у них есть, и если они знают, какие различия могут быть с тем, с чем я столкнулся? Благодаря!


ПРИСОЕДИНЕНИЕ на вопрос

Я также обычно заинтересованы в том, как другие люди имеют свой автозаполнение набор для их идти в Vim. Не стесняйтесь поделиться этим!

+2

Подробнее о [Shell Parameter Expansion] (http://www.gnu.org/software/bash/manual/bashref.html#Shell-Parameter-Expansion). – devnull

ответ

3

Вы уже выполнили команду update.sh? Я довольно уверен, что это сработает.

Вся ваша конфигурация Vim хранится в ~/.vim/, ~/.vimrc и ~/.gvimrc (с Vim 7.4 вы можете поместить последние два также в первый каталог). Чтобы создать резервную копию вашей конфигурации Vim, просто сохраните ее где-нибудь (или поместите все ваши файлы в соответствии с управлением версиями, как это многие делают сейчас).

${0%/*} манипулирует имя файла скрипта ($0) как dirname делает: Это не отрезает имя файла сценария сам (все в конце * до последнего /). С помощью этого вы можете вызывать скрипт из любого места, например. $GOROOT/misc/vim/update.sh или cd misc; vim/update.sh или cd misc/vim; ./update.sh.

Сценарий также гарантирует существование поддиректоров autoload и ftplugin и создает их, если они еще не установлены. Просто попробуй!

+0

Выполняя команду update.sh, я понимаю, что она запускает этот файл. Я просто вручную создаю этот файл и запускаю код, который они предоставили? Но где я его запускаю? В ~? Я попробую ... – Pinocchio

+0

Он сказал, что разрешение отказано, должен ли я просто это делать? Но мне не нравится делать команды sudo, если я не уверен, что я делаю ... :( – Pinocchio

+1

'sudo' не требуется, так как это все в вашем каталоге пользователя. Я подозреваю, что скрипт' update.sh' сам не выполним, используйте 'chmod + x vim/update.sh', затем' vim/update.sh' снова. –

Смежные вопросы