2017-05-31 25 views
0

我在~/.vimrc文件中写了一个函数,但是我遇到了一个问题。 我想Concat的变量和常量字符串,所以我这样做象下面这样:有关将一个变量和一个常量字符串连接起来的vim脚本

let linux_version=system('uname -r') 
let host_kernel_dir= "/lib/modules/" . linux_version . "/build" 
echo host_kernel_dir 

我想结果是/lib/modules/4.8.0-52-generic/build,但我得到这个结果

"/lib/modules/4.8.0-52-generic 

/build " 

所以它似乎是一个\n被添加。那么如何摆脱这个\n

+0

我的vim版本是7.4 – OceanSummer

回答

1

这从系统输出去除换行符

let linux_version = substitute(system('uname -r'), '\n\+$', '', '') 
+0

它的工作!非常感谢。 – OceanSummer

1

system()结果必须是chomped(对于那些谁知道perl的),我使用以下内容:

function! lh#os#system(cmd) 
    return system(a:cmd)[:-2] 
endfunction 
+0

它的工作!谢谢! – OceanSummer

0

另一种解决方案使用/ proc伪文件系统:

let linux_version=readfile('/proc/sys/kernel/osrelease')[0]

相关问题