在Vim函数中获取没有文件扩展名的文件名.

ung*_*ban 43 vim

我想在Vim中获取没有文件扩展名的文件名.

我在我的.vimrc文件中编写了以下函数以进行编译并运行Java程序.

:function! JAVA_RUN()
:!javac %^M
:endfunction

map <F3> :execute JAVA_RUN()<CR> :source $HOME/.vimrc<CR>
Run Code Online (Sandbox Code Playgroud)

在功能方面,如何获取扩展名的文件名.

ton*_*nio 87

:help expand()应该给你答案,见expand().

您应该使用r%的修饰符,%:r而不是%获取没有扩展名的文件名.

如果要编写用于构建和执行文件的函数,还应该查看文档shellescape,以防止文件名或路径中的空格出现问题.


lak*_*tak 6

如果你想扩展一个文件名(除了%等)看看fnamemodify()

fnamemodify({fname}, {mods})                *fnamemodify()*
        Modify file name {fname} according to {mods}.  {mods} is a
        string of characters like it is used for file names on the
        command line.  See |filename-modifiers|.
Run Code Online (Sandbox Code Playgroud)

fnamemodify("main.java", ":r")返回main