Linux学习---Vim入门
作者:互联网
Linux
学习—Vim
入门
Author:qyan.li
Date:2022.2.22
文章目录
一、Vim
简介
Vim
是从vi
发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs
并列成为类Unix
系统用户最喜欢的文本编辑器。
简单而讲:Vim
是Unix及类Unix系统
中一种文本编辑器
二、Vim
文本编辑
-
Vim
工作模式Vim
中总共包含三种工作模式,分别为1. 命令模式 2. 文本输入模式 3. 末行模式Vim可以在上述三种模式之间进行切换:
-
借助于
vi test.txt
命令,可以创建名为test.txt
的文件,并以Vim
的形式打开,此时进入vim
的命令模式,此时键入的所有代码均为命令 -
在命令模式下,键入字母
i
可以进入文本编辑模式,此时用户可以在此界面任意输入文字或者代码进行文本编辑 -
文本编辑完成后,按下
esc
键可以由文本编辑模式回退至命令模式小
Tips
:文本编辑模式无法直接转换至末行模式,必须以命令模式为中间的媒介
-
命令模式下输入
:
即可由命令模式转换为末行模式,在末行模式下,所有用户输入均视作末行命令
-
-
Vim
常用命令:-
命令模式命令:
-
命令模式切换至文本输入模式:
i
:在光标前插入一个字符a
:在光标后插入一个字符o
:在下一行插入一个字符shift + i
:在行首插入一个字符shift + a
:在行末插入一个字符shift + o
:在上一行插入一个字符s
:删除一个字符并插入一个字符shift + s
:删除一行内容并插入一个字符 -
命令模式下光标移动:
h
:向前移动j
:向下移动k
:向上移动l
:向右移动小Tips:
上述命令,个人感觉较为鸡肋,模式转换,大部分情况下仅需记忆
i:insert
即可,其余可作为了解。光标移动,经过自己电脑测试,完全可以有小键盘上的上下左右键代替
-
命令模式下光标跳转:
- 借助于
number + G
可以跳转至指定number
行 - 借助于
gg
可以跳转至文件首部 - 借助于
G
可以跳转至文件尾部 - 借助于
0
可以将光标移至行首 - 借助于
$
可以将光标移至行尾
- 借助于
-
命令模式下内容删除:
x
删除光标选中的字符,但不改变工作模式s
删除光标选中的字符,并切换至文本编辑模dw
一次性删除整个单词(光标放置在单词的首字母上进行操作)shift + d
或者d$
完成删除一段内容,从选中字母开始,删除后面所有内容d0
从选中字母开始,删除前面的所有内容dd
删除整行内容number + dd
删除多行内容,删除从本行开始的number
行的内容v + d
删除选中的内容,光标放置在首字母上,按下v
先后移动选中待删除的文本,然后通过d
删除r
替换单个字符,按下r
后,输入想要替换的单词
-
命令模式下复制粘贴:
-
yy
实现整行内容的复制 -
dd
实现整行内容的剪切小Tips:
严格的讲,
Vim
中本质上并不存在删除功能,所有删除功能的实现,本质上都是借助于剪切完成的 -
p
将复制或者剪切的内容粘贴在光标的下一行 -
shift + p
将复制或者剪切的内容粘贴在光标所在行 -
number + yy
进行从本行开始number
行的复制 -
v + yy
可以针对于特定的内容进行选中,而后复制
-
-
命令模式下内容查找:
命令模式下的内容查找一般分为两种情况:
- 已知查询目标内容,且在本界面中已经发现,但是希望进一步查找文章中与其相同的单词
- 已知查询目标内容,但是在当前界面中并没有发现,希望在文章中查找到该内容
Vim
文本编辑器根据上述两种情况,提供两种内容查找的方式:-
命令模式下输入
/
,编辑器由命令模式进入末行模式,其后输入待查询的目标单词,按下回车键,光标定位在查询到的第一个内容的位置小
Tips
:回车键按下后,可以借助于
n
定位下一个查询到的单词,借助于shift + n
可以定位至上一个查询到的单词命令示例:
/<待查询单词> + enter + <n向下查询><N向上查询>
-
命令模式下,将光标定位在任意单词位置上,按下
*
可以向后在文章中查找目标单词,按下#
可以向前在文章中查找目标单词
-
命令模式下撤销:
u
在命令模式下实现撤销操作,回退至操作前的形式crtl + r
命令模式下实现反撤销操作
-
命令模式下分屏:
crtl + alt + t
实现终端的快捷键打开- 终端中再次键入
crtl + shift + t
实现在Vim
中开启两个标签窗口
-
-
末行模式命令:
-
末行模式保存、退出:
-
w
保存 -
q
退出二者可以结合使用,
wq
实现保存并退出操作
-
-
末行模式分屏:
-
末行模式下输入
sp
,并回车实现横分屏 -
末行模式下输入
vsp
,并会车实现竖分屏小
Tips
:- 分屏操作后,可以借助于
crtl + ww
实现光标在不同屏幕上的切换 - 借助于
q
退出当前窗口,也可以借助于qall
退出vi
,直接进入bash
终端,同时可以wqall
先保存,后退出
- 分屏操作后,可以借助于
-
-
末行模式替换:
-
单行替换方法:
将光标放置在待替换行上,键入命令
s /原数据/替换数据
,enter
键实现命令生效 -
通篇替换方法:
键入命令
%s /原数据/替换数据
-
区域替换方法:
区域替换的方法即在
s
前面添加区域限定,如行号,键入命令11,22s /原数据/新数据
小
Tips
:上述的所有替换命令均只对每行检测到的第一个单词生效,单行后续再出现目标词汇,不会进行替换,如果想将所有符合要求的词汇进行替换,需要在命令结尾添加
/g
标记
-
-
末行模式命令呼出:
crtl + p
呼出上一条命令crtl + n
呼出下一条命令
-
-
三、Vim
程序编译:
借助于Vim
代码编写完成后,bash
终端输入g++ hello.cpp -o a.out
即可以实现c++
文件的编译,当前目录增加a.out
文件,直接执行此文件实现程序执行./a.out
小
Tips
:
- test
.c
文件编译类似,将g++
换为gcc
即可- 上述命令在
bash
终端中完成,同样可以在命令前添加!
实现在Vim
编辑器中执行
标签:文本编辑,模式,Vim,---,命令,Linux,末行,光标 来源: https://blog.csdn.net/DALEONE/article/details/123146651