2017-05-31 26 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]

相關問題