Vim 中進行文件目錄操做

 Vim 中進行文件目錄操做

當前文件名

咱們知道Vim有48個寄存器,其中%只讀寄存器中保存着當前文件路徑。 例如在/home/harttle/下打開src/main.cpp,咱們打印%的值:git

:echo @%                " 文件路徑 src/main.cpp

經過關鍵字展開可獲得絕對路徑、所在目錄等信息:github

:echo expand('%:t')     " 文件名     main.cpp
:echo expand('%:p')     " 絕對路徑   /home/harttle/src/main.cpp
:echo expand('%:p:h')   " 所在目錄   /home/harttle/src
:echo expand('%:p:h:t') " 所在目錄名 src

:p理解爲path, :h理解爲head, :t理解爲tail。可參考:help expandvim

利用 % 進行文件操做

備份當前文件main.cppmain.cpp.bak:插件

:w % %.bak

打開在同目錄下的main.hcode

:e %:p:h/main.h

插入當前文件名:get

"%p

拷貝當前文件名到剪切板,固然你能夠把它作成快捷鍵:it

:let @*=expand("%:t")

直接打開目錄

Harttle發現Vim不只能夠打開文件,並且能夠打開目錄。 直接vim /home/harttle便可打開,也能夠在vim打開目錄:class

:e ./harttle    " 編輯該目錄
:Explore .      " 瀏覽該目錄
:Sexplore .     " 在水平分割窗口中瀏覽該目錄
:Vexplore .     " 在垂直分割窗口中瀏覽該目錄

打開目錄後Enter進入下一層,-返回上一層,R重命名,D刪除。方法

這裏的水平分割是指上下兩個窗口,垂直分割爲左右兩個窗口。 貌似TMUX和VIM對水平和垂直的定義偏偏相反,Harttle也是醉了。im

萬能方法

若是你找不到合適的Vim命令,隨時均可以在Vim中直接執行Bash命令。 只須要在Ex模式中添加前導的!字符,例如:

# 列出文件
:!ls
# 刪除文件
:!rm foo.txt

此外,NERDTree插件能夠在Vim中顯示文件目錄樹。 固然也集成了文件和目錄操做,須要熟悉其快捷鍵。

相關文章
相關標籤/搜索