关于连接变量和const字符串的vim脚本

时间:2017-05-31 14:55:21

标签: string vim concat

我正在我的~/.vimrc文件中编写一个函数,但是我遇到了问题。 我想连接一个变量和一个const字符串,所以我这样做如下:

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

3 个答案:

答案 0 :(得分:1)

这会从系统输出中删除换行符

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

答案 1 :(得分:1)

system()结果必须 chomped (对于已知perl的人),我使用以下内容:

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

答案 2 :(得分:0)

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

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