zoukankan      html  css  js  c++  java
  • 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中显示文件目录树。 当然也集成了文件和目录操作,需要熟悉其快捷键。

  • 相关阅读:
    监控里的主码流和子码流是什么意思
    监控硬盘容量计算
    一个能让你了解所有函数调用顺序的Android库
    电工选线
    oracle linux dtrace
    list all of the Oracle 12c hidden undocumented parameters
    Oracle Extended Tracing
    window 驱动开发
    win7 x64 dtrace
    How to Use Dtrace Tracing Ruby Executing
  • 原文地址:https://www.cnblogs.com/Dev0ps/p/11661394.html
Copyright © 2011-2022 走看看