关键词:
vim软件是一个文本编辑器,类似windows下的记事本,但要比windows下的词事本强大的多。
vim是linux/unix上最常用的文本编辑器,它的作用是建立,编辑,显示文本文件 。
vim没有菜单,只有命令。
vim的学习方法:练习,再练习,让命令形成自然习惯。
1. vim的模式
- 命令模式
- 插入模式
- 编辑模式
1.1 命令模式:
命令模式下,输入的字符都当命令对待。
vim
vim filename
命令行下输入 vim
或 vim filename
这样会打开vim。 vim filename表示用vim软件编辑file文件。
启动vim之后默认就是命令模式。
直接输入vim启动,会出现版本等信息,但用 vim filename编辑文件时不会出现此界面。
如果在其它模式下,想要回到命令模式,按一下ESC键:
1.2 插入模式
在命令模式下切换到插入模式,可以用下面的三个命令:
- i 切换到插入模式,在光标所在字符前插入
- a 切换到插入模式,在光标所在字符后插入
- o 切换到插入模式,在光标下面插入一个空行。
进入插入模式后,输入的字符都被看成普通字符,此时和windows记事本没啥区别了。 上面iao描述了进入插入模式,您可以试一下。
1.3 编辑模式
在命令模式下输入 :
之后进入编辑模式。
编辑模式下可以对vim工具进行设定,比如添加行号,设置自动对齐,设置快捷键等。
在编辑模式下输入:
set number
回车之后vim会显示行号,而且自动回到命令模式。
命令 | 作用 |
---|---|
:set number | 显示行号(编辑模式) |
:set nonumber | 取消行号(编辑模式) |
2. 插入
以下命令(字符)按完之后,直接进入插入模式,但进入的同时会有不同的行为。
命令 | 作用 |
---|---|
a | 在光标所在字符后插入 |
A | 在光标所在行尾插入 |
i | 在光标所在字符前插入 |
I | 在光标所在行首插入 |
o | 在光标下面插入新行 |
O | 在光标上面插入新行 |
小写和大写是有区别的。学习vim要强化练习,让这些命令形成习惯,像键盘练习那样,形成条件反射。
3. 定位
命令 | 作用 |
---|---|
h | 光标左移(同光标键:left) |
l | 光标右移(同光标键:right) |
k | 光标上移(同光标键:up) |
j | 光标下移(同光标键:down) |
gg | 光标移到第一行 |
G | 光标移到最后一行 |
nG | 光标移到第n行 |
:n | 光标移到第n行(编辑模式) |
$ | 光标移到行尾 |
0 | 光标移到行首 |
^ | 光标移到行首 |
ctrl+f | 下一页 |
ctrl+b | 上一页 |
0与^的区别是:^移到行首的第一个字符位置(非空白),而0移到真正的行首(包括空白)。
4. 删除命令
命令 | 作用 |
---|---|
x | 删除光标所在处字符 |
nx | 删除光标所在处后n个字符,就是重复n次x命令 |
dd | 删除光标所在行 |
ndd | 删除光标所在行开始的n行,就是重复n次dd命令 |
dw | 删除一个单词 |
dG | 删除光标所在行到行尾 |
dgg | 删除光标所在行到行首 |
D | 删除光标所在处到行尾 |
d$ | 同上 |
:行n, 行m d | 删除n-m行(编辑模式) |
5. 选择,复制和剪切命令
命令 | 作用 |
---|---|
v | 从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束。 |
V | 从光标当前行开始,光标经过的行都会被选中,再按一下V结束。 |
yy | 复制光标所在行 |
nyy | 复制当前行以下n行 |
y$ | 复制到行尾 |
yw | 复制一个单词 |
dd | 剪切当前行(上面的删除就是剪切行) |
ndd | 剪切当前行以下n行 |
p(lower) | 粘贴到当前行的下行 |
P(upper) | 粘贴到当前行的上行 |
6. 替换和取消命令
命令 | 作用 |
---|---|
r | 取代光标所在处字符,按r,再输入正确的字符 |
R | 从光标所在处开始替换,按ESC结束 |
u | 撤销一步 |
ctrl+r | 重做 |
7.搜索和替换命令
命令 | 作用 |
---|---|
/string | 搜索指定的字符串,按n,N跳到下一个或上一个string |
:% s/old/new/gi | 搜索old,替换成new,g表示全局,i表示忽略大小写(编辑模式) |
:n1,n2 s/old/new/gi | 同上,但只限于在n1~n2这些行之间搜索。 |
在搜索时可以高亮显示搜索到关键字
命令 | 作用 |
---|---|
set hlsearch | 高亮 |
set nohlsearch | 去掉高亮 |
替换时:
- %表示所有行,如果没有%则只对当前行进行替换。
- g表示全部替换,比如当前行有10个v,要替换成x,没有g的情况下只替换第一个匹配的,有g全替换
- 与%相对应的:n1,n2 表示指定范围的行,即在n1~n2范围内的行。
8.保存
命令 | 作用 |
---|---|
:w | 保存修改 |
:w filename | 另存为 |
:wq | 保存并退出,也可以用快捷键ZZ |
:q! | 不保存退出 |
:wq! | 强制保存并退出,只有文件所有者和root可以 |
9. 导入文件
在编辑模式输入:
:r /etc/os-release
把/etc/os-release文件的内容导入到当前文档中,入到光标所在的位置。
10. 运行命令
在编辑模式下输入:
:!whereis ls
!后面跟上命令。 此例执行了whereis ls命令。 这种方式在不退出vim的状态下执行命令。
11. 把命令的结果导入到vim中
在编辑模式下输入:
:r !ls /
把ls /命令执行的结果,导入到当前vim编辑的文档中。
12. 定义快捷键
在编辑模式下输入:
:map ^P I#<ESC>
这里面定义ctrl+p快捷键,分三部分:
- map
- 快捷键
- 自定义命令
I就是我们在命令模式下按I的操作,表示光标跳到行首并进入插入模式,之后输入#,之后按ESC键回到命令模式。
执行这个快捷键时: 相当于在光标所在行,按下I,之后输入#,之后按下ESC回到命令模式。
注意:^P的输入方法是:ctrl+v, ctrl+p。
13. 在编辑中替换
比如:输入mymail回车或空格,自动替换成 [email protected]
:ab mymail [email protected]
14. 写入配置文件
我们会发现重启vim,定义的快捷键都没有了,解决的方法是写入配置文件。
在家目录创建.vimrc文件,把一些常用的配置写到这个文件里,比如:定义的行号,快捷键,替换等。
当启动vim时会自动运行此文件,相当于在vim中重新输入了一遍这些命令:
set number
set hlsearch
map ^P I#<ESC>
ab mymail [email protected]
常用的配置:
" 设置C/C++方式自动对齐
set autoindent
set cindent
set smartindent
" 设置tab宽度
set tabstop=4
" 设置自动对齐空格数
set shiftwidth=4
" 设置编码方式
set encoding=utf-8
" 设置打开文件的编码格式
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
" 开启语法高亮
syntax on
" 设置取消备份,禁止临时文件生成
set nobackup
set noswapfile
" 设置搜索高亮(hlsearch)
set hlsearch
vim详解(代码片段)
...用介绍介绍在linux系统中,大部分配置文件都是ASCII的纯文本形式存放的,所以我们在修改系统设置的时候使用简单的文本编辑软件就可以实现了,如果你使用过windows当中的word的话,那么你可能会感觉linux字符界面的文本编辑工... 查看详情
vim详解(代码片段)
...用介绍介绍在linux系统中,大部分配置文件都是ASCII的纯文本形式存放的,所以我们在修改系统设置的时候使用简单的文本编辑软件就可以实现了,如果你使用过windows当中的word的话,那么你可能会感觉linux字符界面的文本编辑工... 查看详情
vim文本编辑器(代码片段)
vim文本编辑器1什么是vim?早期的Unix都是使用的vi作为系统默认的编辑器。但是目前我们使用比较多的是vim编辑器。你也许会有疑问,vi与vim有什么区别?可以这样简单理解,vim是vi的升级版。Vim是从vi发展出来的一个文本编辑器... 查看详情
vi/vim编辑器必知必会(代码片段)
...要学习vim编辑器?Linux的命令行界面下面有非常多的文本编辑器。比如经常听说的就有Emacs、pico、nano、joe与vim等。vim可以看做是vi的高级版。我们为什么一定要学习vim呢?有以下几个原因:(1)所有的Unixlike系统都会内... 查看详情
vi/vim编辑器必知必会(代码片段)
...要学习vim编辑器?Linux的命令行界面下面有非常多的文本编辑器。比如经常听说的就有Emacs、pico、nano、joe与vim等。vim可以看做是vi的高级版。我们为什么一定要学习vim呢?有以下几个原因:(1)所有的Unixlike系统都会内... 查看详情
vim文本编辑器的基本使用(代码片段)
Vim文本编辑器是Linux/Unix系统下最常用的工具之一,通过该工具可以很方便的建立、修改、编辑文档或者程序文件,其作用类似与windows系统下的记事本或者notepad++,因此熟练掌握该工具的使用对于使用linux系统是非常有必要的。... 查看详情
vim(代码片段)
1.简介Vim(Vi[Improved])编辑器是功能强大的跨平台文本文件编辑工具,继承自Unix系统的Vi编辑器,支持Linux/MacOSX/Windows系统,利用它可以建立、修改文本文件。进入Vim编辑程序,可以在终端输入下面的命令:$vim[filename]其中filename... 查看详情
vi/vim编辑器(代码片段)
vi编辑器:全屏的文本编辑器vi:VisualInterface,可视化界面;vim相对于vi有更多的新特性:1.语法着色显示;2.更多的命令;3.历史记录;vi:模式化文本编辑器模式:编辑模式(命令模式),默认工作模式;插入模式(输入模式),文本... 查看详情
vim文本创建编辑(代码片段)
1.编辑(创建)txt文本vimtest.txt2.编辑文本移动光标,在指定位置按下i键,下方出现insert即可开始编辑3.退出编辑编辑完成后按下esc键,底部的insert没有了4.保存退出同时拿下shift和:键,下方会出现:号这个时候可以输入命名wq,回... 查看详情
vim的基本用法和参数(代码片段)
VIM简介vi:VisualInterface,文本编辑器文本:ASCII,Unicode文本编辑种类:行编辑器:sed全屏编辑器:nano,vivim-ViImproved其他编辑器:gedit一个简单的图形编辑器gvim一个Vim编辑器的图形版本打开文件:#vim[OPTION]...FILE...+#:打开文件后,让光标... 查看详情
04vi/vim文本编辑器(代码片段)
vi/vim都是多模式的文本编辑器,可以进行代码编写。不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于xwindow... 查看详情
vim编辑器的基本使用方法(代码片段)
vi编辑器:全屏的文本编辑器vi:visualinterface,可视化界面;vim:viimprovedvim相对于vi有更多的新特性:1.语法着色显示;2.更多的命令;3.历史记录;vi:模式化文本编辑器模式:编辑模式(命令模式),默认工作模式插入模式(输... 查看详情
linux-文本编辑vim(代码片段)
vim使用流程vim默认机器是不安装的,需要手动安装这个工具命令yuminstallvim-y #通过yum软件管理工具进行安装当vim打开不存在的文件的时候,默认会创建文件语法1.vim文件名2.输入字母i,进入编辑模式,代表insert输入字母o,在光... 查看详情
《linux从0到99》三yum与vim编辑器(代码片段)
...是软件包02查看软件包03如何安装软件04如何卸载软件2.vim编辑器01vim的优点a)高效率移动b)高效的输入02vim的基本概念03vim的基本操作04vim正常模式命令05vim末行模式命令06修改vim的配置1.yum软件包管理器01什么是软件包在Linux下... 查看详情
vim介绍(代码片段)
gedit a.txt 是一个图形界面的文本编辑器。 需要安装图形界面才会有。nanoa.txt 也是一样的 vi 是一种文本界面的编辑器。 vim 是vimsualinterfaceIMproved的简称。可以执行输出、删除、查找、替换、块操作等... 查看详情
linux学习笔记2022-11-29---------vim文本编辑器及其应用详解(代码片段)
目录1.Vim编辑器概述2.Vi和Vim之间到底有什么关系?3.Vim编辑器的三种模式(重点)3.1三种模式3.2三种模式之间的关系3.3LinuxVim基本操作之文件的打开4.命令模式(重点)4.1光标移动4.2复制4.3剪切/删除4.4撤销/恢复... 查看详情
28vim编辑器(代码片段)
vim编辑器文本编辑器,字处理器ASCIInano,sedvi:VisualInterfacevim:VIiMproved全屏编辑器,模式化编辑器Vim命令的选项及其意义选项 注释-ccommand在对文件进行编辑前,先执行command命令-rfilename恢复文件filename-Rfilename以... 查看详情
文本处理工具和正则表达式(代码片段)
1文本编辑工具之神VIM1.1vi和vim简介在Linux中我们经常编辑修改文本文件,即由ASCII,Unicode或其他编码的纯文字的文件。文本编辑种类:全屏编辑器:nano(字符工具),gedit(图形化工具),vi,vim行编辑器:sedviVisualeditor,文本编... 查看详情