Vi & Vim

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

3
Як я можу легко перерахувати вміст регістрів перед вставкою?
Я багато використовую регістри для копіювання / вставлення, але завжди забував, в якому реєстрі знаходиться мій вміст. Чи є спосіб відображення регістрів перед вставкою? В ідеалі він залишатиме реєстр на екрані при виборі потрібного.

1
Об'єднайте зовнішні зміни, внесені під час редагування
Якщо у файлі, який редагується у Vim, внесені зовнішні зміни, я розумію, що я можу перезавантажити вміст файлу :edit. Але припустимо, що (внутрішньо) я внесла зміни у файл, який я хочу зберегти. Чи є спосіб інтегрувати два набори змін (зовнішніх і внутрішніх)? З того, що я розумію, :editпросто приймає зовнішні …
10 merge 

6
Як скопіювати перші чотири символи кожного рядка до кінця цього ж рядка?
Дано ряд рядків, схожих на це: 2001 "Some Kind of Title," Author's Name, Publication Name, 1 Mar. 2002 "Some Kind of Title," Author's Name, Publication Name, 12 Oct. 2003 "Some Kind of Title," Author's Name, Publication Name, 8 Apr. 2004 "Some Kind of Title," Author's Name, Publication Name, 3 Jun. …

2
Автоматичне завершення значень параметрів на cmdline
Я не можу підрахувати, скільки разів я намагався це зробити: :set foldmethod=syn^I Здається, що завершення не працює на значеннях опцій! У деяких випадках параметри є складними рядками, де завершення може не мати сенсу. (Наприклад 'comments') Але чи були вкладені будь-які зусилля, щоб забезпечити заповнення дикозаводу для загальних випадків використання? Якщо …

1
Як вирівняти коментарі C ++, щоб вони відповідали стилю Google?
Будь-який спосіб заставити Vim форматувати мої коментарі, щоб відповідати Google cpplint? Верхній розділ не відповідає, потрібно виконати 5 змін. тримати цей коментар на одному рівні Додайте пробіл після // додайте мінімум два пробіли між кодом та коментарем вирівняти коментарі додайте пробіл після // (Примітка. Я також задаю це питання тут, …

3
Vim, ctags та перевантаження
Чи є спосіб зробити так, щоб vim перейшов до правильного відповідного визначення автоматично у випадку декількох визначень. Наш C ++ код сильно використовує функцію перевантаження, а vim поводжує з тегами, схоже, не готовий до цього. Наприклад, void abc(int a, int b) { } void abc(int a, int b, int c) …

2
Як я гортаю символи чи слова, як-от транспортування emacs?
Під час читання лінії Bash в режимі emacs я нещодавно виявив функцію транспонування , що дає мені можливість швидко виправити помилку на друку dc dir до cd dir натискаючи CTRL+ Tна cсимволі. Чи є щось подібне у Vi / Vim, що дозволяє мені міняти символи та слова навколо?

3
Альтернатива уникнути косої риски в пошуку та заміні довгих рядків
Чи є альтернатива у пошуку та заміні рядків vim, ніж уникнути кожного спеціального символу в рядку. Наприклад, якщо я хочу відповідати наступному рядку і замінити чимось [ERROR] Login unsucessful Тоді я повинен робити :%s/\[ERROR\]\ Login\ unsucessful/something/g І стає складніше і болючіше для складних рядків, що містять безліч спеціальних символів Я …

1
Чому параметри параметри функцій YouCompleteMe не виконуються?
Я хотів би використати YouCompleteMe з семантичним завершенням C ++, але після годин спроб я не можу знайти, чому це не працює, як очікувалося. Здається, все працює, але я не можу виконати параметри функції. Я запускаю Vim на Archlinux (термінал Gnome на Openbox): Linux Arch-PC 4.2.5-1-ARCH #1 SMP PREEMPT Tue …

2
Чи надлишковим є варіант "Vim" за замовчуванням?
З довідкового документа Vim (див. :help 'path':): Рядок 'шлях' (за замовчуванням у Unix: " .,/usr/include,,") -Для пошуку відносно каталогу поточного файлу використовуйте: :set path=. -Для пошуку в поточному каталозі використовуйте порожній рядок між двома комами: :set path=,, Здається, що .і ,,немає різниці у варіанті "шлях". Вони обидва означають поточний каталог. …
10 path 

1
Як тимчасово змусити gq вважати дефіс (-) звичайним словом, щоб не відступати наступні рядки в тому ж абзаці
Я спробував це у файлі JavaScript після відключення smartindentта autoindentпараметрів, з textwidth = 80, але це все одно те саме. Це також відбувається автоматично через textwidthможливість вставки слів, які разом мають довжину понад 80 символів. Що сталося: /** * - a b c d e f g h i j …

2
Чи є спосіб вставити один символ, а потім вийти з режиму вставки?
Коли я переглядаю текст і, наприклад, додаю зворотні позначки навколо певних слів чи лапок чи будь-чого іншого, це дратує те, що мені потрібно натискати Esc або Ctrl- [після кожної вставки. Вставки (і додатки) різні, тому .не дуже допомагають. Чи є щось подібне до того, rщо повертається в звичайний режим після …



1
Як замінити в декількох рядках?
Я хотів би вставити слово в кілька рядків, чи є якась така команда :[2,3,5,7,11]s/^/word\ /g який би вставити wordна початку рядка 2, рядок 3, рядок 5, рядок 7 та рядок 11? Тут кілька рядків не є суміжними.

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