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

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

10 ответов

Решение

Наш технический директор имеет довольно полнофункциональную конфигурацию Vim на GitHub.

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

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

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

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

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

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

  • скрипт резервного копирования является обязательным при редактировании удаленных файлов. Я использую скрипт cbackup.vim, который хранит последние 10 копий каждого отредактированного файла в центральном каталоге и автоматически удаляет старые - просто поместите в свой ~/.vim/plugins/ каталог и забудьте об этом:-)

  • TaskList позволяет быстро искать FIXME, XXX а также TODO теги в текущем файле, отобразить их и перейти к тегу одним нажатием клавиши. Если вы используете эти теги, рассмотрите возможность установки этого

  • dbext необходим для всех администраторов баз данных, а также очень полезен для программистов, работающих с базами данных. Давайте запустим запросы, проверим структуру баз данных и еще много чего. Это по сути интерфейс для таких инструментов, как mysql, sqlite3, sqlplus и другие. Если вы работаете с базами данных, это обязательно!

Синтаксические файлы

Я не видел много полезного синтаксиса в дикой природе, большинство файлов, с которыми работают системные администраторы, являются конфигами в /etc и они обычно довольно хорошо выделены. В моем ~/.vim/syntax/ В настоящее время у меня есть синтаксис для цветов CSS, который великолепен (также хорош для веб-разработчиков), но остальное не очень хорошо написано, возможно, я обновлю их в свободное время. Дополнительные файлы синтаксиса, которые стоит иметь: dhcpd.conf, / etc / network /interfaces, файлы конфигурации nginx и local.cf SpamAssassin.

Полезный совет с синтаксисом: если файл конфигурации не распознан (имеет странное имя, например /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), вам необходимо войти в систему с помощью sudo,

    iabbrev xxsig : r! [-n "$ SUDO_USER"] && echo "$ SUDO_USER` date '+ \% Y \% m \% d'` "\ | \ | echo "$ USER` date '+ \% Y \% m \% d'` "IA
  • Вставьте комментарий "строки", как # -- Some title -------------------{{{1, длина 78 символов - нажмите \com# в обычном режиме и там это. Вы будете автоматически в режиме замены, чтобы вы могли добавить заголовок:

    nmap \ com # O # 72A-3A {A14R

Вы можете легко изменить его для других систем комментариев (", //и т. д.) или просто проверьте мой конфигурационный файл.

Конечное прикосновение

Если у вас есть файлы конфигурации в системе RCS, вы можете иногда включать параметры конфигурации, специфичные для определенного компьютера. Для этого хорошо иметь ~/.vimrc.local файл, включаемый автоматически в конце конфигурации (если он, конечно, присутствует).

если файл читаемый (развернуть ("~/.vimrc.local"))
        источник ~ /.vimrc.local
ENDIF

Не совсем уверен, какая часть этого конкретно связана с sysadmin, но мои основы:

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 и сохранить файл.

Вы также можете посмотреть на этот ТАК вопрос: что находится в вашем vimrc?

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

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

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

Так как я знаю, что многие новички VIM будут читать это, лучшее предложение, которое у меня есть, это: "Не ленитесь и не кладите записи на карту в ваш.vimrc" Изучение нестандартных способов ведения дел в VIM заставит вас почувствовать полный гимп, когда вы без вашего vimrc. Кривая обучения для vi крутая, но вы не делаете себе одолжений, решая не учиться.

Я часто заканчиваю тем, что использую strace, чтобы выследить странные проблемы. В результате, попытка выделить синтаксис некоторых строк может быть смешной с большой строкой. В этом случае я использую set synmaxcol=2048, чтобы ограничить подсветку синтаксиса 2048 столбцами.

Я также большой поклонник плагина taglist, который использует обильные теги. До сих пор я был в состоянии собрать скомпилированный бинарный файл ctags и не сталкивался с какими-либо проблемами с библиотекой. Это позволяет быстро перемещаться по любому коду, с которым я работаю. Обычно это Perl, Python или C.

По крайней мере, часть моего ответа совпадает с моим программированием.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, они должны быть!:)

Отключение всех "умных" режимов отступов. Отлично подходит для программирования, ад для файла конфигурации.

Другие вопросы по тегам