Vim: неопределенные переменные не отмечены - PullRequest
13 голосов
/ 07 сентября 2010

В последнее время я делал пару ошибок при рефакторинге в Vim, результатом были неопределенные и неиспользованные переменные. Любая приличная среда разработки (например, NetBeans) пометит их как таковые, но я еще не встречал плагин Vim, который делает то же самое.

Кто-нибудь может мне помочь? Я в основном программирую на PHP.

Ответы [ 5 ]

3 голосов
/ 08 сентября 2010

Там должно быть решением с плагином Syntastic , на котором вам нужно будет установить статический анализатор PHP-кода, например PHPLint .

Однако я никогда не тратил некоторое время, чтобы проверить это!

Другие программы PHP можно найти в этом SO ответе .

1 голос
/ 22 сентября 2010

Вы можете запустить анализатор PHP-кода Zend из VIM. Я в настоящее время делаю это. Подвох в том, что Zend Code Analyzer больше не упаковывается как отдельный двоичный файл при установке Zend Studio. Я не уверен, какую ОС вы используете. Я работаю на OS X. Если у вас еще нет бинарного файла, используйте шаги 1 и 2 на этом сайте, чтобы получить его - http://michalf.me/blog:zend-code-analyzer-in-textmate. Возможно, вам придется настроить для вашей ОС.

После получения двоичного файла добавьте следующее в ваш .vimrc и замените / usr / local / ... на путь к вашему ZendCodeAnalyzer.

if !exists("autocommands_loaded")

  let autocommands_loaded = 1
  "PHP Make 
  autocmd BufRead *.inc,*.php set makeprg=/usr/local/bin/ZendCodeAnalyzer\ %
  autocmd BufRead *.inc,*.php set errorformat=%f(line\ %l):\ %m

endif

map <F7> :silent lmake<cr>:lwindow <cr>:redraw!<cr>

Теперь, когда вы вводите F7, он запускает make, который настроен на запуск ZendCodeAnalyzer. Это поместит результаты в список местоположений -: местоположение справки. Вы можете прокрутить список местоположений и нажать клавишу ввода в строке, и вы попадете на эту строку в вашем файле. Если он ничего не найдет, он ничего не откроет.

1 голос
/ 13 сентября 2010

Ну, это может быть не то, что вы ищете, но если у вас должны быть привязки клавиш Vim (я знаю, что они мне нужны), то jVi переносит это в NetBeans.Я не знаю, подходит ли вам этот вариант, но, возможно, это поможет.

0 голосов
/ 16 января 2013

Я не уверен, насколько интеллектуален этот плагин, но он, кажется, делает то, что вы хотите: https://github.com/vim-scripts/php_localvarcheck.vim

0 голосов
/ 10 сентября 2010

При переименовании переменных в весь тип файла в строке vi cmd:

:% s / \ $ Старое_имя / \ $ NEWNAME /

При переименовании строки между 14 и 21 (например, внутри функции) введите

: 14,21s / \ $ Старое_имя / \ $ NEWNAME /

При рекурсивном переименовании vars в каталоге типа в строке vi cmd:

:! find DIRECTORY_PATH -name "* .php" | xargs sed -ni 's / \ $ oldName / \ $ newName /'

Сделайте резервную копию папки, прежде чем избежать головной боли. ;)

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