Які переваги від навчання Vim? [зачинено]


467

Як програміст, я провожу багато годин за клавіатурою, і роблю це останні 12 років, більш-менш. Якщо є щось, до чого я ніколи не звик за весь цей час, це ці набридливі і майже несвідомі постійні мікроперериви, які я відчуваю під час кодування, через деякі найпоширеніші завдання редагування коду. Такі речі, як проста копія та вставка з іншого рядка (або навіть того ж рядка) або переміщення 1 або 2 рядків вгору або вниз від поточного положення, вимагають занадто багато вводити або припускати використання клавіш зі стрілками ... і це отримує гірше, коли я хочу рухатись далі - я закінчую використання миші. Тепер уявіть цей самий сценарій, але на ноутбуці.

Я завжди вважав вивчення VIM, але кількість часу, необхідного для його оволодіння, завжди змушувало мене відступити.

Мені хотілося б почути від людей, які дізналися це, і якщо це в кінцевому підсумку є однією з тих речей, без яких ти не можеш жити.

На роботі я використовую VS2008, C # і R #, які разом роблять редагування коду набагато швидше і простіше, ніж коли-небудь, але навіть так, я думаю, мені могло б сподобатися, що ми зовсім не повинні користуватися мишею.

І навіть не клавіші зі стрілками.


7
Немає необхідності перемикатися між клавіатурою та мишею, безумовно, приємно. На Mac я використовував навігаційні клавіші emacs (наприклад, ctrl-A) навіть у редакторі GUI, наприклад, BBEdit або Xcode, просто щоб уникнути зайвих рухів мишею.
Craig S

236
Це цілком варто докласти зусиль. Learn vim;)
Кайл Уолш

20
Ви можете дізнатися базовий vim (забудьте про vi) за кілька хвилин, просто введіть vimtutor у терміналі, і вам буде встановлено основне - те, що ви дізнаєтесь у наступні 20 років, все залежить від вас. Мені просто цікаво, як VS2008, C # & R # допомагають тобі з проблемами, пов’язаними з тим, що потрібно витрачати своє життя на переміщення між клавіатурою та клавішами стрілки / миші?
stefanB

43
Одна з найкращих інвестицій, яку я коли-небудь робив.
Johnsyweb

10
Я створив цю гру, щоб допомогти моєму семирічному племіннику навчитися швидко пересуватися у Vim: kikuchiyo.org Бета-версія дозволяє вам атакувати ворогів світловим мечем, 'я' для атаки зліва та 'а', праворуч: PI дізнався Vim з тих же причин, що і ви. Мені подобалося пересуватися по найважчій частині, до якої звикнути. Сподіваюся, гра допоможе вам прискорити, якщо вам потрібна допомога :) Удачі! :)
kikuchiyo

Відповіді:


249

Я також використовую vi і vim вже близько 20 років, і я все ще вчу нові речі.

Сайт Best of Vim Tips від David Rayner - це чудовий список, хоча, мабуть, корисніше, коли ви ознайомитесь із vim.

Я також хочу згадати сайт ViEmu, який містить чудову інформацію про поради vi / vim, і особливо статтю Чому, о ЧОМУ, ці головні шрифти використовують vi? ( заархівована версія )


8
Так, я завжди в ній навчаюсь і нового. Ще мій улюблений редактор теж.
Craig S

20
Цікаво, добре це чи погано. Якщо ви постійно вивчаєте нові речі, крива навчання дійсно крута, особливості дійсно приховані і немає відчуття майстерності. У будь-якому випадку, якщо ви хотіли RISC, ви пішли з vi замість vim, правда?
bastibe

7
@Paperflyer: У мене були ті ж думки. Якщо ви все ще не освоїли це через 20 років, це головний біль, я не впевнений, що хочу
Діна

7
Як так? Це означає, що, хоча у нього є стільки функцій, ви можете продовжувати вчитися, але вам не доведеться їх вивчати, щоб бути більш продуктивними.
Арда Сі

5
"Чому, о ЧОМУ, ці горіхи використовують vi?" - Хороше посилання, особливо на запитання

