2013-02-16 2 views
1

извините, если это не совсем вопрос программирования.некоторые простые команды vim

В основном я использую Vim для редактирования своих программ. Поэтому мой вопрос ко всем экспертам Vim:

  1. есть ли способ выбрать и прокрутить в Vim? Я хочу скопировать кучу кода, и в проходе я всегда копировал все, что я могу просмотреть на экране vim, затем вставляю его туда, где бы вы ни были, затем прокрутите вниз, а затем скопируйте и вставьте. Повторите. Есть ли способ эффективно копировать большой блок кода?

  2. Форматирование строк кода - вы знаете, когда вы копируете и вставляете какой-то код через 10 строк кода, превращаетесь в 30 действительно грязных строк кода? Ну, есть ли команда переформатировать код? В проходе я вручную возвращаю назад и правильно отступаю все, что когда-то супер повторяется, когда вы получаете 500 строк. Я видел на других сайтах что-то о команде 1G = G может кто-то подтвердить это? когда я пытаюсь в командной строке, я получаю сообщение об ошибке E464: ambiguous use of user-command line, о котором я не знаю, что это значит.

Я знаю, что есть команда помощи в Vim, но я понятия не имею, где даже начать, когда есть что-то вроде 200 TXT файлов и откровенно это быстрее :)

ответ

1

Весь этот ответ только полезно, если вы можете использовать регистр + в качестве буфера обмена. Попробуйте "+yy в VIM, попробуйте вставить его в другое приложение, чтобы увидеть, если вы можете использовать буфер обмена, если вы можете:

Вы должны действительно прочитать инструкции и другую помощь:
дергать линии (простой): http://vim.wikia.com/wiki/Moving_lines_up_or_down
К адресным линиям: Addressing in VIM
То есть для начала.

Некоторые примеры того, что вы можете сделать:
:.,+50y a дергать 50 линий от тока и 50 вперед, чтобы зарегистрировать, использовать A вместо того, чтобы добавить к регистрации A.
:.,/some pattern/y A дернул (добавляемых) от тока до первой строки, которые соответствуют/some pattern/для регистрации a.
"Ay/some pattern<CR> будет делать то же самое.

Как только вы узнаете, как вы должны обращаться, легко комбинировать команды с адресацией, например. «отступы команды» =:
=} Автоотступ до конца текущего пункта
=/some pattern<CR> автоматического отступ в строку соответствия/определённый шаблоне/
Марк что-то в визуальном режиме и введите = он будет автоматически отступом выбранного текста.

И так далее ... Так что прочитайте руководства, вы будете очень хорошо использовать его.
В приведенных выше примерах вы можете использовать регистр + для «yank» в буфер обмена вместо регистра a.

1

Для вставки в VIM без него retabbing текст, попробуйте

:set paste 

перед вставкой.

Используйте :set nopaste, чтобы выключить его.

Кроме того, убедитесь, что вы вставляете insert mode.

Если вы ищете расширенную команду VIM, то мне может помочь мой blog post.

+1

Определить 'set pastetoggle = ', а затем переключить режим вставки с помощью '' очень полезно (или любой другой). И вы можете переключаться во всех режимах. – 244an

3

Ваши вопросы касаются базового использования vi/Vim. Сделайте себе одолжение и прочитайте учебник Vim; вы найдете много в Интернете, а Vim поставляется с собственным введением, vimtutor.

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

vimtutor

На MS-Windows вы можете найти его в меню Program/Vim. Или выполните команду vimtutor.bat в каталоге $ VIMRUNTIME.

Также узнайте, как искать команды и перемещаться по встроенному :help; он является всеобъемлющим и предлагает множество советов. Вы не будете изучать Vim так же быстро, как другие редакторы, но если вы посвятите себя непрерывному обучению, это окажется очень мощным и эффективным редактором.

2

ВИМ способом является полностью забыть выбор с помощью мыши в течение более чем один экран, но чтобы установить знак, перейти к другому концу нужного текста, а затем дергать, чтобы отметить:

  1. Установить метку м в начале текста с mm
  2. Переместить в конец текста
  3. Yank помечать y'm
  4. паста с P или p