Vim编辑器基础

vi:Visual Interface
vim:VI iMproved

Vim模式

1、编辑模式(命令模式)
只能下达命令,不能键入字符
2、输入模式
键入字符
3、末行模式
左下角有冒号,可以键入命令执行

Vim模式转换

vim 文件名

编辑-->输入:
i:在当前光标所在字符的前面,转为输入模式;
a:在当前光标所在字符的后面,转为输入模式;
o:在当前光标所在行的下方,新建一行,并转为输入模式; I:在当前光标所在行的行首,转换为输入模式;
A:在当前光标所在行的行尾,转换为输入模式
O:在当前光标所在行的上方,新建一行,并转为输入模式; 输入-->编辑:
ESC 编辑-->末行:
: 末行-->编辑:
ESC,ESC

打开文件

# vim /path/to/somefile  

    vim +# :打开文件,并定位于第#行
vim + :打开文件,定位至最后一行
vim +/PATTREN :打开文件,定位至第一次被PATTREN匹配到的行的行首 默认处于编辑模式

关闭文件

1、末行模式关闭文件
:q 退出
:wq 保存并退出
:q! 不保存并退出
:w 保存
:w! 强行保存
:wq --> :s
2、编辑模式下退出
ZZ: 保存并退出

移动光标(编辑模式)

1、逐字符移动:
h:左
l:右
j:下
k:上
#h:移动#个字符; 2、以单词为单位移动
w:移至下一个单词的词首
e:跳至当前或下一个单词的词尾
b:跳至当前或前一个单词的词首 #w: 3、行内跳转:
0:绝对行首
^: 行首的第一个非空白字符
$:绝对行尾 4、行间跳转
#G:跳转至第#行:
G:最后一行 末行模式下,直接给出行号即可

翻屏

Ctrl+f:向下翻一屏
Ctrl+b:向上翻一屏 Ctrl+d:向下翻半屏
Ctrl+u:向上翻半屏

删除单个字符

x:删除光标所在处的单个字符
#x:删除光标所在处及向后的共#个字符

删除命令:d

d命令跟跳转命令组合使用:
#dw,#de,#db dd;删除当前光标所在行
#dd:删除包括当前光标所在行在内的#行; 末行模式下:
StartADD,EndADDd
.: 表示当前行
$:最后一行
+#:向下的#行

粘贴命令 p

p:如果删除或复制为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面;
P:如果删除或复制为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面;

复制命令 y

用法同d命令

修改:先删除内容,在转换为输入模式

c:用法同d命令

替换:r

R:替换模式

撤销编辑操作 u

u:撤销前一次的编辑操作
连续u命令可撤销此前的n此操作
#u:直接撤销最近#次编辑操作 撤销最近一次撤销操作:Ctrl+r

重复前一次编辑操作

.

可视化操作

v:按字符选取
V:按行选取
Ctrl+v:按矩形选取

查找

/PATTERN
?PATTERN
n
N

查找并替换

在末行模式下使用s命令
ADDR1,ADDR2s@PATTREN@string@gi
1、$
%: 表示全文

使用vim编辑多个文件

vim FILE1 FILE2 FILE3
:next 切换至下一个文件
:prev 切换至前一个文件
:last 切换至最后一个文件
:first 切换至第一个文件 退出
:qa 全部退出

分屏显示一个文件

Ctrl+w,s:水平拆分窗口
Ctrl+w,v:垂直拆分窗口 在窗口间切换光标:
Ctrl+w,ARROW :qa

分窗口多个文件

vim -o:水平分割显示
vim -O:垂直分割显示

将当前文件中部分内容另存为另外一个文件

末行模式下使用w命令
:w
:ADDR1,ADDR2w /path/to/somewhere

将另外一个文件的内容填充在当前文件中

:r /path/to/somefile

跟shell交互

:! COMMAND

高级话题

1、显示或取消显示行号
:set number
:set nu :set nonu 2、显示忽略或区分字符大小写
:set ignorecase
:set ic :set noignorecase
:set noic 3、设定自动缩进
:set autoindent
:set ai
:set noai 4、查找到的文本高亮显示或取消
:set hlsearch
:set nohlsearch 5、语法高亮
:syntax on
:syntax off

配置文件

/etc/vimrc
~/.vimrc

