Vi & Vim

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

2
Як я можу перезавантажити всі буфери одночасно?
Під час роботи над гілкою функцій у gitмені часто потрібно зберігати зміни, щоб зробити виправлення помилок у головній гілці. Коли я закінчую роботу над змінами, я git stash popоновлює часові позначки на файли. Незважаючи на те, що файли ідентичні, наступного разу, коли я намагаюся зберегти, я отримую: ПОПЕРЕДЖЕННЯ: Файл змінено …
20 buffers  load 

1
Розуміння комбінації CTRL-U
У цій відповіді я зіткнувся з CTRL-Uвикористовуваним у виклику функції після :і перед власне назвою функції. :nnoremap <buffer> <cr> :<C-U>call append('.', repeat([''],v:count1))<cr> Ось що говорить довідка: CTRL-U Scroll window Upwards in the buffer. The number of lines comes from the scroll option (default: half a screen). If [count] given, first …

3
Як зробити матриці з регулярними виразками не жадібними?
Я намагаюся використовувати регулярний вираз для заміни тексту у файлі (замініть повний URL на просто протокол / домен /): :%s/\(https\?:\/\/.*?\/\).*/\1/gc На жаль .*?, не відповідає рядку, навіть намагаючись уникнути ?кількісного показника? Як слід уникати не жадібний квантор у vim?

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

1
Як увімкнути синтаксис, що відповідає мові, всередині гередока?
Коли я редагую PHP-файл і визначаю рядок у heredoc, підсвічування синтаксису буде включено всередині heredoc, якщо це синтаксис JavaScript або синтаксис HTML або синтаксис SQL. Однак це не буде працювати для синтаксису CSS. Приклад (якщо ми створимо новий файл PHP, викликаний hello.phpіз таким кодом): <?php $foo = <<<"JAVASCRIPT" var hello …

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

1
Як визначити спеціальне спливаюче меню / меню у vimrc
Призначення кожної корисної функції клавіші працює добре для часто використовуваних інструментів, але є деякі операції, які я використовую так рідко, що я вважаю за краще призначити їх деякому спливаючому меню, визначеному в моєму vimrc. Я бачив плагіни на зразок CtrlP, щоб відкрити спливаючий список, тому це повинно бути можливим. Отже, …
19 vimrc 

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

2
Відкрийте .md файли як Markdown
За замовчуванням Vim відкриває всі .md файли як "modula2" код. Я ніколи не чув про модуль2, і не планую ним користуватися. Як я можу сказати vim, що він завжди foo.mdтрактується як Маркдаун (як би я набрав :set ft=markdown)?
19 filetype 

4
Як я маю справу з дуже довгими рядками в тексті (500+ символів)?
Для деяких текстових форматів значення перерв рядків мають значення. Наприклад, я часто використовую Vim для написання документів MediaWiki, де ви не можете просто поставити рядок рядків куди завгодно (на відміну від Markdown). Тому я змушений писати рядки з великою кількістю символів. Це може призвести до довгих (200+ символів) або навіть …

2
Автовиправлення орфографічних помилок
Я включив перевірку орфографії :set spell spelllang=en_us Тепер я можу виправити написання слова, ввівши 1z=(тобто виберіть 1корекцію написання st ( z=)). Як я можу змусити це автоматично запускати попереднє слово кожного разу, коли я ввожу пробіл, без затримок? Він також намагається «виправити» слова, які вже написані правильно (саме тому я …

2
Найпростіший спосіб запустити Vim в приватному режимі
Я хочу мати можливість легко запустити Vim в приватному режимі. Давайте визначимо приватний режим як той, який використовує цей набір команд: set history=0 set nobackup set nomodeline set noshelltemp set noswapfile set noundofile set nowritebackup set secure set viminfo="" Повідомте мене, чи можете ви придумати будь-які додаткові команди, придатні для …

4
Як застосувати команду до всіх рядків?
Якщо я хочу відступити всі рядки в документі, я можу ввести, >Gщоб застосувати його до поточного рядка та нижче, а потім і >ggзастосувати його до рядків вище. Чи є комбінація, яку я можу використовувати, щоб просто застосувати >до всіх рядків одночасно?

1
Як я можу змусити gx розпізнавати повні URL-адреси у vim?
За замовчуванням, якщо буфер vim містить таку URL-адресу, як http://www.google.com, gxу звичайному режимі відкриється браузер із цією URL-адресою. Це дуже зручно. Однак якщо URL має параметри URL-адреси (наприклад http://www.google.com/search?q=stuff), то параметри URL-адреси пропускаються (тобто просто http://www.google.com/searchвідкривається). Я використовую MacVim 7.4 патч 183, з Chrome як основний браузер (на ОС X …

3
Як зупинити запис, перебуваючи в командному рядку?
Коли я записую макрос qі закінчую, я можу набрати: q припинити запис, якщо я перебуваю у звичайному або візуальному режимі. <c-o>q припинити запис, якщо я перебуваю у режимі вставки. .. Як зупинити запис, якщо мій макрос закінчується в командному режимі?

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