184

Чи можу я жити без цього? Легко.

Це корисно? Так.

Причини навчання

  • vi гарантовано існує у всіх системах Unix та існує і на більшості Linux-систем. Таке широке висвітлення робить навчання цим вартим.

  • Набагато швидше використовувати vi для sudoредагування:

    $ sudo vi

  • Також GMail використовує команди vi-ish для вибору та переміщення електронних листів навколо!

Вам не треба бути господарем.

Просто вчись

Основи:

  • Як перейти з командного режиму в режим вставки i
  • Як перейти з режиму вставки в командний режим Esc
  • Як орієнтуватися на рядок в командному режимі k
  • Як орієнтуватися вниз по рядку в командному режимі j
  • Як орієнтуватися лівим символом у командному режимі h
  • Як правильно орієнтуватися на персонаж l
  • Як зберегти файл :wEnter(написати)
  • Як вийти без збереження (в командному режимі) :q!Enter
  • Як скасувати u
  • Як змінити Ctrl+r
  • Ви можете комбінувати запис і вихід (у командному режимі): :wqEnter

Звідти відпочинок просто зробить вас швидше.


Я завжди використовував "vi легко; використовувати клавішу ell для переміщення курсору вправо" як гумористичний (сподіваюся) спосіб його введення. Але я ним користуюся давно і не обійшлося б. Не можу вимагати 25+ років для іншої пари, але, однак, ніякої нової відповіді від мене немає.
Джонатан Леффлер

16
Ось як я це навчився. Почніть з мінімуму і щодня будуйте на ньому трохи. Знайдіть час, щоб навчитися трохи кращому способу досягнення завдання. Для натхнення див. "7 звичок редагування текстів".
Бен

Gmail, комбінації експериментальних пошукових клавіш Google, комбінації клавіш Slashdot, man та менше, всі використовують vim-подібні прив’язки. Мене здивувало, виявивши, що я випадково їх дізнався, не знаючи вім! Навіть Firefox використовує / для поступового пошуку (з дуже незначною семантикою від Ctrl + F).
Адам Розенфілд

29
[:] [X] [Enter] те саме, що і [:] [W] [Q] [Enter]
Віталій Федоренко

20
[Z] [Z] те саме, що [:] [X] [Enter]
Кос

138

Біг через vimtutor у мене зайняв лише 30 хвилин, що було достатньо для ознайомлення з vim. Це вартувало кожної секунди.


Якщо ви знаєте кращу пояснювальну посилання, будь ласка, змініть мою :)
Blorgbeard вийшов

43
vimtutor - це саме те, підручник. Я робив це щодня близько 10 днів. Перший раз у мене пішло близько 30 хвилин, наступного дня 20, потім 15. До кінця тижня я мав більшу частину його команд, вписаних у мою думку. Я думаю, що замість того, щоб намагатися запам’ятати, повторення - найкращий спосіб наблизитися до Vim. 15 хв щодня протягом тижня здається дійсно невеликою ціною.
Майкл Екока

28
А як бути, коли ми закінчимо роботу з VIMTUTOR? Який наступний крок, щоб дізнатися більше?
privatehuff

3

1
Оце Так! це було схоже на один із тих прихованих предметів у грі. Це було саме там, в моїй системі, і я не знав, що існує. Один із найкорисніших та найшвидших навчальних посібників vim. Користуючись vim деякий час, я все-таки навчився декількох основних хитрощів, про які я не знав. рекомендується всім. Також невелика пропозиція: якщо ви використовуєте vim на ноутбуці, який має сенсорну панель, і він підтримує жести, відключіть його перед використанням vim, оскільки якщо випадково торкнувся, він може перемістити курсор у несподівані місця, іноді витрачаючи цілком гарне редагування.
Barracuda

69

Якщо ви програміст, який редагує багато тексту, то важливо вивчити Серйозний редактор тексту. Який серйозний текстовий редактор ви дізнаєтесь, не є надзвичайно важливим і багато в чому залежить від типів середовищ, в яких ви плануєте редагувати.

