Linux编辑器——vim的使用

目录

vim的基本概念

命令模式

底行模式

插入模式

注释和取消注释

普通用户进行sudo提权

vim配置问题


vim的基本概念

一般使用的vim有三种模式:

命令模式 底行模式和插入模式,可以进行转换;

vim filename

打开vim,进入的是命令模式;输入a/i/o 可以切换到插入模式

输入Esc可以退回到命令模式

输入 shift+;=: 切换到底行模式,输入Esc回退到命令模式

注意,底行模式不能直接切换到插入模式

命令模式

:控制光标的移动,字符的输入,删除,复制粘贴等等,有一些相关的指令;

n+yy :复制当前行 n:连续复制n行

n+p:粘贴,n:把当前内容粘贴n行

n+dd:剪切,n:剪切n行

u:撤销 ctrl+r:反撤销

shift+4=$:将光标定位到当前行的结尾

shift+6=^:将光标定位到当前行的开头

gg:将光标定位到整个文本的开头

shift+g=G:将光标定位到整个文本的最后一行

n+shift+g=nG:将光标定位到整个文本的任意一行,

h(左) j(下) k(上) l(右) 控制光标的移动

w:按照单词为单位进行光标后移

b:按照单词为单位进行光标前移

shift+`=~:大小写快速切换,可以将已经编辑过的大写字母变成小写字母,小写字母变大写字母

按住shift+` 就可以把小写字母变成大写字母

n+x :可以删除光标后面的一个字符,n:一次可以删除n个,在一行以内

n+shift+x:可以删除光标之前的一个字符,n:一次可以删除n个,在一行以内

n+r:可以替换光标位置的字符,

r+要替换的字符, 例如 ra

n:表示一次可以替换n个在光标之后的字符(包括光标所在的字符),例如 4ra

shift+r=R:进入替换模式,进行文本替换

例如 shift+r xxxxxx(要替换的文本)

shift+zz=ZZ:保存并退出

底行模式

:用来进行vim和shll进行交互

w:保存

q:退出

wq:保存并退出

!:强制

set nu:打开行号

set nonu:关闭行号

/ 关键字:可以搜索文本中出现的字符,并把光标定位到该位置

!指令:不退出vim,就可以进行shell命令的执行,常用于函数查看

vs filename:分屏,用于多文件操作

插入模式

:就是编辑,写文本;

注释和取消注释

ctrl+v 进入视图模式,用 hjkl控制框选区域 shift+i 进入编辑模式 输入// 就可以注释了

然后Esc退出,要退出两次,

ctrl +v 进入视图模式,用hjkl控制框选区域,包含且仅包含//,输入d就可以取消注释

普通用户进行sudo提权

1.普通用户先切换成root用户

2.vim /ect/sudoers

3.输入set nu设置行号

4.在一百行左右,进行普通用户的sudo提权,只改变用户名,其他的和root一样

然后就提权成功了

vim配置问题

原理:vim并不是直接执行,执行前会读取一些文件,比如.vimrc 我们把需要配置的指令写在.vimrc文件中,然后vim执行时就会读取.vimrc文件,配置一些功能,比如行号,自动缩进,自动补齐,代码提示等等;

为了方便,还可以一键式配置

在当前用户目录下输入

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

然后需要输入root账号密码,就配置成功了

具体内容可以参考这些文件:

VimForCpp: 快速将vim打造成c++ IDE

相关推荐

  1. Linux编辑器-vim使用

    2024-07-22 01:02:02       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-22 01:02:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-22 01:02:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-22 01:02:02       45 阅读
  4. Python语言-面向对象

    2024-07-22 01:02:02       55 阅读

热门阅读

  1. 关于Spring Boot IOC&DC,看这一篇就够了

    2024-07-22 01:02:02       16 阅读
  2. 关于数据库索引

    2024-07-22 01:02:02       21 阅读
  3. 【Node.js基础04】node.js模块化

    2024-07-22 01:02:02       17 阅读
  4. Postman实战案例:从零开始设计API测试流程

    2024-07-22 01:02:02       19 阅读
  5. linux文本查看命令

    2024-07-22 01:02:02       17 阅读
  6. 基于深度学习的医学影像分类

    2024-07-22 01:02:02       20 阅读
  7. 装修前需要提前准备啥

    2024-07-22 01:02:02       16 阅读
  8. 数组指针跟指针数组的区别

    2024-07-22 01:02:02       16 阅读