Каковы Ваши предложения для идеальной конфигурации Vim для разработки Perl?

Используйте блок. GetTypes () - это получит Вас набор всех типов, и затем можно получить свойство Namespace для каждого из них.

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

58
задан 13 revs, 3 users 98% 18 August 2016 в 17:37
поделиться

9 ответов

Из блога chromatic (немного адаптировано, чтобы иметь возможность использовать одно и то же отображение во всех режимах).

vmap ,pt :!perltidy<CR> 
nmap ,pt :%! perltidy<CR>

hit , pt в нормальном режиме для очистки всего файла или в визуальном режиме для очистки выделения. Вы также можете добавить:

imap ,pt <ESC>:%! perltidy<CR>

Но использовать команды из режима ввода не рекомендуется.

4
ответ дан 24 November 2019 в 19:10
поделиться
" Create a command :Tidy to invoke perltidy.
" By default it operates on the whole file, but you can give it a
" range or visual range as well if you know what you're doing.
command -range=% -nargs=* Tidy <line1>,<line2>!
    \perltidy -your -preferred -default -options <args>
3
ответ дан 24 November 2019 в 19:10
поделиться

Вот пара моих настроек .vimrc. Возможно, они не относятся к Perl, но я не смог бы без них работать:

set nocompatible        " Use Vim defaults (much better!) "
set bs=2                " Allow backspacing over everything in insert mode "
set ai                  " Always set auto-indenting on "
set showmatch           " show matching brackets "

" for quick scripts, just open a new buffer and type '_perls' "
iab _perls #!/usr/bin/perl<CR><BS><CR>use strict;<CR>use warnings;<CR>
1
ответ дан 24 November 2019 в 19:10
поделиться

.vimrc:

" Allow :make to run 'perl -c' on the current buffer, jumping to 
" errors as appropriate
" My copy of vimparse: http://irc.peeron.com/~zigdon/misc/vimparse.pl

set makeprg=$HOME/bin/vimparse.pl\ -c\ %\ $*

" point at wherever you keep the output of pltags.pl, allowing use of ^-]
" to jump to function definitions.

set tags+=/path/to/tags
1
ответ дан 24 November 2019 в 19:10
поделиться

См. Также perl-support.vim (Perl IDE для Vim / gVim). Поставляется с предложениями по настройке Vim (.vimrc), gVim (.gvimrc), ctags, perltidy и Devel: SmallProf помимо многих других.

3
ответ дан 24 November 2019 в 19:10
поделиться

Вот интересный модуль, который я нашел на выходных: App :: EditorTools :: Vim . Его наиболее интересной особенностью является способность переименовывать лексические переменные. К сожалению, мои тесты показали, что он, похоже, еще не готов для любого производственного использования, но, похоже, за ним стоит следить.

1
ответ дан 24 November 2019 в 19:10
поделиться

Лучшие практики Perl содержат приложение о конфигурациях редактора . vim - первый редактор в списке.

3
ответ дан 24 November 2019 в 19:10
поделиться

Энди Лестер и другие поддерживают официальные файлы поддержки Perl, Perl 6 и Pod для Vim на Github: https://github.com/vim-perl/vim-perl

3
ответ дан 24 November 2019 в 19:10
поделиться

У меня 2.

Первый, который я знаю, я взял его часть от кого-то другого, но не могу вспомнить, кто. Извините, неизвестный человек. Вот как я заставил автозавершение "C ^ N" работать с Perl. Вот мои команды .vimrc.

" to use CTRL+N with modules for autocomplete "
set iskeyword+=:
set complete+=k~/.vim_extras/installed_modules.dat

Затем я настроил cron для создания файла installed_modules.dat. Моя предназначена для моей системы мандривы. Отрегулируйте соответственно.

locate *.pm | grep "perl5" | sed -e "s/\/usr\/lib\/perl5\///" | sed -e "s/5.8.8\///" | sed -e "s/5.8.7\///" | sed -e "s/vendor_perl\///" | sed -e "s/site_perl\///" | sed -e "s/x86_64-linux\///" | sed -e "s/\//::/g" | sed -e "s/\.pm//" >/home/jeremy/.vim_extras/installed_modules.dat

Второй позволяет мне использовать gf в Perl. Gf - это ярлык для других файлов. просто поместите курсор на файл и введите gf, и он откроет этот файл.

" To use gf with perl "
set path+=$PWD/**,
set path +=/usr/lib/perl5/*,
set path+=/CompanyCode/*,   " directory containing work code "
autocmd BufRead *.p? set include=^use
autocmd BufRead *.pl set includeexpr=substitute(v:fname,'\\(.*\\)','\\1.pm','i')
1
ответ дан 24 November 2019 в 19:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: