Есть ли способ взаимодействия с режимом командной строки, всегда оставаясь в исходном положении?
В частности, следующие два действия являются обременительными, требующими перемещения пальцев к клавишам со стрелками, а иногда и хуже, к мыши.
- Перемещение: есть ли способ двигаться вперед и назад в режиме командной строки, оставаясь в обычном положении?
- Как вы можете копировать и вставлять в командной строке? Я имею в виду копирование как из части самой командной строки в другую часть, так и из текста или даже из буфера обмена.
command-line
Shahbaz
источник
источник
:q
; это открывает новое «буферное» окно, в котором вы можете использоватьhjkl
движение,y
q:
, верно?) Полезно знать! Я случайно попал туда в прошлом, но не особо задумывался об этом. Похоже, он не работает с/
(поиск).Ответы:
Там есть командная строка (что вы знаете), и есть окно командной строки (командная строка в специальном буфере, который вы можете редактировать, как и любой другой). Вы вводите либо с помощью
<C-f>
из командной строки (также для/
поиска и т.д.) , когда вы чувствуете потребность в более «редактировать власть», или непосредственно из нормального режима по выделеннойq:
,q/
и т.д. команде.Подробнее об этом читайте на
:help command-line-window
.источник
<C-f>
очень полезно знать, так как он работает после того, как вы уже прошли половину команды.:
приходит почти автоматически для меня, так что это хорошо , чтобы иметь возможность переключаться без возврата к обычному режиму.Помимо предоставления окна командной строки , Vim также предлагает некоторые ограниченные возможности, позволяющие вам взаимодействовать с командной строкой в режиме командной строки ( без использования клавиш со стрелками).
движение
<ctrl-b>
переместить курсор в начало командной строки<ctrl-e>
переместить курсор в конец командной строкиРедактирование
<ctrl-h>
удалить символ перед курсором (например, Backspace)<ctrl-w>
удалить слово перед курсором<ctrl-u>
удалить весь путь от курсора до начала командной строкиКонечно, вы можете добавить сопоставления командной строки,
:cnoremap
чтобы эмулировать навигационные клавиши некоторых других программ . Или установите плагин Tim Pope RSI, чтобы де-факто использовать стандартные привязки Readline.Приклеивание
Вы можете вставить содержимое любого регистра в командную строку в позиции курсора, нажав,
<ctrl-r>
а затем символ, указывающий регистр. например<ctrl-r>
,+
вставит содержимое буфера обмена в командную строку;<ctrl-r>
,"
вставит содержимое «безымянного» регистра (т.е. содержимое вашего последнего удаления или удаления).Смотрите
:help cmdline.txt
для более подробной информации обо всем выше.источник
<ctrl-r>
было бы особенно полезно.^R
для макросов. Он позволил мне выполнить сверхсложные манипуляции с текстом, дергая часть файла во время макроса, а позже, также во время макроса, используя дерганную часть в длинной команде Ex-mode с^R
. :)