最開始学习过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. php 跳转控制

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. SilkTest Q&A 10

    92. 如何把单个表达式分两行来写? 答案1: 使用Shift + Enter 答案2: 很容易在online help里面找到答案: 1)      line break in code 2)    ...

  3. Ural 1073 Square Country (DP)

    题目地址:Ural 1073 DP水题.也能够说是背包. #include <iostream> #include <cstdio> #include <string&g ...

  4. centos 安装ganglia监控工具

    一个.ganglia基本介绍 ganglia它是一个分布式监控系统,那里有两个Daemon,每间:clientGangliaMonitoring Daemon (gmond)和服务端GangliaMe ...

  5. 四个机器学习一步一步入门约束波尔兹曼机RBM

  6. JavaScript(一基本语法)

    本篇博客是对js的一个基本的了解,对于没有js基础的同学来说应该是个入门的基本吧 javascript 是原型化继承来的面向对象的动态类型的区分大小写的客户端的脚本语言.主要目的是为了解决服务器语言, ...

  7. java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.InjectionMetadata.<init>(L

    关于错误: java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.InjectionMetadata.&l ...

  8. NetBSD是个开源到源码的系统

    How to get NetBSD NetBSD is an Open Source operating system, and as such it is freely available for ...

  9. ThinkPHP 的模型使用对数据库增删改查(五)

    原文:ThinkPHP 的模型使用对数据库增删改查(五) ThinkPHP 的模型使用 // 直接连接数据库,但是得先去配置文件中配置下才行 class IndexAction extends Act ...

  10. [Android学习笔记]RelativeLayout的使用

    RelativeLayout是相对布局控件,在屏幕适配的时候非常有用,在此记录一些它的常用属性 第一类:属性值为true或falseandroid:layout_centerHrizontal     ...