Команда "перейти в конец последней строки, содержащей содержимое, в режиме вставки"

с текстовыми файлами, когда я снова открываю их в Vim, чтобы добавить контент, я хочу перейти в конец последней строки контента и перейти в режим вставки. В идеальных условиях, простой GA после открытия файла будет заботиться об этом. К сожалению, у меня есть привычка добавлять несколько дополнительных строк в конце файла, и это доказывает трудную привычку избавиться.

учитывая это, каков самый простой способ в Vim сказать "перейти к последней строке в файле, в котором есть содержимое это, перейти к концу этой строки и попасть в режим вставки"? Я предполагаю, что суть моего вопроса заключается в том, как я выражаю концепцию "последней строки, в которой есть контент", в Vim?

10
задан sundar
18.02.2023 17:33 Количество просмотров материала 2923
Распечатать страницу

3 ответа

можно использовать ?\w введите следовал по A

  • ?\w поиск первого слова
  • A переводит вас в режим вставки в последней строке, содержащей content
1
отвечен Lieven Keersmaekers 2023-02-20 01:21

если вы хотите всегда переходить к последней строке файла, не содержащей пробелов, или к определенному виду файла, вы можете вставить autocmd в своем ~/.vimrc. Например:

:autocmd BufRead *.txt :$;?\S?

это автоматически идет в конец файла, и ищет обратно не пробелов символ, на любой файл, соответствующий шаблону шар *.txt. Затем введите o например, чтобы добавить материал.

тот же метод может быть использован для удаления пустых строк, которые вы оставляете в конце буферов когда вы запишите их обратно в файл, отсюда устранение проблемы в первую очередь. Например:

:autocmd FileType python autocmd BufWritePre <buffer> :%s/\(\n\s*\)\+\%$//e

этот пример делает это только для файлов, распознанных как тип файла python (например, суффикс .py).

1
отвечен meuh 2023-02-20 03:38

Я никогда не работал в Vim, но предложу логику:

  • перейти в конец файла
  • резервное копирование одного символа
  • заменить новую строку нулевой строкой -- если успешно, повторите; если нет, мы закончили.
0
отвечен aparente001 2023-02-20 05:55

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх