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

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Что случилось с vi?
« Ответ #75 : 04.04.2017 09:23:33 »
$ echo $EDITOR
vim
$ $EDITOR --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Mar 14 2017 19:53:36)
Заплатки: 1-381
Скомпилирован  Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
Большая версия без графического интерфейса.  Включённые (+) и отключённые (-) особенности:
+acl             +file_in_path    +mouse_sgr       +tag_old_static
+arabic          +find_in_path    -mouse_sysmouse  -tag_any_white
+autocmd         +float           +mouse_urxvt     -tcl
-balloon_eval    +folding         +mouse_xterm     +termguicolors
-browse          -footer          +multi_byte      +terminfo
++builtin_terms  +fork()          +multi_lang      +termresponse
+byte_offset     +gettext         -mzscheme        +textobjects
+channel         -hangul_input    +netbeans_intg   +timers
+cindent         +iconv           +num64           +title
-clientserver    +insert_expand   +packages        -toolbar
-clipboard       +job             +path_extra      +user_commands
+cmdline_compl   +jumplist        -perl            +vertsplit
+cmdline_hist    +keymap          +persistent_undo +virtualedit
+cmdline_info    +lambda          +postscript      +visual
+comments        +langmap         +printer         +visualextra
+conceal         +libcall         -profile         +viminfo
+cryptv          +linebreak       -python          +vreplace
+cscope          +lispindent      -python3         +wildignore
+cursorbind      +listcmds        +quickfix        +wildmenu
+cursorshape     +localmap        +reltime         +windows
+dialog_con      -lua             +rightleft       +writebackup
+diff            +menu            -ruby            -X11
+digraphs        +mksession       +scrollbind      -xfontset
-dnd             +modify_fname    +signs           -xim
-ebcdic          +mouse           +smartindent     -xpm
+emacs_tags      -mouseshape      +startuptime     -xsmp
+eval            +mouse_dec       +statusline      -xterm_clipboard
+ex_extra        +mouse_gpm       -sun_workshop    +xterm_save
+extra_search    -mouse_jsbterm   +syntax         
+farsi           +mouse_netterm   +tag_binary     
            общесистемный файл vimrc: "/etc/vim/vimrc"
         пользовательский файл vimrc: "$HOME/.vimrc"
  второй пользовательский файл vimrc: "~/.vim/vimrc"
          пользовательский файл exrc: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
          значение $VIM по умолчанию: "/usr/share/vim"
Параметры компиляции: i586-alt-linux-gcc -c -I. -Iproto -DHAVE_CONFIG_H     -pipe -Wall -g -O2 -march=i586 -mtune=generic -DSYS_VIMRC_FILE=\"/etc/vim/vimrc\" -DSYS_GVIMRC_FILE=\"/etc/vim/gvimrc\" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE=1       
Сборка: i586-alt-linux-gcc   -L/usr/local/lib -Wl,--as-needed -o vim        -lm -lnsl  -lselinux -ltinfo -lacl -lattr -lgpm -ldl           
$ rpm -qf $(which $EDITOR)
vim-console-8.0.381-alt1.i586

Что-то должно обращаться к переменной EDITOR. Хотя бы mc, crontab или visudo. Сама себя переменная использовать не умеет.
« Последнее редактирование: 04.04.2017 10:06:52 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Что случилось с vi?
« Ответ #76 : 04.04.2017 10:57:10 »
Здесь если переменные установлены обе, то приоритет будет иметь переменная VISUAL, но не EDITOR:
# man crontab | col -bfx | sed -n '41,44p'
     -e        Edit the current crontab using the editor specified by the
               VISUAL or EDITOR environment variables.  After you exit from
               the editor, the modified crontab(5) will be installed automati‐
               cally.
# echo $EDITOR
vim
# echo $VISUAL
vi
# hexdump -C /usr/bin/crontab|sed -n '1582p'
000062d0  56 49 53 55 41 4c 00 45  44 49 54 4f 52 00 66 6f  |VISUAL.EDITOR.fo|

Отдать приоритет переменной EDITOR
# export VISUAL=
# echo $EDITOR
vim
# echo $VISUAL

#

Если переменные вы зададите такими
# echo $EDITOR
vim
# echo $VISUAL
less

