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. Codeforces 1105D(双层广搜)

    要点 题意:可以拐弯,即哈密顿距离 注意不可以直接一个一个搜,这过程中会把下一轮的标记上,导致同一轮的其它点没能正常完成应有的搜索 因此采用双层广搜,把同一轮先都出队列再的一起搜 #include & ...

  2. 通过sqlserver sa密码修改windows操作系统密码

    如果你不记得windows管理员的密码了,但知道sqlserver sa用户的密码,可以通过以下方式修改: 进入SQL之后执行以下语句: -- 允许配置高级选项  EXEC sp_configure ...

  3. Spring Boot Security配置教程

    1.简介 在本文中,我们将了解Spring Boot对spring Security的支持. 简而言之,我们将专注于默认Security配置以及如何在需要时禁用或自定义它. 2.默认Security设 ...

  4. Java中的Validated验证

    注意点:在使用@NotBlank时,必须与@Valid配着使用,不然不起作用(出现了很奇怪的现象,我第一次试的时候确实有这情况,但是第二次的时候这情况没了,所以这个说不准) @NotBlank 用在S ...

  5. html学习笔记-DOM

    html学习笔记-DOM Table of Contents 1. 什么是 DOM? 2. DOM 节点 3. DOM 方法 4. DOM 属性 5. DOM 访问 6. DOM 修改 7. DOM ...

  6. 简单的Servlet结合Jsp实现请求和响应以及对doGet和doPost的浅析

    1.新建jsp,创建表单 <body> <form action="/MyfirstWeb/login"> username:<input type= ...

  7. Linux命令-4类

    一.系统管理与维护   1. pwd:print working directory    打印工作目录   2. cd:  change directory    改变或进入路径       ● c ...

  8. Java中的多线程详解

    如果对什么是线程.什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内. 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现.说这个话其 ...

  9. winform 配置文件增删改查

    winform 配置文件是  App.config webform   的配置文件 是web.config 其实基本操作都一样    设置个配置文件  全局文件 访问者个配置文件  对这个配置文件增删 ...

  10. ZOJ 3471 Most Powerful (状压DP,经典)

    题意: 有n个原子,每当两个原子碰撞时就会产生能量,并且消耗其中一个原子.已知每两个原子碰撞时消耗其中指定一个原子所产生的能量,问最多能产生多少能量? 思路: 一开始以为是找一个有序序列,使得能量最大 ...