Vi & Vim

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

1
Автоформат: перенос текста позже при вставке текста
После прочтения help textwithи help fo-tableя ожидал, что когда я установил set textwidth=20 " for demonstration set formatoptions=tcq тогда вставка текста всегда приводит к переносу строки, но это не так. Обтекание происходит только в (или перед) моем курсоре. И если я вставлю, обертывание не произойдет вообще. Пример (Vim 7.4): 12345678901234567890 …

1
Как я могу предотвратить (или, по крайней мере, запросить подтверждение) абсурдно большие числа от использования в качестве префикса команд?
Это случается не так часто, как вы думаете, но иногда бывает, и у меня даже нет кошки. По сути, если вы набираете номерную строку или числовую цифру, а затем случайно нажимаете комбинацию клавиш, которая запускает повторяющуюся команду, можно непреднамеренно дать команду Vim выполнить задачу несколько тысяч, миллионов или даже миллиардов …

1
Завершение аргумента для python
Есть ли способ получить завершение аргумента для Python? В настоящее время я использую комбинацию ctags, python-mode и YouCompleteMe, но мне не хватает функции для автозаполнения аргументов функции (или, по крайней мере, их показа). Есть ли плагин, который поддерживает это? Я использую vim / gvim 7.4 и Ubuntu 14.04

2
Проблема: перемещение линий по вертикали закрывает складки
Когда я перемещаю линии m(например :m+1), все мои складки закрыты. Затем я могу снова открыть складку, zvи курсор будет в той позиции, в которую я переместился. Я использую складывание с {{{ }}}отметками и имею set foldmethod=markerв моем .vimrc. Как я могу предотвратить закрытие Vim при перемещении линий?
9 folding 

1
Несколько строк инструкции
Есть ли способ разбить однострочную инструкцию на несколько строк? Например, я хотел бы преобразовать setlocal variable_name = condition1 ? "1" : condition2 ? "0" : condition3 ? "a long string" : "another long string" в setlocal variable_name = condition1 ? "1" : condition2 ? "0" : condition3 ? "a long …
9 vimscript 

4
Могу ли я использовать «gf» (или аналогичный), чтобы открыть файл и перейти к поисковому запросу?
Есть ли способ заставить gfкоманду vim (или что-то подобное) распознать +{cmd}аргумент для пути к файлу? Можно запустить vim и перейти непосредственно к поисковому запросу, выполнив: $ vim +/coding_effort ~/project/file Аналогично, в командном режиме вы можете сделать: :e +/coding_effort ~/project/file Я часто делаю заметки и ссылаюсь на другие файлы, например: For …

3
Как вывести выделенный исходный код в файл для использования вне vim
На своем рабочем месте я хочу сделать презентацию собственного языка, который я разработал для решения некоторых проблем, которые у нас были. Для облегчения разработки я создал свой собственный файл синтаксиса vim для этого конкретного языка. Теперь мне нужно представить его на другом компьютере, у которого не будет этого синтаксического файла. …

1
Как я могу ограничить количество предложений при использовании YouCompleteMe?
Я работаю над довольно большой PHP-кодовой базой (~ 1,3 млн строк кода). Я сгенерировал теги и теперь, когда я набираю что-то вроде $data-> YouCompleteMe очень сильно отстает и в основном останавливает Vim при попытке получить список всех возможных дополнений из тегов. Есть ли способ это исправить? Например, ограничив количество предложений, …

2
Навигация по проектам кода без использования внешних команд
Я пытаюсь собрать инструментарий команд / запросов Vim, в режиме команд или поиска, для навигации по базе кода без использования Ctags или других внешних инструментов. Ctags хороши, но поддержка может варьироваться в зависимости от среды разработки, в которой вы застряли. Я хотел бы просто положиться на знания Vim.
9 search  ide 

2
Как я могу создать режим псевдо-вставки с другой раскладкой?
Я нахожусь в несколько необычном положении использования двух разных раскладок клавиатуры на регулярной основе ( Programmers-Dvorak и Turkish-F ). Эти макеты сильно отличаются друг от друга, и я могу быть опытным в VIM только с одним набором мышечных воспоминаний. Я довольно хорошо разбираюсь в командах vim в раскладке Dvorak, но …

4
Как удалить содержимое назад до «=» в предыдущей строке?
Я использую пример кода JavaScript: 1 var a = 1; 2 var b = |{}; Курсор находится в позиции |(на символе "{", когда форма курсора является блоком), я обнаружил, что мне нужно aназначить объект, поэтому я хочу изменить его, как показано ниже: 1 var a = {}; Поэтому я хочу …

1
Есть ли способ записать результаты «: ls» в файл?
У меня есть куча разделений прямо сейчас, и мне потребовалось некоторое время, чтобы найти эти файлы (в основном я выслеживаю ошибку через 50 взаимосвязанных файлов). Есть ли такая команда :ls > /tmp/filelist, которая запишет текущие сплиты / буферы, которые я открыл для файла?

3
Автоматически закрывать старые буферы?
Мне нужно было отредактировать много файлов в последнее время для небольшого изменения в каждом файле. Чтобы добраться до каждого файла, я просматривал NERDtree и открывал один файл за другим. Открывая все больше и больше файлов, я заметила, что объем используемой памяти увеличился. Закрытие vim вернуло мне много памяти. У меня …
9 buffers 

2
Есть ли способ для псевдонима `: w'` к`: w`, чтобы избежать создания файлов с именем '?
Время от времени мой мизинец будет задевать 'ключ, пока он тянется к вводу, в результате чего :w'<Enter>. Я пробовал: cabbrev w' :w cabbrev w\' :w cabbrev "w'" :w Никто из них не работает. Есть ли способ создать псевдоним :w'для :w? Я также использую cmdwin ( :help cmdwin+ nnoremap : :<C-F>) …

1
Использование меток с мертвыми ключами
Я использую раскладку клавиатуры, в которой backtick ( `) является мертвой клавишей . Это означает, что когда я набираю знак обратной черты, за которым следует гласный (например `a), то, что видит Vim, это ударенный символ ( à). Поэтому, если я установлю метку с помощью, maя могу перейти к линии метки …

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