Назад | Перейти на главную страницу

Предложения по записи в sysadmins .vimrc

По крайней мере, я всегда раскомментирую "синтаксис" в / etc / vim / vimrc

Во-первых, если вы работаете с несколькими компьютерами, подумайте о том, чтобы ~/.vim/, ~/.vimrc и другие полезные файлы конфигурации (screen, ваша оболочка и т. д.) в системе контроля версий. Я предпочитаю использовать darcs - это дешево в системах Debian (не нужно устанавливать компилятор Haskell, просто установите пакет напрямую), распространяется и имеет отличные интерактивные режимы. Если вы знаете / любите git, вы также можете придерживаться этого.

Мои текущие файлы конфигурации доступны в моем репозитории darcs, http://repo.harnir.net/. Некоторые конкретные примеры из моих ~/.vimrc следовать. К сожалению, нет ссылок на скрипты и т. Д., Потому что я новый пользователь, но все, что вы можете найти на http://vim.org/.

Основные скрипты ViM для системных администраторов

  • сценарий резервного копирования необходим при редактировании удаленных файлов. я использую 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

Варианты конфигурации ViM

Большинство вариантов конфигурации очень популярны, например 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.

Особенности:

  • Подсветка синтаксиса, 2 пробела табуляции, расширенные табуляции.
  • NERDtree, файловое дерево, похожее на ящик проекта TextMate.
  • FuzzyFileFinder, плагин для реализации функций cmd-T TextMate.
  • Множество цветовых тем, по умолчанию хорошая (сумерки).

Я считаю, что он отлично подходит для программирования на Ruby, поскольку наши инструменты системного администрирования написаны на Ruby.

Вы также можете посмотреть на этот вопрос SO: Что в вашем vimrc?

Бесстыдная пробка. На самом деле это не изменение .vimrc, а скорее плагин VIM. Я использую RCSVers на каждой установленной версии VIM. Обычно он использует команду RCS для сохранения версии любого редактируемого файла. Вы не знаете, сколько раз я испортил файл конфигурации только для того, чтобы RCSVers спасли меня, показав мне внесенные мной изменения.

http://www.vim.org/scripts/script.php?script_id=563

Не используйте .vimrc, чтобы не изучать VIM

Поскольку я знаю, что многие новички в 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.