Причина полягає в тому, що ці редактори оптимізовані для виконання тих завдань, які ви будете багато робити. Наприклад, розгляньте можливість додавання одного і того ж біта тексту до кінця кожного рядка. Це серйозно в Серйозному текстовому редакторі, але смішно громіздко інакше.

Зазвичай функції вбивці vim вважаються: А) що він доступний майже на кожному Unix, з яким ви коли-небудь стикаєтесь, і B) пальці дуже рідко повинні виходити з домашнього ряду, а це означає, що ви зможете редагувати текст дуже, дуже швидко . Зазвичай це дуже швидко і легко навіть під час редагування величезних файлів.

Однак є багато альтернатив. Звичайно, Emacs - це найпоширеніший приклад, і це дуже багато, ніж просто розширений текстовий редактор, якщо ви дійсно зануритесь у нього. Я особисто дуже щасливий користувач TextMate зараз через роки використання vim / gvim.

Трюк переходу на будь-яке з них - змусити себе використовувати їх так, як вони були призначені. Наприклад, у vim, якщо ви вручну виконуєте кожен крок у багатоетапному процесі або використовуєте клавіші зі стрілками або мишу, то, мабуть, є кращий спосіб зробити це. Зупиніть те, що ви робите, і подивіться на це.

Якщо ви нічого не робите, вивчіть основні елементи управління навігацією як для vim, так і для Emacs, оскільки вони з’являються всюди. Наприклад, ви можете використовувати елементи управління стилем Emacs у будь-якому полі введення тексту в Mac OS, у більшості оболонок Unix, у Eclipse тощо. Ви можете використовувати елементи управління стилем vim у команді менше (1), у Slashdot , у gmail , тощо.

Веселіться!


7
У цьому є сенс, який багато людей не помічають. Практично в будь-якому повторюваному завданні є ярлик. Розробники люблять ярлики. Як сказав rbright, якщо ви виявите, що виконуєте крок кілька разів, зупиніться і подивіться, чи хтось уже задокументував ярлик.
AvatarKava

A) була однією з найбільших причин для мене використовувати VIM - спочатку я був emacs хлопець, але не у всіх системах було це & it повільно іноді через мережу або на зайнятих серверах. VIM - всюдисущий, маленький та швидкий.
jpeacock

3
Мій редактор постійно жартує. Я повинен переключитися.
Грег Грехем

У мене було: "Якщо ви програміст, який редагує багато тексту, то важливо вивчити серйозний редактор тексту". Найгірше - те, що здається неможливим навчитися двох (набагато менше) всередині та зовні, майже за визначенням. Ви в якийсь момент вивчаєте крайові випадки, і знання, як виконати завдання X за один, зазвичай не перекладаються. І в редакторах "бахроми" завжди є речі - я все ще використовую JEdit для JTidy, Code2HTML для пошуку кількох файлів, наприклад. Ваша основна - це рулон з кістки, і срібної кулі немає, але так, абсолютно навчіться одній і пограйте з багатьма. ; ^)
ruffin

