Vi & Vim

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


1
Почему Vim Regex не позволяет более 9 групп захвата?
Из :h E65рисунка видно, что Vim не позволяет использовать более 9 групп захвата в команде замещения. Например, будет работать следующая команда: s/\v(a)(b)(c)(d)(e)(f)(g)(h)(i)/\9\8\7\6\5\4\3\2\1 Но этот с еще одной группой захвата потерпит неудачу: s/\v(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)/\10\9\8\7\6\5\4\3\2\1 Мой вопрос не о том, почему он терпит неудачу (это жесткое ограничение Vim), а о том, почему Vim …

1
Как выйти из режима ввода?
Я застрял в режиме ввода, набрав :i. Теперь я не могу использовать любые команды. Все это просто строка текста. Нажатие escape не выводит меня из этого, ввод :visualне выводит меня из этого, и ввод visualне выводит меня из этого. Как мне выйти из этого?
16 ex-mode 

3
Как сделать отступ> <, не выходя из визуального режима и не теряя текущий выбор?
Мне часто приходится делать отступ вручную, но когда я вхожу в визуальный режим, выбираю строки для отступа и нажимаю &lt;или &gt;, я покидаю визуальный режим независимо от того, хочу я этого или нет. Я бы предпочел, чтобы я оставался в визуальном режиме и сохранял свой выбор и положение курсора без …


2
Исправьте отображение стрелок A, B, C, D в vi (не в vim)
Я знаю, что в VIM я могу добавить set nocompatible во .vimrcизбежание отображения клавиш со стрелками A, B, C, D в режиме вставки. Но я использую vi Версия 4.0 (gritter) 25.12.06 . Как я могу получить такое же поведение? == РЕДАКТИРОВАТЬ == (1) Я использую версию vi из Arch Linux, …


5
Заменить серию звездочек с нумерованным списком
Представьте, что у меня есть следующий текст: some random stuff * asdf * foo * bar some other random stuff Я хочу заменить звездочку пулями на цифры, например так: some random stuff 1. asdf 2. foo 3. bar some other random stuff Как это можно сделать в vim?

1
Могу ли я отобразить букву Ctrl + в верхнем регистре отдельно от буквы Ctrl + в верхнем регистре?
Я пытаюсь выяснить, как перемещаться по окнам немного быстрее, поэтому я хотел бы отобразить следующее: :nmap &lt;silent&gt; &lt;C-F&gt; :wincmd f&lt;CR&gt; Проблема заключается в том, что это переопределяет отображение ^f(в нижнем регистре f), которое является страницей вниз. Есть ли способ переназначить только ^F(в верхнем регистре F) и оставить ^fкак было?

2
Каков порядок событий WinEnter, BufEnter, BufRead, Syntax, FileType?
Я прошел через autocmd.txtпомощь, но информация об этом разбросана и не всегда присутствует (например, с BufRead). Может ли кто-то, кто хорошо понимает это, перечислить порядок этих событий - возможно, с условиями, отмеченными в параграфах, как WinEnter BufEnter (if this window is for a different buffer than the current) и так …

2
Расширить движение f и t до следующих строк
Есть ли способ, который t{char}и f{char}будет продолжать работать в следующих строках, если {char}нет в данной строке? Я хотел бы избежать использования, /{char}&lt;CR&gt;чтобы сохранить 1 нажатие клавиши и не иметь подсветки поиска, особенно когда мне это нужно в сочетании с глаголами (например dfa, ct.).

1
Завершение имени файла для удаленных файлов
Мой друг показал мне крутой трюк на Emacs несколько дней назад, когда он мог просто открыть файл на удаленном сервере, и я сразу подумал, что «должен быть способ сделать это и в vim», и это было правдой. Я могу просто использовать :e scp://user@server//filepathдля этого, нет проблем;). Тем не менее, он …

3
Скорость на <Esc> O (Вставить в нормальное положение, чтобы вставить новую строку над курсором)
Часто, когда я нахожусь в режиме вставки, я нажимаю, Escчтобы перейти в обычный режим, а затем сразу же нажимаю, Oчтобы начать новую строку над курсором и перейти в режим вставки там. Но когда я это делаю, происходит задержка в 1 секунду после того, как я нажму на кнопку, Oпрежде чем …

3
Как складывать комментарии?
Синтаксис foldmethodотличный, но иногда я просто хочу сложить комментарии в исходном файле. Также синтаксическое сворачивание комментариев работает только для комментариев в стиле C, например: /* ... */ Но не для комментария, как: // // // ... // Или даже для блоков комментариев в не-C-подобных языках, таких как: # # # …
16 folding 

1
Как сделать так, чтобы оба сплита прокручивались влево или вправо одновременно?
Я хочу открыть две разные части документа по горизонтали (используя :sp) и прокрутить их влево и вправо вместе. Для вертикальной прокрутки вы бы использовали scrollbind. Однако я не уверен, что использовать для горизонтальной прокрутки. Я знаю, что возможность должна быть доступна, потому что когда я использую vimdiff, она прокручивается горизонтально …
16 split  scrolling 

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