在Windows下安装和使用vim

2022-5-6 vim

记录下vim的学习过程

# 安装

vim官网:welcome home : vim online (opens new window)

下载Windows版本:Releases · vim/vim-win32-installer · GitHub (opens new window)

双击exe,一路下一步即可

在环境变量添加vim的安装路径

在cmd窗口输入**vim**即可进入vim

在vim的安装目录下有个配置文件_vimrc

我们可以修改配置文件,如在文件末加上

set number
1

这样便可以显示行号了

同样的,也可以设置禁止vim生成un~文件

set noundofile
set nobackup
set noswapfile
1
2
3

vim主要有3种模式,当然还有其它模式

  • 命令模式(普通模式)

    Normal mode:进入vim便是命令模式,从其它模式切换到命令模式按esc即可

  • 编辑模式(输入模式)

    Insert mode:在命令模式下输入i即可进入编辑模式

  • 末行模式(命令行模式)

    Command-line mode:在命令模式下输入:/等即可进入末行模式,退出vim:输入:q


# 命令模式

# 移动光标

1、方向键,对应键盘上的hjkl,其中

h:左

j:下

k:上

l:右

同时

3j:向下移动3

4k:向上移动4

6h:向左移动6

5l:向右移动5

2、移动到行首或行尾

^:移动到行首,即shift + 6,相当于home

$:移动到行尾,即shift + 4,相当于end

移动到行首也可以按数字0

3、移动到文件首行或文件末行

gg:移动到文件首行

G:移动到文件末行

4、向上或向下翻屏

ctrl + u:向上翻屏,相当于pgup键,即page up

ctrl + d:向下翻屏,相当于padn键,即page down

5、以单词为单位进行移动

w:移动到下一个单词,相当于ctrl +

b:移动到上一个单词,相当于ctrl +

6、快速移动

6G:快速将光标移动到第6行

# 复制&粘贴

复制(yank):y

粘贴(paste):p

yy:复制当前行

y4j:复制包括当前行以及下4行的内容(即复制5行)

y8l:复制光标的右8个字符

yaw:yank all word,复制当前光标所在的单词

p:在光标所在的位置粘贴

# 剪切&删除

x:向后删除一个字符,相当于delete

X:向前删除一个字符,相当于backspace

dd:剪切光标所在行,如果不粘贴,相当于删除当前行

D:剪切光标所在行,不包括最后的换行符,即剪切后当前行会变成空白行

# 撤销&恢复

u:undo,撤销,相当于ctrl + z

ctrl + r:恢复之前的撤销操作,相当于ctrl + y

# 可视化操作

按住v即可进入可视模式的可视块,通过hjkl选择

之后按y进行复制,按D表示删除选中行,d表示删选中块


# 编辑模式

如何从命令模式进入编辑模式:

i:从光标所在处输入

I:从光标所在行的第一个非空字符开始输入

a:从光标所在处的下一个字符开始输入

A:从光标所在行的最后一个字符开始输入

o:从光标所在行的下一行(新的一行)输入

O:从光标所在行的上一行(新的一行)输入

caw:change all word,删除光标所在单词,并进入编辑模式

ctrl + n:自动补齐代码,继续ctrl + n即可进行切换


# 末行模式

从命令模式按英文的冒号(:)即可进入末行模式,输入完后按回车

# 文件操作

:w:write,保存

:w 路径:另存为

:q:quit,退出

:wq:保存并退出

:q!:强制退出,不做修改

:e!:放弃所有修改并重新载入该文件的原始内容

:!dir:执行外部命令dir,按enter即可返回vim

# 搜索

/hello:从光标之下搜索hello,高亮显示,在搜索结果中切换上/下一个结果:N/n

?hello:从光标之上搜索hello,高亮显示,在搜索结果中切换上/下一个结果:N/n

:nohl:no highlight,取消高亮

# 替换

:s/搜索的关键词/新的内容 替换光标所在行的第一处符合条件的内容

:s/搜索的关键词/新的内容/g 替换光标所在行的全部符合条件的内容

:%s/搜索的关键词/新的内容 替换整个文档中每行第一个符合条件的内容

:%s/搜索的关键词/新的内容/g 替换整个文档的符合条件的内容

其中,%表示整个文件,g表示全局(global)


# 其它

vim和系统粘贴板交互_Nicetomeetu-的博客-CSDN博客 (opens new window)

"+y把vim的内容拷贝至系统粘贴板。

"+p把系统粘贴板的内容粘贴至vim

# 参考

禁止vim生成 un~文件 | 简书 (jianshu.com) (opens new window)

Linux vi/vim | 菜鸟教程 (runoob.com) (opens new window)

黑马程序员-linux从入门到精通 | 哔哩哔哩_bilibili (opens new window)

最强Vim新手指南,手把手教你打造只属于自己的代码编辑器!| 哔哩哔哩_bilibili (opens new window)