Vi & Vim

9
Как я могу легко получить длину куска текста?

Иногда я хочу проверить длину фрагмента текста, например, в этом примере: str = 'Hello, world!' if len(str) == 13: print('Hello back to you!') Я хотел бы знать длину строки Hello, world!. То, что я делаю сейчас, это с номером столбца в rulerformatс %c, я помещаю курсор на первый символ, затем...

9
Могу ли я заставить совпадение скобок отображаться в нескольких окнах?

У меня есть исходный файл, содержащий длинный список глубоко вложенных гетерогенных структур. Поскольку конструкции длинные, я бы хотел: Используйте :splitкоманду, чтобы разделить экран на две части. Прокрутите вниз одно окно и вверх другое окно. Когда курсор в окне 1 находится над круглой скобкой,...

9
Свернуть не удается: vim не может найти сгиб

Я пытаюсь свернуть некоторый код PHP, и я включил урезанную версию некоторого кода, который я пытаюсь свернуть, в конце поста. Я пробовал следующие команды vim, но работают только приведенные ниже команды ex. Не бывшие команды не работают и выдают белое на красном сообщение в строке состояния,...

9
Как я могу проверить орфографию в атрибутах HTML?

Функция проверки орфографии Vim в большинстве случаев прекрасно работает - она ​​даже достаточно умна, чтобы отличать код от литералов и комментариев на большинстве языков. Однако у меня есть проблемы с проверкой орфографии HTML: <div title="text with mistaek #1" data-text="text with mistaek...

9
Использование меток с мертвыми ключами

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

9
Есть ли способ для псевдонима `: w'` к`: w`, чтобы избежать создания файлов с именем '?

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

9
Есть ли способ записать результаты «: ls» в файл?

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

9
Автоматически закрывать старые буферы?

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

9
Как я могу создать режим псевдо-вставки с другой раскладкой?

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

9
Как удалить содержимое назад до «=» в предыдущей строке?

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

9
Как я могу ограничить количество предложений при использовании YouCompleteMe?

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

9
Навигация по проектам кода без использования внешних команд

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

9
Как вывести выделенный исходный код в файл для использования вне vim

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

9
Несколько строк инструкции

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

9
Проблема: перемещение линий по вертикали закрывает складки

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

9
Могу ли я использовать «gf» (или аналогичный), чтобы открыть файл и перейти к поисковому запросу?

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

9
Завершение аргумента для python

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

9
Как я могу предотвратить (или, по крайней мере, запросить подтверждение) абсурдно большие числа от использования в качестве префикса команд?

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

9
Автоформат: перенос текста позже при вставке текста

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

9
Перейти к X байтов отсюда

Как я могу переместить X байтов вперед, начиная с текущей позиции курсора (включая разрывы строк)? [count]goможет использоваться для перемещения вперед на X байтов от начала буфера. Я попытался Shift + V, G, [count]go(предполагая, [count]goчто отсчет начнется с начала моего выбора), но, к...