1
@ruffin Це правда, що ви не можете освоїти два різних редакторів в той же час: якщо ви майстер один редактор, ви будете використовувати багато своїх команд несвідомо , і це означає , що ви будете дуже ймовірно , намагаються використовувати та сама команда, коли ви використовуєте інший редактор. Скільки разів я прокляв свій браузер за те, що не дозволяв мені виправляти відступи простим <esc> >i{... Це дійсно те саме, що і при натисканні на дотик: ви дізнаєтесь одну розкладку клавіатури, і дотримуєтесь її, тому що ви ніколи не зможете зупинити ваші пальці від введення неправильних клавіш на іншому макеті.
cmaster - відновити моніку

36

Це, безумовно, варто докласти зусиль.

Є одна очевидна причина, про яку Vi(m)вам скажуть усі, хто користується , та ще дві людини, про які люди ніколи не згадують.

Ось очевидний:

  1. vi одразу є всюдисущим і неймовірно потужним, і, вивчивши це один раз, ви отримуєте можливість здійснювати цю силу майже на будь-якому комп’ютері, який має клавіатуру.

І це менш відомі причини вчитися Vim:

  1. Це не вдвічі більше зусиль, ніж ти думаєш, що це буде. Перебігайте через репетитора Vim один раз ( vimtutorв оболонці або в Windows, запустіть його з папки Vim у меню "Пуск"), і ви вже будете на шляху до компетенції, і все звідти вниз. Я був на рівні, коли я міг би використовуватись Vimна роботі, не відчуваючи жодного помітного продуктивності в обідній строк менше ніж за тиждень.

  2. Це весело ! Редагування тексту для мене зараз як гра . Мені це активно подобається - що досить смішно, коли ти думаєш про це.

Також є дві вагомі причини не вчитися Vim:

  1. Це викликає звикання, і ви виявите, що хочете, щоб ви могли використовувати Vimкоманди у всіх своїх обчисленнях, і проклинати, коли не можете. До щастя, по крайней мере , в деяких ситуаціях, є способи , щоб отримати навколо цього .

  2. Знову ж таки, це викликає звикання, і хоча ви не втратите ніякої продуктивності від фактичного використання Vim , ви витратите години на пошуки добрих порад, щоб зробити свій Vimдосвід ще кращим, і читаючи тег Vim на Stack Overflow.


12
Ха-ха номер 2 з причин "не" вивчати VIM так правильно. Весь цей час я зберігаю редагування тексту, я проводжу читання про редагування тексту. Смішно.
Карл Флоерш

Так, я хотів, щоб я міг пограти в stardew Valley за допомогою hjkl ...
xis

32

Це, безумовно, варто навчитися або vim або emacs. Також варто навчитися сенсорного типу. В обох випадках причини однакові: ваше мислення більше не переривається механічним процесом отримання коду на екран .

Щодо того, як почати, просто занурися і почніть використовувати vim для всього.

PS Дебати emacs-vs-vi нескінченні. Я використовую emacs вже 26 років. Якщо б я розпочав сьогодні знову, я б навчився vim, тому що (а) покращився і (б) є набагато менше ключів-модифікаторів (Ctl-Alt-V, хто завгодно), і користувачі vim, схоже, отримують набагато меншу травму.


RSI - одна з професійних небезпек для розробників. Я ніколи не думав про це таким чином, але я думаю, що це дійсно гарна точка. Набирати акорди з точки зору м’язів набагато складніше. Я знав, що є вбивча причина використовувати vi!
DigitalRoss

1
Я використовував і те, і інше, мене «охрестили» vim, і вивчив emacs кілька місяців тому. Я віддаю перевагу vim, оскільки завдання розбиті - ви або редагуєте, або вставляєте, не роблячи обох. Ця відмінність допомагає мені думати про те, що я роблю, а також робить «нормальні» команди 1-2 обведення клавіш, а не 2-4. Я просто хочу, щоб vim базувався на Ліспі (і ні, режим гадюки не підтримує всі мої стандартні функції vim. Так, я міг би пропустити свої власні, але тоді я б пропускав їх, коли б я торкнувся нового комп'ютера / системи)
Вейн Вернер

1
@WayneWerner Я справді застарів, але ви можете контролювати версію всіх своїх програм, щоб ви могли синхронізувати їх через комп’ютери.
ЮрійАльбукерке

@ YuriAlbuquerque, я насправді почав дуже серйозно замислюватися над створенням сценарію налаштування автосередовища, зберігаючи всі мої точкові файли в github чи чомусь іншому.
Уейн Вернер

17

Ви можете отримати хорошу функціональність відмови від Vim, вивчаючи значення тільки 16 ключів: ijkdbw9:q!%s/nNEsc. Голі кістки можна робити просто i:wqEsc.

Перші два ключі, які вам потрібно знати: переходять Escу командний режим (режим, у якому ви запускаєтесь), і iпереводите вас у режим введення (звичайне введення тексту).


Щоб заощадити, потрібно

  1. вийти з режиму набору тексту ( Esc)
  2. наберіть двокрапку :
  3. введіть wтоді малі літериEnter

Щоб зберегти і закрити, вам потрібно

  1. вийти з режиму набору тексту ( Esc)
  2. наберіть двокрапку :
  3. введіть wqтоді малі літериEnter

Щоб не зберегти-примусити-кинути, вам потрібно

  1. вийти з режиму набору тексту ( Esc)
  2. наберіть двокрапку :
  3. введіть q!тоді малі літериEnter

Щоб дізнатися більше, ви можете запустити vimtutorв командному рядку. Це урок середньої довжини, добре структурований.

Поза межами iта Esc: ви можете копіювати або перевершувати лише деякі функції MS Word jkwbd3:%s/nN.

  1. bповертає вам слово ( Ctrl+ )
  2. wпередає вам слово ( Ctrl+ )
  3. 9w веде вас вперед дев'ять слів
  4. dbвидаляє попереднє слово ( Ctrl+ Backspace)
  5. d3b видаляє три попередні слова
  6. 9j рухається вниз на 9 рядків
  7. / ornithopter Enterпереводить вас до наступного екземпляра слова "орнітоптер", потім nі Nдо наступного та попереднього виникнення "орнітоптера" відповідно.
  8. :%s/confounded/dangfangled/ Enterпідміняє кожного "збентеженого" на "dangfangled" (як find and replace allу MS Word)

Будь-який з них повинен запускатися в режимі "команд" ( Esc), а не вставляти режим ( i).


16

Нещодавно я перейшов на VIM, і вважаю, що того варто. Якщо вам потрібно "просто щось зробити", ви завжди можете залишитися в режимі вставки, де vim (здебільшого) схожий на звичайний текстовий редактор.

Я помітив, що речі, які не використовували мене для занепокоєння, як, наприклад, тягнутися до клавіш зі стрілками, зараз відчуваю себе неправильно і занадто багато зусиль. Це, безумовно, зменшило рух моєї руки та використання миші, що добре підходить як для ергономіки, так і для продуктивності


12

Це залежить від того, що ви хочете робити з VIM. Немає сенсу вчитися цьому лише тому, що багато людей не можуть жити без нього.

Коли я багато працював у середовищі UNIX, я не міг жити без цього. Навіть коли VIM не був встановлений на машині UNIX, я міг хоча б використовувати vi. Ви завжди можете розраховувати на це - навіть якщо машина не ваша (це від замовника).

Зараз я програмую на C # і в основному працюю над середовищем Windows. Я встановив VIM на свій ПК ... і мені це не потрібно.

Оцініть, чи дійсно вам потрібен VIM і чи він підтримує вас у вашому «потоці роботи». Спробуй. Пограйте з ним. Якщо ви думаєте, що вам це потрібно, дотримуйтесь його ... крива навчання дуже крута.


Існує розширення візуальної студії для користувачів VIM, дивіться це на visualstudiogallery.msdn.microsoft.com/…
yoel halb

10

Я дізнався, бо я повинен був.

Мій божевільний вчитель змусив нас навчитися програмувати на C за допомогою терміналу до системи AIX.

Це був справжній біль, але того варто.

Сьогодні я використовую лише vi для швидкого редагування чи невеликих програм.

Коли мені потрібно піти на проект, я скоріше використовую і IDE. У моєму випадку ідея IntelliJ дуже добре справляється із завданням, тому що я можу кодувати годинами, не захоплюючи мишу.

Я не знаю, скільки ярликів має VS2008, але якщо вони виявляться такими ж відкритими, як і Eclipse, я думаю, що у вас виникли проблеми, ідіть до vi.

Якщо ви не редагуєте код за межами IDE, а у вашої IDE є хороші ярлики, то краще вивчіть їх, а потім, будь-ласка, перейдіть та вивчіть vi.

:)


Він попросив про користь VIM не думку.
Blaze349

@ Blaze349 ні, він попросив почути про людей, як це дізнався (див. Оригінальний пост тут) , саме це я і відповів. Цьому питанню вже майже 8 років, і я пройшов кілька оглядів протягом багатьох років, моя відповідь відповідала оригінальній. Враховуйте це, коментуючи.
OscarRyz

9

Я використовую vi / vim протягом 25 років. Якщо ви вже знаєте якогось редактора командного рядка, можливо, вам не потрібно вчитися vi / vim. Але якщо ви не дуже добре знаєте інших редакторів командного рядка, варто це вивчити. Бути продуктивним у режимі vi / vim з невеликими зусиллями.


6

Я зараз дуже часто використовую VIM.

Раніше я використовував Vim для редагування та VS Editor для налагодження. Це, мабуть, здається трохи божевільним, але я знайшов парадигму Vi (макроси, редагування на основі домашніх ключів тощо) таким стимулом для моєї продуктивності, що редагування в VS було ретельним.

Завдяки Вієму , мені навіть більше не потрібно робити комутацію. Це ще не ідеальне рішення (завершення коду іноді не настільки елегантне, як у рідному vim, а запис макросу не є ідеальним), але це набагато краще, ніж постійно перемикатися вперед і назад.

Крива навчання для Віма, ймовірно, перебільшена. Я думаю, що як тільки ви потрапите в це, це досить інтуїтивно.


5

Моя робота змусила мене забрати вим, і він швидко став другою природою. Тепер мої скарги стосуються IDE, які не мають емуляції vim чи плагінів. Я помічаю, що ключ esc став моїм ворогом поза vim.

Я знайшов кілька емуляторів для vi в Visual Studio:

http://code.google.com/p/vim-visual-studio/


4

По-перше, хороші знання vi (m) допоможуть вам заощадити час, який вам доведеться поспішати, щоб зробити екстрене редагування конфігураційних файлів на сервері в режимі Seige. Він може утримуватися на відсталому з’єднанні ssh.

Адмін речі вбік метод введення vim стане найкращою захистом від кистьового тунелю, якщо ви ефективно використовуєте його з ергономічною клавіатурою.

Найкращий спосіб побачити сенс vim - почати випадковий проект вдома, відключити мишу та стрічку над клавішами зі стрілками.

І прочитайте довідку


4
Я також вважаю, що модель введення Vi чудово захищає себе від синдрому зап'ястного каналу ...
CMS

клавіші зі стрілками? спробуйте у своєму .vimrc: map <up> <nop> map <down> <nop> map <left> <nop> map <right> <nop> imap <up> <nop> imap <down> <nop> imap < зліва> <nop> imap <right> <nop>
sjas

1
Я просто зазначу, що є те, nanoщо набагато простіше у використанні, ніж vim, і майже однаково поширене.
MightyPork

4

Дві переваги vi / vim:

  • це дуже легка вага

  • він встановлюється майже в кожній системі * NIX


8
чому ви поставили * замість U?
Kamran Bigdely

4
@kami: tad пізно, але ось ви йдете: en.wikipedia.org/wiki/Unix-like
orlp

Чи справді Vim "дуже легкий" порівняно з більшістю інших текстових редакторів?
Бен

4

Я підтримую дуже великий проект Linux на віддаленому комп'ютері. Немає можливості використовувати Eclipse чи подібні IDE на базі GTK. Я там працюю 3 роки. І я поставив свою vim саме для цього проекту. І ще налаштування.

Тепер я можу зробити що-небудь із Vim: управління джерелом, sql, налагодження, компіляція, перегляд - дуже швидкий перегляд вихідного коду 1Gb.

Visual Studio або Eclipse не могли впоратися з усім цим. І якби у мене був вибір, я б не міняв Vim на іншого редактора чи IDE.


4

Я дізнався Віма. Це було не надто багато зусиль. Зараз я абсолютно люблю ci "ci (cw V: s / from / to / g)


3

Я б сказав, що vim, безумовно, варто вчитися. Я взяв його минулого літа, і тепер він мій вибір редактора майже про все (Java - це розтягнення, але виконано, коли мені не потрібна широка підтримка аналізу). Як усі вже підтвердили, це чудово ефективний інструмент.

Для чого це варто, я дізнався лише досить невелику підмножину функцій vim (яка займала день-два) з графічного підручника , а також декілька шансів і закінчень звідси (довго читати), і пошук і заміна функціональності, і я був зачеплений. Я дізнався речі з того часу, але на своєму дозвіллі. Я б сказав, що крива навчання вирівнюється в цей момент, але потім я досить сильно використовував його і був оточений іншими, хто теж був.


3

Я перебуваю в тій же ситуації, що і ви, і я, як початківець Вім, спочатку вважав це трохи жахливим - крива навчання здається крутою. З того, що я дізнався лише за кілька годин, я вже відчуваю, що не зможу жити без цього.

Ось це через кілька посилань , які я знайшов для корисної скрінкасти Vim , щоб показати вам , що він здатний.

Хороша порада, яку Брам Муленаар (доброзичливий диктатор Віма) дав у цьому останньому посиланні, полягає в тому, що намагатися вивчити кожну команду та функцію було б неефективно, просто з’ясуйте, що це таке, що ви робите, що не так працюючи дуже добре, шукайте спосіб зробити його більш ефективним, а потім зробіть це звичкою.


3

Так, обов'язково знайдіть час, щоб засвоїти хоча б трохи «vi» та «vim». Це дуже добре подорожує.

Ви ніколи не будете застрягати, коли зіткнетесь із клієнтовою системою Unix / Linux / Mac, для якої у вас немає можливостей встановлення. Навіть у Windows (якщо у вас є можливості встановлення) "Vim" встановлюється безкоштовно та просто. (На відміну від інвестування кривої навчання виключно у щось на кшталт UltraEdit, яке, хоча відмінний редактор, може бути недоступним для вас весь час ...).

Вивчення vi може налаштувати вас на вивчення інших інструментів, таких як "sed", і регулярного виразів: речі, які, як правило, можуть бути передаваними.

Плюс якщо ви хочете бути належним видовищем, вам просто потрібно знати "vi / m", або ви будете схожі на фальшивку ;-)


