linux文本编辑器-VIM基本使用方法
vim [OPTION]... FILE...
+/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首
vim + file 直接打开file,光标在最后一行
三种主要模式:
命令模式:移动光标,剪切粘贴等
插入模式:编辑,修改文本
扩展模式:保存退出等
模式转换:
a 在光标后插入内容
A 在光标所在行末尾插入内容
i 从当前光标前插入内容
I 在光标所在行行首插入内容
o 在当前光标下插入空行
O 在当前光标上插入空行
插入模式-->命令模式 esc
命令模式-->扩展模式 :、?、/
扩展模式-->命令模式 esc
vim的打开与退出:
vim file 若file存在则打开file,若file不存在则新建file
命令模式光标跳转:
字间跳转:
h: 左 、 l: 右 、 j: 下 、 k: 上 (支持上下左右键)
单词间跳转:
w :下一个单词的词首
e :当前或下一单词的词尾
b :当前或前一个单词的词首
行内的跳转:
Home ^ 将光标跳转到本行的行首
End $ 将光标跳转到本行的行尾
0 跳转到绝对行首
行间的跳转: (#代表任意数字)
1G=gg 跳转到文件的首行
G 跳转到文件的尾行
#G 跳转到文件的#行(命令模式)
:# 跳转到文件的#行(末行模式)
句间移动:
) :下一句 ( :上一句
段落间移动:
}: 下一段 {:上一段
当前页跳转:
H:页首、 M:页中、 L:页低
翻页移动:
PgDn Ctrl+f 向下翻一页
PgUp Ctrl+b 向上翻一页
扩展模式基本操作:
:q 退出
:q! 强制退出
:w 保存
:wq 保存退出 = ZZ = :x
:X 加密
:wq! 强制保存退出
:! 命令 在vim中执行外面命令
:e file 编辑file
:w file 将当前文件另存为file
:r file 读入file文件的内容
$$yyzOv8eO$a0q8BUF80SGcJTy8hx0hy/ :r!openssl passwd - ##扩展模式使用外面命令生成加密字符串读入到文件中
命令模式字符编辑:
x 删除光标处的字符;
#x 删除光标处起始的# 个字符
xp 交换光标所在处的字符及其后面字符的位置
~ 转换大小写
r 替换光标所在处的字符
R 进入替换模式
d 删除命令,可结合光标跳转字符,实现范围删除;
d$ 删除到行尾
d^ 删除到非空行首
d0 删除到行首
dd 删除光标所在行
#dd 删除#行
dG 删到尾行
dgg 删到首行
yy 复制当前光标所在行,(支持y$、y0、y^等)
#yy 复制当前光标向下#行
p 粘贴
c 修改,(支持y$、y0、y^等)
J 合并当前行和下一行
u 取消最近一次的操作,能多次使用
U 取消当前行所有的操作
ctrl+r 对使用u命令撤销操作进行恢复
. 重复前一个操作
n. 重复前一个操作n次
扩展模式地址定界:
:2,+3 表示2到5行
:. 点表示当前行
:$ 表示最后一行
:% 表示全文,相当于1,$
/p1,/p2 第一次被p1匹配到的行到第一次被p2匹配到的行
扩展模式字符串查找:
/world 从上向下查找world
?world 从下向上查找world
n 定位下一个匹配的字串
N 定位上一个匹配的字串
扩展模式字符串替换:
:s/old/new 将当前行中查找到的第一个字符“old” 串替换为“new”
:s/old/new/g 将当前行中查找到的所有字符串“old” 替换为“new”
:#,#s/old/new/g 在行号“#,#”范围内替换所有的字符串“old”为“new”
:%s/old/new/g 在整个文件范围内替换所有的字符串“old”为“new”
:s/old/new/c 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认
:%s/^\s*//g 删除行首空格
:g/^$/d 删除空行
:5,10s/^/#/g 在5到10行行首插入#号注释
可视话模式:
允许选择的文本块,可代替鼠标。突出显示的文字可以被删除,复制,变更,过滤,搜索/替换等
v面向字符
V面向行
ctrl-v 面向块
多文件模式:
vim file1 file2 file3 ...
:next 下一个
:prev 前一个
:first 第一个
:last 最后一个
:wall 保存所有
:qall 退出所有
:wqall
多文件窗口:
vim -o file1 file2 ...
-o 水平分割
-O 垂直分割
窗口间切换:ctrl+w
单文件窗口:
Ctrl+w,s: split, 水平分割
Ctrl+w,v: vertical, 垂直分割
ctrl+w,q :取消相邻窗口
ctrl+w,o: 取消全部窗口
: wqall 退出
定制vim工作特性:
配置文件:
全局:/etc/vimrc
个人:~/.vimrc
1、行号:
永久修改:
在/root/.vimrc文件中添加
set nu
:set nonu 去掉行号
临时显示行号:(扩展模式)
:set nu 显示行号
:set nonu 不显示行号
2、括号成对匹配:
匹配:set sm
取消:set nosm
3、自动缩进:
启用:set ai
禁用:set noai
4、高亮搜索:
启用:set hlsearch
禁用:set nohlsearch
5、语法高亮:
启用:syntax on
禁用:syntax off
6、忽略字符的大小写
启用:set ic
不忽略:set noic
7、文件格式:
启用: fileformat=unix
不忽略: fileformat=dos
8、设置文本宽度
:set textwidth=65 (vim only)
:set wrapmargin=15
vim的寄存器:
有26个命名寄存器和1个无命名寄存器,常存放不同的剪贴版内容,可以不同会话间共享。
有10个数字寄存器,用0,1,…,9表示,0存放最近复制内容,1存放最近删除内容。当新的文本变更和删除时,1转存到2,2转存到3,以此类推。数字寄存器不能在不同会话间共享。
linux文本编辑器-VIM基本使用方法的更多相关文章
- Linux系列教程(十)——Linux文本编辑器vim
通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...
- Linux文本编辑器vim
目录 1.vim 的工作模式 2.插入命令 3.定位命令 4.删除命令 5.复制和剪切命令 6.替换和取消命令 7.搜索和搜索替换命令 8.保存和退出命令 9.vim 高级操作 10.总结 通过前面几 ...
- Linux 文本编辑器 vim
第五讲 文本编辑器 vim
- linux文本编辑器vim大全
linux基础之vim编辑器 1.vim编辑器 基本介绍 vim编辑器的前身叫做vi.vi的英文名:Visual Interface.中文解释文本编辑器,你不应该用他去打开二进制可执行文件 文本编辑 ...
- 10.18.1 linux文本编辑器vim
vi和vim的区别 编辑一个文本时,vi不会显示颜色,而vim会显示颜色,vi 有点类似windows记事本,简单,那么就是vim复杂编辑器,功能复杂,高亮,自动缩进(写shell/python脚本用 ...
- Linux学习总结(19)——Linux中文本编辑器vim特殊使用方法
1. vim比对功能 在linux的环境下 用于观察两个文件的一致性的时候我们一般用diff这个命令来比对,但是这个命令不能你特别详细的比对出 具体的位置或者行对比.这里就用到了vim的对比功能 vi ...
- Linux | 文本编辑器vim
vim 编辑器介绍 vim 编辑器是一款非常棒的文本处理工具,它会默认安装在当前所有的 Linux 操作系统上面. vim 编辑器中设置了三种模式,可以极大的提高我们的工作效率: 命令模式:控制光标移 ...
- linux 文本编辑器 vim 基本操作
三种模式之间转换: 一般模式 可用于光标移动.复制粘贴.查找替换 "vim.txt"表示文件名 8L 表示8行 , 80C 表示80个字符 移动光标常用操作: h .j. k. l ...
- linux文本编辑器vim详解
vim 1.打开文件 vim [option] - file... 打开文件 +# 打开文件后,让光标处于第#行的行首 +/字符串 打开文件后,光标处于第一个被匹配到字符串的行首 -b file 二进 ...
随机推荐
- 网络应用(6):http报文结构与curl的使用
http是一个协议,协议就是约定.规定,先不管为什么这么约定有什么高深的东西,为了解决具体问题,我们先要能使用协议,理解协议中对我们有用的那部分数据,是的,我们不是研究生,更不是纯研究,所有的研究都要 ...
- zoj2901【DP·二进制优化】
题意: 要排一个L长度的序列,当 j 放在 i 后面的时候会增加v[ i ][ j ]的值,求构成L长度序列的最大值. 思路: 可以想到预处理任意两点<i,j>的最大值是多少,然后题目还有 ...
- 3DMAX可编辑多边形常用命令-桥
桥命令可以连接连个面 下图两个cube(可编辑多边形)已经被附加到一起,选中相对的两个面,点击桥 结果
- poj3164(最小树形图&朱刘算法模板)
题目链接:http://poj.org/problem?id=3164 题意:第一行为n, m,接下来n行为n个点的二维坐标, 再接下来m行每行输入两个数u, v,表点u到点v是单向可达的,求这个有向 ...
- duliu——思维+线段树
题目 [题目描述]小 `D` 喜欢出毒瘤题毒人.当然,他的毒瘤更多体现在若干个难题组合在同一场比赛时.小 `D` 脑中有 $n$ 个毒瘤题 idea,第 $i$ 个的毒值为$d_i$.当第 $i$ 个 ...
- IT兄弟连 Java语法教程 Java开发环境 JVM、JRE、JDK
要想开发Java程序,就需要知道什么是JVM.JRE以及JDK.JVM是运行Java程序的核心,JRE是支持Java程序运行的环境,而JDK是Java开发的核心,下面我们分别具体介绍它们以及它们之间的 ...
- 第六章 “我要点爆”微信小程序云开发实例之爆文详情页制作
爆文详情页制作 从首页中数据列表打开相应详情页面的方法: 给数据列表中每个数据项加一个点击事件,同时将当前数据项的id暂时记录在本地,然后跳转到详情页面detail goopen: function ...
- Codeforces 163C(实数环上的差分计数)
要点 都在注释里了 #include <cstdio> #include <cstring> #include <iostream> #include <al ...
- [NWPU2016][寒假作业][正常版第三组]I
素数环,简单的dfs,但这道题我有个小地方写错了半天发现不了..就是flag数组的位置.一定要放在if里面,刚开始没注意,一不小心写到外面了. #include <iostream> #i ...
- 如何使用在Windows 下AspNetCore Api 和 consul
在Windows 下如何使用 AspNetCore Api 和 consul https://blog.csdn.net/sD7O95O/article/details/80750803 一.概念:什 ...