то этой командой вы получите не редактирование, а просмотр через less
# crontab  -e
« Последнее редактирование: 04.04.2017 11:24:12 от Speccyfighter »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Что случилось с vi?
« Ответ #77 : 04.04.2017 12:36:42 »
Да, только tema пока не написал как он получает вместо vim  vi

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Что случилось с vi?
« Ответ #78 : 04.04.2017 13:31:32 »
Да, только tema пока не написал как он получает вместо vim  vi

Он уже написал в ответе #52.
ASte в ответе #69 говорил, что нужен алиас чтобы по команде vi запускался vim с фичами.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Что случилось с vi?
« Ответ #79 : 04.04.2017 13:42:19 »
Вот мой скрипт по добавлению этого дела:
mkdir -p /etc/bashrc.d
echo "#!/bin/sh">/etc/bashrc.d/editor.sh
echo "export EDITOR=vim">>/etc/bashrc.d/editor.sh
echo "export GIT_EDITOR=vim">>/etc/bashrc.d/editor.sh
chmod +x /etc/bashrc.d/editor.sh
Файл создаётся и там всё правильно. Но vim по vi не запускается
Где тут написано, что и как запускает tema?

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Что случилось с vi?
« Ответ #80 : 04.04.2017 14:16:02 »
Вот мой скрипт по добавлению этого дела:
mkdir -p /etc/bashrc.d
echo "#!/bin/sh">/etc/bashrc.d/editor.sh
echo "export EDITOR=vim">>/etc/bashrc.d/editor.sh
echo "export GIT_EDITOR=vim">>/etc/bashrc.d/editor.sh
chmod +x /etc/bashrc.d/editor.sh
Файл создаётся и там всё правильно. Но vim по vi не запускается
Где тут написано, что и как запускает tema?

Но vim по vi не запускается
Стало просто невозможно работать в vi... В режиме редактирования стрелки теперь выдают какие-то буквы.

Запуская vi (/bin/vi) Тёма хочет получить перемещение курсора в режиме INSERT и говорит что в сборке 2010 Aug 15, compiled Nov 25 2015 это работало.
« Последнее редактирование: 04.04.2017 14:33:36 от Speccyfighter »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Что случилось с vi?
« Ответ #81 : 04.04.2017 14:26:27 »
Я не вижу как он запускает vi

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Что случилось с vi?
« Ответ #82 : 04.04.2017 14:28:00 »
По vi vim никогда не запустится.

Оффлайн tema

  • alt linux team
  • ***
  • Сообщений: 2 073
    • Email
Re: Что случилось с vi?
« Ответ #83 : 04.04.2017 14:34:11 »
Т.к. раньше стрелки в vi работали, а меня в двух местах убеждали, что стрелки там работать не должны, то я предположил, что по vi запускалась vim, где они работают. Теперь я понял, что это не так. Я уже написал выше, что я всё понял.

Оффлайн tema

  • alt linux team
  • ***
  • Сообщений: 2 073
    • Email
Re: Что случилось с vi?
« Ответ #84 : 04.04.2017 14:38:09 »
На самом деле меня беспокоили только crontab -e и git commit

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Что случилось с vi?
« Ответ #85 : 04.04.2017 14:43:09 »
По vi vim никогда не запустится.

Запустится
$ alias vi='/usr/bin/vim-console'

ASte и говорил про это:
Нужен vim с фичами и стрелками - запускаем как vi.
Нужен vim без фич и без стрелок - запускаем как /bin/vi.
В первом случае будет срабатывать алиас, например на vim-console со стрелками.
Во втором - реальный обрезанный vim.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Что случилось с vi?
« Ответ #86 : 04.04.2017 14:48:06 »
Аллиас можно любой сделать, хоть просто v.
Только зачем?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Что случилось с vi?
« Ответ #87 : 04.04.2017 14:50:38 »
У меня лично стал вызываться vi из git и mc. Я это поправил указанными переменными. Все остальные случаи мне кажутся надуманными.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Что случилось с vi?
« Ответ #88 : 04.04.2017 14:52:15 »
И опять же , если уже задествован механизм альтернатив, то и решение должно быть в духе альтернатив.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Что случилось с vi?
« Ответ #89 : 04.04.2017 14:57:08 »
На самом деле меня беспокоили только crontab -e и git commit

С crontab -e нет проблем:
- нужно только в переменной EDITOR указать vim при условии что vim ведёт на консольную альтернативу, например на vim-console. Или явно это указать в переменной.
Но чтобы переменная VISUAL была не определена или явно указывала на консольный расширенный vim "со стрелками".
А про git commit я совсем не в курсе.

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