Vim编辑器基础的更多相关文章

  1. Vim编辑器基础命令

    Linux系统中都默认安装了vi或vim编辑器,两种命令基本一致.vim为Vi IMproved,功能更强大. vim有命令模式,输入模式,和末行模式三种. ➢ 命令模式:控制光标移动,可对文本进行复 ...

  2. 『学了就忘』vim编辑器基础 — 94、vim编辑器介绍

    目录 1.vim编辑器简介 2.vim的工作模式 (1)命令模式 (2)输入模式 (3)最后行模式(末行模式) 1.vim编辑器简介 vim是一个全屏幕纯文本(绘个表格或者插个图片就不要想了)编辑器, ...

  3. 『学了就忘』vim编辑器基础 — 95、命令模式中的相关命令

    目录 1.移动光标操作 2.删除或剪切操作 3.复制操作 4.撤销操作 5.替换操作 6.补充一个知识点 命令模式中的命令主要取代的是Linux系统中鼠标的操作. vim编辑器的快捷键一般都集中在命令 ...

  4. 『学了就忘』vim编辑器基础 — 96、末行模式中的相关命令

    目录 1.在文档中显示行号 2.是否显示文档内容相关颜色 3.是否将查找的字符串高亮显示 4.是否显示右下角的状态栏 5.是否在左下角显示如"--INSERT--"之类的状态栏 6 ...

  5. 『学了就忘』vim编辑器基础 — 97、vim使用技巧

    目录 1.在vim中导入其他文件内容或命令结果 (1)导入其他文件内容 (2)在vim中执行系统命令 (3)导入命令结果 2.设定快捷键 3.字符替换 4.多文件打开 vim使用技巧,就是vim编辑器 ...

  6. linux基础之vim编辑器

    vi : Visual Interface vim : VI Improved : VI的基础加上一些有用的插件 vim编辑器: 文本编辑器, 字处理器, 全屏编辑器, 模式化编辑器 vim的模式有三 ...

  7. 零基础学习Vim编辑器

    **********************************************************************0.这篇教程的简介:Vim是Linux/Unix下的经典编辑 ...

  8. 2019-9-11:渗透测试,基础学习,vim编辑器,笔记

    Linux快捷路径符号说明. 代表当前目录.. 上级目录- 代表前一个工作目录~ 表示当前用户的家目录 vmware tools 用来虚拟机和宿主机之间移动数据 vim/vi编辑器vim编辑器三种模式 ...

  9. Linux笔记:使用Vim编辑器

    Vi编辑器是Unix系统上早先的编辑器,在GNU项目将Vi编辑器移植到开源世界时,他们决定对其作一些改进. 于它不再是以前Unix中的那个原始的Vi编辑器了,开发人员也就将它重命名为Vi improv ...

随机推荐

  1. STP-7-RSTP的BPDU格式和处理方式的改变

    RSTP只使用一种BPDU,协议版本字段为2(STP为0). STP标志字段8位只使用了两位:TC(拓扑变化)和TCA(拓扑变化确认). RSTP也使用了其余6位:提议位,端口角色位,学习位,转发位, ...

  2. 4.高级数据过滤 ---SQL

    一.AND操作符 要通过不止一个列进行过滤,可以使用A ND操作符给WHERE子句附加条件. SELECT prod_id, prod_price, prod_name FROM Products ; ...

  3. NET Core + Angular 2

    ASP.NET Core + Angular 2 Template for Visual Studio 2017-01-11 08:45 by 小白哥哥, 2069 阅读, 19 评论, 收藏, 编辑 ...

  4. 041 First Missing Positive 第一个缺失的正数

    给一个未排序的数组,找出第一个缺失的正整数.例如,[1,2,0] 返回 3,[3,4,-1,1] 返回 2.你的算法应该在 O(n) 的时间复杂度内完成并且使用常数量的空间.详见:https://le ...

  5. C. An impassioned circulation of affection DP

    http://codeforces.com/contest/814/problem/C 12ooyomioomioo21 o2 o 这题我是用dp解的,不过好像很慢,比赛的时候算了下不会mle,就没滚 ...

  6. spring Cloud中,解决Feign/Ribbon整合Hystrix第一次请求失败的问题?

    Spring Cloud中,Feign和Ribbon在整合了Hystrix后,可能会出现首次调用失败的问题,要如何解决该问题呢? 造成该问题的原因 Hystrix默认的超时时间是1秒,如果超过这个时间 ...

  7. js浮点数计算(加,减)

    最近工作中经常遇到需要处理浮点型计算的问题,开始一直都在用把浮点数先乘以10的对应小数的位数的次方化成整数再去开始计算. 例如100.01+100.02,可以化成(100.01*100+100.02* ...

  8. 《超实用的Node.js代码段》连载一:获取Buffer对象字节长度

    我们知道Node.js框架下的Buffer对象能够对二进制数据提供很好的支持,那么获取一个Buffer对象真实的字节长度则是必须要用到的功能了.Node.js框架为开发人员提供了一个Buffer.by ...

  9. 移动端rem单位和px单位换算

    rem单位是根据html元素的单位在页面根据不同的手机屏幕分辨率动态整体的按比例缩小或放大字体. 假如html{font-size: 14px;},那么1rem=14px; 一个div宽度48px,那 ...

  10. 【extjs6学习笔记】1.1 初始:创建项目

    创建工作空间 sencha generate workspace /path/to/workspace 使用sencha创建应用 sencha -sdk /path/to/sdk generate a ...