0
這是對this question的後續(但是是一個明確的問題),我將在此重申此處的完成。Vim:Vimscript調用netrw命令
我有一個Vim映射從當前目錄的目錄(所以結果在:pwd之後)開始搜索(ack-grep with ack.vim插件)模式。這個映射在我查看緩衝區時起作用。
我想在netrw中使用相同的映射。但是,我想將當前目錄(:pwd)更改爲netrw向我展示的目錄,因此搜索將從我正在查看的目錄開始。我知道我可以用netrw c命令來做到這一點。我如何從一個函數中給出c
命令?
我已經試過:
function! StartAckSearch()
" If we're in netrw change the current directory to the directory we're
" viewing
if &ft ==# 'netrw'
echo 'in netrw'
c
endif
endfunction
nnoremap <Leader>a :call StartAckSearch()<CR>
和:
我已經試過:
function! StartAckSearch()
" If we're in netrw change the current directory to the directory we're
" viewing
if &ft ==# 'netrw'
echo 'in netrw'
execute 'c'
endif
endfunction
nnoremap <Leader>a :call StartAckSearch()<CR>
但他們都沒有工作。
問題 如何使用Vimscript調用netrw命令? (如果我的問題可以修改得更清楚,請繼續)
我試過'規範C',它的工作。你能否提供更多關於爲什麼/如何運作的信息? 'normal foo'說'執行正常命令'foo'? – 2012-08-17 09:57:37
':normal gg'與在** NORMAL **模式下輸入'gg'相同 – kev 2012-08-17 09:59:25
我知道這是你查看文件的情況。但是爲什麼當我在使用Vimscript和netrw時必須明確地說'norm c'?如果我只是'c',那麼這個錯誤會讓我認爲它想要c(hange)的東西。 – 2012-08-17 10:05:37