最開始学习过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. C++学习之路—继承与派生(三):多重继承与虚基类

    (根据<C++程序设计>(谭浩强)整理,整理者:华科小涛,@http://www.cnblogs.com/hust-ghtao转载请注明) 多重继承是指一个派生类有两个或多个基类.例如,有 ...

  2. Servlet过滤器——仿盗链过滤器

    1.概述 介绍如何使用过滤器技术,防止通过其他URL地址直接访问本站资源.运行本实例,当URL地址不是本站地址时,在网页中将显示错误提示信息. 2.技术要点 主要应用request对象的getHead ...

  3. 也谈C#之Json,从Json字符串到类代码

    原文:也谈C#之Json,从Json字符串到类代码  阅读目录 json转类对象 逆思考 从json字符串自动生成C#类  json转类对象 自从.net 4.0开始,微软提供了一整套的针对json进 ...

  4. 【deep learning学习笔记】注释yusugomori的LR代码 --- 模型测试

    测试部分代码: void test_lr() { srand(0); double learning_rate = 0.1; double n_epochs = 500; int train_N = ...

  5. address_space 从哪里来

    address_space 从哪里来 这两天想弄清楚linux的内存分配,忽然看到了address_space,就想弄明白. 整个内核就见到 address_space(1)和address_spac ...

  6. 多线程——实现Callable接口

    前两篇博客(多线程--继承Thread类.多线程--实现Runnable接口 )介绍了java使用线程的两种方法.这篇博客继续介绍第三种方法--实现Callable接口. 先说一下Runnable和C ...

  7. ThinkPhp学习05

    原文:ThinkPhp学习05 一.ThinkPHP 3 的CURD介绍  (了解)二.ThinkPHP 3 读取数据    (重点) 对数据的读取 Read $m=new Model('User') ...

  8. C++经典笔试题及参考答案-趋势科技

    1.static有什么用途?(请至少说明两种) 答案:1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变. 2)在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数 ...

  9. Static关键字的作用及使用

    1.使用static声明属性 如果希望一个属性被所有对象共同拥有,可以将其声明为static类型. 声明为static类型的属性或方法,此属性或方法也被称为类方法,可以由类名直接调用. class P ...

  10. Maven 建 Struts2 基本实现 CURD Controller

    开发环境 开发工具:Eclipse 数据库:MySQL server:Tomcat Struts2 请求原理流程图 构建一个 web maven project,在pom.xml引入struts2的j ...