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.cpp
到main.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中显示文件目录树。 当然也集成了文件和目录操作,需要熟悉其快捷键。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能有所帮助,如果有疑问大家可以留言交流。
相关推荐
-
Linux中利用Vim对文件进行密码保护的方法详解
前言 Vim 是一种流行的.功能丰富的和高度可扩展的 Linux 文本编辑器,它的一个特殊功能便是支持用带密码各种的加密方法来加密文本文件. 本文中,我们将向你介绍一种简单的 Vim 使用技巧:在 Linux 中使用 Vim 对文件进行密码保护.我们将向你展示如何让一个文件在它创建的时侯以及为了修改目的而被打开了之后获得安全防护. 要安装 Vim 完整版,只需运行这些命令: $ sudo apt install vim #Debian/Ubuntu 系统 $ sudo yum install v
-
linux 中vim的用法讲解
Vim 是 Linux 系统上的最著名的文本/代码编辑器,也是早年的 Vi 编辑器的加强版,而 gVim 则是其 Windows 版.它的最大特色是完全使用键盘命令进行编辑,脱离了鼠标操作虽然使得入门变得困难,但上手之后键盘流的各种巧妙组合操作却能带来极为大幅的效率提升. vim的命令的一些格式 1:vim xxx 直接打开一个xxx命名的vim文件,如果没有的话直接创建一个新的.默认光标定义到第一行 2:vim + xxx 打开光标并定义到最后一行 3:vim +num xxx 打开光标定义到
-
linux Vim基本操作方法
最近在用Ubuntu11.04重新学习以前没怎么学好的Unix,不过在VMware7.1.4下Ubuntu11.04的X Window表现不是很好.这都无所谓,先把命令行的基础打好再说.Ubuntu的Vi也不好用,搞了个Vim用来学习了,简单记录下它的基本操作,备用,给大家提供一本书<UNIX实用教程(第5版)>命令模式切换到文本输入模式: 键 功能 i 在光标左侧输入文本 I 在当前行的行首输入文本 a 在光标右侧输入文本 A 在当前行的行尾输入文本 o 在当前行的下一行添加一个空行,光标放
-
Vim 强制保存只读类型文件的方法
发现问题: 在使用vim时,当我们以普通用户去打开一个只有root用户才有权限操作的文件时,我们编辑完成之后,正要保存,却发现,这个文件我们没有权限修改. 每次遇到这样的问题,我都很头疼,好不容易把文件编辑完了,却无法保存,就只能放弃,然后退出,再以root权限打开,重新编辑. 我总是相信,所有的问题都有解决的方法.通过查阅资料,终于解决了这个问题. 解决方案: 底行命令模式执行: :w !sudo tee % w: 表示保存文件 !: 表示执行外部命令 tee: linux命令,这个有点复杂,
-
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(
-
如何让 vim 成为我们的神器(小结)
Vim 是一个上古神器,刚刚接触的同学可能很难驾驭,本篇文章主要带领大家快速入门,并持续分享当前流行的一些 vim-plugin,有兴趣的同学还可以参考 to-vim-tmux-zsh 仓库继续研究 Tmux 和 Zsh. Vim 的优势 Vim 是一个完全 跨平台 的编辑器; Vim 是一个高度 可定制.可扩展 的编辑器; Vim 有着 良好的生态 环境; 新手指南 $ vimtutor // vim 教程 Vim 模式 普通模式: 默认模式,可用于文本删除.替换,恢复.粘贴等操作; 插入模式
-
javascript对象的相关操作小结
我们知道浏览器对象模型(BOM)是javascript的组成之一,它提供了独立于内容与浏览器窗口进行交互的对象.其分层结构如下: window对象是整个BOM的核心其有document(文档对象).location(地址对象) 和history(历史对象组成) 调用对象属性的语法: 1.对象.属性名="属性值"; 2.对象["属性名称字符串"]="属性值"; 调用对象方法的语法: 1.对象的方法名(); 2.对象["方法名称字符串&qu
-
jQuery Select下拉框操作小结(推荐)
jQuery获取Select元素,并选择的Text和Value: 1. $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发 2. var checkText=$("#select_id").find("option:selected").text(); //获取Select选择的Text 3. var checkValue=$("#select_
-
javascript中对Date类型的常用操作小结
javascript中对Date类型的常用操作小结 /** 3. * 日期时间脚本库方法列表: 4. * (1)Date.isValiDate:日期合法性验证 5. * (2)Date.isValiTime:时间合法性验证 6. * (3)Date.isValiDateTime:日期和时间合法性验证 7. * (4)Date.prototype.isLeapYear:判断是否闰年 8. * (5)Date.prototype.format:日期格式化 9. * (6)Date.stringToD
-
JavaScript 字符串常用操作小结(非常实用)
字符串截取 1. substring() xString.substring(start,end) substring()是最常用到的字符串截取方法,它可以接收两个参数(参数不能为负值),分别是要截取的开始位置和结束位置,它将返回一个新的字符串,其内容是从start处到end-1处的所有字符.若结束参数(end)省略,则表示从start位置一直截取到最后. let str = 'www.jeffjade.com' console.log(str.substring(0,3)) // www co
-
php文件夹与文件目录操作函数介绍
php文件夹操作函数 string basename ( string path [, string suffix] )给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名.如果文件名是以 suffix 结束的,那这一部分也会被去掉.在 Windows 中,斜线(/)和反斜线()都可以用作目录分隔符.在其它环境下是斜线(/). string dirname ( string path ) 给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名.在 Windows
-
Vue.js 表单控件操作小结
概念说明 v-model指令:在表单控件元素上创建双向数据绑定.v-model 会根据控件类型自动选取正确的方法来更新元素. 输入框 实例中演示了 input 和 textarea 元素中使用 v-model 实现双向数据绑定: HTML <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Vue 测试实例 - 菜鸟教程(runoob.com)</tit
-
Python 如何对文件目录操作
概述 I/O操作不仅包括屏幕输入输出,还包括文件的读取与写入,Python提供了很多必要的方法和功能,进行文件及文件夹的相关操作.本文主要通过两个简单的小例子,简述Python在文件夹及文件的应用,仅供学习分享使用,如有不足之处,还请指正. 涉及知识点 os模块:os 模块提供了非常丰富的方法用来处理文件和目录. open方法:open方法用于打开一个文件,用于读取和写入. 实例1:获取指定目录下所有的文件大小,并找出最大文件及最小文件 分解步骤: 遍历文件夹下所有的子文件及子文件夹(需要递归)
-
python文件目录操作之os模块
一.os函数目录 1 os.access(path, mode) 检验权限模式 2 os.chdir(path) 改变当前工作目录 3 os.chflags(path, flags) 设置路径的标记为数字标记. 4 os.chmod(path, mode) 更改权限 5 os.chown(path, uid, gid) 更改文件所有者 6 os.chroot(path) 改变当前进程的根目录 7 os.close(fd) 关闭文件描述符 fd 8 os.closerange(fd_low, fd
随机推荐
- VUE元素的隐藏和显示(v-show指令)
- 详解前后端分离之VueJS前端
- Java排序算法总结之冒泡排序
- Python专用方法与迭代机制实例分析
- IIS7 配置大全(ASP.NET 2.0, WCF, ASP.NET MVC,php)
- 实现php加速的eAccelerator dll支持文件打包下载
- Android使用http协议与服务器通信的实例
- 浅析Android中的visibility属性
- Jquery通过ajax请求NodeJS返回json数据实例
- WML学习之五 显示表单
- css中的行间距的代码
- linux系统中的列出敏感用户的脚本代码
- 一些实用的jQuery代码片段收集
- editable.js 基于jquery的表格的编辑插件
- javascript限制用户只能输汉字中文的方法
- node.js中的fs.statSync方法使用说明
- C++中点操作符和箭头操作符的使用详解
- C# 得到某一天的起始和截止时间的代码
- 另类玩法 让你的键盘开口说话
- PHP中利用Telegram的接口实现免费的消息通知功能