2

Я думаю, що, безумовно, варто витратити час і зусилля, щоб вивчити vim. Для мене це робить набір тексту та переміщення навколо тексту настільки ефективним, що важко уявити, як повернутися до комбінацій клавіш emacs або ctrl / shift / alt / meta.

Не залякуйте всі вигадливі риси vim. Після того як ви достатньо його використали, ви зрозумієте, які команди ви найбільше використовуєте, і ви зрозумієте, про які речі можна забути.


2

Дивовижна повсюдність Vim та ще більш дивовижна всюдисущість ві-клонів взагалі, лише для Unix-систем достатньо, щоб зробити це варто вивчити.

Окрім цього, ціле мислення у стилі Vi - це те, що, як я думаю, зробило мене трохи продуктивнішим. Людині, яка не звикла до таких режимів, як режим команд та режим вставки, здається трохи надмірним введення режиму просто для вставки тексту. Але, коли хтось використовує Vim протягом декількох місяців і дізнався досить багато порад та рекомендацій, Vim, здається, є надбанням, яке, здається, того варте.

Звичайно, натовп Emacs говорить те саме, що стосується мислення в стилі Emacs, але я відмовився від вивчення Emacs, тому що Vim був простішим і зробив мені роботу.


2

Я навчився подобатися vi після перегляду того, хто з ним дуже вміло орієнтувався, щоб вносити зміни в шалено швидкий кліп. Ви дійсно можете швидко кодувати з цим. Ще одна причина, яка мені подобається, полягає в тому, що іноді я виявляю, що гуляння навколо IDE дійсно болить мені руки через деякий час, і vi забезпечує приємні зміни. Як вже згадували інші, він майже завжди доступний в системах Unix і працює добре навіть при слабких з'єднаннях.

