文本编辑器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在光标前插入文 ...
随机推荐
- HTML5自学笔记[ 12 ]canvas绘图小示例之鼠标画线
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 6/3 Sprint2 看板和燃尽图
- (22)odoo 安装旧模块报错处理
一些老版本的模块没有得到升级,所以经常碰到模块无法安装的问题. No module name osv 将模块的 from osv import osv,fields 改为 from openerp.o ...
- JavaScript实现数组转置
//数组转置 var arr=[[2,5,6,8],[8,5,6,9],[9,6,2,1]] ; var arrNew=[];//定义一个新数组 for(var i=0;i<arr[ ...
- java 多线程——quartz 定时调度的例子
java 多线程 目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 java 多线程——quartz 定时调度的例子 ...
- bzoj2458: [BeiJing2011]最小三角形(分治+几何)
题目链接:bzoj2458: [BeiJing2011]最小三角形 学习推荐博客:分治法编程问题之最接近点对问题的算法分析 题解:先将所有点按x值排列,然后每次将当前区间[l,r]分成左右两半递归求解 ...
- 转载css层级优先级。
解读CSS样式优先级(修改门户自定义样式必读) 一.什么是CSS优先级?所谓CSS优先级,即是指CSS样式在浏览器中被解析的先后顺序.当同一个元素(或内容)被多个CSS选择符选中时,就要按照优先权取舍 ...
- mvc+ef+oracle环境中报错:ORA-00001: 违反唯一约束条件
分析原因: 在oracle中,主健不能自动生成,不过可以通过“序列”来实现,如果是这样的话,问题很可能就出在“序列”上了: ORACLE表主键ID突然从已经存在的ID值开始自动生成,导致违反主键唯一性 ...
- jupyter
Pip install jupyter To run: jupyter notebook 基本操作 执行当前cell,并自动跳到下一个cell:Shift Enter 执行当前cell,执 ...
- 如何创建一个客户端回调:js获得服务端的内容?
答案:表面上看去就是前端的js调用服务的C#方法,本质就是ajax,通过XMLHttpRequest对象和服务端进行交互.回调:就说回过头来调用,按理说js是一种脚本语言,怎么能用来调用服务端的呢?就 ...