Vi & Vim

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

4
Как полноценный новичок может изучить Vim, используя только Vim?
Как начинающий, не имеющий опыта работы с vi, как я могу научиться использовать Vim, используя только сам Vim? Есть ли встроенный учебник, и как я могу получить к нему доступ? Предположим, у меня есть ноутбук с установленными Linux и Vim, и нет подключения к Интернету.

2
Как сделать отступ как пробел вместо табуляции?
Я кодирую некоторые HTML-шаблоны в файлах JADE. Я хочу автоматически делать отступ кода с пробелами вместо табуляции. Я пытался shiftwidth=2, tabstop=2но, несмотря ни на что, все равно отступы, использующие табуляции вместо пробела, что приводит к ошибкам компиляции JADE. Как я могу автоматически делать отступы для больших разделов кода, используя пробелы …

5
Удалить до правого конца текущего внутреннего блока
Допустим, у меня есть такой код ( |представляет позицию курсора ): func1(x|, func2(), y); Я хотел бы получить: func1(x|); Есть ли способ удалить код из позиции курсора в позицию, предшествующую правому концу текущего внутреннего блока ? Я знаю, что могу пойти, dt).но мне интересно, есть ли способ смешать это с …

2
Есть ли способ для событий AND в autocmd?
Я хотел бы вызвать autocmd два события, но не так, как это обычно делается, т. Е. Если какое-либо из событий произошло, то вызвать autocmd. Я хочу вызвать его, если оба события произошли. Например: обычный способ сделать это autocmd BufWrite,BufRead *.c *.py *.h :call StripTrailingWhitespaces() Этот код будет вызывать StripTrailingWhiteSpaces () …
21 autocmd 

2
Как добавить в буфер обмена зарегистрироваться в Vim?
Я уже знаю, что вы можете скопировать что-либо в регистр, используя: (плюс команда yank, delete и т. Д.) "a Я также понимаю, что вы можете добавить в реестр, используя: "A Кроме того, я понимаю, как скопировать что-то в регистр буфера обмена, используя: "+ Что мне ввести, чтобы добавить в реестр …

5
Самый простой способ переключения веток Git
Сейчас я использую fugitive для управления почти всем, что касается git, но я не могу найти хороший рабочий процесс для быстрой визуализации и переключения между доступными ветвями. Я могу сделать :Git checkout <branch-name>, проблема в том, что он автоматически заполняет как имена файлов, так и ветви, и я бы предпочел …

4
Отменить <CR> в режиме вставки
Иногда в режиме вставки я бью &lt;CR&gt;по ошибке, и мне приходится нажимать клавишу Backspace несколько раз (зависит от отступа), чтобы вернуться туда, где я был. например &lt;div&gt; &lt;p&gt; This is some text []&lt;/p&gt; &lt;/div&gt; Курсор []и я нажал &lt;CR&gt;: &lt;div&gt; &lt;p&gt; This is some text []&lt;/p&gt; &lt;/div&gt; Теперь мне нужно …

2
Как я могу переопределить сопоставления ключей плагинов?
Я установил плагин, который не предоставляет механизм для отключения определения клавиш, которые он определяет. Я хочу переопределить одно из сопоставлений ( &lt;leader&gt;cc), определенных плагином для моей собственной цели, я попытался добавить следующую строку в свой .vimrc: noremap &lt;leader&gt;cc echo "my purpose" Но это не работает, &lt;leader&gt;ccвсе еще выполняет команду плагина. …

1
Как: g /^$/,/./- j (уменьшить количество пустых строк до одного пробела) работает в vim?
В статье Vim Regular Expressions Олег Райский дает следующую команду, чтобы уменьшить количество пустых строк до одного пустого: :g/^$/,/./-j Может кто-нибудь, пожалуйста, опишите, как это работает? Я знаю :gкоманды и регулярные выражения. Но я не понял, что /,/./-jделает эта часть .


8
Есть ли лучшая практика, чтобы сложить файл vimrc
Недавно я понял, что моя vimrcдлина теперь больше 400 строк (что для ИМО слишком много, я постараюсь уменьшить ее), и чтобы упростить навигацию, чтение и редактирование, я решил исследовать концепцию свертывания в vim (которая Я не был знаком с) . Я пытался установить метод сворачивания, indentно результат мне не понравился …
21 vimrc  folding 

5
GitHub для .vimrc и плагинов
Я знаю, что многие люди хранят свои .vimrc на GitHub, чтобы упростить получение права на работу на новых машинах, и это имеет для меня полное значение. Однако включение плагинов проблематично, поскольку используемые мной плагины уже являются репозиториями git. Как создать репо, который будет отслеживать как их .vimrc, так и любые …

2
Выполнить bash-скрипт из vim
Я использую Vim для сценариев Bash. иногда я не хочу создавать новый файл, делать его исполняемым, выполнять его и затем удалять. Я имею в виду сценарии, которые будут использоваться только один раз. Например, я открываю vim и набираю это: #!/bin/bash ll | while read line do echo $line done Я …

4
Как я могу заставить Vim игнорировать все пользовательские настройки, как если бы они были недавно установлены?
Чтобы убедиться, что моя личная конфигурация не влияет на поведение, я хочу запустить Vim таким образом, чтобы игнорировать все мои установленные пользователем файлы конфигурации, как если бы Vim только что был впервые установлен заново, а пользователь запустил его. немедленно. Об этом говорится в разделе часто задаваемых вопросов, в котором говорится, …
21 startup 

3
Как мне сказать vim, что некоторые расширения файлов являются синонимами?
Я редактирую код C ++ в .cppфайлах, а код шаблона - в .tccфайлы. Когда я открываю такой файл, подсветка синтаксиса недоступна. Я попытался set syntax=cppв tpp.vimфайле ~/.vim/ftplugin/, но он ничего не делает, а в редакторе работает. Есть ли способ заставить vim рассматривать определенные расширения как синонимы другим?

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