Linux中的代码编辑器vim
Vim的三种工作模式
- 命令行模式
- 插入模式
- 底行模式
Vim 的命令行模式
命令行模式是进入vim后的初始模式,在该模式下主要是使用方向键来移动光标的位置,并通过相应的命令来进行文字的编辑。
切换方法:
在插入模式下按Esc键,或是在底行模式下按Esc键,或是在底行模式下执行了错误的命令,vim都会自动回到命令行模式。
命令行模式中常用的操作命令
移动光标的常用命令
命令 操作说明 h 向左移动光标 l 向右移动光标 j 向下移动光标 k 向上移动光标 ^ 将光标移动到该行的开头(指第一个非空字符上) $ 将光标移动到该行行尾,与键盘上的End间功能相同 0 将光标移动到该行行首,与键盘上的home键功能相同 G 将光标移动到文档最后一行的开头(第一个非空字符) nG 将光标移动到文档的第n行的开头(第一个非空字符) g 将光标移动到文档的第1行的开头(第一个非空字符) w 将光标向后移动一个字(单词) nw 将光标向后移动n个字(单词),n为正整数 b 将光标向前移动一个字(单词) nb 将光标向前移动n个字(单词),n为正整数 e 将光标移动到本单词的最后一个字符,如果光标所在的位置为本单词的最后一个字符,则跳到下一个单词的最后一个字符 { 将光标移动到前面的“{”处,C语言编程时很实用 } 将光标移动到后面的“}”处 Ctrl + b 向上翻一页,相当于Page Up Ctrl + f 向下翻一页,相当于Page Down Ctrl + u 向上移动半页 Ctrl + d 向下移动半页 Ctrl + e 向下翻一行 Ctrl + y 向上翻一行 复制粘贴的常用命令
命令 操作说明 yy 复制光标所在行的整行内容 yw 复制光标所在单词的内容 nyy 复制从光标所在行开始 向下的n行内容,n为正整数,表示复制的行数 nyw 复制从光标所在的字开始向后的n个字,n为正整数,表示复制的字数 p 粘贴,将复制的内容粘贴在光标所在的位置 删除文本的常用命令
命令 操作说明 x 删除光标所在位置的字符,同键盘上的Delete键 X 删除光标所在位置前的一个字符 nx 删除光标所在位置及其之后的n-1个字符,n为正整数 nX 删除光标所在位置及其之前的n-1个字符,n为正整数 dw 删除光标所在位置的单词 ndw 删除光标所在位置及其之后的n-1个单词,n为正整数 d0 删除当前行光标所在位置之前的所有字符 d$ 删除当前行光标所在位置之后的所有字符 dd 删除光标所在行 ndd 删除光标所在行及其向下的n-1行,n为正整数 nd + 上方向键 删除光标所在行及其向上的n行,n为正整数 nd + 下方向键 删除光标所在行及其向下的n行,n为正整数 其他常用命令
命令 操作说明 r 替换光标坐在位置的字符,例如 rx 是指将光标所在位置的字符替换为x R 替换光标所到之处的字符,直到按下Esc键为止 u 表示恢复功能,即撤销上一次操作 U 取消对当前行所做的所有改变 . 重复执行上一次的命令 ZZ 保存文档后退出vim编辑器 % 符号匹配功能,在编辑时若输入“%(”,系统会自动匹配相应的“)”
Vim 的插入模式
命令行模式切换至插入模式的命令
命令 | 操作说明 |
---|---|
i | 从光标所在位置开始插入新的字符 |
I | 从光标所在行的行首开始插入新的字符 |
a | 从光标所在位置的下一个字符开始插入新的输入字符 |
A | 从光标所在行的行尾开始插入新的字符 |
o | 新增加一行,并将光标移动到下一行的开头,并在此开始插入字符 |
O | 在当前行的上面新增加一行,并将光标移动到上一行的开头,并在此开始插入字符 |
Vim的底行模式
在命令行模式下输入冒号“:”,或者是使用“?” 和 “/”键,就可以进入底行模式了。
底行模式下的常用命令
命令 | 操作说明 |
---|---|
q | 退出vim程序,如果对文件进行过修改,则必须先保存文件 |
q! | 强制退出vim而不保存文件 |
x | (exit) 保存文件并退出vim |
x! | 强制保存文件并退出vim |
w | (write) 保存文件,但不退出vim |
w! | 对于只读文件,强制保存修改的内容,但不退出vim |
wq | 保存文件并推出vim, 同x |
Linux中的代码编辑器vim的更多相关文章
- Linux常用命令——文本编辑器Vim
Linux常用命令--文本编辑器Vim Linux Vim常用操作 插入命令 a 在光标所在字符后插入 A 在光标所在行尾插入 i 在光标所在字符前插入 I 在光标所在行首插入 o 在光标下插入新行 ...
- 本机修改虚拟机linux中的代码文件
最近在研究swoole这个框架,好不容易装了一个swoole,为了开发方面,需要早宿主机和虚拟机之间文件共享,一开始使用vmware tool可以实现共享,但是只能在linux中看到win共享的文件, ...
- 自学Linux Shell10.1-使用编辑器vim
点击返回 自学Linux命令行与Shell脚本之路 10.1-使用编辑器vim 所有的 Unix系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在.但是目前我们使用比较多的是 vim 编辑 ...
- Linux中 SonarQube代码质量管理平台以及C++插件安装
SonarQube是管理代码质量一个开源平台,可以快速的定位代码中潜在的或者明显的错误. SonarQube安装 1.环境准备 (1)sonarQube 下载地址https://www.sonarqu ...
- linux中的vi编辑器(一)
1.在linux中如果两个用户都在打开一个文件进行编辑,那么文件最后将以最后保存的版本为主. 2.vi仅仅是一个文本编辑器,相当于windows中的记事本,vi的工作模式, 命令模式:在该模式下,在键 ...
- 【Linux】中默认文本编辑器 vim 的入门与进阶
Linux 基本操作 vim 篇 vim 简介 vim 是 Linux 上最基本的文本编辑工具,其地位像是 Windows 自带的记事本工具,还要少数的 Linux 系统自带 leafpad 编辑器, ...
- linux 学习5 文本编辑器 vim
vim 没有菜单,只有命令 //root用户既可以用vi,也可以用vim, 无实质性区别,vim是vi的升级版//粘贴用shift+insert , 要在insert模式下粘贴,否则粘贴不全// ^ ...
- LINUX中,Vi编辑器的几种模式及保存、退出等命令
vi编辑器有三种模式: 命令模式,编辑模式,末行模式 打开vi后首先是命令模式,用i,o,a等进入编辑模式,按esc退出编辑模式,回到命令模式. 在命令模式下输入:wq表示保存退出,:wq!强制保存退 ...
- Linux中 SonarQube代码质量管理平台安装
SonarQube是管理代码质量一个开源平台,可以快速的定位代码中潜在的或者明显的错误. SonarQube安装 1.环境准备 (1)sonarQube 下载地址https://www.sonarqu ...
随机推荐
- tomcat多站点部署
我们可能会有这种场景,一个tomcat想部署两个web工程,说白了就是公用一个端口,那怎么办呢?就是多站点部署,具体步骤如下(这里以linux平台举例): 1)先修改server.xml(conf/s ...
- Objective-C #define 用法解析 (转)
原文地址: http://blog.csdn.net/kindazrael/article/details/8108868 Objective-C : #define 用法解析 在 C 语言中,预处理 ...
- 1064. 计算斐波那契第n项 通项公式
题目描述 输入n,编写程序输出斐波那契数列的第n项.其中斐波那契数列f(n)的定义如下: f(1)=0,f(2)=1 f(n)=f(n-1)+f(n-2)(n>=2) 输入 一行 ...
- java技术小白的入门
一.入门书籍 1,疯狂java讲义 2,java编程思想 3,Maven权威指南 4,Spring 3.0就是这么简单 5,Spring技术内幕 6,Spring实战 7,Maven实战 二.入门业务 ...
- bai_du 采集代码(已过期)
<?php $url = "http://www.baidu.com/s?wd=site:www.xxxxxx.com+inurl:hot&tn=baidulaonian&am ...
- pcp分布式监控工具
已经集成在redhat6.x版本里 http://pcp.io
- DOM对象和js对象以及jQuery对象的区别
DOM对象和js对象以及jQuery对象的区别 DOM对象和js对象以及jQuery对象的区别 一.DOM对象 文档对象模型简称DOM,是W3C组织推荐的处理可扩展置标语言的标准编程接口. DOM实际 ...
- DB2安装教程图解
下载好之后,是exe文件,但是双击后基本上都是解压,但是使用自身的解压的话会有很多文件解压失败的情况,所以推荐使用自己电脑上自带的解压工具直接解压(如360解压,好压等). 解压之后直接运行setup ...
- bootstrap-table 数据表格行内修改
bootstrap-table 数据行内修改js中设置列的属性 editable : { type : 'text',//数据显示在文本框内 emptytext : "--",// ...
- 拼接sql语句时拼接空字符串报sql错误
先上代码(php): $id_card=""; $sql = "select * from people where id_card=".$id_card; 看 ...