Linux学习笔记(九)Vim文本编辑器的使用
Vim文本编辑器的使用
- Vim的工作模式
1.命令模式
2.输入模式
3.编辑模式 - 进入Vim
1.使用Vim打开文件
2.直接进入指定位置 - Vim基本命令
1.插入命令
2.光标移动命令
3.使用Vim进行编辑 - 保存退出命令
Vim的工作模式
命令模式
输入模式
编辑模式

命令模式
在使用Vim编辑文件时,默认处于命令模式。在命令模式下,可以使用上、下、左、右键或者k、j、h、l命令来移动光标,还可以对文件内容进行复制、粘贴、替换、删除等操作
输入模式
在输入模式下可以对文件进行写操作。进入输入模式的方法是在命令模式输入i、a、o等插入命令,编写完成后按Esc键即可返回命令模式
编辑模式
如果要保存、查找或者替换一些内容等,就需要进入编辑模式。进入编辑模式的方法是在命令模式输入 ":" 符号,指令执行后会自动返回命令模式
进入Vim
使用Vim打开文件
使用命令 vim 文件目录 即可使用Vim打开文件
直接进入指定位置
vim +20 文件目录 直接进入文件第20航
vim +/hello 文件目录 直接进入第一个"hello"字符串所在行
Vim基本命令
插入命令
在命令模式下输入i、I、a、A、o、O等进入输入模式,不同的键只是光标所处的位置不同。
在Vim编辑器的左下角会出现"插入"字样,这就代表我们可以执行写入操作

