分页: 1 / 1
如何在VIM的map功能中引用正在编辑的文件名?
发表于 : 2011-10-21 17:17
由 aikilis
RT,我想实现一键编译并执行
map <F3> <Esc>:w<CR>:make<CR>:./<filename><CR>
就是这个filename該怎么做?
还有map可不可以有参数呢?
非常感谢!
Re: 如何在VIM的map功能中引用正在编辑的文件名?
发表于 : 2011-10-21 19:17
由 cjxgm
aikilis 写了:RT,我想实现一键编译并执行
map <F3> <Esc>:w<CR>:make<CR>:./<filename><CR>
就是这个filename該怎么做?
还有map可不可以有参数呢?
非常感谢!
LZ 试一下这样行不行
代码: 全选
map <F3> <Esc>:w<CR>:make<CR>:execute '!./' . substitute(bufname("%"), '\.\i\+$', '', "g")<CR>
Re: 如何在VIM的map功能中引用正在编辑的文件名?
发表于 : 2011-10-21 23:35
由 Fermat618
编译不成功怎么办?
Re: 如何在VIM的map功能中引用正在编辑的文件名?
发表于 : 2011-10-21 23:40
由 aikilis
cjxgm 写了:aikilis 写了:RT,我想实现一键编译并执行
map <F3> <Esc>:w<CR>:make<CR>:./<filename><CR>
就是这个filename該怎么做?
还有map可不可以有参数呢?
非常感谢!
LZ 试一下这样行不行
代码: 全选
map <F3> <Esc>:w<CR>:make<CR>:execute '!./' . substitute(bufname("%"), '\.\i\+$', '', "g")<CR>
成功了!!非常感谢!
Re: 如何在VIM的map功能中引用正在编辑的文件名?
发表于 : 2011-10-21 23:50
由 lilydjwg
cjxgm 写了:aikilis 写了:RT,我想实现一键编译并执行
map <F3> <Esc>:w<CR>:make<CR>:./<filename><CR>
就是这个filename該怎么做?
还有map可不可以有参数呢?
非常感谢!
LZ 试一下这样行不行
代码: 全选
map <F3> <Esc>:w<CR>:make<CR>:execute '!./' . substitute(bufname("%"), '\.\i\+$', '', "g")<CR>
bufname 中含有路径怎么办?
https://github.com/lilydjwg/dotvim/blob ... pp.vim#L66
Re: 如何在VIM的map功能中引用正在编辑的文件名?
发表于 : 2011-11-02 21:37
由 lymslive
expand("%:p:t")
:help filename-modifiers
Re: 如何在VIM的map功能中引用正在编辑的文件名?
发表于 : 2011-11-03 9:07
由 niejieqiang
nmap <leader>rr :!perl %
仅引用文件名到命令行,不运行。因为有时候或许要加个参数什么的
Re: 如何在VIM的map功能中引用正在编辑的文件名?
发表于 : 2011-11-03 9:53
由 aikilis
niejieqiang 写了:nmap <leader>rr :!perl %
仅引用文件名到命令行,不运行。因为有时候或许要加个参数什么的
这个好,只引用到命令行