最開始学习过vim,见 http://blog.csdn.net/u011848617/article/details/12837873

之后以前不了了之,当再次学习后,发现经常使用命令的掌握还是不可缺少的,以下是我整理的vim经常使用命令:

//下面操作均是在命令行模式下运行的

/*启动vim*/

vim---------------------不指定文件名称,在保存文件时指定文件名称

vim filename------------打开指定文件,此文件能够存在也能够不存在

vim +n filename---------进入vim,光标停在第n行開始处

vim +filename-----------进入vim,光标停在文件最后一行開始处

vim +/string filename---进入vim,光标停在第一个字符串处

/*保存文件并退出vim*/

w:---------保存当前正在编辑文件,但不退出vim

w filename-----将当前文件内容保存至filename指定的新文件里,若该文件存在则产生错误,不退出vim

w! filename-----将当前文件内容保存至filename指定的新文件里,若该文件存在则覆盖原文件,不退出vim

q:--------------不保存直接退出vim,若文件有修改但未保存将产生错误

q!:--------------不保存直接退出vim,若文件有修改则修改内容将丢失

wq:--------------保存并退出vim

/*光标的移动*/

0---------------移到当前行行首

$---------------移到当前行行尾

w---------------右移1个字

nw--------------右移n个字

b---------------左移1个字

nb--------------左移n个字

(---------------移到本句的句首,假设已处于本句句首,则移动到前一句句首

)---------------移到下一句句首

{---------------移到本段的段首,假设已处于本段短首,则移动到前一段段首

}---------------移到下一段段首

g---------------移到文件第一行

G---------------移到文件最后一行

/word-----------查找(+n--向下继续查找下一个/+N--向上继续查找下一个)

x---------------向后删除一个字符

X---------------向前删除一个字符

dd--------------删除光标所在行

yy--------------复制光标所在行

p(小写)---------粘贴至下一行

P(大写)---------粘贴至上一行

ctrl+r/.--------反复运行前一操作

u---------------删除前一操作

i---------------从光标所在字符前插入

a---------------从光标所在字符后插入

o---------------从光标所在行的下一行插入

r---------------替换字符

:q--------------离开

:wq-------------保存后离开

:set nu---------显示行号

:set nonu-------取消行号

//文本的查找

?string<Enter> --------- 查找string

n ---------------------- 向文件头方向反复查找

N ---------------------- 向文件尾方向反复查找

//文本的替换

:s/oldstr/newstr -------------- 在当前行用newstr替换oldstr,仅仅替换一次

:s/oldstr/newstr/g ------------ 在当前行用newstr替换全部的字符串oldstr

:1,10s/oldstr/newstr/g -------- 在1~10行用字符串newstr替换全部的oldstr

:1,$s/oldstr/newstr/g --------- 在整个文件里用字符串newstr替换全部的oldstr

再探vim经常使用命令的更多相关文章

  1. 再探VIM配置

    再探VIM配置 最初找到这个发行版spf13-vim,在ubuntu上用的还比较方便,有很多插件:最近在mac上用,总是不兼容vim,用brew安装了最新的vim,还是跟系统不兼容,总是有问题,于是就 ...

  2. 再探gdb经常使用命令

     前面已经有了一篇对gdb经常使用命令的总结.见 http://blog.csdn.net/u011848617/article/details/12838875 这里对眼下学过的gdb命令进行了 ...

  3. vim显示历史命令

    [vim显示历史命令] q: 进入命令历史编辑.类似的还有 q/ 可以进入搜索历史编辑.注意 q 后面如果跟随其它字母,是进入命令记录. 可以像编辑缓冲区一样编辑某个命令,然后回车执行.也可以用 ct ...

  4. 再探ASP.NET 5(转载)

    就在最近一段时间,微软又有大动作了,在IDE方面除了给我们发布了Viausl Studio 2013 社区版还发布了全新的Visual Studio 2015 Preview. Visual Stud ...

  5. vim经常使用命令总结

    vim 选择文本,删除,复制,粘贴   文本的选择,对于编辑器来说,是非常主要的东西,也常常被用到,总结例如以下: v    从光标当前位置開始,光标所经过的地方会被选中,再按一下v结束. V     ...

  6. linux应用之vim的常用命令

    vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v 从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束. V 从光标当前行开始,光标 ...

  7. c++再探string之eager-copy、COW和SSO方案

    在牛客网上看到一题字符串拷贝相关的题目,深入挖掘了下才发现原来C++中string的实现还是有好几种优化方法的. 原始题目是这样的: 关于代码输出正确的结果是()(Linux g++ 环境下编译运行) ...

  8. vi/vim基本使用命令

    vi/vim基本使用命令 一.总结 一句话总结:1.记住三种模式:命令行模式.插入模式.底行模式:2.记住两个按键功能:i和esc 二.vi/vim基本使用命令 vi/vim 基本使用方法本文介绍了v ...

  9. vi/vim系统编辑命令使用技巧

    01前言 在Linux系统中会有很多的文件信息,这些文件的内容如果需要编辑,就必须借助vi或vim编辑命令. vi是Linux命令行界面下的重要文字编辑器.vim是vi命令的增强版. [语法格式] v ...

随机推荐

  1. nyoj 55 懒省事的小明 优先队列 multiset 还有暴力

    懒省事的小明 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 3   描述       小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果子的 ...

  2. Shell 输入/输出重定向

    大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回​​到您的终端.命令通常从标准输入的地方读取输入,默认是终端.标准输出,默认情况下是终端. 重定向命令列表如下: 命令 说明 comm ...

  3. 手机字段存储报错 :Warning Code : 1264 Out of range value for column 'buyer_tpl' at row 1

    企鹅上朋友问我: 我这明明是11位的int 为啥还说超出范围了呢,然后发来报警截图 我看到是 buyer_tpl int(13)  unsigned NOT NULL,就知道是怎么回事了,打开dev. ...

  4. 树莓派学习笔记——使用文件IO操作GPIO SysFs方式

    0 前言     本文描写叙述假设通过文件IO sysfs方式控制树莓派 GPIO端口.通过sysfs方式控制GPIO,先訪问/sys/class/gpio文件夹,向export文件写入GPIO编号, ...

  5. Linux学习记录--匿名沟通渠道

    匿名沟通渠道 管道Linux最初支持Unix IPC其中的一种形式.具有下列特征: 1.管道是半双工.数据可以仅在一个方向流动:当双方需要沟通.建设两条管线需要. 2.仅仅能用于父子进程或者兄弟进程之 ...

  6. 设计模式 - 装饰者模式(Decorator Pattern) Java的IO类 用法

    装饰者模式(Decorator Pattern) Java的IO类 用法 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26716 ...

  7. Struts2 Action接收表单参数

    struts2 Action获取表单传值    1.通过属性驱动式    JSP:        <form action="sys/login.action" method ...

  8. Java反射机制的使用方法

    Java的反射机制同意你在程序执行的过程中获取类定义的细节.有时候在程序执行的时候才得知要调用哪个方法,这时候反射机制就派上用场了. 获取类 类的获取方法有下面几种: forName().通过Clas ...

  9. 带有机器人框架的.NET自己主动化測试

    Clayton Neal在软件測试和质量保证方面有超过13年的经验,当中有八年的Windows, web,和移动应用程序的測试自己主动化经验.他在測试领域的全部等级都工作过.近期他在Bloomberg ...

  10. java中Executor、ExecutorService、ThreadPoolExecutor介绍(转)

    1.Excutor 源码非常简单,只有一个execute(Runnable command)回调接口 public interface Executor { /**     * Executes th ...