Я розглядаю, чи варто мені знову використовувати VIM замість IDE. Які найкорисніші функції VIM не є стандартними для IDE?
emacs
замість цього. ;-)
Я розглядаю, чи варто мені знову використовувати VIM замість IDE. Які найкорисніші функції VIM не є стандартними для IDE?
emacs
замість цього. ;-)
Відповіді:
Я не думаю, що його обов'язково вдосконалені функції VIM, які роблять його настільки потужним. Справа в тому, що ніколи не потрібно знімати руки з клавіатури, щоб щось робити. Знайти щось у величезному файлі так само просто, як і кілька натискань клавіш. Відкриття та закриття декількох файлів у одному вікні також надзвичайно швидко.
Хоча це може здатися не інтуїтивним спочатку, все-таки варто вашого часу. Навіть якщо ви не використовуєте його як стандартний IDE (я, як правило, використовую Visual Studio або Eclipse), ви знайдете себе, використовуючи VIM для швидкого відкриття та редагування файлів, оскільки це стає швидше, ніж очікування IDE для навантаження.
Вкладіть час, щоб навчитися добре використовувати VIM, і ви ніколи не пошкодуєте про це. Я б сказав, що це порівняно з навчанням до сенсорного типу.
Для мене :global
команда - це вбивчий додаток. Він буде виконувати довільні команди vim у будь-якому рядку, який відповідає (або не відповідає) регулярному вираженню.
Ось кілька прикладів:
Типовою поведінкою є перерахування кожного рядка, який відповідає, таким чином:
:g/TODO:/
буде перераховано кожен рядок, який містить текст "TODO:"
змінити "Міккі" на "Мінні" в будь-якому рядку, що також містить слово "Миша"
:g/Mouse/ s/Mickey/Minnie/
Команди можуть мати власний діапазон, тому це буде видалено з кожного рядка з "TODO:" до наступного порожнього рядка:
: g / TODO: /., / ^ $ / d
Використання: г! виконувати в кожному рядку, який НЕ відповідає регексу, наприклад, замінити "emacs" на "vim", за винятком рядків, що містять слово "sucks":
:g!/sucks/ s/emacs/vim/
Я вважаю можливість видалити все, що знаходиться між набором парних символів, неймовірно корисним. Наприклад, досить часто мені здається, що я хочу замінити рядок у коді. Отже, di"
поки курсор знаходиться в блоці, він видалить рядок, зберігаючи ""
неушкодженим, і поставить курсор між двома символами цитати. da"
робить те ж саме, але також видаляє символи цитати.
ci"
видаляє та переводить курсор у режим вставки, щоб ви могли негайно почати писати.
'Завершення ключового слова в режимі вставки'. Ctrl-P і Ctrl-N у режимі вставки для пошуку по тексту, щоб спробувати ввести ім’я змінної, яку ви вводите. Я ніколи не бачив цього в жодному іншому IDE, і я дуже його сумую. Заповнення коду в IDE просто не те саме.
^X^O
omni-завершує в режимі вставки, якщо він увімкнено. Але ви маєте рацію, я вважаю, що використовую завершення ключових слів набагато більше, ніж повне.
Ще одна особливість, яку я вважаю неймовірно корисною, - це можливість змінювати відступи. :15,30>>
відступіть усі рядки від 15-30 (включно) двічі, тоді як :15,30<<
деінкретируйте ті самі рядки двічі.
=
що такий же, як не більше, корисний ніж <<
і >>
.
команда dd (видалити поточний рядок). Я так багато використовую.
Крім того, можливість ввести щось на зразок 3dd та видалити наступні 3 рядки - це чудово. Я ніколи не бачив цього в іншому редакторі = D
.
Команда. Він повторює останню команду.
Швидкий доступ до командного рядка. CTRL + Z або: wqa отримає мені командний рядок менше ніж 1 сек, без того, щоб моя рука залишала клавіатуру.
:!/bin/bash
. Я використовую :!
досить часто.
:sh
На це досить важко відповісти, через деяку розпливчастість питання, а дещо і на те, що IDE відрізняються, і багато хто надає особливості, які інші не мають (і той факт, що я їх лише декілька).
Однак те, що я вважаю, відрізняє Vim від інших редакторів (так, навіть Emacs, на цьому) - це те, що він справді чудовий редактор . Я за минулий час користувався багатьма редакторами і можу чесно сказати, що дуже мало таких функцій для маніпулювання текстом, як це робить Vim.
Наприклад, мій стиль маніпулювання текстом включає дуже часто використання дублювання (рядок / вибір декількох рядків) та переміщення (рядок / виділення кількох рядків) вгору та вниз, для чого я давно визначив швидкі ярлики. Я сумую за цими можливостями у більшості IDE (хоча я чув, що ReSharper для VS має щось подібне).
Чи знаєте ви, що існує модуль vi для затемнення ? Коштує 15 євро (20ish US $), але це так варто. Більше немає dd
в середині документа і не вистачає всіх крихітних корисних речей.
Можливо, трохи поза темою, але я подумав, що це варто вказати.
Залежно від мови, якою ви програмуєте, дотримуйтесь ідеї або отримайте ідею, яка пропонує найбільш рефактори, які ви можете знайти, отримайте переробку для візуальної студії, якщо ви робите c #, intellij для java або візуальну допомогу для візуальної студії, максимум перероблювачів у затемненні чи сітках.
Нам слід перейти від маніпулювання текстом до маніпулювання кодом, інструменти рефакторингу надають вам цю здатність. Якщо vim надає вам всі функції добре, я напевно вже не хочу більше працювати з текстовим редактором
Більшість IDE не дозволяють розділити екран. Мені подобається ця функція у VIM.
<C-w>