当前位置:   article > 正文

Linux中vim的基本介绍和使用

Linux中vim的基本介绍和使用

善为理者,举其纲,疏其网。


1、vim介绍

如果我面想要在Linux上编写代码的话,我就需要vim来帮助我们编写代码。但是vim并不像是在Windows上的vs集成软件把所有的东西都集成起来但是呢,如果不进行配置的话,vim和其他是相互独立的,vim就是写代码的编辑器,编译代码就是gcc/g++的编译器,调试代码就有gdb的调试器。自动化构建就有make和makefile构建的工具。在这里插入图片描述
vim是款编辑器,同时也是多模式的编辑器—命令模式,底行模式,插入模式。
简单编译一个hello vim程序
vim刚开始打开的时候,暂时是无法正常输入的,因为刚打开的时候是命令模式,默认打开的时候,目前所输入的都会看成是命令,当然,如果命令不对当然什么操作都没有咯。
从命令模式进入插入模式输入 i
如果编辑完了,想要退出去,该怎么办呢?首先需要从插入模式退出到命令模式,按一下Esc,现在在命令模式,此时想要退出的话,需要按:() ,从命令模式进入到底行模式之后,继续按wq就能够退出。如果是在底行模式不想退出的话,也能够通过按Esc重新命令模式。
概括介绍:
插入模式:编辑模式
命令模式:允许使用者通过命令,来进行文本的编辑控制。
底行模式:如果前两个模式是对于文本内容的控制,底行模式就是让vim进行包括但不限于和shell进行交互的。

2、命令模式详情

命令模式:没必要进入插入模式才能对文本进行操作。

yy:复制当前行
p:粘贴到当前光标的下一行
u:撤销
dd:剪切/删除
n dd:剪切/删除n行
n p:粘贴n行
n yy:复制n行
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
$:快速定位光标到当前行的最末尾
^:快速定位光标到当前行的最开头
gg:将光标定位到文本的最开头
G:将光标定位到文本的最末尾
n G:定位到指定的n行
  • 1
  • 2
  • 3
  • 4
  • 5
h:光标向左一位
j:光标向下一位
k:光标向上一位
l:光标向右一位

n h:光标向左n位
n j:光标向下n位
n k:光标向下n位
n l:光标向右n位
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

快速记住hjkl方向键的意义。
h最左边,所以h表示向左。l在最右边,所以l表示向右。k(king高高在上),所以k表示向上。j(jump向下跳),所以j表示向下。

w:按照单词为单位,进行光标后移
b:按单词为单位,进行光标前移
  • 1
  • 2
ctrl r:撤销撤销的动作
shift~:shift按住不动,连续按~能让光标定位的字母快速进行大小写切换
x:删除光标所在位置的字符,先向后删,删完后向前删
n x:删除光标所在位置的n个
X:删除光标之前的字符
r:对光标指定的位置,进行一个字符的替换
n r:对光标指定的位置,进行n个字符的替换
R:进入replace模式,能够进行多次替换
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
i:直接进入插入模式
o:进入编辑模式的同时还新增一行
a:进入编辑模式,同时向后一位字符
  • 1
  • 2
  • 3

3、底行模式详情

进入底行模式,是在命令模式情况下按:。

q!:强制退出。
q:退出,但是如果不保存的话,会警告没有保存。
wq:保存并退出
wq!:保存并强制退出
  • 1
  • 2
  • 3
  • 4
set nu:调出行号
set nonu:去掉行号
  • 1
  • 2

还可以进行批量化的替换

s/prinf/PRINTF/g:进行printf全部替换成PRINTF
/XXX:进行XXX的全文搜索,并且高亮
  • 1
  • 2
!command:不退出vim,可以进行shell命令的执行
(最常用的能够man指令,这样就不用退出后再去查看)
  • 1
  • 2

vim不会新建文件,只有当我们保存的时候,才会首次被创建。(vim 文件(新文件))。
在windows上的图形化界面,想要多文件同时编辑的话,只需要点击相对应的文件图形就能够切换,那么在Linux中怎么实现呢?难不成还是保存完之后再进行编辑另一个文件?

vs filename:分屏,多文件操作
ctrl ww:光标在两个编辑窗口切换
  • 1
  • 2

左右两个窗口可以互相拷贝粘贴。

底行模式不能直接进入插入模式,插入模式也不能直接进入底行模式。

命令模式时候怎么快速的退出?ZZ即可

4、困难问题

怎么注释?
换句话说困难的问题是,如何批量注释?

ctrl+v:先进入视图模式
//进入视图模式后选择需要批量化编辑的区域
I:大写的i进入编辑模式
  • 1
  • 2
  • 3

编写完成之后按Esc两次,就能够进行多行的注释
怎么批量化去注释

ctrl+v:进入视图模式
//选择需要进行编辑的区域
d:删除/去注释
  • 1
  • 2
  • 3

5、历史存疑问题

解决历史问题:普通用户无法进行sudo提权(其中Linux用户章节留下的问题)
如果没有提前解决白名单黑名单类似的问题的话,会出现这样的报错。
在这里插入图片描述
在这里插入图片描述
首先如果想要修改这个文件的话,必须要是root才能。利用root打开/etc/sudoers文件。进行修改。
在这里插入图片描述
找到这里并添加用户
在这里插入图片描述
可是此时也会出现报错,会有系统来提醒是否需要保存。这是就必须要用到**wq!**来强制保存并退出。
在这里插入图片描述
这样就成功了,能够实现sudo命令。

6、vim配置问题

6、1、配置的原理

vim不是简单的执行可执行程序,在启动执行的时候也会读取若干可执行的配置文件。通常来说没配置的话读取的都包含 .vimrc。
如果本身没有的话,可以创建一个.vimrc文件并在里面进行配置。这样的话也符合Linux多用户操作系统的作用,每一个人都可以个性化配置vim。可以但不限于set nu

6、2、一键式配置

在网上寻找例如gitte或者github上的教程。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号