Подтвердить что ты не робот

Как я могу перемещаться в командной строке Vim?

Если вы вводите команду в Vim (я имею в виду, что вы начали с :, и вы работаете в панели внизу экрана) есть ли способ передвинуть курсор, кроме нажатия клавиши со стрелками? В частности, можете ли вы перенести его в начало, конец, назад n символов или назад на одно слово?

4b9b3361

Ответ 1

Тип

:h cmdline-editing

для деталей. Я перечисляю несколько интересных команд не-стрелок, которые делают что-то похожее на то, что вы хотите.

  • ctrl - B: курсор в начало командной строки
  • ctrl - E: курсор до конца командной строки
  • ctrl - W: удалить слово перед курсором
  • ctrl - U: удалить все символы между позицией курсора и началом строки

Ответ 2

Нажмите Ctrl + F в режиме командной строки (сразу после :). Там вы получите окно командной строки, которое можно редактировать и перемещаться в виде обычного окна vim (hjkl и т.д.).

Подробнее см. :h cmdline-window.

Ответ 3

Чтобы добавить к Maxim Kim Answer,

В Normal Mode..

q: → окно cmdline для команд

q/ → окно cmdline для поиска вперед

q? → окно cmdline для поиска назад

Ctrl-C или <CR> выведет вас из окна cmdline

Ответ 4

  • ctrl + left arrow: вернуться назад
  • ctrl + right arrow - переместить слово
  • ctrl + b - вернуться к началу строки
  • ctrl + e - перейти к концу строки
  • ctrl + w - удалите одно слово перед курсором
  • ctrl + u - удалить строку
  • ctrl + f - если вам нужно больше использования энергии редактирования ctrl + f, и вы отредактируете свою команду в обычном режиме. Например, если вы хотите переместить 5 символов влево, используйте ctrl + f, а затем 5h.

Ответ 5

nnoremap q; q:, чтобы облегчить печатание. usr_20.txt и cmdline.txt содержит всю полезную информацию.

Ответ 6

На самом деле вы можете добавить свои собственные клавиши перемещения. Например, я использую следующее в моем .vimrc, чтобы сделать перемещение по командному режиму удобным для пальцев способом hjkl (злоупотребление клавишей Ctrl):

 " moving aroung in command mode
 cnoremap <c-h> <left>
 cnoremap <c-j> <down>
 cnoremap <c-k> <up>
 cnoremap <c-l> <right>
 cnoremap ^     <home>
 cnoremap $     <end>

где ^ и $ действительно < ctrl- ^ > и < ctrl- $ > respectivelly, напечатанный как < c-v > c- → и < c-v > c- $ > в .vimrc(по какой-то причине < c- ^ > и < c- $ > не будет работать, по крайней мере, в моей настройке, но первые do)

Ответ 7

В Mac OS

  • Shift + left arrow: отступить на слово
  • Shift + right arrow: двигаться вперед на слово