Vim 中進行文件目錄操作


 Vim 中進行文件目錄操作

當前文件名

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

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

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

: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 expand

利用 % 進行文件操作

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

:w % %.bak

打開在同目錄下的main.h

:e %:p:h/main.h

插入當前文件名:

"%p

拷貝當前文件名到剪切板,當然你可以把它做成快捷鍵:

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

直接打開目錄

Harttle發現Vim不僅可以打開文件,而且可以打開目錄。 直接vim /home/harttle即可打開,也可以在vim打開目錄:

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

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

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

萬能方法

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

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

此外,NERDTree插件可以在Vim中顯示文件目錄樹。 當然也集成了文件和目錄操作,需要熟悉其快捷鍵。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM