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 二进 ...
随机推荐
- 51nod1255【贪心-栈的应用】
思路: 大体可以看到:大的越后面越好,但是首先要保证如果他对于一个比他小的字符后面存在他. 主要操作就是利用栈,每次对栈里的元素询问是否比他大,且他的后面还存在. #include<bits/s ...
- Widows下Faster R-CNN的MATALB配置(GPU)
目录 1. 准备工作 2. VS2013编译Caffe 3. Faster R-CNN的MATLAB源码测试 说在前面,这篇是关于Windows下Faster R-CNN的MATLAB配置,GPU版本 ...
- 洛谷P2950 [USACO09OPEN]牛绣Bovine Embroidery
P2950 [USACO09OPEN]牛绣Bovine Embroidery 题目描述 Bessie has taken up the detailed art of bovine embroider ...
- uoj#388. 【UNR #3】配对树(线段树合并)
传送门 先考虑一个贪心,对于一条边来说,如果当前这个序列中在它的子树中的元素个数为奇数个,那么这条边就会被一组匹配经过,否则就不会 考虑反证法,如果在这条边两边的元素个数都是偶数,那么至少有两组匹配经 ...
- 洛谷P2522 [HAOI2011]Problem b(莫比乌斯反演)
传送门 我们考虑容斥,设$ans(a,b)=\sum_{i=1}^a\sum_{j=1}^b[gcd(a,b)==k]$,这个东西可以和这一题一样去算洛谷P3455 [POI2007]ZAP-Quer ...
- 洛谷P3831 回家的路
题目背景 SHOI2012 D2T1 题目描述 \(2046\) 年 \(OI\) 城的城市轨道交通建设终于全部竣工,由于前期规划周密,建成后的轨道交通网络由\(2n\)条地铁线路构成,组成了一个\( ...
- CF914D Bash and a Tough Math Puzzle 线段树+gcd??奇怪而精妙
嗯~~,好题... 用线段树维护区间gcd,按如下法则递归:(记题目中猜测的那个数为x,改动次数为tot) 1.若子区间的gcd是x的倍数,不递归: 2.若子区间的gcd是x的倍数,且没有递归到叶子结 ...
- Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017) A
Arpa is researching the Mexican wave. There are n spectators in the stadium, labeled from 1 to n. Th ...
- hdu2510-符号三角形(dfs+打表)
n只有24 可以写个暴力搜索,然后打表,不然这个很难通过剪枝直接优化到1s以内. #include<bits/stdc++.h> #define inf 0x3f3f3f3f ; usin ...
- hdu2027 trie树 字典树模板
#include <iostream> #include <cstdio> #include <cstring> #include <sstream> ...