Vi & Vim

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

1
Чи можу я змусити відповідні дужки відображатись у кількох вікнах?
У мене є вихідний файл, що містить довгий список глибоко вкладених гетерогенних структур. Оскільки структури довгі, я хотів би: За допомогою :splitкоманди розділіть екран на дві частини. Прокрутіть одне вікно вгору та вгору інше. Коли курсор у вікні 1 знаходиться над круглими дужками, а інші дужки видно в іншому вікні, …

2
Як я можу перевірити написання атрибутів HTML?
Функція перевірки орфографії Vim чудово працює в більшості випадків - вона навіть досить розумна, щоб відрізнити код від літералів і коментарів на більшості мов. Однак у мене є проблеми з перевіркою правопису HTML: <div title="text with mistaek #1" data-text="text with mistaek #2">text with mistaek #3</div> У прикладі вище divвиділяється лише …

2
Неможливо скласти: vim не може знайти жодної складки
Я намагаюся скласти якийсь PHP-код, і я включив скорочену версію деякого коду, яку я намагаюся скласти в кінці публікації. Я спробував наступні команди vim, але працюють лише попередні команди нижче. Неіснуючі команди не працюють і видають біло-червоне повідомлення в рядку статусу: "Я не можу знайти жодних складок. :help folding :help …

1
Як мені легко отримати довжину фрагмента тексту?
Я іноді хочу перевірити довжину фрагмента тексту, наприклад у цьому прикладі: str = 'Hello, world!' if len(str) == 13: print('Hello back to you!') Я хотів би дізнатися довжину струни Hello, world!. Що я роблю зараз, є номер стовпця в rulerformatс %c, я поклав курсор на перший символ, а потім перейти …

1
Визначте власні команди для регістрів * та +
Якщо я використовую збірку Vim з цією xterm_clipboardфункцією, то вміст системного буфера обміну доступний через +реєстр. Якщо збірка, яку я використовую, не має цієї функції, чи можу я змусити змусити "+регістр викликати свої власні програми для отримання та встановлення системного буфера обміну ( xsel -boі xsel -biчи так само xclip)? …

1
Regex, який віддає перевагу більш короткі матчі в рамках матчу? (Це більше, ніж не жадібне)
Я намагаюся створити сценарій для нечіткого пошуку всередині буфера. Основна ідея - взяти деякий вклад і вставити .\{-}між кожною парою символів, наприклад, fooстає f.\{-}o.\{-}o. Це працює досить добре, але приходить багато неідеальних матчів. Я думаю, що нечіткий пошук повинен спочатку дати найкоротші відповідники. Розглянемо наступний приклад: public void put() Якщо …

4
Додавання блоку заголовка в 80 стовпців із коментарями із центрованим текстом
З якихось чи інших причин я часто поділяю код на підрозділи, розділені такими заголовками: ################################################################################ #################################### LOAD ###################################### ################################################################################ Це 3 широкі лінії з 80 стовпцями #із заголовком, по центру посередині. Поки що я не знайшов швидкого способу генерувати їх у vim. Що я зазвичай роблю, це щось уздовж рядків, …


1
Як створити кнопки на панелі інструментів для збільшення та зменшення розміру шрифту?
Багато систем пропонують кнопки + та - збільшення. Чи може хто-небудь продемонструвати, як можна емулювати такі дві кнопки gvim? Це означає, що натискання кнопки + збільшить розмір шрифту на один крок. Кнопка - робить все навпаки.
8 gvim  font 

4
Перемикання буферів .c / .h
Я нормально працюю з 2 вікнами, вертикально розділеними. Проблему, яку я хотів би вирішити, полягає в тому, щоб: легко перескакувати назад і назад із заголовка <-> файлу реалізації Я досліджую, без удачі, два способи зробити це: Відкрити альтернативний файл у поточному вікні : Є багато способів зробити це, однак, я …


1
Видаліть кілька рядків за адресою
Я переглядав цей виклик vimgolf , і думав, що було б непогано видалити конкретні рядки за адресою. Я знаю, що я можу це зробити за допомогою :<line_number>d, але чи є спосіб перерахувати декілька номерів рядків, dна яких слід працювати? Я уявляю щось подібне: :1,4,32dале, звичайно, це не працює. Як це …

1
Розуміння різниць відліку між лініями через: g / ^ / норма та через:% норма
Скажімо, у мене є такий дуже простий файл a b c d e і я вирішив, що хочу додавати порожні рядки після кожного рядка. Кілька різних методів одразу прискакують мені на думку. Ми можемо просто зробити це (і, таким чином, сприйняти невдачу). Ми можемо записати подібний макрос qqo<ESC>jqі повторити його …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.