что такое команда «Выбрать все» в vim и VsVim?


22

Как выбрать все содержимое файла в Vim и VsVim? Как и в других редакторах, ctrl+Aделает выбор всего.


3
Ответ SibiCoder хорош, но было бы полезно узнать, что вы собираетесь делать с скопированным контентом.
Закон 29

5
Сначала вы «выбираете» некоторый текст в «буфере», а не в «файле». Во-вторых, «выбор» часто бесполезен в Vim, поэтому вы должны четко понимать, что вы хотите делать с этим «выбором». Для тебя и для нас.
Ромен

3
@ romainly Я думаю, что OP означает выбор всего файла в визуальном режиме, учитывая, что ctrl+aв других редакторах визуально выделяет весь файл.
EvergreenTree

@statox Почему вы редактировали vsvim ? Для меня это не большое дело, но я думаю, что этот тег совершенно уместен, и я не хотел вступать в войну редактирования. (Я бы тебя пинговал :chat!, но тебя недавно не было в этой комнате, поэтому он меня не пустил)
Джеймс

@DJMcMayhem: Это была ошибка: я сначала подумал, что vsvimэто похоже vimperatorна плагины для других программ, и поэтому не по теме, поэтому я удалил их, затем у меня возникло сомнение, поэтому я проверил мета и увидел, что это по теме, поэтому я одобрил редактирование вашего тега, но забыл снова редактировать вопрос. Я меняю это прямо сейчас, извините за это.
statox

Ответы:


27

ggVGВыбирает весь контент. ggпереходит на первую строку Vзапускает визуальный режим. Gпереходит на последнюю строку, выбирая таким образом от первой до последней строки


15

Наряду с ответом SibiCoder, если у вас есть четкое представление о том, что вы хотите сделать, вы можете использовать следующее:

:%X

Где Xкоманда, например:

:%d             -> delete every line
:%y             -> yank every line
:%normal! >>    -> indent every line

У вас также есть глобальная команда, :gкоторая с шаблоном поиска ^может сделать то же самое:

:g/^/d             -> delete every line
:g/^/y             -> yank every line
:g/^/normal! >>    -> indent every line

Если вы хотите выбрать текст, тогда ggVGвсе в порядке, но помните об этом методе, если вы уже знаете, каким будет следующий шаг. Обратите внимание, что он не оставит курсор в визуальном режиме.

Смотрите: :h :%и :h :gдля справки.


Обратите внимание, что, хотя C-Aотображение используется в vim (см. :h CTRL-A), Вы можете сопоставить его с тем, что делают другие редакторы:

nnoremap <C-A> ggVG

4

Другие ответы хороши. Вот еще одна альтернатива.

Поскольку вы упоминаете, что используете VsVim, вы можете изменить, какие ключи обрабатываются Visual Studio, а какие - vsvim. Перейти к

Сервис -> Параметры -> VsVim -> Клавиатура

Оттуда вы можете установить Ctrl-a для обработки Visual Studio, а не VsVim.

Хотя я не рекомендую этого, так как вы не сможете использовать vim <C-a>, что я считаю важной функцией. Хотя это зависит от вас.


0

Вы можете использовать большое число, например 99999yy, чтобы выбрать все содержимое вашего файла


3
Файлы больше, чем 100000строки, возможны, хотя и редки. Кроме того, использование yyбудет дергать их, а не выбирать их.
Джеймс

1
да, конечно, вы правы, но при выборе чего-либо это в большинстве случаев вырезать, копировать или удалять :)
Адель Кихал

Это то, что мне было нужно. Выберите все и дергайте.
Иван
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.