Осторожно, всегда иметь синтаксис может быть плохой идеей, если вы часто редактируете большие файлы. В больших файлах (десятки или сотни МБ) подсветка синтаксиса может привести к тому, что vim станет безответственным в течение нескольких секунд, поскольку он потребляет много ресурсов ЦП. Просто попробуйте отредактировать огромный XML-файл ... Конечно, вы всегда можете это сделать: syn off (как только vim восстановится ...).
Я только что поиграл с кучей из них, и есть намного больше, чтобы исследовать конфигурацию vim, которую вы перечислили, но она соответствует моим ожиданиям нормальных значений по умолчанию и полезных функций. Не уверен, как вики-сообщество позволяет мне голосовать за "ответили", но в любом случае. Благодарность!
Гарет
17
Во- первых, если у вас есть более чем на пару машин вы работаете, старайтесь размещать ~/.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 (т.е. вместо имени пишите свое имя пользователя 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
Последний совет - как бы хорошо это ни было - не работает, если у вас есть смонтированные по NFS домашние каталоги: независимо от того, на какой машине вы находитесь, ваш домашний каталог будет одинаковым. Также обратите внимание, что этот совет зависит от определения «~» - некоторые оболочки не поддерживают эту стенографию.
Мэй
Как системный администратор вы, вероятно, работаете на серверах с учетной записью «root», которая должна быть локальной и не монтироваться через NFS. В этом случае /root/.vimrc.local должен работать нормально.
Drybjed
6
Не совсем уверен, какая часть этого конкретно связана с 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
Я только сформулировал это так, чтобы отделить то, что может быть конкретно связано с «программированием» для .vimrc. Как вы думаете, я должен изменить вопрос?
Гарет
Нет, оставь все как есть, я уверен, что у некоторых людей есть сисадмин, но только не я.
Адам Гиббинс
Вообще с этим согласен ... Но табуляция состоит из 8 пробелов. Все остальное, и он ведет себя по-другому в vim, чем в less / tail / cat. Может быть, одна из тех религиозных вещей, хотя.
Александр Кармель-Вильё
4
Если вы обычно работаете с пользователем, это позволяет «передать» файл в sudo, чтобы его можно было сохранить.
Бесстыдная вилка. Это на самом деле не изменение .vimrc, а скорее плагин VIM. Я использую RCSVers на каждой установленной версии VIM. В основном он использует команду RCS для сохранения версии любого файла, который вы редактируете. Вы не знаете, сколько раз я испортил файл конфигурации только для того, чтобы RCSVers спасли меня, показав мне изменения, которые я сделал.
Не используйте .vimrc, чтобы избежать изучения VIM
Так как я знаю, что многие новички VIM будут читать это, лучшее предложение, которое у меня есть, это: «Не ленитесь и не помещайте записи на карту в ваш .vimrc» Изучение нестандартных способов ведения дел в VIM заставит вас почувствовать полный гимп, когда вы без вашего vimrc. Кривая обучения для vi крутая, но вы не делаете себе одолжений, решая не учиться.
Vim имеет приятные функции. Почему бы не использовать его? Когда вам нужно переключиться на vi, это временно. Если вы думаете, что вам придется много работать там, где не установлен vim, стоит его установить.
Люк М
0
По крайней мере, часть моего ответа совпадает с моим программированием .vimrc:
Я часто заканчиваю тем, что использую strace, чтобы выследить странные проблемы. В результате, попытка выделить синтаксис некоторых строк может быть смешной с большой строкой. В этом случае я использую set synmaxcol = 2048, чтобы ограничить подсветку синтаксиса 2048 столбцами.
Я также большой поклонник плагина taglist, который использует обильные теги. До сих пор я был в состоянии собрать скомпилированный бинарный файл ctags и не сталкивался с какими-либо проблемами с библиотекой. Это позволяет быстро перемещаться по любому коду, с которым я работаю. Обычно это Perl, Python или C.
Ответы:
Наш технический директор имеет довольно полнофункциональную конфигурацию Vim на GitHub .
Особенности:
Я нахожу это отличным для кодирования 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
Большинство параметров конфигурации очень популярны, например, и
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
.Вставьте комментарий "строк", вроде бы
# -- Some title -------------------{{{1
, длиной 78 символов - нажмите\com#
в обычном режиме и вот оно. Вы будете автоматически в режиме замены, чтобы вы могли добавить заголовок:Вы можете легко изменить его для других систем (комментариев
"
,//
и т.д.), или просто проверить свой конфигурационный файл.Конечное прикосновение
Если у вас есть файлы конфигурации в системе RCS, вы можете иногда включать параметры конфигурации, специфичные для определенного компьютера. Для этого хорошо иметь
~/.vimrc.local
файл, включаемый автоматически в конце конфигурации (если он, конечно, присутствует).источник
Не совсем уверен, какая часть этого конкретно связана с sysadmin, но мои основы:
Я также всегда проверяю, есть ли у машины доступ к файлу подсветки синтаксиса nginx .
источник
Если вы обычно работаете с пользователем, это позволяет «передать» файл в sudo, чтобы его можно было сохранить.
используйте команду:
вызвать sudo и сохранить файл.
источник
tee
вместоcat
?Вы также можете посмотреть на этот ТАК вопрос: что находится в вашем 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:
Если хотя бы некоторые файлы, которые вы редактируете, отсутствуют в RCS, они должны быть! :)
источник
Отключение всех «умных» режимов отступов. Отлично подходит для программирования, ад для файла конфигурации.
источник
Я часто заканчиваю тем, что использую strace, чтобы выследить странные проблемы. В результате, попытка выделить синтаксис некоторых строк может быть смешной с большой строкой. В этом случае я использую set synmaxcol = 2048, чтобы ограничить подсветку синтаксиса 2048 столбцами.
Я также большой поклонник плагина taglist, который использует обильные теги. До сих пор я был в состоянии собрать скомпилированный бинарный файл ctags и не сталкивался с какими-либо проблемами с библиотекой. Это позволяет быстро перемещаться по любому коду, с которым я работаю. Обычно это Perl, Python или C.
источник