Автор Тема: Что случилось с vi?  (Прочитано 16159 раз)

Оффлайн tema

  • alt linux team
  • ***
  • Сообщений: 2 073
    • Email
Re: Что случилось с vi?
« Ответ #105 : 05.04.2017 04:34:30 »
И никаких там Ctrl+hjkl. Забудьте вы про это. И забудьте про 2017-й год.
Спасибо  :-)
Жалко, что нет. Неудобно...

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 549
Re: Что случилось с vi?
« Ответ #106 : 05.04.2017 07:51:06 »
Скорее есть чем нет..
p8, systemd. Все обновления.

Запускаем /bin/vi
Входим в режим редактирования.
вводим текст
не выходя из режима редактирования гоняем курсор <Alt>hjkl

Я не читал про это в документации - просто попробовал "методом тыка". И оно сработало.

 


Оффлайн tema

  • alt linux team
  • ***
  • Сообщений: 2 073
    • Email
Re: Что случилось с vi?
« Ответ #107 : 05.04.2017 08:31:16 »
Я тоже это нашёл методом тыка, но так же понял, что это автоматически переводит vi в командный режим и чтобы снова вводить нужно нажать на i...
........
Просто если делать Alt+hjkl то он автоматически переходит в командный режим и для ввода снова надо нажимать i

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Что случилось с vi?
« Ответ #108 : 05.04.2017 13:12:24 »
Я тоже это нашёл методом тыка, но так же понял, что это автоматически переводит vi в командный режим и чтобы снова вводить нужно нажать на i...

Угу :-)
При этом если курсор находится не за пределами строки, при отсутствии индикации режима, невозможно понять в каком режиме находится редактор.

Редактор HorrorWord для ZX Spectrum тоже имеет командный режим.
Но между HorrorWord и VI здесь имеются существенные отличия:
- Управление курсором всегда доступно в режиме редактирования
- В командном режиме редактор находится только на момент ожидания ввода или выполнения команды
- После выполнения команды редактор автоматически возвращается в режим редактирования
- Клавиши перевода редактора HorrorWord в командный режим у пользователя находятся под руками в буквальном смысле, поэтому переход в командный режим и обратно, очень быстрый (эргономичность)
- В момент нахождения редактора в режиме Command, эта надпись появляется и подсвечивается красным фоном в нижней информационной строке.
- Пока редактор находится в режиме отображения подсказки, встроке состояния отображается надпись "Command: H", означающая что редактор находится в командном режиме. Но этот случай единственный, когда редактор после выполнения команды автоматически не выходит из командного режима. Выход из подсказки и соответственно из командного режима - Enter.
- Переход в командный режим, это триггер, - CS+SS, - вход и выход из режима ожидания ввода команды
 Поэтому перепутать, в каком режиме находится редактор, в HorrorWord невозможно даже теоретически.
« Последнее редактирование: 06.04.2017 13:44:04 от Speccyfighter »

Оффлайн Salomatin

  • Модератор раздела
  • ****
  • Сообщений: 981
    • Пошаговые инструкции
    • Email
Re: crontab навигация
« Ответ #109 : 19.06.2017 09:48:14 »
Заметил тоже самое.
В редакторе vi ничего не получается редактировать.
Пока решаю проблему так:
команда
export EDITOR=mceditи в этом редакторе вношу изменения.
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"

Оффлайн him

  • Завсегдатай
  • *
  • Сообщений: 1 032
Re: Re: crontab навигация
« Ответ #110 : 19.06.2017 10:05:51 »
Цитировать
export EDITOR=mcedit
да знаю такое решение.

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

Оффлайн andrew_b

  • Завсегдатай
  • *
  • Сообщений: 534
Re: Re: crontab навигация
« Ответ #111 : 19.06.2017 10:41:30 »
Вроде не так давно был тут большой топик на тему, почему вдруг vi стал себя так вести.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Re: crontab навигация
« Ответ #112 : 19.06.2017 10:45:10 »
Это не vi стал так вести, это его отучили лезть в конфиг vim

Оффлайн him

  • Завсегдатай
  • *
  • Сообщений: 1 032
Re: Re: crontab навигация
« Ответ #113 : 19.06.2017 10:49:04 »
Это не vi стал так вести, это его отучили лезть в конфиг vim

