vi如何以当前文件作为工作目录
发表于 : 2009-08-31 18:05
如当前文件为 /home/miao/Desktop/foo.txt
工作目录pwd为 /home/miao
如何设定命令运行 cd /home/miao/Desktop更改工作目录?
谢谢
工作目录pwd为 /home/miao
如何设定命令运行 cd /home/miao/Desktop更改工作目录?
谢谢
延伸问题: 在进了Buf后,如果有NERDTree则NERDTree的位置自动定为该文件,又该如何设置
代码: 全选
function Jump_to_current_file()
let filename=expand('%:t')
exec 'e %:p:h'
call cursor(8,1)
call search(filename)
endfunction
nmap <F3> :call Jump_to_current_file()<cr>
代码: 全选
"由buffer expr得到window数
function GetWindowCount(expr)
let cur_buf_id=bufnr(a:expr)
let cur_buf_cnt=0
let i=1
while 1
let buf_id=winbufnr(i)
if buf_id==cur_buf_id
let cur_buf_cnt=cur_buf_cnt+1
endif
if buf_id==-1
break
end
let i=i+1
endwhile
return cur_buf_cnt
endfunction
"跳转或关闭窗口
function JumpToCurrentFile()
"跳回或关闭
if exists('b:jm_is_jumped')
if exists('b:jm_is_splitted')
exec 'close'
else
exec 'buffer #'
endif
return
endif
"跳转
let filename=expand('%:t')
if &modified && GetWindowCount('%')<2
exec 'split'
let l:jm_is_splitted=1
end
exec 'e %:p:h'
let b:jm_is_jumped=1
if exists('l:jm_is_splitted')
let b:jm_is_splitted=1
endif
call cursor(8,1)
call search(filename)
endfunction
nmap <F3> :call JumpToCurrentFile()<cr>