linux/linux学习笔记-vim文本编辑器(mooc)
vim文本编辑器
vim与vi的区别:( vim=vi +IMproved)
VIM是一个Unix以及类unix文本编辑器
特点:功能强大,高度可定制
vim编辑器的三种模式:一般模式、编辑模式和命令行模式。
【1】一般模式中可以进行删除、复制和粘贴的功能,但是无法编辑文件内容
【2】一般模式切换到编辑模式可以按下i、I、o、O、a、A、r、R键。按下Esc键可以回到一般模式
【3】一般模式中输入:、/、?三个中的任意一个可以将光标移到最下面的一行
注:编辑模式与命令行模式之间是不能互相切换的。
vim使用
移动光标的方法:
//移动光标的方法:
[Ctrl]+[f]:屏幕向下移动一页,相当于[PageDown]按键。 [Ctrl]+[b]:屏幕向上移动一页,相当于[PageUp]按键。 0或功能键[Home]:移动到这一行的最前面字符处。 $或功能键[End]:移动到这一行的最后面字符处。 G:移动到这个文件的最后一行。 gg:移动到这个文件的第一行,相当于1G. N[Enter]:N为数字,光标向下移动N行。 //eg: 2[Enter]光标下移2行
查找和替换:
/word:向下寻找一个名称为word的字符串。 ?word:向上寻找一个名称为word的字符串。 :n1,n2s/word1/word2/g:在第n1行和n2行之间寻找word1这个字符串,并且将其替换为word2. 如:[:2,3s/abc/def/g] //在第2和第3行间查找,将abc替换为def :,$s/word1/word2/g:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2. :,$s/word1/word2/gc:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2.且在替换前显示提示字符给用户确认是否需要替换。
//一个一个提示是否需要替换
删除、复制和粘贴:
x,X:在一行字中,x为向后删除一个字符(相当于[Del]键),X为向前删除一个字符(相当于[Backspace])。 dd:删除光标所在的一整行。 ndd:删除光标所在的向下n行。//eg: 2dd:向下删除2行 yy:复制光标所在的一行。 nyy:复制光标所在的向下n行。 p,P:p为将已复制的内容在光标的下一行粘贴,P则为粘贴在光标的上一行。 u:复原前一个操作。 [Ctrl]+r:重做上一个操作。 .:小数点,重复前一个操作。
一般模式切换到编辑模式
i,I:进入插入模式,i为从目前光标所在处插入。I为在目前所在行的第一个非空格字符处开始插入。 a,A:进入插入模式。a为从目前光标所在处的下一个字符处开始插入。A为从所在行的最后一个字符处开始插入。 o,O:进入插入模式。o为在下一行插入。O为在上一行插入。 r,R:进入替换模式。r只替换光标所在那个字符一次。R会一直替换光标所在字符,直到按下Esc键。
一般模式切换到命令行
:w:将编辑的数据写入到硬盘中。 :q:离开vi.后面加!为强制离开。 :wq:保存后离开。:wq!为强制保存后离开。
vimrc配置:
rc=run command
系统级vimrc和用户级vimrc
每一行作为一个命令执行
vimrc使用:
vim test.txt :-h vimrc //查看vimrc帮助文档 :version //查看版本信息 注释以''单引号方式注释 :set all "显示目前所有的环境参数设定值
:set hlsearch "高亮度反白(高亮度搜寻)
:set nohlsearch "取消高亮度反白(高亮度搜寻)
:set backspace=2 "在编辑的时候可随时用退格键删除 (0、1的时候,只针对刚输入的字符有效)
:set autoindent "自动缩排
:set noautoindent "取消自动缩排
:set ruler "可显示最后一行的状态
:set showmode "左下角那一行的状态
:set nu "显示行号
:set nonu "取消行号
:set bg=dark "显示不同的底色色调
:syntax on "进行语法检验,颜色显示
:syntax off "关闭语法检验
vim不同模式:
基础入门:
vim寄存器
增查删改常规操作
vim组合规律
高级功能:
缓冲区与多文件编辑
多窗口与标签分组
文本对象与宏
Visual模式
linux/linux学习笔记-vim文本编辑器(mooc)的更多相关文章
- Linux学习笔记—vim程序编辑器
vi和vim vim是vi的升级版,支持vi的所有指令 vi的使用 vi分为三种模式:一般模式.编辑模式.命令行模式 一般模式 以vi打开一个文件就直接进入一般模式了,这个模式下可以使用上下左右按键来 ...
- Linux学习笔记(九)Vim文本编辑器的使用
Vim文本编辑器的使用 Vim的工作模式 1.命令模式 2.输入模式 3.编辑模式 进入Vim 1.使用Vim打开文件 2.直接进入指定位置 Vim基本命令 1.插入命令 2.光标移动命令 3.使用V ...
- Linux命令行下的vim文本编辑器
Linux命令行下的vim文本编辑器 下面这个网站的地址讲解的非成分清楚!!!! http://blog.csdn.net/niushuai666/article/details/7275406 学习 ...
- Linux学习笔记(四) vi编辑器
一.vi 编辑器 vi 编辑器 (Visual Interface) 是所有 Unix 及 Linux 系统下标准的编辑器,相当于 Windows 系统中的记事本 它有三种模式,分别是: Comman ...
- Linux系统 vi/vim文本编辑器
Linux系统 vi/vim文本编辑器 (一)Vim/Vi简介 (二)Vim/Vi工作模式 (三)Vim/Vi基本使用 (四)Vim/Vi应用技巧 (一)Vim/Vi简介 Vim/Vi是一个功能强大的 ...
- 尚硅谷韩顺平Linux教程学习笔记
目录 尚硅谷韩顺平Linux教程学习笔记 写在前面 虚拟机 Linux目录结构 远程登录Linux系统 vi和vim编辑器 关机.重启和用户登录注销 用户管理 实用指令 组管理和权限管理 定时任务调度 ...
- Linux继续学习笔记
本篇文章是慕课网<Linux达人养成计划2>笔记. 第一章 VIM文本编辑器 VI : Visual Interface (可视化接口) VIM: 在VI的基础上进行的升级,相比于VI有一 ...
- 命令工具 -(1)Vim 文本编辑器学习
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 前言 提起 Linux,大家都听说过这句话:Linux 一切皆文件. 配置一个服务就是在修改它 ...
- linux 驱动学习笔记01--Linux 内核的编译
由于用的学习材料是<linux设备驱动开发详解(第二版)>,所以linux驱动学习笔记大部分文字描述来自于这本书,学习笔记系列用于自己学习理解的一种查阅和复习方式. #make confi ...
随机推荐
- git常用的操作命令
设置git用户名/邮箱: $ git config user.name 'github用户名' $ git config user.email '邮箱' 从指定分支切换新分支: git checkou ...
- http.sys_DDos攻击(ms15-043)
远程执行代码漏洞存在于HTTP协议堆栈(HTTP.sys)中,当HTTP.sys未正确分析经特殊设计的HTTP请求时会导致该漏洞.该漏洞利用成功可使目标机器蓝屏. 微软官方说明: https://do ...
- 【HDU4034】Graph
题目大意:给定一个图的最短路,求原图中至少存在多少条边. 题解:利用 Floyd 的性质,枚举边 d[i][j],若存在一个不是两端点的点,使得 d[i][j]=d[i][k]+d[k][j] 成立, ...
- 【洛谷P1919】A*B Problem升级版
题目大意:rt 题解:将长度为 N 的大整数看作是一个 N-1 次的多项式,利用 FFT 计算多项式的卷积即可. 代码如下 #include <bits/stdc++.h> using n ...
- Vue props双向绑定
props是不能改变的 项目里遇到一个问题,就是props的组件内是不能改变,就像react中的props值也是不能改变的, 所以我在用的时候竟然忽略了这个点.真的要反省反省, 下面就是这个报错的问题 ...
- 【SpringBoot】spring-session-data-redis 解决集群环境下session共享
为什么会产生Session共享问题 集群情况下,session保存在各自的服务器的tomcat中,当分发地址至不同服务时,导致sesson取不到,就会产生session共享问题. 解决方案 负载均 ...
- gitlab docker中postgresql远程访问配置
1.配置postgresql远程访问 配置postgresql远程访问,需要修改两个文件,在gitlab-ce的docker中位置为 /var/opt/gitlab/postgresql/data 首 ...
- 015:URLs分层模块化
URLs分层模块化: 经过上面的14节课程,大伙有没有发现一个问题:那就是随着的项目功能模块越来越多,所有url匹配都写在一个urls.py文件中,其结果是:文件长,看着心累——需要分门别类:因此能不 ...
- LTM加速优化特性
TCP Express TCP Express 是 LTM 产品的一项重要特性. 借助 TCP Express,LTM 可分别为客户机端和服务器端创建独立的连接.这样一来,LTM 可以针对客户机连接和 ...
- js 数组 splice 函数 多线程
<script type="text/javascript"> var arr = new Array(6) arr[0] = "00" arr[1 ...