Как Вы заставляете 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, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)

225
задан Peter Mortensen 24 June 2019 в 03:54
поделиться

9 ответов

Просто поместите это в свой .vimrc

" <Ctrl-l> redraws the screen and removes any search highlighting.
nnoremap <silent> <C-l> :nohl<CR><C-l>
171
ответ дан Lucas S. 23 November 2019 в 03:53
поделиться

Существует hlsearch и nohlsearch. :help hlsearch предоставит больше информации.

, Если Вы хотите обязать F12 переключать его вкл\выкл, можно использовать это:

map     <F12>   :nohlsearch<CR>
imap    <F12>   <ESC>:nohlsearch<CR>i
vmap    <F12>   <ESC>:nohlsearch<CR>gv
3
ответ дан the Tin Man 23 November 2019 в 03:53
поделиться

У меня есть это в моем .vimrc:

nnoremap ; :set invhlsearch<CR>

Таким образом, ; переключит поисковое выделение. Обычно, ; ключ повторяет последнюю команду t/T/f/F, но я никогда действительно использовал ту функциональность. Я нахожу эту установку намного более полезной, потому что я могу изменить поиск, выделяющийся на и прочь очень быстро, и могу легко получить смысл того, где мои результаты поиска, сразу.

3
ответ дан Peter Mortensen 23 November 2019 в 03:53
поделиться

Я ищу так часто, что я нашел полезным отобразить ключ подчеркивания для удаления поискового выделения:

nnoremap <silent> _ :nohl<CR>
4
ответ дан 23 November 2019 в 03:53
поделиться

Добавьте следующую строку до конца Вашего .vimrc для предотвращения выделения в целом:

set nohlsearch
16
ответ дан Dave Jarvis 23 November 2019 в 03:53
поделиться

Тогда я предпочитаю это:

map  <F12> :set hls!<CR>
imap <F12> <ESC>:set hls!<CR>a
vmap <F12> <ESC>:set hls!<CR>gv

И почему? Поскольку это переключатели переключатель: если выделение идет, то нажимающий F12 выключает его. И наоборот. HTH.

19
ответ дан the Tin Man 23 November 2019 в 03:53
поделиться

/lkjasdf всегда было быстрее, чем :noh для меня.

79
ответ дан the Tin Man 23 November 2019 в 03:53
поделиться

:noh (короткий для nohighlight) добьется цели.

335
ответ дан Tim Cooper 23 November 2019 в 03:53
поделиться
            *:noh* *:nohlsearch*
:noh[lsearch]       Stop the highlighting for the 'hlsearch' option.  It
            is automatically turned back on when using a search
            command, or setting the 'hlsearch' option.
            This command doesn't work in an autocommand, because
            the highlighting state is saved and restored when
            executing autocommands |autocmd-searchpat|.
            Same thing for when invoking a user function.

я нашел его только под :help #, который я продолжаю поражать все время, и который выделяет все слова на текущей странице как текущая.

9
ответ дан the Tin Man 23 November 2019 в 03:53
поделиться
Другие вопросы по тегам:

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