Vi & Vim

Питання та відповіді для людей, які використовують сім'ї редакторів vi та vim

2
Звідси перейдіть до байтів X
Як я можу перемістити Х байт вперед, починаючи з поточного місця розташування курсора (включаючи розриви рядків)? [count]goможе використовуватися для переміщення вперед X байтів від початку буфера. Я спробував Shift + V, G, [count]go(припускаючи, що [count]goпочнеться підрахунок з початку мого вибору), але, на жаль, це не вийшло, тому що goпочинається підрахунок …

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

1
Доповнення аргументу для python
Чи є спосіб отримати аргумент для python? Наразі я використовую комбінацію ctags, python-mode та YouCompleteMe, але мені не вистачає функції для автоматичного заповнення аргументів функції (або показувати їх принаймні.) Чи є плагін, який підтримує це? Я використовую vim / gvim 7.4 та Ubuntu 14.04

2
Проблема: переміщення ліній вертикально закриває складки
Коли я рухаю лінії m(наприклад :m+1), всі мої складки закриті. Потім я можу відкрити складку zvще раз, і курсор буде в тому місці, в яке я перемістився. Я використовую складання з {{{ }}}позначками і маю set foldmethod=markerв своєму .vimrc. Як я можу запобігти закриттю складки vim при русі ліній?
9 folding 

4
Чи можу я використовувати "gf" (або подібне) для відкриття файлу та переходу до пошукового терміну?
Чи є спосіб отримати gfкоманду vim (чи щось подібне) розпізнати +{cmd}аргумент для файлових шляхів? Можна запустити vim та перейти безпосередньо до пошукового терміну, виконавши: $ vim +/coding_effort ~/project/file Аналогічно в командному режимі ви можете: :e +/coding_effort ~/project/file Я часто роблю нотатки і посилаюся на інші файли, як це: For more …

1
Кілька рядків інструкцій
Чи є спосіб розділити однорядну інструкцію на кілька рядків? Наприклад, я хотів би перетворитись setlocal variable_name = condition1 ? "1" : condition2 ? "0" : condition3 ? "a long string" : "another long string" в setlocal variable_name = condition1 ? "1" : condition2 ? "0" : condition3 ? "a long …
9 vimscript 

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

1
Як я можу обмежити кількість пропозицій при використанні YouCompleteMe?
Я працюю над досить великою кодовою базою php (~ 1,3 млн рядків коду). Я створив теги і зараз, коли я набираю щось подібне $data-> YouCompleteMe дуже важко відстає і в основному заморожує Vim при спробі отримати список усіх можливих доповнень з тегів. Чи є спосіб це виправити? Наприклад, обмеживши кількість …

2
Навігація кодових проектів без використання зовнішніх команд
Я намагаюся зібрати набір інструментів команд / запитів Vim у режимі команд чи пошуку для навігації по кодовій базі без використання Ctags або інших зовнішніх інструментів. Каталоги чудові, але підтримка може відрізнятися залежно від середовища розробки, на якому ви застрягли. Я хотів би просто покластися на знання Vim.
9 search  ide 

4
Як видалити вміст назад до "=" у попередньому рядку?
Я використовую приклад коду javascript: 1 var a = 1; 2 var b = |{}; Курсор знаходиться в положенні |(на символі "{", коли форма курсора блокується), я виявляю, що мені потрібно aпризначити об'єкт, тому я хочу змінити його, як нижче: 1 var a = {}; Тож я хочу знати, коли …

2
Як я можу створити режим вставки псевдо з іншою схемою клавіш?
Я в дещо незвичному становищі регулярно користуюся двома різними розкладками клавіатур ( Програмісти-Дворак і Турецька-F ). Ці розкладки сильно відрізняються один від одного, і я в змозі бути досвідченим у вімі з одним набором м'язових спогадів. Я досить досвідчений з командами vim в макеті Dvorak, але це практично неможливо використовувати, …

1
Чи є спосіб записати результати ": ls" у файл?
Зараз у мене є маса розбиття, і мені знадобилося деякий час, щоб знайти ці файли (в основному я переслідую помилку через 50 взаємопов’язаних файлів). Чи є така команда, :ls > /tmp/filelistщо випише поточні розбиття / буфери, які я відкрив для файлу?

3
Автоматично закривати найстаріші буфери?
Нещодавно мені потрібно було відредагувати багато файлів, щоб змінити кожен файл. Щоб дістатися до кожного файлу, я переглянув NERDtree і відкрив один файл за іншим. Коли я відкривав все більше і більше файлів, я помітив, що моє використання пам’яті зростало багато. Закриваючий vim повернув мені багато пам’яті. У мене встановлено …
9 buffers 

2
Чи існує спосіб отримання псевдоніма `: w'` до`: w`, щоб уникнути створення файлів з назвою '?
Іноді мій рожевий буде пасти 'ключ, дотягуючись до входу, в результаті чого :w'<Enter>. Я спробував: cabbrev w' :w cabbrev w\' :w cabbrev "w'" :w Жоден з них не працює. Чи є спосіб створити псевдонім :w'для :w? Я також використовую cmdwin ( :help cmdwin+ nnoremap : :<C-F>) замість звичайного командного рядка, …

2
Використання позначок мертвими клавішами
Я використовую розкладку клавіатури, в якій backtick ( `) є мертвою клавішею . Це означає, що коли я набираю backtick з наступним голосним (наприклад `a), то, що бачить Vim, є наголошеним символом ( à). Отже, якщо я встановив позначку за допомогою, maя можу перейти до лінії знака за допомогою 'a. …

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