По крайней мере, я всегда раскомментирую синтаксис в / etc / vim / vimrc
По крайней мере, я всегда раскомментирую синтаксис в / etc / vim / vimrc
Ответы:
Наш технический директор имеет довольно полнофункциональную конфигурацию Vim на GitHub .
Особенности:
Я нахожу это отличным для кодирования Ruby, так как наши инструменты системного администрирования написаны на Ruby.
Во- первых, если у вас есть более чем на пару машин вы работаете, старайтесь размещать ~/.vim/
, ~/.vimrc
и другие полезные файлы конфигурации ( screen
, ваша оболочка и т.д.) в системе контроля версий. Я предпочитаю использовать darcs
- это дешево в системах Debian (не нужно устанавливать компилятор Haskell, просто установите пакет напрямую), распространяется и имеет отличные интерактивные режимы. Если вы знаете / нравится git
, вы также можете придерживаться этого.
Мои текущие конфигурационные файлы доступны в моем Darcs хранилище, http://repo.harnir.net/
. Некоторые конкретные примеры из моего ~/.vimrc
следования. Извините, нет ссылок на скрипты и т. Д., Потому что я новый пользователь, но все те, на которых вы можете найти http://vim.org/
.
скрипт резервного копирования является обязательным при редактировании удаленных файлов. Я использую скрипт 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
Большинство параметров конфигурации очень популярны, например, и 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
файл, включаемый автоматически в конце конфигурации (если он, конечно, присутствует).
если файл читаемый (развернуть ("~ / .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 и сохранить файл.
tee
вместо cat
?
Вы также можете посмотреть на этот ТАК вопрос: что находится в вашем 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.