Vim/Vi常用操作(第二版)
周围同事不是用vim就是Emacs,你要是用一ultraedit,你都不好意思跟人家打招呼;什么插件呀,语法高亮呀,拼写检查呀,能给它开的都给它开着,就是一个字儿:酷。
你说这么牛B一东西,怎么着学会也得小半年吧。半年!入门都远着呢,能学会移动光标就不错了,你还别说耗不起,就这还只是左右移动!!!
Vim/Vi简介
所有的Linux/UNIX都会默认安装Vi,现在主流的Linux都会给默认安装vim。
Vim/Vi是一个功能强大的全屏幕文本编辑器, 是Linux/UNIX上最常用的文本编辑器, 它的作用是建立、编辑、显示文本文件;Vi几乎支持所有的语言。
Vim/Vi 没有菜单,只有命令。
官网:www.vim.org
Vim/Vi工作模式
插入命令
命令 作用
a 在光标后附加文本
A 在本行行尾附加文本
i 在光标前插入
I 在本行行首插入文本
o 在光标下面插入新的一行
O 在光标上面插入新的一行
定位命令
命令 作用
h 左移一个字符
j 下移一行
k 上移一行
l 右移一个字符
$ 移动到行尾
0 移动到行首
H 移动到屏幕上端
M 移动到屏幕中央
L 移动到屏幕下端
快速定位
命令 作用
:set nu 显示行号
:set nonu 取消行号
gg 移动到第一行
G 移动到最后一行
nG 到第n行
:n 到第n行
删除命令
x 删除光标所在字符
nx 删除n个字符
dd 删除所在光标所在行,ndd删除n行
dG 删除从当前行到文件末尾所有的行,包含当前行
D 删除光标所在处到行尾的内容
:n1,n2d 删除n1~n2行
复制命令
yy,Y 复制当前行
nyy,nY 复制n行
dd 剪切当前行,ndd剪切当前行及一下的n行
p 粘贴在当前行下
P[大写] 粘贴在当前行上
替换或取消命令
r 取代光标所在处字符
R 从光标所在处开始替换字符,直到Esc结束
u 取消上一步操作 ,首先你没有保存过,文档还是在内存中,还没有同步到硬盘。
替换或搜索命令
/string 向后搜索指定字符串,搜索时忽略大小写 :set ic ,取消:set noic
n 从前往后翻
N 从后往前翻
:%s/old/new/g 全文替换指定字符串,old为需要替换的关键词。
:n1,n2s/old/new/g 在一定范围内替换指定字符串
:%s/old/new/c 全文替换指定字符串,但是会询问
保存与退出
ZZ :wq的快捷键
:w new_filename 另存为指定文件
:wq! 强行保存修改并退出[root/文件所有者]
:q! 不保存退出
Vim/Vi常用操作(第二版)的更多相关文章
- (转)vim(vi)常用操作及记忆方法
vim(vi)常用操作及记忆方法 原文:https://www.cnblogs.com/doseoer/p/6241443.html vi(vim)可以说是linux中用得最多的工具了,不管你配置服务 ...
- vim(vi)常用操作及记忆方法
vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它.但是,vim作为一个“纯字符”模式下的工具,它的操作和WINDOWS中的文本编辑工具相比多少有些复杂.这 ...
- Vim/Vi实用技巧(第二版)
Vim/Vi实用技巧 1.导入文件 :r [文件名] #导入到当前编辑的文件中 如 :r /etc/inittab 文件上部为/etc/services文件,下部为/etc/inittab文件 2.执 ...
- Vimrc配置以及Vim的常用操作
""""""""""""""""&quo ...
- 关于vim的常用操作
vim常用操作和使用技巧 vi是linux与unix下的常用文本编辑器,其运行稳定,使用方便,本文将分两部分对其常用操作技巧和配置进行阐述,其中参考了网上的一些文章,对作者表示感谢 PART1 操作技 ...
- vi和vim 的常用操作
到文件末尾: ESC + shift G : 到文件头: G + G: 整块模式 快捷键 [不使用鼠标,来选择块] v 字符选择,会将光标经过的地方反白选择! V ...
- 【软件构造】(转)Git详解、常用操作与版本图
版本控制与Git 转自:http://www.cnblogs.com/angeldevil/p/3238470.html 版本控制 版本控制是什么已不用在说了,就是记录我们对文件.目录或工程等的修改历 ...
- linux vi常用操作
1.基本操作 进入vi vi 或者 vim 进入一个文件或者新建一个文件 例如:vim 11.txt vi有3种模式 一般模式:刚进入时.按esc时. 编辑模式:按下字母[i, I, o, O, a, ...
- Linux常用命令(第二版) --文件管理命令
文件管理命令 并不建议:照着像命令大全这类的书来学! 常用命令大约有200个. 文件命名规则: a)除了'/'之外所有字符都合法! b)这些字符最好不用 1.空格符,制表符,退格符 2.连接符 3.特 ...
随机推荐
- JAVA面向对象-----局部内部类
局部内部类 局部内部类概述:包含在外部类的函数中的内部类称之为局部内部类. 访问:可以在包含局部内部类的方法中直接创建局部内部类的对象调用局部内部类的成员. 注意:局部内部类只能访问所在函数的fana ...
- SRAM/DRAM,PROM/EPROM/EEPROM,NOR/NAND FLASH区别
SRAM/DRAM,PROM/EPROM/EEPROM,NOR/NAND FLASH区别 RAM / ROM 存储器 ROM和RAM指的都是半导体存储器,R ...
- 【伯乐在线】100个高质量Java开发者博客
本文由 ImportNew - 夏千林 翻译自 programcreek.欢迎加入翻译小组.转载请见文末要求. ImportNew注:原文中还没有100个.作者希望大家一起来推荐高质量的Java开发博 ...
- 高性能的Redis代理TwemProxy
TwemProxy是一个Redis的中间件代理,具有很多有用的功能,可以暂时替代一部分Redis Cluster的功能: ² 支持和6479.之后相应地,配置好两个Redis实例并启动.现在就可以启 ...
- 凸函数与Jensen不等式
这个是在凸优化里面看的,在EM算法中看有用到,所以用latex写了篇回忆用的小短文,现在不会把latex产生的pdf怎么转变成放到这里的内容. 所以我选择直接贴图. 这个pdf可以在我的资源里找到. ...
- 4. React 属性和状态介绍
React 中的属性和状态初看之下可以互相替代,但是在 React 的设计哲学中两者有着截然不同的使用方式和使用场景. 属性的含义和用法 props = propert ...
- SSH深度历险(七) 剖析SSH核心原理(一)
接触SSH有一段时间了,但是对于其原理,之前说不出来莫模模糊糊(不能使用自己的语言描述出来的就是没有掌握),在视频和GXPT学习,主要是实现了代码,一些原理性的内容还是欠缺的,这几天我自己也一直在反问 ...
- javascript之键盘事件
键盘事件包含onkeydown.onkeypress和onkeyup这三个事件 事件初始化 function keyDown(){} document.onkeydown = keyDown; ...
- Android开发学习之路--Notification之初体验
一般当我们收到短信啊,微信啊,或者有些app的提醒,我们都会在通知栏收到一天简单的消息,然后点击消息进入到app里面,其实android中有专门的Notification的类可以完成这个工作,这里就实 ...
- 【一天一道LeetCode】#226. Invert Binary Tree
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 来源:http ...