В Vim, там способ вставить текст в поисковой строке?

NullPointerException s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException. Они наиболее распространены, но другие способы перечислены на странице NullPointerException javadoc.

Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException, be:

public class Example {

    public static void main(String[] args) {
        Object obj = null;
        obj.hashCode();
    }

}

В первой строке внутри main я явно устанавливаю ссылку Object obj равной null. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.

(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)

99
задан the Tin Man 14 September 2012 в 04:26
поделиться

5 ответов

Можно вставить содержание пронумерованного или именованного регистра путем ввода CTRL R {0-9a-z"%#:-=.} . Путем ввода CTRL-R CTRL-W Вы может вставить текущее слово под курсором. См.:

:he cmdline-editing

для получения дополнительной информации.

122
ответ дан Andrew Marshall 24 November 2019 в 05:02
поделиться

Скопируйте его как нормальный, затем сделайте Ctrl R " для вставки. Существует много других Ctrl R ярлыки (например, калькулятор, текущее имя файла, содержание буфера обмена). Тип :help c_<C-R> для наблюдения полного списка.

49
ответ дан Andrew Marshall 24 November 2019 в 05:02
поделиться

Тип q: для вхождения в режим редактирования истории в новом буфере. Тогда отредактируйте последнюю строку буфера и нажмите Enter для выполнения его.

14
ответ дан the Tin Man 24 November 2019 в 05:02
поделиться

Или создайте команду в буфере энергии, например, введите ее в буфере:

s/foo/bar/gci

И копия это к именованному регистру, с "ayy (если курсор находится на той строке!).

Теперь можно выполнить содержание" a" регистр от Vim Исключая командной строкой с:

:[OPTIONAL_RANGE]@a

я использую все это время.

3
ответ дан Zsolt Botykai 24 November 2019 в 05:02
поделиться

Как правило, Вы сделали бы это с выбором мыши (возможно Ctrl Ins или Ctrl C после выбора) и затем, когда в строке команды/поиска, щелкнув средней кнопкой (или Сдвиг Ins или Ctrl V ).

Иначе, должен записать Вашу строку команды/поиска в текстовом буфере со всем редактированием, доступным в текстовых буферах, начиная с : и все, тогда, на строке, сделать:

"add@a

, который сохранит целую командную строку в буфере a, и затем выполнит его. Это не будет сохранено в истории команд, все же.

Попытка, создающая следующую строку в тексте, буферизуют как пример для нажатий клавиш выше:

:%s/$maximumTotalAllowedAfterFinish/$minimumTotalAllowedAfterFinish/g

Наконец, можно войти q: для ввода редактирования истории в текстовый буфер.

2
ответ дан Andrew Marshall 24 November 2019 в 05:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: