Всем привет.
Как определить/изменить версию vim (не версию программы, а конфигурацию), в которой, к примеру,
* не появляется сообщение "insert", когда нажимаешь i
* в режиме редактирования нельзя использовать стрелочки для навигации (вместо них vim пишет символы A, B, C и D).
* не работает backspace
* del менят регистр предшествующей буквы
Сейчас такое снова встретил в Debian testing, до этого не привычно было в OpenBSD. Думал дело в vimrc, поэтому заменил его тем же конфиг-файлом из openSUSE, никаких изменений в поведении vim.
Определить конфигурацию vim (ведут себя по-разному в разных дистрибутивах)
Модератор: /dev/random
-
- Сообщения: 2041
- Статус: ☮ PEACE ☮
- ОС: открытая и свободная
Определить конфигурацию vim
Labor omnia vincit
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
-
- Модератор
- Сообщения: 21001
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Определить конфигурацию vim
vim --version
Если это вообще vim, а не другая реализация vi.
Если это вообще vim, а не другая реализация vi.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали:
-
- Сообщения: 355
- ОС: Gentoo
Re: Определить конфигурацию vim
У вас что‐то не то с терминологией, конфигурация сама по себе не имеет версий, это просто файлы на языке Vim.
Проблемы с тем, что вы перечислили делятся на две группы: «сообщение „insert“» и «неправильно работают клавиши». Первая лечится «настройкой» compatible, а, точнее, устанавливаемой ей showmode. См. справку по 'compatible', чтобы определить, почему она не установлена по‐умолчанию.
Вторая группа говорит о том, что $TERM содержит ссылку на неправильное описание используемого эмулятора терминала, и Vim ожидает, что нажатия производят escape‐последовательности, которые производит не тот эмулятор терминала, что вы используете, а тот, на который ссылается $TERM. Это можно исправить в vimrc, но это неправильно исправлять там: в первую очередь, убедитесь, что в vimrc не упоминается ни $TERM, ни настройка term. Исправлять нужно в настройках используемого эмулятора терминала в первую очередь. В‐третью№ — в настройках используемой оболочки (и только если эмулятор терминала не может быть правильно настроен). Одна из возможных причин, почему Vim ведёт себя именно так — вы как‐то исправляли $TERM в vimrc, но исправляли его под другой эмулятор терминала.
№ Во‐вторую — прописывайте $TERM там, где запускаете (описывается процедура запуска) эмулятор терминала (в .desktop файле, к примеру). Но это как‐то ненадёжно.
Проблемы с тем, что вы перечислили делятся на две группы: «сообщение „insert“» и «неправильно работают клавиши». Первая лечится «настройкой» compatible, а, точнее, устанавливаемой ей showmode. См. справку по 'compatible', чтобы определить, почему она не установлена по‐умолчанию.
Вторая группа говорит о том, что $TERM содержит ссылку на неправильное описание используемого эмулятора терминала, и Vim ожидает, что нажатия производят escape‐последовательности, которые производит не тот эмулятор терминала, что вы используете, а тот, на который ссылается $TERM. Это можно исправить в vimrc, но это неправильно исправлять там: в первую очередь, убедитесь, что в vimrc не упоминается ни $TERM, ни настройка term. Исправлять нужно в настройках используемого эмулятора терминала в первую очередь. В‐третью№ — в настройках используемой оболочки (и только если эмулятор терминала не может быть правильно настроен). Одна из возможных причин, почему Vim ведёт себя именно так — вы как‐то исправляли $TERM в vimrc, но исправляли его под другой эмулятор терминала.
№ Во‐вторую — прописывайте $TERM там, где запускаете (описывается процедура запуска) эмулятор терминала (в .desktop файле, к примеру). Но это как‐то ненадёжно.
Спасибо сказали:
-
- Сообщения: 2041
- Статус: ☮ PEACE ☮
- ОС: открытая и свободная
Re: Определить конфигурацию vim
ZyX
Это дефолтное поведение vi в Debian 8 (testing), т.е. я настройки не менял.
Да, в openSUSE выглядит немного иначе
Это дефолтное поведение vi в Debian 8 (testing), т.е. я настройки не менял.
Код: Выделить всё
$ vi --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Sep 13 2016 01:54:12)
Included patches: 1-3
Modified by pkg-vim-maintainers@lists.alioth.debian.org
Compiled by pkg-vim-maintainers@lists.alioth.debian.org
Small version without GUI. Features included (+) or not (-):
+acl -farsi -mouse_netterm +tag_binary
-arabic -file_in_path -mouse_sgr -tag_old_static
-autocmd -find_in_path -mouse_sysmouse -tag_any_white
-balloon_eval -float -mouse_urxvt -tcl
-browse -folding -mouse_xterm -termguicolors
+builtin_terms -footer +multi_byte +terminfo
-byte_offset +fork() -multi_lang -termresponse
-channel -gettext -mzscheme -textobjects
-cindent -hangul_input -netbeans_intg -timers
-clientserver +iconv -num64 -title
-clipboard -insert_expand +packages -toolbar
-cmdline_compl -job -path_extra -user_commands
+cmdline_hist +jumplist -perl +vertsplit
-cmdline_info -keymap -persistent_undo -virtualedit
-comments -lambda -printer +visual
-conceal -langmap -profile -visualextra
-cryptv -libcall -python -viminfo
-cscope -linebreak -python3 -vreplace
-cursorbind -lispindent -quickfix +wildignore
-cursorshape -listcmds -reltime -wildmenu
-dialog -localmap -rightleft +windows
-diff -lua -ruby +writebackup
-digraphs -menu -scrollbind -X11
-dnd -mksession -signs +xfontset
-ebcdic -modify_fname -smartindent -xim
-emacs_tags -mouse -startuptime -xpm
-eval -mouse_dec -statusline -xsmp
+ex_extra -mouse_gpm -sun_workshop -xterm_clipboard
-extra_search -mouse_jsbterm -syntax -xterm_save
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
defaults file: "$VIMRUNTIME/defaults.vim"
fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -Wdate-time -g -O2 -fdebug-prefix-map=/build/vim-utLJNF/vim-8.0.0003=. -fPIE -fstack-protector-strong -Wformat -Werror=format-security -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc -fPIE -pie -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o vim -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -ltinfo -lselinux -lacl -lattr -ldl
Да, в openSUSE выглядит немного иначе
Код: Выделить всё
$ vi --version
VIM - Vi IMproved 7.4 (2013 Aug 10)
Included patches: 1-52
Compiled by 'http://www.opensuse.org/'
Huge version without GUI. Features included (+) or not (-):
+acl +farsi +mouse_netterm +syntax
+arabic +file_in_path +mouse_sgr +tag_binary
+autocmd +find_in_path -mouse_sysmouse +tag_old_static
-balloon_eval +float +mouse_urxvt -tag_any_white
-browse +folding +mouse_xterm -tcl
++builtin_terms -footer +multi_byte +terminfo
+byte_offset +fork() +multi_lang +termresponse
+cindent +gettext -mzscheme +textobjects
-clientserver -hangul_input +netbeans_intg +title
-clipboard +iconv +path_extra -toolbar
+cmdline_compl +insert_expand +perl +user_commands
+cmdline_hist +jumplist +persistent_undo +vertsplit
+cmdline_info +keymap +postscript +virtualedit
+comments +langmap +printer +visual
+conceal +libcall +profile +visualextra
+cryptv +linebreak +python/dyn +viminfo
+cscope +lispindent +python3/dyn +vreplace
+cursorbind +listcmds +quickfix +wildignore
+cursorshape +localmap +reltime +wildmenu
+dialog_con +lua/dyn +rightleft +windows
+diff +menu +ruby/dyn +writebackup
+digraphs +mksession +scrollbind -X11
-dnd +modify_fname +signs -xfontset
-ebcdic +mouse +smartindent -xim
+emacs_tags -mouseshape +sniff -xsmp
+eval +mouse_dec +startuptime -xterm_clipboard
+ex_extra -mouse_gpm +statusline -xterm_save
+extra_search -mouse_jsbterm -sun_workshop -xpm
system vimrc file: "/etc/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
fall-back for $VIM: "/etc"
f-b for $VIMRUNTIME: "/usr/share/vim/current"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -I/usr/local/include -fmessage-length=0 -grecord-gcc-switches -fstack-protector -O2 -Wall -D_FORTIFY_SOURCE=1 -funwind-tables -fasynchronous-unwind-tables -g -Wall -pipe -fno-strict-aliasing
Linking: gcc -L. -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E -Wl,-rpath,/usr/lib/perl5/5.18.1/x86_64-linux-thread-multi/CORE -L/usr/local/lib -Wl,--as-needed -o vim -lm -lnsl -ltinfo -lacl -lattr -ldl -Wl,-E -Wl,-rpath,/usr/lib/perl5/5.18.1/x86_64-linux-thread-multi/CORE -L/usr/local/lib64 -fstack-protector -L/usr/lib/perl5/5.18.1/x86_64-linux-thread-multi/CORE -lperl -lm -ldl -lcrypt -lpthread
Labor omnia vincit
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
-
- Модератор
- Сообщения: 21001
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Определить конфигурацию vim
Вообще-то в Debian есть несколько алетрнативных сборок vim, а вариаций vi — ещё больше. См. update-alternatives --list vim, update-alternatives --list vi. То, что Вы показали, — это, похоже, vim-tiny, самый минималистичный вариант.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали:
-
- Сообщения: 2041
- Статус: ☮ PEACE ☮
- ОС: открытая и свободная
Re: Определить конфигурацию vim
Код: Выделить всё
# update-alternatives --list vim
update-alternatives: error: no alternatives for vim
# update-alternatives --list vi
/usr/bin/vim.tiny
Это после подключения репозиториев.
В общем, установил просто vim да и все: apt-get install vim
Он предложил перезаписать настойки, я согласился. Теперь vim работает как я и хотел.
Всем спасибо.
Labor omnia vincit
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
-
- Сообщения: 2041
- Статус: ☮ PEACE ☮
- ОС: открытая и свободная
Re: Определить конфигурацию vim
Поставил Kubuntu 17.04, та же "проблема"
Решение: добавляем команду set nocompatible в ~/.vimrc
Решение: добавляем команду set nocompatible в ~/.vimrc
Labor omnia vincit
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
-
- Модератор
- Сообщения: 4823
- Статус: фанат консоли (=
- ОС: GNU/Debian, RHEL
Re: Определить конфигурацию vim
vim'овский конфиг по умолчанию (который /etc/vim/vimrc) в последнее время как-то печально стал совершенно ужасным.
Особенно удручает включённая по умолчанию поддержка мышки, что жутко неудобно.
Если раньше можно было как-то жить с настройками по умолчанию и не раскатывать нормальные конфиги на сервера, то теперь деваться некуда.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.