VIM操作常用指令(转)
vim是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。
vim有3个模式:插入模式(Insert Mode)、命令模式(Command Mode)、低行模式(Last Line Mode).
插入模式:在此模式下可以输入字符,按ESC将回到命令模式。
命令模式:可以移动光标、删除字符等。
低行模式:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)。
一、打开文件、保存、关闭文件(vi命令模式下使用)
vi filename
//打开filename文件
:w
//保存文件
:w vpser.net //保存至vpser.net文件(可以理解为 另存为)
:q
//退出编辑器,如果文件已修改请使用下面的命令
:q!
//退出编辑器,且不保存
:wq
//退出编辑器,且保存文件
二、插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退回到命令模式)
a
//在当前光标位置的右边添加文本
i
//在当前光标位置的左边添加文本
A
//在当前行的末尾位置添加文本
I
//在当前行的开始处添加文本(非空字符的行首)
O
//在当前行的上面新建一行
o
//在当前行的下面新建一行
R
//替换(覆盖)当前光标位置及后面的若干文本
J
//合并光标所在行及下一行为一行(依然在命令模式)
三、移动光标(vi命令模式下使用)
1、使用上下左右方向键
2、命令模式下:h 向左、j 向下 、k 向上、l 向右。
空格键 向右、Backspace 向左、Enter 移动到下一行首、- 移动到上一行首。
四、删除、恢复字符或行(vi命令模式下使用)
x
//删除当前字符
nx
//删除从光标开始的n个字符
dd
//删除当前行
ndd //向下删除当前行在内的n行
u
//撤销上一步操作
U
//撤销对当前行的所有操作
五、搜索(vi命令模式下使用)
/vpser
//向光标下搜索vpser字符串
?vpser
//向光标上搜索vpser字符串
n
//向下搜索前一个搜素动作
N
//向上搜索前一个搜索动作
六、跳至指定行(vi命令模式下使用)
n+
//向下跳n行
n-
//向上跳n行
nG
//跳到行号为n的行
G
//跳至文件的底部
七、设置行号(vi命令模式下使用)
:set nu
//显示行号
:set nonu
//取消显示行号
八、复制、粘贴(vi命令模式下使用)
yy
//将当前行复制到缓存区,也可以用 "ayy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多 个复制任务。
nyy //将当前行向下n行复制到缓冲区,也可以用 "anyy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
yw
//复制从光标开始到词尾的字符。
nyw //复制从光标开始的n个单词。
y^
//复制从光标到行首的内容。
y$
//复制从光标到行尾的内容。
p
//粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用"ap 进行粘贴。
P
//粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用"aP 进行粘贴。
九、替换(vi命令模式下使用)
:s/old/new
//用new替换行中首次出现的old
:s/old/new/g
//用new替换行中所有的old
:n,m s/old/new/g
//用new替换从n到m行里所有的old
:%s/old/new/g
//用new替换当前文件里所有的old
十、编辑其他文件
:e
otherfilename //编辑文件名为otherfilename的文件。
十一、修改文件格式
:set
fileformat=unix //将文件修改为unix格式,如win下面的文本文件在linux下会出现^M。
总结:vi虽然有比较多的命令,但是只要勤加练习,相信你会很快的熟练掌握,同时也会给你的工作或学习带来更高的效率。当如果不知道自己处在什么模式时可以按2次Esc键即可回到命令模式,会有最后提醒一点:注意大小写!
VIM操作常用指令(转)的更多相关文章
- vim的常用指令
vim的常用指令如下: 光标运动: h,j , k, l (上/下/左/右) 删除字符: x 删除行 : dd 模式退出 : Esc,Insert(或者i) 退出编辑器 : q 强制退出不保存: q! ...
- vim操作常用命令总结
这里记录下linux在vim编辑器中的常用命令 vi 的三种模式: 一般模式:以vi打开一个文件时,就是一般模式:可以移动光标,删除字符或删除整行,可以复制.粘贴等操作 编辑模式:在一般模式按下 i ...
- linux下vim的常用指令
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...
- linux VIM编辑器常用指令
一般模式 查看文本-移动光标 [Ctrl] + [f] 屏幕『向前』移动一页 [Ctrl] + [b] 屏幕『向后』移动一页 n<space> 按下数字后再按空格键,光标会向右移动这一 ...
- vim的常用指令(脑图)
将正在编辑的文件另存新文件名 :w newfilename 在正在编辑的文件中,读取一个filename :r filename 做了很多编辑工作,想还原成原来的文件内容 :e! 我在v ...
- 【linux】vim/vi常用指令
0或者"Home”键:光标转移到此段的最前面字节处. $或者"End"键:光标转移到此段的最后面字节处. n<space>:光标向后移动n个字节. n< ...
- 想法子记忆Vi/Vim常用操作及指令
本笔记有特殊目录,点击开启: 专有目录 在Linux系统中编辑文本总是离不开一位老帮手--Vi.而因为其诞生的年代有些久远,有些操作在现在看来可能有点"反直觉". 于是我决定写这样 ...
- vim(vi)常用操作及记忆方法
vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它.但是,vim作为一个“纯字符”模式下的工具,它的操作和WINDOWS中的文本编辑工具相比多少有些复杂.这 ...
- vim 常用指令
其他命令 <c-L> 重绘屏幕 <c-z> 挂起vim回到shell,想继续vim只需要输入 fg <c-x-f> 文件路径提示 <c-N> 当前文件中 ...
随机推荐
- 为什么使用 Redis及其产品定位
摘自:http://www.infoq.com/cn/articles/tq-why-choose-redis 传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储 ...
- Thunderbird扩展
FromToGMAP 1.4 Mail Redirect 0.7.8 MinisizeToTray revived 1.1.2 Nightly Tester Tools 3.7 Thunderbrid ...
- [手机取证] Apple Watch取证初探
转载文章请注明出处 1. 关于Apple Watch 苹果公司在2015年3月正式发布了智能手表Apple Watch,包括Apple Watch.Apple Watch Sport以及Apple W ...
- GAudio是一个音频播放SDK
gaudio是一个基于C/C++混合编程的跨平台音频库,当前支持windows32/64操作系统 免费使用 - 有问题和建议请联系 谢谢 修改记录1.2013.04.01 初次发布2.2013. ...
- 更新程序基于IIS
闲着无聊写了个更新程序; 1.支持多种文件格式 2.支持按版本号/文件大小/文件时间进行判断更新 3.支持多级文件目录创建
- PowerDesigner设计时表显示注释选项
PowerDesigner设计时表显示注释选项:选定编辑的表,右键- >Properties- >Columns- >Customize Columns and Filter(或直接 ...
- extentreports报告插件与testng集成(一)
前段时间在群里有人说了下用这个插件来生成测试报告,发现生成的报告非常不错.就下来学习了一下,并集成到了testng上,下面来分享一下: ExtentReports (by Anshoo Arora) ...
- 用iptables 实现本地端口转发
设定本机2121端口转发到21端口 iptables -t nat -A PREROUTING -p tcp -i eth0 -d -j DNAT --to iptables -t nat -I PO ...
- oracle重装系统后恢复
前提:各种文件都存在 1.将原oracle文件夹app更名为app_old 2.重新安装oracle(路径,实例等最好都一样),配置监听,服务能正常启动,连接进入数据库 3.关掉oracle服务,将新 ...
- 关于JavaScript lastIndexOf() 方法 w3school.com.cn写的不一定全对
关于JavaScript lastIndexOf() 方法 w3school.com.cn的表述是 定义和用法 lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的 ...