Как эмулировать транспонировать-слова Emacs в Vim?

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

15
задан juris 23 January 2013 в 09:28
поделиться

4 ответа

Они от моего .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*
7
ответ дан 1 December 2019 в 03:53
поделиться

Посреди строки перейдите к первой букве первого слова, затем сделайте

dw wP

В конце строки (т.е. последние два слова строки), перейдите к пространству между словами и сделайте

2dw bhP

От удобного Эквивалентность VIM & команды Emacs

<час>

Вы могли добавить сочетания клавиш для тех, которые путем добавления чего-то как следующее в vimrc файл:

map L dwwP
map M 2dwbhP 

В этом случае, SHIFT-L (в командном режиме) переключил бы слова посреди строки, и SHIFT-M сделает это в конце.

NB: Это работает лучше всего с разделенными пробелом словами и не обрабатывает конкретный случай OP очень хорошо.

5
ответ дан 1 December 2019 в 03:53
поделиться

В зависимости от ситуации можно использовать команды W или B, как в dWwP. "Прописные" версии пропускают к следующему/предыдущему пространству, включая пунктуацию. F и команды t могут помочь, также, для определения конца удаленного диапазона.

существует также обсуждение подсказки Wiki по Vim о различных методах свопинга.

5
ответ дан 1 December 2019 в 03:53
поделиться

Можно использовать dwwP или dWwP как Mark, и CapnNefarious заявили, но у меня есть несколько моих собственных примечаний:

  • , Если курсор находится на первой букве второго слова, как в примере, Вы дали, можно использовать dwbP (или dWbP для обработки пунктуации);
  • , Если курсор посреди слова, можно использовать dawbP/daWbP.
0
ответ дан 1 December 2019 в 03:53
поделиться
Другие вопросы по тегам:

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