Одне, що я ще не бачив, це те, що знання vi має додаткову користь від „geek Credit” у деяких колах. Я можу придумати принаймні декількох людей, які хизуються, коли бачать, що новий програміст вистрілює недіт, щоб внести деякі зміни у файл.


2

Не лякайтеся кількості команд, я не зустрічав нікого, хто використовував максимум пару десятків. Я вважаю це незамінним, тому що коли я думаю про код, я думаю про текст, перехід до думки про мишей просто заплутує мене. Думаю, великі хитрощі - це навчитися цьому трохи за раз, і не соромтесь грати - функції скасування відмінно підходять для вивчення його поведінки.

Крім того, якщо ви заглибилися в нього, vim - це сценарій. Можливості буквально безмежні.

(Так, все це стосується і emacs ...)


2

Я був задоволений своїм текстовим планшетом та ecplise світом, поки мені не довелося почати працювати з серверами під Linux. Потрібні були віддалені сценарії та налаштування файлів конфігурації!

На початку було важко, але тепер я легко можу налаштувати і налаштувати свої сервери.


2

Можливо, ви захочете навчитися vim, тому що, можливо, ви не задоволені редакторами, які ви вже використовуєте.

Можливо, ви захочете навчитися vim, тому що багато людей кажуть, що це круто. Подивіться, скільки відповідей ви отримали на це питання.

Я надам додаткову причину для вивчення vim. Вона має репутацію якості та повноти своїх документів. Таким чином, ви знайдете більшість відповідей на свої запитання в його довідковій системі, як тільки вам вдасться вписати відповідні ключові слова у ваших довідкових запитах.


2

Щоб швидко засвоїти vi (m), потрібно спочатку зрозуміти всю конструкцію. Vim має великий набір команд переміщення курсору, перевірте декілька (X - символ, # цифра):

jk введіть стрілки 0 $ w W b B ctrolD crtolU ctrolE ctrolY HML fX FX tX TX,; % gg G n N mX 'X' '

і багато іншого було б нудно перерахувати. Багато з них підтримують кількість перед командою, як-от 4j для переміщення на 4 рядки вгору.

Тепер, повертаючись до дизайну, ви вводите команду типу d для видалення з подальшим переміщенням курсору, і команда застосовується до тексту тексту з позиції курсору до кінця руху. Наприклад, H переміщується до верхньої частини екрана, dH видаляє у верхній частині екрана, а cH змінює (замінює) у верхній частині екрана.

Ця конструкція досить потужна. Це також зменшує або організовує те, що потрібно вчитися. Безумовно, перший крок - це вивчити кілька команд руху курсору. Скажіть, спочатку 8 чи 10. Тоді ви майже готові.


2

Дізнатися щось нове завжди варто зусиль, ІМХО. Я пропоную вам роздрукувати шпаргалку і змусити її використовувати день у день та вихідний.


На китайській мові є історія, яка говорить, що хтось вчиться вчителю, як заколотити драконів. Після закінчення навчання він ніколи не може знайти жодного справжнього дракона для м'ясника. Я не кажу, що ви, але в цій історії мораль полягає в тому, що іноді вчитися чомусь - це просто марна трата часу.
Земляний двигун

2

Vim, безумовно, варто навчитися частково узагальнювати те, що було сказано раніше, ось основні причини:

  • Vi / Vim можна знайти в більшості систем Unix.
  • Vim дозволяє легко кодувати, не знімаючи рук з клавіатури.
  • Якщо ви плануєте що-небудь налаштувати в системі Unix, вірогідність того, що ви збираєтеся редагувати досить декілька файлів конфігурацій, тому вам захочеться дізнатися редактор на основі терміналу, з яких vim - один з найкращих (вибачте emacs).
  • Vim компілює / має попередньо скомпільований двійкові файли майже для кожної ОС там. Не потрібно розміщувати повідомлення "Мені потрібна альтернатива для текстового редактора для [вставити ОС]", натомість у вас буде Vim!
  • Існує багато хороших плагінів, щоб додати багато функціональності, наприклад, в редакторі резюме відрізняється, хоча для деяких з них потрібна велика кількість майстерності.

Крім того, у бічній примітці, якщо вам здається, що вам подобаються прив’язки клавіш Vim, також є IDE, які включають прив'язки vim до своїх редакторів для простих команд, наприклад Komodo Edit .

Щоб отримати допомогу в навчанні Vim, спробуйте ввести "vimtutor" у свій термінал і дотримуйтесь інструкцій. Є також книга, яка особливо добре хакерська Вім


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.