зачем ?
раньше было так хорошо ;) на то были веские причины ??

здесь инструкция:
http://www.ods.com.ua/win/rus/unix/ldp/lug/gl15.html

приспособился не нажимать стрелки в режиме редактирования! :)
« Последнее редактирование: 19.06.2017 11:12:19 от him »

Оффлайн andrew_b

  • Завсегдатай
  • *
  • Сообщений: 534
Re: Re: crontab навигация
« Ответ #114 : 19.06.2017 12:41:37 »
Это не vi стал так вести, это его отучили лезть в конфиг vim
А это не одно и то же?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Re: crontab навигация
« Ответ #115 : 19.06.2017 13:20:54 »
Это не vi стал так вести, это его отучили лезть в конфиг vim
А это не одно и то же?

Поменяйте конфиг у vi и он будет вести себя по-старому. А код vi не изменился (кроме работы с файлом конфигурации).
« Последнее редактирование: 19.06.2017 13:22:36 от ruslandh »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Re: crontab навигация
« Ответ #116 : 19.06.2017 13:21:34 »
Ну, или задайте редактором vim

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Re: crontab навигация
« Ответ #117 : 19.06.2017 21:14:26 »
Это не vi стал так вести, это его отучили лезть в конфиг vim
А это не одно и то же?

Не одно и то же.
/bin/vi это ни разу не vi.
/bin/vi это клон vi, - сильно сильно порезанный в фичах, раз в 10, Vi IMproved. И vi он никогда не был .

После запуска голого /bin/vi рекомендуется обратить внимание на краткий help:
~                                                              VIM - Vi IMproved
~
~                                                               version 8.0.381
~                                                           by Bram Moolenaar et al.
~                                                 Vim is open source and freely distributable
~
~                                                           Sponsor Vim development!
~                                                type  :help sponsor<Enter>    for information
~
~                                                type  :q<Enter>               to exit
~                                                type  :help<Enter>  or  <F1>  for on-line help
~                                                type  :help version8<Enter>   for version info
~
~                                                        Running in Vi compatible mode
~                                                type  :set nocp<Enter>        for Vim defaults
~                                                type  :help cp-default<Enter> for info on this

в котором есть такие строки:
~                                                        Running in Vi compatible mode
~                                                type  :set nocp<Enter>        for Vim defaults

Для выполнения:
Перед редактированием нажать чтобы войти в режим ввода команд
Shift :

Вести команду
set nocp

Нажать Enter.
Управление курсорными клавишами будет доступно во время ввода текста, а в нижней строке будет отображаться режим.

Эта команда отключает совместимость с vi, но позволяет использовать некоторые фичи которые не vi совместимы
:help compatible

                        *'compatible'* *'cp'* *'nocompatible'* *'nocp'*
'compatible' 'cp'       boolean (default on, off when a |vimrc| or |gvimrc|
                                        file is found, reset in |defaults.vim|)
                        global
                        {not in Vi}
        This option has the effect of making Vim either more Vi-compatible, or
        make Vim behave in a more useful way.
« Последнее редактирование: 19.06.2017 21:51:39 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Re: crontab навигация
« Ответ #118 : 19.06.2017 22:24:13 »
Что интересно, так это то, что эта опция должна отключать режим совместимости, но она до лампочки
$ sed -n '11,13p' /etc/vim/vimrc
" Use Vim settings, rather than Vi settings (much better!).
" This must be first, because it changes other options as a side effect.
set nocompatible
$ sed -n '11,13p' /etc/vim/vimrc
" Use Vim settings, rather than Vi settings (much better!).
" This must be first, because it changes other options as a side effect.
set nocp
$ rpm -ql $(rpm -qf /bin/vi)
/bin/ex
/bin/rvi
/bin/rview
/bin/vi

Выключится режим совместимости только через команду в редакторе.

Или через эту
:set nocp

Или через эту
:set nocompatible
« Последнее редактирование: 19.06.2017 22:59:36 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Re: crontab навигация
« Ответ #119 : 19.06.2017 22:51:14 »
Почему существует режим compatible/nocompatible?

Потому:
Developer(s)    Bill Joy
Initial release    1976; 41 years ago


Joy used a Lear Siegler ADM-3A terminal.