06 vim工具

目录

  1. 概念
  2. 模式
  3. 基本操作
  4. 配置

1. 概念

vim是一个历史悠久的,多模式的编辑器,是vi的升级版。和ide不同,编辑器仅能编写文本,不能运行代码,现阶段的代码编译的各个过程会分开按步骤执行

2. 模式

vim有很多种模式,想要编写代码需要掌握三种模式,分别是命令模式(command mode)、插入模式(insert mode)、底行模式(last line mode),模式区别如下:

  • 正常/普通/命令模式:

控制屏幕光标移动,字符或行的删除,移动赋值某段进入insertmode下,或者到last line mode

  • 插入模式(insert mode)

只有在insert mode下,才可以文字输入,按esc键回到命令模式,这个是使用最频繁的

  • 末行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作,命令模式下,shift+:进入该模式,打开vim,底行输入: help vim-modes

一共有12种模式:six BASIC modes和six ADDITIONAL modes

3. 基本操作

输入vim [文件名]就可以进入vim编辑页面,刚进入会处于正常模式,需要切换到插入模式,左下角显示的是模式

【正常模式】切换【插入模式】

插入模式可以正常输入文字

输入a 或 i 或 o

【插入模式】切换【正常模式】

按esc键回到正常模式

【正常模式】切换【底行模式】

shifit+:

退出vim和保存文件,在末行模式输入:wq 保存并退出

正常模式命令

  • 插入模式

    按 i 进入插入模式,是从光标当前位置开始输入

    按 a 进入插入模式,是从目标光标所在位置下一个位置开始输入

    按 o 进入插入模式,是插入新的一行,从行首开始输入

  • 从插入模式改为命令模式

    按esc键

  • 移动光标

    可以用上下左右键移动,正规的是h j k l 分别是左下上右

    按 [G]: 移动到文章的最后
    常用 按 [$]: 移动到光标所在行的行尾
    常用 按 [^]: 移动到光标所在行的行首

    按 [w]: 光标到下个单词的开头

    按 [e]: 光标到下个单词的结尾

    按 [b]: 光标回到上个单词的开头

    按 [#l]: 光标移动到第#个位置

    按 g:移动到文章的最后
    常用 按 [gg] : 光标到文本开始
    常用 按 [shift+g] : 光标到文本末尾
    常用 n+shift+g: 光标定位文件的任意行

    按「ctrl」+「b」:屏幕往"后"移动一页

    按「ctrl」+「f」:屏幕往"前"移动一页

    按「ctrl」+「u」:屏幕往"后"移动半页

    按「ctrl」+「d」:屏幕往"前"移动半页

  • 删除文字

    「x」:每按一次,删除光标所在位置的一个字符

    「#x」:例如,「6x」表示删除光标所在位置的"后面(包含自己在内)"6个字符

    「X」:大写的X,每按一次,删除光标所在位置的"前面"一个字符

    「#X」:例如,「20X」表示删除光标所在位置的"前面"20个字符

    「dd」:删除光标所在行

    「#dd」:从光标所在行开始删除#行

  • 复制
    常用 [dd]: 光标所在行,剪切(删除) ,也可以ndd,删除几行

    「yw」:将光标所在之处到字尾的字符复制到缓冲区中。

    「#yw」:复制#个字到缓冲区
    常用 「yy」:复制光标所在行到缓冲区。可以配合nyy,输入数字复制几行

    「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。
    常用「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。可以配合np,输入数字复制几次

  • 替换
    常用 「r」:替换光标所在处的字符。支持nr

    「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

    shift + ~: 大小写替换

  • 撤销
    常用 「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次"u"可以执行多次回

    复。
    常用「ctrl + r」: 撤销的恢复

  • 更改

    「cw」:更改光标所在处的字到字尾处

    「c#w」:例如,「c3w」表示更改3个字

  • 跳转到指定行

    「ctrl」+「g」列出光标所在行的行号。

    「#G」:例如,「15G」,表示移动光标至文章的第15行行首。
    常用 x: 删除光标所在字符,也可以nx,之后几个

shift+r: 进入替换模式,退出按esc,替换模式替换光标所在的字符

末行模式命令

  • 列出行号
    [set nu],取消行号 [set nonu]
  • 跳转到文件某一行
    [#]: 表示数字,按回车键就会跳转
  • 查找字符
    [/关键字]: 先按/键,再输入想寻找的字符,如果这一次不是,可以这一会按n会往后查找
    [?关键字]: 先按?号,再输入想寻找的字符,如果第一次不是想找的,按n会一直往后找
  • 保存文件
    [w]: 保存,可以加!
    [q]: 退出,加!号的意思是强制退出
    [wq]: 保存并退出,可以加!号

底行模式可以创建文件,保存后如果文件不存在会自动创建

底行模式再次打开一个文件,可以分屏操作,也可以创建不存在的文件

vs 文件名

输入 !cmd

不退出vim执行命令 (执行命令行,编译,运行,查看man)等

4. 配置

配置文件的位置

在目录/etc下面,有个名为vimrc的文件,这个是系统公共的vim配置文件,对所有用户都有小

而在每个用户的根目录下,都可以自己建立一个.vimrc的文件,不存在创建

常用配置选项

语法高亮: syntax on

显示行号: set nu

设置缩进的空格数4:set shiftwidth=4

使用插件

要配置好看的vim,原生的配置可能功能不全,可以选择 安装插件。

安装TagList插件,下载taglist_xx.zip ,解压完成,将解压出来的doc的内容放到~/.vim/doc, 将解压出来

的plugin下的内容拷贝到~/.vim/plugin

在~/.vimrc 中添加: let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1 let

Tlist_Use_Right_Window=1

安装文件浏览器和窗口管理器插件: WinManager

下载winmanager.zip,2.X版本以上的

解压winmanager.zip,将解压出来的doc的内容放到~/.vim/doc, 将解压出来的plugin下的内容拷贝到

~/.vim/plugin

在~/.vimrc 中添加 let g:winManagerWindowLayout='FileExplorer|TagList nmap wm :WMToggle

然后重启vim,打开~/XXX.c或~/XXX.cpp, 在normal状态下输入"wm", 你将看到上图的效果。

更具体移步:点我, 其他手册,请执行 vimtutor 命令。

也可以直接输入命令,按回车自动安装别人上传的配置
点此转到

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

该脚本是git用户Hgtz222创建

需要输入root密码

卸载输入下面命令

bash ~/.VimForCpp/uninstall.sh

打开生成的.vimrc,修改缩进为4,将50-52行的2改为4

vim配置参考文档
vim从入门到精通

相关推荐
小羊在奋斗16 分钟前
【Linux】包管理器、vim详解及简单配置
linux·运维·vim
xflm10 小时前
vim(1) -- 环境配置
vim
kissSimple10 小时前
UE行为树编辑器图文笔记
笔记·ue5·编辑器·unreal engine·unreal engine 5
hallo12818 小时前
vscode环境迁移
ide·vscode·编辑器
XiaoLiuLB1 天前
ChatGPT Canvas:交互式对话编辑器
人工智能·自然语言处理·chatgpt·编辑器·aigc
五花肉村长2 天前
数据结构-队列
c语言·开发语言·数据结构·算法·visualstudio·编辑器
嵌入式小能手2 天前
开发环境搭建之VScode的安装及使用
vscode·编辑器
电子科技圈2 天前
IAR全面支持国科环宇AS32X系列RISC-V车规MCU
人工智能·嵌入式硬件·mcu·编辑器
安冬的码畜日常3 天前
【工欲善其事】巧用 Sublime Text 生成带格式的 HTML 片段
编辑器·html·typora·sublime text·代码片段·snippet
三玖诶3 天前
Linux中的 `vi` 与 `vim` 使用详解
linux·vim·vi