现在一般在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中的一些高级命令的使用的更多相关文章

  1. vim中翻页的命令

      整页翻页 ctrl-f ctrl-b f就是forword b就是backward 翻半页 ctrl-d ctlr-u d=down u=up 滚一行 ctrl-e ctrl-y zz 让光标所杂 ...

  2. vim中常用折叠命令

    最常用3个折叠命令 .反复打开关闭折叠:za (意思就是,当光标处折叠处于打开状态,za关闭之,当光标处折叠关闭状态,打开之) .打开全部折叠:zR .关闭全部折叠:zM 小试折叠: :set fdm ...

  3. 再谈vim中多窗口的编辑

    参考:http://blog.csdn.net/shuangde800/article/details/11430659 很好 鼠标在各个窗口间循环移动: ctrl+w+(小写的 hjkl), &qu ...

  4. 再谈vim中多窗口的编辑 ctrl+w+H窗口位置最大化和互换等操作

    参考:http://blog.csdn.net/shuangde800/article/details/11430659 很好 鼠标在各个窗口间循环移动: ctrl+w+(小写的 hjkl), &qu ...

  5. Vim 中使用cscope

    使用cscope碰到的问题 1. E568: duplicate cscope database not added 根据提示,cscope数据库重复添加了,我使用的是vim7.2版本,而这个版本在已 ...

  6. vi/vim使用进阶: 在VIM中使用GDB调试 – 使用vimgdb

    vi/vim使用进阶: 在VIM中使用GDB调试 – 使用vimgdb << 返回vim使用进阶: 目录 本节所用命令的帮助入口: :help vimgdb 在UNIX系统最初设计时,有一 ...

  7. Vim 中进行文件目录操作

    Vim 中进行文件目录操作 当前文件名 我们知道Vim有48个寄存器,其中%只读寄存器中保存着当前文件路径. 例如在/home/harttle/下打开src/main.cpp,我们打印%的值: :ec ...

  8. vi/vim高级命令集粹

    vi/vim高级命令集粹 (ctrl +v过来 留着以后看) 1.交换两个字符位置 xp 2.上下两行调换 ddp 3.把文件内容反转 :g/^/m0/ (未通过) 4.上下两行合并 J 5.删除所有 ...

  9. vim中替换命令

    在VIM中进行文本替换:       1.  替换当前行中的内容:    :s/from/to/    (s即substitude)         :s/from/to/     :  将当前行中的 ...

随机推荐

  1. 坚果云创业团队访谈:我们 DIY 云存储(不要过度关注竞争对手,尤其当我们还是小公司的时候)

    坚果云(http://jianguoyun.com/)是一款用于多平台文件同步.备份和交换的云存储工具,立志于提供“便捷,安全”的服务.坚果云自去年年初启动内测,至今年三月初刚刚正式发布.近日我们拜访 ...

  2. android viewpager change adapter ---在使用viewpager设置新的adapter的时候发现页面还是显示旧的adapter中的值

    有一个需求是当用户选择navigationview中的某一项时,右边的viewpager需要动态切换不同的adapter 发现直接setAdapter没有任何反应,加载的数据还是旧的数据 折腾了半天只 ...

  3. 嵌入式linux中使用 DHCP功能描述

    嵌入式linux中使用 DHCP功能描述 busybox中udhcpc的默认script脚本地址为#define DEFAULT_SCRIPT   CONFIG_UDHCPC_DEFAULT_SCRI ...

  4. .9.png

    .9.png是一种非失真性压缩位图图形文件格式.PNG格式是非失真性压缩的,允许使用类似于GIF格式的调色板技术,支持真彩色图像,并具备阿尔法通道(半透明)等特性.现在有很多人使用PNG格式于互联网及 ...

  5. [NOIP1999]拦截导弹

    1999年NOIP全国联赛提高组 题目描述 Description     某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但 ...

  6. tyvj P1519 博彩游戏(AC自动机+DP滚动数组)

    P1519 博彩游戏 背景 Bob最近迷上了一个博彩游戏…… 描述 这个游戏的规则是这样的:每花一块钱可以得到一个随机数R,花上N块钱就可以得到一个随机序列:有M个序列,如果某个序列是产生的随机序列的 ...

  7. HDU POJ 1015 Jury Compromise(陪审团的人选,DP)

    题意: 在遥远的国家佛罗布尼亚,嫌犯是否有罪,须由陪审团决定.陪审团是由法官从公众中挑选的.先随机挑选n个人作为陪审团的候选人,然后再从这n个人中选m人组成陪审团.选m人的办法是:控方和辩方会根据对候 ...

  8. 《Genesis-3D开源游戏引擎--横版格斗游戏制作教程05:技能读表》

    5.技能读表 技能读表概述: 技能读表,作为实现技能系统更为快捷的一种方式,被广泛应用到游戏开发中.技能配表,作为桥梁连接着游戏策划者和开发者在技能实现上的关系.在游戏技能开发中,开发者只需要根据策划 ...

  9. hdu3681--Prison Break(TSP+二分)

    好难的一道题. 题意:一个机器人要逃出监狱,每走一步消耗一点电量,初始时电量是满的.给一个n*m(n,m<=15)的字符数组代表监狱,F代表起始点,G代表补充满电量,每个G只能补充一次,Y代表开 ...

  10. Asp.net多行文本框随内容增加而高度增加

    最近做一个项目,在一个多行文本框(TextBox)里显示新闻内容,由于内容有多有少,并且总是出现垂直滚动条,很不好看,笔者就想用一个法子,去掉垂直滚动条,并且文本框的高度随内容的增加而变大,使高度适应 ...