подсветка спецсимволов и борьба с табами

и другие vi-подобные редакторы

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

Аватара пользователя
nrg
Сообщения: 219
Статус: Энерджайзер :)
ОС: OpenSuSe 10.3

подсветка спецсимволов и борьба с табами

Сообщение nrg »

Так, ещё вопрос -- есть ли возможность подсветки определённого спец символа в VIM ? То есть чтобы тот же Tab (^I) отображался указанным кодом.
Просто set list! не всегда удобно, т.к. включает отображение ещё и переносов строк, что сильно ухудшает читабельность.

А табы хотелось бы видеть, т.к. на работе с табами в коде идёт ожесточённая борьба :)
OpenSuSe 10.3 на Dell Inspiron 1501 и Семпрон-3000/1024ДДР2-800/120+60+300/NVidia 8500GT.
Участник Sun Open Source User Group, Самара.
Спасибо сказали:

Аватара пользователя
nonstop
Сообщения: 132
ОС: Slackware

Re: подсветка спецсимволов и борьба с табами

Сообщение nonstop »

nrg писал(а):
25.02.2008 00:24
А табы хотелось бы видеть, т.к. на работе с табами в коде идёт ожесточённая борьба :)

с табами можно бороться вот так:

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

fun RemoveTabs()
    silent execute ":%s/\t\\+/\ \ \ \ /g"
endfun
:autocmd BufWrite *.cpp call RemoveTabs()


подобное можно повесить и на BufRead для нужных типов файлов
slackware - linux for human brains
Спасибо сказали:

Аватара пользователя
ZyX
Сообщения: 355
ОС: Gentoo

Re: подсветка спецсимволов и борьба с табами

Сообщение ZyX »

nonstop писал(а):
03.03.2008 10:46
с табами можно бороться вот так:
...
подобное можно повесить и на BufRead для нужных типов файлов
А ":retab" и ":set expandtab" ":set tabstop=4" ":set shiftwidth=4" ":set softtabstop=4" ":set backspace=indent,eol,start"? (Первое против табов, остальные для нормальной работы с пробелами")

Кстати, использую xterm и сочетания <C-S> и <C-Q> не ловятся. Вроде бы они перехватываются самой xterm, но rtorrent их спокойно ловит. Нельзя ли как-нибудь научить это делать и vim? Еще не удается отличитьть <C-S-.> и <C-.> (Точка - любой символ), а <M-.> превращается в русскую букву (причем - что-то навроде транслита: <M-C> == ц) (локаль ru_RU.KOI8-R). Не подскажете, как решить?

Код:

zyx@localhost ~ $ equery uses xterm ; equery uses vim ; vim --version [ Searching for packages matching xterm... ] [ Colour Code : set unset ] [ Legend : Left column (U) - USE flags from make.conf ] [ : Right column (I) - USE flags packages was installed with ] [ Found these USE variables for x11-terms/xterm-229 ] U I - - Xaw3d : Adds support for the 3d athena widget set - - paste64 : Enable support for bracketed paste mode - - toolbar : Enable the xterm toolbar to be built. + + truetype : Adds support for FreeType and/or FreeType2 fonts + + unicode : Adds support for Unicode [ Searching for packages matching vim... ] [ Colour Code : set unset ] [ Legend : Left column (U) - USE flags from make.conf ] [ : Right column (I) - USE flags packages was installed with ] [ Found these USE variables for app-editors/vim-7.1.123 ] U I + + acl : Adds support for Access Control Lists - - bash-completion : Enable bash-completion support - - cscope : Enables cscope interface -- in vim for example - - gpm : Adds support for sys-libs/gpm (Console-based mouse driver) - - minimal : Install a very minimal build (disables, for example, plugins, fonts, most drivers, non-critical features) + + nls : Adds Native Language Support (using gettext - GNU locale utilities) + + perl : Adds support/bindings for the Perl language + + python : Adds support/bindings for the Python language - - ruby : Adds support/bindings for the Ruby language + + vim-pager : Install vimpager and vimmanpager links + + vim-with-x : Link console vim against X11 libraries to enable title and clipboard features in xterm VIM - Vi IMproved 7.1 (2007 May 12, compiled Feb 7 2008 00:10:14) Заплатки: 1, 3, 5-123 С изменениями, внесёнными Gentoo-7.1.123 Скомпилирован root@zyx-desktop Огромная версия без графического интерфейса. Включённые (+) и отключённые (-) особенности: +arabic +autocmd -balloon_eval -browse ++builtin_terms +byte_offset +cindent +clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments +cryptv -cscope +cursorshape +dialog_con +diff +digraphs -dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path +folding -footer +fork() +gettext -hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap +menu +mksession +modify_fname +mouse -mouseshape +mouse_dec -mouse_gpm -mouse_jsbterm +mouse_netterm +mouse_xterm +multi_byte +multi_lang -mzscheme -netbeans_intg -osfiletype +path_extra +perl +postscript +printer +profile +python +quickfix +reltime +rightleft -ruby +scrollbind +signs +smartindent -sniff +statusline -sun_workshop +syntax +tag_binary +tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title -toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup +X11 +xfontset -xim +xsmp_interact +xterm_clipboard -xterm_save общесистемный файл vimrc: "/etc/vim/vimrc" пользовательский файл vimrc: "$HOME/.vimrc" пользовательский файл exrc: "$HOME/.exrc" значение $VIM по умолчанию: "/usr/share/vim" Параметры компиляции: i686-pc-linux-gnu-gcc -c -I. -Iproto -DHAVE_CONFIG_H -O2 -march=prescott -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib/perl5/5.8.8/i686-linux/CORE -I/usr/include/python2.4 -pthread Сборка: i686-pc-linux-gnu-gcc -rdynamic -L/usr/local/lib -o vim -lXt -lcurses -lacl -rdynamic -L/usr/local/lib /usr/lib/perl5/5.8.8/i686-linux/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.8.8/i686-linux/CORE -lperl -lcrypt -lutil -lc -L/usr/lib/python2.4/config -lpython2.4 -lpthread -lutil -lm -Xlinker -export-dynamic


А табы хотелось бы видеть, т.к. на работе с табами в коде идёт ожесточённая борьба
":set list", ":set listchars=tab:>-,trail:-" - Видеть табы и пробелы в конце строки. Взято откуда-то с vim.org (как, впрочем, и с табами)
Спасибо сказали:

Аватара пользователя
nonstop
Сообщения: 132
ОС: Slackware

Re: подсветка спецсимволов и борьба с табами

Сообщение nonstop »

ZyX писал(а):
03.03.2008 20:10
А ":retab" и ":set expandtab" ":set tabstop=4" ":set shiftwidth=4" ":set softtabstop=4" ":set backspace=indent,eol,start"? (Первое против табов, остальные для нормальной работы с пробелами")

век живи, век учись

про retab не знал, с ним действительно проще
а остальные именно так и выставлены
slackware - linux for human brains
Спасибо сказали:

Аватара пользователя
Luinnar
Сообщения: 246
ОС: Solaris, Debian, Ubuntu

Re: подсветка спецсимволов и борьба с табами

Сообщение Luinnar »

nrg писал(а):
25.02.2008 00:24
Так, ещё вопрос -- есть ли возможность подсветки определённого спец символа в VIM ? То есть чтобы тот же Tab (^I) отображался указанным кодом.
Просто set list! не всегда удобно, т.к. включает отображение ещё и переносов строк, что сильно ухудшает читабельность.

А табы хотелось бы видеть, т.к. на работе с табами в коде идёт ожесточённая борьба :)


Я обычно делаю так:
Ищу таб: /\t
А затем включаю подсветку найденного: :set hls!

Все табы хорошо видно, и ничего лишнего.
Спасибо сказали: