"wrapscan" - это функция vim, которая переносит целое слово на следующую строку; он может быть не установлен по умолчанию в вашей конфигурации - вероятно, нет. Так в дополнение к
: установите tw = 78 вы, вероятно, хотите попробовать один из них:
:set wrapscan
:set wrap <- just a shorter version
:set nowrap <- to turn the wordwrap feature back off
Кстати, вместо того, чтобы устанавливать ширину текста (tw) для некоторого числа символов (меньше, чем у вашего окна), вы могли бы вместо этого установить поле, которое вы хотите оставить в правой части окна, следующим образом:
:set wrapmargin=1
Если для wrapmargin установлено значение, отличное от 0, текстовая ширина должна игнорироваться.
Я бы использовал «: w» для сохранения и продолжения редактирования (или «: w filename», если это новый файл) и «ZZ» или «: wq» для сохранения и выхода, когда вы закончите - нет из них будет перемещать позицию курсора.
Я не уверен, откуда исходит ваше продолжение "#", но я также обязательно установлю их, если они еще не установлены (вы можете проверить, какие переменные установлены, просто набрав ": установить"без других опций):
:set syntax=ruby
:set filetype=ruby
:syntax enable
Если вы начали с пустого документа, а затем добавили к нему «#! / Usr / bin / ruby», vim не заметит, что вы редактируете ruby, пока вы не сохраните, не выйдите и не откроете файл снова. В других случаях раскраска синтаксиса не очень яркая или требует подталкивания, но да, для меня это звучит как ошибка.