Linux之vim按键
1. 移动光标的方法
| h或左箭头 | 光标向左移动一个字符 |
| j或下箭头 | 光标向下移动一个字符 |
| k或上箭头 | 光标向上移动一个字符 |
| l或右箭头 | 光标向右移动一个字符 |
| 如果想要向下移动30行,可以使用“30j”的组合按键,即加上想要进行的数字后,即可操作 | |
| 【Ctrl】+【f】 | 屏幕向下移动一页,相当于【PageDown】 |
| 【Ctrl】+【b】 | 屏幕向上移动一页,相当于【PageUp】 |
| 【Ctrl】+【d】 | 屏幕向下移动半页 |
| 【Ctrl】+【u】 | 屏幕向上移动半页 |
| + | 光标移动到非空格符的下一行 |
| - | 光标移动到非空格符的上一行 |
| n<space> | “n”表示一个数字。按下数字后再按下空格键,光标会向右移动这一行的n个字符。eg. 20<space>,则光标会向后移动20个字符距离 |
| 0或【home】 | 移动到这一行的最前面字符处 |
| $或【End】 | 移动到这一行的最后面字符处 |
| H | 光标移动到这个屏幕的最上方那一行的第一个字符 |
| M | 光标移动到这个屏幕的中央那一行的第一个字符 |
| L | 光标移动到这个屏幕的最下方那一行的第一个字符 |
| G | 移动到这个文件的最后一行 |
| nG | n为数字,移动到这个文件的第n行。eg. 20G则会移动到这个文件的第20行 |
| gg | 移动到这个文件的第一行,相当于1G |
| N【Enter】 | n为数字,光标向下移动n行 |
| 查找与替换 | |
| /word | 向下寻找一个名称为word的字符串 |
| ?word | 向上寻找一个名称为word的字符串 |
| n | 重复前一个查找的操作。例如,如果刚才执行/word去向下查找word这个字符串,按下n后,会向下继续查找下一个名称为word的字符串 |
| N | 与n相反,表示反向进行前一个查找操作。例如,输入/word后,按下N则表示向上查找名称为word的字符串 |
| 使用/word配合n以及N是非常有帮助的,可以重复找到一些关键字 | |
| :n1,n2s/word1/word2/g | n1和n2为数字,在n1与n2之间寻找word1,并将word1替换为word2。eg. 在100-200行间查找word1,并替换为word2,“:100,200s/word1/word2/g” |
| :1,$s/word1/word2/g | 从第一行到最后一行查找word1字符串,并将该字符串替换为word2 |
| :1,$s/word1/word2/gc | 从第一行到最后一行查找word1字符串,并将该字符串替换为word2。且在替换前显示提示字符给用户确认是否需要替换 |
| 删除、复制与粘贴 | |
| x,X | 在一行字当中,x为向后删除一个字符,相当于【Del】;X为向前删除一个字符,相当于【Backspace】 |
| nx | n为数字,连续向后删除n个字符 |
| dd | 删除光标所在的那个一整行 |
| ndd | n为数字,删除光标所在的向下n行,eg. 20dd则是删除20行 |
| d1G | 删除光标所在到第一行的所有数据 |
| dG | 删除从光标所在到最后一行的所有数据 |
| d$ | 删除从光标所在到该行的最后一个字符 |
| d0 | 删除从光标所在到该行的最前面一个字符 |
| yy | 复制光标所在的那一行 |
| nyy | n为数字,复制光标所在的向下n行,eg. 20yy则是复制20行 |
| y1G | 复制光标所在行到第一行的所有数据 |
| yG | 复制光标所在行到最后一行的所有数据 |
| y0 | 复制光标所在处到该行行首的所有数据 |
| y$ | 复制光标所在处到该行行尾的所有数据 |
| p,P | p为将已复制的数据在光标下一行粘贴,P为粘贴在光标上一行。 |
| J | 将光标所在行与下一行的数据结合成同一行 |
| u | 复原前一个操作,即撤销 |
| 【Ctrl】+r | 重做上一个操作 |
2. 一般模式切换到命令行模式的可用的按钮说明
| :w | 将编辑的数据写入硬盘文件中 |
| :w! | 若文件属性为“只读”时,强制写入该文件。不过到底能不能写入,还是跟你对该文件的文件权限有关 |
| :q | 离开vi |
| :q! | 若曾修改过文件,又不想存储,使用“!”为不保存文件强制离开 |
| :wq | 保存后离开,若为“:wq!”则为强制保存后离开 |
| ZZ | 若文件没有更动,则不保存离开;若文件已被更动过,则保存后离开 |
| :w[filename] | 将编辑的数据保存成另一个文件 |
| :r[filename] | 在编辑的数据中,读入另一个文件的数据,即将“filename”这个文件内容加到光标所在行后面 |
| :n1,n2 w[filename] | 将n1到n2的内容保存成filename这个文件 |
Linux之vim按键的更多相关文章
- Linux学习之CentOS(二十)------vi/vim 按键说明
vi/vim 按键说明 除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以使用. 第一部份:一般模式可用的光标移动.复制粘贴.搜索替换等 移动光标的方法 h 或 向左 ...
- -Git Linux vi/vim 命令 按键 MD
目录 目录 Linux vi/vim 简介 vi/vim 的使用 命令模式 输入模式 底线命令模式 vi/vim 使用实例 使用 vi/vim 进入一般模式 按下 i 进入输入模式,开始编辑文字 按下 ...
- Linux vi/vim(转载)
Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主 ...
- Linux vi/vim
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正 ...
- vi/vim 按键说明
转自:http://www.runoob.com/linux/linux-vim.html vi/vim 按键说明 除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以 ...
- Linux之Vim学习
Linux之Vim学习 一般模式 光标移动 按键 作用 j或down方向键 向下移动一个字符 k或up方向键 向上移动一个字符 h或left方向键 向左移动一个字符 l或right方向键 向右移动一个 ...
- Linux Vi/Vim 的使用及实例
什么是 vim? Vim是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用. 简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是 ...
- Linux 磁盘管理,Linux vi/vim
一.Linux 磁盘管理 Linux磁盘管理好坏直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 ...
- 20145234黄斐《信息安全系统设计基础》第八周(Linux下vim相关命令)
Linux下vim相关命令 在编辑程序时经常使用vim,所以记住一些常用的指令还是很有必要的 文件命令 vim file 打开单个文件vim file vim file1 file2 file3 .. ...
随机推荐
- mysql 安装相关
Mysql 是基于C/S端的管理文件的服务器软件. Mysql简单分为两个软件:1服务器软件 2客户端软件 对于服务器软件中的socket服务器是一只开着的,客户端需要连接,并且还有创建文件删除文件等 ...
- python正则之match search findall
match:只匹配一次,开头匹配不上,则不继续匹配 a,b,\w+ match(a,"abcdef") 匹配a >>> re.match("a" ...
- C# 使用 MsieJavaScriptEngine 引擎运行JavaScript
用这个东西实现了一个js脚本引擎代码生成器,调研的时候这个东西的资料比较少. 我就根据自己的这点应用来讲解讲解,有错误,不符的地方还请园友指出. 使用 Nuget 安装 MsieJavaScriptE ...
- Python深度学习读书笔记-2.初识神经网络
MNIST 数据集 包含60 000 张训练图像和10 000 张测试图像,由美国国家标准与技术研究院(National Institute of Standards and Technology,即 ...
- 【洛谷P2016战略游戏】
树形dp的经典例题 题目描述 Bob喜欢玩电脑游戏,特别是战略游戏.但是他经常无法找到快速玩过游戏的办法.现在他有个问题. 他要建立一个古城堡,城堡中的路形成一棵树.他要在这棵树的结点上放置最少数目的 ...
- C# 读写App.config 配置文件
先要添加引用:System.Configuration //using System.Configuration; if (System.IO.File.Exists(AppDomain.Curren ...
- Jmeter之仅一次控制器
在进行压测时,往往登录只需要一次,其他的接口需要循环测试.这里就会用到控制器中的仅一次控制器.只要放置在控制器的请求,不管在哪种情况下,都只执行一次. 1.名称:可以标识在该控制器下主要完成的 工作内 ...
- USB转换PS2接线原理
https://blog.csdn.net/dfyy88/article/details/4540170 USB转换PS2接线原理 2009年09月10日 18:36:00 阅读数:13285 USB ...
- 来自数据源的 String 类型的给定值不能转换为指定目标列的类型 nvarchar
.TrimEnd() 怀疑是否SqlBulkCopy是否存在某种bug,故而在系统中改写代码,用单个sql的插入数据方式,用循环逐条导入.结果是没问题.难道真的是SqlBulkCopy有某种bug?上 ...
- 通俗易懂的理解 Redux(知乎)
1. React有props和state: props意味着父级分发下来的属性[父组件的state传递给子组件 子组件使用props获取],state意味着组件内部可以自行管理的状态,并且整个Rea ...