Указатель NULL
- это тот, который указывает на никуда. Когда вы разыскиваете указатель p
, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p
является нулевым указателем, местоположение, хранящееся в p
, является nowhere
, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception
.
В общем, это потому, что что-то не было правильно инициализировано.
Они от моего .vimrc и работают хорошо на меня.
" swap two words
:vnoremap <C-X> <Esc>`.``gvP``P
" Swap word with next word
nmap <silent> gw "_yiw:s/\(\%#\w\+\)\(\_W\+\)\(\w\+\)/\3\2\1/<cr><c-o><c-l> *N*
Посреди строки перейдите к первой букве первого слова, затем сделайте
dw wP
В конце строки (т.е. последние два слова строки), перейдите к пространству между словами и сделайте
2dw bhP
От удобного Эквивалентность VIM & команды Emacs
<час>Вы могли добавить сочетания клавиш для тех, которые путем добавления чего-то как следующее в vimrc файл:
map L dwwP
map M 2dwbhP
В этом случае, SHIFT-L (в командном режиме) переключил бы слова посреди строки, и SHIFT-M сделает это в конце.
NB: Это работает лучше всего с разделенными пробелом словами и не обрабатывает конкретный случай OP очень хорошо.
В зависимости от ситуации можно использовать команды W или B, как в dWwP. "Прописные" версии пропускают к следующему/предыдущему пространству, включая пунктуацию. F и команды t могут помочь, также, для определения конца удаленного диапазона.
существует также обсуждение подсказки Wiki по Vim о различных методах свопинга.
Можно использовать dwwP или dWwP как Mark, и CapnNefarious заявили, но у меня есть несколько моих собственных примечаний: