LINUX.ORG.RU

vim, <C-p> вызвать ф-цию с парам


0

0

доброго все время суток,
довел вид до такого состояния, что теперь по команде
:help function
он мне открывает хелп на function

и у меня возник вопрос
как написать скрипт в vimrc который по нажатию <C-p> (или чего-нибудь другого) сам будет брать название ф-ции в из текущей позиции ?

vnoremap <C-p> help ???? <Esc>

?
просьба, кто знает помогите плз


Можно так:

function Help()
 exe ":help " . expand("<cword>")
endfunction

vnoremap <C-p> :call Help()<CR>

А ты точно не аналог мапа K в командном режиме делаешь? :^)

Jini ★★
()
Ответ на: комментарий от Jini

у меня почему-то <C-K> не выполняет никаких ф-ций 
даже не знаю в чем причина, возможно вы подскажите ? 
зы возможно виноваты некоторые плагины  с нета ((

(ну вообщем если она есть, то я сделал ее еще раз :=)


noppix@9[www]# vim --version
VIM - Vi IMproved 7.1 (2007 May 12, compiled Apr  8 2008 08:22:12)
Included patches: 1-291
Compiled by jamessan@debian.org
Huge version with GTK2 GUI.  Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
+cryptv +cscope +cursorshape +dialog_con_gui +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
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12     -O2 -g -Wall    -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN  -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/perl/5.8/CORE  -I/usr/include/python2.4 -pthread -I/usr/include/tcl8.4  -D_REENTRANT=1  -D_THREAD_SAFE=1  -D_LARGEFILE64_SOURCE=1  -I/usr/lib/ruby/1.8/i486-linux
Linking: gcc   -L.  -rdynamic -Wl,-export-dynamic  -Wl,-E  -Wl,--as-needed -L/usr/local/lib -o vim   -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lglib-2.0   -lXt -lncurses -lselinux  -lacl -lgpm -Wl,-E  -L/usr/local/lib /usr/lib/perl/5.8/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl/5.8/CORE -lperl -L/usr/lib/python2.4/config -lpython2.4 -lutil -Xlinker -export-dynamic -L/usr/lib -ltcl8.4 -lieee -lruby1.8 -lm
knoppix@9[www]#                       

hose
() автор топика
Ответ на: комментарий от Jini

>Можно так:

>function Help()
> exe ":help " . expand("<cword>")
>endfunction

>vnoremap <C-p> :call Help()<CR>

тогда еще вопрос
strtolower($word)

как эта ф-ция называеться в vim, те нужно

function Help()
 exe ":help " . strtolower(expand("<cword>"))
endfunction

ну или как ее можно реализовать ?







hose
() автор топика
Ответ на: комментарий от hose

> у меня почему-то <C-K> не выполняет никаких ф-ций

K, не <C-K>. См.

:help K

> strtolower($word)

Она называется tolower(). На будущее см. :help functions

Jini ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.