Vi & Vim

Вопросы и ответы для людей, использующих семейства текстовых редакторов vi и Vim

2
Самый эффективный способ заменить весь буфер?
В настоящее время у меня есть два аналогичных метода для замены всего буфера другим текстом (скажем, в буфере обмена). Способ № 1: удалить все строки: :%d. вставить текст: "+P(или аналогичный:) :put+. Способ № 2: визуально выделить все строки: ggVG. вставить текст: "+P. Однако я не мог найти способ сделать это …

2
Как выполнить оператор python для каждой строки?
У меня есть следующий пример кода, который изменяет текущую строку с помощью инструкции Python: :py import vim; vim.current.line="["+vim.current.line+"]" Как я могу выполнить эту инструкцию для каждой строки в текущем файле? Связанный: Как вы можете использовать Python в Vim? в стеке потока

1
Как я могу остановить Vim от записи файла без выдачи ошибки?
Я пытаюсь улучшить код из этого ответа, чтобы запросить подтверждение перед созданием отсутствующего каталога, вот что я пишу: function! CreateDirectoryAskConfirmation(path) if !isdirectory(a:path) echohl Question echo "Create directory " . a:path . "?" echohl None let response = nr2char(getchar()) if response ==? "y" call mkdir(a:path, "p") endif endif endfunction autocmd BufWritePre …
10 save  autocmd  error 

2
Как установить плагин .vimball?
Мне дали плагин для Vim. Это вошло в то, что называется .vimball. Что я должен делать с этим точно? Куда я это положу? Нужно ли иметь права root для установки?

1
Есть ли <Cw> для СЛОВ?
Нажатие Ctrl- wв режиме вставки удалит предыдущее слово. Это эквивалентно Ctrl- Backspaceв Windows и Opt- Deleteв OS X и действительно ускоряет набор текста. Vim имеет отдельные понятия wordи WORD(см. :help word). Это неоценимо для текстовой навигации: это разница между wи W, bи B, и так далее. Ctrl- wработает на word. …

3
Затененные термины в помощь
Иногда, когда я ищу справочную систему по определенной теме, она будет скрыта другой темой. Например, если я :h displayполучу помощь для чего-то, связанного с «ресурсами графического интерфейса», когда мне понадобится помощь для настройки «отображения» (как в set display=lastline). Как я могу найти эти «скрытые» темы или перечислить наиболее подходящие темы?

1
Неправильный отступ в цепочке вызовов JavaScript
Например, если у меня есть некоторый код JavaScript, подобный этому: var widget = library() .chainCall1() .chainCall2() .chainCall3(); Если я использую =команду для автоматического отступа, она выглядит так: var widget = library() .chainCall1() .chainCall2() .chainCall3(); Что не то, что я хочу. Я хочу, чтобы это делало отступ в цепочке вызовов, как …

2
Автоматическое создание функций из прототипов функций из заголовочных файлов
вступление При программировании на C и C ++ вы обычно разделяете свои прототипы функций и реальные функции на .h/ .hppи .c/ .cppфайл. К сожалению, перенос прототипов функций из одного файла в другой очень утомителен и требует одновременного открытия обоих файлов (или хорошей памяти), а также большого количества ненужной типизации, особенно …

1
Несколько буферов, один и тот же файл, разные настройки
Можно ли редактировать файл под разными настройками одновременно? Точнее, я хотел бы иметь несколько буферов в одном экземпляре Vim, которые имеют одинаковое содержимое (изменение одного буфера сразу же влияет на содержимое другого буфера), но разные позиции курсора, разные метки, разная подсветка синтаксиса и т. Д. Распространенные варианты использования включают в …
10 buffers 

2
Как сделать открытие новых вкладок по умолчанию?
Когда я открываю vimс несколькими файлами ( vim f1 f2 ...), как я могу открыть их на вкладках напрямую, без использования -p? Я пытаюсь отделить поведение оболочки от поведения vim, удалить vimпсевдонимы на основе и т. Д. Вот почему я предпочел бы не использовать псевдонимы и т. Д. (Следовательно, нет …

3
Как я могу использовать свой трекпад для горизонтальной прокрутки?
Я только что заметил, что моя прокрутка трекпада работает в Vim, инерции и все. Я бы хотел, чтобы это работало горизонтально, поэтому я могу прокручивать вверх и вниз, чтобы курсор двигался влево и вправо, вместо того, чтобы удерживать клавишу со стрелкой вправо в течение огромного количества времени. Как я могу …
10 scrolling  mouse 




4
Ограничение операций разделом кода
В моей повседневной работе часто приходится работать с определенной функцией, например с выделением или поиском переменной, но мне никогда не удавалось ограничить область правок / поиска. Есть ли способ в vim выборочно сказать, найти все ссылки $colorвнутри этих наборов фигурных скобок, или в этом сгибе и т. Д. Если это …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.