Принаймні я завжди коментую "синтаксис" у / etc / vim / vimrc
Принаймні я завжди коментую "синтаксис" у / etc / vim / vimrc
Відповіді:
Наш CTO має гарну конфігурацію 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 має важливе значення для всіх DBA, також дуже корисний для програмістів, що працюють з базами даних. Давайте запустимо запити, перевіримо структуру баз даних і що інше. Це, по суті , передній кінець для таких інструментів , як mysql
, sqlite3
, sqlplus
та інші. Якщо ви працюєте з базами даних, це обов’язково!
Я не бачив багато корисного синтаксису в дикій природі, більшість файлів, з якими працюють sysadmins, є конфігураціями, /etc
і вони, як правило, досить добре виділені. На ~/.vim/syntax/
даний момент у мене є синтаксис кольорів CSS , що приголомшує (також добре для веб-розробників), але решта не дуже добре написана, я, можливо, оновитиму їх у вільний час. Додаткові файли синтаксису, які варто мати для: dhcpd.conf , / etc / network / interfaces , файли конфігурації nginx та local.cf SpamAssassin 's.
Корисна порада з синтаксисом: якщо файл конфігурації не розпізнається (має дивне ім’я, наприклад /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
), потрібно увійти, використовуючи sudo
.
iabbrev xxsig <Esc>: r! [-n "$ SUDO_USER"] && echo "$ SUDO_USER` дата "+ \% 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 <Право> R <Простір>
Ви можете легко змінити його для інших систем (коментарів "
, //
і т.д.), або просто перевірити свій конфігураційний файл.
Якщо у вас є файли конфігурації в системі RCS, ви можете іноді включати параметри конфігурації, характерні для певної машини. Для цього добре мати ~/.vimrc.local
файл, включений автоматично в кінці конфігурації (якщо він є, звичайно).
якщо файл читається (розширити ("~ / .vimrc.local")) джерело ~ / .vimrc.local закінчення
Не дуже впевнений, з якою частиною цього конкретно пов'язано систематичне управління, але мої основні елементи:
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!!
щоб послати судо і зберегти файл.
tee
замість cat
?
Ви також можете подивитись на це питання ТАК: Що у вас є vimrc ?
Безсоромна пробка. Це насправді не зміна .vimrc, а скоріше плагін VIM. Я використовую RCSVers у кожній встановленій версії VIM. В основному він використовує команду RCS, щоб зберегти версію будь-якого редагованого файлу. Ви не знаєте, скільки разів я викручував конфігураційний файл, щоб RCSVers врятував мене, показуючи мені внесені вами зміни.
Оскільки я знаю, що чимало нових прихильників VIM прочитають це, найкраща пропозиція, яку я маю, це: "Не лінуйтеся і не вкладайте записи в карту у вашому .vimrc" Вивчення нестандартних способів ведення справ у VIM змусить вас почувати себе загальний gimp, коли ви без вашого 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 для відстеження дивних проблем. В результаті спроби виділити синтаксис деякі рядки можуть стати смішними з великим рядком рядка. У цьому випадку я використовую набір synmaxcol = 2048 для обмеження виділення синтаксису до 2048 стовпців.
Я також дуже прихильник плагіну тегів, який використовує насичені теги. Поки що мені вдалося розігнати скомпільовані двотактні коди, і я не стикався з жодними проблемами бібліотеки. Це швидко дозволяє мені переходити до будь-якого коду, з яким я працюю. Це, як правило, Perl, Python або C.