Предложения для записей в системном администраторе.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'` " I A Вставьте комментарий "строки", как
# -- Some title -------------------{{{1
, длина 78 символов - нажмите\com#
в обычном режиме и там это. Вы будете автоматически в режиме замены, чтобы вы могли добавить заголовок:nmap \ com # O #
72A- 3A { A1 4 R
Вы можете легко изменить его для других систем комментариев ("
, //
и т. д.) или просто проверьте мой конфигурационный файл.
Конечное прикосновение
Если у вас есть файлы конфигурации в системе 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 спасли меня, показав мне изменения, которые я сделал.
Не используйте.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, они должны быть!:)
Отключение всех "умных" режимов отступов. Отлично подходит для программирования, ад для файла конфигурации.