Linux vim命令
介绍
vim命令和vi的操作基本一致,vim命令的参数很多,我在这里列出了一些平时需要用的一些参数,vim主要有两个界面一个是esc的操作界面还有一个是输入i的编辑界面。
移动光标
0 (零):将光标移动到行的起始处。
$:将光标移动到行的末尾处。
H:将光标移到当前窗口(而非全文)的第一行起始处。
M:将光标移到当前窗口的居中一行起始处。
L:将光标移到当前窗口的最后一行起始处。
gg:将光标移动到文档的开始处
G:将光标移动到文档的末尾
<数字>G:将光标移动到指定的数字行的起始处。
<数字>-:将光标移动到当前光标减去指定数字的光标行开始处
<数字>+:将光标移动到当前光标加上指定数字的光标行开始处
删除与恢复
删除命令:
x(小写):删除光标所在处字符。
dd:删除光标所在的行。
D:删除从光标所在之处开始直到该行末尾的全部字符。
<数字>dd:删除从光标当前行开始指定的数字行
恢复(Undo)命令:
u:恢复刚被删除的文本。
U:恢复光标所在行在此次编辑中的全部改变。
复制粘贴
yy:复制光标所在行
<数字> yy:复制从光标开始指定数字的行
p:粘贴复制的内容到光标的所在行的下一行
查找字符
/<字符串>:从光标所在处开始往后查找第一个符合的字符串
?<字符串>:从光标所在处开始往前查找第一个符合的字符串
n:查找下一个
N:查找上一个
替换字符串
:s/old/new/ 替换当前行第一个 old 为 new
:s/old/new/g 替换当前行所有 old 为 new
:n,$s/old/new/ 替换第 n 行开始到最后一行中每一行的第一个 old 为 new
:n,$s/old/new/g 替换第 n 行开始到最后一行中每一行所有 old 为 new
n 为数字,若 n 为"."表示从当前行开始到最后一行
:%s/old/new/(等同于 :g/old/s//new/) 替换每一行的第一个 old 为 new
:%s/old/new/g(等同于 :g/old/s//new/g) 替换每一行中所有 old 为 new
保存与退出
:q:退出vi。
:q!:舍弃当前对编辑内容所作的修改,强行退出vi。
:w [<文件名称>]:将正在编辑的内容以<文件名称>为名存盘(相当于Save as...),如果没有指定<文件名称>,则使用原有的文件名称(相当于Save...)。
:wq:存盘退出。
其它的一些参数命令
显示行号:set nu
取消显示行号:set nonu
总结
vim是个强大的文本编辑工具,还有很多其它的用法,后面再慢慢完善。
|
备注: 作者:pursuer.chen 博客:http://www.cnblogs.com/chenmh 本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。 《欢迎交流讨论》 |
Linux vim命令的更多相关文章
- 0050 Linux VIM 命令
1. 模式切换 vim的模式 $ vi filename 进入normal 模式,这是命令模式,用于执行大多数常用的编辑命令,不能输入 敲i 进入 insert 模式,这是正常的编辑模式,按Esc ...
- linux vim 命令使用
基本上vim可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(last line mode) 模式切换方法 在命令模式输入“i”,进入插入模式 ...
- Linux vim命令记录
Ndd :删除N行 多行删除 :1,10d ctrl+v ,移动光标,ctrl+i,输入#,esc :移动处均会输入# gg:文档头 G:文档尾 o:下一行,并进入insert模式 O:上一行并输入 ...
- 从零开始学安全(十六)● Linux vim命令
游标控制 h 游标向左移 j 游标向下移 k 游标向上移 l (or spacebar) 游标向右移 w 向前移动一个单词 b 向后移动一个单词 e 向前移动一个单词,且游标指向单词的末尾 ( 移到当 ...
- Linux vim命令详解
vi: o 处于下一行编辑模式 A 处于编辑的后面 ==>END gg 文件的开头 98gg 跳转到第98行 Shift + G 文件结尾 $ 文件行结尾 ^ 文件行开头 ==> ...
- linux VIM基本命令
linux VIM命令: vim 在命令行中输入vim,进入vim编辑器 Esc 退出i(插入)命令进行其他命令使用 :sh 进入shell命令行,运行完命令后ctrl+d退出又一次进入vim编辑继续 ...
- 今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号。由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号。看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类
今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在W ...
- [工作需求]linux常用命令以及vim常用命令
一. Linux 常用命令 mkdir dirname新建文件夹 cd ~ 进入自己的家目录 cd dirname 进入名字为dirname的目录: l 显示当前文件夹下的文件 ...
- Linux常用命令——文本编辑器Vim
Linux常用命令--文本编辑器Vim Linux Vim常用操作 插入命令 a 在光标所在字符后插入 A 在光标所在行尾插入 i 在光标所在字符前插入 I 在光标所在行首插入 o 在光标下插入新行 ...
随机推荐
- 如何用Tacker将NFV带入OpenStack?
最初社区里很多人争论过NFV是否属于OpenStack,而后来可以确定的是OpenStack的确占据了NFV会话中的很大一部分,并且形象地反映在了下面的ETSI MANO概念架构图中,OpenStac ...
- Hadoop2.6.0子项目hadoop-mapreduce-examples的简单介绍
引文 学习Hadoop的同学们,一定知道如果运行Hadoop自带的各种例子,以大名鼎鼎的wordcount为例,你会输入以下命令: hadoop org.apache.hadoop.examples. ...
- 记录Gzip函数
仅仅作个日志而与 public static function compress(param1:ByteArray) : ByteArray { var _loc_2:ByteArray; var _ ...
- SQL:无法解决 equal to 操作的排序规则冲突。
更改存储过程的时候,在SQL中出现了 “无法解决 equal to 操作的排序规则冲突”错误,网上搜之,发现是表之间元素创建时排序规则不同(一个是collate Chinese_PRC_CI_AI_W ...
- Mono for android 如何动态添加View,线程内部如何更新UI.
貌似所有设计到UI的程序原理都是一样的,子线程是不能够更新UI状态的,所以就必须使用UI自身或者第三方来更新UI. 如 在WinForm 中 就可以使用Control.Invoke(Action ac ...
- 封装ios静态库碰到的一些问题(一)
封装IOS动态库,碰到的第一个问题,就是资源文件的问题,如果将你的程序封装成为静态库,那么静态库中不会包含资源文件和xib文件,这个时候就需要自己封装bundle文件了,而笔者开发环境默认是xcode ...
- window对象常用方法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085和串口只发送数据不能接收数据问题
STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085的问题讨论:http://www.rt-thr ...
- HTML的ul和li标签的使用
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- Beta版本的贡献率百分比
我真的是服了..刚刚写完最后一次作业,还感叹了一下终于完成了最后的工作,一看群还得发一篇. 贡献率这种东西不是应该默认是100%除以团队人数的吗,有没有搞错啊,这样很容易引起团队不融洽的啊. 0313 ...