文本编辑器vim
Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最大的文本编辑器,它的作用是建立、编辑、显示文本文件。
Vim没有菜单,只有命令。
命令 | 作用 |
a | 在光标所在字符后插入 |
A | 在光标所在行尾插入 |
i | 在光标所在字符前插入 |
I | 在光标所在行行首插入 |
o | 在光标下插入新行 |
O | 在光标上插入新行 |
命令 | 作用 |
:set nu | 设置行号 |
:set nonu | 取消行号 |
gg | 到第一行 |
G | 到最后一行 |
nG | 到第n行 |
:n | 到第n行 |
$ | 移至行尾 |
0 | 移至行首 |
命令 | 作用 |
x | 删除光标所在处字符 |
nx | 删除光标所在后n个字符 |
dd | 删除光标所在行,ndd删除n行 |
dG | 删除光标所在行到文件行尾内容 |
D | 删除光标所在处到行尾内容 |
:n1,n2d | 删除指定范围的行 |
命令 | 作用 |
yy | 复制当前行 |
nyy | 复制当前行以下n行 |
dd | 剪切当前行 |
ndd | 剪切当前行以下n行 |
p、P | 粘贴在当前光标所在行下或行上 |
命令 | 作用 |
r | 取代光标所在处字符 |
R | 从光标所在处开始替换字符,按Esc结束 |
u | 取消上一步操作 |
命令 | 作用 |
:w | 保存修改 |
:w filename | 另存为指定文件 |
:wq | 保存修改并退出 |
ZZ | 快捷键,保存修改并退出 |
:q! | 不保存修改退出 |
:wq! | 保存修改并退出(文件所有者及root可使用) |
1.文本编译器 ASCII文件
vi的模式
编辑模式:键盘操作被解析为编辑命令
插入模式:文字输入
末行模式:vi的内置的命令接口,执行vi内置命令
2.编辑模式--》插入模式
i:在当前光标的所在处插入、
I:在当前光标的所在行首插入
a:在当前光标所在处的后面插入
A:在当前光标所在行的行尾插入
o:在光标所在行(新增)的下一行插入
O:在当前光标所在行(新增)的上一行插入
插入模式--》编辑模式
按[ESC]
编辑模式--》末行模式
:
末行模式--》编辑模式
ESC ESC
:q! 不保存退出
:wq 保存退出
:x 保存并退出
编辑模式 ZZ 保存退出
3.打开:可以一次打开多个文件
vi 文件名1 文件名2
在末行模式下输入next切换到下一个文件,输入prev切换到上一个文件,输入first切换到第一个文件,输入last切换;到最后一个文件
分割窗口打开多个文件
-O:水平分割
Ctrl+w,上下箭头
-o:垂直分割
Ctrl+w,左右箭头
vi +num 文件名 光标在第num行
vi + 文件名 光标在末尾行
4.编辑操作(编辑模式下)
.光标移动
单字符移动
H左 L右 J下 K上
可以和数字组合进行多个移动
单词间移动
w:跳至下一个单词的词
首
b:当前或前一个词首
e:当前或下一个词尾
行内移动
0:绝对行首
^:第一个非空白字符
$:绝对行尾
句间移动
(
)
段间移动
{
}
行间移动
num+g
G:最后一行
1G:第一行
x:删除光标所在处的字符
num+x:删除光标所在处开始向后的num个字符
dd:删除光标所在处的一行
num+dd:删除光标所在处向后的num行
r:替换光标所在处的字符
yw:复制光标所在处到行尾的字符
num+yw:复制num个字
yy:复制光标所在行
num+yy:复制num行
p:粘贴
5.末行模式:范围定界
设置行号:set nu
取消行号:set nonu
跳转至某一行:num
查找:/查找单词
?查找字符
替换字符
s/a/b 将光标所在行的第一个a替换成b
s/a/b/g 将光标所在行的所有a替换成b
start,end:例:1,10
.:表示当前行
$:最后一行
c:替换
1)导入命令执行结果:r!命令
2)定义快捷键:map 快捷键 触发命令
例:map ^P I#<ESC>
map ^B 0x
3)连续行注释 :n1,n2s/^/#/g
:n1,n2s/^/#//g
:n1,n2s/^/\/\//g
4)替换
:ab mymail 123456@qq.com
文本编辑器vim的更多相关文章
- Linux系列教程(十)——Linux文本编辑器vim
通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...
- Linux常用命令——文本编辑器Vim
Linux常用命令--文本编辑器Vim Linux Vim常用操作 插入命令 a 在光标所在字符后插入 A 在光标所在行尾插入 i 在光标所在字符前插入 I 在光标所在行首插入 o 在光标下插入新行 ...
- Linux文本编辑器vim
目录 1.vim 的工作模式 2.插入命令 3.定位命令 4.删除命令 5.复制和剪切命令 6.替换和取消命令 7.搜索和搜索替换命令 8.保存和退出命令 9.vim 高级操作 10.总结 通过前面几 ...
- LINUX文件内容处理及文本编辑器vim
Linux基本操作命令 echo命令 echo命令: 把echo后面的内容显示到屏幕. -n 显示内容的时候不显示每行结尾的回车 echo 内容 >> 文件名 表示把内容加到一个文件的末尾 ...
- 文本编辑器vim和gedit
vim和gedit都是文本编辑器 vim用法: vim 文件名 #打开文件 输入 i,进入文本编辑模式,编辑完再按ESC,退出编辑模式,再输:wq,保存退出:如果输:q!则是不保存退出,很简单.. 如 ...
- Linux基础学习(5)--文本编辑器Vim
第五章——文本编辑器Vim 一. Vim常用操作 1.Vim简介: Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立.编辑. ...
- Linux 文本编辑器 vim
第五讲 文本编辑器 vim
- Linux文本文件——文本编辑器Vim
Linux文本文件——文本编辑器Vim 摘要:本文主要学习在Linux系统中使用Vim文本编辑器编辑文本. 什么是Vim Vim是一个基于文本界面的编辑工具,使用简单且功能强大.更重要的是,Vim是所 ...
- 第4章 文本编辑器vim
1. vim常用操作 1.1 vim简介 (1)vim是一个功能强大的全屏幕文本编辑器,是Linux/Unix上最常用的文本编辑器,它的作用是建立.编辑.显示文本文件. (2)vim没有菜单,只有命令 ...
- 文本编辑器VIM/VI
vim/vi 功能强大全屏文本编辑器.主要是建立,编辑,显示文本. www.vim.org 构建shell脚本 :set number 使文件出现行号 a 光标后附件文件 i在光标前插入文 ...
随机推荐
- ajax接触
1. function doSave() { ajax_get("${contextPath}/auth/functionsave", $("#editForm" ...
- Java 集合系列 14 hashCode
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Hadoop常见错误及处理方法
1.Hadoop-root-datanode-master.log 中有如下错误: ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: jav ...
- java作业——整数相加
设计思路:由于命令行参数都是字符串,所以解决问题的关键在于字符串和整数之间的转化.首先定义数组,让所要相加的数组成一个数组,然后实现数组的字符串转化为整数,最后相加输出就行了. 程序流程图: 源代码: ...
- 个人收集的一些网页上一键云DDOS攻击的网站、IP地址测试,服务器压力测试
http://bbs.itzmx.com/thread-9018-1-1.html #1 - Network Stresser - http://networkstresser.com#2 - Lif ...
- eclipse-mysql-tomcat搭建jspk开发环境
...本来不想写,刚刚给女朋友又安了一次发现几乎忘了,还是记一下吧.. 1.默认安装好jdk以及eclipse或相关ide. 2.检查jdk环境变量是否配置成功:cmd下输入 java -versio ...
- RHEL 5 安装phpqrcode生成二维码
VMWARE中全新安装(默认)RHEL. 之后,yum 安装备apache/php 下载并上传phpqrcode 1.1.4版本,并将其解压至/var/www/html/phpqrcode (去掉ip ...
- 一模 (2) day2
第一题: 题目大意:给出n种物品和每种物品的件数,求拿k件的方案数.N<=30 解题过程: 1.一开始总想着是组合数学的模型,结果怎么都想不出来..然后写了个爆搜,数据很弱,只有1个点超时. 2 ...
- Drag+Drop和MouseClick
项目中的一个树形结节,既要响应拖拽事件.又要响应点击事件.实现的时候没多想,依次实现了tree_MouseClick.tree_MouseDown.tree_MouseMove事件.出现的Bug是,偶 ...
- CodeForces 546B-Soldier and Badges
题意: 给出一些数字,要求每个数字都不一样需要增加几 思路: 先排序,然后一个个增加,最后求总和差 代码如下: #include <iostream> #include <cstdi ...