vim中的一些高级命令的使用
现在一般在windows下面对txt文档操作的时候,我一般使用gvim软件来操作,虽然没有unix/linu下面的正宗,并且很多命令没有,但是还是有很多方便之处的
下面是重温vim命令时,我我自己以前不曾用过的一些命令
在linux/unix的terminal中输入vimtutor可以打开vim的帮助文档(是中文的)
1.u/U/ctrl+r
u:这个不用说,相当于windows下面的ctrl+z,按下一次撤销一次先前进行的操作
U:这个我以前一直没有用到,因为那个时候搞不懂干什么的,现在知道他是 对当前操作的整行的内容进行修正,也就是说你在当前一行一次性做的所有操作都将恢复。
ctr+r:这个是一个撤销命令,就是对上一次命令的撤销(注意,这个是上一个命令(只针对一个命令)的一次撤销,注意是一次,按下多次ctrl+r的话,是撤销多次,但是还是针对同一个命令)。举个例子:
abcdefghijklmn:我用x删除了从b到g的内容,结果如下:
ahijklmn:然后我使用u回复了d-g的内容,结果如下:
adefghigklmn:然后我按下ctrl+r,结果是撤销了第二部的u的操作,一直按ctrl+r,最后的结果是:
ahijklmn:之后你无论怎么按ctrl+r,结果都是这样,不会回复用x删除的第一步的内容。这就说明了ctrl+r是针对上一次的同一个命令的
2.ctrl+g
这可查看当前光标所在的位置,会列出当前vim对应文件的全路径,这个功能有时候是很有用的,比如当你想要看当前编辑文件的全路径的话就会用到。
3.逆向搜索?
我们知道/这个是搜索的命令,不过这个是正向搜索,也就是从开头项结尾
而?+内容是逆向搜索,从结尾向开头搜索,用的地方不是很多
4.替换命令
:s/old/new :只替换一个(光标所在行)
:s/old/new/g:替换一行的内容
:#,#s/old/new/g:替换从几行到几行的内容
:%s/old/new/g:替换全文见内容
:%s/old/new/gc:这个命令很牛逼,加了一个c,会提示用户是否替换,有点喝windows一样了,和和
这个命令很常用,不过经常忘记前面的s和%s的区别
5.在vi中使用外部命令
:!ls -l
就是多加了一个!
6.w保存到指定文件和选择性的保存
:w a.txt
保存到了a.txt,就相当于另存为了
:#,# w a.txt
保存指定行数之间的内容到另一个文件中
7.r 把另一个文件内容弄进来
:r b.txt
把b.txt得内容插入到光标所在点后面
8.A
大些A是直接把光标移动到行尾进行插入
9.set ic
:set ic
不区分大小写,这样的话,你用/来搜索的话,就不区分大小写了
10.搜索到结果进行高亮显示
:set hls is
去掉的话使用
:set nohls
vim中的一些高级命令的使用的更多相关文章
- vim中翻页的命令
整页翻页 ctrl-f ctrl-b f就是forword b就是backward 翻半页 ctrl-d ctlr-u d=down u=up 滚一行 ctrl-e ctrl-y zz 让光标所杂 ...
- vim中常用折叠命令
最常用3个折叠命令 .反复打开关闭折叠:za (意思就是,当光标处折叠处于打开状态,za关闭之,当光标处折叠关闭状态,打开之) .打开全部折叠:zR .关闭全部折叠:zM 小试折叠: :set fdm ...
- 再谈vim中多窗口的编辑
参考:http://blog.csdn.net/shuangde800/article/details/11430659 很好 鼠标在各个窗口间循环移动: ctrl+w+(小写的 hjkl), &qu ...
- 再谈vim中多窗口的编辑 ctrl+w+H窗口位置最大化和互换等操作
参考:http://blog.csdn.net/shuangde800/article/details/11430659 很好 鼠标在各个窗口间循环移动: ctrl+w+(小写的 hjkl), &qu ...
- Vim 中使用cscope
使用cscope碰到的问题 1. E568: duplicate cscope database not added 根据提示,cscope数据库重复添加了,我使用的是vim7.2版本,而这个版本在已 ...
- vi/vim使用进阶: 在VIM中使用GDB调试 – 使用vimgdb
vi/vim使用进阶: 在VIM中使用GDB调试 – 使用vimgdb << 返回vim使用进阶: 目录 本节所用命令的帮助入口: :help vimgdb 在UNIX系统最初设计时,有一 ...
- Vim 中进行文件目录操作
Vim 中进行文件目录操作 当前文件名 我们知道Vim有48个寄存器,其中%只读寄存器中保存着当前文件路径. 例如在/home/harttle/下打开src/main.cpp,我们打印%的值: :ec ...
- vi/vim高级命令集粹
vi/vim高级命令集粹 (ctrl +v过来 留着以后看) 1.交换两个字符位置 xp 2.上下两行调换 ddp 3.把文件内容反转 :g/^/m0/ (未通过) 4.上下两行合并 J 5.删除所有 ...
- vim中替换命令
在VIM中进行文本替换: 1. 替换当前行中的内容: :s/from/to/ (s即substitude) :s/from/to/ : 将当前行中的 ...
随机推荐
- Delphi 中的DLL 封装和调用对象技术(刘艺,有截图)
Delphi 中的DLL 封装和调用对象技术本文刊登2003 年10 月份出版的Dr.Dobb's 软件研发第3 期刘 艺摘 要DLL 是一种应用最为广泛的动态链接技术但是由于在DLL 中封装和调用对 ...
- UC何小鹏:移动互联网创业需警惕五大“不靠谱
http://tech.qq.com/a/20140121/012443.htm 腾讯科技 启言 1月21日报道 移动互联网创业很容易犯错误,一不小心就陷入“坑”中.UC也是如此.近日,UC创始人何小 ...
- Java:JXL解析Excel文件
项目中,有需求要使用JXL解析Excel文件. 解析Excel文件 我们先要将文件转化为数据流inputStream. 当inputStream很大的时候 会造成Java虚拟器内存不够 抛出内存溢出 ...
- Xcode 升级后, 插件无法使用的问题( PluginLoading: Required plug-in compatibility UUID.... )
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | x ...
- 关于开源框架GPUImage 的简单说明
GPUImage是一个非常棒的图像处理的开源库,里面提供了非常非常多的滤镜效果来加工图片. 不过就是因为太多效果了,而且对于程序员来说,那么多效果并不清楚知道要用那一个.于是我就使用提供的默认值,加上 ...
- XCode中Architecturs配置及常见问题
http://lanvige.github.io/2014/03/19/architecturs-in-xcode/ XCode 5.1升级后因arm64和CocoaPods的原因,痛了一天,终于解决 ...
- 如何监听非本地IP
做HA的时候,如果每个机器上同时需要监听多个IP的同一个端口.那么肯定是需要写死监听的IP和端口.比如在haproxy里面: frontend free bind default_backend te ...
- dev combobox edit 怎么设置让选项清空
dev combobox edit 怎么设置让选项清空 功能需求: 点击combobox edit1的选项A 使得 combobox edit2出现选项a: 然后再点击combobox edit1的选 ...
- [转]WinForm如何调用Web Service
1.建立项目WebService和WinForm项目,这里起名为WinFormInvokeWebService,如图所示, 2.Service1.asmx代码为:(这部分其实和上篇的代码是一样的) u ...
- [Codechef October Challenge 2014]刷漆
问题描述 Czy做完了所有的回答出了所有的询问,结果是,他因为脑力消耗过大而变得更虚了:).帮助Czy恢复身材的艰巨任务落到了你的肩上. 正巧,你的花园里有一个由N块排成一条直线的木板组成的栅栏,木板 ...