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虚拟机(2)——Java的平台无关性
一.平台无关性的好处 Java技术在网络环境下非常有用,其中一个关键理由是,用Java创建的可执行二进制程序,能够不加改变地运行于多个平台. 这样的平台无关性随之带来许多的好处.这将极大地减轻系统管理 ...
- JDK 源码学习——ByteBuffer
ByteBuffer 在NIO的作用 Java SE4 开始引入Java NIO,相比较于老的IO,更加依赖底层实现.引入通道(Channels),选择器(selector),缓冲(Buffers). ...
- 剑指Offer——顺丰笔试题+知识点总结
剑指Offer--顺丰笔试题+知识点总结 情景回顾 时间:2016.10.16 19:00-20:40 地点:山东省网络环境智能计算技术重点实验室 事件:顺丰笔试 知识点总结 快排 霍尔排序(快排) ...
- 打开Voice Over时,CATextLayer的string对象兼容NSString和NSAttributedString导致的Crash(一现象)
一.现象:iPhone真机打开Voice Over的情况下,iPhone QQ空间工程,Xcode 真机编译启动必Crash,main函数里面 NSSetUncaughtExceptionHandle ...
- Android快速关联V4包的方式
很多时候需要管理v4包,当然有很多种办法去关联.本人觉得最快速的方式,是通过添加配置文件的方式.只需要ctrl+c和ctrll+v就能解决了 方法如下: 1.新建一个android-support-v ...
- 类型转换异常处理java.lang.RuntimeException
前几天在做一个安卓项目的时候一直报java.lang.RuntimeException错,一直调试不出来,今天突然又灵感是不是文件配置出错了,果然在清单文件中少了一句 android:name=&qu ...
- [lua]写个简单的Lua拓展-sleep函数
这几天在做一个小项目,其中用到了一些基本的API, 例如sleep,获取当前目录等等,lua标准库中没有提供这些接口,虽然所第三方库中也都有实现,但是要用的就那么几个函数,在一个嵌入式系统中安装那么多 ...
- Android应用打破65K方法数限制
近日,Android Developers在Google+上宣布了新的Multidex支持库,为方法总数超过65K的Android应用提供了官方支持.如果你是一名幸运的Android应用开发者,正在开 ...
- Java遍历时删除List、Set、Map中的元素(源码分析)
在对List.Set.Map执行遍历删除或添加等改变集合个数的操作时,不能使用普通的while.for循环或增强for.会抛出ConcurrentModificationException异常或者没有 ...
- How to migrate data from another Mac using Mountain Lion and earlier
链接:http://support.apple.com/zh-cn/HT4889