Vi & Vim

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

1
Використовувати зворотний простір для зміни поточної команди в звичайному режимі?
Іноді під час введення команди у звичайному режимі ви можете зробити друк, наприклад, якщо я маю намір ввести 10dk, я можу випадково почати вводити текст 19d. Оскільки команда ще не завершена / скоєна, чи можна видалити неправильні ключі за допомогою зворотної області як такої: 19d<backspace><backspace>0dkзамість того, щоб натиснути клавішу escape …

2
Відредагуйте каталог у Vim
Чи можна редагувати каталог у Vim? (Деякі команди працюють для каталогів). Хочу знати, які операції можна зробити в каталозі всередині Vim. Vim може відкривати каталоги для редагування, я вірю, що в ньому також будуть працювати команди. Але звичайні команди поводяться по-різному для каталогів. Наприклад, натискання Iта введення імені файлу та …

1
Візуальний вибір поточного результату пошуку
Я hlsearchвстановив, але іноді це натякає мене на думку про те, що у мене візуально вибрано пошуковий термін, і просто натисніть, cщоб змінити його. Термін, який шукається, може бути не простою літерою, словами, навіть рядками - і все одно, я не хочу рахувати. Чи є спосіб vh(або ch) скажімо, де …

2
Дублікати рядків, що починаються з "x", замінюючи "x" у дублікаті на "y"?
У мене є файл із такою схемою: foo 111 baz foo 222 baz foo 333 baz в яку потрібно перетворити foo 111 bar 111 baz foo 222 bar 222 baz foo 333 bar 333 baz Отже, дублюйте всі рядки, що починаються з foo, і змінюйте лише fooв дублікаті, але залиште …

1
Розумне завершення слова в середині слова
Розглянемо файл із наступними двома рядками: someLongFunction someFunction Коли я перебуваю в режимі вставки в середині другого слова some|Function і натискаю Ctrl-n, дістаю someLongFunctionFunction Чи є спосіб налаштувати Vim, щоб я отримав наступне "розумне" завершення? someLongFunction

1
Змініть форму курсору в режимі очікування від оператора
Мій курсор у Gvim: Мій курсор у Gvim після натискання d: Чи є спосіб змінити курсор у терміналі Vim, коли він перебуває в режимі очікування? Це не повинно виглядати точно як скріншоти. Це робиться o:hor50-Cursorв guicursorдля Gvim. Єдині три варіанти, які я бачу для Vim: t_SI start insert mode (bar …

1
Неправильне кодування під час виклику оболонки
Я експериментував з DOT-діаграмою і намагався зробити наступне: :! dot -Tpng -oFab.png % Я отримав помилку, оскільки моє ім'я має спеціальний символ (" ó" у "Fabricación"): C:\windows\system32\cmd.exe /c ( dot -Tpng -oFab.png Fabricaci├│n.gv) Error: dot: can't open Fabricaci├│n.gv shell returned 2 Hit any key to close this window... Як бачите, …

1
Як змінити візуально вибраний блок за допомогою зовнішньої команди?
У мене є файл, який складається з двох вертикальних частин. У лівій частині дані вже форматовані, і я не хочу їх змінювати. Я хочу лише відформатувати дані з правого боку. Скажіть, у мене є файл з такими рядками foo=bar baz # Neato Junk quux=xyzzy # Bilbo Baggins Ring з ще …

1
Чому перестановка <Esc> змушує курсор стрибати?
В .vimrc: inoremap ii &lt;esc&gt; " ii to go back into command mode Проблема полягає в тому, що iiкурсор стрибає 35 стовпчиків праворуч. Єдиний інший рядок, який стосується Esc: nnoremap &lt;esc&gt;&lt;esc&gt; :noh&lt;return&gt;&lt;esc&gt; Я спробував прокоментувати це, не допомагає. Повна.vimrc : set nocompatible filetype off " Vundle --------------------------------------------------------------------- set rtp+=~/.vim/bundle/Vundle.vim call …

2
Заміна регулярного виразу змішаного випадку, у Vim
Я часто стикаюся з ситуацією, коли в мене є файл із великою кількістю змішаних справ. Наприклад, CamelCase and camelCase Я шукаю заміни регулярних виразів Vim для створення, AnotherCase and anotherCase Зараз я роблю це в два етапи після візуального вибору ліній, :s/CamelCase/AnotherCase/g :s/camelCase/anotherCase/g Чи це можливо за один крок заміни, …

1
Підкреслення синтаксису Vim числових буквених знаків з одноцитатними розділовими знаками
C ++ 14 надав нам можливість використання одиничних лапок для розділення цифр великих числових літералів. Це порушує виділення синтаксису Віма. Наприклад, розглянемо таку програму C ++ 14: #include &lt;stdlib.h&gt; int main(int argc, char** argv) { // small numbers are fine int normal_number = 5; // large numbers have the correct …

2
Майте сенс "[[", "]]", "[]", "] ["
Мені було важко зрозуміти ці рухи текстового об’єкта: *]]* ]] [count] sections forward or to the next '{' in the first column. When used after an operator, then also stops below a '}' in the first column. |exclusive| Note that |exclusive-linewise| often applies. *][* ][ [count] sections forward or to …

3
Як додати текст скелета до нових файлів vim?
Я використовую Vim для написання C ++, і у мене є досить багато #include&lt;&gt;тверджень, коментарів і т. Д., Які я повинен включати в кожен новий створений файл. Я додав autocmd BufNewFile *.cpp r C:\(full file path of skeleton text file) моєму vimrc, тому що я чув, що це створює буфер …

5
Як скопіювати кожен рядок 11 разів, збільшуючи останній "1" у кожному рядку від 2-12
У мене є декілька рядків у файлі, і я хотів би скопіювати кожен рядок 11 разів (перетворивши кожен рядок на 12 рядків) і збільшивши останній "1" у кожному рядку, щоб 12 рядків мали "1" через " 12 ", де спочатку було" 1 ". У кожному рядку можуть бути й інші …

5
Як замінити вміст між двома шаблонами з файлу?
У мене такий формат файлу: &lt;common&gt; fitnes=0 genetic=1 method=0 &lt;/common&gt; &lt;inputs&gt; foo=bar bar=foo &lt;/inputs&gt; &lt;limits&gt; balance=200.00 &lt;/limits&gt; і я хотів би видалити все, що знаходиться між &lt;inputs&gt;і &lt;/inputs&gt;(за винятком шаблону самостійно) та замінити його вмістом з іншого файлу (наприклад foo.txt). Іншими словами, рядки з foo=barта bar=fooбудуть замінені іншим змістом. Можливо, …

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