Как перейти к последнему символу файла в vim?

26

Файл:

i am someone1.
i am someone2.
i am someone3
~
~

Документация говорит, что Gпереносит меня в конец файла, но только в начало последней строки. Я хочу, чтобы можно было перейти к последнему символу файла, в данном случае 3, нажать aи ввести точку.

Как я могу это сделать?

Animesh
источник

Ответы:

32

Если вы введете Aпосле, Gвы войдете в режим вставки в конце последней строки.

Если вы просто хотите перейти к последнему символу, тогда G-Endбудет достаточно

Бернхард
источник
Aтогда Gхорошо для меня. Но если я не хочу редактировать, это G-Endединственный вариант? Есть ли один ключ для этого вместо двух?
Анимеш
3
Не то, чтобы я знал, но это не гарантия. Вы всегда можете создать свою собственную карту, если хотите.
Бернхард
30

Gидет к последней строке и $идет к последнему символу строки, поэтому

G$
Жиль "ТАК - перестань быть злым"
источник
Жиль, спасибо, это больше того, что я искал.
Анимеш
Спасибо. Стоит уточнить, что это заглавная Shiftg
буква
5

Ctrl + End также работает как в обычном, так и в режиме вставки. :help <C-End>

Курт Хатчинсон
источник
Это только перемещает курсор к последнему символу в текущей строке.
Sebix
@sebix: нет, проверь помощь.
Курт Хатчинсон
У меня не работает с vim 7.4
sebix
@sebix: у меня все работает отлично, а текст справки довольно понятен. Может быть, у вас есть какой-то мэппинг или плагин, который переопределяет встроенное поведение.
Курт Хатчинсон
0
  • Перейти к последней строке в файле: G
  • Перейти к первой строке в файле: 1G
  • Перейти к концу строки: $
  • Перейти к началу строки: ^
user239993
источник
1
Добро пожаловать в U & L, это вряд ли что-то добавит к существующему и принятому ответу.
Архемар
0

Большинство ответов здесь предполагают непустую последнюю строку файла - что, вероятно, является наиболее распространенным случаем. Есть также предположения о наличии клавиши END на клавиатуре. Однако ключи END доступны не всегда, и в конце файла возможны пустые строки. Поэтому для всех случаев можно использовать следующее, чтобы найти последний (не конец строки) символ файла:

G?.

Это всего лишь одна из нескольких (или, возможно, нескольких) комбинаций команд, которые могут достичь желаемого результата. Шаблон, являющийся:

"Set Cursor Position" + "Search Method" + "Pattern"

В случае описанной выше последовательности команд вы переходите в конец файла и выполняете обратный поиск любого символа (но не символа «конец строки»).

Билл Тотман
источник
-1

Вы можете использовать большое количество, например, 99 или 999 и $. как 999 $

Фред Ян
источник
Это больше нажатий клавиш, чем G$и менее определенным. Многие файлы длиннее 1000 строк.
Wildcard
Согласитесь, но это решение открывает возможность, что вы можете позиционировать до конца любой строки, скажем, вы можете позиционировать до конца строки 13. Вы можете сделать 13 $.
Фред Ян