Execute a command under the cursor in Vim
- How can I execute a command in Vim, under the cursor? On the (word) under the cursor开发者_如何转开发?
We know that Shift+k is used to open a man page under the cursor. I want to execute the command instead of opening the man page.
Or:
- How can I take the current word under the cursor in Vim?
Another tip: If you want to put the word currently under the cursor into the command-line mode, use the sequence CTRL + R then CTRL + W
How can I take the current word under the cursor in VIM?
echo expand("<cword>")
or
let l:WordValue = expand("<cword>")
How can I execute the command under the cursor? I am not exactly sure what kind of commands you're refering to, but since you mentioned man pages, I'd assume that you want to execute unix and or cmd commands. If this is the case you'll want something like
fu ExecuteCommand()
let l:Command = expand("<cword>")
execute "!" . l:Command
endfu
Alternatively, you might want to change the value of keywordprg
:
:set keywordprg=!
If you have a command typed in a buffer and the cursor is on the line, to execute it do this:
first yank what you want to execute, Y
or yy
will copy the whole line, then in the command line you can type @"
and hit Enter
or do this combination <C-R>
"
to paste literally
or put this mapping in .vimrc
" execute line under the cursor
nnoremap <leader>el yy:@"<CR>
@"
stands for the default "
register, any text that you delete (with d, c, s or x) or yank will be placed there
精彩评论