Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。Vim/Vi 没有菜单,只有命令。
早前也用过Vim变过C++/C的代码,后来一不用,命令全都忘了,本来就没记多少。这里给出基本的一些操作指令,算是方便以后查看吧。本人是小白.......处于学习阶段。大神勿喷.....

主要的就是vim的三种工作模式:

插入命令:

  

a    在光标后附加文本
A 在本行行末附加文本
i 在光标前插入文本
I 在本行开始插入文本
o 在光标下插入新行
O 在光标上插入新行

定位命令:

h、方向左键

j、方向下键

k、方向上键

l、方向右键

$、移至行尾

0、移至行首

H、移至屏幕上端

M、移至屏幕中央

L、移至屏幕下端

  

:setnu    设置显示行号

:setnonu  取消显示行号

gg            到第一行
G 大最后一行 nG 到第n行 :n 到第n行

  

删除命令:

x    删除光标所在处字符

nx   删除光标所在处后n个字符

dd    删除光标所在行,ndd删除n行

dG    删除光标所在行到末尾的内容

D    删除从光标所在处到行尾

:n1,n2d    删除指定范围的行

  

复制和剪切命令:

yy、Y    复制当前行

nyy、nY   复制当前行以下n行

dd    剪切当前行

ndd    剪切当前行以下n行

p、P    粘贴在当前光标所在行下
或行上

  

替换和取消命令:

r    取代光标所在处字符

R    从光标所在处开始替换字
符,按Esc结束 u 取消上一步操作 (撤销)

  

搜索和替换命令:

/string    向前搜索指定字符串搜索时忽略大小写:set ic

n    搜索指定字符串的下一个出现位置

:%s/old/new/g    全文替换指定字符串

:n1,n2s/old/new/g    在一定范围内替换指定字符串

  

保存和退出命令:

:w   保存修改

:wnew_filename   另存为指定文件

:wq    保存修改并退出

ZZ    快捷键,保存修改并退出

:q!    不保存修改退出

:wq!    保存修改并退出(文件所有者
可忽略文件的只读属性)

  

应用实例:

导入命令执行结果  :r  !命令      可以导入文件内容和执行完查询命令后的信息

定义快捷键  :map  快捷键 触发命令
范例: : map ^P I#<ESC>
: map ^B 0x
这里的^是通过ctrl + V显示的 连续行注释 :n1,n2s/^/#/g :n1,n2s/^#//g :n1,n2s/^/\/\//g 替换 :ab sammail samlee@lampbrother.net

  

我们完全可以把我们的自定义放入~/.vimrc  然后每次打开文件就有我们的默认设置了。

Linux——vim/vi 简单学习笔记的更多相关文章

  1. Linux——帮助命令简单学习笔记

    Linux帮助命令简单学习笔记: 一: 命令名称:man 命令英文原意:manual 命令所在路径:/usr/bin/man 执行权限:所有用户 语法:man [命令或配置文件] 功能描述:获得帮助信 ...

  2. Linux——用户管理简单学习笔记(四)

    主要讲两个用户管理的案例: 1: 限制用户su为root,只允许某个组的的用户su # groupadd sugroup 首先添加我们的用户组 # chmod 4550 /bin/su 改变命令的权限 ...

  3. Linux——用户管理简单学习笔记(二)

    其实如果我们了解了Linux中用户管理的配置文件之后,完全可以手工管理用户: 添加用户: useradd 设置选项 用户名 -D 查看缺省参数 u:UID g:缺省所属用户组GID G:指定用户所属多 ...

  4. Linux——用户管理简单学习笔记(一)

    Linux用户分为三种: 1:超级用户(root,UID=0) 2:普通用户(UID 500-60000) 3:伪用户(UID 1-499)  伪用户: 1.伪用户与系统和程序服务相关 :nbin.d ...

  5. Linux——进程管理简单学习笔记(二)

    计划任务: 为什么要设置计划任务 : 实现数据库备份,发送系统通知神马的..... 计划任务的命令: 一: at :  安排作业在某一时刻执行一次 nbatch    安排作业在系统负载不重时执 行一 ...

  6. Linux——用户管理简单学习笔记(三)

    用户组管理命令: groupadd -g 888 webadmin 创建用户组webadmin,其GID为888 删除用户组: groupdel 组名 修改用户组信息 groupmod groupmo ...

  7. Log4j简单学习笔记

    log4j结构图: 结构图展现出了log4j的主结构.logger:表示记录器,即数据来源:appender:输出源,即输出方式(如:控制台.文件...)layout:输出布局 Logger机滤器:常 ...

  8. OI数学 简单学习笔记

    基本上只是整理了一下框架,具体的学习给出了个人认为比较好的博客的链接. PART1 数论部分 最大公约数 对于正整数x,y,最大的能同时整除它们的数称为最大公约数 常用的:\(lcm(x,y)=xy\ ...

  9. linux vim vi编辑时撤销输入操作

    linux vim vi编辑时撤销输入操作 1,esc退出输入状态 2,u 撤销上次操作 3,ctrl+r 恢复撤销

随机推荐

  1. SparkSQL UDF两种注册方式:udf() 和 register()

    调用sqlContext.udf.register() 此时注册的方法 只能在sql()中可见,对DataFrame API不可见 用法:sqlContext.udf.register("m ...

  2. pod 的warning一定要注意消除,要不然你的pod配置有问题无法导入

    and the CHANGELOG for this version http://git.io/BaH8pQ. Downloading dependencies Using BlocksKit (2 ...

  3. Summary: Deep Copy vs. Shallow Copy vs. Lazy Copy

    Object copy An object copy is an action in computing where a data object has its attributes copied t ...

  4. sql 事务运用实例

    ------------------------------ create proc SaveFinancialProduct@FinancialName nvarchar(50),--产品名称@Yi ...

  5. mysql表空间文件

    1.共享表空间文件.默认表空间文件是ibdata1,大小为10M,且可拓展.共享表空间可以由多个文件组成,一个表可以跨多个文件而存在,共享表空间的最大值限制是64T. 2.独立表空间文件.独立表空间只 ...

  6. Redis缓存穿透问题及解决方案

    上周在工作中遇到了一个问题场景,即查询商品的配件信息时(商品:配件为1:N的关系),如若商品并未配置配件信息,则查数据库为空,且不会加入缓存,这就会导致,下次在查询同样商品的配件时,由于缓存未命中,则 ...

  7. Promise学习探究

    学习熟知吧,原理还是继续吧 例子1: var isGeted; function getRet(){ return new Promise(function(resolve, reject) { // ...

  8. Object-C-NSString

    NSString *info=@"Hello world"; NSString *info=[[NSString alloc]initWithFormat:@"my na ...

  9. 引入jQuery的src设置

    1.引用在线jQuery 谷歌.微软.百度都有提供在线的jQuery引用.比如 <script src="http://code.jquery.com/jquery-latest.js ...

  10. ASCII说明和ASCII对照表

    ASCII 说明 ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字符.标准 ASCII 码也叫基础ASCII码,使用 7 位二进制数来表示所有的大写和小写字 ...