Статические переносы слов в VIM (Как убрать?)

Софт под Linux, разные программы, но только связанные с Linux

Модератор: /dev/random

Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Статические переносы слов в VIM

Сообщение ddc »

В общем, стал мой VIM переносить слова. Просмотрел конфиги и ничего подходящего не нашёл. Что можно сделать?
Вот глобальный и местный vimrc:
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Статические переносы слов в VIM

Сообщение ddc »

Проблема, как оказалось, была здесь:

Код: Выделить всё

  " In text files, limit the width of text to 78 characters, but be careful
  " that we don't override the user's setting.
  "autocmd BufNewFile,BufRead *.txt
        \ if &tw == 0 && ! exists("g:leave_my_textwidth_alone") |
        \     setlocal textwidth=78 |
        \ endif
Что странно, простое добавление "set textwidth=0" в "~/.vimrc" ничего не изменило. А почему?
Спасибо сказали:
Sleeping Daemon
Сообщения: 1450

Re: Статические переносы слов в VIM

Сообщение Sleeping Daemon »

ddc писал(а): ↑
29.03.2006 19:25
Проблема, как оказалось, была здесь:

Код: Выделить всё

  " In text files, limit the width of text to 78 characters, but be careful
  " that we don't override the user's setting.
  "autocmd BufNewFile,BufRead *.txt
        \ if &tw == 0 && ! exists("g:leave_my_textwidth_alone") |
        \     setlocal textwidth=78 |
        \ endif
Что странно, простое добавление "set textwidth=0" в "~/.vimrc" ничего не изменило. А почему?

set nowrap
Спасибо сказали:
jsv
Сообщения: 67

Re: Статические переносы слов в VIM

Сообщение jsv »

ddc писал(а): ↑
29.03.2006 19:25
Проблема, как оказалось, была здесь:

Код: Выделить всё

  " In text files, limit the width of text to 78 characters, but be careful
  " that we don't override the user's setting.
  "autocmd BufNewFile,BufRead *.txt
        \ if &tw == 0 && ! exists("g:leave_my_textwidth_alone") |
        \     setlocal textwidth=78 |
        \ endif
Что странно, простое добавление "set textwidth=0" в "~/.vimrc" ничего не изменило. А почему?

А что в этом странного? &tw -- это и есть значение переменной textwidth. Оно равно нулю (как прописано в ~/.vimrc), переменная g:leave_my_textwidth_alone не определена, выполняется setlocal textwidth=78 для буфера. Всё логично. :)
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Статические переносы слов в VIM

Сообщение ddc »

Sleeping Daemon писал(а): ↑
30.03.2006 09:20
set nowrap
Если бы проблема решалась так просто, армянское радио ей бы не занималось.
jsv писал(а): ↑
30.03.2006 12:39
А что в этом странного? &tw -- это и есть значение переменной textwidth. Оно равно нулю (как прописано в ~/.vimrc), переменная g:leave_my_textwidth_alone не определена, выполняется setlocal textwidth=78 для буфера. Всё логично. :)
Т.е. в ~/.vimrc нужно добавить строчку "g:leave_my_textwidth_alone"?
Спасибо сказали:
Sleeping Daemon
Сообщения: 1450

Re: Статические переносы слов в VIM

Сообщение Sleeping Daemon »

ddc писал(а): ↑
30.03.2006 23:12
Sleeping Daemon писал(а): ↑
30.03.2006 09:20
set nowrap
Если бы проблема решалась так просто, армянское радио ей бы не занималось.

Я не слушаю армянское радио и видимо поэтому у меня всё просто. Просто работает.
Спасибо сказали:
jsv
Сообщения: 67

Re: Статические переносы слов в VIM

Сообщение jsv »

ddc писал(а): ↑
30.03.2006 23:12
Sleeping Daemon писал(а): ↑
30.03.2006 09:20
set nowrap
Если бы проблема решалась так просто, армянское радио ей бы не занималось.
jsv писал(а): ↑
30.03.2006 12:39
А что в этом странного? &tw -- это и есть значение переменной textwidth. Оно равно нулю (как прописано в ~/.vimrc), переменная g:leave_my_textwidth_alone не определена, выполняется setlocal textwidth=78 для буфера. Всё логично. :)
Т.е. в ~/.vimrc нужно добавить строчку "g:leave_my_textwidth_alone"?

Код: Выделить всё

let g:leave_my_textwidth_alone = 'Yes'

или что-нибудь в этом духе.

Sleeping Daemon писал(а): ↑
30.03.2006 09:20
set nowrap

wrap/nowrap влияет на отображение уже вбитых длинных строчек, а не на форматирование при вводе.
Попробуйте установить :set nowrap tw=20 и вбить десяток слов.
Спасибо сказали:
Sleeping Daemon
Сообщения: 1450

Re: Статические переносы слов в VIM

Сообщение Sleeping Daemon »

jsv писал(а): ↑
31.03.2006 10:26
ddc писал(а): ↑
30.03.2006 23:12

Sleeping Daemon писал(а): ↑
30.03.2006 09:20
set nowrap
Если бы проблема решалась так просто, армянское радио ей бы не занималось.
jsv писал(а): ↑
30.03.2006 12:39
А что в этом странного? &tw -- это и есть значение переменной textwidth. Оно равно нулю (как прописано в ~/.vimrc), переменная g:leave_my_textwidth_alone не определена, выполняется setlocal textwidth=78 для буфера. Всё логично. :)
Т.е. в ~/.vimrc нужно добавить строчку "g:leave_my_textwidth_alone"?

Код: Выделить всё

let g:leave_my_textwidth_alone = 'Yes'

или что-нибудь в этом духе.

Sleeping Daemon писал(а): ↑
30.03.2006 09:20
set nowrap

wrap/nowrap влияет на отображение уже вбитых длинных строчек, а не на форматирование при вводе.
Попробуйте установить :set nowrap tw=20 и вбить десяток слов.

Ну и в чём я должен убедится?
Вбил кучу слов. Получил несколько строчек.
Записал, потом прочитал этот файл. Увидил ту же картину из нескольких строчек.
:set nowrap
Вбил довольно динную строку из кучи слов. Никуда не перенеслась. Записал, прочитал. Картина не изменилась.
Спасибо сказали:
jsv
Сообщения: 67

Re: Статические переносы слов в VIM

Сообщение jsv »

Sleeping Daemon писал(а): ↑
31.03.2006 15:40
Ну и в чём я должен убедится?

В том, что за обсуждаемый эффект отвечает переменная textwidth, а не переменная wrap. Сие есть факт, пусть даже Вам и не удалось убедиться в его истинности. :)

Sleeping Daemon писал(а): ↑
31.03.2006 15:40
Вбил кучу слов. Получил несколько строчек.

... и это несмотря на то, что wrap была установлена в no. И это благодаря тому, что textwidth была установлена в 20.

Sleeping Daemon писал(а): ↑
31.03.2006 15:40
Записал, потом прочитал этот файл.

И чему в этот момент стала равна textwidth для буфера?
Спасибо сказали: