Функции и расширения Vim, облегчающие работу [закрыто]

Какие функции и расширения Vim вы используете? Что бы вы порекомендовали для системного администратора Linux?

3
задан 1 June 2009 в 00:57
13 ответов

Это, вероятно, не будет преобладающим мнением, но я использую ванильную энергию. Я не использую специальных функций (кроме подсветки синтаксиса и нумерации строк), но это является большим, потому что я могу перейти к любой машине Unix и чувствовать себя хорошо дома с любым vi, который они, оказывается, выполняют.

10
ответ дан 3 December 2019 в 04:36
  • 1
    gorramit.. +1 для избиения меня к нему с 39 секундами ;) –  Commander Keen 1 June 2009 в 01:04
  • 2
    И Вы проголосовали за свой комментарий для того, чтобы быть таким же browncoat –  Matt Simmons 1 June 2009 в 01:05
  • 3
    +1 - это - одна из вещей, с которыми я борюсь в средах Linux/UNIX; как делают Вы настраиваете вещи использовать в своих интересах изящные функции, не оставляя себя, чувствуя себя нанесенными вред когда you' ре, работающее над тем сервером, Вы только затрагиваете один раз в шесть месяцев. –  Murali Suriar 1 June 2009 в 02:37
  • 4
    Murali: I' ve получил друга, который использует Dvorak, и я использую тот же аргумент на нем, но нем doesn' t получают его ;-) –  Matt Simmons 1 June 2009 в 02:44
  • 5
    Конечно, it' s не слишком трудно перемещение .vimrc?! Каждый раз, когда мне нужен мой I просто wget bluebottle.net.au/.vimrc и вуаля. –  Alex J 1 June 2009 в 09:26

Я чувствую, что питание энергии для системного администратора состоит в том, что это везде, и можно немедленно только начать использовать его. Вот почему я принял решение не настроить свою энергию.

Тем не менее вот маленький .vimrc, который я склонен копировать вокруг:

set background=dark
syntax on
set showmatch
set ruler
set softtabstop=4
set sw=4
set tabstop=4
set expandtab
set autoindent
set pastetoggle=<F8>

Вещи вкладки состоят просто в том, потому что я использую Python много и пробельные вопросы там =)

6
ответ дан 3 December 2019 в 04:36
  • 1
    Я должен сказать, что энергия не везде - но я знаю, что она не только работает над нашими системами HP-UX, но и над машинами OpenVMS также. Действительно портативная платформа! –  Mei 23 June 2009 в 21:24

Я прочитал книгу об энергии (Изучение редактора vi) от O'Reilly, и это было всем, в чем я нуждался. Несколько вещей, что я вышел из него, что я использую все время...

1) хранить макросы. Нажмите 'q' клавишу, затем ключ, Вы хотите связать его с, затем делает команду и поражает 'q' снова. Затем при ударе '@key', он выполнит ту команду. Если Вы совершите нападки '@@ ', то это выполнит последнюю команду. Я люблю это за "присоединение к любой строке" иногда: Ваш макрос является '^Jj' (перейдите к началу строки, Соединение строка, переместитесь в следующую). Затем сделайте '@j' (j, мой макро-ключ для этого). Затем просто удержите ключ. Это присоединится к каждой строке со следующей, спустит, сделает это снова и т.д.

2) Разделение окон. Введите в ':sp' (горизонтальное разделение) или ':vsp' (вертикальное разделение). Это разделит окно. Можно затем переместиться между окнами с Ctrl+w [hjkl] для перемещения направо, вниз, или оставленный, соответственно. ZZ или: выход для закрытия окна.: e для открытия другого файла. Особенно полезный для diffs (вертикальное разделение) или безотносительно (копирование / вставляющий для легкого).

3) Если Вы кодируете, сворачивание является фантастическим. Сворачивание, в основном, закрывает или открывает сегменты между маркерами. Определение маркеров может быть сделано вручную, regex... без разницы. Google, "сворачивающийся в энергии" и необходимо получить некоторые хорошие учебные руководства.

4
ответ дан 3 December 2019 в 04:36
  • 1
    Макросы являются функцией vi - хранение макросов с помощью " q" специальная функция энергии. –  Mei 23 June 2009 в 21:25

Первое, что пришло на ум вот некоторые опции, которые я вручную установлю, если у меня не будет .vimrc на конкретном сервере:

set ic
set sc
set incsearch

которые обеспечивают:

  1. поиск без учета регистра
  2. умный поиск без учета регистра, такой, что чувствительность к регистру включена при поиске шаблона с помощью символов смешанного случая
  3. включите возрастающие результаты поиска, где соответствия выделяются, в то время как текст вводится

При вставке текста в энергию с включенным автоматическим отступом любой ведущий пробел во вставляемых символах может привести к форматированию проблем, где текстовый уровень отступа увеличивается с каждой строкой. В этом случае просто дайте следующую команду:

set paste

и текстовое форматирование больше не будет страдать от проблемы добавления отступа.

Издание a set nopaste отключит этот режим.

Визуальный режим также невероятно полезен, позволяя один выбирать блоки текста, который может затем дергаться, удаляться, преобразовываться и т.д.

Для перехода к мудрому строкой визуальному режиму совершить нападки shift + v и стандарт/вниз ключи перемещения выберет строки текста.

Для перехода к символьному мудрому визуальному режиму совершить нападки ctrl + v и левые/правильные//вниз ключи перемещения позволят выбирать блоки текста.

Другая типичная функция, которую я использую: выбор текста, затем совершающего нападки gq отформатировать его в строки, поврежденные в 78 символах. Это особенно полезно, когда я редактирую статьи Wiki с помощью "Его Всего текста" плагин Firefox.

3
ответ дан 3 December 2019 в 04:36

Если мы говорим функции, Вы не можете пойти мимо простоты поиска и заменить :s/../.../[g]. Конечно, знание Регулярных выражений является насущной необходимостью получить все возможное от этой функции.

И если Вы кодируете с регулярностью, способность использовать '#' ключ, чтобы найти, что предыдущий экземпляр строки экономит время.

2
ответ дан 3 December 2019 в 04:36
  • 1
    При использовании s/.../.../г много Вы могли бы рассмотреть включая ' набор gdefault' в Вашем ~/.vimrc –  drybjed 1 June 2009 в 11:36
  • 2
    Хм. It' s хорошая мысль, но я думаю, что это вызвало бы меня больше проблем, чем it' s ценность. Я использую regxes больше чем в одной программе и больше чем на одном языке; я чувствую, что это повредило бы ' правило наименьшего количества surprise' включить эту опцию. –  Gavin McTaggart 1 June 2009 в 12:27

Я нахожу вкладки в энергии довольно полезными. Новый файл на вкладке открыт: tabe и навигация между вкладками сделаны с помощью: tabprev и: tabnext. Можно добавить следующие строки к .vimrc, чтобы смочь перейти между вкладками с alt+arrow ключами

map <silent><A-Right> :tabnext <CR>
map <silent><A-Left> :tabprev <CR>

Можно найти больше информации о вкладках здесь: www.linux.com/archive/articles/59533

1
ответ дан 3 December 2019 в 04:36
au FileType c    set foldmethod=indent
au FileType c    map <F5> :w<CR>:!make<CR>
au FileType c    map! <F5> <ESC>:w<CR>:!make<CR>
0
ответ дан 3 December 2019 в 04:36

Я в значительной степени переключился на TextMate, поскольку моей рабочей станцией является Mac, и большая часть моего 'администрирования' программирует инфраструктуры с Ruby.

Однако я все еще использую Vim вполне немного при входе в серверы. Я использую пару плагинов для создания моей жизни легче.

  • FuzzyFileFinder - TextMate cmd-T как функция Vim
  • NERDtree - обеспечивает 'секцию проекта'.

Я использую конфигурацию Vim, совместно использованную нашим техническим директором, с несколькими моими собственными модификациями (отключите hlsearch, измените систему цветов, главным образом).

0
ответ дан 3 December 2019 в 04:36

Эти две команды будут помнить детали о каждом файле, который Вы открываете в системе. А также это, это также сохранит любые данные, которые Вы храните в одном из 'регистров' Vim (в основном буфер обмена).

" Reopen files where we left off
if has("autocmd")
  au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
    \| exe "normal! g'\"" | endif
endif

" Remember for 100 files: (also save every register with <1000 lines), but not for files in /mnt or /media. Save to ~/.viminfo
set viminfo='100,s1000,r/mnt,r/media,n~/.viminfo
0
ответ дан 3 December 2019 в 04:36

Я живу и дышу этой командой:

:se nowrap

Когда код переносится к следующей строке, это становится нечитабельным и непостижимым - не говоря уже о том, что, который - строка, который запутан.

Изо всех функций энергии это - единственное, которое я желаю действительно от vi.

0
ответ дан 3 December 2019 в 04:36

Я пытаюсь не использовать любые определенные для энергии опции, потому что я все еще натыкаюсь на системы, которые только имеют vi. Единственным исключением является Ctrl+V для "постолбцовых" текстовых операций.

Это сказанное... Выполнить текущий файл (не буферный) Вы просто:

:!%

Выполнять буфер к стандартному входу интерпретатора (не сохраняя в файл сначала):

:w !/bin/sh

Может также использоваться с Python, жемчуг-w, и т.д.

Супер полезная техника состоит в том, чтобы пропустить буфер через внешнюю команду:

1G!Ggrep -v unwanted_regex

(скопированный мой ответ с другого vi вопроса).

0
ответ дан 3 December 2019 в 04:36
  • 1
    Правда, фильтрация буфера может быть полезной - но она почти никогда не необходима, если Вы не должны делать некоторую серьезную фильтрацию. Ваш пример, например, может быть, покончите: %/unwanted_regex/d –  Mei 23 June 2009 в 21:28
  • 2
    О, он? Никогда не нуждался в том синтаксисе. Я пытаюсь придерживаться инструментов, которые я знаю наизусть, как grep в этом случае. –  kubanczyk 23 June 2009 в 22:27

Я - бывший пользователь TextPad и запомнил многие из сочетаний клавиш той программы. Одна из первых вещей, которые я сделал в Vim, изучала функцию карты для хранения непротиворечивости (поиск F5, замена F8, и т.д.). Я создал свою персональную систему цветов и одолжил много из vimrc файлов других. Да здравствует Vim! Настраивающийся до любого градуса.

0
ответ дан 3 December 2019 в 04:36

Общее высказывание, что они избегают использования .vimrc, потому что они находятся на различных серверах все время. Я никогда не был на сервере, который не имел wget установленный. Поместите свой .vimrc на GitHub, и это столь же просто как:

wget -O ~/.vimrc http://github.com/lucasoman/Conf/raw/master/.vimrc

Тем не менее :set number включать номера строки и :syntax on позволить выделяться сделает энергию немного более дружественной. Кроме того, изучите текстовые объекты.

2
ответ дан 3 December 2019 в 04:36

Теги

Похожие вопросы