Vi & Vim

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

2
Як відкрити файл з іншої гілки git?
Я хотів би відкрити файл з іншої гілки в поточному сховищі git. Я бачив це питання ТА , але пропозиції щодо його поєднання з Vim є громіздкими (передача в Vim, відкриття stdin, встановлення файлів тощо вручну). Чи є більш простий спосіб, який зберігає підсвічування синтаксису, налаштування файлів тощо? Якщо це …
35 git 

5
Як зберегти файл у каталозі, який ще не існує?
Припустимо, я запускаю Vim для редагування нового файлу в каталозі, який ще не створений: vim nonExisitingDirectory/newFile.txt Vim із радістю покаже мені порожній буфер, і я можу почати писати новий файл. Але коли я хочу записати файл на диск, я отримую цю помилку: E212: Can't Open file for writing. Я припускаю, …
35 save  autocmd 

10
Як прокоментувати набір рядків, вибраних у візуальному режимі?
Як я коментую кілька у вибраному рядку візуального режиму? Як зробити так, щоб мова була специфічною? Наприклад, якщо вибрано перші 4 рядки: def foo(a,b): for each in (a,b): print each return a+b print "2" Операція команди / макроса повинна призвести до цього (в python): #def foo(a,b): # for each in …

5
Як зробити функцію vimscript за допомогою необов'язкових аргументів?
Я хочу зробити функцію, яка має необов'язкові аргументи. У python я би зробив щось подібне: def functionName(arg1,arg2=false,arg3=false): if arg2: #Do stuff with arguments else: #Do stuff without arguments Я намагався робити function FunctionName(arg1,arg2=false,arg3=false), але це просто дає мені помилку, кажучи про невірний аргумент. Як би я це зробив у vimscript?
35 vimscript 

2
Що означає: встановити фон = темний?
Я не вклав color xxxсвого .vimrc. Тому я бачу це, коли вперше відкриваю своє .vimrc. :colorдає мені defaultтут. Потім я набираю :color darcula. І це змінюється на цьому. :colorдає мені darculaтут (природно). Потім я набираю :set background=dark. І це змінюється на цьому. :colorдає мені defaultтут (дивно). Отже, моє запитання: що …

4
Як я можу змінити відступ за замовчуванням на основі файлів?
Я хотів би мати різні відступи залежно від типу файлу, над яким я працюю. Наприклад, працюючи над .cфайлом, я хотів би, щоб в моєму відступі було 4 пробіли. У .htmlфайлах, які я хотів би (повинен) працювати з вкладками. Як я цього досягти?

3
Як я можу отримати новішу версію Vim на Ubuntu?
Пакети Ubuntu можуть бути досить старими, але для деяких настільних програм (наприклад, Vim) я скоріше мати останню версію, оскільки новіші версії часто виправляють різні помилки. Як я можу отримати досить нову версію Vim на Ubuntu?

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


6
Чи можна видалити цілу лінію, крім розриву рядка?
Досить поширена для мене операція vim, оскільки я є компульсивно-нав’язливою і люблю зберігати файли без пробілів, - це видалити вміст цілого рядка, але не саму лінію (тобто не розрив рядка). Чи існує вбудований спосіб vim для цього? Можливо, d<movement command>операція? Поки що найкраще у мене є (на питальній лінії) 0d$. …

6
Застосування параметрів лише до дерева каталогів
У моїй роботі ми використовуємо стандарт ts2; мої особисті переваги - це 4, що я використовую для своїх хобі-проектів, і цей інший проект, який ми успадкували, має домовленість ts=8. Є також деякі інші налаштування, які я хочу встановити на основі проекту (наприклад, складання). На основі цих параметрів від типу файлу …
33 vimrc  filesystem 

2
Чи можу я бачити історію натискань клавіш у звичайному режимі?
Я знаю, що Vim зберігає історію колишніх команд, пошуків, стрибків місць, змін та, можливо, інших. За допомогою showcmdнабору Vim також показує, які ключі ви ввели до цього часу для звичайної команди режиму, поки ця команда не буде виконана. Іноді, коли в нормальному режимі я ввожу помилку і відбуваються дії. Я …

3
Чи можу я використовувати немонопольний шрифт у Vim чи gVim?
Чи є спосіб використання шрифту, який не є монопространством, у будь-якому vimабо gvim? Я спробував змінити шрифт для gVim за допомогою: :set guifont=Dejavu\ Serif\ 12 Але це дає мені досить потворні результати: Я отримую однакові результати, якщо використовую меню (Правка -> Вибір шрифту) :help guifont каже: Note that the fonts …
32 terminal  gvim  font 

3
Як отримати інтелектуальне автоматичне завершення C ++
Деякі редактори (наприклад, візуальна студія у Windows) роблять автодоповнення C ++, які розуміють C ++. Наприклад, наведено: #include <vector> int main(void) { std::vector<int> v; v.i У візуальній студії автоматичне завершення знає єдиний метод, std::vector<int>який починається з i insert. Чи можливо отримати такий вид автозавершення в vim?

3
Як ви "чіпляєте" рядок у Vim?
Припустимо, ви запустили такий фрагмент вимскрипту: let @z = system("date") Це додасть версію рядка поточної дати до реєстру z, але рядок закінчиться новим рядком, який я не хочу. Чи існує вбудований спосіб (схожий на Perl chomp) для позбавлення від рядкових рядків?
32 vimscript 

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