По крайней мере, я всегда раскомментирую "синтаксис" в / etc / vim / vimrc
Во-первых, если вы работаете с несколькими компьютерами, подумайте о том, чтобы ~/.vim/
, ~/.vimrc
и другие полезные файлы конфигурации (screen
, ваша оболочка и т. д.) в системе контроля версий. Я предпочитаю использовать darcs
- это дешево в системах Debian (не нужно устанавливать компилятор Haskell, просто установите пакет напрямую), распространяется и имеет отличные интерактивные режимы. Если вы знаете / любите git
, вы также можете придерживаться этого.
Мои текущие файлы конфигурации доступны в моем репозитории darcs, http://repo.harnir.net/
. Некоторые конкретные примеры из моих ~/.vimrc
следовать. К сожалению, нет ссылок на скрипты и т. Д., Потому что я новый пользователь, но все, что вы можете найти на http://vim.org/
.
сценарий резервного копирования необходим при редактировании удаленных файлов. я использую cbackup.vim скрипт, который сохраняет последние 10 копий каждого отредактированного файла в центральном каталоге и автоматически удаляет старые - просто поместите в свой ~/.vim/plugins/
каталог и забудьте об этом :-)
Список заданий позволяет быстро искать FIXME
, XXX
и TODO
теги в текущем файле, отобразите их и перейдите к тегу одним нажатием клавиши. Если вы используете эти теги, подумайте об установке этого
dbext необходим для всех администраторов баз данных, а также очень полезен для программистов, работающих с базами данных. Давайте запустим запросы, проверим структуру баз данных и все такое. По сути, это интерфейс для таких инструментов, как mysql
, sqlite3
, sqlplus
и другие. Если вы работаете с базами данных, это обязательно!
Я не видел много полезного синтаксиса в дикой природе, большинство файлов, с которыми работают системные администраторы, являются конфигурациями в /etc
и они обычно довольно хорошо выделены. В моем ~/.vim/syntax/
В настоящее время у меня есть синтаксис для Цвета CSS, что здорово (также хорошо для веб-разработчиков), но остальное написано не очень хорошо, я, возможно, обновлю их в свободное время. Дополнительные файлы синтаксиса, которые стоит иметь: dhcpd.conf, / etc / network /интерфейсы, nginx файлы конфигурации и SpamAssassinэто local.cf.
Полезный совет по синтаксису: если файл конфигурации не распознается (имеет странное имя, например /etc/apache2/sites-enabled/some.domain.com
, вы можете добавить к его имени правильное расширение (в данном случае .conf
) или добавьте в конец модельную строку ViM:
# vim:filetype=apache
Большинство вариантов конфигурации очень популярны, например set nocompatible ruler
и т.д. Очень хорошие варианты:
set gdefault
: инвертирует g
режим в s///g
- с этой опцией /g
будет использоваться по умолчанию, поэтому вам не нужно добавлять его каждый раз - просто добавьте, чтобы выключить
set incsearch ignorecase smartcase hlsearch
: необходим для поиска в файлах - инкрементальный, показывает совпадения в реальном времени, поиск игнорирует регистр, если вы не используете заглавные буквы
set pastetoggle=<F6>
: или другая клавиша, которую вы предпочитаете, переключает между paste
и nopaste
режимы, обязательно, если вы копируете что-то с веб-страниц, таких как ServerFault :-)
set noerrorbells visualbell t_vb=
: избавьтесь от надоедливого звонка или визуального звонка каждый раз, когда вы что-то делаете;)
вставьте свое имя пользователя и текущую дату в файл, это полезно, если вы работаете в команде и добавляете в файлы комментарии о том, кто и когда что-то изменил. Просто пиши xxsig
и нажмите пробел, он будет изменен на что-то вроде harnir 20090531
. Чтобы это работало правильно с root (т.е. напишите свое имя пользователя вместо root
), вам необходимо войти в систему, используя sudo
.
iabbrev xxsig <Esc>:r ![ -n "$SUDO_USER" ] && echo "$SUDO_USER `date '+\%Y\%m\%d'`" \|\| echo "$USER `date '+\%Y\%m\%d'`"<CR>I<BS><Esc>A
Вставьте «строки» комментария, например # -- Some title -------------------{{{1
, длина 78 символов - нажмите \com#
в нормальном режиме и вот оно. Вы автоматически перейдете в режим замены и сможете добавить заголовок:
nmap \com# O# <Esc>72A-<Esc>3A{<Esc>A1<Esc><Home>4<Right>R<Space>
Вы можете легко изменить его для других систем комментариев ("
, //
и т. д.), или просто проверьте мой файл конфигурации.
Если у вас есть файлы конфигурации в системе RCS, вы можете иногда включать параметры конфигурации, специфичные для определенной машины. Для этого хорошо иметь ~/.vimrc.local
файл, автоматически включаемый в конце конфигурации (если он, конечно, присутствует).
if filereadable(expand("~/.vimrc.local")) source ~/.vimrc.local endif
Не совсем уверен, какая часть этого конкретно связана с системным администратором, но мои основные моменты:
syntax on
set background=dark
set shiftwidth=2
set tabstop=2
if has("autocmd")
filetype plugin indent on
endif
set showcmd " Show (partial) command in status line.
set showmatch " Show matching brackets.
set ignorecase " Do case insensitive matching
set smartcase " Do smart case matching
set incsearch " Incremental search
Я также всегда проверяю, есть ли у машины доступ к файл подсветки синтаксиса nginx.
Если вы обычно работаете с пользователем, это позволяет «передать» файл в sudo, чтобы его можно было сохранить.
cmap w!! %!sudo tee > /dev/null %
используйте команду:
:w!!
вызвать sudo и сохранить файл.
Наш технический директор имеет довольно функциональный Конфигурация Vim на GitHub.
Особенности:
Я считаю, что он отлично подходит для программирования на Ruby, поскольку наши инструменты системного администрирования написаны на Ruby.
Вы также можете посмотреть на этот вопрос SO: Что в вашем vimrc?
Бесстыдная пробка. На самом деле это не изменение .vimrc, а скорее плагин VIM. Я использую RCSVers на каждой установленной версии VIM. Обычно он использует команду RCS для сохранения версии любого редактируемого файла. Вы не знаете, сколько раз я испортил файл конфигурации только для того, чтобы RCSVers спасли меня, показав мне внесенные мной изменения.
Поскольку я знаю, что многие новички в VIM прочитают это, лучшее, что я могу предложить: «Не ленитесь и помещайте записи карты в свой .vimrc». Изучая нестандартные способы работы с VIM, вы почувствуете, что полная канитель, когда вы без вашего vimrc. Кривая обучения vi очень крутая, но вы не делаете себе никаких одолжений, решая не учиться.
По крайней мере, часть моего ответа совпадает с моим программированием .vimrc:
set hidden
map <TAB> :e#<CR>
map <F7> :set paste!<CR>
map <F8> :set hlsearch!<CR>
map <F9> :!co -l %<CR>:e<CR>
map <F10> :!rcsdiff %<CR>
map <F11> :!ci -u %<CR>:e<CR>
Если хотя бы некоторые файлы, которые вы редактируете, не находятся в RCS, они должны быть! :)
Отключение всех "умных" режимов отступов. Отлично подходит для программирования, ад для файла конфигурации.
Я часто использую strace для отслеживания странных проблем. В результате попытка выделить некоторые строки синтаксиса может оказаться нелепой с большой строковой строкой. В этом случае я использую set synmaxcol = 2048, чтобы ограничить подсветку синтаксиса до 2048 столбцов.
Я также большой поклонник плагина taglist, который использует обильные теги. До сих пор я мог использовать скомпилированный двоичный файл ctags и не сталкивался с какими-либо проблемами библиотеки. Это позволяет мне быстро перемещаться по любому коду, с которым я работаю. Обычно это Perl, Python или C.