常用的插入命令:
i 在当前光标所在位置插入随后输入的文本,光标后的文本相应的向右移动
I 在光标所在的行首插入随后输入的文本,行首是改行的第一个非空白字符,相当于光标移动到行首再执行i命令
a 在当前光标所在位置之后插入随后输入的文本
A 在光标所在的行首插入随后输入的文本,相当于光标移动到行尾再执行a命令
o 在光标所在行的下面插入新的一行,光标停在空行行首,等待输入文本
O 在光标所在行的下面插入新的一行,光标停在空行行首,等待输入文本
光标移动命令
以字符为单位移动
上、下、左、右方向键 移动光标
h、j、k、l键 向左、向下、向上、向右移动光标
以单词为单位的移动
w 移动光标到下一个单词的单词首
b 移动光标到上一个单词的单词首
e 移动光标到下一个单词的单词尾
移动到行首或行尾
$或End 移动光标到行尾
0或^或Home 移动光标到行首
移动到一行的指定字符处
f字符 移动光标到第一个符合条件的字符处,使用条件是光标要在指定字符前
移动到匹配的括号处
% 在匹配的括号间切换
移动到指定行数
nG或:n 移动光标到指定的行
使用Vim进行编辑
查找指定字符串
/要查找的字符串 从光标所在行开始向下查找字符串
?要查找的字符串 从光标所在行开始向上查找字符串
:set ic 查找时忽略大小写
:set noic 查找时区分大小写
使用Vim进行替换
r 替换光标所在处的字符
R 从光标所在处开始替换,按Esc结束
:替换起始处,替换结束处s/源字符串/替换的字符串/g 替换范围内的字符串
:%s/源字符串/替换的字符串/g 替换整篇文档的字符串
:1,$s/root/ROOT/g 将整篇文档的root替换为ROOT
使用Vim进行删除、粘贴、复制
x 删除光标所在的字符
nx 从光标所在位置向后删除n个字符
dd 删除整行,如果之后粘贴,则此命令的作用是剪切
ndd 删除多行
dG 删除从光标开始到文件末尾的内容
D 删除从光标开始到这行行尾的内容
:开始行,中止行d 删除指定范围的行
yy或Y 复制单行
nyy或nY 复制多行
p 粘贴到当前光标所在行下
P 粘贴到当前光标所在行上
dd命令删除的内容都临时放到内存里,将光标移动到指定位置,按下p,就能将刚才删除的内容又粘贴到此处
使用Vim撤销上一步操作
u 撤销
保存退出命令
:w 保存不退出
:q 不保存退出
! 强制性操作
:wq 保存并退出
:w! 强制保存
:wq! 强制保存退出
:q! 不保存退出
:w新文件名 另存为其他文件,配合:q!使用
ZZ 如果文件没有修改,就是不保存退出;如果文件已经修改,就是保存退出
Linux学习笔记(九)Vim文本编辑器的使用的更多相关文章
- linux学习笔记:vim程序编辑器—vim的使用
注:以下是学习<鸟哥的linux私房菜>(第三版)的学习笔记,纯属个人学习记录. 2018-11-19 一.学习vim的原因 很多软件的编辑接口都会主动调用vi 二.vim的使用 (1)v ...
- Linux学习笔记之VIM编辑器
此处根据需要,只罗列一些常用的指令和用法 五.VIM程序编辑器 Vi与vim Vi打开文件没有高亮注释,vim有,且vim是vi的高级版本 Vim默认打开文件为命令模式 i ...
- Linux学习笔记之vim操作指令大全
0x00 关于Vim Vim是款强大的文本编辑器,但是众多指令需要学习,这次记录了指令大全方便以后翻阅. Vim的几种模式 正常模式:可以使用快捷键命令,或按:输入命令行. 插入模式:可以输入文本,在 ...
- Linux学习笔记8——VIM编辑器的使用
在ubuntu中,敲入命令行:sudo apt-get install vim,然后输入系统密码,确认Y,即可下载vim 按下vim,在后面跟上文件的路径,即可进入文件到编辑模式,如果不存在该文件,将 ...
- Linux学习笔记之八————vim编辑器常用命令总结
<1>从命令行模式到插入模式 i :在光标前插入 a :在光标后插入 I :在光标所处在的行的行首 A :在光标所处在的行的末尾 o :在光标所处在的行的下一行 行首 O :在光标所 ...
- Linux学习笔记:vim
目录 模式 命令模式 编辑模式 底行模式 .vimrc .viminfo .swap 本文更新于2019-09-05. 说明:下文中,使用{}引起表示自定义变量,根据实际情况填写.使用[]引起表示内容 ...
- Linux 学习记录 三(Vim 文书编辑器).
所有的Unix Like系统都会内建vi文书编辑器,其他的文书编辑器不一定存在,vim是vi的升级版,具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计.vim 里 ...
- Linux 学习记录三(Vim 文书编辑器).
所有的Unix Like系统都会内建vi文书编辑器,其他的文书编辑器不一定存在,vim是vi的升级版,具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计.vim 里面加入了很 ...
- Qt学习笔记-制作一个文本编辑器
创建一个MainWindow工程.添加一个TextEdit.垂直布局. 在menu上面创建新的action. 在新建的时候判断文本有没有被修改. 下面,将某个文件打开读入到TextEdit中. 保存文 ...
- linux学习笔记-8.vim
ia/Ao/Or + ?替换 0:文件当前行的开头$:文件当前行的末尾G:文件的最后一行开头1 + G到第一行9 + G到第九行 = :9 dd:删除一行3dd:删除3行yy:复制一行3yy:复制3行 ...
随机推荐
- 搭建生产级的Netty项目
Netty是Trustin Lee在2004年开发的一款高性能的网络应用程序框架.相比于JDK自带的NIO,Netty做了相当多的增强,且隔离了jdk nio的实现细节,API也比较友好,还支持流量整 ...
- Building Applications with Force.com and VisualForce (DEV401) (四):Building Your user Interface
Dev 401-004:Application essential:Building Your user Interface: Module Agenda1.Custom Applications2. ...
- WEB应用之httpd基础入门(五)
前文我们聊到了httpd的启动用户和相关权限的说明,资源压缩配置.https的实现,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12593675.html:今 ...
- Magenta Demos Magenta 实战代码
Magenta 实战代码 这个仓库包含了很多 Magenta 模型的实现.看 Magenta 库以及模型,看我们的主仓库:https://github.com/tensorflow/magenta A ...
- C++ STL 常用容器之 stack
C++ STL Container--Stack 栈是一种先进后出(LIFO)的数据结构,限制只能在一端完成插入和删除操作,这一端叫做栈顶(top),另一端即为栈底(bottom).C++ STL(S ...
- Markdown 高阶语法
记录一些 Markdown 的高阶语法,想起来什么,再更新 分割线 两条分割线 *** *** 插入表格 Column Column Column Row Content Content | Colu ...
- Python turtle库的应用——蛇
turtle库介绍 1.Turtle中的turtle.setup()函数用于启动一个图形窗口,它有四个参数 turtle.setup(width, height, startx, starty) 分别 ...
- ELK 是什么?
ELK 是什么? 2018年07月04月 09:37:46 ...
- python 函数--装饰器
一.装饰器 1.为什么要用装饰器? 装饰器的功能:在不修改原函数以及调用方式的情况下对原函数功能进行扩展. 二.开放和封闭原则 1.对扩展是开放的 2.对修改是封闭的 三.装饰器的固有结构 impor ...
- Python高级特性-迭代器和生成器
迭代器 Python中可迭代对象(iterable)通俗指可直接作用与For循环的数据对象,如Python中的集合数据类型,字符串(str),列表(list),元组(tuple),集合(set),字典 ...