Vi & Vim

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

2
Регулярное выражение в Vi: Как использовать классы символов внутри групп? (например, [\ s \ w])
В Vim класс символов \sсоответствует любому пробелу. Когда я использую эти специальные символы в группах, например, [\s\w]он не соответствует ни одному пробелу или символу слова, он соответствует sили w. Как использовать классы персонажей внутри групп?

5
Настройки и плагины когда root (`sudo vim`)?
Это действительно расстраивает, когда мне нужно отредактировать файл как пользователь root и использовать его, sudo vim somefile.confи я не могу использовать какие-либо свои сочетания клавиш, настройки и плагины. Есть ли способ получить все мои настройки, когда мне нужно редактировать как root? Я использую vim-plug для своих плагинов.

5
Список допустимых цветовых схем?
Я только что узнал о :colorschemeкоманде. Есть ли способ получить список допустимых цветовых схем от Vim? Я хотел бы иметь возможность сделать это изнутри Vim, а не из списка где-то в Интернете.

2
Как проверить значение параметра Vim в Vimscript?
В Vimscript, как я могу проверить текущее значение опции Vim? Чтобы уточнить, я хочу сделать команду для переключения из Full-GUI Mode ( guioptions=+tM) в Hacker Mode ( guioptions=-tM). Тем не менее, я не могу найти способ разобрать :set guioptions?значение

2
Как сказать vim не пытаться разархивировать файл
Я пытаюсь открыть .xlsxфайл в Vim, но получаю сообщение об ошибке: ***error*** (zip#Browse) unzip not available on your system Я знаю, что это двоичный файл, но я хочу сделать некоторые контрольные суммы и, вероятно, преобразовать в шестнадцатеричный. Я заметил, что если я меняю расширение, Vim больше не пытается его разархивировать. …

4
Могу ли я перейти к объявлению или определению функции в проекте с несколькими исходными файлами C ++?
Могу ли я перейти к объявлению или определению функции в проекте с несколькими исходными файлами C ++? Допустим, у меня есть заголовочный файл foo.hpp: int bar(); и исходный файл foo.cpp: #include "foo.hpp" int bar() { return 42; } и основной файл main.cpp: #include "foo.hpp" int main() { bar(); return 0; …

1
Как разрешается история команд между несколькими экземплярами Vim?
Vim хранит историю ex-команд (доступную через :↑и q:), и эта история сохраняется после выхода. Если я запускаю несколько экземпляров Vim (один и тот же пользователь, один и тот же домашний каталог), как Vim осуществляет арбитраж между историями команд? Кажется, что последний процесс для выхода выигрывает. Есть ли способ сохранить историю …

6
Как посмотреть, активен ли плагин
Как я могу определить, установлен ли плагин типа vim-latexsuiteфайла (например, ) и активирован ли я при открытии соответствующего файла? Другой популярный редактор будет указывать, что соответствующий «второстепенный режим» активен. Что такое VIM-эквивалент?

1
Завершение Ctrl-n занимает много времени для «сканирования включенного файла»
Я совершенствую свои навыки работы с vim и играю с завершением, используя команду Ctrl-n. Я программирую на Perl. Когда я нахожусь в режиме вставки и нажимаю Ctrl-n, я получаю сообщение, что это «Сканирование включенного файла» внизу терминала, и похоже, что оно сканирует файлы в каталогах дистрибутива perl. Это может занять …

4
Прокрутите четверть (25%) экрана вверх или вниз
Я часто нахожу прокрутку полной страницы слишком дезориентирующей, полстраницы слишком большой, но четверть страницы - это как раз то, что нужно. В настоящее время я делаю это, просто удерживая клавиши со стрелками. Как мне легко прокрутить 25% страницы вниз и вверх?

2
Как сделать так, чтобы Vim всегда отображал несколько строк после EOF?
В Vim мне не нравится, как, когда вы достигаете конца файла, он помещает последнюю строку внизу экрана. Есть ли в любом случае, чтобы последняя строка была чем-то вроде 10 строк над нижней частью экрана и просто делала пустые строки под ней?

3
Как мне скопировать файл в netrw?
Текущий рабочий каталог ./A/B/. Пустой документ открыт , когда я печатаю vim, и netrw открывается с помощью команды :e.Окна расщепленной vs., и я могу перейти в каталог верхнего уровня, то есть ./A/. Теперь я хотел бы скопировать файл a_file.jpgиз ./A/B/в ./A/. Я пробовал yyна целевом файле и pв целевом окне …

5
Могу ли я получать уведомления об отмене изменений из файла?
Я уже давно использую функцию отмены файлов в Vim. Это очень хорошая особенность. Однако одно раздражение заключается в том, что очень легко случайно отменить изменения, которые я сделал в последний раз, когда открывал файл; это может быть 2 минуты назад, час назад, на прошлой неделе или месяц назад. Например, допустим, …

2
Запрет Vim очистить терминал после выхода
Если я сделаю: $ less file И нажмите qдля выхода less, я все еще вижу тот же текст, который был на экране, когда lessвсе еще работал. Однако, если я сделаю $ vim file И :qмой терминал пуст Скриншоты моего терминала после выхода lessи vim: Могу ли я как-то предотвратить это? …
15 terminal  linux  quit 

5
Могу ли я повторить макрос с «оператором точки»?
Могу ли я повторить макрос с .командой? Например, я хотел бы иметь возможность набрать: @q... и это эффективно звонить @q4 раза. С поведением по умолчанию, это работает только тогда , когда «д» имеет одну команду, например dw, xили iHello<esc>. (Это имеет смысл, поскольку «.» Повторяет последнее изменение , а не …
15 macro  count 

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