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基本使用方法的更多相关文章

  1. Linux系列教程(十)——Linux文本编辑器vim

    通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...

  2. Linux文本编辑器vim

    目录 1.vim 的工作模式 2.插入命令 3.定位命令 4.删除命令 5.复制和剪切命令 6.替换和取消命令 7.搜索和搜索替换命令 8.保存和退出命令 9.vim 高级操作 10.总结 通过前面几 ...

  3. Linux 文本编辑器 vim

    第五讲 文本编辑器 vim

  4. linux文本编辑器vim大全

    linux基础之vim编辑器 1.vim编辑器 基本介绍 vim编辑器的前身叫做vi.vi的英文名:Visual  Interface.中文解释文本编辑器,你不应该用他去打开二进制可执行文件 文本编辑 ...

  5. 10.18.1 linux文本编辑器vim

    vi和vim的区别 编辑一个文本时,vi不会显示颜色,而vim会显示颜色,vi 有点类似windows记事本,简单,那么就是vim复杂编辑器,功能复杂,高亮,自动缩进(写shell/python脚本用 ...

  6. Linux学习总结(19)——Linux中文本编辑器vim特殊使用方法

    1. vim比对功能 在linux的环境下 用于观察两个文件的一致性的时候我们一般用diff这个命令来比对,但是这个命令不能你特别详细的比对出 具体的位置或者行对比.这里就用到了vim的对比功能 vi ...

  7. Linux | 文本编辑器vim

    vim 编辑器介绍 vim 编辑器是一款非常棒的文本处理工具,它会默认安装在当前所有的 Linux 操作系统上面. vim 编辑器中设置了三种模式,可以极大的提高我们的工作效率: 命令模式:控制光标移 ...

  8. linux 文本编辑器 vim 基本操作

    三种模式之间转换: 一般模式 可用于光标移动.复制粘贴.查找替换 "vim.txt"表示文件名 8L 表示8行 , 80C 表示80个字符 移动光标常用操作: h .j. k. l ...

  9. linux文本编辑器vim详解

    vim 1.打开文件 vim [option] - file... 打开文件 +# 打开文件后,让光标处于第#行的行首 +/字符串 打开文件后,光标处于第一个被匹配到字符串的行首 -b file 二进 ...

随机推荐

  1. python创建矩阵

    创建二维数组的办法 直接创建(不推荐) 列表生产式法(可以去列表生成式 - 廖雪峰的官方网站学习) 使用模块numpy创建 举个栗子: 创建一个3*3矩阵,并计算主对角线元素之和. import nu ...

  2. laravel ajax提交登陆存储session,并输出

    前端输出session {{ Session::get('username') }} ajax提交 <div>{{ Session::get('username') }}</div& ...

  3. 洛谷P2583 地铁间谍

    P2583 地铁间谍 题目描述 特工玛利亚被送到S市执行一个特别危险的任务.她需要利用地铁完成他的任务,S市的地铁只有一条线路运行,所以并不复杂. 玛利亚有一个任务,现在的时间为0,她要从第一个站出发 ...

  4. acwing 3 完全背包

    习题地址 https://www.acwing.com/problem/content/description/3/ 题目描述有 N 种物品和一个容量是 V 的背包,每种物品都有无限件可用. 第 i ...

  5. 解决phpwind 9 转换到 discuz x 3.1的头像仍然不显示问题

    phpwind 9 转换到 discuz x 3.1后,按照discuz转换程序的步骤做,头像仍然不显示,后来登录后重新上传头像发现,是文件名的原因,如下操作改名即可(还好我的论坛会员不多,不然手改累 ...

  6. BZOJ 1123 && Luogu P3469 [POI2008]BLO-Blockade 割点+乘法原理

    想了半天式子...最后在邓大师的帮助下想出此题....QWQ我还是太菜了 对于一个非割点,ans+=2*(n-1); 对于一个割点,ans+= #include<cstdio> #incl ...

  7. 寒假作业第二组E题题解

    注意看题,注意看题,注意看题.重要的事情三遍感觉都不够.不怕大家笑话,这道题RuntimeError 9次,我一直以为是哪里越界了,结果最后发现的时候,真是无语了,题目里说了,所有的integer都不 ...

  8. oracle中CAST函数使用简介【转】

    CAST()函数可以进行数据类型的转换. CAST()函数的参数有两部分,源值和目标数据类型,中间用AS关键字分隔. 以下例子均通过本人测试. 一.转换列或值 语法:cast( 列名/值 as 数据类 ...

  9. GDPR(Cookie处理)

    GDPR(Cookie处理) https://www.cnblogs.com/GuZhenYin/p/9154447.html 前言 时间一晃 ASP.NET Core已经迭代到2.1版本了. 迫不及 ...

  10. SpringBoot---Web开发---SSL配置

    1.[生成证书] 2.[SpringBoot配置SSL] 3.[http转向https]